/******************************************************************
main
******************************************************************/
body#under main{
	padding: 130px 0 0 0;
}

@media only screen and (max-width:768px){
	body#under main{
		padding: 15px 0 0 0;
		box-sizing: border-box;
		margin-bottom:0;
	}
}


/******************************************************************
content_top
******************************************************************/
.content_top{
    padding: 5vw 10vw 6vw 10vw;
    text-align: center;
}


.room_read{
    font-size: 100%;
    line-height: 300%;
}

.fs_small{
    font-size: 80%;
}


.r_btn_set{
    display: flex;
    justify-content: space-between;
    gap:2vw;
    margin-top: 3vw;
}

a.room_btn{
    border: solid 1px #551100;
    width: 25%;
    letter-spacing: 0.02em;
    transition: all .3s;
}

   
a.room_btn:hover{
    background-color:rgba(52, 2, 0, 0.05);
}





.rb_small{
    font-size: 120%!important;
}


a.room_btn p:first-child{
    padding: 15px;
    line-height:160%;
    font-size: 140%;
}

a.room_btn p:first-child span{
    display: block;
    font-size: 70%;
}


a.room_btn p:last-child{
    background: #551100;
    color: #ece1c5;
}


a.room_btn{
    display: flex;
    flex-direction: column;

}

a.room_btn p:last-child{
    margin-top: auto;
}


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

    .content_top{
        padding: 25px;
    }

    .room_read{
        font-size: 100%;
        line-height: 200%;
    }

    .r_btn_set{
        display: block;
        margin-top: 25px;
    }

    a.room_btn{
        width: 100%;
        margin-top: 20px;
    }

    .rb_small{
        font-size: 100%!important;
    }


    a.room_btn p:first-child{
        padding: 12px 10px 10px 10px;
        line-height:160%;
        font-size: 120%;
    }
    .rb_small{
        font-size: 100%!important;
    }
}

/******************************************************************
main
******************************************************************/
main{
    position: relative;
}

.title_set{
    position: absolute;
    left:10vw;
    top:15vw;
    z-index: 10;
}

.title_set h1{
    width: 800px;
    font-weight: 100;
    color: #fff;
    font-size: 370%;
    line-height: 160%;
    letter-spacing: 0.01em;
	background: url(/tips/vacationrental/img/txt_border02.png) no-repeat left 65px;
}


.title_set h1.long{
	background: url(/tips/vacationrental/img/txt_border04.png) no-repeat left 65px;
}




.h1_sub{
    font-size: 130%;
    letter-spacing: 0.3em;
    color: #fff;
    font-weight: 100;
}

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

    .title_set{
        position: absolute;
        position: absolute;
        right: 0;
        left: 0;
        margin: 0 auto 0 auto;
        padding: 50px;
        box-sizing: border-box;
    }

    .title_set h1{
        text-align: center;
        width: 100%;
        font-size: 220%;
        background: none;
        margin-bottom: 15px;
    }

    .h1_sub{
        text-align: center;
        font-size: 90%;
        line-height: 200%;
    }


}



/******************************************************************
room
******************************************************************/

.room_wrapper{
	background: url(/tips/vacationrental/img/room_bg.png) no-repeat left top;
    background-size: 100%;
    padding: 6vw 0 5vw 0;
}



.room_set{
    margin:0 10vw 3.5vw 10vw;
    display: flex;
    justify-content: space-between;
}


.room_set h2{
    font-size: 2.8vw;
    font-weight: 300;
    letter-spacing: 0.02em!important;
    line-height: 140%;
	background: url(/tips/vacationrental/img/room_tit_border.png) no-repeat left 3.1vw;
	background-size: 100%;
	margin-bottom: 3px;
}



.room_set .room_title{
   width:55%;
   margin-right: 5vw;
}


.room_set .room_spec dl{
    display: flex;
    margin-bottom: 20px;
    align-items: center;
}

.room_set .room_spec dl dt{
    background-color:rgba(52, 2, 0, 0.07);
    padding: 3px 10px 5px 15px;
    margin-right: 20px;
    width: 140px;
    line-height: 160%;
}

.room_set .room_spec dl dd{
    width: 300px;
    line-height: 160%;
}


a.btn_book{
    display: block;
    background: #541300;
    text-align: center;
    color: #f7ddc9;
    line-height: 120%;
    font-size: 130%;
    padding: 20px 0 16px 0;
    margin-top: 20px;
    transition: all .5s;
    font-weight: 400;
}


a.btn_book:hover{
	background: #8d2313;
}


a.btn_book span{ 
    display: block;
    font-size: 70%;
    color: #eabd98;
    letter-spacing: 0.05em;
}


.tit_sub{
    font-weight: 500;
    display: block;
    font-size: 140%;
    margin-bottom: 3.5vw;
}


/* gallery */
.gallery{
    display: flex;
    justify-content: space-between;
    margin: 0  0 0 10vw;
}

.gallery .slider-t,
.gallery .slider-t3{
    width: 71%;
    margin-left: 0;
}

.gallery .slider-t2,
.gallery .slider-t4{
    width: 71%;
    margin-right: 0;
}


.slick-dots{
    display: none!important;
}

.room_layout{
    border: solid 1px #7d6b65;
    display: block;
    width: 100%;
    text-align: center;
    padding: 20px 0 16px 0;
    box-sizing: border-box;
    line-height: 130%;
    font-size: 130%;
    margin-top: 20px;
	background: url(/tips/vacationrental/img/room_icon.png) no-repeat 20px center;
    transition: all .5s;
}

.room_layout:hover{
    background-color:rgba(52, 2, 0, 0.05);
}



.room_layout span{
    font-size: 70%;
    display: block;
    letter-spacing: 0.05em;
}


.gallery .thumbnail,
.gallery .thumbnail-t2,
.gallery .thumbnail-t3,
.gallery .thumbnail-t4{
    width: 27%;
}

.gallery_cap{
    font-size: 80%;
    margin:0 10px 50px 0;
}



.gallery_cap.left{
    margin:0 0 50px 10px;
}


.gallery_cap.mt_small{
    margin-top: -20px;
}


.thumbnail .slick-track,
.thumbnail-t2 .slick-track,
.thumbnail-t3 .slick-track,
.thumbnail-t4 .slick-track {
  transform: unset !important;
}
.thumbnail-img {
    box-sizing: border-box;
    padding: 0 0.6vw 1.2vw 0.6vw;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity .3s linear;
    width: calc(100% / 2) !important;
}
.thumbnail .slick-current,
.thumbnail-t2 .slick-current,
.thumbnail-t3 .slick-current,
.thumbnail-t4 .slick-current {
  opacity: 1;
}

/* sepc_set */
.sepc_set{
    width: 100%;
    padding: 0 10vw 0 10vw;
    display: flex;
    gap:30px;
    margin-top: 30px;
    box-sizing: border-box;
}

.spec_inner:first-child{
    width: 60%;
}
.spec_inner:last-child{
    width: 40%;
}

.spec_inner .list_set{
    display: flex;
}

.spec_inner h3{
    background-color:rgba(52, 2, 0, 0.07);
    padding: 3px 10px 5px 15px;
    line-height: 160%;
    margin-bottom: 10px;
}

.spec_inner ul{
    margin:0 1.2vw 0 15px;
    line-height: 150%;
}

.spec_inner ul li{
    font-size: 95%;
    margin-bottom: 5px;
}



/* gallery sam_right*/
.gallery.sam_right{
    margin: 0 10vw 0 0;
}


.sam_right div:first-child{
    order: 2;
}


.sam_right div:last-child{
    order: 1;
}


@media only screen and (max-width:768px){
    .room_wrapper{
        padding:25px;
    }

    .room_set{
        margin:0;
        display: block;
    }

    .room_set h2{
        font-size: 160%;
        line-height: 140%;
        background: url(/tips/vacationrental/img/room_tit_border.png) no-repeat left 7vw;
        background-size: 100%;
        margin-bottom: 0;
    }

    .tit_sub{
        font-size: 100%;
        margin-bottom:20px;
    }

    .room_set .room_title{
    width:100%;
    margin-right: 0;
    margin-bottom: 25px;
    }

    .room_set .room_spec dl{
        margin-bottom: 10px;
    }

    .room_set .room_spec dl dt{
        padding: 3px 10px 5px 10px;
        margin-right:15px;
    }

    .room_set .room_spec dl dd{
        width: 300px;
        line-height: 160%;
    }


    a.btn_book{
        line-height: 120%;
        font-size: 120%;
        padding: 15px 0 10px 0;
    }


    .room_layout{
        padding: 10px;
        line-height: 120%;
        font-size: 120%;
    }


    /* gallery */
    .gallery{
        margin: 25px 0 0 0;
    }
    .gallery .thumbnail,
    .gallery .thumbnail-t2,
    .gallery .thumbnail-t3,
    .gallery .thumbnail-t4{
       display: none;
    }

    .gallery .slider-t,
    .gallery .slider-t3{
        width: 100%;
        margin-left: 0;
    }

    .gallery .slider-t2,
    .gallery .slider-t4{
        width:100%;
        margin-right:0;
    }

    .slick-dots{
        display: block!important;
    }

        
    .gallery_cap{
        text-align: center!important;
        margin:40px 0 25px 0;
    }


    .gallery_cap.left{
        text-align: center!important;
        margin:40px 0 25px 0;
    }

    .gallery_cap.right{
        text-align: center!important;
        margin:40px 0 25px 0;
    }


    /* sepc_set */
    .sepc_set{
        padding: 0 0 0 0;
        display: block;
        margin: 0;
    }

    .spec_inner{
        margin-top: 15px;
    }

    .spec_inner:first-child{
        width: 100%;
    }
    .spec_inner:last-child{
        width: 100%;
    }

    .spec_inner .list_set{
        flex-wrap: wrap;
    }


    .spec_inner h3{
        padding: 3px 10px 5px 10px;
        margin-bottom: 10px;
    }

    .spec_inner ul{
        width: 43%;
        margin:0 10px 0 10px;
        line-height: 140%;
    }
    .spec_inner ul li{
        font-size: 90%;
    margin-bottom: 5px;
    }

    .spec_inner.full ul{
        width: 100%;
    }


    /* gallery sam_right*/
    .gallery.sam_right{
        margin: 25px 0 0 0;
    }
}




/******************************************************************
modal
******************************************************************/

.modal {
  display: none;
  position: fixed;
  z-index: 8887;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.7);
  transition: all 1s ease-in-out;
}

.modal-content {
    background: #FFF;
    overflow-y: auto;
    width: 100%;
    padding: 70px;
    max-width: 1000px;
    position: absolute;
    box-sizing: border-box;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: show 0.6s linear 0s;
    filter: drop-shadow(0px 2px 6px #777);
}

.modal-content img {
    width: 100%;
    max-width: 800px;
}


.modal-top {
    display: inline-block;
    position: absolute;
    right: 10px;
    top: 5px;
}
.modal-close {
    color: #000;
    font-size: 1rem;
}
.modal-close:hover, .modal-close:focus {
  text-decoration: none;
  cursor: pointer;
}
.modal-title {
  color: #FFF;
}
@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}



/******************************************************************
plan
******************************************************************/

.plan_set{
    margin: 0 0 0 10vw;
    border-left: 1px solid #390701;
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px;
}

.plan_set h3{
    font-size: 220%;
    font-weight: 400;
    line-height: 130%;
    border-left: 3px solid #390701;
    padding-left: 13px;
}

.plan_set h3 span{
    display: block;
    font-size: 50%;
    letter-spacing: 0.05em;
}

.plan_set .ps_txt{
    width: 50%;
}



.plan_set .ps_txt div{
    margin: 3vw;
    font-size: 100%;
}

.plan_set .ps_txt div p{
    font-weight: 500;
    line-height: 240%;
}

.plan_set .ps_txt div a{
    margin-top: 30px;
    display: inline-block;
    border: solid 1px #7c7169;
    padding: 15px 50px 15px 50px;
    transition: all .5s;
    line-height: 140%;
    text-align: center;
    box-sizing: border-box;
}


.plan_set .ps_txt div a:hover{
	background-color:rgba(52, 2, 0, 0.05);
}

.ps_img{
    width: 50%;
}

.plan_set.isiuchi{
    margin-top: -50px;
}

.plan_set.isiuchi .ps_txt div{
    margin-top:0;
}

.ps_txt h4{
    border-bottom: solid 1px #7c7169;
    font-size: 140%;
    margin-bottom: 7px;
}



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

    .plan_set{
        margin: 0 25px 0 25px;
        display: block;
        padding-bottom: 40px;
    }

    .plan_set .ps_txt{
        width: 100%;
    }

    .ps_img{
        width: 100%;
        margin-top: 25px;
    }

        
    .plan_set h3{
        font-size: 150%;
    }

    .plan_set h3 span{
        font-size: 60%;
    }
    
    .plan_set .ps_txt div{
        margin: 10px 0 0 25px;
        font-size: 100%;
    }

    .plan_set .ps_txt div p{
        line-height: 200%;
    }

    .plan_set .ps_txt div a{
        margin-top: 25px;
        padding: 10px 30px 10px 30px;
        width: 100%;
    }

    .plan_set.isiuchi{
        margin-top: -20px;
    }

    .ps_txt h4{
        font-size: 120%;
    }

}
