@charset "utf-8";

/* 共通 */
.smb-section__title {
    color: #002842;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

.smb-section__subtitle {
    color: #978161;
    margin-bottom: 0;
}

.content-form fieldset {
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.content-form legend {
    padding: 0 0 5px !important;
}

.content-form table {
    border-top: 1px solid #dddddd !important;
    border-left: 1px solid #dddddd !important;
    border-spacing: 0px !important;
    width: 100% !important;
}

.content-form th, .content-form td {
    padding: 10px !important;
}

@media screen and (max-width: 639px) {
    .content-form th, .content-form td {
        display: block !important;
    }
}

.content-form th {
    background-color: #f7f7f7;
}

@media screen and (max-width: 639px) {
    .content-form th {
        width: 100% !important;
        text-align: left !important;
    }
}

.content-form td {
    text-align: left;
}

.content-form td input, .content-form td textarea {
    border: 1px solid #dddddd !important;
    border-radius: 0;
}

@media screen and (max-width: 639px) {
    .content-form td .content-text.medium {
        /* width: 100% !important; */
    }
}

.content-form td .content-text.fat {
    width: 100% !important;
}

.reserve .mtssb-daily-action button,
.booking-form .content-form button,
.contact .content-form button,
.subscription.button,
.mtssb-register .content-form input[type="submit"],
.mtssb-register .content-form button,
.member-login .button.button-primary {
    background-color: var(--accent-color,#cd162c);
    border: none;
    border-radius: 0;
    color: var(--_color-white,#fff);
    cursor: pointer;
    display: inline-block;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
    line-height: 1.5;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 0.63rem 2.25rem;
    padding: calc(var(--_space, 1.8rem)*.35) calc(var(--_space, 1.8rem)*1.25);
    text-align: center;
    text-decoration: none;
    transition: all var(--_transition-duration,.2s) var(--_transition-function-timing,ease-out);
    vertical-align: middle;
    white-space: nowrap;
    font-weight: 700;
}

#mts-postcode-button {
    margin-bottom: 3px;
    padding-top: calc(var(--_space, 1.8rem)*.27);
    padding-bottom: calc(var(--_space, 1.8rem)*.27);
    vertical-align: top;
}

#user-postcode {
    width: 48%;
}

.content-form td .input-number {
    display: inline-block;
    float: none !important;
    margin-right: 0 !important;
}

.content-form .required,
.form-message.error,
.content-form .error-message {
    color: #b15a5e !important;
}

.content-form .form-message.error {
    border: 1px solid #b15a5e !important;
}

.content-form .form-message {
    width: 100% !important;
    border-radius: 0 !important;
}

.list-monthly-calendar, .mix-calendar, .list-calendar, .timetbale-calendar, .multiple-calendar, .monthly-calendar,
.day-calendar {
    font-family: inherit !important;
}

.is-style-sme-list-arrow li:before {
    border-color: #978161 !important;
}

.is-style-sme-list-arrow li:after {
    border-color: #978161 !important;
}

.is-style-sme-alert, .is-style-sme-alert-remark, .is-style-sme-alert-success, .is-style-sme-alert-warning {
    border-radius: 0 !important;
}

@media screen and (min-width: 640px) {
    .reserve .c-page-header__bgimage>picture>img,
    .booking-form .c-page-header__bgimage>picture>img,
    .booking-thanks .c-page-header__bgimage>picture>img,
    .subscription .c-page-header__bgimage>picture>img {
        -o-object-position: 50% 37%;
        object-position: 50% 37%;
    }
}

/* ヘッダー */
.c-site-branding__title {
    font-size: .875rem;
}

@media screen and (min-width: 640px) {
    .c-site-branding__title {
        font-size: 1.25rem;
    }
}

.c-site-branding__title a {
    display: inline-block;
    padding: 2px 0 2px 65px;
    background-image: url(/wp/wp-content/uploads/2022/07/logo.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 28px;
}

@media screen and (min-width: 640px) {
    .c-site-branding__title a {
        padding: 4px 0 4px 90px;
        background-size: auto 39px;
    }
}

.header-utility {
    display: flex;
    list-style-type: none;
}

@media screen and (max-width: 839px) {
    .header-utility {
        display: none;
    }
}

.header-utility__item:not(:first-child) {
    margin-left: calc(var(--_space, 1.8rem) * .5 * var(--_margin-scale, 1));
}

.header-reserve-btn {
    font-weight: 700;
}

/* ドロワー */
.c-drawer {
    background-color: rgba(255,255,255,0.95);
}

.c-drawer[aria-hidden="false"] {
    box-shadow: 6px 0 35px rgb(0 0 0 / 10%);
}

.drawer-btn-list {
    margin-top: 1em;
    padding-left: 0;
}

.drawer-btn-item:not(:first-child) {
    margin-top: 10px;
}

.c-drawer a {
    color: #333;
    font-weight: 700;
}

.c-drawer .drawer-btn-link {
    color: #fff;
}

/* パンくずリスト */
.c-breadcrumbs {
    font-size: .875rem;
}

/* トップ */
.top-mv {
    padding-top: 0;
    padding-bottom: 0;
}

.top-mv-sp {
    position: relative;
}

.top-mv-sp::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp/wp-content/uploads/2022/07/img_top_mv_txt_sp.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 310px auto;
    pointer-events: none;
    z-index: 2;
}

.top-mv-pc {
    position: relative;
    margin-top: 0 !important;
}

.top-mv-pc::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp/wp-content/uploads/2022/07/img_top_mv_txt_pc.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: calc( (700 / 1920) * 100% ) auto;
    pointer-events: none;
    z-index: 2;
}

@media screen and (min-width: 1921px) {
    .top-mv-pc::before {
        background-size: 700px auto;
    }
}
@media screen and (min-width: 1921px) {
    .top-mv-pc .spider__figure {
        height: 768px;
        object-fit: cover;
    }
}

.smb-information__item__label {
    font-weight: 700;
}

.top-feature .smb-media-text__figure {
    max-width: 226px;
    margin: 0 auto;

}

@media (hover: hover) and (pointer: fine){
    .top-facilities .smb-panels__item:active, .top-facilities .smb-panels__item:focus, .top-facilities .smb-panels__item:hover {
        box-shadow: 0 0 35px 0 rgb(0 0 0 / 10%);
    }
}

.top-trainer .smb-items__item--free>.smb-items__item__body>h3 {
    padding-bottom: 0;
    border-bottom: none;
}

@media screen and (min-width: 1024px) {
    .top-trainer__box > .c-row {
        flex-direction: row-reverse;
    }
}

.top-price .smb-items__item--free > .smb-items__item__body>h3 {
    padding-bottom: 0;
    border-bottom: none;
}

.top-price .smb-price-menu__item__title {
    font-weight: 700;
}


@media screen and (min-width: 640px) {
    .top-store .smb-information__body>:not(:first-child) {
        margin-top: 5px;
    }
}

@media screen and (max-width: 639px) {
    .top-store .smb-information:not([data-sm-split-column=true]) .smb-information__item__body {
        margin-top: 0;

    }
}

.top-map {
    padding-top: 0;
    padding-bottom: 0;
}

.top-map .googlemap {
    position: relative;
    padding-bottom: 300px;
    height: 0;
    overflow: hidden;
}

@media screen and (min-width: 1024px) {
    .top-map .googlemap {
        padding-bottom: 500px;
    }
}

.top-map .googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* フッター */
#page-top {
    right: 10px;
}

.c-page-top {
    border-radius: 50%;
}

.l-footer {
    border-top: none;
}

.c-copyright {
    font-size: .625rem;
}

@media screen and (min-width: 640px) {
    .c-copyright {
        font-size: .75rem;
    }
}

/* 固定ページ */
.c-page-header[data-has-image=true] {
    height: 300px;
}

.c-page-header__title {
    display: inline-block;
    padding: 16px;
    color: #002842;
    background-color: rgba(255,255,255,0.7)
}

@media screen and (min-width: 640px) {
    .c-page-header__title {
        font-size: 2.0rem;
    }
}

/* Web予約 */
.reserve .monthly-calendar table {
    width: 100%;
}

.day-calendar table.mtssb-timetable-link {
    width: 100%;
}

.reserve .day-box.today {
    /* background-color: #e7ecf5; */
    background-color: #eee9e3;
}

a.calendar-daylink:before {
    content:'残り\A';
    white-space: pre;
}

@media screen and (min-width: 640px) {
    a.calendar-daylink:before {
        content:'残り';
        white-space: normal;
    }
}

a.booking-timelink:before {
    content:'残り';
}

a.calendar-daylink:after,
a.booking-timelink:after {
    content:'席';
}

.reserve .calendar-time-mark {
    font-size: .75rem;
}

@media screen and (min-width: 640px) {
    .reserve .calendar-time-mark {
        font-size: inherit;
    }
}

.reserve .calendar-mark {
    font-size: 1rem;
}

@media screen and (min-width: 640px) {
    .reserve .calendar-mark {
        font-size: inherit;
    }
}

.reserve .calendar-mark.booked:after {
    content: "人";
}

.reserve .mtssb-daily-action {
    margin-top: 1.5rem;
}

.reserve .schedule-note {
    font-size: .75rem;
}

.reserve .monthly-calendar td.day-box {
    vertical-align: top;
}

.reserve td.day-right {
    font-size: 1rem;
}

.reserve .day-box.no-day {
    background-color: transparent;
}

/* Web予約フォーム */
@media screen and (max-width: 639px) {
    .booking-form .content-form td  .booking-seimei {
        width: auto;
    }
}

@media screen and (max-width: 639px) {
    .booking-form .content-form td .content-text.small-medium {
        width: 100%;
    }
}

/* Web予約の確認 */
.subscription .option-confirm-header,
.subscription #confirmation-booking-message-title td {
    font-weight: 700;
    text-align: center;
}

@media screen and (min-width: 640px) {
    .subscription .option-confirm-header,
    .subscription #confirmation-booking-message-title td {
        text-align: left;
    }
}

.subscription th.subscription-header > form {
    overflow: hidden;
}

/* ログイン */
.login-widget {
    margin-bottom: 50px;
    padding: 16px;
    border: 1px solid #dddddd;
}
.login-widget ul {
    padding-left: 0;
    list-style-type: none;
}

.member-login ul.is-style-sme-list-arrow {
    margin-top: 0 !important;
}

.login-widget input[type="text"],
.login-widget input[type="password"] {
    display: block;
    width: 100%;
    padding: 3px;
    margin-bottom: 3px;
    border: 1px solid #dddddd !important;
    font-size: 1rem;
}

.login-widget label {
    display: block;
    margin-bottom: 3px;
}

.login-submit {
    margin-top: 1em;
}

