@charset "utf-8";
/* CSS Document */

.floating {
    position: fixed;
    max-width: 220px;
    width: 35%;
    z-index: 999;
    right: 50px;
    bottom: 30px;
}

.floating a {
	display: block;
}

.floating a:hover {
	transform: scale(1.1,1.1);
	transform-origin: center;
}

.floating a .off {
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%,-50%);
}

.floating a .on {
	opacity:0;
}

.floating a:hover .off {
	opacity:0;
}

.floating a:hover .on {
	opacity:1;
}

/*スマホ用非表示*/
.floating.fl_sp {
	display: none;
}



#mainview {
    position: relative;
    padding: 20px 20px 0px;
	z-index: 0;
}

#mainview::after {
    position: absolute;
    content: "";
    width: 1470px;
    height: 1580px;
    top: 65%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    background-image: url(../img/mv_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: -1;
}

#mainview .logo {
    max-width: 180px;
    width: 25%;
}

#mainview .mv_wrap {
    position: relative;
    padding-top: 100%;
    margin-top: -50px;
}

#mainview .mv_wrap .img_box {
    position: absolute;
    max-width: 100%;
    width: 100%;
	top: -10px;
    left: 50%;
    right: 50%;
    transform: translateX(-50%);
}



#menu {
	padding: 50px 0px;
}

#menu .menulisut {
    max-width: 750px;
    width: 100%;
    margin: 0px auto;
}

#menu .menulisut li {
    max-width: 170px;
    width: 23.5%;
}

#menu .menulisut li a {
	position: relative;
	display: block;
}

#menu .menulisut li a .off {
	position: absolute;
	left: 50%;
	top:50%;
	transform:translate(-50%,-50%);
}

#menu .menulisut li a .on {
	opacity:0;
}

#menu .menulisut li a:hover {
	transform: scale(1.1,1.1);
	transform-origin: center;
}

#menu .menulisut li a:hover .off {
	opacity:0;
}

#menu .menulisut li a:hover .on {
	opacity:1;
}



#benefits {
	padding: 30px 0px;
	z-index: 1;
}

#benefits .img_box {
    max-width: 660px;
    width: 85%;
	margin:0px auto;
}



#overview {
	padding: 50px 0px;
	z-index: 1;
}

#overview .img_box {
	margin:30px 0px 0px;
}



#company {
	padding: 100px 0px 50px;
}

#company::after {
    position: absolute;
    content: "";
    width: 1470px;
    height: 4450px;
    top: -5%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/company_bg.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 0;
}

#company .box {
	position: relative;
	padding:50px 0px 100px;
	z-index: 1;
}

#company .company_list {
    max-width: 700px;
    width: 93%;
    margin: 30px auto 0px;
}

#company .company_list a {
	display: block;
    max-width: 380px;
    width: 85%;
    margin: 50px auto 0px;
    padding: 20px 5%;
    text-align: center;
    background-color: #d54236;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 5px;
    border-radius: 80px;
}

#company .company_list a:hover {
    background-color: #f09984;
}



#special {
	padding: 80px 0px;
	z-index: 2;
}

#special .img_box {
    position: relative;
	z-index: 1;
}

#special .bg_box {
    position: absolute;
    max-width: 900px;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 0;
}

#special .bg_box .bg_img {
    position: absolute;
    max-width: 900px;
    width: 100%;
    top: 78%;
    left: 55%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 0;
}

#special .bg_box .bg2 {
	transform:translateY(-50%) translateX(-50%) rotate(6.819deg);
    z-index: 1;
	mix-blend-mode: multiply;
}



#reservation {
	padding: 120px 0px 80px;
	z-index: 1;
}

#reservation::after {
    position: absolute;
    content: "";
    width: 1470px;
    height: 1700px;
    top: -2%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/reservation_bg.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 103.5%;
    z-index: 0;
}

#reservation .box {
	z-index: 1;
}

#reservation .box .img_box {
    position: relative;
    z-index: 1;
    max-width: 700px;
    width: 93%;
    margin: 0px auto;
}



/*第1フェーズで必要なコンテンツ以外非表示+微調整*/
.main {
    background-image: url("../img/all_bg.png");
    background-position: top -160px center;
    background-repeat: no-repeat;
    background-size: 145%;
}

.floating,
#menu,
#company,
#special,
#reservation {
	display: none!important;
}

#mainview::after {
	display: none;
}

#overview {
    padding: 0px 0px 150px;
}




@media screen and (max-width: 1024px) {	



/*第1フェーズで必要なコンテンツ以外非表示+微調整*/
.main {
    background-size: 152%;
}



}




@media screen and (max-width: 768px) {

/*スマホ用表示*/
.floating {
	display:none;
}
	
.floating.fl_sp {
	display: block;
}
	


#mainview::after {
    width: 175%;
    top: 50%;
}

#mainview .mv_wrap {
	padding-top: 145%;
	margin-top: 30px;
}



#menu {
    padding: 20px 0px 50px;
}

#menu .menulisut {
    max-width: 560px;
	width: 85%;
}

#menu .menulisut li {
    max-width: 100%;
    width: 48%;
    margin: 5px 0px 0px;
}



#benefits .img_box {
    max-width: 560px;
}


	
#overview {
    padding: 50px 0px 80px;
}

#overview .img_box {
    max-width: 660px;
    width: 100%;
    margin: 30px auto 0px;
}



#company {
    padding: 150px 0px 50px;
}

#company::after {
	display: none;
}

#company .company_list {
    max-width: 560px;
    width: 90%;
    margin: 50px auto 0px;
}

#company .company_list a {
    max-width: 100%;
	width: 100%;
	font-size: 20px;
	padding: 35px 5%;
}



#special {
	padding: 80px 0px 150px;
}

#special .img_box {
    max-width: 560px;
    width: 100%;
    margin: 0px auto;
}

#special .bg_box .bg_img {
    max-width: 275%;
    width: 275%;
    top: 50%;
    left: 50%;
}



#reservation {
    padding: 120px 0px 150px;
}

#reservation::after {
	display: none;
}

#reservation .box .img_box {
    max-width: 560px;
    width: 100%;
    margin: 50px auto 0px;
}




/*第1フェーズで必要なコンテンツ以外非表示+微調整*/
.main {
    background-image: url("../img/all_bg_sp.png");
    background-position: top -100px center;
    background-size: 130%;
}

#mainview::after {
	top: 58%;
}

#mainview .mv_wrap {
    padding-top: 135%;
}

#mainview .mv_wrap .img_box {
	max-width: 85%;
}

#overview {
	padding: 0px 0px 150px;
}



}



@media screen and (max-width:560px) {

.floating {
    right: 3%;
    bottom: 3%;
}



#mainview .logo {
    width: 40%;
    margin: auto;
}

#mainview .mv_wrap {
    margin-top: 30px;
}

#mainview::after {
    width: 165%;
}



#menu {
	padding: 20px 0px 30px;
}



#overview {
    padding: 50px 0px;
}

#overview .img_box {
	margin: 0px;
}



#company {
	padding: 100px 0px 50px;
}

#company .box {
	padding:65px 15px;
}

#company .company_list {
    max-width: 100%;
	width: 100%;
    margin: 0px;
}

#company .company_list a {
    font-size: 16px;
    letter-spacing: 2.5px;
    padding: 30px 3%;
}



#special {
	padding: 50px 0px;
}

#special .bg_box .bg_img {
    max-width: 338%;
	width: 338%;
}



#reservation {
    padding: 100px 0px 120px;
}



/*第1フェーズで必要なコンテンツ以外非表示+微調整*/
.main {
	background-position: top -50px center;
    background-size: 145%;
}

#mainview::after {
    top: 55%;
	width: 170%;
}

#mainview .mv_wrap {
	padding-top: 160%;
}

#mainview .mv_wrap .img_box {
	max-width: 100%;
}

#overview {
    padding: 30px 0px 80px;
}




}




