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

teaser
///////////////////////*/

/*
#top_slide
*/
#top_slide{
   padding: 150px 0 0;
}
@media screen and (max-width: 767px) {
#top_slide{
   padding: 100px 0 0;
}
#top_slide img{
   padding: 0 5px;
}
}



/*
#top_box
*/
html,
  body {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

 #top_box {
    /*width: 100vw;*/
    width: 100%;
    /*height: 100vh;*/
    background-position: center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.bg_top{
    /*background: url(../images/top_main.jpg);*/
    background-size: cover;
}
 #top_box .top_content{
    width: 100%;
    /*height: 100vh;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
}

 #top_box .top_content .logo{
    width: 75%;
    height: auto;
    margin: 0 0 4em;
}
 #top_box .top_content .logo img{
    width: 100%;
    height: auto;
}
 #top_box .top_content .open{
    font-size: 2.4rem;
    letter-spacing: .1em;
    line-height: 1.4;
    color: #1c2a55;
    font-weight: bold;
    text-align: left;
     padding: 70px 0 150px;
}
 #top_box .top_content .open .openday{
    font-size: 6.0rem;
    line-height: 1.0;
    display: block;
    /*font-weight: normal;*/
    padding: 0 0 .3em;
}

@media screen and (max-width: 1000px) {
    #top_box .top_content .open{
    font-size: 1.6rem;
   }
    #top_box .top_content .open .openday{
    font-size: 4.0rem;
   }
}

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

 #top_box .top_content{
    width: 100%;
    /*height: 60vh;*/
    display: flex;
   align-items: start;
}

 #top_box .top_content .logo{
    /*width: 100px;
    height: auto;*/
    margin-bottom: 2em;
}
 #top_box .top_content .logo img{
    width: 100%;
    height: auto;
}
 #top_box .top_content .open{
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 1.6;
    font-weight: bold;
    text-align: left;
    padding: 30px 0 30px 20px;
}
 #top_box .top_content .open .openday{
    font-size: 4.0rem;
    line-height: 1.2;
    display: block;
    padding: 0 0 .4em;
}  
    
}


/*
#shopTtl
*/
#shopTtl{
}
#shopTtl .gyotai{
position: absolute;
top: 40px;
right: 0px;
color: #6a787c;
line-height: .8;
font-size: 140px;
font-weight: 700;
text-align: left;
mix-blend-mode: multiply;
word-wrap: break-word;
writing-mode: vertical-rl;
height: max-content;
overflow: hidden;
    z-index: 99;
}
@media screen and (max-width: 767px) {
#shopTtl .gyotai{
   top: 20px;
   font-size: 100px;
   opacity: 0.45;
   }
}



/*
#top_concept
*/

#top_concept{
   background: #B8B6B1;
   margin: auto;
   padding: 10% 0;
}
#top_concept h2{
    font-size: 1.8rem;
    letter-spacing: .15em;
    line-height: 3em;
    margin-bottom: 1.5em;
    font-weight: normal;
    text-align: center;
   padding: 50px 0;
}

#top_concept .eng{
    font-size: .9em;
    line-height: 1.6em;
    display: block;
    padding-top: 1.5em;
}
@media screen and (max-width: 767px) {
 #top_concept{
    /*margin: 10% auto 5%;*/
}   
#top_concept h2{
    font-size: 1.4rem;
   }
}



/* scroll btn*/
a.scrollBtn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 3;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  padding-top: 60px;
}
a.scrollBtn span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 46px;
  height: 46px;
  margin-left: -23px;
  /*border: 1px solid #fff;
  border-radius: 100%;*/
  box-sizing: border-box;
}
a.scrollBtn span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 16px;
  height: 16px;
  margin: -12px 0 0 -8px;
  border-left: 1px solid #735F51;
  border-bottom: 1px solid #735F51;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
a.scrollBtn span::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 44px;
  height: 44px;
  /*box-shadow: 0 0 0 0 rgba(255,255,255,.1);
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: sdb 3s infinite;
  animation: sdb 3s infinite;
  box-sizing: border-box;*/
}
/*@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}*/

@media screen and (max-width: 767px) {
    
#teaser_top{
    width: 100%;
    height: 60vh;
    z-index: 0;
    position: relative;
}
.bg_top{
    /*background: url(../images/top_main.jpg);*/
    background-size: cover;
}

#teaser_top .top_content{
    width: 100%;
    height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
}


#teaser_top .top_content .logo{
    width: 100px;
    height: auto;
    margin-bottom: 4em;
}
#teaser_top .top_content .logo img{
    width: 100%;
    height: auto;
}
#teaser_top .top_content .open{
    font-size: 1.3em;
    letter-spacing: .1em;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
#teaser_top .top_content .open .openday{
    font-size: 2em;
    display: block;
    font-weight: normal;
    padding-top: .4em;
}  
    
}



/*
teaser_sec
*/
#teaser_sec{
    width: 100%;
   padding: 0 90px;
    /*height: 100vh;*/
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}



h1.sec_h1{
    width: 130px;
    font-size: 1.2em;
    font-weight: normal;
    letter-spacing: .1em;
    border-top: 3px #2b365d solid;
    padding-top: 1.5em;
    margin: 3% auto 3%;
}

.secTitle{
   width: 100%;
   height: 60vh;
   /*padding: 240px 0;*/
   margin-bottom: 1em;
   display: flex;
   justify-content: center;
   align-items: center;
   
   min-height: 400px;
   background-position: center top;
   background-repeat: no-repeat;
   background-attachment: fixed;
   background-size: cover;
}
.secTitle.room{
   background-image: url(../images/bg_room.jpg);
}
.secTitle.annex{
   background-image: url(../images/bg_annex.jpg);
}
.secTitle.table{
   background-image: url(../images/bg_table.jpg);
}
.secTitle.access{
   background-color: #777;
}

h2.sec_h2{
    font-size: 4.2rem;
   line-height: 1.2;
    font-weight: normal;
   color: #fff;
   letter-spacing: .1em;
}
h2.sec_h2_b{
    font-size: 5.8rem;
   line-height: 1.2;
    font-weight: bold;
   letter-spacing: .1em;
    text-align: center;
    margin: 10% auto;
}
h3.sec_h3{
    font-size: 3.0rem;
   line-height: 1.4;
    font-weight: bold;
   text-align: center;
   letter-spacing: .1em;
   margin: 8% auto 4%;
}
h2.sec_h2_b small{
   font-size: 1.8rem;
   letter-spacing: .04em;
   display: block;
}
h3.sec_h3 small{
   display: block;
   font-size: 1.4rem;
   line-height: 1.6;
   letter-spacing: .06em;
}
.readTxt p{
   max-width: 1000px;
   padding: 30px 20px;
   font-size:  1.8rem;
   line-height: 2.4em;
   letter-spacing: .1em;
}

.roomNumber{
    font-size: 1.6em;
    border: 3px #2b365d solid;
    padding: .3em 1em;

    display:inline-block;
    margin: 0 auto 3%;

}

.sec_cont_wrap{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec_cont_detail{
    width: 40%;
    height: 80vh;
    padding: 0 2.5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
   text-align: left;
}
.sec_cont_detail h3{
   font-size: 1.8rem;
   line-height: 2.0em;
   font-weight: normal;
   text-align: left;
   margin-bottom: 1.0em;
}
.sec_cont_detail h3 span{
   display: block;
   font-size: 2.2rem;
   margin-bottom: 16px;
   font-weight: bold;
}

.sec_cont_detail p{
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: 2.0em;
    margin-bottom: 1.1em;
    /*text-align: left*/
}
.sec_cont_detail p .size{
    font-size: .65em;
    padding-left: 1.5rem;
}
.sec_cont_detail p .menu{
    font-size: .75em;
    padding:1.5em;
    display: block;
    line-height: 1.8em;
}
.sec_cont_detail p.facility{
    font-size: 1.2em;
    line-height: 1.6em;
    padding: 0 0 0 1.5em;
    
}

.sec_cont_detail p.att,
.course_reserve .course_detail p.att{
    font-size: 1.1em;
    line-height: 1.6em;
    
}
.sec_cont_img{
    width: 60%;
   height: 80vh;
    padding: 0 2.5%;
    box-sizing: border-box;
}

/*コース*/
.course_reserve{
    width: 95%;
    margin: 5% auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,.2);
    border: 1px #ccc solid;
}
.course_reserve .course_img{
   width: 50%;
}

.course_reserve .course_detail{
   width: 50%;
    padding: 4%;
}
.course_detail_box{
   padding: 3%;
   margin-bottom: 20px;
    border: 1px #ccc solid;
}
.course_attention{
   max-width: 680px;
   width: 86%;
   margin: 5% auto;
    background: rgba(255,255,255,.2);
    border: 1px #ccc solid;
}
.course_attention .course_detail{
   padding: 5%;
}
.course_attention .course_detail p{
   font-size: 1.2em;
    line-height: 1.8em;
}
.course_reserve .course_detail h3,
.course_attention .course_detail h3{
   font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 1.0em;
   line-height: 1.4em;
}
.course_reserve .course_detail h3 small{
   font-size: .65em;
}
.course_reserve .course_detail p{
   font-size: 1.3em;
    line-height: 1.8em;
   margin-bottom: .5em;
}
.course_reserve .course_detail p span{
    display: block;
   font-size: 1.1em;
    font-weight: bold;
    margin: .2em 0 0;
}
.course_reserve .course_detail .linkbtn,
.sec_cont_detail .linkbtn,
.linkbtn{
    font-size: 1.2em;
    /*text-align: right;*/
    margin: 0 0 .8em;
   font-weight: bold;
}
.course_reserve .course_detail .linkbtn a,
.sec_cont_detail .linkbtn a,
.linkbtn a{
   color: #fff;
   background-color: #004155;
   padding: .6em 1.0em; 
   margin: 0 0 .5em;
text-decoration:none;
   display: inline-block;
}
.linkbtn a:visited, .linkbtn a:hover{
   color: #fff;
}

.material-symbols-outlined{
    display: inline;
}
.tokuten{
    background: #005BAC;
    font-size: .9em;
    color: #fff;
   padding: 5px;
}


.caution{
    width: 70%;
    margin: 3% auto;
    background: #fff;
    padding: 1em 1.5em;
    font-size: 1.2em;
    line-height: 1.75em;
}
.caution span{
    display: block;
    margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
    
 #teaser_sec{
    width: 100%;
    padding: 0;
    height: inherit;
     display: block;
    padding-bottom: 80px;
}
    
h1.sec_h1{

    margin: 8% auto 5%;
}
.secTitle{
   height: 50vh;
   /*padding: 240px 0;*/
   min-height: 300px;
}
h2.sec_h2{
line-height: 1.1em;
   font-size: 2.4rem;
   padding: 1em;
    /*margin-bottom: 8%;*/
    
}
   .readTxt p{
   padding: 30px 40px 10px;
   font-size:  1.3rem;
      text-align: left;
}
.sec_cont_wrap{
    width: 100%;
    flex-direction: column;
}
.sec_cont_wrap .left{
   margin-right: 10%;
   }
.sec_cont_wrap .right{
   margin-left: 10%;
   }   
.sec_cont_detail{
    width: 90%;
    height: auto;
    order: 2;
   background-color: rgba(255,255,255,0.55);
z-index: 10;
   padding: 80px 10px 60px;
   margin-top: -50px;
}

.sec_cont_detail h3{
   padding: 0 5%;
   font-size: 1.4rem;
   }
.sec_cont_detail h3 span{
   font-size: 1.8rem;
   }
.sec_cont_detail p{
    font-size: 1.4em;
    letter-spacing: .1em;
    line-height: 2.6em;
    margin-bottom: 1.5em;
    padding: 0 5%;
}

.sec_cont_img{
    width: 90%;
    padding:0; 
    box-sizing: border-box;
    order: 1;
   height: auto;
}     
    
 /*コース*/
.course_reserve{
    width: 86%;
    margin: 5% auto;
    display: flex;
    flex-direction: column;
}
.course_reserve .course_img{
   width: 100%;
}

.course_reserve .course_detail{
   width: 100%;
    padding: 5%;
}
.course_reserve .course_detail h3{
   font-size: 1.6em;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.course_reserve .course_detail p{
   font-size: 1.3em;
    line-height: 1.8em;
}
.course_reserve .course_detail p span{
    display: block;
   font-size: 1.1em;
    font-weight: bold;
    margin: .5em 0;
}
.course_reserve .course_detail .linkbtn{
    font-size: 1.2em;
    text-align: right;
    margin: 2% 0;
}
.material-symbols-outlined{
    display: inline;
}
   
    
    
    
    
    
}



/*
access
*/
#access{
    width: 100%;
    /*height: 100vh;*/
   letter-spacing: .1em;
}
#access .sec_cont2_wrap{
   max-width: 1400px;
   margin: auto;
}
.sec_cont2_wrap{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec_cont2_detail{
    width: calc(100%/2);
    /*height: 100vh;*/
    padding: 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sec_cont2_detail h3{
    font-size: 1.6em;
    margin-bottom: 1em;
}
.sec_cont2_detail p{
    font-size: 1.4em;
    letter-spacing: .1em;
    line-height: 2.6em;
    margin-bottom: 1.5em;
}
.sec_cont2_detail .eng{
    font-size: .9em;
    line-height: 1.6em;
    display: block;
    padding-top: 1.5em;
}

.sec_cont2_img{
    width: calc(100%/2);
    padding: 5% 0 5% 5%; 
    box-sizing: border-box;
}

#access .hotel_map{
   width: 90%;
   max-width: 1400px;
   margin: 0 auto 25px;
}



@media screen and (max-width: 767px) {
#access{
    width: 100%;
    height: auto;
}
#access .hotel_map {
  width: 100%;
}
.sec_cont2_wrap{
    width: 90%;
    display: flex;
    flex-direction: column;
}
.sec_cont2_detail{
    width: calc(100%/1);
    height: auto;
    padding: 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sec_cont2_detail h3{
    font-size: 1.5em;
    margin-bottom: 1em;
    /*text-align: center;*/
}
.sec_cont2_detail p{
    font-size: 1.4em;
    /*text-align: center;*/
}

.sec_cont2_img{
    width: calc(100%/1);
    padding: 0; 
}  
}



/*
swiper slide
*/
.swiper-container{
    width: 100%;
    height: 75vh;
}
.swiper-wrapper{
margin-top: -10px;
}
.swiper-slide {
    background-position:top;
    background-size: cover;
}

.swiper-pagination{
    padding-top: 160px;
}

@media screen and (max-width: 767px) {
.swiper-container{
    width: 100%;
    height: 50vh;
}
}





/*
tab_container
*/
.tab_container {
  padding-bottom: 1em;
  margin: 0 auto;
}
.tab_item {
  width: calc(100%/4);
  padding:15px 0;
  border-top: 1px solid #735F51;
  border-left: 1px solid #735F51;
  border-right: 1px solid #735F51;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
   font-size: 1.6rem;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.7;
}
input[name="tab_item"] {
  display: none;
}
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
   border-top: 1px solid #735F51;
}
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
  display: block;
}
.tab_container input:checked + .tab_item {
  background-color: #735F51 ;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .tab_item {
  width: calc(100%/3);
  font-size: 1.4rem;
   }
    
}



/*=====================================
restaurant contwrapR
=====================================*/
#restaurant{
   margin-bottom: 15%;
}
.contwrapR{
    width: 100%;
    display: flex;
    justify-content:center;
    /*align-items: center;*/
}
.contBox{
    width: 26%;
    margin: 2%;   
}
.contBox a{
     text-decoration: none;
    font-style: normal;   
}
.contBox a h3{
    font-size: 3.0em;
    line-height: 1em;
    margin-top: .5em;
}
.contBox a h3 span{
    font-size: .45em;
    padding-top: .3em;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    font-weight: normal;
    display: block;
}
.contBox img{
    width: 100%;height: auto;
}

@media screen and (max-width: 767px) {
.contwrapR{
    width: 100%;
    display: flex;
    flex-direction: column;  
}
.contBox{
    width: 100%;
    margin: 3% auto; 

}
    .contBox a{ 
   display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
   }
    .contBox img{
        width: 50%;
        height: 30%;
    }
    
.contBox a h3{
    width: 50%;
    padding: 2%;
    /*box-sizing: ;*/
    font-size: 3.0em;
    /*color: #000;*/
    line-height: 1em;
    margin-top: 0;
    letter-spacing: 0.1em;
}
.contBox a h3 span{
    font-size: .35em;
    padding-top: 1em;
    letter-spacing: 0.1em;
    line-height: 1.6em;
    /*color: #333;*/
    font-weight: normal;
    display: block;
}

}



/*=====================================
2nd page
=====================================*/
/*.page_title{
    width: 100%;
    margin: 8% auto 5%;
}*/

/*.page_title h1{
    font-size: 5rem;
    text-align: center;
}*/

/*================================
top_main
================================*/
.top_main{
   /*border-radius: 40px;*/
   margin: auto;
   height: 80vh;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   /*display: flex;
   justify-content: center;
   align-items: center;*/
   padding: 0;
}

.top_main_bk{
   /*margin-top: -60px;*/
   background: rgba(0,0,0,0.30);
   width: 100%;
   height: 100%;
   display: flex;
  justify-content: center;
  align-items: center;
   /*flex-direction: column*/
   position: relative;
}
.top_main_bk .mainLogo{
   position: absolute;
   bottom: 5%;
   text-align: center;
   width: 100%;
  /*justify-content: center;
  align-items: center;*/
}
.top_main_bk .mainLogo img{
   max-width: 15%;
   min-width: 200px;
   height: auto;
}
.top_main h1{
   text-align: center;
   /*color: #fff;*/
   font-weight:600;
}

section{
   letter-spacing: 0.1em;
}

#menu{
   margin-bottom: 15%;
}

h1.contTtl {
  text-align: center;
  font-size: 5.8rem;
  /*padding: 1% 1% .4em .4em;*/
  line-height: 1.0em;
  /*letter-spacing: 0.05em;*/
   position: inherit;
   /*top: 70px;*/
   color: rgba(255,255,255,0.70);
}
h1.contTtl span{
   font-size: .8em;
   display: block;
}
@media screen and (max-width: 767px) {
   
.top_main{
  /* border-radius: 0;*/
   height: 70vh;
   width: 100%;
   }
   .top_main_bk{
   }
   h1.contTtl{
   font-size: 4.5rem;
   }
   h1.contTtl span{
   /*font-size: .7em;*/
}
}



/*///////////////////////////
NEWS
///////////////////////////*/
.sec-news {
  width: 90%;
    margin: 5vw auto 10vw;
}

@media (max-width: 559px) {
  .sec-news {
    margin-top: 10vw;
  }
}

.sec-news .sec-title {
  text-align: center;
  font-size: 3.2rem;
  margin-bottom: 3%;
}

@media (max-width: 559px) {
  .sec-news .sec-title {
    font-size: 2.0rem;
  margin-bottom: 6%; 
  }
}


.sec-news .news-list {
  max-width: 850px;
  margin: 0 auto;
    list-style: none;
}
.news-list{
    display: flex;
    flex-direction: column;
}
.news-list li{
    width: 100%;
    list-style: none;
    margin-bottom: 10px;
}
.news-list li a{
    display: flex;    
}
.news-list li a:hover{
	background:#eee;
}
.news-list li a .newsPh{
	width: 15%;
}
.news-list li a:hover .newsPh{
	opacity:0.6;
}
.news-list li a .newsPh img{
	width:100%; height:auto;
}

.news-list li a .detail{
    width: 85%;
    padding: 2% 4%;
    box-sizing: border-box;
	display: flex;
    flex-direction: column;
    justify-content: center;
    /*border-bottom: 1px dotted #ccc*/
}
.news-list li a .detail .date{
	font-size:1.4rem;
    text-decoration: none;
    margin-bottom: .8em;
    letter-spacing: .1em;
    font-weight: normal;
}
.news-list li a .detail .ttl{
	font-size:1.4rem;
   font-weight: bold;
    text-decoration: none;
    letter-spacing: .1em;
    line-height: 1.6em;
}
.eventEnd{
    text-align: center;
    background: #d0d0d0;
    padding: 20px 20px 20px;
    /*margin-bottom: 1em;*/
}

@media (max-width: 959px) {
.news-list li a .newsPh{
	width: 30%;
}
}
@media (max-width: 559px) {
.news-list li a .newsPh{
	width: 40%;
}
    
}



