@charset "utf-8";
/* CSS Document */

/* custom properties */
:root {
	--color-accent: #19304E;
    --color-btn: #19304E;
    --color-text_light: #ffffff;
	--color-text_dark: #222222;
	--color-bg_white: #ffffff;
	--color-bg_light: #f9f8f4;
	--color-bg_dark: #f2f1e9;

    --kv-width: 1440px;
    --kv-height: 500px;
}
/* /custom properties */

/* reset */
#content * {
	box-sizing: border-box;
}

#content figure,
#content picture {
	display: block;
}

#content img {
	width: 100%;
}
/* /reset */

/* all */
#page a {
    opacity: 1;
	transition: opacity .25s ease-in-out;
    text-decoration: none;
}
#page a:hover {
    opacity: .65;
    text-decoration: none;
}
.member #content {
    padding-bottom: 0!important;
}
.sp-only {
    display: none;
}
@media only screen and (max-width: 700px){
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}
/* /all */

/* contents */
#main-cont {
    color: var(--color-text_dark);
    background-color: #eceae1;
    font-family: yu-gothic-pr6n, sans-serif;
    padding-top: 113px;
}
.visitor #main-cont {
    padding-top: 53px;
}
#main-cont h1 {
    font-family: "Shippori Mincho", serif;
    font-size: 28px;
    text-align: center;
    line-height: 1.4;
    padding-bottom: 57px;
}
#main-cont .bnr-area {
    width: 600px;
    margin-inline: auto;
    margin-bottom: 64px;
}
#main-cont .bestrate {
    width: fit-content;
    padding-top: 10px;
    margin-inline: auto 0;
}
#main-cont .bestrate::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #746850;
    margin-top: 1px;
}
#main-cont .bestrate a {
    width: fit-content;
    position: relative;
    padding-right: 13px;
    font-size: 12px;
    color: #746850;
    text-decoration: none;
}
#main-cont .bestrate a::after {
    content: "";
    display: block;
    width: 10px;
    height: 7px;
    background-image: url(../../../common/img/hotel/icon_vector_brown.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 3px;
    right: 0px;
}
#main-cont .plan-wrapper {
    padding-block: 64px 77px;
    background-color: #f2f1e9;
}
#main-cont .osusume {
    max-width: 1180px;
    margin-inline: auto;
    background-color: rgb(255 255 255 / .5);
    padding-block: 47px 55px;
}
#main-cont .subheading {
    font-family: "Shippori Mincho", serif;
    color: var(--color-accent);
    font-size: 24px;
    text-align: center;
    line-height: 1.4;
    padding-bottom: 40px;
    position: relative;
    z-index: 1;
}
#main-cont .subheading::after {
    content: "";
    display: block;
    width: 185px;
    height: 85px;
    background-image: url(../../../common/img/hotel/decoration_blue.webp);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -9px;
    left: 0;
    right: 0;
    margin-inline: auto;
    z-index: -1;
}
#main-cont .plan-item {
    max-width: 968px;
    padding-inline: 24px;
    margin-inline: auto;
    display: flex;
    justify-content: space-around;
    gap: 20px;
}
#main-cont .img-box {
    width: 360px;
    height: 331px;
    flex-shrink: 0;
    padding-top: 9px;
}
#main-cont .basic {
    max-width: 1180px;
    margin-inline: auto;
    padding-block: 55px 64px;
}
#main-cont .text-box {
    max-width: 520px;
}
#main-cont .minor-heading {
    font-family: "Shippori Mincho", serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}
#main-cont .minor-heading::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-accent);
    margin-block: 4px 18px;
}
#main-cont .minor-heading small {
    font-size: 15px;
}
#main-cont .text-box p {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.6;
    padding-bottom: 18px;
}
#main-cont .text-box ul {
    padding: 12px 20px 9px;
    background-color: #f2f1e9;
}
#main-cont .basic .text-box ul {
    background-color: rgb(255 255 255 / .5);
}
#main-cont .text-box li {
    font-size: 13px;
    line-height: 1.6;
}
#main-cont .btn-wrapper {
    padding-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}
#main-cont a.btn_reserve {
    width: 255px;
    height: 50px;
    background-color: var(--color-btn);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    text-align: center;
    color: var(--color-text_light);
    text-decoration: none;
}
#main-cont a.btn_reserve::after {
    content: "";
    display: block;
    width: 11px;
    height: 8px;
    background-image: url(../../../common/img/hotel/icon_vector_white.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 45%;
    right: 3.2%;
}
#main-cont a.btn_reserve small {
    font-size: 12px;
    display: block;
}

#main-cont .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: var(--color-text_dark);
}
#main-cont .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
#main-cont .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px;
}
#main-cont .swiper-horizontal>.swiper-pagination-bullets,
#main-cont .swiper-pagination-bullets.swiper-pagination-horizontal,
#main-cont .swiper-pagination-custom,
#main-cont .swiper-pagination-fraction {
    bottom: 20px;
}

#main-cont .other-plans {
    max-width: 1180px;
    margin-inline: auto;
    background-color: #eceae1;
    padding-block: 40px 34px;
}
#main-cont .other-plans ul {
    max-width: 910px;
    margin-inline: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 31px;
}
#main-cont .other-plans li {
    width: 220px;
    height: 50px;
}
#main-cont .other-plans li a {
    display: block;
    width: 100%;
    height: 100%;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #746850;
    border: 1px solid currentColor;
    background-color: rgb(255 255 255 / .85);
    text-decoration: none;
    position: relative;
    padding-right: 8px;
    text-align: center;
}
#main-cont .other-plans li a::after {
    content: "";
    display: block;
    width: 11px;
    height: 8px;
    background-image: url(../../../common/img/hotel/icon_vector_brown.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 19px;
    right: 4.5%;
}
#main-cont .other-plans a.all-plans {
    display: block;
    width: 184px;
    margin-inline: auto;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    color: #746850;
    text-decoration: none;
    position: relative;
    border-bottom: 1px solid var(--color-accent);
    padding-left: 17px;
}
#main-cont .other-plans a.all-plans::after {
    content: "";
    display: block;
    width: 11px;
    height: 8px;
    background-image: url(../../../common/img/hotel/icon_vector_brown.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 32%;
    right: 7.5%;
}
@media only screen and (max-width: 1024px){
    #main-cont {
        padding-top: 55px;
    }
    #main-cont .other-plans ul {
        max-width: 680px;
    }
}
@media only screen and (max-width: 700px){
    #main-cont {
        padding-top: 10%;
    }
    .visitor #main-cont {
        padding-block: 12%;
    }
    .visitor #content {
        padding-bottom: 10%;
        background-color: #eceae1;
    }
    #main-cont h1 {
        font-size: max(24px, var(--sp-fs24));
        padding-bottom: 11%;
    }
    #main-cont .plan-wrapper {
        padding-block: 8.7% 15%;
    }
    .visitor #main-cont .plan-wrapper {
        padding-block: 8.7% 0;
    }
    #main-cont .bestrate {
        width: 38%;
        padding-top: 2.7%;
    }
    #main-cont .bestrate a {
        display: block;
        width: 100%;
        padding-right: 10%;
        font-size: max(11px, var(--sp-fs11));
        white-space: nowrap;
    }
    #main-cont .bestrate a::after {
        width: 8.14%;
        height: auto;
        aspect-ratio: 1 / .7;
        top: 29%;
    }
    #main-cont .bnr-area {
        width: 87.203%;
        margin-bottom: 8.3%;
    }
    #main-cont .subheading {
        font-size: max(22px, var(--sp-fs22));
        padding-bottom: 4.4%;
    }
    #main-cont .subheading::after {
        width: 42%;
        height: auto;
        aspect-ratio: 1 / 0.4544;
        top: -15%;
    }
    #main-cont .osusume {
        padding-block: 8.5% 10.5%;
    }
    #main-cont .plan-item {
        max-width: 87.203%;
        padding-inline: unset;
        flex-direction: column;
        gap: 0;
    }
    #main-cont .img-box {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 0.85;
        padding-top: 2.7%;
    }
    #main-cont .swiper-horizontal>.swiper-pagination-bullets,
    #main-cont .swiper-pagination-bullets.swiper-pagination-horizontal,
    #main-cont .swiper-pagination-custom,
    #main-cont .swiper-pagination-fraction {
        bottom: -1%;
    }
    #main-cont .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    #main-cont .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 1.53%;
    }
    #main-cont .swiper-pagination-bullet {
        width: 1.835%;
        height: auto;
        aspect-ratio: 1;
    }
    #main-cont .minor-heading {
        font-size: max(17px, var(--sp-fs17));
    }
    #main-cont .minor-heading small {
        font-size: max(13px, var(--sp-fs13));
    }
    #main-cont .text-box {
        max-width: 100%;
        padding-top: 4%;
    }
    #main-cont .minor-heading::after {
        margin-block: 3% 4.3%;
    }
    #main-cont .text-box p {
        font-size: max(14px, var(--sp-fs14));
        padding-bottom: 4%;
    }
    #main-cont .text-box li {
        font-size: max(12px, var(--sp-fs12));
        line-height: 1.5;
    }
    #main-cont .text-box ul {
        padding: 2.5% 4.3%;
    }
    #main-cont .btn-wrapper {
        padding-top: 6.3%;
    }
    #main-cont a.btn_reserve {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 0.153;
        font-size: var(--sp-fs14);
    }
    #main-cont a.btn_reserve small {
        font-size: var(--sp-fs12);
    }
    #main-cont a.btn_reserve::after {
        width: 3%;
        height: auto;
        aspect-ratio: 1 / 0.7;
        top: 42%;
        right: 5%;
    }
    #main-cont .basic {
        padding-block: 10.5% 11%;
    }
    #main-cont .basic a.btn_reserve {
        width: 48.93%;
        aspect-ratio: 1 / 0.3125;
        margin-bottom: 2.3%;
    }
    #main-cont .basic .btn-wrapper {
        gap: 0;
        justify-content: space-between;
    }
    #main-cont .basic a.btn_reserve::after {
        width: 5.5%;
    }
    #main-cont .other-plans {
        padding-block: 8.3% 8.5%;
    }
    #main-cont .other-plans ul {
        max-width: 87.203%;
        margin-inline: auto;
        justify-content: space-between;
        gap: 0;
        padding-bottom: 4%;
    }
    #main-cont .other-plans li {
        width: 48.93%;
        height: auto;
        aspect-ratio: 1 / 0.3125;
        margin-bottom: 3%;
    }
    #main-cont .other-plans li a {
        font-size: max(13px, var(--sp-fs13));
        padding-right: 0;
    }
    #main-cont .other-plans li a::after {
        width: 5%;
        height: auto;
        aspect-ratio: 1 / 0.7;
        top: 42%;
    }
    #main-cont .other-plans a.all-plans {
        width: 41.71%;
        font-size: max(13px, var(--sp-fs13));
        padding-left: 3.3%;
    }
    #main-cont .other-plans a.all-plans::after {
        width: 5%;
        height: auto;
        aspect-ratio: 1 / 0.7;
        top: 37%;
    }
}
/* /#main-cont */