@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

img{
	display:block;
}

p{
	margin-bottom:2.5rem;
}


/*header
----------------------------------------------------*/
header{
	position:fixed;
	top:0;
	width:100%;
	height:60px;
	z-index:9;
}

/*header.fixnavi{
	background:rgba(255, 255, 255, 0.7);
	transition: 1.5s;
}*/

header h1{
	width:200px;
	padding:10px 0 10px 20px;
}

header h1 img{
	width:auto;
	height:80px;
	display:block;
}


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 18px;
    right: 2vw;
	width: 50px;
	height: 40px;
    z-index: 99999;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to left top, #15EAB5, #10D86F);*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #FFF;
}
.menu-trigger span:nth-of-type(1) {
    top: 15px;
}
.menu-trigger span:nth-of-type(2) {
	bottom: 11px;
}
.menu-trigger span:nth-of-type(3) {
	top: 21px;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(2px) rotate(-30deg);
	transform: translateY(2px) rotate(-30deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-4px) rotate(30deg);
	transform: translateY(-4px) rotate(30deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	width:100%;
	height:100%;
	left: auto;
	top: 0;
	right: 0px;
    background: rgba(0,0,0,.8);
	/*background:url(../img/bg_mv.jpg) no-repeat center;*/
	background-size:100% 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#headIn{
    display: none;
}

#headIn.active{
    display: block;
    animation: show 0.3s linear 0s;
}

header #headIn nav{
	height:100vh;
	margin:auto 0;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

header #headIn nav ul{
    padding: 0 5%;
	text-align:center;
	display:block;
}

#headIn nav ul li{
	margin:0;
	display:block;
}

#headIn nav ul li a{
	padding:1.0em 0;
	font-size:16px;
	text-align:center;
	color: #FFF;
	display:block;
}

#headIn nav ul li.sns{
	/*width:20px;*/
	width:250px;
	margin:0 10px;
	padding-top:20px;
	display:inline-block!important;
}

#headIn nav ul li.sns img{
	width:100%;
	height:auto;
	display:block;
}

.box_tel{
	position:absolute;
	top:20px;
	right:calc(3vw + 50px);
	color:#FFF;
	display:grid;
    grid-template-columns:1fr auto;
    gap:2em;
}

.box_tel p{
	margin-bottom:0;
}

.box_tel .tel{
	padding:0.1em 0 0.3em 1.2em;
	background:url(../img/icon_tel.png) no-repeat left center / 0.6em;
	font-size:26px;
	font-weight:bold;
	line-height:1.0;
}

.tel a{
	font-size:26px;
	font-weight:bold;
	color: #FFF!important;
}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

section:after,
.contents:after,
ul:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.contents{
	position:relative;
	width:1200px;
	margin:0 auto;
}


/*top mv
----------------------------------------------------*/
#mv{
	position: -webkit-sticky;/*Safari*/
	position: sticky;
	top:0;
	height:100vh;
	background:url(../img/mv.jpg) no-repeat center center / cover;
	animation-name:mvAnime;
	animation-duration:1.5s;
	/*animation-delay:1.5s;*/
	animation-fill-mode:forwards;
}

.mv_top{
	position: fixed;
}

@keyframes mvAnime{
  from {
	filter: blur(100px);
  }

  to {
	filter: blur(0);
  }
}

#mv .contents{
	height:calc(85vh + 60px);
	padding-top:60px;
	color:#FFF;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

#mv img{
	width: 500px;
	height: auto;
	margin: 0 auto;
}

#mv h2{
	font-size:40px;
	text-align:center;
}


/*sec01
----------------------------------------------------*/
/*.sec01{
	background:url(../img/r601.jpg) no-repeat center center / cover;
}*/

.sec01{
	margin-top: 20vh;
	padding-bottom: 80vh;
	background:rgba(0,0,0,0.6); 
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.box_about02{
	margin-top:70px;
}

.box_about03{
	position:relative;
	margin-top:120px;
	z-index:1;
}

.box_about02 .box_txt{
	position:relative;
	width:600px;
	margin: 0 auto;
	padding:40px 40px 20px 40px;
	/*background:rgba(0,0,0,0.8);*/
	font-size: 1.2em;
	color:#FFF;
}

.box_about02 .box_txt ul li{
	position: relative;
	margin-bottom: 40px;
	padding: 20px 0;
	border: 1px solid #E65675;
	text-align: center;
}

.box_about02 .box_txt ul li span{
	position: absolute;
	top:-0.9em;
	left:0.1em;
	padding-right: 0.5em;
	font-size: 4em;
	font-weight: bold;
	font-style: italic;
	color: #E65675;
	opacity: 0.7;
	z-index: -1;
}

.box_about03 .box_img{
	position:relative;
	float:right;
	width:400px;
}

.box_about03 .box_img img{
	width:100%;
	height:auto;
	display:block;
}


/*sec02
----------------------------------------------------*/
.sec02{
	background:url(../img/dmy02.jpg) no-repeat center / cover;
	color:#FFF;
}

.mask{
	height:100%;
	padding:100px 0 300px 0;
	background:linear-gradient(to top, #252525, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 100% );
}

.sec02 h2{
	font-size:60px;
}

.sec02 .contents:has(dl){
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}

.sec02 dl{
	position:relative;
	width:262px;
	margin:0 0 50px 45px;
	overflow:hidden;
}

.sec02 dl:nth-of-type(1){
	margin:0;
}

.sec02 dl:nth-of-type(2){
	margin-top:50px;
}

.sec02 dl:nth-of-type(3){
	margin-top:100px;
}

.sec02 dl:nth-of-type(4){
	margin-top:150px;
}

.sec02 dl dt img{
	width:100%;
	height:auto;
	margin:0 auto 30px auto;
}

.sec02 dl dd h3{
	margin-bottom:10px;
	font-size:24px;
}

.sec02 dl dd p{
	line-height:1.4;
}

.sec02 dl dd .btn{
	padding:5px 10px 6px 10px;
	border:1px solid #FFF;
	text-align:center;
	transition:.4s;
}

.sec02 dl:hover dd .btn{
	padding:5px 10px;
	background:#FFF;
	border:1px solid #FFF;
	color:#000;
	text-align:center;
}

.sec02 dl dd a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

.large{
	padding:0 0.15em 0 0.15em;
	font-size:1.6em;
}

.sec02 dl::before {
  position: absolute;
  content: "";
  top: 0;
  left: -280%;
  width: 100%;
  height: 170px;
  transform: skewX(-30deg);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 100%);
}

.sec02 dl:hover:before {
  animation: shine .4s linear;
}
@keyframes shine {
  100% {
    left: 100%;
  }
}

.caution{
	padding:30px;
	background: #000;
	/*background:url(../img/bg_caution.jpg) no-repeat center / cover;*/
	text-align:center;
}

.caution img{
	width: 100%;
	max-width: 1200px;
	height: auto;
	margin: 0 auto 30px auto;
	display: block;
}

.caution p{
	max-width: 1200px;
	margin:0 auto;
	padding: 20px;
	border: 1px solid #FECB00;
	color: #FECB00;
}

/*.caution p span{
	padding-left:1.8em;
	background:url(../img/icon_caution.png) no-repeat center left / 1.1em;
	font-size:16px;
	line-height:1.4;
	display:inline-block;
}*/

.caution p img{
	width: 30px;
	height: auto;
	margin: 0 auto 10px auto;
	display: block;
}

@media screen and (max-width:1200px){
.caution{
	padding:6vw;
	text-align:left;
}
}


/*sec03
----------------------------------------------------*/
.sec03{
	position:relative;
	background:#000;
	height:100vh;
}

.sec03_room01{
	height:100%;
	background:url(../img/r401m.jpg) no-repeat center / cover;
}

.sec03_room02{
	height:100%;
	background:url(../img/r502m.jpg) no-repeat center / cover;
}

.sec03_room03{
	height:100%;
	background:url(../img/r601m.jpg) no-repeat center / cover;
}

.sec03_food01{
	height:100%;
	background:url(../img/food_lunch.jpg) no-repeat center / cover;
}

.sec03_food02{
	height:100%;
	background:url(../img/food_night.jpg) no-repeat center / cover;
}

.sec03_food03{
	height:100%;
	background:url(../img/food_ban.jpg) no-repeat center / cover;
}

.sec03 .name{
	position:absolute;
	right:0;
	bottom:50px;
	width:35%;
	padding:30px;
	background:rgba(255, 255, 255, .85);
	z-index:9;
}

.sec03 h2{
	position:relative;
	margin-bottom:20px;
	padding-bottom:15px;
	border-bottom:1px solid #000;
	font-size: 28px;
}

.sec03 h2 a{
	position:absolute;
	top:8px;
	right:0;
	padding:2px 10px;
	background:#000;
	text-align:center;
	font-size:14px;
	color:#FFF;
}

.sec03 table{
	width:100%;
	border-collapse:collapse;
}

.sec03 table th,
.sec03 table td{
	padding:5px;
	border-bottom:1px solid #CCC;
}

.sec03 .slider{
	position:relative;
	width:100%;
	height:100vh;
	z-index:0;
}

.sec03 .slider img{
	width:100%;
	height:auto;
}

.sec03 .thumb{
	position:absolute;
	left:20px;
	bottom:50px;
	padding:5px 5px 0 5px;
	background:rgba(255, 255, 255, .65);
	color:#000;
	text-align:center;
	z-index:1;
	box-sizing:content-box;
}

.sec03 .thumb01{
	width:20%;
}

.sec03 .thumb02{
	width:60%;
}

.sec03 .thumb03{
	width:20%;
}

.sec03 .thumb04{
	width:10%;
}

.sec03 .thumbnail-img{
	padding:5px;
	
}

.sec03 .thumbnail-img.slick-current img{
	border:5px solid #F09;
}

.sec03 .thumb img{
	width:100%;
	height:auto;
}

.sec03 .thumb .slick-track{
  transform: unset !important;
}

.lightbox{
	display:none;
}

.lightbox img{
	width:100%;
	height:auto;
	display:block;
}

.lightbox h2{
	position:relative;
	margin-bottom:20px;
	padding:0 0 15px 0;
	border-bottom:1px solid #000;
}
.lightbox table{
	width:100%;
	border-collapse:collapse;
}

.lightbox th,
.lightbox td{
	padding:8px;
	border-bottom:1px solid #CCC;
}

.lightbox td.center{
	padding:8px 16px;
}

.featherlight-content{
	max-width:1000px;
}


/*sec04
----------------------------------------------------*/
.sec04{
	position:relative;
	padding:100px 0;
	background:url(../img/dmy06.jpg) no-repeat center / cover;
	color:#FFF;
	z-index:1;
}

.sec04 h2{
	font-size:60px;
	color:#FFF;
}

.sec04 ul{
	padding:2em;
}

.slide-items img{
	width:94%;
	height:auto;
	margin:0 auto;
	display:block;
}

.sec04 .btn a{
	width:16em;
	margin:2em auto;
	padding:10px 15px;
	border:1px solid #FFF;
	text-align:center;
	font-size:1.2em;
	color:#FFF;
	display:block;
	transition:.4s;
}

.sec04 .btn a:hover{
	background:#FFF;
	color:#000;
	opacity:1;
}


/*sec05
----------------------------------------------------*/
.sec05{
	position:relative;
	/*display: flex;*/
	padding:10vh 0 20vh 0;
	/*height: 180vh;*/
	justify-content: center;
	align-items: center;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background:url(../img/dmy07.jpg) no-repeat center / cover;
	color:#FFF;
	z-index:0;
}

.sec05 h2{
	font-size:60px;
	color:#FFF;
}

.sec05 p{
	width:800px;
	margin:0 auto 2em auto;
}

.sec05 p img{
	width:100%;
	height:auto;
}

.sec05 a:hover,
.sec05 a:hover img{
	opacity:1.0;
	filter: alpha(opacity=100);
}


/*sec06
----------------------------------------------------*/
.sec06{
	padding:100px 0;
	background:#000;
	color:#FFF;
}

.sec06 h2{
	text-align:center;
}

.sec06 p{
	margin-bottom:1em;
}

.sec06 table{
	width:650px;
	margin:0 auto;
}

.sec06 table th{
	font-weight:normal;
	text-align:left;
	vertical-align:top;
}

.sec06 table td{
	width:470px;
}

.sec06 input{
	width:100%;
	margin-bottom:1em;
	padding:15px 8px;
	border:1px solid #999;
	border-radius:6px;
	background:#FEFEFE;
}

.sec06 textarea{
	width:100%;
	margin-bottom:1em;
	padding:15px 8px;
	border:1px solid #999;
	border-radius:6px;
	background:#FEFEFE;
}

.sec06 input[type="submit"]{
	width:50%;
	margin:0 auto 1em auto;
	background:#000;
	color:#FFF;
	cursor:pointer;
	display:block;
}

.sec06 .btn_confirm{
	width:48%;
	margin:0 auto 1em auto;
	padding: 15px 8px;
	background:#000;
	border:1px solid #FFF;
	border-radius:6px;
	color:#FFF;
	cursor:pointer;
	display:inline-block;
}

.btn_back{
	width:48%!important;
	margin:0 2% 1em auto;
	background:#999!important;
	border: 1px solid #999;
	color:#FFF;
	cursor:pointer;
	display:inline-block;
}

.sec06 .kakomi{
	height:14em;
	margin-bottom:1em;
	padding:2vw;
	border:1px solid #999;
	border-radius:6px;
	background:#FEFEFE;
	font-size:1vw;
	color:#000;
	overflow:auto;
	overflow-y:scroll;
}

.sec06 h3{
	margin-bottom:1em;
	font-size:1.4em;
	text-align:center;
}

.sec06 h4{
	font-weight:normal;
}

.sec06 .kakomi ol,
.sec06 .kakomi ol li{
	margin-top:1em;
}

.sec06 .privacy-conf{
	text-align:center;
}

.sec06 .privacy-conf input{
	width:auto;
	margin:0 0.5em 0 0;
	padding:0;
	background:none;
	display:inline;
}

.error{
	margin:-1em 0 1em 0;
	color:#F00;
	text-align:center;
}


/*sec07
----------------------------------------------------*/
.sec07{
	position:relative;
	padding:100px 0 10vh;
	height: 180vh;
	justify-content: center;
	align-items: center;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background:url(../img/dmy07.jpg) no-repeat center / cover;
	color:#FFF;
	z-index:0;
}

#access{
	height: 240vh;
	padding:25vh 0 10vh;	
}

.sec07 h2{
	font-size:60px;
	color:#FFF;
}

.sec07 .box_map{
	margin:0 auto 4em auto;
}

.sec07 .box_map .box_left{
	float:left;
	width:65%;
	margin-bottom:5%;
}

.sec07 .box_map .box_right{
	float:right;
	width:30%;
	margin-bottom:5%;
	padding:20px;
	background:rgba(0, 0, 0, .85);
	color:#FFF;
}

.sec07 .box_map .box_right ul{
	margin-bottom:20px;
}

.sec07 .box_map .box_right ul .tel{
	padding:0.1em 0 0.3em 0.9em;
	background:url(../img/icon_tel.png) no-repeat left center / 0.5em;
	font-size: 28px;
}

.sec07 .box_map .box_right dl{
	margin-bottom:0.5em;
	padding-bottom:0;
	border-bottom:1px solid #000;
	display:grid;
    grid-template-columns:7em 1fr;
    gap:0.8em;
}

.sec07 .box_map .box_facility dl{
	float:left;
	margin:0 1em 0.7em 0;
}

.sec07 .box_map .box_facility dt{
	float:left;
	margin:0 0.3em 0.3em 0;
	padding:3px 15px;
	background:rgba(255, 255, 255, .85);
	border:1px solid #FFF;
	color:#000;
	display:inline-block;
}

.sec07 .box_map .box_facility dd{
	float:left;
	margin:0 0.3em 0.3em 0;
	padding:3px 10px;
	background:#000;
	border:1px solid #FFF;
	color:#FFF;
	display:inline-block;
}

.sec07 img{
	width:100%;
	height:auto;
}

.sec07 .box_googlemap p{
	padding:0.5em 1.5%;
}

.sec07 .box_googlemap p a{
	width:400px;
	margin:0 auto;
	padding:10px 0;
	background:#D13D5B url(../img/icon_mappin_w.png) no-repeat left 1em center / 1.0em;
	border-radius:8px;
	color:#FFF;
	text-align:center;
	display:block;
}

.sec07 .box_googlemap p a:hover{
	background:#F54549 url(../img/icon_mappin_w.png) no-repeat left 1em center / 1.0em;
	opacity:1.0;
}

#map{
	width:100%;
	height:450px;
	margin-bottom:20px;
	background-color: grey;
}





/*page top
--------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:10px;
	height:120px;
	padding-top:18px;
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}

#page-top a img{
	width:10px;
	height:auto;
	margin:auto;
	display:block;
}


/*footer
----------------------------------------------------*/
footer{
	position:relative;
	padding:80px 0;
	background-image: url(../img/dmy02.jpg);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
	background-color: rgba(0,0,0,0.6);
	background-blend-mode: darken;
	text-align:center;
	z-index:1;
}

footer.luxy-el{
	/*luxy用設定*/
	padding-bottom:160vh;
	background-size:250%;
}

@media screen and (min-width:1200px){
footer.luxy-el{
	/*luxy用設定*/
	padding-bottom:160vh;
	background-size:250%;
}
}

footer h2{
	width:280px;
	margin:0 auto 20px auto;
	font-size:14px;
}

footer h2 img{
	width:100%;
	height:auto;
	display:block;
}

.box_r18{
	margin-bottom:30px;
	padding:0.5em 0 0.5em 4.5em;
	background:url(../img/icon_r18.png) no-repeat left center / 3.6em;
	font-size:11px;
	line-height:1.4;
	color:#FFF;
	display:inline-block;
}

footer ul li{
	margin:0 10px;
	display:inline-block;
	font-size:12px;
}

/*footer ul.sns li{
	width:20px;
	margin:0 10px;
	padding-top:50px;
	display:inline-block;
}*/

footer ul.sns li{
	width:250px;
	margin:0 10px;
	padding-top:50px;
	display:inline-block;
}


footer ul.sns li img{
	width:100%;
	height:auto;
	display:block;
}

footer a:hover,
footer a:hover img{
	opacity:1;
}

footer a{
	color:#FFF!important;
}

footer .copyright{
	margin-top:40px;
	font-size:10px;
	color:#FFF;
}