@charset "utf-8";
/* CSS Document */
/* reset */
.pc-upper {
    position: relative;
    z-index: 11;
    background-color: #FFF;
}
.follow-btn {
    z-index: 10!important;
}
#content .topic-path {
    position: relative;
    z-index: 10;
}
/* /reset */

/* all */
#hayawari {
    font-family: "A1明朝 R JIS2004 AP", serif;
    color: #222;
    font-size: 16px;
}
#hayawari * { box-sizing: border-box;}
#hayawari img { width: 100%;}
#hayawari picture { display: block;}

#hayawari a {
    opacity: 1;
	transition: opacity .25s ease-in-out;
}
#hayawari a:hover {
    opacity: .65;
    text-decoration: none;
}

#hayawari .br_rsp { display: none;}
#hayawari .br_sp { display: none;}

@media screen and (max-width:700px) {
    #hayawari .br_pc { display: none;}
    #hayawari .br_sp { display: block;}
}
/* /all */

/* header */
#hayawari header {
    width: 100%;
    height: 640px;
    color: #FFF;
    background-image: url(../img/kv_bg_pc.webp);
    background-image: image-set(url(../img/kv_bg_pc.webp) 1x, url(../img/kv_bg_pc@2x.webp) 2x);
    background-image: -webkit-image-set(url(../img/kv_bg_pc.webp) 1x, url(../img/kv_bg_pc@2x.webp) 2x);
    background-size: 100%;
    background-position: center center;
    background-repeat: no-repeat;
}
#hayawari header .kv_bg-mask {
    width: 100%;
    height: 100%;
    background-image: url(../img/kv_bg-mask_pc.webp);
    background-repeat: repeat-x;
    background-size: 100% 100%;
}
#hayawari header h1 {
    width: 678px;
    margin: 0 auto;
    padding-top: 202px;
}
#hayawari header h1 picture {
    width: 100%;
}
@media screen and (max-width:1440px) {
    #hayawari header {
        background-size: 1440px 640px;
    }
}
@media screen and (max-width:700px) {
    #hayawari header {
        height: auto;
        background-image: url(../img/kv_bg_sp.webp);
        background-image: image-set(url(../img/kv_bg_sp.webp) 1x, url(../img/kv_bg_sp.webp) 2x);
        background-image: -webkit-image-set(url(../img/kv_bg_sp.webp) 1x, url(../img/kv_bg_sp.webp) 2x);
        background-size: 100% 100%;
        background-position: center top;
    }
    #hayawari header .kv_bg-mask {
        background-image: none;
    }
    #hayawari header h1 {
        width: 94.4234%;
        padding-top: 30.7%;
        padding-bottom: 31.76%;
    }
}
/* /header */

/* contents-lead */
#hayawari section {
    background-color: #F6F1EF;
    padding-bottom: 38px;
}
#hayawari .contents-lead {
    background-color: #a16a52;
    padding-top: 40px;
    padding-bottom: 62px;
}
#hayawari .contents-lead .lead-wrapper {
    font-size: 17px;
    text-align: center;
    line-height: 2.4;
    color: #FFF;
    padding-bottom: 30px;
}
#hayawari .contents-lead .lead-wrapper span {
    font-size: 22px;
}
#hayawari .hayawari-container {
    width: 600px;
    margin: 0 auto;
    border-radius: 10px;
    background-color: #F0EFEE;
    padding-top: 28px;
    padding-bottom: 26px;
}
#hayawari .hayawari-container table {
    width: 481px;
    margin: 0 auto;
}

#hayawari .hayawari-container table tr th {
    width: 171px;
    height: 35px;
    font-size: 17px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
#hayawari .hayawari-container table tr th::before {
    content: "";
    display: inline-block;
    width: 17px;
    height: 16px;
    background-image: url(../img/icon_subheading.webp);
    background-size: 100%;
    background-repeat: no-repeat;
}
#hayawari .hayawari-container table tr th img {
    width: 84px;
    height: 23px;
    margin-right: 4px;
}

#hayawari .hayawari-container table tr td {
    width: 370px;
    font-size: 17px;
    line-height: 2.1;
    text-align: right;
}
#hayawari .hayawari-container table tr:nth-of-type(1) td span { color: #118795;}
#hayawari .hayawari-container table tr:nth-of-type(2) td span { color: #955111;}
#hayawari .hayawari-container table tr:nth-of-type(3) td span { color: #119523;}

#hayawari .hayawari-wrapper .annotation {
    font-size: 13px;
    line-height: 2.4;
    color: #FFF;
    text-align: center;
    padding-top: 6px;
}
@media screen and (max-width:800px) {
    #hayawari .br_rsp { display: block;}
}

@media screen and (max-width:700px) {
    #hayawari .br_rsp { display: none;}
    #hayawari .contents-lead {
        padding-top: 7.2%;
        padding-bottom: 8.2%;
    }
    #hayawari .contents-lead .lead-wrapper {
        width: 89.3334%;
        margin: 0 auto;
        font-size: 4vw;
        line-height: 2.2;
        padding-bottom: 5.6%;
    }
    #hayawari .contents-lead .lead-wrapper span {
        font-size: 4.8vw;
    }
    #hayawari .hayawari-container {
        width: 89.3334%;
        padding-bottom: 2.5%;
    }
    #hayawari .hayawari-container table {
        width: 88.0598%;
    }
    #hayawari .hayawari-container table tr th {
        width: 49%;
        height: auto;
        font-size: 4vw;
    }
    #hayawari .hayawari-container table tr th::before {
        width: 10%;
        height: 0;
        padding: 4.68% 0;
    }
    #hayawari .hayawari-container table tr th img {
        width: 50%;
        height: auto;
        margin-right: 0;
    }
    #hayawari .hayawari-container table tr td {
        width: 100%;
        display: inline-block;
        font-size: 4vw;
        text-align: left;
        line-height: 2.5;
        margin-bottom: 2.6%;
    }
    #hayawari .hayawari-container {
        padding-top: 6.5%;
    }
    #hayawari .hayawari-wrapper .annotation {
        font-size: 3.2vw;
        padding-top: 5.2%;
    }
}
/* /contents-lead */


/* hotel-list */
#hayawari .hotel-list {
    padding-top: 84px;
    margin-top: 0;
}

#hayawari .hotel-list ul {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0 20px;
}
#hayawari .hotel-list ul li {
    width: 320px;
    margin-right: 20px;
    margin-bottom: 37px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    place-content: start;
}

#hayawari .hotel-list ul li:nth-of-type(3n) {
    margin-right: 0;
}
#hayawari .hotel-list ul li h2 {
    width: 100%;
    font-size: 18px;
    font-style: normal;
    padding-bottom: 6px;
    margin-bottom: 17px;
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
}
#hayawari .hotel-list ul li h2::before {
    content: "";
    display: block;
    width: 17px;
    height: 16px;
    background-image: url(../img/icon_subheading.webp);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-right: 9px;
}
#hayawari .hotel-list ul li h3 {
    font-size: 14px;
    font-style: normal;
    margin-bottom: 17px;
}
#hayawari .hotel-list ul li .swiper {
    margin-bottom: 17px;
    border-radius: 8px;
    width: 100%;
}
#hayawari .swiper-pagination-bullet-active {
    background: #FFF;
}
#hayawari .hotel-list ul li p {
    font-size: 14px;
}
#hayawari .hotel-list ul li .period { padding-bottom: 7px;}
#hayawari .hotel-list ul li .period span { font-size: 13px;}

#hayawari .hotel-list ul li .price {
    padding-bottom: 19px;
}
#hayawari .hotel-list ul li .hotel-caption {
    padding-bottom: 35px;
    line-height: 1.6;
}

#hayawari .hotel-list ul li .btn_plan {
    display: block;
    width: 100%;
    height: 45px;
    margin-bottom: 25px;
    background-color: #FFF;
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    justify-content: right;
    align-items: center;
    position: relative;
}
#hayawari .hotel-list ul li .btn_plan span {
    display: block;
    width: 72%;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    text-align: center;
}

#hayawari .hotel-list ul li .btn_plan::after {
    content: "";
    display: block;
    width: 2.064%;
    height: auto;
    padding: 1.032% 0;
    border-width: 1px 1px 0 0;
    border-style: solid;
    margin-right: 5.4%;
    transform: rotate(45deg);
}

#hayawari .hotel-list ul li .btn_plan.hayawari90 { border: 1px solid #88c3ca;}
#hayawari .hotel-list ul li .btn_plan.hayawari60 { border: 1px solid #caa888;}
#hayawari .hotel-list ul li .btn_plan.hayawari20 { border: 1px solid #88ca91;}

#hayawari .hotel-list ul li .btn_plan.hayawari90 span { color: #118795;}
#hayawari .hotel-list ul li .btn_plan.hayawari60 span { color: #955111;}
#hayawari .hotel-list ul li .btn_plan.hayawari20 span { color: #119523;}

#hayawari .hotel-list ul li .btn_plan.hayawari90::after { border-color: #118795;}
#hayawari .hotel-list ul li .btn_plan.hayawari60::after { border-color: #955111;}
#hayawari .hotel-list ul li .btn_plan.hayawari20::after { border-color: #119523;}

#hayawari .hotel-list ul li .btn_plan img {
    position: absolute;
    top: -17px;
    left: 12px;
    width: 54px;
    height: 54px;
}

@media screen and (max-width:1100px) {
    #hayawari .hotel-list ul { max-width: 660px;}
    #hayawari .hotel-list ul li:nth-of-type(3n) { margin-right: 20px;}
    #hayawari .hotel-list ul li:nth-of-type(2n) { margin-right: 0;}
}

@media screen and (max-width:700px) {
    #hayawari .hotel-list {
        padding-top: 12%;
    }
    #hayawari .hotel-list ul {
        display: block;
        max-width: unset;
    }
    #hayawari .hotel-list ul li {
        width: 89.5%;
        margin: 0 auto;
        padding-bottom: 6.8%;
    }
    #hayawari .hotel-list ul li h2 {
        font-size: 5vw;
        padding-bottom: 4.2%;
        margin-bottom: 0;
    }
    #hayawari .hotel-list ul li h3 {
        font-size: 3.85vw;
        margin-bottom: 5%;
    }
    #hayawari .hotel-list ul li .swiper {
        margin-bottom: 5.2%;
    }
    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: 4%;
    }
    .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 2%;
    }
    .swiper-pagination-bullet {
        width: 3%;
        height: auto;
        padding: 1.5% 0;
    }
    #hayawari .hotel-list ul li p {
        font-size: 3.85vw;
        padding-bottom: 5.4%;
    }
    #hayawari .hotel-list ul li .btn_plan span {
        font-size: 4.1vw;
        font-weight: 400;
    }
    #hayawari .hotel-list ul li:nth-of-type(2n),
    #hayawari .hotel-list ul li:nth-of-type(3n) {
        margin: 0 auto;
    }
    #hayawari .hotel-list ul li .btn_plan {
        height: auto;
        padding: 3.6% 0;
        margin-bottom: 5.4%;
    }
    #hayawari .hotel-list ul,
    #hayawari .hotel-list ul li {
        display: block;
    }
    #hayawari .hotel-list ul li .swiper {
        width: 100%;
    }
    #hayawari .hotel-list ul li h2::before {
        margin-right: 2.4%;
    }
    #hayawari .hotel-list ul li .period { padding-bottom: 4%;}
    #hayawari .hotel-list ul li .period span { font-size: 3.2vw;}

    #hayawari .hotel-list ul li .price {
        padding-bottom: 4.5%;
    }
    #hayawari .hotel-list ul li .hotel-caption {
        padding-bottom: 6.3%;
    }
    #hayawari .hotel-list ul li .btn_plan img {
        top: -21%;
        left: 4.5%;
        width: 15.015%;
        height: auto;
    }
    #hayawari .hotel-list ul li h2::before {
        width: 4.954%;
        height: auto;
        padding: 2.315% 0;
    }
}
/* /contents */