:root {
    --color-blue-steel: #6a8ac1;
    --color-blue-steel-rgb: 106, 138, 193;
    --color-blue-sky: #8ea8d5;
    --color-blue-sky-rgb: 142, 168, 213;
    --color-blue-pale: #b8caea;
    --color-blue-pale-rgb: 184, 202, 234;
    --color-purple-vivid: #9f00b8;
    --color-purple-vivid-rgb: 159, 0, 184;
    --color-gray-mid: #707070;
    --color-gray-mid-rgb: 112, 112, 112;
    --color-gray-light: #d9d9d9;
    --color-gray-light-rgb: 217, 217, 217;
    --color-gray-lighter: #e5e5e5;
    --color-gray-lighter-rgb: 229, 229, 229;
    --color-gray-offwhite: #f5f5f5;
    --color-gray-offwhite-rgb: 245, 245, 245;
    --color-gray-verylight: #f8f8f8;
    --color-gray-verylight-rgb: 248, 248, 248;
    --color-red-soft: #e37979;
    --color-red-soft-rgb: 227, 121, 121;
    --color-pink-pastel: #f2cdcd;
    --color-pink-pastel-rgb: 242, 205, 205;
    --color-pink-pale: #e59e9e;
    --color-pink-pale-rgb: 229, 158, 158;
    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
}

img {
    height: auto;
}

.page-head {
    align-items: center;
    background-image: url(../../img/common/bg-subhead.webp);
    background-position: top 16vw left -7vw;
    background-repeat: no-repeat;
    background-size: 120% auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: stretch;
    padding: 24.358974359vw 5.1282051282vw 8.9743589744vw 5.1282051282vw;
    position: relative;
    text-align: center;
}

@media (min-width: 769px) {
    .page-head {
        background-position: top center;
        background-size: 100% auto;
        padding: 15.2777777778vw 0 5.5555555556vw;
    }
}

.page-head-container {
    width: 100%;
}

.page-head__subtitle {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    line-height: 1.4;
    margin-bottom: 3.0769230769vw;
}

@media (min-width: 769px) {
    .page-head__subtitle {
        font-size: 2.25rem;
        margin-bottom: 0.6944444444vw;
    }
}

.page-head__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0;
}

@media (min-width: 769px) {
    .page-head__title {
        font-size: 3rem;
        line-height: 1.4;
    }
}

.page-head__menu {
    align-items: center;
    background-color: #ffffff;
    border-radius: 2.5641025641vw;
    box-shadow: 0px 0px 2.5641025641vw 0px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-flow: row nowrap;
    gap: 2.0512820513vw;
    justify-content: space-between;
    margin: 0 auto;
    padding: 5.1282051282vw 5.1282051282vw 6.4102564103vw;
}

@media (min-width: 769px) {
    .page-head__menu {
        border-radius: 0.9722222222vw;
        box-shadow: 0px 0px 0.6944444444vw 0px rgba(0, 0, 0, 0.15);
        gap: 0.8333333333vw;
        padding: 3.125vw 5.5555555556vw 3.125vw;
        width: 47.2222222222vw;
    }
}

.page-head__menu__item a {
    border-bottom: 0.2564102564vw solid var(--color-gray-mid);
    color: inherit;
    display: block;
    font-family: var(--ff-tsukushi-b);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin: 0;
    padding: 1.0256410256vw 4.6153846154vw 1.0256410256vw 0;
    position: relative;
    white-space: nowrap;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .page-head__menu__item a {
        border-bottom: 0.1388888889vw solid var(--color-gray-mid);
        font-size: 1.5rem;
        letter-spacing: 0.1em;
        line-height: 1.5;
        padding: 0 2.0833333333vw 0 0;
        white-space: normal;
        width: auto;
    }
}

.page-head__menu__item a:after {
    background-image: url(../images/icons/icon-gray-circle-arrow-bottom.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: block;
    height: 3.5897435897vw;
    left: auto;
    margin: auto 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.5897435897vw;
}

@media (min-width: 769px) {
    .page-head__menu__item a:after {
        height: 1.5972222222vw;
        width: 1.5972222222vw;
    }
}

@media (min-width: 769px) {
    .page-head:has(.page-head__menu) {
        padding-bottom: 4.1666666667vw;
    }
}

.page-head:has(.page-head__menu) .page-head__title {
    margin: 0 0 10.2564102564vw;
}

@media (min-width: 769px) {
    .page-head:has(.page-head__menu) .page-head__title {
        margin: 0 0 2.7777777778vw;
    }
}

@media (min-width: 769px) {
    .page-head:has(.page-head__menu) .page-head__menu {
        padding-bottom: 2.7777777778vw;
        padding-top: 2.7777777778vw;
    }
}

.list {
    padding: 15.3846153846vw 0;
}

@media (min-width: 769px) {
    .list {
        padding: 5.5555555556vw 0;
    }
}

.list-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .list-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.list__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .list__title {
        margin: 0 0 4.1666666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.list__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .list__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.list__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .list__title__ja {
        font-size: 3rem;
    }
}

.list__title__en {
    color: var(--color-blue-sky);
    display: none;
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .list__title__en {
        font-size: 1.1666666667rem;
    }
}

.list__item {
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    padding: 10.2564102564vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .list__item {
        border-radius: 2.7777777778vw;
        padding: 3.125vw 7.2916666667vw;
    }
}

.list__item__head {
    margin: 0 0 10.2564102564vw;
    padding: 0;
    position: relative;
}

@media (min-width: 769px) {
    .list__item__head {
        margin: 0 0 2.0833333333vw;
        padding: 0 4.1666666667vw;
    }
}

.list__item__head__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 3.0769230769vw;
    text-align: center;
}

@media (min-width: 769px) {
    .list__item__head__title {
        font-size: 2.5rem;
        margin: 0;
    }
}

.list__item__head__title__area {
    display: block;
    letter-spacing: 0.02em;
}

@media (min-width: 769px) {
    .list__item__head__title__area {
        display: inline;
    }
}

.list__item__head__title__name {
    display: block;
    font-weight: 1.125rem;
    letter-spacing: 0.02em;
}

@media (min-width: 769px) {
    .list__item__head__title__name {
        display: inline;
        font-weight: 1.8333333333rem;
    }
}

.list__item__head__room {
    border: 1px solid var(--color-gray-mid);
    border-radius: 1.0256410256vw;
    color: var(--color-gray-mid);
    display: block;
    font-family: var(--ff-koburina-w6);
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0 auto;
    padding: 1.0256410256vw 2.0512820513vw;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .list__item__head__room {
        border-radius: 0.2777777778vw;
        font-size: 1.1666666667rem;
        margin: 0;
        padding: 0.2777777778vw 0.5555555556vw;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
}

.list__item__fig {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 3.0769230769vw;
    justify-content: center;
    margin: 0 0 5.1282051282vw;
}

@media (min-width: 769px) {
    .list__item__fig {
        flex-wrap: nowrap;
        gap: 2.0833333333vw;
        margin: 0 0 2.0833333333vw;
    }
}

.list__item__fig__item {
    flex: 0 0 calc(50% - 1.53846vw);
}

@media (min-width: 769px) {
    .list__item__fig__item {
        flex: 0 0 calc(50% - 1.04167vw);
    }
}

.list__item__fig__item img {
    border-radius: 2.5641025641vw;
    width: 100%;
}

@media (min-width: 769px) {
    .list__item__fig__item img {
        border-radius: 1.3888888889vw;
    }
}

.list__item__empty {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    padding: 7.6923076923vw 0;
    text-align: center;
}

@media (min-width: 769px) {
    .list__item__empty {
        font-size: 1.8333333333rem;
        padding: 2.7777777778vw 0;
    }
}

.list__item__main {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 5.1282051282vw;
    justify-content: center;
    margin: 0 auto;
}

@media (min-width: 769px) {
    .list__item__main {
        flex-wrap: nowrap;
        gap: 2.7777777778vw;
    }
}

.list__item__main__info {
    flex: 0 0 100%;
}

@media (min-width: 769px) {
    .list__item__main__info {
        flex: 0 0 calc(50% - 1.38889vw);
    }
}

.list__item__main__info__access__content p {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 1.5em;
    text-align: center;
}

@media (min-width: 769px) {
    .list__item__main__info__access__content p {
        font-size: 1.3333333333rem;
    }
}

.list__item__main__info__access__content p:last-child {
    margin-bottom: 0;
}

.list__item__main__info__contact__tel {
    text-align: center;
}

.list__item__main__info__contact__tel a {
    color: inherit;
    font-size: 0.875rem;
    line-height: 1.6;
    text-decoration: none;
}

@media (min-width: 769px) {
    .list__item__main__info__contact__tel a {
        font-size: 1.3333333333rem;
    }
}

.list__item__main__action {
    flex: 0 0 100%;
}

@media (min-width: 769px) {
    .list__item__main__action {
        flex: 0 0 calc(50% - 1.38889vw);
    }
}

.list__item__main__action a {
    align-items: center;
    border: 1px solid var(--color-gray-mid);
    border-radius: 7.6923076923vw;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 400;
    height: 13.8461538462vw;
    justify-content: center;
    margin: 0 auto;
    min-width: 61.5384615385vw;
    padding: 0 11.5384615385vw;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .list__item__main__action a {
        border-radius: 2.0833333333vw;
        font-size: 1.6666666667rem;
        height: 4.1666666667vw;
        min-width: 20.4861111111vw;
        padding: 0 3.125vw;
    }
}

.list__item__main__action a:after {
    background-color: var(--color-gray-mid);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    margin: auto;
    -webkit-mask-image: url(../../img/common/icon-arrow-gray.png);
    mask-image: url(../../img/common/icon-arrow-gray.png);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 5.1282051282vw;
    top: 0;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .list__item__main__action a:after {
        height: 1.3888888889vw;
        right: 1.3888888889vw;
        width: 1.3888888889vw;
    }
}

.list:nth-child(odd) {
    background-color: var(--color-gray-verylight);
}

.list:nth-child(even) .list__item {
    background-color: var(--color-gray-verylight);
}