@charset "UTF-8";



/* section_visual
------------------------------------------------- */
.mv {
  position: relative;
  z-index: 99;
  height: 700px;
	margin-bottom: 50px;
  text-align: center;
}

.mv div,
.mv ul {
  opacity: 1;
}

.bg_top h2 {
	position: absolute;
	top: 120px;	
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: calc( 100% / 2.4 );
	z-index: 600;
	animation: 'fadelogo' 1.5s ease 1.8s 1 both;
	-webkit-animation: 'fadelogo' 1.5s ease 1.8s 1 both;
}

@keyframes fadelogo {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

@-webkit-keyframes fadelogo {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

#top_anime {
	animation: 'topanime' 1.5s ease 2.0s 1 both;
	-webkit-animation: 'topanime' 1.5s ease 2.0s 1 both;
}

@keyframes topanime {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

@-webkit-keyframes topanime {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}

[class^="img-flex-"] {
	margin-bottom: 20px;
	display: -webkit-flex;
	display: flex;
	position: relative;
}
.img-flex-2 img { width: calc( 100% / 2 );}
.img-flex-3 img { width: calc( 100% / 3 ); }
.img-flex-4 img { width: calc( 100% / 4 ); }

#anime1{
	animation: 'fadein1' 1.5s ease 0.3s 1 both;
	-webkit-animation: 'fadein1' 1.5s ease 0.3s 1 both;
}

#anime2{
	animation: 'fadein2' 1.5s ease 0.8s 1 both;
	-webkit-animation: 'fadein2' 1.5s ease 0.8s 1 both;
}

#anime3{
	animation: 'fadein1' 1.5s ease 1.3s 1 both;
	-webkit-animation: 'fadein1' 1.5s ease 1.3s 1 both;
}

@keyframes fadein1 {
    0% {
		 transform: translateY(50px);
        opacity:0;
    }
    100% {
		 transform: translateY(0px);
        opacity:1;
    }
}

@-webkit-keyframes fadein1 {
    0% {
		 transform: translateY(50px);
        opacity:0;
    }
    100% {
		 transform: translateY(0px);
        opacity:1;
    }
}

@keyframes fadein2 {
    0% {
		 transform: translateY(-50px);
        opacity:0;
    }
    100% {
		 transform: translateY(0px);
        opacity:1;
    }
}

@-webkit-keyframes fadein2 {
    0% {
		 transform: translateY(-50px);
        opacity:0;
    }
    100% {
		 transform: translateY(0px);
        opacity:1;
    }
}

.mv .inner h2 img {
  width: 100%;
  height: auto;
}

@media print, screen and (max-width: 760px) {
  .mv {
    height: 50vh; 
    margin: 0 0 10%;
  }
  .mv .inner {
    background-position: 20% 0; 
  }
  .mv .inner h2 {
    width: 240px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    line-height: 1.3em;
    font-size: 2rem;

    -webkit-transform: translateY(-50%) translateX(-50%); 
        -ms-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
  }
}

/* container
------------------------------------------------- */
.main_top .container {
  margin-bottom: 0;
}

@media print, screen and (max-width: 760px) {
  main.main_top {
    padding-top: 0;
  }
}

/* parts
------------------------------------------------- */
.main_top h3 {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic","Osaka",sans-serif;
  font-size: 37px;
  line-height: 1; 

  position: relative;

  display: inline-block;

  margin: 0 auto 40px;
  padding-bottom: 0;

  text-align: center;

  border-style: none;
}
.main_top h3 span {
  font-family: "Montserrat", sans-serif;
  font-size: 11px;

  display: block;

  margin-bottom: 10px;

  letter-spacing: 1px;
}

@media print, screen and (max-width: 760px) {
  .main_top h3 {
    font-size: 1.5em;
    line-height: 1.3; 

    margin: 0 auto 5%;
  }
  .main_top h3 span {
    font-size: .4em;

    margin-bottom: 0;
  }
  .main_top h3::before {
    content: none;
  }
  .main_top h3::after {
    content: none;
  }
}

/* section_intro
------------------------------------------------- */
.main_top .section_intro {
  margin-top: 140px;
  margin-bottom: 70px;
  text-align: center; 
}

.main_top .section_intro h3#intro-title {
  margin: 0px 0 25px;
  line-height: 33px;
  font-size: 30px;
  line-height: 1.5;
}
.main_top .section_intro h3#intro-title::before {
  display: none;
}
.main_top .section_intro h3#intro-title::after {
  display: none;
}


@media print, screen and (max-width: 760px) {
  .main_top .section_intro h3#intro-title {
    font-size: 24px;
    line-height: 1.5em;
	  margin-top: 30px;
  }
  .main_top .section_intro {
    height: auto;
    margin-top: 0;
    margin-bottom: 15%;
    background: none;
  }
  .main_top .section_intro h3 {
    margin-bottom: 5%;
  }
}






.pc{
	display: block;
}

.sp{
	display: none;
}

header{
	position: static;
}

.wrapper{
	width: 1080px;
	margin: 0 auto;
}

.flex_wrap{
	display: flex;
	justify-content: space-between;
}

.point_box{
	width: 330px;
}

.section_point{
	margin-bottom: 60px;
}

.section_point h4{
	background-color: #E88D88;
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	padding: 10px;
	margin-top: 20px;
	margin-bottom: 10px;
}

.section_point p{
	margin-bottom: 20px;
}

.btn_guide{
	width: 240px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;
	cursor: pointer;
}

#zumen_map{
	background-image: url("../img/plan_zumen.jpg");
	height: 0;
    /* (画像の高さ / 画像の横幅) × 100 */
    padding-top: 88.425926%;
    background-repeat: no-repeat;
	width: 100%!important;
	position: relative;
}

#zumen_map_sp{
	display: none;
}

#map01{
	position: absolute;
	top: 0;
	left: 76px;
}

#map02{
	position: absolute;
	top: 0;
	left: 292px;
}

#map03{
	position: absolute;
	top: 0;
	left: 648px;
}

#map04{
	position: absolute;
	top: 491px;
	left: 507px;
}

#map_no01{
	position: absolute;
	top: 0px;
	left: 499px;
}

#map_no02{
	position: absolute;
	top: 0px;
	left: 828px;
}

#map_no03{
	position: absolute;
	top: 491px;
	left: 76px;
}

#map_no04{
	position: absolute;
	top: 491px;
	left: 352px;
}

#map_no05{
	position: absolute;
	top: 491px;
	left: 717px;
}

#map01 a,#map02 a,#map03 a,#map04 a,#map_no01 a,#map_no02 a,#map_no03 a,#map_no04 a,#map_no05 a {
    display: inline-block;
}

#map01 a:hover,#map02 a:hover,#map03 a:hover,#map04 a:hover,#map_no01 a:hover,#map_no02 a:hover,#map_no03 a:hover,#map_no04 a:hover,#map_no05 a:hover {
	background-color: transparent; /* IE6対応 */
}

.section_main a:hover img {
opacity: 0;
-webkit-opacity: 0;
-moz-opacity: 0;
filter: alpha(opacity=0);	/* IE lt 8 */
-ms-filter: "alpha(opacity=0)"; /* IE 8 */
}
 
.section_main a img {
-webkit-transition: opacity 0.5s ease-out;
-moz-transition: opacity 0.5s ease-out;
-ms-transition: opacity 0.5s ease-out;
transition: opacity 0.5s ease-out;
}

.unit04 {
  margin-bottom: 100px; 
  padding: 100px 0;

  text-align: center;

  background: #231815;
}
.unit04 .tit {
  font-family: "Montserrat", sans-serif;
  font-size: 30px;
  line-height: 1;

  margin-bottom: 50px;

  color: #fff;
}
.unit04 .gallery_slider {
  width: 984px;
  height: 588px;
  margin: 0 auto;
}
.unit04 img {
  max-height: 588px;
  margin: 0 auto;
}

.section_plan{
	background-color: #E9E8E4;
	width: 100%;
	padding: 70px;
	margin-bottom: 50px;
}

.section_plan h3{
	display: block;
}

.section_plan h3 img{
	height: 300px;
}

.movie_box{
	max-width: 520px;
	max-height: 290px;
	width: 100%;
	text-align: center;
	margin-bottom: 100px;
}

.zumen_wrap{
	position: relative;
	width: 1080px;
	height: 700px;
	padding-top: 50px;
}

.zumen_1F{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}

.zumen_2F{
	position: absolute;
	right: 20px;
	top: 0;
}

.zumen_txt{
	position: absolute;
	bottom: 0px;
	left: 20px;
	width: 400px;
}

.zumen_ritsumen{
	position: absolute;
	right: 50px;
	bottom: 50px;
}

.btn_vr{
	width: 640px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

.plan_icn{
	width: 48px;
	position: absolute;
	z-index: 5000;
	cursor: pointer;
}

#plan02_icn_1{
	left: 390px;
	top:100px;
}

#plan02_icn_2{
	left: 390px;
	top:180px;
}

#plan02_icn_3{
	left: 120px;
	top:160px;
}

#plan02_icn_4{
	left: 170px;
	top:240px;
}

#plan02_icn_5{
	left: 470px;
	top:150px;
}

#plan02_icn_6{
	left: 370px;
	top:220px;
}

#plan02_icn_7{
	left: 400px;
	top:360px;
}

#plan02_icn_8{
	left: 190px;
	top:360px;
}

#plan02_icn_9{
	left: 100px;
	top:420px;
}

#popup_ttl{
	margin-top: 80px;
	margin-bottom: 30px;
	width: 100%!important;
}

#popup_ttl img{
	width: 100%!important;
}

#popup_txt{
	font-size: 18px;
	margin-bottom: 40px;
}

#popup_ttl_sp{
	display: none;
}




@media print, screen and (max-width: 760px) {

.pc{
	display: none;
}
	
.sp{
	display: block;
}
	
.wrapper{
	width: 96%;
	margin: 0 auto;
}

.bg_top h2 {
	position: absolute;
	top: 70px;	
	width: calc( 100% / 1.5 );
	animation: 'fadelogo' 1.5s ease 0.8s 1 both;
	-webkit-animation: 'fadelogo' 1.5s ease 0.8s 1 both;
}

#top_anime {
	animation: 'topanime' 1.5s ease 1.0s 1 both;
	-webkit-animation: 'topanime' 1.5s ease 1.0s 1 both;
}
	
.movie_box{
	display: block;
	max-width: 520px;
	max-height: 290px;
	width: 100%;
	text-align: center;
	margin-bottom: 60px;
	margin-left: auto;
	margin-right: auto;
}
	
.movie_box img{
	width: 100%;
}

	
#zumen_map{
	display: none;
}

#zumen_map_sp{
	display: block;
	background-image: url("../img/plan_zumen_sp.jpg");
	height: 0;
    /* (画像の高さ / 画像の横幅) × 100 */
    padding-top: 100%;
    background-repeat: no-repeat;
	width: 100%!important;
	background-size: cover;
	position: relative;
	margin-bottom: 40px;
}
	
.style_slider img{
	width: 100%;
}

	
#map01_sp img,#map02_sp img,#map03_sp img,#map04_sp img{
	width: auto;
	width: 30%;
}

#map01_sp{
	position: absolute;
	top: calc(0 / 1080 * 98vw);
	left: calc(10 / 1080 * 98vw);
	width: 77%;
}

#map02_sp{
	position: absolute;
	top: calc(0 / 1080 * 98vw);
	left: calc(254 / 1080 * 98vw);
	width: 73%;
}

#map03_sp{
	position: absolute;
	top: calc(0 / 1080 * 98vw);
	left: calc(640 / 1080 * 98vw);
	width: 64%;
}

#map04_sp{
	position: absolute;
	top: calc(550 / 1080 * 98vw);
	left: calc(490 / 1080 * 98vw);
	width: 74%;
}
	
.zumen_wrap{
	width: 100%;
	height: auto;
	padding-top: 0px;
}

.zumen_wrap img{
	width: 100%;
}
	
.zumen_1F,.zumen_2F,.zumen_txt,.zumen_ritsumen{
	position: static;
	width: 100%;
	margin-bottom: 20px;
}

.flex_wrap{
	display: block;
	width: 100%;
}
	
.point_box{
	width: 100%;
	margin-bottom: 30px;
}

.point_photo{
	width: 100%!important;
}
	
.section_plan{
	background-color: #E9E8E4;
	width: 100%;
	padding: 60px 0px;
	margin-bottom: 50px;
}

.section_plan h3 img{
	width: 100%;
	height: auto;
}
	
.btn_vr{
	width: 96%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

.unit04 {
	width: 100%;
  margin-bottom: 100px; 
  padding: 80px 0;
  text-align: center;
}
	
.gallery_slider {
    width: 96%!important;
    height: auto!important;
	margin-left: auto;
	margin-right: auto;
}

.gallery_slider img {
	width: auto;
	height:auto;	
  max-height: 300px;
  margin: 0 auto;
}

.plan_icn{
	width: 42px;
	position: absolute;
	z-index: 5000;
}
	
#plan02_icn_1{
	left: calc(390 / 720 * 100vw);
	top:calc(100 / 720 * 100vw);
}

#plan02_icn_2{
	left: calc(390 / 720 * 100vw);
	top:calc(180 / 720 * 100vw);
}
	
#plan02_icn_3{
	left: calc(120 / 720 * 100vw);
	top:calc(160 / 720 * 100vw);
}

#plan02_icn_4{
	left: calc(170 / 720 * 100vw);
	top:calc(240 / 720 * 100vw);
}

#plan02_icn_5{
	left: calc(470 / 720 * 100vw);
	top:calc(150 / 720 * 100vw);
}

#plan02_icn_6{
	left: calc(370 / 720 * 100vw);
	top:calc(220 / 720 * 100vw);
}

#plan02_icn_7{
	left: calc(400 / 600 * 100vw);
	top:calc(360 / 600 * 100vw);
}

#plan02_icn_8{
	left: calc(190 / 600 * 100vw);
	top:calc(360 / 600 * 100vw);
}

#plan02_icn_9{
	left: calc(100 / 600 * 100vw);
	top:calc(420 / 600 * 100vw);
}	
	

.modal_content{
	height:300px;
}
	
.btn_guide{
	width: 70%;
	margin-bottom: 80px;
}

#popup_ttl{
	display: none;
}

#popup_ttl_sp img{
	width: 100%!important;
}

#popup_txt{
	font-size: 16px;
	margin-bottom: 30px;
}

#popup_ttl_sp{
	display: block;
	margin-top: 40px;
	margin-bottom: 30px;
	width: 100%!important;
}
	
}