@charset "utf-8";
#fv{
	padding: 0 64px;
}
#fv .video{
	overflow: hidden;
	border-top-left-radius: 300px;
	border-bottom-right-radius: 300px;
	max-height: calc(100svh - 96px);
}
.js-video-button {
	position: absolute;
	left: 5em;
	bottom: .8em;
	color: #fff;
	text-shadow: 0px 0px 3px #000;
}
.fv_scroll{
	width: 64px;
	height: 160px;
	background: url("../images/home/fv_scroll.png") no-repeat center top;
	background-size: 16px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	text-indent: -9999px;
	overflow: hidden;
}
.fv_scroll:before{
	content: "";
	display: block;
	width: 1px;
	height: 88px;
	background-color: #666;
	position: absolute;
	bottom: 0;
	left: calc(50% - 0.5px);
}
.fv_scroll:after{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-color: #be6d83;
	position: absolute;
	left: calc(50% - 5px);
	bottom: 78px;
	border-radius: 50%;
	opacity: 0;
	animation: fv_scroll 4s ease infinite;
}
@keyframes fv_scroll{
	0%{
		bottom: 83px;
		opacity: 0;
	}
	20%{
		opacity: 1;
		bottom: 83px;
	}
	25%{
		opacity: 1;
		bottom: 83px;
	}
	80%{
		opacity: 1;
		bottom: -10px;
	}
	100%{
		opacity: 0;
		bottom: -10px;
	}
}
.home_info_list li a{
	background: url("../images/common/line01_pink.png") no-repeat center bottom;
}
.home_info_list li a .date{
	width: 160px;
	padding-left: 24px;
}
.home_info_list li a .category{
	text-align: center;
	width: 136px;
	line-height: 32px;
	border-radius: 16px;
}
.home_info_list li a .title{
	padding: 0 40px;
	transition: color 0.5s ease;
}
.home_info_list li a:hover{
	opacity: 1;
}
.home_info_list li a:hover .title{
	color: #be6d83;
}
.home_info_more a{
	background: url("../images/common/angle01_right_black.png") no-repeat right center;
	background-size: 8px;
	padding-right: 24px;
}
#home01{
	background: url("../images/home/home01_bg.webp") no-repeat center 32px;
	background-size: 2000px;
	padding-top: 288px;
	min-height: 1050px;
}

#home01 .inner{
	padding-left: 480px;
	padding-right: 240px;
	z-index: 9;
}
#home01:after{
	content: "";
	display: block;
	width: 2000px;
	height: 724px;
	background: url("../images/home/home01_after.webp") no-repeat center center;
	background-size: 100%;
	position: absolute;
	left: calc(50% - 1000px);
	bottom: -220px;
	z-index: 0;
}
#home02 .pic01{
	height: 556px;
}
#home02 .pic01 .image{
	width: 1640px;
	height: 100%;
	position: absolute;
	top: 0;
	left: calc(50% - 640px);
	border-top-left-radius: 80px;
	overflow: hidden;
}
#home02 > div{
	z-index: 9;
}
#home02 .title:before{
	content: "";
	display: block;
	background: url("../images/home/home02_title.png") no-repeat center center;
	background-size: 100%;
	width: 210px;
	height: 190px;
	position: absolute;
	bottom: 0;
	left: -72px;
	z-index: 0;
}
#home02 .title h2{
	z-index: 9;
}
#home02:after{
	content: "";
	display: block;
	width: 2000px;
	height: 1280px;
	background-color: rgba(255,255,255,0.5);
	border-top-left-radius: 500px;
	border-top-right-radius: 500px;
	z-index: 0;
	left: calc(50% - 1000px);
	top: 300px;
	position: absolute;
}
.home02_slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
.home02_slider .swiper-slide{
	width: 270px;
}

#home03 .pic01{
	width: 1640px;
	height: 620px;
	position: absolute;
	top: 0;
	right: calc(50% - 640px);
	border-top-right-radius: 80px;
	overflow: hidden;
}
#home03 .inner > .text{
	z-index: 9;
}
#home03 .inner > .text h3 + p{
	width: 400px;
	max-width: 100%;
}
#home03 .inner > .text h2:before{
	content: "";
	display: block;
	background: url("../images/home/home03_title.png") no-repeat center center;
	background-size: 100%;
	width: 212px;
	height: 190px;
	position: absolute;
	bottom: -12px;
	left: -64px;
	z-index: 0;
}
#home04 .home04_box > .text h2:before{
	content: "";
	display: block;
	background: url("../images/home/home04_title.png") no-repeat center center;
	background-size: 100%;
	width: 206px;
	height: 186px;
	position: absolute;
	bottom: -12px;
	left: -64px;
	z-index: 0;
}
#home04 .pic01{
	height: 556px;
	border-top-left-radius: 80px;
	border-bottom-right-radius: 80px;
	overflow: hidden;
}
.home04_box .text{
	width: calc(50% - 144px);
}
.home04_box .image{
	width: calc(50% + 96px);
}
.home04_slider{
	float: left;
	width: calc(50vw + 96px);
	max-width: 1066px;
	padding-top: 20px;
}
.home04_slider .swiper-slide a{
	display: block;
	padding-left: 24px;
}
.home04_slider_image{
	height: 496px;
	width: 100%;
	border-top-left-radius: 80px;
	overflow: hidden;
}
.home04_slider_text{
	position: absolute;
	bottom: 16px;
	left: 0;
	z-index: 9;
	width: 100%;
	padding-left: 44px;
}
.home04_slider_text .category{
	position: absolute;
	top: -470px;
	left: 0;
	background: url("../images/common/list01_title_pink.png") no-repeat center center;
	background-size: 100%;
	text-align: center;
	width: 220px;
	line-height: 60px;
}
.home04_slider_text .more{
	background: url("../images/common/angle01_right_white.png") no-repeat right center;
	background-size: 8px;
	padding-right: 24px;
}
#home04:before{
	content: "";
	display: block;
	width: 2000px;
	height: 1280px;
	background-color: rgba(255,255,255,0.5);
	border-top-left-radius: 500px;
	border-bottom-right-radius: 500px;
	z-index: 0;
	left: calc(50% - 1000px);
	bottom: 0;
	position: absolute;
}
#home05 .pic01,
#home05 .pic02{
	position: absolute;
	top: 0;
	width: 600px;
	height: 430px;
	overflow: hidden;
}
#home05 .pic01{
	right: calc(50% + 400px);
	border-top-right-radius: 80px;
}
#home05 .pic02{
	left: calc(50% + 400px);
	border-bottom-left-radius: 80px;
}
#home05 .text h2 > div:nth-of-type(1):before{
	content: "";
	display: block;
	background: url("../images/home/home05_h2.png") no-repeat center center;
	background-size: 100%;
	width: 180px;
	height: 200px;
	position: absolute;
	left: -80px;
	bottom: -24px;
	z-index: -1;
}
#home06{
	background: url("../images/home/home06_bg.jpg") no-repeat center top;
}
#home07{
	background: url("../images/home/home07_bg.jpg") no-repeat center top;
	background-size: 2000px;
	height: 1166px;
}
#home08{
	background: url("../images/home/home08_bg.png") repeat-x center top;
	z-index: 9;
}
.home08_list li{
	width: calc((100% - 48px) / 3);
	padding-top: 12px;
}
.home08_list li .tokuten{
	background: url("../images/home/home08_list_tokuten.png") no-repeat center center;
	background-size: 100%;
	width: 128px;
	height: 96px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	text-align: center;
	padding-top: 28px;
}
.home08_list li .tokuten span:nth-of-type(2){
	display: inline-block;
	vertical-align: sub;
	margin-left: 8px;
}
.home08_list li .image{
	width: 100%;
	height: 264px;
	border-radius: 132px;
	overflow: hidden;
}
.home08_list li h3{
	background: url("../images/home/home08_list_title.png") no-repeat center bottom;
	background-size: 100%;
}
.home08_list li p{
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #deb6c1;
}


/*webp非対応対策*/
@supports (background-image: url(data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=)) {
	#home01 {
		background-image: url("../images/home/home01_bg.webp");
	}
	#home01:after{
		background-image: url("../images/home/home01_after.webp");
	}
}





@media screen and (max-width: 540px){
	#fv{
		padding: 0 0 0 24px;
	}
	#fv .video{
		border-top-left-radius: 40px;
		border-bottom-right-radius: 0;
		height: 140vw;
	}
	.js-video-button {
		left: 3em;
		bottom: 2em;
	}
	.fv_scroll{
		width: 24px;
		background-size: 12px;
		height: 136px;
	}
	.sp_panel_open_wrap {
		position: relative;
	}
	.sp_panel_open_wrap .search_attr {
		position: relative;
	}
	.sp_panel_open{
		width: 100%;
		border-radius: 20px;
		border: 3px solid #FFF;
		padding: 16px 0;
	}
	.home_info_list li a .date{
		padding-left: 0;
		width: 112px;
	}
	.home_info_list li a .category{
		line-height: 24px;
		border-radius: 12px;
	}
	.home_info_list li a .title{
		padding: 8px 0 0;
	}
	.home_info_more{
		margin-top: 16px;
	}
	#home01{
		background: none;
		padding-top: 48px;
		min-height: 0;
	}
	#home01 .inner{
		padding: 0 20px;
	}
	#home01:after{
		display: none;
	}
	#home02 .pic01{
		height: 100vw;
	}
	#home02 .pic01 .image{
		position: relative;
		inset: auto !important;
		width: 100%;
		height: 100%;
		border-top-left-radius: 40px;
	}
	#home02 .title::before{
		width: 130px;
		height: 120px;
		left: -20px;
		bottom: auto;
		top: -60px;
	}
	#home03 .pic01{
		width: 100%;
		height: 270vw;
		right: 0;
		border-top-right-radius: 40px;
	}
	#home03 .pic01 img{
		object-position: top;
	}
	#home03 .inner{
		padding-top: 32px;
	}
	#home03 .inner > .text h2:before{
		width: 130px;
		height: 117px;
		left: -20px;
		bottom: auto;
		top: -60px;
	}
	#home03 .inner h3{
		margin-top: 50vw;
	}
	#home04 .pic01{
		padding: 0;
		height: 90vw;
		border-top-left-radius: 40px;
		border-bottom-right-radius: 40px;
	}
	.home04_box .text{
		width: 100%;
	}
	.home04_box .text a.btn01{
		margin-left: auto;
	}
	#home04 .home04_box > .text h2:before {
		width: 122.5px;
		height: 111px;
		left: -13px;
	}
	.home04_box .image{
		width: 100%;
		margin-top: 40px;
	}
	.home04_slider{
		width: calc(100% + 20px);
	}
	.home04_slider .swiper-slide a{
		padding-left: 16px;
	}
	.home04_slider_image{
		height: 64vw;
		border-top-left-radius: 40px;
	}
	.home04_slider_text{
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-start !important;
		gap: 8px;
		padding-left: 10px;
	}
	.home04_slider_text .category {
		top: -230px;
		width: 147px;
		line-height: 40px;
	}
	.home04_slider_text .title,
	.home04_slider_text .more{
		margin-left: 24px;
	}
	#home04:before{
		width: 100%;
		height: 90%;
		left: 0;
		border-top-left-radius: 0;
		border-bottom-right-radius: 50vw;
	}
	#home05 h3,
	#home05 h3 + p{
		text-align: left;
	}
	#home05 .pic01,
	#home05 .pic02{
		position: relative;
		inset: auto !important;
		width: calc(100% + 20px);
		height: 50vw;
	}
	#home05 .pic01{
		margin-top: 24px;
		border-top-right-radius: 40px;
		margin-left: -20px;
	}
	#home05 .pic02{
		margin-top: 24px;
		border-bottom-left-radius: 40px;
		margin-right: -20px;
	}
	#home05 .text h2 > div:nth-of-type(1):before {
		width: 105px;
		height: 116px;
		left: -23px;
		bottom: -10px;
	}
	#home06{
		background: url("../images/home/home06_bg_sp.jpg") no-repeat center top;
		background-size: 100%;
		z-index: 9;
	}
	#home06 .list01{
		margin-top: 32vw;
	}
	#home06 .list01 li a .text{
		display: block;
		position: absolute;
		bottom: 16px;
		left: 0;
		z-index: 9;
		color: #FFF;
		font-size: 2rem;
		text-align: center;
		width: 100%;
	}
	#home07{
		background: url("../images/home/home07_bg_sp.jpg") no-repeat center top;
		background-size: 100%;
		padding-top: 30vw;
		height: auto;
		margin-top: -30vw;
		padding-bottom: 80px;
	}
	#home07 .inner h2{
		justify-content: center;
	}
	#home07 .inner .btn01{
		margin-left: auto;
	}
	#home07 .inner .btn01:nth-of-type(1){
		margin-top: 92vw;
	}
	#home08{
	}
	.home08_list li{
		width: 100%;
	}
}






/* 20250702 - stay 追加 */
.tp-stay {
	margin-top: -266px;
}
.tp-stay .title:before {
	content: "";
	display: block;
	background: url("../images/home/tp-stay_title.png") no-repeat center center;
	background-size: 100%;
	width: 184px;
	height: 164px;
	position: absolute;
	bottom: 0;
	left: -72px;
	z-index: 0;
}
@media screen and (max-width: 540px){
	.tp-stay {
		margin-top: -40px;
	}
	.tp-stay .title:before {
		width: 104px;
		height: 104px;
		left: -20px;
		bottom: 60px;
	}
}


/* 20250716 - fv に youtube リンク追加 */
.fv-undertext {
	margin-top: 18px;
}
.fv-undertext a {
	position: relative;
	padding-right: 22px;
}
.fv-undertext a::after {
	content: "";
	text-align: center;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url("../images/common/angle01_right_black.png") no-repeat center;
	background-size: contain;
	width: 8px;
	height: 16px;
}
@media screen and (max-width: 540px){
	.fv-undertext {
		text-align: center;
		margin-top: 70px;
	}
	.fv-undertext a {
		padding-right: 14px;
	}
	.fv-undertext a::after {
		width: 6px;
		height: 13px;
	}
}


/* 20250716 - fv に バナー追加 */
.fv-bana {
	position: absolute;
	bottom: -16px;
	left: calc(50% - 560px);
}
@media screen and (max-width: 540px){
	.fv-bana {
		width: 350px;
		left: 25px;
		bottom: -60px;
	}
	.fv-bana img {
		width: 100%;
	}
}


/* 20250716 - Room に リニューアルバナー追加 */
.home04-renew {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	left: 0;
	bottom: 64px;
	width: 110px;
	height: 100px;
	background-image: url(../images/room/renew-circle.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 0;
	background-color: transparent;
	color: #fff;
}
.home04-renew > span {
	display: block;
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 540px){
	.home04-renew {
		width: 86px;
		height: 86px;
		bottom: 77px;
	}
	.home04-renew > span {
		font-size: 1.6rem;
	}
	.home04_slider_image {
		height: 272px;
	}
}


/* 20250716 - Room に リストを6列に */
.room-other {
	padding: 0 24px;
}
.room-other.list01 li a .title {
	background-size: 160px;
	line-height: 44px;
}

/* 20250716 - Room 特別室枠 */
.room-tokubetsu {
	position: absolute;
	width: 220px;
	line-height: 60px;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 10;
	text-align: center;
	top: -26px!important;
	left: 130px;
	bottom: auto!important;
}
@media screen and (max-width: 540px){
	#home04 .list01 li:nth-of-type(1),
	#home04 .list01 li:nth-of-type(2) {
		width: 47%!important;
	}
	#home04 .list01 li:nth-of-type(1) a .image,
	#home04 .list01 li:nth-of-type(2) a .image,
	#home04 .list01 li:nth-of-type(1) img,
	#home04 .list01 li:nth-of-type(2) img {
		height: 238px;
	}
	#home04 .list01 li a .image:after {
		white-space: nowrap;
	}
	.room-tokubetsu {
		width: 148px;
		line-height: 40px;
		top: -16px!important;
		left: 88px;
	}
}


/* 20250730 縦横比固定 */
#fv {
	/*background-image: url(../images/home/mv-bg.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;*/
}
@media screen and (min-width: 541px){
	#fv .video{
		overflow: visible;
		height: calc(100svh - 96px);
		max-height: auto;
		max-height: initial;
	}
	#fv .video video {
		display: block;
		border-top-left-radius: 300px;
		border-bottom-right-radius: 300px;
		width: auto;
		height: calc(100svh - 96px);
		aspect-ratio: 16/9;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 540px){
	#fv {
		background-image: none;
	}
	#fv .video{
		overflow: hidden;
		height: 140vw;
	}
	#fv .video video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-top-left-radius: 0;
		border-bottom-right-radius: 0;
	}
}
/* 音声ボタン移動 */
.js-video-button {
	left: auto;
	right: 650px;
	top: 10px;
	bottom: auto;
	color: #999;
}
@media screen and (max-width: 540px){
	.js-video-button {
		left: 3em;
		right: auto;
		bottom: 2em;
		top: auto;
	}
}
.js-video-button.active {
	color: #fff;
}
/* /20250730 縦横比固定 */





/* stay 下 スライダー 20250806 */
.stay_slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
.stay_slider .swiper-slide{
	width: 270px;
}
.stay_slider-img {
	position: relative;
    border-top-left-radius: 40px;
    border-bottom-right-radius: 40px;
    border: 6px solid #FFF;
    overflow: hidden;
    height: 284px;
}
.stay_slider-img:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.77);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.5s ease;
}
.stay_slider-img:after{
	content: "詳細を見る";
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #000;
	z-index: 99;
	background: url("../images/common/angle01_right_black.png") no-repeat center bottom;
	background-size: 8px;
	padding-bottom: 40px;
	opacity: 0;
	transition: opacity 0.5s ease;
}
.stay_slider a:hover .stay_slider-img:before,
.stay_slider a:hover .stay_slider-img:after{
	opacity: 1;
}


/* 特別室を１つに 20250806 */
.tokubetushitsu-ttl {
	background-size: 210px 100%!important;
}
@media screen and (max-width: 540px){
	.tokubetushitsu-ttl {
		background-size: 160px 44px!important;
		letter-spacing: 0;
	}
}






/* インスタグラム埋め込み追加 20250807 */
.instagram_embed-ttl span {
	padding-left: 58px;
	background-image: url(../images/common/icon_instagram_pink.png);
	background-size: 24px;
	background-repeat: no-repeat;
	background-position: left center;
}
.instagram_embed .page_nav02 {
	justify-content: center;
}




