@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　index
 */
/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

#Content {
	margin-top: 0;
}


/* Mv
---------------------------------------------------------------------------*/
#Mv{
  
}
#Mv .MV-inner{
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
#Mv .MV-inner ul{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
#Mv .MV-inner ul li:first-child{
    width: 40%;
    padding-top: 25vh;
    text-align: center;
}
#Mv .MV-inner ul li:first-child img{
    width: 25%;
    max-width: 250px;
    margin-bottom: 50px;
}
#Mv .MV-inner ul li:first-child p.sub{
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5em;
}
#Mv .MV-inner ul li:first-child h1.title{

  text-align: center;
  font-size: 5.5rem;
  letter-spacing: 10px;
}

#Mv .MV-inner ul li:last-child{
    width: 60%;
}
#Mv .MV-inner ul li:last-child img{
    width: 100%;
}





/* point
-----------------------------------------------------------------*/

#Mv+.point{
  width: 80%;
  margin: 120px auto 70px; 
  text-align: center;
}
#Mv+.point img{
    width: 250px;
    margin-bottom: 50px;
}
#Mv+.point h2 {
  padding: 30px 0 20px;
  font-size: 2.8rem;
  letter-spacing: 8px;
  line-height: 1.8em;
}
#Mv+.point h2 span{
  color: #30aabc;
}
#Mv+.point p{
  margin-top: 20px;
  font-size: 2.6rem;
  letter-spacing: 8px;
  line-height: 1.8em;
}
#Mv+.point .copy{
  margin-top: 70px;
  font-size: 2.2rem;
  letter-spacing: 5px;
}



/* alamoana
-----------------------------------------------------------------*/
.alamoana{
  width: 100%;
  height: auto;
  margin-bottom: 80px;
}
.alamoana .inner{
    
}
.alamoana ul.column{
    display: flex;
    flex-direction: row;
}
.alamoana ul.column li.vid_contents{
  width: 40%;
  height: 100%;
  margin: auto;
  background-image: url(../image/alamoana.jpg)
;
  background-size: contain;
  background-repeat: no-repeat;
}
.alamoana ul.column li.vid_contents video.vid_main {
  width: 100%;
  max-width: 920px;/*PC版での最大幅*/
}
.alamoana ul.column .article{
  width: 60%;
  height: 100%;
  padding: 10px 3% 30px;
}
.alamoana .article2{
  width: 90%;
  height: 100%;
  padding: 10px 3% 30px 30px;
  margin-top: 50px;
}
.alamoana .article h2,
.alamoana .article2 h2{
  font-size: 2.2rem;
  margin-bottom: 50px;
  padding-left: 20px;
  border-left: solid 10px #71a9b1;
}
.alamoana .article .copy,
.alamoana .article2 .copy{
  font-size: 1.8rem;
  padding-left: 30px;
  padding-bottom: 30px;
}
.alamoana ul.photo{
  width: 90%;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
  margin-left: 30px;
}
.alamoana ul.photo li{
  width: 32%;
}
.alamoana ul.photo li p{
  padding-left: 10px;
}

/* map
-----------------------------------------------------------------*/
.map{
    width: 90%;
    max-width:1200px;
    height: 80vh;
    margin: 0px auto 80px;
}
.map h2{
    font-size: 2.2rem;
   margin-bottom: 30px;
   padding-left: 20px;
   border-left: solid 10px #71a9b1; 
}
.map iframe{
    width: 100%;
    height: 90%;
}


/* plan
-----------------------------------------------------------------*/
.plan{
    background-color: #f0ede8;
}
.plan .inner{
    width: 90%;
    max-width: 1200px;
    margin: 100px auto;
    padding: 100px 0;
}
.plan .inner h2{
   font-size: 2.2rem;
   margin-bottom: 30px;
   padding-left: 20px;
   border-left: solid 10px #71a9b1; 
}
.plan .inner p{
  text-align: center;
}

.plan .inner table {
  width: 90%;
  max-width: 1500px;
  margin: 20px auto;
  font-size: 1.4rem;
}
.plan .inner .tbl-plan th{
  background-color:  #71a9b1;
    color: #fff;
}
.plan .inner .tbl-plan th,
.plan .inner .tbl-plan td{
  border: solid 1px #666;
  padding: 10px;
}
.plan .inner .tbl-plan a{
  display: block;
  padding: 2px 10px;
  background-color: #71a9b1;
  text-align: center;
  color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 5px;
}
.plan .inner .tbl-plan a:hover{
  opacity: .7;
}
@media screen and (max-width: 640px) {
  .scroll {
    overflow-x: auto;
  }
  .tbl-plan {
    min-width: 880px;
    margin: 0 10px 50px;
  }
  .tbl-plan td {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
  }
}


/* outline
-----------------------------------------------------------------*/
.outline{
    width: 100%;
}
.outline .inner{
    width: 90%;
    max-width: 1200px;
    margin: 0px auto;
    padding: 0;
}
.outline .inner h2{
  font-size: 2.2rem;
  margin-bottom: 50px;
  padding-left: 20px;
  border-left: solid 10px #71a9b1;
}

.outline .inner table {
  width: 90%;
  max-width: 1200px;
  margin: 20px auto;
}
.outline .inner .tbl-r02 th {
  background: #71a9b1;
  border: solid 1px #f0ede8;
  color: #fff;
  padding: 10px;
}
.outline .inner .tbl-r02 td {
　border: solid 1px #f0ede8;
  padding: 10px 10px 10px 20px;
}

@media screen and (max-width: 640px) {
.outline .inner .last td:last-child {
    border-bottom: solid 1px #f0ede8;
    width: 100%;
  }
.outline .inner .tbl-r02 {
    width: 100%;
  }
.outline .inner .tbl-r02 th,
.outline .inner .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}


/* movie
-----------------------------------------------------------------*/
.movie{
  width: 80%;
  max-width: 1000px;
  margin: 80px auto 60px;
}
.movie h2{
  font-size: 2.2rem;
  margin-bottom: 50px;
  padding-left: 20px;
  border-left: solid 10px #71a9b1;
}
.movie .txt{
  font-size: 2.2rem;
  text-align: center;
}
.movie ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 80px;
}
.movie ul li{
  /*width: 31%;*/
  width: 960px; 
  height: 540px;
  margin: 0 1% 30px;
}
.movie ul li img{
  width: 100%;
}



/* contact
-----------------------------------------------------------------*/
.contact{
  position: relative;
  width: 100%;
  height: 100px;
}
.contact .contact-inner{
  position: absolute;
  width: 100%;
  height: 36.45833333vw;
  background-image: url(../image/contact-bg.jpg);
  background-size: auto;
}
.contact .contact-title{
  position: absolute;
  top:40%;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform:  translateX(-50%);
  display: block;
  max-width: 500px !important;
  margin: 0 auto;
  padding: 18px 100px 20px;
  background:  #fff;
  color: #2a7f90;
  font-size: 2.0rem;
  line-height: 1;
  text-align: center;
  border-radius: 30px;
}
.contact .contact-area{
  position: absolute;
  top:35vw;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform:  translateX(-50%);
  max-width: 1000px;
  margin: 60px auto;
}







/*--------------------------------------------------------------------------
   middle NOTE PC
---------------------------------------------------------------------------*/
@media screen and (max-width: 1536px) {

/* Mv
---------------------------------------------------------------------------*/    
#Mv .MV-inner ul li:first-child{
    width: 40%;
    padding-top: 20vh;
    text-align: center;
}
#Mv .MV-inner ul li:first-child img{
    width: 25%;
    max-width: 250px;
    margin-bottom: 50px;
}
#Mv .MV-inner ul li:first-child p.sub{
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5em;
}
#Mv .MV-inner ul li:first-child h1.title{

  text-align: center;
  font-size: 4.5rem;
  letter-spacing: 10px;
  line-height: 1.3em;
}
    
    
/* movie
-----------------------------------------------------------------*/
.movie{
  margin: 180px auto 60px;
}
    

/* concierge service
-----------------------------------------------------------------*/
.concierge{
  height: 100vw;
}
  
.concierge .bg-gray{
  height: 95vw; 
}
 
/* contact
-----------------------------------------------------------------*/
.contact{
  height: 100px;
}
    
    
}







/*--------------------------------------------------------------------------
   Tablet
---------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
    
#Header .logo{
  margin: 0 5px;  
}
    
/* Mv
---------------------------------------------------------------------------*/
#Mv .MV-inner ul li:first-child{
    width: 40%;
    padding-top: 8vh;
    text-align: center;
}
 
.alamoana .article2{
  width: 100%;
  height: 100%;
  padding: 10px 3% 30px;
  margin-top: 50px;
}
 
/* contact
-----------------------------------------------------------------*/
.contact{
  height: 100px;
}

    
    
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
/* movie
-----------------------------------------------------------------*/
.movie{
  width: 90%        
    }
.movie ul li{
  width: 100%; 
  height: 50.625vw;
  margin: 0 1% 30px;
}
}






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

/* Content
---------------------------------------------------------------------------*/
#Content {
	margin-top: 0;
}

    
/* Mv
---------------------------------------------------------------------------*/
#Mv{
  position: relative;
  width: 100%;
  height :120vw;
  overflow: visible;
  margin-top: 40px;
}
#Mv .MV-inner ul{
  flex-direction: column-reverse;   
}    
#Mv .MV-inner ul li:first-child{
    width: 100%;
    padding-top: 15vh;
    text-align: center;
}
#Mv .MV-inner ul li:first-child img{
    position: absolute;
    top:12%;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform:  translateX(-50%);
    width: 30%;
    max-width: 250px;
    margin-bottom: 50px;
    background-color: rgba(255,255,255,.6);
    padding: 10px;
}
#Mv .MV-inner ul li:first-child p.sub{
  position: absolute;
  top:40%;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform:  translateX(-50%);
  width: 100%;
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.1em;
  color:#fff;
}  
#Mv .MV-inner ul li:first-child h1.title{
  position: absolute;
  top:55%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  -webkit- transform:  translateX(-50%);
  text-align: center;
  font-size: 3.0rem;
  letter-spacing: 3px;
  line-height: 1.1em;
  color:#fff;
}
    
#Mv .MV-inner ul li:last-child{
    width: 100%;
    z-index: -1;
}
#Mv .MV-inner ul li:last-child img{
    width: 100%;
}    
    
    
    
/* point
-----------------------------------------------------------------*/

#Mv+.point{
  width: 90%;
  margin: 30px auto; 
}
#Mv+.point img{
    width: 70%px;
}
#Mv+.point h2{
  font-size: 2.2rem;
  letter-spacing: 4px;
  line-height: 1.6em;
}
#Mv+.point  p{
  margin-top: 15px;
  font-size: 2.4rem;
  letter-spacing: 4px;
  line-height: 1.4em;
}
#Mv+.point .copy{
  margin-top: 50px;
  font-size: 1.6rem;
  letter-spacing: 2px;
}
    
    
/* alamoana
-----------------------------------------------------------------*/
.alamoana{
  width: 100%;
  height: auto;
  position: static;
}
.alamoana ul.column{
    display: flex;
    flex-direction: column-reverse;
}
.alamoana ul.column li.vid_contents{
  width: 100%;
  height: 100%;
  margin: auto;
}
.alamoana ul.column li.article,
.alamoana ul.photo .article{
  width: 100%;
  height: 100%;
  padding: 10px 3% 30px;
}
.alamoana .article2{
  width: 100%;
  height: 100%;
  padding: 10px 3% 30px;
}
    
.alamoana .article h2,
.alamoana .article2 h2{
  font-size: 2.2rem;
  width: 94%;
  margin: 0 auto 40px;
  text-align: left;  
}
.alamoana .article .copy{
  width: 94%;
  margin: 0 auto 20px;
  padding-left: 0px;
  font-size: 1.6rem;
}
.alamoana .article2 .copy{
  width: 94%;
  margin: 0 auto;
  padding-left: 0px;
  font-size: 1.6rem;
}
.alamoana ul.photo{
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
  margin-left: 0px;
}

 
/* map
-----------------------------------------------------------------*/
.map{
    height: 675px;
    margin: 0px auto 0px;
}
    
    
/* plan
-----------------------------------------------------------------*/
.plan .inner{
    width: 90%;
    max-width: 1200px;
    margin: 0px auto;
    padding: 50px 0;
}

 
/* brand
-----------------------------------------------------------------*/
.brand {
  position: static;
  width: 100%;
  height: auto;
}
.brand h2{
  position: static;
  width: 90%;
  margin: 0 auto 1.5vw 20px;
}
.brand .explain{
  position: static;
  transform: translateX(-0%);
  -webkit- transform:  translateX(-0%);
  width: 100%;
  padding: 50px 40px;
}

 
/* movie
-----------------------------------------------------------------*/
.movie{
  width: 90%;
  height: auto;
  margin: 120px auto 60px;
}
.movie h2{
  width: 100%;
  margin: 0 auto 1.5vw 0; 
  z-index: 1;
}
.movie .txt{
  font-size: 1.8rem;
  text-align: center;
}
.movie ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}
.movie ul li{
    width: 100%;
    height: 50.625vw;
}

    
    
/* contact
-----------------------------------------------------------------*/
  .contact{
  position: relative;
  height: 10vh;
}
  .contact .contact-inner{
  position: absolute;
  width: 100%;
  height: 36.45833333vw;
  background-image: url(../image/contact-bg.jpg);
  background-size: 100%;
}
.contact .contact-title{
  position: absolute;
  width: 70%;
  padding: 10px 15px;
  font-size: 2.2rem;
}
.contact .contact-area{
  width: 90%;
  margin: 0px auto;
}    
        
}



/*--------------------------------------------------------------------------
   mobile 468px
---------------------------------------------------------------------------*/
@media screen and (max-width: 468px) {
.movie{
  width: 100%;
  margin: 120px auto 60px;
}
.movie ul li{
    width: 100%;
    height: 56.25vw;
}   

/* contact
-----------------------------------------------------------------*/
  .contact{
  position: relative;
  height: 30vh;
}
}


/*--------------------------------------------------------------------------
  small mobile 375px
---------------------------------------------------------------------------*/
@media screen and (max-width: 375px) {

/* concierge service
-----------------------------------------------------------------*/
.concierge{
  width: 100%;
  height: 400vh;
}
.concierge .bg-gray{
  background-color: #ececec;
  height: 110vh;
}
    
}