/* 各ホテルメイン&ホテル情報 */
.h2-img{
    width: 100%;
    position: relative;
}
.h2-img .new::before {
    content: "";
    top: 0;
    right: 0;
    position: absolute;
    z-index: 2;
}
.h2-img .new::after {
    content: "New";
    display: block;
    position: absolute;
    top: 8px;
    right: 5px;
    z-index: 2;
    color: #fff;
    font-size: 22px;
    font-family: 'Libre Caslon Display', serif;
    font-weight: lighter;
    -webkit-transform: scale(1, 1.2);
        -ms-transform: scale(1, 1.2);
            transform: scale(1, 1.2);
}
.hotelName {
    position: absolute;
    left: 0px;
    bottom: 0px;
    color: #fff;
    padding: 10px;
}

li.hotelList { margin-bottom: 166px; }

.tour {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
}
.tour .tourPrice {
    color: #f9423a;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: auto;
}
.tour .tourPrice span {
    font-size: 25px;
    font-family: futura-pt-bold, futura-pt, sans-serif;
}
.tour button {
    width: 50%; 
    margin: 0;
}

@media screen and (max-width: 657px){
    li.hotelList { margin-bottom: 86px; }
    .tour { 
        display: block;
        width: 94%;
        margin: 10px auto 0; 
    }
    .tour .tourPrice { font-size: 3.8vw; margin-bottom: 5px; }
    .tour .tourPrice span { font-size: 5.3vw; }
    .tour button { width: 100%; }
}

/* カテゴリタイトル */
#info h3,
h3.h3-spot{
    font-weight: normal;
    color: #807352;
    background-size: auto;
    background-repeat: no-repeat;
    -webkit-margin-before: 0;
            margin-block-start: 0;
}
.h3-map{
    margin: 24px 3% 8px;
    background-image: url(../images/parts/h3-map.png);
}
.h3-room{
    background-image: url(../images/parts/h3-room.png);
}
.h3-spot{
    margin: 24px 3% 0;
    background-image: url(../images/parts/h3-spot.png);
}

/* Google Map */
.map iframe {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

/* お部屋詳細スライド */
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    display: none;
}
.swiper-slide-active,
.swiper-slide-next{
    width: 40px;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.5);
}
.swiper-container,
.swiper-slide,
.swiper-slide-prev,
.swiper-slide-active,
.swiper-slide-next,
.swiper-wrapper{
    width: 100% !important;
    height: 283px !important;
    margin: 0;
}
.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    margin: 0;
    /* Center slide text */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
li .swiper-wrapper .swiper-slide{
    position: relative;
    background-position: center;
    background-size: cover;
}
.swiper-wrapper p {
    text-align: left;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 94%;
    height: 60px;
    padding: 10px 3%;
    margin: 0;
    color: #fff;
    background-color: rgba(0,0,0,0.6);
    font-size: 12px;
    z-index: 2;
}
.swiper-wrapper p span{
    font-weight: bold;
    font-size: 14px;
}

@media all and (-ms-high-contrast: none) {
.swiper-button-prev{
    background-image: url(../images/parts/btn-slider-prev.svg);
    background-size: 25%;
    background-repeat: no-repeat;
    background-position: center;
}
.swiper-button-next {
    background-image: url(../images/parts/btn-slider-next.svg);
    background-size: 25%;
    background-repeat: no-repeat;
    background-position: center;
}
}


/* カテゴリアイコン */
ul#cate{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    margin: 8px 0 8px 16px;
}
ul#cate li{
    width: 50%;
    height: 25px;
    margin: 8px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: unset;
}
ul#cate li p {
    width: 76%;
    margin: auto 2%;
    font-size: 12px;
    color: #F0EDE5;
    line-height: unset;
}
@media all and (-ms-high-contrast: none) {
    ul#cate li p{
        line-height: 36px;
    }
    ul#cate li.cate-beach-pj p,
    ul#cate li.cate-beach-etc p{
        line-height: 18px;
    }
}
ul#cate li svg{
    width: 20%;
    height: 20px;
    margin: auto;
    fill: #F0EDE5;
}


#spot li {
    width: 48%;
    margin: 8px 1%;
}

#spot h3 {
    margin: 0;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    padding: 0;
}
#spot p{
    margin: 0;
}
ul#spot {
    width: 94%;
    margin: 0 3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}


.locationImg {
    width: 100%;
    margin: 0 0 8px 0;
    background-size: cover;
    background-position: center;
}


/* レビュー
.review li {
    margin: 8px 0 0 0;
    padding: 10px 10px 30px;
    background-color: #F0EDE5;
    background-image: url(../images/parts/review.jpg);
    background-repeat: no-repeat;
}
.review h4{
    margin: 0;
    padding: 0 10px;
    font-size: 14px;
    color: #8C7E59;
    font-weight: lighter;
}
.review h4 span{
    font-size: 36px;
    margin-right: 4px;
    font-family: 'Libre Caslon Display', serif;
}
.review hr{
    border-width: 0.5px;
    border-color: #8C7E59;
    border-style: solid;
    margin: 8px;
}
.review li p{
    height: 60px;
    font-size: 14px;
    background-image:url(../images/icon/avatar.svg);
    background-repeat: no-repeat;
    margin: 0;
    padding: 0 0 0 74px;
    letter-spacing: -0.5px;
    color: #8C7E59;
} */
li.other-hotel {
    max-width: 500px;
    margin: 0 auto;
    padding: 24px 3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #fff;
    border-bottom: rgba(255,255,255,0.3) solid 1px;
}
li.other-hotel:last-child {
    border-bottom: none;
}
li.other-hotel .btn-arrow{
    width: 6px;
    height: 6px;
}
/* その他のホテル */
#otherHotel{
    padding: 24px 0;
    overflow: hidden;
    background: -o-linear-gradient(bottom, rgb(51, 51, 51)30%, rgb(77, 70, 78)100%);
    background: -webkit-gradient(linear, left bottom, left top, color-stop(30%, rgb(51, 51, 51)), to(rgb(77, 70, 78)));
    background: linear-gradient(0deg, rgb(51, 51, 51)30%, rgb(77, 70, 78)100%);
}
#otherHotel h2,
#anotherHotel h2 {
    margin: 0 auto;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    background-position: left, right;
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
}

#otherHotel li .other-hotel-img {
    width: 37%;
    margin-right: 3%;
    height: 220px;
    background-size: cover;
}
#otherHotel li .other-hotel-txt{
    position: relative;
    width: 58%;
    height: 220px;
}
#otherHotel h2,
#anotherHotel h2 {
    font-size: 18px;
}
#otherHotel h3 {
    font-size: 18px;
    margin: 0;
}
#otherHotel p {
    font-size: 10px;
    margin: 0;
    font-weight: lighter;
}
#otherHotel p.rank {
    font-size: 12px;
    color: #8C7E59;
    letter-spacing: 3px;
}
#otherHotel .bottom {
    width: 100%;
    position: absolute;
    bottom: 0;
}
#otherHotel .bottom .tourPrice {
    font-weight: bold;
    font-size: 14px;
    margin: 0 auto 5px;
}
#otherHotel .bottom .tourPrice span { font-size: 21px; }

@media screen and (max-width: 657px){
    #otherHotel .bottom .tourPrice { font-size: 2.5vw; }
    #otherHotel .bottom .tourPrice span { font-size: 4vw; }
}

#otherHotel button {
    width: 100%;
    height: 45px;
    font-size: 10px;
    margin: auto;
}
#otherHotel button .btn-arrow {
    position: absolute;
    top: 40%;
    right: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
#otherHotel button p {
    font-size: 12px;
    font-weight: bold;
    margin: auto;
    padding: 4px 0;
}

@media screen and (max-width: 657px){
    #wrapper { padding-top: 55px; margin-top: -55px; }
    .hotelList >div:first-child { padding-top: 55px; margin-top: -55px; }
    #otherHotel {
        padding-top: 79px;
        margin-top: -55px;
        background: linear-gradient(180deg,rgb(255, 255, 255)55px,rgb(77, 70, 78)55px, rgb(51, 51, 51)70% );
    }
    #anotherHotel {
        padding-top: 79px !important;
        margin-top: -55px;
        background: linear-gradient(transparent 55px, #F0EDE5 55px) !important;
    }
}

@media all and (-ms-high-contrast: none) {
    #otherHotel button p {
        padding: 7px 0 0 0;
    }
}
.h2-img{
    height: 200px;
}
.h2-img .new::before {
    border-bottom: 80px solid transparent;
    border-right: 80px solid rgba(0,0,0,1);
}
.h2-img .new::after {
    top: 8px;
    right: 5px;
    font-size: 22px;
}
.hotelName h2 {
    font-size: 18px;
}

.hotelName p {
    font-size: 11px;
}

.hotelName .rank {
    font-size: 18px;
}
.hotelList h3 {
    font-size: 16px;
    padding: 14px 10px;
}  
.h3-txt{
    font-size: 13px;
    padding: 0 10px;
}
#info {
    margin-top: 16px;
}
.map{
    width: 100%;
    padding: 0;
}
.map iframe {
    height: 150px;
}
#info h3,
h3.h3-spot{
    height: 28px;
    font-size: 18px;
}
.room {
    width: 94%;
    padding: 0 3%;
}



.locationImg {
    height: 150px;
}
#spot h3 {
    font-size: 12px;
}
#spot p{
    font-size: 10px;
}
ul.review {
    margin: 16px;
}
.review li {
    height: 160px;
    background-position: center right -80px;
    background-size: cover;
    padding: 10px;
}
@media screen and (max-width: 374px){
    .swiper-wrapper p {
        font-size: 11px;
    }
}

@media screen and (min-width: 768px){
.h2-img{
    width: 104%;
    height: 350px;
    margin: 0 -2%;
}
.h2-img .new::before {
    border-bottom: 130px solid transparent;
    border-right: 130px solid rgba(0,0,0,1);
}
.h2-img .new::after {
    top: 12px;
    right: 6px;
    font-size: 36px;
    
}
.hotelName{
    padding: 24px;
}
.hotelName h2 {
    font-size: 28px;
}
.hotelName p {
    font-size: 16px;
    margin: 0 0 4px 0;
}
.hotelName .rank {
    font-size: 24px;
}
.hotelName .add,
.hotelName .open{
    font-size: 15px;
}
.hotelList h3 {
    font-size: 24px;
    padding: 48px 16px 0;
}
.h3-txt{
    font-size: 16px;
    padding: 0 16px;
}
#info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 24px;
}
#info h3,
h3.h3-spot{
    height: 42px;
    margin: 0 0 8px 8px;
    padding: 16px 16px 0;
    font-size: 18px;
}
.map {
    width: 34%;
    margin: 0 1% 0 0;
}
.map iframe {
    height: 410px;
}
.room{
    width: 65%;
    padding: 0;
}
.swiper-wrapper p {
    font-size: 14px;
    height: 70px;
}
.swiper-wrapper p span{
    font-size: 18px;
}
ul#cate li{
    width: 33%;
    height: 25px;
}
ul#cate li svg{
    height: 30px;
}
ul#spot {
    width: 100%;
}
#spot li {
    width: 23%;
}
#spot h3 {
    font-size: 16px;
}
#spot p{
    font-size: 13px;
}
.review{
    margin: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.review li {
    width: 45%;
    margin: 8px 1%;
    background-position: center;
    background-size: cover;
}
#otherHotel,
#anotherHotel {
    width: 100%;
    margin: 0;
    padding: 50px 0;
}
#otherHotel ul{
    max-width: 960px;
    margin: 0 auto;
}
#otherHotel h2,
#anotherHotel h2 {
    max-width: 960px;
    font-size: 36px;
}
#otherHotel p {
    font-size: 15px;
}
#otherHotel button {
    font-size: 13px;
}
}

@media screen and (min-width: 961px){
.h2-img{
    width: 100%;
    margin: 0;
}
ul#cate li{
    width: 25%;
    height: 30px;
}
.map iframe {
    height: 385px;
}
}