@charset "UTF-8";
/* CSS Document */

a:hover{opacity: 0.5;}


#hero{position: relative;}
#hero .headimg{position: absolute; top: 0; left: 0; z-index: 10;}
/* #hero .headimg_sp{display: none;} */
#hero .scroll{position: absolute; bottom: 0; left: 50%;  transform: translateX(-50%);  -webkit- transform: translateX(-50%); z-index: 15; width: 136px;}
#hero .mv {
    position: relative;
    padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
    /*padding-top: 30px;*/
    height: 0;
    /* overflow: hidden;*/
    /*margin-bottom: 2rem; *//* YouTubeの下に余白をつける */
	margin: 0 0;
}
#hero .mv iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: 0;
}



#lead{max-width: 1100px; margin:auto; position: relative; text-align: center; padding: 0 0 0;}
#lead .logo{position: relative; top: -50px; left: 145px; width: 380px;}

#lead .txt{line-height: 2em; font-size: 1.5em; margin: 23px 0 1em;}
#lead .caution{line-height: 1.6em; margin: 0 0 30px;}

#lead .linkbtn{width: 402px; margin: auto;}
#lead .linkbtn a{color: #000;  width: 400px; border: 1px solid #000; display: block; height: 45px; line-height: 45px; padding-top: 2px;}
#lead .linkbtn a::after{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 12px;/*画像の幅*/
  height: 7px;/*画像の高さ*/
  background-image: url("../img/arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;}


#menu{margin: 0 0 140px;}
#menu h2{font-size: 2.6em; margin: 75px 0 56px; text-align: center;}
#menu ul{display: flex; justify-content: space-between; width: 1000px; margin: auto; }
#menu ul li{width: 140px;}


/* #movie01,
#movie02,
#movie03,
#movie04,
#movie05{position: relative; width: 946px; margin: 90px auto 90px;} */

#movie01,
#movie02,
#movie03,
#movie04,
#movie05{margin-top: -54px; padding-top: 54px;}

#movie01 .wrapper,
#movie02 .wrapper,
#movie03 .wrapper,
#movie04 .wrapper,
#movie05 .wrapper{position: relative; width: 946px; margin: 90px auto 90px;}

#movie .mv{width: 570px;}

#movie .mv{
position:relative;
width:570px;
/*padding-bottom: 56.25%;*/ /* アスペクト比16:9の場合 */
height: 320px;
margin: 0;

}
#movie .mv iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}


#movie h2{position: absolute; left: 610px; top: -4px; font-size: 2.4em;}
#movie h2 span{font-size: 0.5em; display: block; margin: 5px 0 0;}

#movie .side{position: absolute; left: 610px; top: 80px; width: 340px;}
#movie .side .txt{line-height: 1.6em; margin: 0 0;}
#movie .simg_pc{margin: 20px 0 0; }
#movie .morelink a{color: #000; text-decoration: underline; margin: 4px 0 0; display: block;}


#movie02 .side,
#movie03 .side,
#movie05 .side{position: absolute; left: 610px; top: 110px; width: 340px;}
#movie04 .simg_pc{margin: 45px 0 0; }



/**/
#guest{ margin-top: -54px; padding-top: 54px;}
#guest .wrapper{ margin: 160px 0 0;}
#guest h2{font-size: 3em; text-align: center;}
#guest h2 span{display: block; font-size: 0.4em; padding: 5px 0 30px;}
#guest .morelink a{color: #000; text-decoration: underline; margin: 4px 0 0; display: block; text-align: center;}

#guest01,
#guest02,
#guest03,
#guest04,
#guest05{position: relative; width: 946px; margin: 90px auto 90px;}
#guest .mv{width: 570px;}

#guest .mv{
position:relative;
width:570px;
/*padding-bottom: 56.25%;*/ /* アスペクト比16:9の場合 */
height: 320px;
margin: 0;

}
#guest .mv iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}

#guest h3{position: absolute; left: 610px; top: -4px; font-size: 2.4em; width: auto; letter-spacing: -0.04em;}
#guest h3 span{font-size: 0.5em; display: block; margin: 5px 0 0;}

#guest .side{position: absolute; left: 610px; top: 80px; width: 340px;}
#guest .side .txt{line-height: 1.6em; margin: 0 0;}
#guest .simg_pc{margin: 20px 0 0; position: absolute; bottom: 0; right: 0; width: 340px;}





/**/
#vr_cur{background: #5F8597; color: #fff; margin: 150px 0 0;}
#vr_cur h2{font-size: 3em; text-align: center; padding: 100px 0 40px;}
#vr_cur h2 span{font-size: 0.5em; display: block; padding: 10px 0 0;}

#vr_cur .mainv{width: 585px; margin: auto; text-align: center; line-height: 1.5em;}
#vr_cur .mainv span{font-size: 1.2em; display: block; margin: 10px 0 0;}

#vr_cur .vr_expr{display: flex;  flex-flow: column wrap; width: 770px; height: 500px; margin: 40px auto 0;}
#vr_cur .vr_expr dl{width: 360px; display: flex; margin: 0 0 20px;}
#vr_cur .vr_expr dt{width: 35px; padding-right: 10px;}
#vr_cur .vr_expr dd{width: calc(100% - 35px); line-height: 1.5em;}
#vr_cur .vr_expr .vr_img4{width: 188px; float: right;}
#vr_cur .vr_expr .vr_txt4{float: left;}
#vr_cur .vr_expr dd::after{clear: both;}
#vr_cur .vr_expr h3{font-size: 1.2em; line-height: 2em;}
#vr_cur .sp_high{display: none;}

#gototop{position: fixed; right: 20px; bottom: 20px;  }
#gototop a{font-size: 25px; background: rgba(54,54,54,0.6); color: #fff; display: block; padding: 15px 15px; text-decoration: none;}

@media screen and (max-width: 768px) { 

/* #hero .headimg{display: none;}
#hero .headimg_sp{position: absolute; top: 0; left: 0; z-index: 10; width: 50%; display: block;} */
#hero .headimg{position: absolute; top: 0; left: 0; z-index: 10; width: 50%; display: block;}
#hero .scroll{display: none;}

#lead .logo{position: relative; top: -2em; left: 20px; width: 44%;}
#lead .txt{line-height: 1.8em; font-size: 1.1em; margin: -23px 0 2em;}
#lead .linkbtn{width: 70%;}
#lead .linkbtn a{width: 100%; font-size: 1em;}

#menu{margin: 0 0 50px;}
#menu h2{font-size: 2em; margin: 60px 0 25px;}
#menu ul{width: 70%; flex-wrap: wrap;}
#menu ul li{width: 30%; margin-bottom: 20px;}

/* #movie01,
#movie02,
#movie03,
#movie04{width: 90%; margin: 0 auto 50px; padding-top: 5em;}
#movie05{width: 90%; margin: 0 auto 55px; padding-top: 5em;} */

#movie01 .wrapper,
#movie02 .wrapper,
#movie03 .wrapper,
#movie04 .wrapper{width: 90%; margin: 0 auto 50px; padding-top: 5em;}
#movie05 .wrapper{width: 90%; margin: 0 auto 55px; padding-top: 5em;}


#movie .mv{width: 80%;}
#movie h2{ font-size: 2em; text-align: center; top: 0.5em;  left: 50%;  transform: translateX(-50%);  -webkit- transform: translateX(-50%); width: 100%; letter-spacing: -0.02em;}
#movie .side{position: relative; left: 0; top: 1em; width: 100%;}
#movie .simg_sp{width: 15.5%; position: absolute; right: 0; top: 5em;}

#movie .morelink{text-align: center;}


/**/

#guest .wrapper{margin: 90px 0 0;}
#guest h2 span{display: block; font-size: 0.4em; padding: 5px 0 10px;}
#guest01{width: 90%; margin: 25px auto 50px; padding-top: 5em;}
#guest02,
#guest03,
#guest04,
#guest05{width: 90%; margin: 0 auto 50px; padding-top: 5em;}
#guest .mv{width: 80%;}
#guest h3{ font-size: 2em; text-align: center; top: 0.5em;  left: 50%;  transform: translateX(-50%);  
-webkit- transform: translateX(-50%); width: 100%; letter-spacing: -0.02em;}
#guest .side{position: relative; left: 0; top: 1em; width: 100%;}
#guest .simg_sp{width: 15.5%; position: absolute; right: 0; top: 5em;}




/**/
#vr_cur{margin: 0;}
#vr_cur .mainv{width: 95%;}
#vr_cur h2{font-size: 2em; padding: 40px 0 40px;}
#vr_cur .vr_expr{width: 90%; height: 350px;}
#vr_cur .vr_expr dl{width: 50%;}
#vr_cur .vr_expr dl:first-child{display: none;}
#vr_cur .vr_expr .vr_img4{width: 80%; float: none;}

#vr_cur .sp_high{display: block; width: 90%; margin: auto; display: flex; margin: 0 auto 20px;}
#vr_cur .sp_high dl{ }
#vr_cur .sp_high dt{width: 35px; padding-right: 10px;}
#vr_cur .sp_high dd{width: calc(100% - 35px); line-height: 1.5em;}
#vr_cur .sp_high h3{font-size: 1.2em; line-height: 2em;}

}

@media screen and (max-width: 767px) { 
#movie .mv,
#guest .mv{height: 155px;}
}

@media screen and (max-width: 375px) { 

#movie .mv,
#guest .mv{height: 155px;}
#vr_cur .vr_expr dl:nth-child(3){margin-bottom: 100px;}
}

@media screen and (max-width: 320px){

#movie02 h2,
#movie05 h2{font-size: 1.7em;}
}



#links {
    padding: 1.5em;
    font-size: 1.5rem;
	text-align: center;
}
#links ul {
    letter-spacing: -0.38em;
}
#links ul li {
    display: inline-block;
    padding: 0 1em;
    border-left: 1px solid #555;
    letter-spacing: normal;
}
#links ul li:last-child {
    border-right: 1px solid #555;
}
#links ul li a {
    color: #555;
}

/* @media : SP */
@media screen and (max-width: 768px) {

#links ul li{border-left:none; display: block; padding-bottom: 10px;}
#links ul li:last-child{border-right: none;}
}


/*---------------------------------------

 ◆ header

---------------------------------------*/
body {
	padding-top: 59px;
}
.header-menu {
	font-size: 10px !important;
	padding: 15px 0 0 50px;
	width: 235px;
}
.header-menu p {
	padding-top: 6px;
	font-size: 16px;
	font-weight: bold;
}
.header-menu-box {
	background-color: #222;
	box-sizing: border-box;
	display: none;
	position: absolute;
	top: 15px;
	left: 50px;
	padding: 10px 20px 20px;
	z-index: 1001;
}
@media screen and (max-width: 768px) {
	.header-menu-box {
		height: 100vh;
		left: 0;
		overflow: hidden auto;
		padding: 0 calc((15/375)* 100vw);
		top: 0;
		width: 100vw;
	}
}
.header-menu-box>p {
	color: #fff;
	margin-bottom: 20px;
	font-size: 10px;
}
@media screen and (max-width: 768px) {
	.header-menu-box>p {
		padding-top: 6px;
	}
}
.header-menu-box ul li {
	text-align: center;
}
.header-menu-box ul li ul {
	overflow: hidden;
	padding-top: 9px;
}
.header-menu-box ul li li {
	float: left;
	text-align: left;
}
.header-menu-box ul li ul li:first-child {
	margin-right: 1px;
}
.header-menu-box ul li a {
	background: url(../img/header-menu-arrow.png) 97% center no-repeat #fff;
	color: #222;
	display: block;
	font-size: 14px !important;
	height: 44px;
	line-height: 44px;
	margin-bottom: 1px;
	text-decoration: none;
	width: 335px;
}
@media(max-width: 768px) {
	.header-menu-box ul li a {
		width: 100%;
	}
}
.header-menu-box li a:hover {
	opacity: .7;
}
.header-menu-box ul li ul li a {
	background-position: 93% center;
	font-size: 12px;
	width: 100%;
}
.header-menu-btn {
	cursor: pointer;
	display: flex;
}
.header-menu-btn img {
	height: auto;
	margin-right: 10px;
	width: 30px;
}
.header-menu-btn.sp_btn {
	display: none !important;
}
@media(max-width: 768px) {
	.header-menu-btn.pc {
		display: none;
	}
	.header-menu-btn.sp_btn {
			align-items: center;
		display: flex !important;
	}
	.header-menu-btn img {
		margin-left: calc((10/375)* 100vw);
		width: calc((30/375)* 100vw);
	}
}
.header-top {
	height: 65px;
	margin-bottom: 0;
	position: relative;
}
.header-util .link_txt {
	display: flex;
	justify-content: space-between;
	margin: 5px 0;
}
.header-util .link_txt a{
	background: url(../img/icon_arrow_right02.png) 97% center no-repeat;
}
.header-util .link_txt li {
	padding-right: 20px;
}
.header-menu-box li li a {
	padding: 0;
	width: 100%;
}
.header_nav .access_ul li {
	text-align: center;
}
.header-util .link_txt li {
	text-align: left;
}
.header_nav .access_ul li a {
	background-image: none;
}
.header-util .link_txt li a {
	background-color: transparent;
	color: #fff;
	width: 100%;
}
.back a {
	background: url(imgs/area/sp_menu_arrow.png) 15px center no-repeat;
	border: 1px solid #fff;
	color: #fff;
	display: block;
	font-size: 14px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	text-decoration: none;
}
.header-util .link_txt {
	display: flex;
	justify-content: space-between;
	margin: 5px 0;
}
.header-util .link_txt li {
	width: 49%;
}
.header_nav .access_ul li {
	width: 100%;
}
.header_nav .access_ul li a {
	align-items: center;
	display: flex;
	justify-content: center;
	width: 100%;
}
.header_nav .access_ul li a img {
	height: auto;
	margin-right: 5px;
	width: 20px;
}
.close_button {
	cursor: pointer;
	display: block;
}
.close_button_top,
.close_button_bottom {
	height: 20px;
	width: 20px;
}
.close_button_top img,
.close_button_bottom img {
	height: auto;
	width: 100%;
}
.close_button_top {
	padding: 20px 0;
	margin-bottom: 30px;
}
.close_button_top img {
	height: 20px;
	margin-right: 10px;
	width: 20px;
}
.close_button_bottom {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin: 25px auto 50px;
}
.close_button_bottom p {
	color: #fff;
	font-size: 12px;
	margin-top: 10px;
	white-space: nowrap;
}
/* header ↑　*/
  
/*----------------------------------------------------

　バーガーメニュー

----------------------------------------------------*/
header#globalNavi {
	position: fixed;
	background: url(../img/bg2.png) no-repeat center 50%;
	width: 100%;
	height: 59px;
	top: 0;
	left: 0;
	z-index: 1000;
}
header#globalNavi * {
	box-sizing: border-box;
}
.reserve {
	width: 100%;
	background: #fff;
	margin-left: 0;
	position: fixed;
	/* 開いてないときは画面外に配置 */
	top: -780px;
	left: 0;
	width: 100%;
	text-align: center;
	padding: 70px 0 0;
	transition: .4s ease-in-out;
	z-index: 600;
	box-sizing: border-box;
}
.reserve h2 {
	font-size: 24px;
	margin-bottom: 15px;
}
.reserve h2:before {
	content: '';
	display: inline-block;
	background: url(../img/tel_icon_bk.png) 0 0 no-repeat;
	width: 30px;
	height: 30px;
	background-size: contain;
	margin-bottom: -5px;
}
.res_ctn {
	max-width: 1000px;
	width: 90%;
	color: #fff;
	background: #3e3a39;
	margin: 0 auto 20px;
}
.res_ctn h3 {
	padding: 20px 0;
	border-bottom: 1px solid #fff;
}
.res_ctn p.tel {
	font-size: 32px;
	padding: 20px 0;
}
.res_ctn p.tel a {
	font-size: 32px;
	color: #fff;
}
.support {
	width: 100%;
	background: #717071;
	color: #fff;
	padding: 30px 0 50px;
}
.support .lead {
	margin-bottom: 20px;
	line-height: 1.3;
}
.sup_ctn {
	max-width: 1000px;
	width: 90%;
	color: #fff;
	background: #3e3a39;
	margin: 0 auto 30px;
	padding: 20px 0;
}
.sup_ctn p.tel {
	font-size: 32px;
	margin-bottom: 20px;
}
.sup_ctn p.tel a {
	font-size: 32px;
	color: #fff;
}
.res_ctn p.tel:before,
.sup_ctn p.tel:before {
	content: '';
	display: inline-block;
	background: url(../img/tel_icon_wh.png) 0 0 no-repeat;
	width: 30px;
	height: 30px;
	background-size: contain;
	margin-bottom: -5px;
}
.sup_ctn p.lang {
	margin-bottom: 5px;
}
.pr_res {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.pr_res h3 {
	margin-bottom: 20px;
}
.pr_res ul li {
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.3;
	font-size: 17px;
}
.reserve .contact a {
	color: #fff;
	text-decoration: underline;
}
.reserve .contact {
	width: 400px;
	margin: 30px auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media(max-width: 768px) {
	.reserve h2 {
		font-size: 17px;
		margin-bottom: 10px;
	}
	.reserve h2:before {
		width: 20px;
		height: 20px;
		background-size: contain;
		margin-bottom: -5px;
	}
	.res_ctn {
		margin: 0 auto 10px;
	}
	.res_ctn h3 {
		padding: 12px 0;
		border-bottom: 1px solid #fff;
	}
	.res_ctn p.tel {
		font-size: 24px;
		padding: 10px 0;
	}
	.res_ctn p.tel a {
		font-size: 24px;
	}
	.support {
		width: 100%;
		background: #717071;
		color: #fff;
		padding: 15px 0 40px;
	}
	.support .lead {
		margin-bottom: 20px;
		line-height: 1.3;
	}
	.sup_ctn {
		margin: 0 auto 20px;
		padding: 10px 0;
	}
	.sup_ctn p.tel {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.sup_ctn p.tel a {
		font-size: 24px;
	}
	.res_ctn p.tel:before,
	.sup_ctn p.tel:before {
		width: 20px;
		height: 20px;
		margin-bottom: -2px;
	}
	.pr_res h3 {
		margin-bottom: 10px;
		font-size: 14px;
	}
	.support .lead {
		margin-bottom: 10px;
		font-size: 14px;
	}
	.pr_res ul li {
		font-size: 12px;
	}
	.reserve .contact a {
		font-size: 14px;
	}
	.reserve .contact {
		width: 300px;
		margin: 30px auto 0;
	}
}
#fix_head {
	position: fixed;
	display: flex;
	justify-content: space-between;
	max-width: 540px;
	width: 540px;
	height: 54px;
	padding: 5px;
	z-index: 1000;
	top: 0;
	right: 0;
}
#fix_head a {
	position: relative;
	font-size: 18px;
	display: block;
	background: #1d1d1c;
	text-align: center;
	width: 49%;
	color: #fff;
	padding: 9px 0;
}
#fix_head a:before {
	content: '';
	display: inline-block;
	background: url(../img/bed_icon.png) 0 0 no-repeat;
	width: 26px;
	height: 23px;
	background-size: contain;
	margin-bottom: -7px;
	margin-top: 1px;
	margin-right: 5px;
}
#fix_head .arrow {
	position: absolute;
	width: 16px;
	right: 10px;
	top: 19px;
}
@media(max-width: 768px) {
	#fix_head {
		height: 50px;
		max-width: 100%;
		width: 100%;
	}
	#fix_head a {
		font-size: 13px;
		padding: 8px 0;
		width: calc((154/ 375) * 100vw);
	}
	#fix_head a:before {
		width: 22px;
		height: 20px;
		margin-bottom: -8px;
		margin-top: 6px;
		margin-right: 5px;
	}
	#fix_head .arrow {
		display: none;
	}
}

/* ----- オープンボタン ----- */
#nav-toggle {
	width: 49%;
	cursor: pointer;
	z-index: 9999;
	background: #dadad9;
	text-align: center;
	padding: 9px 0;
	position: relative;
}
#nav-toggle p {
	font-size: 18px;
}
#nav-toggle:hover {
	opacity: 0.8;
}
#nav-toggle p:before {
	content: '';
	display: inline-block;
	background: url(../img/tel_icon_bk.png) 0 0 no-repeat;
	width: 23px;
	height: 23px;
	background-size: contain;
	margin-bottom: -4px;
	margin-top: -2px;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: none;
	position: absolute;
	height: 2px;
	width: 30px;
	border-radius: 0;
	background: #3e3a39;
	left: 50%;
	margin-left: -15px;
	transition: .3s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 10px;
}
#nav-toggle span:nth-child(3) {
	top: 20px;
}
@media(max-width: 768px) {
	#nav-toggle {
		padding: 8px 0;
		width: calc((154/ 375) * 100vw);
	}
	#nav-toggle p {
		font-size: 13px;
	}
	#nav-toggle p:before {
		width: 20px;
		height: 20px;
		margin-bottom: -5px;
		margin-top: 3px;
	}
	#nav-toggle span {
		width: 24px;
		margin-left: -12px;
	}
	#nav-toggle:hover {
		opacity: 1;
	}
}
.open #nav-toggle span:nth-child(1) {
	top: 10px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
	display: block;
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
	display: block;
}
.open #nav-toggle span:nth-child(3) {
	top: 10px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
	display: block;
}
.open #nav-toggle p,
.open #nav-toggle img {
	display: none;
}
@media(max-width: 768px) {
	.open #nav-toggle span:nth-child(1),
	.open #nav-toggle span:nth-child(3) {
		top: 12px;
	}
}

/* スライドアニメーション */
.open .reserve {
	/* #global-nav top + #mobile-head height */
	-moz-transform: translateY(774px);
	-webkit-transform: translateY(774px);
	transform: translateY(774px);
}
.fixed {
	position: fixed;
}
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
