.btn-back {
    padding-top: 16px;
}
.btn-back a  {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
}
.btn-back a .icon {
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn-back a .icon::before {
    content: "";
    mask: url(/stcontents/img/sub-page/hotels/catalog/icon-arrow-left.svg) no-repeat center center / contain;
    -webkit-mask: url(/stcontents/img/sub-page/hotels/catalog/icon-arrow-left.svg) no-repeat center center / contain;
    background: #0f0a64;
    display: inline-block;
    width: 100%;
    height: 12px;
}

.catalog {
    padding: 24px 0;
}

.catalog-title {
    font-size: 3.2rem;
    font-weight: 300;
}

.catalog-area {
    width: max-content;
}
.catalog-region {
    display: grid;
    grid-template-columns: 116px max-content;
    align-items: start;
    width: 100%;
    border-bottom: 1px solid #ccc !important;
    padding: 8px 0;
}
.catalog-region:last-child {
    border-bottom: none !important;
}
.catalog-region > dt, dd {
    margin-top: 6px;
    font-size: 1.6rem;
}

@media (max-width: 767px) {
    .catalog-area {
        width: auto;
    }
    .catalog-region {
        display: block;
    }
}

.prefecture-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: 40px;
}
.prefecture-list > li {
    margin-bottom: 8px;
}
.prefecture-list > li:not(:last-child) {
    margin-right: 16px;
}
.prefecture-list > li > a {
    color: #0f0a64;
}

@media (max-width: 767px) {
    .prefecture-list {
        margin-right: 0px;
    }
}

.catalog-hotel {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}
.catalog-hotel a {
    display: block;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .catalog-hotel {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
    }
}

.root-main-foot {
    background: #fff;
}
