img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

/*! This file is auto-generated */
.wp-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em
}

.wp-block-file__button {
    background: #32373c;
    color: #fff;
    text-decoration: none
}

#selectShopContactArea .rcal_calendarMainWrap {
    width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 40px
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
    margin-left: 0
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
    display: flex;
    align-items: center;
    margin-left: 40px
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
    width: 1.5rem;
    height: 1.5rem;
    background-size: contain;
    background-repeat: no-repeat
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_cross.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
    content: "TEL";
    color: #505050;
    font-size: 15px;
    font-weight: 700
}

#selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
    margin-left: 8px;
    font-size: 14px;
    line-height: 1
}

.rcal_calendar table td.eventinfo a .eventLink {
    margin-top: 5px;
    font-size: 16px;
    color: #3cc4bf;
    text-decoration: underline;
    display: block
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink {
    display: none
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link.active,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink.active {
    display: block
}

#selectShopContactArea .rcal_calendar {
    margin-top: 25px
}

#selectShopContactArea .rcal_calendar table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    box-sizing: border-box;
    background-color: #fff
}

#selectShopContactArea .rcal_calendar table tr {
    padding-top: 5px
}

#selectShopContactArea .rcal_calendar table tr:first-child {
    padding-top: 0
}

#selectShopContactArea .rcal_calendar table tr>*:first-child {
    padding-left: 0
}

#selectShopContactArea .rcal_calendar table tr.week {
    height: 24px
}

#selectShopContactArea .rcal_calendar table th {
    width: 13.88%;
    padding-left: .47%;
    font-size: 16px;
    text-align: center;
    box-sizing: border-box
}

#selectShopContactArea .rcal_calendar table td {
    width: 13.88%;
    padding-left: .47%;
    font-size: 16px;
    text-align: center;
    box-sizing: border-box;
    padding-top: 5px
}

#selectShopContactArea .rcal_calendar table td.eventinfo a:hover .eventLink {
    text-decoration: none
}

#selectShopContactArea .rcal_calendar table td.eventinfo a .eventLink {
    margin-top: 5px;
    font-size: 16px;
    color: #3cc4bf;
    text-decoration: underline;
    display: block
}

#selectShopContactArea .rcal_calendar table td.past .tdInner .num {
    color: #d2d2d2
}

#selectShopContactArea .rcal_calendar table td .ajaxDateStatusBtn.active {
    background: #90edc7;
    border-color: #90edc7
}

#selectShopContactArea .rcal_calendar table td .tdInner {
    height: 75px;
    padding: 17px 0;
    display: block;
    border: 1px solid #eee;
    box-sizing: border-box
}

#selectShopContactArea .rcal_calendar table td .tdInner>* {
    margin-top: 9px
}

#selectShopContactArea .rcal_calendar table td .tdInner>*:first-child {
    margin-top: 0
}

#selectShopContactArea .rcal_calendar table td .icon {
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat
}

#selectShopContactArea .rcal_calendar table td .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendar table td .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendar table td .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_cross.svg);
    background-size: contain
}

#selectShopContactArea .rcal_calendar table td .icon.tel {
    width: 100%
}

#selectShopContactArea .rcal_calendar table td .icon.tel:before {
    content: "TEL";
    color: #e84d3e;
    font-size: 15px
}

#selectShopContactArea .rcal_calendar table td .icon.passed {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/passed_gray.png)
}

#selectShopContactArea .rcal_calendar .num {
    display: block;
    font-size: 16px;
    line-height: 1
}

#selectShopContactArea .rcal_calendar .dateStatus {
    display: block
}

#selectShopContactArea .rcal_calendar .reserveLimitText {
    display: block;
    color: #505050
}

#selectShopContactArea .rcal_calendar .reserveLimitText .tel {
    width: 100%;
    text-align: center
}

#selectShopContactArea .rcal_calendar .reserveLimitText .tel:before {
    content: "TEL";
    font-size: 1.4rem;
    color: #505050
}

#selectShopContactArea .rcal_calendar .telIcon_swing {
    width: 14px;
    height: 14px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/tel_red.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: telIcom_swing 2.5s linear 0s infinite;
    animation: telIcom_swing 2.5s linear 0s infinite;
    transform: rotate(0deg)
}

#selectShopContactArea .rcal_calendar .holiday {
    color: #c8362c
}

#selectShopContactArea .rcal_calendar .holiday * {
    color: inherit
}

.rcal_calendar_timeTableWrap {
    margin-top: 35px
}

.rcal_calendar_timeTableWrap.loading {
    min-height: 30px;
    position: relative
}

.rcal_calendar_timeTableWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.rcal_calendar_timeTableWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#selectShopContactArea .timeTable>* {
    margin-top: 15px
}

#selectShopContactArea .timeTable>*:first-of-type {
    margin-top: 0
}

#selectShopContactArea .timeTable .timeTableTitleArea .title {
    text-align: center;
    font-size: 16px;
    letter-spacing: .06em
}

#selectShopContactArea .timeTable .timeTableDetailArea ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li {
    width: 10.87%
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap {
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap.linkTel {
    border: 1px solid #eee;
    box-sizing: border-box;
    transition-property: border-color;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap.link {
    border: 1px solid #eee;
    box-sizing: border-box;
    transition-property: border-color;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap.link.active {
    background: #90edc7
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap.noLink {
    border: 1px solid #eee;
    box-sizing: border-box
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
    width: 12px;
    height: 12px;
    display: inline-block
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
    width: 1.5rem;
    height: 1.5rem;
    content: "";
    display: inline-block;
    vertical-align: top;
    background-size: contain;
    background-repeat: no-repeat
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.circle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.triangle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_maru.svg);
    background-size: contain
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_cross.svg);
    background-size: contain
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross+.time {
    color: #d2d2d2
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel {
    width: auto;
    height: auto
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:before {
    display: none
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:after {
    content: "TEL";
    color: #e84d3e;
    font-size: 15px
}

#selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
    margin-left: 10px;
    font-size: 16px
}

.rcal_calendarHeader {
    text-align: center;
    box-sizing: border-box
}

.rcal_calendarHeader .rcal_calendarTitle {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    vertical-align: baseline
}

.rcal_calendarHeader .rcal_calendarTitle .monthNum {
    display: inline-block;
    vertical-align: baseline;
    font-size: 40px
}

.rcal_calendarFooter {
    width: 100%;
    box-sizing: border-box
}

.calShop {
    text-align: center;
    padding: 2.4rem 0;
    font-size: 2.2rem;
    letter-spacing: .04em;
    margin: .5rem 0 2rem;
    position: relative
}

.calShop:after {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #ebf4e5 0%, #86dad2 100%) 0% 0% no-repeat padding-box;
    top: 0;
    left: -2rem;
    right: -2rem;
    width: calc(100% + 4rem);
    height: 100%;
    z-index: -1
}

.eventinfoTextWrap {
    margin-bottom: 30px
}

.eventinfoTextWrap * {
    font-size: 15px;
    color: #000
}

.eventinfoTextWrap .caution {
    display: block;
    font-size: 90%;
    margin-top: 5px
}

.eventinfoTextWrap .eventinfoText {
    margin-top: 10px;
    background-color: #e1f2f2;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.4;
    text-align: center
}

.eventinfoTextWrap .eventinfoText:first-child {
    margin-top: 0
}

.eventinfoTextWrap .eventinfoText .red {
    color: #3cc4bf;
    font-size: 1.4rem
}

.eventinfoTextWrap .eventinfoText a {
    color: #3cc4bf;
    text-decoration: underline
}

.eventinfoTextWrap .eventinfoText a:hover {
    text-decoration: none
}

.eventinfoTextWrap .eventinfoText.otherItemCaution {
    background-color: #f4f4f4
}

.eventinfoTextWrap .eventinfoText.otherItemCaution span {
    color: #e84d3e
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-overflow-scrolling: touch
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner {
    width: 300%;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    transition-property: margin-left;
    transition-duration: .5s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner .rcal_calendarSlide {
    width: 33.3333333333%
}

#selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
    width: 40px;
    height: 40px;
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_link_button.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    z-index: 5;
    box-sizing: border-box
}

#selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.disabled {
    display: none
}

#selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
    right: 0;
    transform: rotate(180deg)
}

#selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
    left: 0
}

#selectShopContactArea .rcal_display_calendarMainWrap>* {
    margin-top: 30px
}

#selectShopContactArea .rcal_display_calendarMainWrap>*:first-child {
    margin-top: 0
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap>* {
    margin-top: 30px
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap>*:first-child {
    margin-top: 0
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
    background-color: #f4f4f4;
    margin-top: 50px;
    padding: 40px;
    box-sizing: border-box
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
    margin-top: 15px
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>*:first-child {
    margin-top: 0
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
    font-size: 16px;
    letter-spacing: .06em;
    text-align: center
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap {
    display: flex;
    justify-content: center;
    align-items: center
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap>* {
    margin-left: 13px
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap>*:first-child {
    margin-left: 0
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber {
    display: flex;
    align-items: center
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber>* {
    margin-left: 10px
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber>*:first-child {
    margin-left: 0
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber .icon {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber .icon.tel {
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_tel.svg)
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber a {
    display: inline-block;
    color: #000;
    font-size: 28px
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber a:visited,
#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber a:focus,
#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber a:active {
    color: #000
}

#selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .regularHolidayText {
    font-size: 16px;
    letter-spacing: .06em
}

#selectShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#selectShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    box-sizing: border-box
}

#selectShopContactCloseBtn>a:before,
#selectShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#selectShopContactCloseBtn>a:before {
    transform: translateY(-50%) rotate(-30deg)
}

#selectShopContactCloseBtn>a:after {
    transform: translateY(-50%) rotate(30deg)
}

#selectShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000000
}

#selectShopContactArea {
    width: 84%;
    height: 82.8vh;
    padding: 80px 0 0;
    background-color: #fff;
    position: fixed;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    z-index: 1000000;
    transform: translate(-50%, -50%);
    display: none
}

#selectShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#selectShopContact .selectShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#selectShopContact .selectShopContactWrap.loading {
    position: relative
}

#selectShopContact .selectShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#selectShopContact .selectShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#selectShopContact .selectShopContactWrap.loading .selectShopContactInner {
    display: none
}

#selectShopContact .selectShopContactInner {
    width: 90%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 120px;
    box-sizing: border-box
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title {
    padding-left: 24px;
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    line-height: 1.53;
    position: relative
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title:before {
    width: 16px;
    height: 16px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/calendar_bk.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px
}

#selectShopContact .selectShopContactContents {
    display: none
}

#selectShopContact .selectShopContactContents.active {
    display: block
}

#selectShopContact .selectShopContactContents .selectShopListWrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 25px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl {
    width: 23.7%;
    margin-left: 1.73%;
    margin-top: 40px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    font-weight: 700
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
    margin-top: 15px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
    width: 49%;
    margin-left: 2%;
    margin-top: 5px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(-n+2) {
    margin-top: 0
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(odd) {
    margin-left: 0
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
    display: block;
    padding: 15px 36px 15px 10px;
    font-size: 13px;
    border: 1px solid #eee;
    box-sizing: border-box;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/arrow_darkGray.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat
}

#selectShopContact #selectShopContact_calendar {
    padding-top: 37px
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn {
    position: absolute;
    top: 0;
    left: 0
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    letter-spacing: .06em
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/icon_arrow_left.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: .9rem;
    height: 1.1rem
}

#selectShopContact_calendarArea .rcal_calendarMainWrap,
#selectShopContact_calendarArea .eventinfoTextWrap {
    width: 100%
}

#thisShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#thisShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    box-sizing: border-box
}

#thisShopContactCloseBtn>a:before,
#thisShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#thisShopContactCloseBtn>a:before {
    transform: translateY(-50%) rotate(-30deg)
}

#thisShopContactCloseBtn>a:after {
    transform: translateY(-50%) rotate(30deg)
}

#thisShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001
}

#thisShopContactArea {
    width: 90%;
    height: 100%;
    max-width: 600px;
    min-height: 60vh;
    max-height: 80vh;
    background-color: #fff;
    display: none;
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1002
}

#thisShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#thisShopContact .thisShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#thisShopContact .thisShopContactWrap.loading {
    position: relative
}

#thisShopContact .thisShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#thisShopContact .thisShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#thisShopContact .thisShopContactWrap.loading .thisShopContactInner {
    display: none
}

#thisShopContact .thisShopContactInner {
    width: 100%;
    padding: 30px;
    box-sizing: border-box
}

@-webkit-keyframes telIcom_swing {
    0% {
        transform: rotate(0deg)
    }

    15% {
        transform: rotate(-15deg)
    }

    25% {
        transform: rotate(0deg)
    }

    40% {
        transform: rotate(-15deg)
    }

    50% {
        transform: rotate(0deg)
    }
}

@keyframes telIcom_swing {
    0% {
        transform: rotate(0deg)
    }

    15% {
        transform: rotate(-15deg)
    }

    25% {
        transform: rotate(0deg)
    }

    40% {
        transform: rotate(-15deg)
    }

    50% {
        transform: rotate(0deg)
    }
}

@media only screen and (min-width: 1080px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }

    .rcal_calendar table td .ajaxDateStatusBtn:hover.tdInner {
        background: #90edc7
    }

    .rcal_calendar table td .tdInner {
        transition-property: border-color;
        transition-duration: .5s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .timeTable .timeTableDetailArea ul li .timeBtnWrap.link:hover {
        background: #90edc7
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(-n+4) {
        margin-top: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(4n+1) {
        margin-left: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: block !important
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        transition-property: color, border-color, background-image;
        transition-duration: .5s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:hover {
        color: #fff;
        background-color: #90edc7;
        border-color: #90edc7;
        background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/arrow_white.png)
    }

    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:hover {
        opacity: .7
    }
}

@media only screen and (min-width: 768px)and (max-width:1079px) {
    #selectShopContactArea {
        height: 80vh;
        padding: 5% 0;
        overflow-y: auto;
        box-sizing: border-box
    }

    #selectShopContactArea .rcal_calendar table td.eventinfo a .eventLink {
        font-size: 1.4rem
    }

    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        box-sizing: border-box
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/arrow_darkGray.png);
        background-position: 90% center
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #505050
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 20px;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 3rem;
        width: 1rem;
        height: 2px;
        background-color: #505050
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 3.4rem;
        width: 2px;
        height: 1rem;
        background-color: #505050
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt.active:after {
        content: none
    }

    #selectShopContact .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber {
        width: 70%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContactArea {
        padding-top: 20px;
        width: calc(100% - 4rem);
        border-radius: 1rem
    }

    #selectShopContactArea .rcal_calendarMainWrap {
        width: 100%;
        position: relative;
        overflow: hidden
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap {
        margin-right: auto;
        margin-left: auto
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
        padding: 3.8vw 0;
        flex-wrap: wrap
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
        margin-top: 2.8vw;
        margin-left: 0
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
        margin-top: 0
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
        margin-left: 4.93vw
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
        width: 2.66vw;
        height: 2.66vw
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
        font-size: 3.2vw
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        margin-left: 1.33vw;
        font-size: 1.2rem
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_calendarSliderWrap {
        margin-right: auto;
        margin-left: auto;
        position: static !important
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_calendarFooter {
        width: 90%;
        margin-right: auto;
        margin-left: auto
    }

    #selectShopContactArea .rcal_calendar {
        margin-top: 4vw
    }

    #selectShopContactArea .rcal_calendar table {
        margin-bottom: 1px
    }

    #selectShopContactArea .rcal_calendar table tr {
        padding-top: .66vw
    }

    #selectShopContactArea .rcal_calendar table tr.week {
        height: 6.12vw
    }

    #selectShopContactArea .rcal_calendar table th {
        width: 14.06%;
        padding-left: .26%;
        font-size: 3.46vw
    }

    #selectShopContactArea .rcal_calendar table td {
        width: 14.06%;
        padding-left: .26%;
        font-size: 3.46vw;
        padding-top: .26%
    }

    #selectShopContactArea .rcal_calendar table td.eventinfo a {
        padding: 3.33vw 0
    }

    #selectShopContactArea .rcal_calendar table td.eventinfo a .eventLink {
        margin-top: 2px;
        line-height: 1.1;
        font-size: 2.8vw;
        white-space: nowrap;
        margin-top: 2px
    }

    #selectShopContactArea .rcal_calendar table td .tdInner {
        height: 15.33vw;
        padding: 3vw 0
    }

    #selectShopContactArea .rcal_calendar table td .tdInner>* {
        margin-top: 2.26vw
    }

    #selectShopContactArea .rcal_calendar .num {
        font-size: 3.46vw
    }

    #selectShopContactArea .rcal_calendar .telIcon_swing {
        width: 3.4vw;
        height: 3.4vw
    }

    #selectShopContactArea .rcal_calendar_timeTableWrap {
        margin-top: 0
    }

    #selectShopContactArea .rcal_calendar_timeTableWrap.loading {
        margin-top: 6.66vw
    }

    #selectShopContactArea .timeTable {
        margin: 6.66vw 0 12.66vw !important
    }

    #selectShopContactArea .timeTable>* {
        margin-top: 3.46vw
    }

    #selectShopContactArea .timeTable .timeTableTitleArea .title {
        font-size: 3.73vw
    }

    #selectShopContactArea .timeTable .timeTableDetailArea {
        padding-bottom: 1rem;
        position: absolute;
        width: 100%;
        overflow-x: auto;
        box-sizing: border-box
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul {
        justify-content: flex-start
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li {
        width: auto;
        margin-right: 1.73vw
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li:last-of-type {
        padding-right: 5vw
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap {
        padding: 2.63vw 4.4vw;
        box-sizing: border-box
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
        width: 3.2vw;
        height: 3.2vw
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
        width: 3.2vw;
        height: 3.2vw
    }

    #selectShopContactArea .timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
        margin-left: 2.66vw;
        font-size: 4.26vw
    }

    #selectShopContactArea .rcal_calendarHeader .rcal_calendarTitle {
        font-size: 5.33vw
    }

    #selectShopContactArea .rcal_calendarHeader .rcal_calendarTitle .monthNum {
        font-size: 9.33vw
    }

    #selectShopContactArea .eventinfoTextWrap * {
        font-size: 3.2vw
    }

    #selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
        padding-top: 1.46vw
    }

    #selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
        width: 10.66vw;
        height: 10.66vw;
        top: 31vw
    }

    #selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
        width: 30px;
        height: 30px
    }

    #selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
        width: 30px;
        height: 30px
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap>* {
        margin-top: 7.06vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
        margin-top: 10.66vw;
        padding: 7.33vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
        margin-top: 3.33vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
        font-size: 3.73vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap {
        flex-wrap: wrap
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap>* {
        width: 100%;
        margin-top: 2.66vw;
        margin-left: 0
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap>*:first-child {
        margin-top: 0
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber {
        justify-content: center
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber>* {
        margin-left: 2vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber .icon {
        width: 5.86vw;
        height: 5.86vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .telNumber a {
        font-size: 7.46vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telInfoWrap .regularHolidayText {
        font-size: 1.2rem;
        text-align: center
    }

    #selectShopContactArea #selectShopContactArea {
        width: 90%;
        height: 86vh;
        padding: 5% 0;
        overflow-y: auto;
        box-sizing: border-box;
        overflow-x: hidden
    }

    #selectShopContactArea #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        box-sizing: border-box
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 23px 20px;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:before {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 3rem;
        width: 1rem;
        height: 2px;
        background-color: #505050
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 3.4rem;
        width: 2px;
        height: 1rem;
        background-color: #505050
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt.active:after {
        content: none
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }

    #selectShopContactArea #selectShopContact dd {
        display: none;
        margin-top: 0
    }

    #selectShopContactArea #selectShopContact dd ul {
        display: block
    }

    #selectShopContactArea #selectShopContact dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContactArea #selectShopContact dd ul li:first-of-type {
        border-top: none
    }

    #selectShopContactArea #selectShopContact dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        background-image: url(//www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/css/view/../../images/icon/arrow_darkGray.png);
        background-position: 90% center
    }

    #selectShopContactArea #selectShopContact dd ul li a:visited,
    #selectShopContactArea #selectShopContact dd ul li a:focus,
    #selectShopContactArea #selectShopContact dd ul li a:active {
        color: #fff
    }

    #selectShopContactArea #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        padding-left: 5.33vw;
        font-size: 3.73vw
    }

    #selectShopContact_calendarArea .rcal_statusDetailWrap {
        width: 100%
    }

    #selectShopContact_calendarArea .rcal_calendarSliderWrap {
        width: 100% !important
    }

    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderNext {
        right: 0
    }

    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderPrev {
        left: 0
    }
}

:root {
    --set-root-fz: 16;
    --calc-root-fz: calc(var(--set-root-fz)/10)
}

:root {
    --u-in: 90%;
    --u-in-sp: 90%;
    --u-lh: 1.5;
    --u-lh-sp: 1.5;
    --u-mt: 0;
    --u-mt-sp: 0;
    --u-mb: 0;
    --u-mb-sp: 0;
    --u-pt: 0;
    --u-pt-sp: 0;
    --u-pb: 0;
    --u-pb-sp: 0;
    --u-gjc: initial;
    --u-gac: initial;
    --u-gji: initial;
    --u-gai: initial;
    --u-w: 100%;
    --u-w-sp: 100%;
    --u-bdrs: 0;
    --u-bdrs-sp: 0
}

*:not(#foo) .u-in {
    --u-in-sp: var(--u-in);
    margin-inline: auto;
    width: var(--u-in)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-in {
        width: var(--u-in-sp)
    }
}

*:not(#foo) .u-lh {
    --u-lh-sp: var(--u-lh);
    line-height: var(--u-lh)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-lh {
        line-height: var(--u-lh-sp)
    }
}

*:not(#foo) .u-mt {
    --u-mt-sp: var(--u-mt);
    margin-top: var(--u-mt)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-mt {
        margin-top: var(--u-mt-sp)
    }
}

*:not(#foo) .u-mb {
    --u-mb-sp: var(--u-mb);
    margin-bottom: var(--u-mb)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-mb {
        margin-bottom: var(--u-mb-sp)
    }
}

*:not(#foo) .u-pt {
    --u-pt-sp: var(--u-pt);
    padding-top: var(--u-pt)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-pt {
        padding-top: var(--u-pt-sp)
    }
}

*:not(#foo) .u-pb {
    --u-pb-sp: var(--u-pb);
    padding-bottom: var(--u-pb)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-pb {
        padding-bottom: var(--u-pb-sp)
    }
}

*:not(#foo) .u-ta-c {
    text-align: center
}

*:not(#foo) .u-td-lt {
    text-decoration: line-through
}

*:not(#foo) .u-g {
    display: grid;
    justify-content: var(--u-gjc);
    align-content: var(--u-gac);
    justify-items: var(--u-gji);
    align-items: var(--u-gai)
}

*:not(#foo) .u-w {
    --u-w-sp: var(--u-w);
    width: var(--u-w)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-w {
        width: var(--u-w-sp)
    }
}

*:not(#foo) .u-bdrs {
    --u-bdrs-sp: var(--u-bdrs);
    border-radius: var(--u-bdrs)
}

@media(max-width: 767.98px) {
    *:not(#foo) .u-bdrs {
        border-radius: var(--u-bdrs-sp)
    }
}

html,
body {
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    vertical-align: baseline;
    margin: 0;
    padding: 0
}

@media all and (-ms-high-contrast:none) {

    html,
    body {
        font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }
}

body {
    line-height: 1
}

div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    vertical-align: baseline;
    margin: 0;
    padding: 0
}

@media all and (-ms-high-contrast:none) {

    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    a,
    abbr,
    acronym,
    address,
    big,
    cite,
    code,
    del,
    dfn,
    em,
    font,
    img,
    ins,
    kbd,
    q,
    s,
    samp,
    small,
    strike,
    strong,
    sub,
    sup,
    tt,
    var,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td {
        font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px
}

a {
    text-decoration: none;
    color: #000
}

a.decoration {
    text-decoration: underline
}

a.decoration:visited,
a.decoration:focus,
a.decoration:active {
    text-decoration: underline;
    outline: 0
}

/* a:visited,a:focus,a:active {
    text-decoration: none;
    color: #000;
    outline: 0
} */

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0
}

* html .clearfix {
    zoom: 1
}

*:first-child+html .clearfix {
    zoom: 1
}

html {
    font-size: 62.5%
}

body {
    font-size: 16px;
    color: #333;
    -webkit-text-size-adjust: 100%
}

#wrap {
    font-size: 16px
}

a {
    color: #333
}

/* a:visited,a:focus,a:active {
    color: #333
} */

img {
    max-width: 100%;
    height: auto;
    vertical-align: top
}

.inner {
    width: 1020px;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .inner {
        width: calc(100%*calc(778/840))
    }
}

@media only screen and (max-width: 767px) {
    .inner {
        width: calc(100%*calc(778/840))
    }
}

@media only screen and (min-width: 1020px) {
    .flL {
        float: left
    }

    .flR {
        float: right
    }

    .pcH {
        display: none !important
    }
}

@media only screen and (max-width: 1019px) {
    .spTabH {
        display: none !important
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .tabH {
        display: none !important
    }
}

@media only screen and (max-width: 767px) {
    .spH {
        display: none !important
    }
}

.alignL {
    text-align: left
}

.alignC {
    text-align: center
}

.alignR {
    text-align: right
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .tabAlignL {
        text-align: left
    }

    .tabAlignC {
        text-align: center
    }

    .tabAlignR {
        text-align: right
    }
}

@media only screen and (max-width: 767px) {
    .spAlignL {
        text-align: left
    }

    .spAlignC {
        text-align: center
    }

    .spAlignR {
        text-align: right
    }
}

.required {
    color: #c00;
    font-size: 10px;
    font-weight: 700
}

.bold {
    font-weight: 700
}

.tabBox {
    width: 100%;
    display: none
}

.tabBox.active {
    display: block
}

#wrap {
    overflow: hidden;
    padding-bottom: 100px;
    background-color: #fff;
    font-feature-settings: "palt"
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #wrap {
        padding-bottom: 10vw
    }
}

@media only screen and (max-width: 767px) {
    #wrap {
        padding-bottom: 15vw
    }
}

#mainWrap {
    width: 100%
}

#main {
    width: 100%
}

.sectionWrap {
    width: 100%
}

.bg_black {
    background-color: #000
}

.bg_white {
    background-color: #fff
}

.bg_dot {
    background-image: radial-gradient(rgba(255, 255, 255, .15) 20%, rgba(0, 0, 0, 0) 0%), radial-gradient(rgba(255, 255, 255, .15) 20%, rgba(0, 0, 0, 0) 0%);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px
}

.color_white {
    color: #fff
}

.color_white .decoration {
    color: #fff
}

.color_white .decoration:visited,
.color_white .decoration:focus,
.color_white .decoration:active {
    color: #fff
}

.color_black {
    color: #000
}

.color_black .decoration {
    color: #000
}

.color_black .decoration:visited,
.color_black .decoration:focus,
.color_black .decoration:active {
    color: #000
}

.color_pink {
    color: #f96f8d
}

.color_pink .decoration {
    color: #f96f8d
}

.color_pink .decoration:visited,
.color_pink .decoration:focus,
.color_pink .decoration:active {
    color: #f96f8d
}

.sat {
    color: #008fce
}

.sun {
    color: #fb5696
}

.holiday {
    color: #fb5696
}

.ryumin {
    font-family: "Ryumin Regular KL", serif
}

.ryumin.bold,
.ryumin .bold {
    font-family: "Ryumin Bold KL", serif
}

.lora {
    font-family: "Lora", serif
}

.barlow {
    font-family: "Barlow Condensed", sans-serif
}

.decoration {
    text-decoration: underline;
    color: #000
}

.decoration:visited,
.decoration:focus,
.decoration:active {
    color: #000
}

@media only screen and (min-width: 1020px) {
    .decoration:hover {
        text-decoration: none
    }
}

.decoration.color_white {
    color: #fff
}

.decoration.color_white:visited,
.decoration.color_white:focus,
.decoration.color_white:active {
    color: #fff
}

.big {
    font-size: 140%
}

.small {
    font-size: 80%
}

.sectionTitleArea>* {
    margin-top: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sectionTitleArea>* {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .sectionTitleArea>* {
        margin-top: 5%
    }
}

.sectionTitleArea>*:first-child {
    margin-top: 0
}

.sectionTitleArea .imgTitle img {
    margin-right: auto;
    margin-left: auto;
    display: block
}

.sectionTitleArea .imgTitle.alignL img {
    margin-left: 0;
    margin-right: auto
}

.sectionTitleArea .imgTitle.alignR img {
    margin-left: auto;
    margin-right: 0
}

@media only screen and (max-width: 767px) {
    .sectionTitleArea .imgTitle.spAlignL img {
        margin-left: 0;
        margin-right: auto
    }

    .sectionTitleArea .imgTitle.spAlignC img {
        margin-left: auto;
        margin-right: auto
    }

    .sectionTitleArea .imgTitle.spAlignR img {
        margin-left: auto;
        margin-right: 0
    }
}

.sectionTitleArea .smallBorderBTitle>span {
    line-height: 1.4;
    padding-bottom: .3em;
    font-size: 48px;
    letter-spacing: .015em;
    display: inline-block;
    position: relative
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sectionTitleArea .smallBorderBTitle>span {
        font-size: 6vw
    }
}

@media only screen and (max-width: 767px) {
    .sectionTitleArea .smallBorderBTitle>span {
        font-size: 9vw
    }
}

.sectionTitleArea .smallBorderBTitle>span:after {
    width: 60px;
    height: 1px;
    content: "";
    background-color: #ceb414;
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    bottom: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sectionTitleArea .smallBorderBTitle>span:after {
        width: 10vw
    }
}

@media only screen and (max-width: 767px) {
    .sectionTitleArea .smallBorderBTitle>span:after {
        width: 15vw
    }
}

.titleArea .imgTitle img {
    margin-right: auto;
    margin-left: auto;
    display: block
}

.textArea .leadText {
    line-height: 1.6;
    font-size: 22px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .textArea .leadText {
        font-size: 2.8vw
    }
}

@media only screen and (max-width: 767px) {
    .textArea .leadText {
        font-size: 4.8vw
    }
}

.textArea .text {
    line-height: 1.8;
    font-size: 16px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .textArea .text {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .textArea .text {
        font-size: 4vw
    }
}

.komeList>li {
    line-height: 1.4;
    padding-left: 1em;
    margin-top: 8px;
    font-size: 16px;
    letter-spacing: .015em;
    position: relative;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .komeList>li {
        margin-top: 3%;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .komeList>li {
        margin-top: 3%;
        font-size: 4vw
    }
}

.komeList>li:first-child {
    margin-top: 0
}

.komeList>li .icon {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0
}

.listUl>li {
    line-height: 1.4;
    padding-left: 1em;
    margin-top: 8px;
    font-size: 16px;
    letter-spacing: .015em;
    position: relative;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .listUl>li {
        margin-top: 3%;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .listUl>li {
        margin-top: 3%;
        font-size: 4vw
    }
}

.listUl>li:first-child {
    margin-top: 0
}

.listUl>li .icon {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0
}

.listUl>li.indent1 {
    padding-left: 1em
}

.listUl>li.indent2 {
    padding-left: 2em
}

.photoArea>* {
    margin-top: 40px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .photoArea>* {
        margin-top: 6%
    }
}

@media only screen and (max-width: 767px) {
    .photoArea>* {
        margin-top: 8%
    }
}

.photoArea>*:first-child {
    margin-top: 0
}

.photoArea>*.mTNone {
    margin-top: 0
}

.photoArea img {
    margin-right: auto;
    margin-left: auto;
    display: block
}

.photoArea .fullPhoto img {
    width: 100%;
    max-width: none
}

.photoArea .photoCaption {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .photoArea .photoCaption {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .photoArea .photoCaption {
        margin-top: 3%
    }
}

.photoArea .photoCaption:first-child {
    margin-top: 0
}

.photoArea .photoCaption.mTNone {
    margin-top: 0
}

.photoArea .photoCaption>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .photoArea .photoCaption>* {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .photoArea .photoCaption>* {
        margin-top: 3%
    }
}

.photoArea .photoCaption>*:first-child {
    margin-top: 0
}

.photoArea .photoCaption>*.mTNone {
    margin-top: 0
}

.photoList>* {
    margin-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .photoList>* {
        margin-top: 6%
    }
}

@media only screen and (max-width: 767px) {
    .photoList>* {
        margin-top: 6%
    }
}

.photoList>*:first-child {
    margin-top: 0
}

.photoList>*.mTNone {
    margin-top: 0
}

.photoList img {
    margin-right: auto;
    margin-left: auto;
    display: block
}

.photoList .photoCaption {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .photoList .photoCaption {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .photoList .photoCaption {
        margin-top: 3%
    }
}

.photoList .photoCaption:first-child {
    margin-top: 0
}

.photoList .photoCaption.mTNone {
    margin-top: 0
}

.movieArea>* {
    margin-top: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .movieArea>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    .movieArea>* {
        margin-top: 10%
    }
}

.movieArea>*:first-child {
    margin-top: 0
}

.movieArea>*.mTNone {
    margin-top: 0
}

.movieArea .movieBox>* {
    margin-top: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .movieArea .movieBox>* {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .movieArea .movieBox>* {
        margin-top: 5%
    }
}

.movieArea .movieBox>*:first-child {
    margin-top: 0
}

.movieArea .movieBox>*.mTNone {
    margin-top: 0
}

.movieArea .movieBox .movie {
    width: 100%;
    padding-top: 56.25%;
    position: relative
}

.movieArea .movieBox .movie iframe,
.movieArea .movieBox .movie video {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    right: 0
}

.columnList.column1 {
    width: 100%
}

.columnList.column1>* {
    width: 100%;
    margin-top: 30px;
    box-sizing: border-box
}

.columnList.column1>*:first-child {
    margin-top: 0
}

.columnList.column2 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column2>* {
    width: 48%;
    margin-top: 4%;
    box-sizing: border-box
}

.columnList.column2>*:nth-child(-n+2) {
    margin-top: 0
}

.columnList.column2>*.fullColumn {
    width: 100%
}

.columnList.column2_fit {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column2_fit>* {
    width: 50%;
    margin-top: 4%;
    box-sizing: border-box
}

.columnList.column2_fit>*:nth-child(-n+2) {
    margin-top: 0
}

.columnList.column2_fit>*.fullColumn {
    width: 100%
}

.columnList.column3 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column3>* {
    width: 30%;
    margin-top: 3.5%;
    box-sizing: border-box
}

.columnList.column3>*:nth-child(-n+3) {
    margin-top: 0
}

.columnList.column3_fit {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column3_fit>* {
    width: 33.3333%;
    margin-top: 3.5%;
    box-sizing: border-box
}

.columnList.column3_fit>*:nth-child(-n+3) {
    margin-top: 0
}

.columnList.column4 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column4>* {
    width: 22%;
    margin-top: 4%;
    box-sizing: border-box
}

.columnList.column4>*:nth-child(-n+4) {
    margin-top: 0
}

.columnList.column4_fit {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap
}

.columnList.column4_fit>* {
    width: 25%;
    margin-top: 4%;
    box-sizing: border-box
}

.columnList.column4_fit>*:nth-child(-n+4) {
    margin-top: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .columnList.tabColumn1>* {
        width: 100%;
        margin-top: 6%
    }

    .columnList.tabColumn1>*:nth-child(-n+4) {
        margin-top: 6%
    }

    .columnList.tabColumn1>*:first-child {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .columnList.tabColumn2>* {
        width: 48%;
        margin-top: 4%
    }

    .columnList.tabColumn2>*:nth-child(-n+4) {
        margin-top: 4%
    }

    .columnList.tabColumn2>*:nth-child(-n+2) {
        margin-top: 0
    }

    .columnList.tabColumn2>*.tabMtNone {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .columnList.tabColumn2_fit>* {
        width: 50%;
        margin-top: 4%
    }

    .columnList.tabColumn2_fit>*:nth-child(-n+4) {
        margin-top: 4%
    }

    .columnList.tabColumn2_fit>*:nth-child(-n+2) {
        margin-top: 0
    }

    .columnList.tabColumn2_fit>*.tabMtNone {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .columnList.spColumn1>* {
        width: 100%;
        margin-top: 8%
    }

    .columnList.spColumn1>*:nth-child(-n+4) {
        margin-top: 8%
    }

    .columnList.spColumn1>*:first-child {
        margin-top: 0
    }

    .columnList.spColumn1>*.spMtNone {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .columnList.spColumn2>* {
        width: 48%;
        margin-top: 6%
    }

    .columnList.spColumn2>*:nth-child(-n+4) {
        margin-top: 6%
    }

    .columnList.spColumn2>*:nth-child(-n+2) {
        margin-top: 0
    }

    .columnList.spColumn2>*.spMtNone {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .columnList.spColumn2_fit>* {
        width: 50%;
        margin-top: 6%
    }

    .columnList.spColumn2_fit>*:nth-child(-n+4) {
        margin-top: 6%
    }

    .columnList.spColumn2_fit>*:nth-child(-n+2) {
        margin-top: 0
    }

    .columnList.spColumn2_fit>*.spMtNone {
        margin-top: 0
    }
}

.btnArea .btnList {
    width: 100%
}

.btnArea .btnList.side {
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    flex-wrap: wrap
}

.btnArea .btnList.side>a {
    margin-left: 4%;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .btnArea .btnList.side>a {
        width: 48%
    }

    .btnArea .btnList.side>a.bigBtn {
        width: 80%
    }
}

@media only screen and (max-width: 767px) {
    .btnArea .btnList.side>a {
        width: 100%;
        margin-left: 0
    }
}

.btnArea .btnList.side>a:first-child {
    margin-left: 0
}

.btnArea .btnList.side>a.fullSize {
    width: 100%
}

@media only screen and (min-width: 1020px) {
    .btnArea .btnList.side>a.pcFullSize {
        width: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .btnArea .btnList.side>a.tabFullSize {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .btnArea .btnList.side>a.spFullSize {
        width: 100%
    }
}

.btnArea a {
    line-height: 1.2;
    padding: 10px 30px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .btnArea a {
        padding: 2% 3%;
        margin-left: 0;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .btnArea a {
        padding: 3% 6%;
        margin-left: 0;
        font-size: 4vw
    }
}

.btnArea a.bigBtn {
    padding: 20px 60px;
    font-size: 26px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .btnArea a.bigBtn {
        padding: 3% 2%;
        margin-left: 0;
        font-size: 4vw
    }
}

@media only screen and (max-width: 767px) {
    .btnArea a.bigBtn {
        padding: 5% 2%;
        margin-left: 0;
        font-size: 6vw
    }
}

.btnArea a.radius {
    border-radius: 50px
}

.btnArea a.beta_red {
    background-color: #cf032e;
    color: #fff
}

.btnArea a.beta_red:visited,
.btnArea a.beta_red:focus,
.btnArea a.beta_red:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .btnArea a.beta_red {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.beta_red:hover {
        background-color: #e3133f
    }
}

.btnArea a.beta_blue {
    background-color: #014084;
    color: #fff
}

.btnArea a.beta_blue:visited,
.btnArea a.beta_blue:focus,
.btnArea a.beta_blue:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .btnArea a.beta_blue {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.beta_blue:hover {
        background-color: #18589d
    }
}

.btnArea a.beta_green {
    background-color: #27a64b;
    color: #fff
}

.btnArea a.beta_green:visited,
.btnArea a.beta_green:focus,
.btnArea a.beta_green:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .btnArea a.beta_green {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.beta_green:hover {
        background-color: #39ba5d
    }
}

.btnArea a.border_pink {
    background-color: #fff;
    border: 1px solid #ea6b8c;
    color: #ea6b8c
}

.btnArea a.border_pink:visited,
.btnArea a.border_pink:focus,
.btnArea a.border_pink:active {
    color: #ea6b8c
}

@media only screen and (min-width: 1020px) {
    .btnArea a.border_pink {
        transition-property: background-color color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.border_pink:hover {
        background-color: #ea6b8c;
        color: #fff
    }

    .btnArea a.border_pink:hover:visited,
    .btnArea a.border_pink:hover:focus,
    .btnArea a.border_pink:hover:active {
        color: #fff
    }
}

.btnArea a.border_red {
    background-color: #fff;
    border: 1px solid #cf032e;
    color: #cf032e
}

.btnArea a.border_red:visited,
.btnArea a.border_red:focus,
.btnArea a.border_red:active {
    color: #cf032e
}

@media only screen and (min-width: 1020px) {
    .btnArea a.border_red {
        transition-property: background-color color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.border_red:hover {
        background-color: #cf032e;
        color: #fff
    }

    .btnArea a.border_red:hover:visited,
    .btnArea a.border_red:hover:focus,
    .btnArea a.border_red:hover:active {
        color: #fff
    }
}

.btnArea a.border_blue {
    background-color: #fff;
    border: 1px solid #014084;
    color: #014084
}

.btnArea a.border_blue:visited,
.btnArea a.border_blue:focus,
.btnArea a.border_blue:active {
    color: #014084
}

@media only screen and (min-width: 1020px) {
    .btnArea a.border_blue {
        transition-property: background-color color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.border_blue:hover {
        background-color: #014084;
        color: #fff
    }

    .btnArea a.border_blue:hover:visited,
    .btnArea a.border_blue:hover:focus,
    .btnArea a.border_blue:hover:active {
        color: #fff
    }
}

.btnArea a.border_green {
    background-color: #fff;
    border: 1px solid #27a64b;
    color: #27a64b
}

.btnArea a.border_green:visited,
.btnArea a.border_green:focus,
.btnArea a.border_green:active {
    color: #27a64b
}

@media only screen and (min-width: 1020px) {
    .btnArea a.border_green {
        transition-property: background-color color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .btnArea a.border_green:hover {
        background-color: #27a64b;
        color: #fff
    }

    .btnArea a.border_green:hover:visited,
    .btnArea a.border_green:hover:focus,
    .btnArea a.border_green:hover:active {
        color: #fff
    }
}

.sliderArea .slick-dots {
    margin-top: 60px;
    margin-right: 0;
    margin-left: 0;
    padding: 0
}

@media only screen and (max-width: 767px) {
    .sliderArea .slick-dots {
        margin-top: 6%
    }
}

.sliderArea .slick-dots li button:before {
    background-color: #f5dee1
}

.sliderArea .slick-dots li.slick-active button:before {
    background-color: #ff8596
}

.sliderArea .slideListWrap {
    position: relative
}

.sliderArea .slick-slider {
    position: relative
}

.sliderArea .slick-track {
    display: flex;
    align-items: stretch;
    justify-content: flex-start
}

.sliderArea .slick-track:before,
.sliderArea .slick-track:after {
    display: none
}

.sliderArea .slick-slide {
    width: 400px;
    height: auto;
    margin: 0 13px;
    float: none;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slick-slide {
        width: 55vw;
        margin: 0 2vw
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slick-slide {
        width: 78vw;
        margin: 0 1vw
    }
}

.sliderArea .slidePhoto .photo img {
    width: 100%;
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    display: block
}

.sliderArea .slideDetail {
    width: 100%;
    background-color: #fff;
    position: relative;
    box-sizing: border-box
}

.sliderArea .slideDetail .slideDetailInner {
    margin-top: 30px;
    box-sizing: border-box
}

.sliderArea .slideDetail .furisodeName {
    line-height: 1.4;
    font-size: 16px;
    letter-spacing: .015em;
    white-space: nowrap
}

.sliderArea .slideDetail .furisodeName .notes {
    font-size: 80%
}

.sliderArea .slideDetail .furisodePriceList {
    margin-top: 15px
}

.sliderArea .slideDetail .furisodePriceList>* {
    margin-top: 20px
}

.sliderArea .slideDetail .furisodePriceList>*:first-child {
    margin-top: 0
}

.sliderArea .slideDetail .furisodePriceList>dl {
    width: 100%
}

.sliderArea .slideDetail .furisodePriceList>dl>* {
    margin-top: 2px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slideDetail .furisodePriceList>dl>* {
        margin-top: 1%
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slideDetail .furisodePriceList>dl>* {
        margin-top: 1%
    }
}

.sliderArea .slideDetail .furisodePriceList>dl>*:first-child {
    margin-top: 0
}

.sliderArea .slideDetail .furisodePriceList>dl>dt {
    line-height: 1.4;
    font-size: 16px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dt {
        font-size: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dt {
        font-size: 3.6vw
    }
}

.sliderArea .slideDetail .furisodePriceList>dl>dd {
    line-height: 1
}

.sliderArea .slideDetail .furisodePriceList>dl>dd .price {
    line-height: 1;
    font-size: 56px;
    letter-spacing: .015em;
    font-family: "Lora", serif
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .price {
        font-size: 5vw
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .price {
        font-size: 10vw
    }
}

.sliderArea .slideDetail .furisodePriceList>dl>dd .unit {
    font-size: 18px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .unit {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .unit {
        font-size: 4.6vw
    }
}

.sliderArea .slideDetail .furisodePriceList>dl>dd .tax {
    font-size: 18px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .tax {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .slideDetail .furisodePriceList>dl>dd .tax {
        font-size: 4.6vw
    }
}

.sliderArea .sliderCommentArea {
    padding-bottom: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .sliderCommentArea {
        padding-bottom: 8%
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .sliderCommentArea {
        padding-bottom: 10%
    }
}

.sliderArea .sliderCommentArea.pTNone {
    padding-top: 0
}

.sliderArea .sliderCommentArea.pBNone {
    padding-bottom: 0
}

.sliderArea .sliderCommentArea>* {
    margin-top: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .sliderArea .sliderCommentArea>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    .sliderArea .sliderCommentArea>* {
        margin-top: 10%
    }
}

.sliderArea .sliderCommentArea>*:first-child {
    margin-top: 0
}

.slick-prev,
.slick-next {
    width: 50px;
    height: 80px;
    line-height: 0;
    padding: 0;
    display: block;
    font-size: 0px;
    cursor: pointer;
    background-color: #e84d3e;
    position: absolute;
    top: 47%;
    z-index: 10;
    outline: none;
    border: none;
    transform: translate3d(0, -50%, 0)
}

@media only screen and (min-width: 1020px) {

    .slick-prev,
    .slick-next {
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .slick-prev:hover,
    .slick-next:hover {
        opacity: .8
    }
}

@media only screen and (max-width: 767px) {

    .slick-prev,
    .slick-next {
        width: 40px;
        height: 60px
    }
}

.slick-prev:before,
.slick-next:before {
    width: 10px;
    height: 10px;
    content: "";
    display: block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-left: 15px;
    margin-top: 35px
}

@media only screen and (max-width: 767px) {

    .slick-prev:before,
    .slick-next:before {
        margin-left: 11px;
        margin-top: 25px
    }
}

.slick-prev {
    left: 0
}

.slick-prev:before {
    transform: rotate(-135deg);
    margin-left: 20px
}

@media only screen and (max-width: 767px) {
    .slick-prev:before {
        margin-left: 17px
    }
}

.slick-next {
    right: 0
}

.slick-dots {
    width: 100%;
    margin: 60px;
    display: block;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .slick-dots {
        margin-top: 6%
    }
}

.slick-dots li {
    width: 10px;
    height: 10px;
    padding: 0;
    margin: 0 5px;
    position: relative;
    display: inline-block;
    cursor: pointer
}

@media only screen and (max-width: 767px) {
    .slick-dots li {
        width: 8px;
        height: 8px
    }
}

.checkSetListArea>* {
    margin-top: 17px
}

.checkSetListArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .checkSetListArea>* {
        margin-top: 3vw
    }
}

.checkListWrap>.checkListBtn:visited,
.checkListWrap>.checkListBtn:focus,
.checkListWrap>.checkListBtn:active {
    color: #000
}

@media only screen and (min-width: 1020px) {
    .checkListWrap>.checkListBtn {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap>.checkListBtn {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap>.checkListBtn {
        width: 100%;
        font-size: 4vw
    }
}

.checkListWrap>.checkListBtn.active:before {
    display: none
}

.checkListWrap>.checkListBtn.btnColor_white {
    background-color: #fff;
    color: #000
}

.checkListWrap>.checkListBtn.btnColor_white:visited,
.checkListWrap>.checkListBtn.btnColor_white:focus,
.checkListWrap>.checkListBtn.btnColor_white:active {
    color: #000
}

@media only screen and (min-width: 1020px) {
    .checkListWrap>.checkListBtn.btnColor_white:hover {
        background-color: #ddd
    }
}

.checkListWrap>.checkListBtn.btnColor_white:after {
    border-right-color: #000;
    border-bottom-color: #000
}

.checkListWrap .closeBtnWrap {
    margin-top: -35px;
    margin-bottom: 10px;
    text-align: center
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .closeBtnWrap {
        margin-top: -4vw;
        margin-bottom: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .closeBtnWrap {
        margin-top: -6vw;
        margin-bottom: 2vw
    }
}

.checkListWrap .closeBtnWrap .closeBtn {
    width: 50px;
    height: 50px;
    background-color: #000;
    display: inline-block;
    border-radius: 50%;
    position: relative
}

@media only screen and (min-width: 1020px) {
    .checkListWrap .closeBtnWrap .closeBtn {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .checkListWrap .closeBtnWrap .closeBtn:hover {
        background-color: #777
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .closeBtnWrap .closeBtn {
        width: 8vw;
        height: 8vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .closeBtnWrap .closeBtn {
        width: 10vw;
        height: 10vw
    }
}

.checkListWrap .closeBtnWrap .closeBtn:after {
    width: 20px;
    height: 2px;
    content: "";
    display: block;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 50%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .closeBtnWrap .closeBtn:after {
        width: 4vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .closeBtnWrap .closeBtn:after {
        width: 5vw
    }
}

.checkListWrap .closeBtnWrap .closeBtn>span {
    width: 20px;
    height: 2px;
    display: block;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(45deg);
    position: absolute;
    top: 50%;
    left: 50%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .closeBtnWrap .closeBtn>span {
        width: 4vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .closeBtnWrap .closeBtn>span {
        width: 5vw
    }
}

.checkListWrap .checkListArea {
    width: 100%;
    text-align: left;
    box-sizing: border-box;
    display: none
}

.checkListWrap .checkListArea>.checkListAreaInner {
    width: 100%;
    padding: 20px 30px 60px;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListArea>.checkListAreaInner {
        padding: 3vw 3vw 8vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListArea>.checkListAreaInner {
        padding: 5vw 5vw 11vw
    }
}

.checkListWrap .checkListText>* {
    margin-top: 35px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListText>* {
        margin-top: 5%
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListText>* {
        margin-top: 8%
    }
}

.checkListWrap .checkListText>*:first-child {
    margin-top: 0
}

.checkListWrap .checkListText>dl {
    width: 100%
}

.checkListWrap .checkListText>dl>* {
    margin-top: 10px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListText>dl>* {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListText>dl>* {
        margin-top: 5%
    }
}

.checkListWrap .checkListText>dl>*:first-child {
    margin-top: 0
}

.checkListWrap .checkListText>dl>dt {
    line-height: 1;
    font-size: 26px;
    color: #000;
    letter-spacing: .015em;
    font-family: "Barlow Condensed", sans-serif
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListText>dl>dt {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListText>dl>dt {
        z-index: 4vw
    }
}

.checkListWrap .checkListText>dl>dd>* {
    margin-top: 5px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListText>dl>dd>* {
        margin-top: 2%
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListText>dl>dd>* {
        margin-top: 3%
    }
}

.checkListWrap .checkListText>dl>dd>*:first-child {
    margin-top: 0
}

.checkListWrap .checkListText>dl>dd p {
    line-height: 1.6;
    font-size: 16px;
    letter-spacing: .02em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListText>dl>dd p {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListText>dl>dd p {
        font-size: 3.4vw
    }
}

.checkListWrap .checkListCaution {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #6b2d00
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListCaution {
        padding-top: 5%;
        margin-top: 5%
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListCaution {
        padding-top: 8%;
        margin-top: 8%
    }
}

.checkListWrap .checkListCaution .komeList>* {
    font-size: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .checkListWrap .checkListCaution .komeList>* {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .checkListWrap .checkListCaution .komeList>* {
        font-size: 3.4vw
    }
}

.specialSetListWrap>.checkListBtn {
    width: 100%;
    display: block;
    padding: 20px;
    line-height: 1;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .1em;
    text-align: center;
    box-sizing: border-box;
    background-color: #483710;
    position: relative;
    color: #fff
}

.specialSetListWrap>.checkListBtn:visited,
.specialSetListWrap>.checkListBtn:focus,
.specialSetListWrap>.checkListBtn:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .specialSetListWrap>.checkListBtn {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .specialSetListWrap>.checkListBtn:hover {
        background-color: #5c523d
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .specialSetListWrap>.checkListBtn {
        padding: 2vw 10vw 2vw 3vw;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .specialSetListWrap>.checkListBtn {
        width: 100%;
        padding: 4vw 10vw 4vw 4vw;
        font-size: 4vw
    }
}

.specialSetListWrap>.checkListBtn.active:before {
    display: none
}

.specialSetListWrap>.checkListBtn.btnColor_white {
    background-color: #fff;
    color: #000
}

.specialSetListWrap>.checkListBtn.btnColor_white:visited,
.specialSetListWrap>.checkListBtn.btnColor_white:focus,
.specialSetListWrap>.checkListBtn.btnColor_white:active {
    color: #000
}

@media only screen and (min-width: 1020px) {
    .specialSetListWrap>.checkListBtn.btnColor_white:hover {
        background-color: #ddd
    }
}

.specialSetListWrap>.checkListBtn.btnColor_white:after {
    border-right-color: #000;
    border-bottom-color: #000
}

.specialSetListWrap>.checkListArea {
    display: none;
    background-color: #483710;
    margin-top: 10px;
    padding: 30px;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .specialSetListWrap>.checkListArea {
        padding-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .specialSetListWrap>.checkListArea {
        padding-top: 3%
    }
}

.setListWrap {
    position: relative;
    padding-bottom: 50px
}

.setListWrap.column1 .setList {
    width: 100%
}

.setListWrap .setList {
    width: 49.2%;
    padding: 20px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    display: block;
    position: absolute;
    box-sizing: border-box
}

.setListWrap .setList.rental {
    left: 0;
    background-color: #e84d3e
}

.setListWrap .setList.buy {
    right: 0;
    background-color: #44627c
}

@media only screen and (min-width: 1020px) {
    .setListWrap .setList {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .setListWrap .setList:hover.rental {
        background-color: #fa6253
    }

    .setListWrap .setList:hover.buy {
        right: 0;
        background-color: #587d9d
    }
}

@media only screen and (max-width: 767px) {
    .setListWrap .setList {
        font-size: 4vw;
        text-align: left;
        padding: 3.75vw
    }
}

.setListWrap .setList span {
    display: block;
    position: relative
}

.setListWrap .setList span:after {
    width: 10px;
    height: 10px;
    content: "";
    display: block;
    margin-top: -2px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 8px;
    margin-top: -5px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .setListWrap .setList span:after {
        width: 1vw;
        height: 1vw;
        margin-top: -.5vw
    }
}

@media only screen and (max-width: 767px) {
    .setListWrap .setList span:after {
        width: 2vw;
        height: 2vw;
        margin-top: -1vw;
        right: 0
    }
}

#kv {
    text-align: center
}

#kv img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block
}

@media only screen and (max-width: 767px) {
    #kv {
        width: 100%
    }
}

#introArrowWrap {
    padding-top: 55px;
    padding-bottom: 100px;
    position: relative;
    overflow: hidden
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #introArrowWrap {
        padding-top: 6vw;
        padding-bottom: 11vw
    }
}

@media only screen and (max-width: 767px) {
    #introArrowWrap {
        padding-top: 8vw;
        padding-bottom: 14vw
    }
}

#introArrowWrap:before,
#introArrowWrap:after {
    width: 0;
    height: 0;
    content: "";
    display: block;
    border-top: 0 solid rgba(0, 0, 0, 0);
    border-right: 0 solid rgba(0, 0, 0, 0);
    border-bottom: 100px solid rgba(0, 0, 0, 0);
    border-left: 0 solid rgba(0, 0, 0, 0);
    position: absolute;
    bottom: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {

    #introArrowWrap:before,
    #introArrowWrap:after {
        border-bottom-width: 10vw
    }
}

@media only screen and (max-width: 767px) {

    #introArrowWrap:before,
    #introArrowWrap:after {
        border-bottom-width: 10vw
    }
}

#introArrowWrap:before {
    border-right-width: 50vw;
    left: 0
}

#introArrowWrap:after {
    border-left-width: 50vw;
    right: 0
}

.summaryArea {
    width: 100%;
    padding: 60px 30px 30px;
    border: 1px solid #000;
    border-top: none;
    box-sizing: border-box;
    position: relative;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea {
        padding: 8vw 4vw 4vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea {
        padding: 14vw 5vw 5vw
    }
}

.summaryArea .summaryTitle {
    width: 100%;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    box-sizing: border-box;
    transform: translateY(-50%);
    position: absolute;
    top: 0;
    left: 0
}

.summaryArea .summaryTitle>span {
    padding-right: 1em;
    padding-left: 1em;
    display: inline-block;
    position: relative
}

.summaryArea .summaryTitle>span:before,
.summaryArea .summaryTitle>span:after {
    width: 500%;
    height: 1px;
    content: "";
    background-color: #000;
    position: absolute;
    top: 50%;
    z-index: 1
}

.summaryArea .summaryTitle>span:before {
    right: 100%
}

.summaryArea .summaryTitle>span:after {
    left: 100%
}

.summaryArea .summaryTitle>span>* {
    margin-top: 8px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryTitle>span>* {
        margin-top: 1%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryTitle>span>* {
        margin-top: 2%
    }
}

.summaryArea .summaryTitle>span>*:first-child {
    margin-top: 0
}

.summaryArea .summaryTitle .subTitle {
    line-height: 1;
    font-size: 16px;
    letter-spacing: .015em;
    display: inline-block
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryTitle .subTitle {
        font-size: 2.6vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryTitle .subTitle {
        font-size: 4vw
    }
}

.summaryArea .summaryTitle .title {
    line-height: 1;
    font-size: 36px;
    letter-spacing: .015em;
    display: inline-block
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryTitle .title {
        font-size: 5.6vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryTitle .title {
        font-size: 8vw
    }
}

.summaryArea .summaryBoxArea {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxArea {
        flex-wrap: wrap
    }

    .summaryArea .summaryBoxArea>* {
        margin-top: 6%
    }

    .summaryArea .summaryBoxArea>*:first-child {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxArea {
        flex-wrap: wrap
    }

    .summaryArea .summaryBoxArea>* {
        margin-top: 8%
    }

    .summaryArea .summaryBoxArea>*:first-child {
        margin-top: 0
    }
}

.summaryArea .summaryBoxArea .summaryBox {
    box-sizing: border-box
}

.summaryArea .summaryBoxArea #summaryDetails {
    width: 390px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxArea #summaryDetails {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxArea #summaryDetails {
        width: 100%
    }
}

.summaryArea .summaryBoxArea #summaryPlace {
    width: 520px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxArea #summaryPlace {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxArea #summaryPlace {
        width: 100%
    }
}

.summaryArea .summaryBoxList>* {
    margin-top: 40px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>* {
        margin-top: 6%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>* {
        margin-top: 8%
    }
}

.summaryArea .summaryBoxList>*:first-child {
    margin-top: 0
}

.summaryArea .summaryBoxList>dl>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>dl>* {
        margin-top: 3%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>dl>* {
        margin-top: 3%
    }
}

.summaryArea .summaryBoxList>dl>*:first-child {
    margin-top: 0
}

.summaryArea .summaryBoxList>dl>dt {
    line-height: 1.4;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>dl>dt {
        font-size: 3.8vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>dl>dt {
        font-size: 5.4vw
    }
}

.summaryArea .summaryBoxList>dl>dt .label {
    line-height: 24px;
    height: 24px;
    padding: 0 .3em;
    margin-right: 20px;
    display: inline-block;
    vertical-align: baseline;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background-color: #000;
    box-sizing: border-box;
    position: relative;
    top: -.2em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>dl>dt .label {
        height: 3.4vw;
        line-height: 3.4vw;
        margin-right: 2.5vw;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>dl>dt .label {
        width: 100%;
        height: auto;
        line-height: 1;
        padding: 1vw 3vw;
        margin-right: 0;
        margin-bottom: 3%;
        font-size: 3.4vw;
        display: block;
        box-sizing: border-box
    }
}

.summaryArea .summaryBoxList>dl>dt .label:after {
    width: 0;
    height: 0;
    content: "";
    display: block;
    border-top: 12px solid rgba(0, 0, 0, 0);
    border-right: 0 solid rgba(0, 0, 0, 0);
    border-bottom: 12px solid rgba(0, 0, 0, 0);
    border-left: 10px solid #000;
    position: absolute;
    top: 0;
    right: -10px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>dl>dt .label:after {
        border-top-width: 1.7vw;
        border-bottom-width: 1.7vw;
        border-left-width: 1.5vw;
        right: -1.5vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>dl>dt .label:after {
        display: none
    }
}

.summaryArea .summaryBoxList>dl>dd {
    box-sizing: border-box
}

.summaryArea .summaryBoxList>dl>dd>* {
    margin-top: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .summaryBoxList>dl>dd>* {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .summaryBoxList>dl>dd>* {
        margin-top: 3%
    }
}

.summaryArea .summaryBoxList>dl>dd>*:first-child {
    margin-top: 0
}

.summaryArea .telNumber {
    font-size: 30px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summaryArea .telNumber {
        font-size: 4vw
    }
}

@media only screen and (max-width: 767px) {
    .summaryArea .telNumber {
        font-size: 5vw
    }
}

.mapArea .mapBox {
    width: 100%;
    padding-top: 56.25%;
    position: relative
}

.mapArea .mapBox iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    right: 0
}

.summarySimpleArea .summarySimpleWrap {
    width: 100%;
    background-color: #fff;
    box-sizing: border-box
}

.summarySimpleArea .summarySimpleWrap>* {
    margin-top: 40px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleWrap>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleWrap>* {
        margin-top: 10%
    }
}

.summarySimpleArea .summarySimpleWrap>*:first-child {
    margin-top: 0
}

.summarySimpleArea .mapArea .mapBox {
    width: 100%;
    padding-top: 56.25%;
    position: relative
}

.summarySimpleArea .mapArea .mapBox iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    right: 0
}

.summarySimpleArea .summarySimpleMain {
    padding: 50px;
    border-top: 5px solid #df1264
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleMain {
        padding: 8% 6%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleMain {
        padding: 10% 6%
    }
}

.summarySimpleArea .summarySimpleMap .mapArea .mapBox {
    padding-top: 26.25%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleMap .mapArea .mapBox {
        padding-top: 40.25%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleMap .mapArea .mapBox {
        padding-top: 56.25%
    }
}

.summarySimpleArea .summarySimpleTel {
    background-color: #dd0058
}

.summarySimpleArea .summarySimpleTitle {
    text-align: center
}

.summarySimpleArea .summarySimpleTitle>span {
    line-height: 1;
    padding-bottom: .8em;
    font-size: 20px;
    letter-spacing: .3em;
    display: inline-block;
    position: relative
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTitle>span {
        font-size: 3.6vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTitle>span {
        font-size: 4.6vw
    }
}

.summarySimpleArea .summarySimpleTitle>span:after {
    width: 80px;
    height: 1px;
    content: "";
    background-color: #000;
    display: block;
    transform: translateX(-50%);
    position: absolute;
    bottom: 0;
    left: 50%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTitle>span:after {
        width: 10vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTitle>span:after {
        width: 12vw
    }
}

.summarySimpleArea .summarySimpleDetails {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between
}

@media only screen and (max-width: 1019px) {
    .summarySimpleArea .summarySimpleDetails {
        flex-wrap: wrap
    }
}

.summarySimpleArea .summarySimpleDetails .detail {
    width: 53%
}

@media only screen and (max-width: 1019px) {
    .summarySimpleArea .summarySimpleDetails .detail {
        width: 100%
    }
}

.summarySimpleArea .summarySimpleDetails .photo {
    width: 43%
}

@media only screen and (max-width: 1019px) {
    .summarySimpleArea .summarySimpleDetails .photo {
        width: 100%;
        margin-top: 8%
    }
}

.summarySimpleArea .summarySimpleDetails .photo>* {
    margin-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetails .photo>* {
        margin-top: 4%
    }
}

.summarySimpleArea .summarySimpleDetails .photo>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleDetailList>* {
    margin-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetailList>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList>* {
        margin-top: 10%
    }
}

.summarySimpleArea .summarySimpleDetailList>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleDetailList>dl {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList>dl {
        flex-wrap: wrap
    }
}

.summarySimpleArea .summarySimpleDetailList>dl>dt {
    width: 18%;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList>dl>dt {
        width: 100%
    }
}

.summarySimpleArea .summarySimpleDetailList>dl>dt>span {
    width: 100%;
    padding: 8px 0;
    font-size: 16px;
    display: inline-block;
    text-align: center;
    color: #fff;
    background-color: #000;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetailList>dl>dt>span {
        padding: 1.5vw 0;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList>dl>dt>span {
        font-size: 4vw
    }
}

.summarySimpleArea .summarySimpleDetailList>dl>dd {
    width: 77%;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList>dl>dd {
        width: 100%;
        margin-top: 4%
    }
}

.summarySimpleArea .summarySimpleDetailList>dl>dd .textArea>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetailList>dl>dd .textArea>* {
        margin-top: 4%
    }
}

.summarySimpleArea .summarySimpleDetailList>dl>dd .textArea>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleDetailList .summarySimpleDate {
    line-height: 1.2;
    font-size: 24px;
    letter-spacing: .02em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetailList .summarySimpleDate {
        font-size: 3.6vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList .summarySimpleDate {
        font-size: 5vw
    }
}

.summarySimpleArea .summarySimpleDetailList .summarySimpleDate .date {
    line-height: 1;
    font-size: 160%;
    color: #dd0058
}

.summarySimpleArea .summarySimpleDetailList .shopName {
    line-height: 1.2;
    font-size: 28px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleDetailList .shopName {
        font-size: 4vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleDetailList .shopName {
        font-size: 5.4vw
    }
}

.summarySimpleArea .summarySimpleTelList {
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList {
        padding-top: 6%;
        padding-bottom: 6%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList {
        padding: 8% 6%
    }
}

.summarySimpleArea .summarySimpleTelList>* {
    margin-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>* {
        margin-top: 6%
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>* {
        margin-top: 10%
    }
}

.summarySimpleArea .summarySimpleTelList>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleTelList>dl {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl {
        flex-wrap: wrap
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dt {
    box-sizing: border-box
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon {
    position: relative
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon {
        width: 100%
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon>.icon {
    padding: 12px 30px;
    text-align: center;
    display: inline-block;
    border: 1px solid #fff;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon>.icon {
        padding: 1.2vw 3vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon>.icon {
        width: 100%;
        padding: 2vw 4vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon>.icon>* {
    margin-top: .2em
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon>.icon>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .ondine {
    line-height: 1;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .015em;
    color: #fff;
    display: inline-block
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .ondine {
        font-size: 2.4vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .ondine {
        font-size: 3.4vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .shopName {
    line-height: 1;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .015em;
    color: #fff;
    display: inline-block
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .shopName {
        font-size: 3.6vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dt.shopNameIcon .shopName {
        font-size: 6vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd {
    margin-left: 30px;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd {
        margin-left: 3vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd {
        width: 100%;
        margin-top: 4%;
        margin-left: 0;
        text-align: center
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd>* {
    margin-top: 8px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd>* {
        margin-top: 1vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd>* {
        margin-top: 2vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd>*:first-child {
    margin-top: 0
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telIntro {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .015em;
    color: #fff
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telIntro {
        font-size: 2.4vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telIntro {
        font-size: 3.4vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd>a {
    display: inline-block
}

@media only screen and (min-width: 1020px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd>a {
        cursor: default
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telNumber {
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dt {
    width: 45px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dt {
        width: 5.4vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dt {
        width: 8vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dt img {
    margin-right: auto;
    margin-left: auto;
    display: block
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd {
    margin-left: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd {
        margin-left: 1vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd {
        margin-left: 1vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd .numberText {
    font-size: 57px;
    font-weight: 700;
    letter-spacing: .015em;
    color: #fff
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd .numberText {
        font-size: 6vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .telNumber dd .numberText {
        font-size: 9vw
    }
}

.summarySimpleArea .summarySimpleTelList>dl>dd .caution {
    font-size: 12px;
    color: #fff
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .caution {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .summarySimpleArea .summarySimpleTelList>dl>dd .caution {
        font-size: 2.8vw
    }
}

#coupon .couponArea>* {
    margin-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #coupon .couponArea>* {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    #coupon .couponArea>* {
        margin-top: 5%
    }
}

#coupon .couponArea>*:first-child {
    margin-top: 0
}

#set .setBlock {
    background-color: #fff;
    border: 1px solid #707070;
    padding: 4px;
    box-sizing: border-box
}

#set .setBlock .setBlockInner {
    padding: 0 7% 7%;
    border: 1px solid #707070;
    box-sizing: border-box
}

#set .setBlock .setBlockInner .mainTitleArea {
    position: relative;
    padding-top: 80px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea {
        padding-top: 22%
    }
}

#set .setBlock .setBlockInner .mainTitleArea:before {
    width: 8px;
    height: 60px;
    content: "";
    display: block;
    background-color: #e84d3e;
    position: absolute;
    left: 50%;
    top: 0;
    margin-left: -4px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea:before {
        width: 2vw;
        height: 13vw
    }
}

#set .setBlock .setBlockInner .mainTitleArea .titleBox {
    text-align: center
}

#set .setBlock .setBlockInner .mainTitleArea .titleBox .en {
    font-size: 14px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea .titleBox .en {
        font-size: 3.75vw
    }
}

#set .setBlock .setBlockInner .mainTitleArea .titleBox .title {
    margin-top: 20px;
    font-size: 55px;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea .titleBox .title {
        margin-top: 5vw;
        font-size: 8vw
    }
}

#set .setBlock .setBlockInner .mainTitleArea .textBox {
    margin-top: 50px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea .textBox {
        margin-top: 8vw
    }
}

#set .setBlock .setBlockInner .mainTitleArea .textBox .text {
    text-align: center;
    font-size: 20px;
    line-height: 1.62
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .mainTitleArea .textBox .text {
        font-size: 4vw;
        text-align: left
    }
}

#set .setBlock .setBlockInner .setListBoxWrap {
    margin-top: 40px;
    display: flex;
    justify-content: space-between
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap {
        margin-top: 8vw;
        flex-wrap: wrap
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox {
    width: 47%
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox {
        width: 100%;
        margin-top: 15%
    }

    #set .setBlock .setBlockInner .setListBoxWrap .setListBox:first-of-type {
        margin-top: 0
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea {
    padding: 12px;
    box-sizing: border-box;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea:before {
    width: 16px;
    height: 100%;
    content: "";
    display: block;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    border-left: 1px solid #333;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea:after {
    width: 16px;
    height: 100%;
    content: "";
    display: block;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    border-right: 1px solid #333;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox {
    display: flex;
    align-items: baseline
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox.numBox_rental>* {
    color: #e84d3e
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox.numBox_buy>* {
    color: #119ca7
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .num {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 65px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .num {
        font-size: 14vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .text {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 35px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .text {
        font-size: 8vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox {
    margin-left: 15px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox {
        margin-left: 4vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox>* {
    display: block
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .main {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 25px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .main {
        font-size: 6vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .en {
    margin-top: 10px;
    font-size: 14px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .en {
        margin-top: 2vw;
        font-size: 3.75vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea {
    margin-top: 40px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea {
        margin-top: 6vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl {
    margin-top: 35px
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl:first-of-type {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl {
        margin-top: 6vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt {
    width: 100%;
    font-size: 26px;
    line-height: 1.4;
    padding-bottom: 5px;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    position: relative
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt {
        font-size: 5vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt:before {
    width: 100%;
    height: 1px;
    content: "";
    background-color: #989898;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt span {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt.dtTitle_rental {
    color: #e84d3e
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt.dtTitle_rental span:before {
    background-color: #e84d3e
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt.dtTitle_buy {
    color: #119ca7
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt.dtTitle_buy span:before {
    background-color: #119ca7
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt span {
    display: inline-block;
    position: relative
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt span:before {
    width: 100%;
    height: 1px;
    content: "";
    display: inline-block;
    position: absolute;
    bottom: -5px;
    left: 0
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd {
        margin-top: 4vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd ol {
    display: flex;
    flex-wrap: wrap
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd ol li {
    font-size: 18px;
    line-height: 1.6;
    margin-right: 15px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd ol li {
        font-size: 4vw;
        margin-right: 3vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle {
    margin-top: 20px;
    font-weight: 700;
    font-size: 20px
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle {
        font-size: 4.5vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle+* {
    margin-top: 7px
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle.rental {
    color: #e84d3e
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle.buy {
    color: #119ca7
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listSubTitle {
    font-size: 16px;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listSubTitle {
        font-size: 3.5vw
    }
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listSubTitle+* {
    margin-top: 5px
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .caution {
    margin-top: 5px;
    font-size: 15px;
    color: #777;
    line-height: 1.6
}

@media only screen and (max-width: 767px) {
    #set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .caution {
        font-size: 3.2vw
    }
}

#rules .textArea .leadText {
    line-height: 1.6;
    font-size: 36px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #rules .textArea .leadText {
        font-size: 3.4vw
    }
}

@media only screen and (max-width: 767px) {
    #rules .textArea .leadText {
        font-size: 5.4vw
    }
}

#rules .rulesMainTitle {
    padding-top: 55px;
    padding-bottom: 75px;
    background-color: #dd0058
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #rules .rulesMainTitle {
        padding-top: 6%;
        padding-bottom: 8%
    }
}

@media only screen and (max-width: 767px) {
    #rules .rulesMainTitle {
        padding-top: 7%;
        padding-bottom: 10%
    }
}

@media only screen and (max-width: 767px) {
    #rules #rulesNeeds .rulesNeedsBanner {
        width: 90%;
        margin-right: auto;
        margin-left: auto
    }
}

#rules #rulesSet {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/rules/rulesSet/bg.jpg);
    background-position: center center
}

#rules #rulesSet .rulesSetBox+.rulesSetBox {
    margin-top: 80px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #rules #rulesSet .rulesSetBox+.rulesSetBox {
        margin-top: 10%
    }
}

@media only screen and (max-width: 767px) {
    #rules #rulesSet .rulesSetBox+.rulesSetBox {
        margin-top: 12%
    }
}

#rules #rulesSet .rulesSetBox>* {
    padding-top: 30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #rules #rulesSet .rulesSetBox>* {
        padding-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    #rules #rulesSet .rulesSetBox>* {
        padding-top: 5%
    }
}

#rules #rulesSet .rulesSetBox>*:first-child {
    padding-top: 0
}

#rules #rulesSize {
    background: #fff7fa
}

#rules #rulesPayment {
    background-color: #00a7a1
}

.twitterArea .twitterList {
    text-align: center
}

#goBackTopPage>.inner {
    padding-top: 80px;
    padding-bottom: 80px;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #goBackTopPage>.inner {
        padding-top: 12%;
        padding-bottom: 12%
    }
}

@media only screen and (max-width: 767px) {
    #goBackTopPage>.inner {
        padding: 12% 6%
    }
}

#goBackTopPage .backBtnWrap p {
    text-align: center
}

#goBackTopPage .backBtnWrap p a {
    width: 320px;
    line-height: 1.4;
    padding: 20px;
    font-size: 14px;
    background-color: #2b1800;
    display: inline-block;
    text-align: center;
    border-radius: 12px;
    box-sizing: border-box;
    color: #fff
}

#goBackTopPage .backBtnWrap p a:visited,
#goBackTopPage .backBtnWrap p a:focus,
#goBackTopPage .backBtnWrap p a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    #goBackTopPage .backBtnWrap p a {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #goBackTopPage .backBtnWrap p a:hover {
        background-color: #4b2a00
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #goBackTopPage .backBtnWrap p a {
        width: 50%;
        padding: 3vw;
        font-size: 2vw
    }
}

@media only screen and (max-width: 767px) {
    #goBackTopPage .backBtnWrap p a {
        width: 100%;
        padding: 6% 3%;
        font-size: 3.2vw
    }
}

#goBackTopPage .backBtnWrap p a span {
    font-size: 18px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #goBackTopPage .backBtnWrap p a span {
        font-size: 2.8vw
    }
}

@media only screen and (max-width: 767px) {
    #goBackTopPage .backBtnWrap p a span {
        font-size: 4vw
    }
}

#support .sectionInner>* {
    margin-top: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #support .sectionInner>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    #support .sectionInner>* {
        margin-top: 10%
    }
}

#support .sectionInner>*:first-child {
    margin-top: 0
}

#set .sectionInner>* {
    margin-top: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #set .sectionInner>* {
        margin-top: 8%
    }
}

@media only screen and (max-width: 767px) {
    #set .sectionInner>* {
        margin-top: 10%
    }
}

#set .sectionInner>*:first-child {
    margin-top: 0
}

#localNavWrap {
    background-color: #000
}

#localNavWrap #localNav {
    padding-top: 20px;
    padding-bottom: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #localNavWrap #localNav {
        padding-top: 3%;
        padding-bottom: 3%
    }
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav {
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
        box-sizing: border-box
    }
}

#localNavWrap #localNav>ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav>ul {
        flex-wrap: wrap
    }
}

#localNavWrap #localNav>ul.serif>li>a {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

#localNavWrap #localNav>ul.serif>li>a span {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

#localNavWrap #localNav>ul>li {
    margin-left: 60px;
    position: relative
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #localNavWrap #localNav>ul>li {
        margin-left: 6%
    }
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav>ul>li {
        width: 50%;
        margin: 0;
        border-top: 1px solid #ddd;
        border-left: 1px solid #ddd;
        box-sizing: border-box
    }

    #localNavWrap #localNav>ul>li:nth-child(-n+2) {
        border-top: none
    }

    #localNavWrap #localNav>ul>li:nth-child(2n+1) {
        border-left: none
    }
}

#localNavWrap #localNav>ul>li:before {
    width: 1px;
    height: 40px;
    content: "";
    background-color: #ddd;
    display: block;
    transform: translateY(-50%) skewX(-15deg);
    position: absolute;
    top: 50%;
    left: -30px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #localNavWrap #localNav>ul>li:before {
        height: 3.8vw;
        left: -2.6vw
    }
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav>ul>li:before {
        height: 6.4vw;
        left: -2%;
        display: none
    }
}

#localNavWrap #localNav>ul>li:first-child {
    margin-left: 0
}

#localNavWrap #localNav>ul>li:first-child:before {
    display: none
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav>ul>li:nth-child(2n+1) {
        margin-left: 0
    }

    #localNavWrap #localNav>ul>li:nth-child(2n+1):before {
        display: none
    }

    #localNavWrap #localNav>ul>li:nth-child(-n+2) {
        margin-top: 0
    }
}

#localNavWrap #localNav>ul>li>a {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: .015em;
    display: inline-block;
    color: #fff
}

#localNavWrap #localNav>ul>li>a:visited,
#localNavWrap #localNav>ul>li>a:focus,
#localNavWrap #localNav>ul>li>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    #localNavWrap #localNav>ul>li>a {
        transition-property: color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #localNavWrap #localNav>ul>li>a:hover {
        color: #fff125
    }

    #localNavWrap #localNav>ul>li>a:hover:visited,
    #localNavWrap #localNav>ul>li>a:hover:focus,
    #localNavWrap #localNav>ul>li>a:hover:active {
        color: #fff125
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #localNavWrap #localNav>ul>li>a {
        font-size: 3.6vw
    }
}

@media only screen and (max-width: 767px) {
    #localNavWrap #localNav>ul>li>a {
        width: 100%;
        padding: 4vw 2vw;
        font-size: 6.2vw;
        text-align: center;
        display: block;
        box-sizing: border-box
    }
}

#fixLocalNavWrap {
    width: 100%
}

#fixLocalNavWrap #fixLocalNav {
    width: 100%;
    background-color: #000;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    position: relative;
    z-index: 2
}

@media only screen and (min-width: 1020px) {
    #fixLocalNavWrap #fixLocalNav.fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10000
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav .inner {
        width: 100%
    }
}

#fixLocalNavWrap #fixLocalNav ul {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #fixLocalNavWrap #fixLocalNav ul {
        padding-top: 4vw;
        padding-bottom: 4vw;
        flex-wrap: wrap
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul {
        padding-top: 0;
        padding-bottom: 0;
        align-items: stretch;
        flex-wrap: wrap;
        position: relative
    }

    #fixLocalNavWrap #fixLocalNav ul:before {
        width: 1px;
        height: 100%;
        content: "";
        display: block;
        background-color: #ddd;
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1
    }
}

#fixLocalNavWrap #fixLocalNav ul li {
    text-align: center
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #fixLocalNavWrap #fixLocalNav ul li {
        order: 2
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul li {
        width: 50%;
        border-top: 1px solid #ddd;
        order: 2;
        box-sizing: border-box;
        position: relative;
        z-index: 2
    }
}

#fixLocalNavWrap #fixLocalNav ul li a {
    line-height: 1.6;
    font-size: 24px;
    letter-spacing: .025em;
    display: inline-block;
    text-align: center;
    color: #fff
}

#fixLocalNavWrap #fixLocalNav ul li a:visited,
#fixLocalNavWrap #fixLocalNav ul li a:focus,
#fixLocalNavWrap #fixLocalNav ul li a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    #fixLocalNavWrap #fixLocalNav ul li a {
        transition-property: color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #fixLocalNavWrap #fixLocalNav ul li a:hover {
        color: #fff125
    }

    #fixLocalNavWrap #fixLocalNav ul li a:hover:visited,
    #fixLocalNavWrap #fixLocalNav ul li a:hover:focus,
    #fixLocalNavWrap #fixLocalNav ul li a:hover:active {
        color: #fff125
    }

    #fixLocalNavWrap #fixLocalNav ul li a:hover span {
        color: #fff125
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #fixLocalNavWrap #fixLocalNav ul li a {
        font-size: 2.8vw
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul li a {
        width: 100%;
        padding: 4vw 1vw;
        font-size: 4vw;
        display: block;
        box-sizing: border-box
    }
}

#fixLocalNavWrap #fixLocalNav ul li a span {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    #fixLocalNavWrap #fixLocalNav ul li a span {
        transition-property: color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo {
        width: 100%;
        margin-bottom: 3vw;
        order: 1
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo {
        width: 100%;
        border: none;
        background-color: #000;
        order: 1
    }
}

@media only screen and (min-width: 1020px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo a {
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo a:hover {
        opacity: .6
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo a {
        display: block;
        box-sizing: border-box
    }
}

#fixLocalNavWrap #fixLocalNav ul li.ondineLogo img {
    max-width: 127px;
    margin-right: auto;
    margin-left: auto;
    display: block
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo img {
        max-width: 20vw
    }
}

@media only screen and (max-width: 767px) {
    #fixLocalNavWrap #fixLocalNav ul li.ondineLogo img {
        max-width: 30vw
    }
}

.fixFormArea {
    width: 100%;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: rgba(0, 0, 0, .2);
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10000;
    font-size: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea {
        height: 10vw;
        padding-top: 0;
        padding-bottom: 0
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea {
        height: 15vw;
        padding-top: 0;
        padding-bottom: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea>.inner {
        width: 100%;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea>.inner {
        width: 100%;
        box-sizing: border-box
    }
}

.fixFormArea .formBtnArea {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center
}

.fixFormArea .formBtnArea>a {
    width: 48%;
    line-height: 1.2;
    padding: 18px 0;
    margin-left: 4%;
    font-size: 20px;
    font-weight: 700;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
    background-color: #cf032e;
    box-sizing: border-box;
    text-align: center;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff
}

.fixFormArea .formBtnArea>a:visited,
.fixFormArea .formBtnArea>a:focus,
.fixFormArea .formBtnArea>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .fixFormArea .formBtnArea>a:hover {
        background-color: #e3133f
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a {
        width: 50%;
        height: 10vw;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a {
        width: 50%;
        height: 15vw;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: 4vw
    }
}

.fixFormArea .formBtnArea>a:first-child {
    margin-left: 0
}

.fixFormArea .formBtnArea>a.btn_red {
    background-color: #cf032e
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_red:hover {
        background-color: #e3133f
    }
}

.fixFormArea .formBtnArea>a.btn_blue {
    background-color: #014084
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_blue:hover {
        background-color: #18589d
    }
}

.fixFormArea .formBtnArea>a.btn_green {
    background-color: #27a64b
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_green:hover {
        background-color: #39ba5d
    }
}

.fixFormArea .formBtnArea>a.btn_orange {
    background-color: #e84d3e
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_orange:hover {
        background-color: #d33829
    }
}

.fixFormArea .formBtnArea>a.btn_pink {
    background-color: #d41872
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_pink:hover {
        background-color: #b90e60
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.tabFull {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.spFull {
        width: 100%
    }
}

.fixFormArea .formBtnArea>a.telBtn {
    padding: 10px 0
}

.fixFormArea .formBtnArea>a.telBtn dl {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl {
        padding-right: 2%;
        padding-left: 2%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt {
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt {
        width: 100%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt>* {
    margin-top: 4px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt>* {
        margin-top: 1%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt>* {
        margin-top: 2%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt>*:first-child {
    margin-top: 0
}

.fixFormArea .formBtnArea>a.telBtn dl dt .text {
    font-size: 18px;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .text {
        font-size: 2.6vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .text {
        font-size: 4vw
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt .attention {
    font-size: 12px;
    font-weight: 400
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .attention {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .attention {
        font-size: 2.8vw
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dd {
    line-height: 1;
    margin-left: 20px;
    font-size: 27px;
    font-weight: 700;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd {
        margin-left: 1%;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd {
        display: none
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dd:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .1em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/telIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd:before {
        width: 3vw;
        height: 3vw
    }
}

.fixFormArea .formBtnArea.formTelVenue>a {
    margin-left: 3%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a {
        margin-left: 0;
        font-size: 2.5vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a {
        margin-left: 0
    }
}

.fixFormArea .formBtnArea.formTelVenue>a:first-child {
    margin-left: 0
}

.fixFormArea .formBtnArea.formTelVenue>a.sizeS {
    width: 26%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeS {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeS {
        width: 50%
    }
}

.fixFormArea .formBtnArea.formTelVenue>a.sizeM {
    width: 42%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeM {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeM {
        width: 48%
    }
}

.fixFormArea .formBtnArea.formTelVenue>a .formText:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .3em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/mailIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a .formText:before {
        width: 3vw;
        height: 3vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a .formText:before {
        width: 6.5vw;
        height: 6.5vw;
        margin-right: 0;
        display: none
    }
}

.fixFormArea .formBtnArea.formTelVenue>a .telText:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .3em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/telIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a .telText:before {
        width: 3vw;
        height: 3vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a .telText:before {
        width: 6.5vw;
        height: 6.5vw;
        margin-right: 0;
        display: none
    }
}

.venueListWrap {
    width: 100%
}

.venueListWrap>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap>* {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap>* {
        margin-top: 4%
    }
}

.venueListWrap>*:first-child {
    margin-top: 0
}

.venueListWrap.gold .venueList>ul>li>dl>dt>a {
    background-color: #c7ba9a
}

.venueListWrap.gold .venueList>ul>li>dl>dt>a.active {
    background-color: #938973
}

@media only screen and (min-width: 1020px) {
    .venueListWrap.gold .venueList>ul>li>dl>dt>a:hover {
        background-color: #938973
    }
}

.venueListWrap .venueList {
    width: 100%
}

.venueListWrap .venueList>ul>li {
    border-top: 1px solid #fff
}

.venueListWrap .venueList>ul>li:first-child {
    border-top: none
}

.venueListWrap .venueList>ul>li>dl {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt>a {
    width: 100%;
    padding: 15px 45px 15px 15px;
    display: block;
    background-color: #000;
    position: relative;
    box-sizing: border-box;
    color: #fff
}

.venueListWrap .venueList>ul>li>dl>dt>a:visited,
.venueListWrap .venueList>ul>li>dl>dt>a:focus,
.venueListWrap .venueList>ul>li>dl>dt>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .venueListWrap .venueList>ul>li>dl>dt>a:hover {
        background-color: #333
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        padding: 2vw 6vw 2vw 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        padding: 3vw 9vw 3vw 3vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt>a:before,
.venueListWrap .venueList>ul>li>dl>dt>a:after {
    width: 15px;
    height: 2px;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    right: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {

    .venueListWrap .venueList>ul>li>dl>dt>a:before,
    .venueListWrap .venueList>ul>li>dl>dt>a:after {
        width: 2vw;
        right: 2vw
    }
}

@media only screen and (max-width: 767px) {

    .venueListWrap .venueList>ul>li>dl>dt>a:before,
    .venueListWrap .venueList>ul>li>dl>dt>a:after {
        width: 3vw;
        right: 3vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt>a:before {
    margin-top: -1px;
    transform: rotate(90deg);
    top: 50%;
    transition-property: transform;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.venueListWrap .venueList>ul>li>dl>dt>a:after {
    margin-top: -1px;
    top: 50%
}

.venueListWrap .venueList>ul>li>dl>dt>a.active {
    background-color: #333
}

.venueListWrap .venueList>ul>li>dl>dt>a.active:before {
    transform: rotate(0deg)
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
    font-size: 24px;
    letter-spacing: .02em;
    text-align: center;
    line-height: 1
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
        font-size: 4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
    width: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
        width: 12vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
        width: 18vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
    font-size: 16px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
        font-size: 3.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
    padding-left: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
        padding-left: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
        padding-left: 2vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
    font-size: 16px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
        font-size: 3.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
    margin-left: 1em;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #fb4d4d
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
        font-size: 2.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #fff;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
        padding-top: 4%;
        padding-bottom: 4%
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
        padding-top: 5%;
        padding-bottom: 5%
    }
}

.venueListWrap .caution {
    line-height: 1.4;
    font-size: 14px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .caution {
        font-size: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .caution {
        font-size: 3.6vw
    }
}

@media only screen and (max-width: 767px) {
    .shopListTabWrap {
        margin-top: 4% !important
    }
}

.shopListTabWrap .shopListTabBtnWrap {
    width: 100%;
    height: 54px;
    background-color: #fff;
    border-radius: 50em;
    border: 2px solid #fff;
    position: relative
}

@media only screen and (max-width: 767px) {
    .shopListTabWrap .shopListTabBtnWrap {
        height: 45px
    }
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn {
    width: 52%;
    height: 54px;
    text-align: center;
    vertical-align: middle;
    color: #ff002a;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 22px;
    padding: 0 3%;
    line-height: 54px;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
    border-radius: 50em
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn:nth-child(1) {
    left: 0
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn:nth-child(2) {
    right: 0
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn.active {
    z-index: 3;
    background-color: #ff002a;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .shopListTabWrap .shopListTabBtnWrap .shopListTabBtn {
        height: 45px;
        line-height: 45px;
        font-size: 18px
    }
}

.shopListTabWrap .shopListTabBoxWrap {
    margin-top: 15px
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox {
    background-color: #fff;
    border: 2px solid #ff002a;
    border-radius: 4px;
    padding: 5%;
    box-sizing: border-box
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox>* {
    margin-top: 3%
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox>*:first-child {
    margin-top: 0
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .shop {
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: .05em
}

@media only screen and (max-width: 767px) {
    .shopListTabWrap .shopListTabBoxWrap .shopListTabBox .shop {
        font-size: 14px
    }
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .moreLink:before {
    content: "＞ ";
    color: #ff002a
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .moreLink a {
    color: #ff002a;
    text-decoration: underline
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .moreLink a:hover {
    text-decoration: none
}

@media only screen and (max-width: 1019px) {
    #vintage .btnArea a {
        padding: 0;
        display: block
    }
}

@media only screen and (min-width: 1020px) {
    .hoverUnder {
        position: relative;
        top: 0;
        left: 0;
        transition-property: top;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .hoverUnder:hover {
        top: -10px
    }
}

@media only screen and (min-width: 1020px) {
    .hoverUnderOpacity {
        position: relative;
        top: 0;
        left: 0;
        transition-property: top, opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .hoverUnderOpacity:hover {
        top: 5px;
        opacity: .8
    }
}

.scaling {
    display: inline-block;
    -webkit-animation-name: animationScaling;
    animation-name: animationScaling;
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
    -webkit-animation-play-state: running;
    animation-play-state: running
}

@-webkit-keyframes animationScaling {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(.95)
    }
}

@keyframes animationScaling {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(.95)
    }
}

#wrap {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    box-sizing: border-box
}

.inner {
    width: calc(100%*calc(778/840));
    max-width: 640px
}

.middleInner {
    width: 90%;
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box
}

@media only screen and (max-width: 1019px) {
    .middleInner {
        width: 90%
    }
}

.smallInner {
    width: 85%;
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box
}

@media only screen and (max-width: 1019px) {
    .smallInner {
        width: 80%
    }
}

.flex {
    display: flex
}

.textArea .leadText {
    font-size: 16px
}

@media only screen and (max-width: 767px) {
    .textArea .leadText {
        line-height: 1.6;
        font-size: 13px
    }
}

.color_gold {
    color: #a37e2c
}

.reservationBtnListArea>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .reservationBtnListArea>* {
        margin-top: 1vw
    }
}

@media only screen and (max-width: 767px) {
    .reservationBtnListArea>* {
        margin-top: 2vw
    }
}

.reservationBtnListArea>*:first-child {
    margin-top: 0
}

.setListWrap .setList {
    line-height: 1.4;
    padding-top: .8em;
    padding-bottom: .8em
}

.slick-prev,
.slick-next {
    background-color: #d2bf85
}

.sliderArea .slick-slide {
    margin: 0 23px
}

@media only screen and (max-width: 767px) {
    .sliderArea .slick-slide {
        margin: 0 13px
    }
}

.sliderArea .slick-dots li button:before {
    background-color: #acacac
}

.sliderArea .slick-dots li.slick-active button:before {
    background-color: #cda317
}

.venueTitleArea>* {
    margin-top: 30px
}

.venueTitleArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .venueTitleArea>* {
        margin-top: 20px
    }
}

.venueTitleArea .area {
    color: #fff;
    text-align: center;
    font-size: 38px;
    padding: .7em 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff
}

@media only screen and (max-width: 767px) {
    .venueTitleArea .area {
        font-size: 25px;
        padding: .5em 0
    }
}

.venueTitleArea .place {
    color: #fff;
    text-align: center;
    font-size: 28px
}

@media only screen and (max-width: 767px) {
    .venueTitleArea .place {
        font-size: 17px
    }
}

.serif {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

#shopListTop {
    margin-top: -3%;
    position: relative;
    z-index: 100
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #shopListTop {
        margin-top: -4%
    }
}

@media only screen and (max-width: 767px) {
    #shopListTop {
        margin-top: -10%
    }
}

#shopListTop .shopListTopTitleArea {
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 32px;
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #shopListTop .shopListTopTitleArea {
        font-size: 24px;
        top: -45px
    }
}

@media only screen and (max-width: 767px) {
    #shopListTop .shopListTopTitleArea {
        font-size: 20px;
        top: -28px
    }
}

#shopListTop .shopListTabWrap {
    margin-top: 0
}

#shopListTop .shopListTabWrap .shopListTabBtnWrap {
    background-color: silver;
    border-color: silver
}

#shopListTop .shopListTabWrap .shopListTabBtnWrap .shopListTabBtn {
    background-color: silver;
    color: #000;
    font-family: -apple-system, BlinkMacSystemFont, "Avenir", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700
}

#shopListTop .shopListTabWrap .shopListTabBtnWrap .shopListTabBtn.active {
    background-color: #000;
    color: #fff
}

#shopListTop .shopListTabWrap .shopListTabBox {
    border-color: #000
}

.otherEventWrap {
    position: relative
}

.otherEventWrap .otherEvent {
    margin-top: 45px
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent {
        margin-top: 7%
    }
}

.otherEventWrap .otherEvent:first-child {
    margin-top: 0
}

.otherEventWrap .otherEvent:first-child .otherEventInner {
    padding-top: 0;
    border-top: none
}

.otherEventWrap .otherEvent:nth-child(even) .otherEventInner {
    flex-direction: row
}

.otherEventWrap .otherEvent:nth-child(even) .otherEventInner .bannerArea {
    margin-left: 0;
    margin-right: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .otherEventWrap .otherEvent:nth-child(even) .otherEventInner .bannerArea {
        margin-right: 3%
    }
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent:nth-child(even) .otherEventInner .bannerArea {
        margin-right: auto;
        margin-left: auto
    }
}

.otherEventWrap .otherEvent:before {
    content: "";
    width: 100%;
    height: 93%;
    display: block;
    background-color: #f5f5f5;
    position: absolute;
    bottom: 25px
}

.otherEventWrap .otherEvent .otherEventInner {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-direction: row-reverse;
    padding-top: 45px;
    border-top: 1px solid #ccc
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner {
        display: block;
        padding-top: 7%
    }
}

.otherEventWrap .otherEvent .otherEventInner.column1 {
    flex-wrap: wrap;
    flex-direction: column-reverse
}

.otherEventWrap .otherEvent .otherEventInner.column1 .bannerArea,
.otherEventWrap .otherEvent .otherEventInner.column1 .textArea {
    width: 100%;
    margin-left: 0;
    margin-right: 0
}

.otherEventWrap .otherEvent .otherEventInner.column1 .bannerArea {
    margin-top: 20px
}

.otherEventWrap .otherEvent .otherEventInner .bannerArea {
    width: 48%;
    margin-left: 20px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .otherEventWrap .otherEvent .otherEventInner .bannerArea {
        width: 45%;
        margin-left: 3%
    }
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .bannerArea {
        width: 65%;
        margin-right: auto;
        margin-left: auto
    }
}

.otherEventWrap .otherEvent .otherEventInner .bannerArea.column2 {
    width: 100%;
    display: flex;
    justify-content: center
}

.otherEventWrap .otherEvent .otherEventInner .bannerArea.column2 a {
    width: 48%;
    display: block;
    margin-left: 5%
}

.otherEventWrap .otherEvent .otherEventInner .bannerArea.column2 a:first-of-type {
    margin-left: 0
}

.otherEventWrap .otherEvent .otherEventInner .bannerArea img {
    width: 100%
}

.otherEventWrap .otherEvent .otherEventInner .textArea {
    width: 350px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea {
        width: 48%
    }
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea {
        width: 100%;
        margin-top: 6vw
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea>* {
    margin-top: 40px
}

.otherEventWrap .otherEvent .otherEventInner .textArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea>* {
        margin-top: 6vw
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea .titleText>* {
    margin-top: 15px
}

.otherEventWrap .otherEvent .otherEventInner .textArea .titleText>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .titleText>* {
        margin-top: 3.5vw;
        text-align: center
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea .titleText .title {
    font-size: 32px;
    color: #ba012b;
    line-height: 1.2;
    font-weight: 700;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .titleText .title {
        font-size: 6vw
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea .titleText .title.sizeS {
    font-size: 28px
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .titleText .title.sizeS {
        font-size: 5.7vw
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea .titleText .text {
    font-size: 16px;
    line-height: 1.8
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .titleText .text {
        font-size: 3.8vw;
        line-height: 1.6
    }
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .btn {
        text-align: center
    }
}

.otherEventWrap .otherEvent .otherEventInner .textArea .btn a {
    width: 260px;
    display: inline-block;
    border-radius: 50em;
    color: #fff;
    font-size: 20px;
    padding: .8em 1em;
    box-sizing: border-box;
    background-color: #ba012b;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/venueInfo/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: 90% center
}

@media only screen and (min-width: 1020px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .btn a {
        transition-property: all;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .otherEventWrap .otherEvent .otherEventInner .textArea .btn a:hover {
        background-color: #a10026;
        background-position: 93% center
    }
}

@media only screen and (max-width: 767px) {
    .otherEventWrap .otherEvent .otherEventInner .textArea .btn a {
        width: 60%;
        font-size: 4.2vw;
        text-align: left;
        padding: 1.2em
    }
}

#favorite {
    background-color: #c9a059;
    position: relative
}

#favorite .sectionTitleArea {
    width: 45%;
    position: absolute;
    left: 1%;
    top: -3%
}

@media only screen and (max-width: 767px) {
    #favorite .sectionTitleArea {
        top: 2%
    }
}

#favorite .favoriteInner {
    width: 80%;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    #favorite .favoriteInner {
        width: 86%
    }
}

#favorite .favoriteText {
    font-size: 20px;
    line-height: 1.6
}

@media only screen and (max-width: 767px) {
    #favorite .favoriteText {
        font-size: 15px
    }
}

#gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList {
    justify-content: center
}

.kvWrap {
    text-align: center;
    position: relative;
    z-index: 2
}

.kvWrap .kvImg {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block
}

.kvWrap .add {
    padding: 3% 0;
    background-color: #000;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .kvWrap .add {
        padding: 5% 0
    }
}

@media only screen and (max-width: 767px) {
    .kvWrap .add img {
        width: 70%
    }
}

#infoBanner .bannerWrap {
    display: flex;
    justify-content: center
}

#infoBanner .bannerWrap a {
    display: block;
    width: 460px
}

#infoBanner .bannerWrap a:not(:first-of-type) {
    margin-left: 20px
}

#point .sectionTitleArea {
    position: relative
}

#point .sectionTitleArea .subTitle {
    width: 45%;
    text-align: center;
    position: absolute;
    left: 0;
    top: 60px;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 25px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    line-height: 1.4;
    padding: .4em 0
}

@media only screen and (max-width: 1019px) {
    #point .sectionTitleArea .subTitle {
        width: 40%;
        font-size: 3.2vw;
        top: 30%;
        left: 5%
    }
}

#point .sectionTitleArea .subTitle .big {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-weight: 700
}

#point .photoArea {
    margin-top: 0
}

#brandLogo {
    background-color: #c10d2a
}

#brandLogo .underline {
    text-decoration: underline;
    color: #fff
}

#brandLogo .underline:hover {
    text-decoration: none
}

#aboutOndine .aboutOndine_titleArea {
    padding: 7% 0 15%;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/aboutOndine/cloud1.png), url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/aboutOndine/cloud2.png);
    background-repeat: no-repeat, no-repeat;
    background-size: 25% auto, 35% auto;
    background-position: top right, bottom left
}

#aboutOndine .aboutOndine_titleArea>* {
    margin-top: 3%
}

#aboutOndine .aboutOndine_titleArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndine_titleArea>* {
        margin-top: 5%
    }
}

#aboutOndine .aboutOndine_titleArea .title {
    font-size: 42px;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    text-align: center;
    letter-spacing: .05em
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndine_titleArea .title {
        font-size: 6vw
    }
}

#aboutOndine .aboutOndine_titleArea .catch {
    font-size: 25px;
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    text-align: center;
    letter-spacing: .05em;
    line-height: 1.6
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndine_titleArea .catch {
        font-size: 4.2vw
    }
}

#aboutOndine .aboutOndine_titleArea .text {
    font-size: 22px;
    text-align: center;
    line-height: 1.6;
    letter-spacing: .05em
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndine_titleArea .text {
        font-size: 3.75vw
    }
}

#aboutOndine .aboutOndineListArea {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/aboutOndine/flower1.png), url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/aboutOndine/flower2.png);
    background-repeat: no-repeat, no-repeat;
    background-size: 25% auto, 24% auto;
    background-position: top right, bottom left;
    padding-bottom: 10%
}

#aboutOndine .aboutOndineListArea>.title {
    text-align: center
}

#aboutOndine .aboutOndineListArea .aboutOndineList {
    margin-top: 5%
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndineListArea .aboutOndineList {
        margin-top: 8%
    }
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl {
    display: flex;
    align-items: center
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl:nth-child(odd) {
    flex-direction: row-reverse
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl:nth-child(odd) dd {
    text-align: left
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dt {
    width: 50%
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dt img {
    width: 100%
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd {
    width: 50%;
    text-align: right;
    padding: 0 5%;
    box-sizing: border-box
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd>* {
    margin-top: 1%
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd>*:first-child {
    margin-top: 0
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd .listTitle {
    font-size: 28px;
    color: #c00d29;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndineListArea .aboutOndineList dl dd .listTitle {
        font-size: 3.75vw
    }
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd .listTitle.small {
    font-size: 25px
}

@media only screen and (max-width: 767px) {
    #aboutOndine .aboutOndineListArea .aboutOndineList dl dd .listTitle.small {
        font-size: 3.3vw
    }
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd .text {
    font-size: 20px;
    line-height: 1.5
}

@media only screen and (max-width: 1019px) {
    #aboutOndine .aboutOndineListArea .aboutOndineList dl dd .text {
        font-size: 2.8vw
    }
}

.sectionTitleArea {
    position: relative
}

.sectionTitleArea .persona {
    width: 33%;
    position: absolute;
    left: 0
}

#eventAll .eventAll_event {
    background-repeat: repeat-y;
    background-size: 100% auto
}

#eventAll .eventAll_event>* {
    margin-top: 40px
}

#eventAll .eventAll_event>*:first-child {
    margin-top: 0
}

#eventAll .eventAll_event .infoWrap>* {
    margin-top: 30px
}

#eventAll .eventAll_event .infoWrap>*:first-child {
    margin-top: 0
}

.section .persona {
    width: 97%;
    position: absolute;
    left: 50%;
    margin-left: -48.5%
}

#mamafuriTitle {
    padding: 2.77% 2.77% 0;
    box-sizing: border-box
}

#mamafuriTitle .sectionInner {
    background-color: #fff;
    padding: 10% 5%;
    box-sizing: border-box
}

#mamafuriTitle .sectionInner>* {
    margin-top: 5%
}

#mamafuriTitle .sectionInner>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .sectionInner>* {
        margin-top: 8%
    }
}

#mamafuriTitle .mamafuriTitle_titleArea {
    width: 90%;
    margin-right: auto;
    margin-left: auto
}

#mamafuriTitle .mamafuriTitle_titleArea>* {
    margin-top: 4%
}

#mamafuriTitle .mamafuriTitle_titleArea>*:first-child {
    margin-top: 0
}

#mamafuriTitle .mamafuriTitle_titleArea .title {
    border-top: 1px solid #c00d29;
    border-bottom: 1px solid #c00d29;
    color: #c00d29;
    padding: .6em 0;
    font-size: 45px;
    line-height: 1;
    font-weight: 700
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .mamafuriTitle_titleArea .title {
        font-size: 5.5vw;
        padding: .8em 0
    }
}

#mamafuriTitle .mamafuriTitle_titleArea .catch {
    font-size: 32px;
    line-height: 1.56;
    text-align: center
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .mamafuriTitle_titleArea .catch {
        font-size: 4.5vw
    }
}

#mamafuriTitle .quocardArea .titleArea {
    background-color: #c00d29;
    box-sizing: border-box
}

#mamafuriTitle .quocardArea .titleArea .title {
    color: #fff;
    font-weight: 700;
    text-align: center;
    font-size: 32px;
    padding: .5em
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .titleArea .title {
        font-size: 4.5vw;
        padding: .8em 0
    }
}

#mamafuriTitle .quocardArea .cardArea {
    background-color: #f9f2e5;
    padding: 3%;
    box-sizing: border-box
}

#mamafuriTitle .quocardArea .cardArea .text {
    display: flex;
    justify-content: space-between;
    align-items: center
}

#mamafuriTitle .quocardArea .cardArea .text .mochikomi {
    background-color: #c00d29;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    padding: .5em;
    line-height: 1.3;
    box-sizing: border-box
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .mochikomi {
        font-size: 2.8vw
    }
}

#mamafuriTitle .quocardArea .cardArea .text .quoText {
    color: #005bac;
    font-size: 25px;
    font-weight: 700;
    margin-top: 2%
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .quoText {
        font-size: 3.4vw
    }
}

#mamafuriTitle .quocardArea .cardArea .text .price {
    font-size: 50px;
    font-weight: 700;
    color: #c00d29
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .price {
        font-size: 6.2vw
    }
}

#mamafuriTitle .quocardArea .cardArea .text .price .small {
    font-size: 18px;
    font-weight: 500
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .price .small {
        font-size: 3vw
    }
}

#mamafuriTitle .quocardArea .cardArea .text .present {
    color: #c00d29;
    font-weight: 700;
    font-size: 25px;
    margin-top: 2%
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .present {
        font-size: 3.4vw
    }
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .quocardArea .cardArea .text .card {
        width: 13%
    }
}

#mamafuriTitle .photoArea>* {
    margin-top: 3%
}

#mamafuriTitle .photoArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    #mamafuriTitle .photoArea>* {
        margin-top: 5%
    }
}

#mamafuriTitle .photoArea .title {
    text-align: center;
    font-weight: 700;
    font-size: 30px;
    font-weight: 700
}

@media only screen and (max-width: 1019px) {
    #mamafuriTitle .photoArea .title {
        font-size: 4vw
    }
}

#mamafuriTitle .photoArea .title .red {
    color: #c00d29
}

#mamafuri .mamafuriTitle_titleArea {
    width: 90%;
    margin-right: auto;
    margin-left: auto
}

#mamafuri .mamafuriTitle_titleArea>* {
    margin-top: 4%
}

#mamafuri .mamafuriTitle_titleArea>*:first-child {
    margin-top: 0
}

#mamafuri .mamafuriTitle_titleArea .title {
    margin-top: 8%
}

#mamafuri .mamafuriTitle_titleArea .title span {
    color: #e62577;
    border-bottom: 3px solid #e62577;
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    padding: .2em 0
}

@media only screen and (max-width: 1019px) {
    #mamafuri .mamafuriTitle_titleArea .title span {
        font-size: 5.5vw
    }
}

#mamafuri .mamafuriTitle_titleArea .catch {
    font-size: 26px;
    line-height: 1.56;
    text-align: center
}

@media only screen and (max-width: 1019px) {
    #mamafuri .mamafuriTitle_titleArea .catch {
        font-size: 4.5vw
    }
}

#mamafuri .fukidashiTitleArea {
    background-color: #156524;
    position: relative
}

#mamafuri .fukidashiTitleArea:after {
    width: 0;
    height: 0;
    content: "";
    display: block;
    border-top: 25px solid #156524;
    border-right: 8px solid rgba(0, 0, 0, 0);
    border-bottom: 0 solid rgba(0, 0, 0, 0);
    border-left: 8px solid rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin-left: -8px
}

#mamafuri .fukidashiTitleArea .title {
    text-align: center;
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    padding: .8em;
    box-sizing: border-box
}

@media only screen and (max-width: 1019px) {
    #mamafuri .fukidashiTitleArea .title {
        font-size: 5vw
    }
}

#mamafuri .sectionTitleArea .persona {
    top: -5%
}

#brand .textArea>*,
#fun .textArea>* {
    margin-top: 1.5%
}

#brand .textArea>*:first-child,
#fun .textArea>*:first-child {
    margin-top: 0
}

#brand .textArea a.underline,
#fun .textArea a.underline {
    text-decoration: underline;
    color: #c10e2b
}

#brand .textArea a.underline:hover,
#fun .textArea a.underline:hover {
    text-decoration: none
}

#photoplan {
    background-color: #ffdbe5
}

#photoplan .persona {
    top: -11%
}

@media only screen and (max-width: 1019px) {
    #photoplan .persona {
        top: -13%
    }
}

.shopInfoSection {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/shopInfo/bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.shopInfoSection>.inner {
    max-width: 862px
}

.shopInfoSection .sectionTitleArea .title img {
    width: 100%
}

.shopInfoSection .venueInformationBox {
    margin: 50px auto 0;
    padding: 70px 5%;
    width: 862px;
    background-color: #fff;
    box-sizing: border-box;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px
}

@media only screen and (max-width: 1019px) {
    .shopInfoSection .venueInformationBox {
        width: 95.7%;
        border-bottom-left-radius: 2.7vw;
        border-bottom-right-radius: 2.7vw
    }
}

@media only screen and (max-width: 767px) {
    .shopInfoSection .venueInformationBox {
        padding: 14% 5%
    }
}

@media only screen and (min-width: 1020px) {
    .shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoMain .detailBlock .dlWrap dl dd .leadText {
        font-size: 25px
    }
}

.shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoMain .detailBlock .dlWrap dl dd .accessMap img {
    width: 60%
}

@media only screen and (max-width: 767px) {
    .shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoMain .detailBlock .dlWrap dl dd .accessMap img {
        width: 90%
    }
}

.shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoTel .dlWrap dl dt {
    flex: none;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    .shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoTel .dlWrap dl dt {
        font-size: 4.6vw
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoTel .dlWrap dl dd a .num {
        font-size: 38px
    }
}

@media only screen and (max-width: 767px) {
    .shopInfoSection .venueInformationBox .venueInformationArea .venueInformationInner .infoTel .dlWrap dl dd a .num {
        font-size: 8vw
    }
}

@media only screen and (min-width: 1020px) {
    .shopInfoSection .venueInformationBox .photoList li+li {
        margin-top: 45px
    }
}

@media only screen and (max-width: 1019px) {
    .shopInfoSection#shopInfo_kokura .sectionInner {
        padding-bottom: 6%
    }
}

@media only screen and (max-width: 767px) {
    .shopInfoSection#shopInfo_kokura .sectionInner {
        padding-top: 0
    }
}

#set .setListBox .caution {
    margin-top: 15px
}

#measures .point {
    margin-top: 140px
}

@media only screen and (max-width: 767px) {
    #measures .point {
        margin-top: 20%
    }
}

#measures .point:first-child {
    margin-top: 0
}

#measures .point .pointHeader {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap
}

#measures .point .pointHeader.rowR {
    flex-direction: row-reverse
}

#measures .point .pointHeader.rowR .text .pointTitle {
    padding-left: 0
}

#measures .point .pointHeader.rowR .text .pointTitle h3 {
    padding-top: 10px;
    padding-right: 10px;
    position: relative
}

#measures .point .pointHeader.rowR .text .comment {
    padding-left: 0
}

#measures .point .pointHeader .thumnail {
    width: 45%
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .thumnail {
        width: 100%;
        margin-bottom: 7%
    }
}

#measures .point .pointHeader .text {
    width: 100%
}

#measures .point .pointHeader .text .pointTitle {
    padding-bottom: 20px;
    padding-left: 20%;
    margin-bottom: 30px;
    border-bottom: 1px solid #333;
    display: flex;
    justify-content: flex-start
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .pointTitle {
        padding-left: 0;
        padding-bottom: 12px;
        margin-top: 15px;
        margin-bottom: 15px;
        text-align: center
    }
}

#measures .point .pointHeader .text .pointTitle .num p {
    line-height: 1;
    font-family: "Cinzel", serif;
    text-align: center;
    color: #9c0011
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .pointTitle .num p {
        font-size: 10px
    }
}

#measures .point .pointHeader .text .pointTitle .num p.num {
    height: 48px;
    margin-top: 0;
    font-size: 56px
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .pointTitle .num p.num {
        font-size: 11vw
    }
}

#measures .point .pointHeader .text .pointTitle h3 {
    padding-top: 10px;
    padding-right: 10px;
    font-family: "Noto Serif JP", serif;
    font-size: 48px;
    font-feature-settings: "palt";
    position: relative
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .pointTitle h3 {
        text-align: center;
        letter-spacing: .05em;
        font-size: 6.8vw
    }
}

#measures .point .pointHeader .text .pointTitle h3 small {
    font-size: 70%;
    font-family: "Noto Serif JP", serif
}

#measures .point .pointHeader .text .pointTitle h3 span {
    font-family: "Noto Serif JP", serif
}

#measures .point .pointHeader .text .pointTitle h3 span.red {
    color: #9c0011;
    font-family: "Noto Serif JP", serif
}

#measures .point .pointHeader .text .pointTitle h3:before {
    width: 15px;
    height: 15px;
    content: "";
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0
}

#measures .point .pointHeader .text .pointTitle h3:after {
    width: 15px;
    height: 15px;
    content: "";
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0
}

#measures .point .pointHeader .text .comment {
    padding-left: 20%
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .comment {
        padding-left: 0
    }
}

#measures .point .pointHeader .text .comment div {
    line-height: 1;
    padding: 12px;
    margin-bottom: 12px;
    display: inline-block;
    background-color: #b11335;
    color: #fff
}

#measures .point .pointHeader .text .comment p {
    line-height: 1.5;
    font-size: 17px;
    font-feature-settings: "palt"
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .comment p {
        line-height: 1.7;
        font-size: 3.75vw
    }
}

#measures .point .pointHeader .text .comment p.catch {
    line-height: 1.6;
    margin-bottom: 14px;
    font-family: "Cinzel", serif;
    font-size: 24px
}

@media only screen and (max-width: 767px) {
    #measures .point .pointHeader .text .comment p.catch {
        margin-bottom: 0;
        font-size: 4.5vw
    }
}

#measures .point .taisaku {
    margin-top: 60px
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku {
        margin-top: 10%
    }
}

#measures .point .taisaku h3 {
    padding-left: 30px;
    margin-bottom: 20px;
    font-weight: 400;
    position: relative;
    font-size: 20px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku h3 {
        margin-bottom: 20px;
        font-size: 4vw
    }
}

#measures .point .taisaku h3:after {
    width: 24px;
    height: 2px;
    content: "";
    background-color: #9c0011;
    position: absolute;
    top: 50%;
    left: 0
}

#measures .point .taisaku ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

#measures .point .taisaku ul.column2 li {
    width: 47%
}

@media only screen and (min-width: 1020px) {
    #measures .point .taisaku ul.column2 li {
        margin-top: 40px
    }

    #measures .point .taisaku ul.column2 li:nth-of-type(-n+2) {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #measures .point .taisaku ul.column2 li {
        margin-top: 40px
    }

    #measures .point .taisaku ul.column2 li:nth-of-type(-n+2) {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul.column2 li {
        width: 100%
    }
}

#measures .point .taisaku ul.column4 li {
    width: 30%
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul.column4 li {
        width: 100%
    }
}

#measures .point .taisaku ul.column4 li {
    width: 23.5%
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul.column4 li {
        width: 100%
    }
}

#measures .point .taisaku ul li {
    width: 30%
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul li {
        width: 100%;
        margin-top: 7%;
        display: flex;
        justify-content: space-between
    }

    #measures .point .taisaku ul li:nth-child(1) {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul li .thum {
        width: 35%;
        height: auto
    }
}

#measures .point .taisaku ul li .thum img {
    width: 100%
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul li .text {
        width: 60%
    }
}

#measures .point .taisaku ul li h4 {
    line-height: 1.4;
    margin-top: 20px;
    margin-bottom: 15px;
    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    font-feature-settings: "palt";
    text-align: center
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul li h4 {
        margin-top: 0;
        margin-bottom: 8px;
        text-align: left;
        font-size: 5vw
    }
}

#measures .point .taisaku ul li p {
    line-height: 1.5;
    margin-top: 10px;
    font-size: 13px
}

@media only screen and (max-width: 767px) {
    #measures .point .taisaku ul li p {
        margin-top: 10px;
        font-size: 3.4vw
    }
}

#measures .point .apeal {
    width: 86%;
    height: 540px;
    margin: 0 auto;
    margin-top: 100px;
    position: relative
}

@media only screen and (max-width: 767px) {
    #measures .point .apeal {
        width: 100%;
        height: 45vh;
        margin-top: 7%
    }
}

#measures .point .apeal .img01 {
    position: absolute;
    bottom: 0;
    left: 0
}

@media only screen and (max-width: 767px) {
    #measures .point .apeal .img01 {
        width: 65%
    }
}

#measures .point .apeal .img02 {
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (max-width: 767px) {
    #measures .point .apeal .img02 {
        width: 90%
    }
}

#measures .point .apeal .catch {
    width: 480px;
    position: absolute;
    right: 120px;
    bottom: 80px;
    z-index: 10
}

@media only screen and (max-width: 767px) {
    #measures .point .apeal .catch {
        width: 80%;
        right: 6%;
        bottom: 16%
    }
}

#measures .point .apeal .catch p {
    padding: 24px;
    font-family: "Noto Serif JP", serif;
    font-size: 21px;
    background-color: #9c0011;
    color: #fff;
    display: inline-block
}

@media only screen and (max-width: 767px) {
    #measures .point .apeal .catch p {
        padding: 12px;
        font-size: 4.5vw
    }
}

#measures .point .apeal .catch p:last-child {
    margin-left: 30px
}

.venueHere .venueHereList {
    display: flex;
    align-items: stretch;
    justify-content: center
}

@media only screen and (max-width: 1019px) {
    .venueHere .venueHereList {
        flex-wrap: wrap
    }
}

.venueHere .venueHereList>a {
    width: 32%;
    padding: 1.2em .5em;
    margin-left: 2%;
    background-color: #ff1973;
    border-radius: 5px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    color: #fff
}

.venueHere .venueHereList>a:visited,
.venueHere .venueHereList>a:focus,
.venueHere .venueHereList>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .venueHere .venueHereList>a {
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .venueHere .venueHereList>a:hover {
        opacity: .8
    }
}

@media only screen and (max-width: 767px) {
    .venueHere .venueHereList>a {
        width: 48%;
        padding: .8em 0;
        margin-top: 4%;
        margin-left: 4%
    }

    .venueHere .venueHereList>a:nth-child(-n+2) {
        margin-top: 0
    }
}

.venueHere .venueHereList>a:first-child {
    margin-left: 0
}

.venueHere .venueHereList>a>p {
    color: inherit;
    text-align: center
}

.venueHere .venueHereList>a>p>span {
    display: inline-block;
    color: inherit;
    box-sizing: border-box
}

.venueHere .venueHereList>a .area {
    line-height: 1;
    padding-bottom: .4em;
    font-size: 22px;
    font-weight: 700;
    border-bottom: 3px solid #fff
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueHere .venueHereList>a .area {
        font-size: 2.6vw
    }
}

@media only screen and (max-width: 767px) {
    .venueHere .venueHereList>a .area {
        font-size: 4.2vw
    }
}

.venueHere .venueHereList>a .place {
    width: 100%;
    line-height: 1.4;
    margin-top: 16px;
    font-size: 22px;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueHere .venueHereList>a .place {
        margin-top: 1.8vw;
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueHere .venueHereList>a .place {
        margin-top: 3vw;
        font-size: 3.6vw
    }
}

.venueHere .venueHereList>a .place .minText {
    font-size: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueHere .venueHereList>a .place .minText {
        font-size: 1.56vw
    }
}

@media only screen and (max-width: 767px) {
    .venueHere .venueHereList>a .place .minText {
        font-size: 2.77vw
    }
}

#gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>a .placeInfo .address {
    text-align: center
}

.venueInfoTargetArea {
    margin-top: 0
}

.venueInfoTargetArea .targetWrap {
    background-color: #f3f3f3;
    padding: 4%;
    border-right: 1px solid #cc6c78;
    border-left: 1px solid #cc6c78;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .venueInfoTargetArea .targetWrap {
        padding: 6% 5%
    }
}

.venueInfoTargetArea .targetWrap .title {
    color: #d94c41;
    font-weight: 700;
    font-size: 19px;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    .venueInfoTargetArea .targetWrap .title {
        font-size: 16px
    }
}

.venueInfoTargetArea .targetWrap .text {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .venueInfoTargetArea .targetWrap .text {
        font-size: 13px
    }
}

.venueInfoTargetArea .caution {
    font-size: 12px;
    line-height: 1.5
}

.fixFormArea {
    width: 100%;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: rgba(0, 0, 0, .2);
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10000;
    font-size: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea {
        height: 10vw;
        padding-top: 0;
        padding-bottom: 0
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea {
        height: 15vw;
        padding-top: 0;
        padding-bottom: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea>.inner {
        width: 100%;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea>.inner {
        width: 100%;
        box-sizing: border-box
    }
}

.fixFormArea .formBtnArea {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center
}

.fixFormArea .formBtnArea>a {
    width: 48%;
    line-height: 1.2;
    padding: 18px 0;
    margin-left: 4%;
    font-size: 20px;
    font-weight: 700;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
    background-color: #cf032e;
    box-sizing: border-box;
    text-align: center;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff
}

.fixFormArea .formBtnArea>a:visited,
.fixFormArea .formBtnArea>a:focus,
.fixFormArea .formBtnArea>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .fixFormArea .formBtnArea>a:hover {
        background-color: #e3133f
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a {
        width: 50%;
        height: 10vw;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a {
        width: 50%;
        height: 15vw;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 0;
        border-radius: 0;
        font-size: 4vw
    }
}

.fixFormArea .formBtnArea>a:first-child {
    margin-left: 0
}

.fixFormArea .formBtnArea>a.btn_red {
    background-color: #cf032e
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_red:hover {
        background-color: #e3133f
    }
}

.fixFormArea .formBtnArea>a.btn_blue {
    background-color: #014084
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_blue:hover {
        background-color: #18589d
    }
}

.fixFormArea .formBtnArea>a.btn_green {
    background-color: #27a64b
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_green:hover {
        background-color: #39ba5d
    }
}

.fixFormArea .formBtnArea>a.btn_orange {
    background-color: #e84d3e
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_orange:hover {
        background-color: #d33829
    }
}

.fixFormArea .formBtnArea>a.btn_pink {
    background-color: #d41872
}

@media only screen and (min-width: 1020px) {
    .fixFormArea .formBtnArea>a.btn_pink:hover {
        background-color: #b90e60
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.tabFull {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.spFull {
        width: 100%
    }
}

.fixFormArea .formBtnArea>a.telBtn {
    padding: 10px 0
}

.fixFormArea .formBtnArea>a.telBtn dl {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl {
        padding-right: 2%;
        padding-left: 2%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt {
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt {
        width: 100%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt>* {
    margin-top: 4px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt>* {
        margin-top: 1%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt>* {
        margin-top: 2%
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt>*:first-child {
    margin-top: 0
}

.fixFormArea .formBtnArea>a.telBtn dl dt .text {
    font-size: 18px;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .text {
        font-size: 2.6vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .text {
        font-size: 4vw
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dt .attention {
    font-size: 12px;
    font-weight: 400
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .attention {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dt .attention {
        font-size: 2.8vw
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dd {
    line-height: 1;
    margin-left: 20px;
    font-size: 27px;
    font-weight: 700;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd {
        margin-left: 1%;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd {
        display: none
    }
}

.fixFormArea .formBtnArea>a.telBtn dl dd:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .1em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/telIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea>a.telBtn dl dd:before {
        width: 3vw;
        height: 3vw
    }
}

.fixFormArea .formBtnArea.formTelVenue>a {
    margin-left: 3%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a {
        margin-left: 0;
        font-size: 2.5vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a {
        margin-left: 0
    }
}

.fixFormArea .formBtnArea.formTelVenue>a:first-child {
    margin-left: 0
}

.fixFormArea .formBtnArea.formTelVenue>a.sizeS {
    width: 26%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeS {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeS {
        width: 50%
    }
}

.fixFormArea .formBtnArea.formTelVenue>a.sizeM {
    width: 42%
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeM {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a.sizeM {
        width: 48%
    }
}

.fixFormArea .formBtnArea.formTelVenue>a .formText:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .3em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/mailIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a .formText:before {
        width: 3vw;
        height: 3vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a .formText:before {
        width: 6.5vw;
        height: 6.5vw;
        margin-right: 0;
        display: none
    }
}

.fixFormArea .formBtnArea.formTelVenue>a .telText:before {
    width: 25px;
    height: 25px;
    content: "";
    margin-right: .3em;
    display: inline-block;
    vertical-align: top;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/fix/telIcon.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .fixFormArea .formBtnArea.formTelVenue>a .telText:before {
        width: 3vw;
        height: 3vw
    }
}

@media only screen and (max-width: 767px) {
    .fixFormArea .formBtnArea.formTelVenue>a .telText:before {
        width: 6.5vw;
        height: 6.5vw;
        margin-right: 0;
        display: none
    }
}

#gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>a .placeInfo .address {
    text-align: center
}

#venueInfoOutsideWrap {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/venueInfoOutside/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top
}

#venueInfoOutsideWrap .venueInformationArea {
    background-color: #fff
}

#venueInfoOutsideWrap .accessMap img {
    width: 90%
}

@media only screen and (max-width: 767px) {
    #venueInfoOutsideWrap .accessMap img {
        width: 100%
    }
}

#grandelita {
    background-color: #261f27
}

#grandelita .sliderArea .slideListWrap .slideList .slide {
    margin: 0 10px
}

@media only screen and (max-width: 767px) {
    #grandelita .sliderArea .slideListWrap .slideList .slide {
        margin: 0 5px
    }
}

#grandelita .sliderArea .slick-dots {
    margin-top: 30px
}

@media only screen and (max-width: 1019px) {
    #lpMonthlyCalendarInfoWrap #selectShopContact .selectShopFestaPlaceWrap {
        align-items: flex-start
    }
}

#lpMonthlyCalendarInfoWrap #selectShopContact .selectShopContactContents .selectShopListWrap dl {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 40px
}

@media only screen and (max-width: 767px) {
    #lpMonthlyCalendarInfoWrap #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        margin-top: 10vw
    }
}

#lpMonthlyCalendarInfoWrap #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
    display: block !important
}

.shopListTabWrap .shopListTabBtnWrap {
    background-color: #ffd2d8;
    border-color: #ffd2d8
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn {
    color: #ac041b
}

.shopListTabWrap .shopListTabBtnWrap .shopListTabBtn.active {
    background-color: #ac041b
}

.shopListTabWrap .areaCaution {
    text-align: center;
    font-size: 16px;
    margin: 3% 0 3%;
    color: #c00d29
}

@media only screen and (max-width: 767px) {
    .shopListTabWrap .areaCaution {
        font-size: 12px;
        margin-bottom: 5%
    }
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox {
    border: 2px solid #ac041b
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .moreLink:before {
    color: #ac041b
}

.shopListTabWrap .shopListTabBoxWrap .shopListTabBox .moreLink a {
    color: #ac041b
}

.shopListTabWrap>.catch {
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.5
}

.shopListTabWrap>.catch a {
    color: #c00d29;
    text-decoration: underline
}

@media only screen and (min-width: 1020px) {
    .shopListTabWrap>.catch a:hover {
        text-decoration: none
    }
}

#eventAll {
    background-color: #000
}

#eventAll .sectionEventArea {
    padding-top: 7%;
    padding-bottom: 10%;
    background-size: cover;
    background-position: 40% bottom;
    background-repeat: no-repeat
}

#eventAll .sectionEventArea>* {
    margin-top: 10%
}

#eventAll .sectionEventArea>*:first-child {
    margin-top: 0
}

@media only screen and (max-width: 767px) {
    #eventAll .sectionEventArea>* {
        margin-top: 14%
    }
}

#eventAll .eventAll_event>* {
    margin-top: 6%
}

#eventAll .eventAll_event>*:first-child {
    margin-top: 0
}

#eventAll .infoWrap>* {
    margin-top: 4%
}

#eventAll .infoWrap>*:first-child {
    margin-top: 0
}

html {
    font-size: 100%
}

@media (min-width: 834px) {
    .pcH834 {
        display: none
    }
}

@media (max-width: 834px) {
    .pcV {
        display: none
    }
}

@media (min-width: 834px) {
    .spV {
        display: none
    }
}

:root {
    --g-inner-size: .9;
    --c-main: #ad0d15;
    --c-sub: #cf7377;
    --g-font-sans: Hiragino Kaku Gothic ProN, Hiragino Sans, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Meiryo, Noto Sans JP, sans-serif;
    --g-font-sans-latin: Helvetica Neue, San Fransisco, Arial, Roboto, Noto Sans, sans-serif;
    --g-font-serif: Hiragino Mincho ProN, 游明朝体, YuMincho, 游明朝, Yu Mincho, Noto Serif JP, serif;
    --g-font-serif-latin: Times New Roman, Noto Serif, serif;
    --g-font-sans-mod: Helvetica Neue, Arial, Roboto, Hiragino Kaku Gothic ProN, Hiragino Sans, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Meiryo, Noto Sans JP, sans-serif;
    --g-font-yugo: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, Noto Sans JP, sans-serif;
    --g-font-yugo-mod: Helvetica Neue, Arial, Roboto, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, Noto Sans JP, sans-serif;
    --g-font-yumin: 游明朝体, YuMincho, 游明朝, Yu Mincho, Hiragino Mincho ProN, Noto Serif JP, serif;
    --g-font-noto: Noto Sans JP, Hiragino Kaku Gothic ProN, Hiragino Sans, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Meiryo, Noto Sans JP, sans-serif;
    --g-font-notoserif: Noto Serif JP, Hiragino Mincho ProN, 游明朝体, YuMincho, 游明朝, Yu Mincho, Noto Serif JP, serif;
    --g-font-cinzel: Cinzel, Times New Roman, Noto Serif, serif;
    --g-font-barlowcondensed: Barlow Condensed, Helvetica Neue, San Fransisco, Arial, Roboto, Noto Sans, sans-serif;
    --g-font-materialsymbols-outlined: Material Symbols Outlined;
    --g-font-materialsymbols-round: Material Symbols Round;
    --g-font-materialsymbols-sharp: Material Symbols Sharp;
    --g-font-materialicons: Material Icons;
    --g-font-materialicons-outlined: Material Icons Outlined;
    --g-font-materialicons-round: Material Icons Round;
    --g-font-materialicons-sharp: Material Icons Sharp;
    --g-font-materialicons-twotone: Material Icons Two Tone
}

.big {
    font-size: 1.4em
}

.small {
    font-size: .8em
}

.required {
    color: #c00;
    font-size: 10px;
    font-weight: 700
}

.bold {
    font-weight: 700
}

*:not(#foo) .colorWhite {
    color: #fff
}

*:not(#foo) a.colorWhite {
    color: #fff
}

*:not(#foo) a.colorWhite:visited,
*:not(#foo) a.colorWhite:focus,
*:not(#foo) a.colorWhite:active {
    color: #fff
}

.hoverOpacity {
    transition: all .3s
}

.hoverOpacity:active {
    opacity: .8
}

@media (hover: hover) {
    .hoverOpacity:hover {
        opacity: .8
    }
}

a {
    display: inline-block
}

#gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>a .placeName,
#gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>span .placeName {
    font-size: 42px
}

@media only screen and (max-width: 1019px) {

    #gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>a .placeName,
    #gaihanFormModalBoxContents .gaihanFormModalSelectStores .gaihanFormModalSelectStoreList>span .placeName {
        font-size: 7.4vw
    }
}

#brand .sectionTitleArea,
#refund,
#benefits {
    margin-top: -5px
}

#brand .sectionTitleArea,
#refund,
#flow,
#mamafuri,
#benefits {
    background-position: top, bottom;
    background-size: 100% 10%, 100% 90%;
    background-repeat: no-repeat
}

#brand .sectionTitleArea,
#refund,
#flow,
#mamafuri,
#benefits {
    background-image: linear-gradient(var(--s-bg-first), var(--s-bg-first)), linear-gradient(var(--s-bg-last), var(--s-bg-last))
}

#flow .sectionInner,
#mamafuri .sectionInner,
#contract {
    background-image: var(--s-bg-layer);
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat
}

#benefits {
    background-color: #f5c4c8
}

#eventAll {
    background-color: initial
}

#eventAll .eventAll_event>*:not(:first-child) {
    margin-top: 30px
}

@media (max-width: 767.98px) {
    #eventAll .eventAll_event>*:not(:first-child) {
        margin-top: 10%
    }
}

#mamafuri {
    --s-bg-first: transparent;
    --s-bg-last: #efe6dc
}

#flow {
    --s-bg-first: transparent;
    --s-bg-last: #ece5d3
}

#refund {
    --s-bg-last: transparent
}

.section {
    position: relative
}

.sectionInner {
    padding-block: calc(8rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .sectionInner {
        padding-block: 12%
    }
}

.sectionInner.ptNone,
.sectionInner.pTNone,
.sectionInner.spPtNone {
    padding-top: 0
}

.sectionInner.pbNone,
.sectionInner.pBNone,
.sectionInner.spPbNone {
    padding-bottom: 0
}

#mamafuri .sectionInner {
    --s-bg-layer: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/mamafuri/bg.png)
}

#flow .sectionInner {
    --s-bg-layer: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/flow/bg.png)
}

.sectionInner>*:not(:first-child) {
    margin-top: calc(3rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .sectionInner>*:not(:first-child) {
        margin-top: 5%
    }
}

#refund .sectionInner>*:not(:first-child) {
    margin-top: calc(6rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    #refund .sectionInner>*:not(:first-child) {
        margin-top: 8%
    }
}

.sectionInner>*.mtNone,
.sectionInner>*.mTNone,
.sectionInner>*.spMtNone {
    margin-top: 0
}

.sectionInnerSec>*:not(:first-child) {
    margin-top: 30px
}

@media (max-width: 767.98px) {
    .sectionInnerSec>*:not(:first-child) {
        margin-top: 7%
    }
}

#byStyle .sectionInnerSec {
    margin-top: 60px
}

@media (max-width: 767.98px) {
    #byStyle .sectionInnerSec {
        margin-top: 10%
    }
}

#brand .sectionTitleArea {
    --s-bg-last: transparent;
    background-size: 100% 15%, 100% 90%
}

.rentBuySetCaution {
    --s-padding: 1em;
    font-size: calc(2rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .rentBuySetCaution {
        font-size: calc(100vw*(16/375))
    }
}

.rentBuySetCaution:not(#foo) {
    margin-top: calc(4.5rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .rentBuySetCaution:not(#foo) {
        margin-top: 7%
    }
}

.rentBuySetCaution__cnt {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-bottom: var(--s-padding)
}

.rentBuySetCaution__text {
    border-top: 1px solid #e1e1e1;
    padding-top: var(--s-padding);
    text-align: center;
    font-size: inherit;
    line-height: 1.2;
    font-family: var(--g-font-yugo);
    color: #3b1900
}

.rentBuySetCaution__text a {
    font-weight: 700;
    font-family: inherit;
    color: #3b1900;
    text-decoration: underline
}

.rentBuySetCaution__text a:visited,
.rentBuySetCaution__text a:focus,
.rentBuySetCaution__text a:active {
    color: #3b1900
}

@media (hover: hover) {
    .rentBuySetCaution__text a:hover {
        text-decoration: none
    }
}

.rentBuySetCaution__text a:is(:focus, :active) {
    text-decoration: none
}

.rentBuySetBlock {
    display: grid;
    justify-items: center;
    align-items: center;
    gap: .5em;
    font-size: calc(2.2rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .rentBuySetBlock {
        font-size: calc(100vw*(18/375))
    }
}

.rentBuySetBlock__text {
    text-align: center;
    font-weight: 700;
    font-size: inherit;
    font-family: var(--g-font-yugo);
    color: #3b1900
}

@media (max-width: 767.98px) {
    .rentBuySetBlock__text {
        line-height: 1.2
    }
}

.scrollSliderSec {
    --s-gap: calc(2rem/var(--calc-root-fz));
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 90% 1fr;
    grid-template-areas: ". a .";
    row-gap: var(--s-gap, calc(2rem/var(--calc-root-fz)))
}

.scrollSliderSec * {
    box-sizing: border-box
}

.scrollSliderSec:not(#foo) {
    margin-top: calc(4.5rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .scrollSliderSec:not(#foo) {
        margin-top: 7%
    }
}

.scrollSliderSec>* {
    grid-column: a
}

.scrollSliderSec__title {
    display: grid;
    justify-content: start;
    align-items: baseline;
    grid-auto-flow: column;
    gap: calc(1rem/var(--calc-root-fz));
    font-weight: 700;
    font-size: calc(4.2rem/var(--calc-root-fz));
    line-height: 1.1;
    font-family: var(--g-font-sans);
    color: #1c0005
}

@media (max-width: 767.98px) {
    .scrollSliderSec__title {
        font-size: calc(100vw*(28/375))
    }
}

.scrollSliderSec__title:before {
    content: "";
    display: block;
    width: 10px;
    height: 100%;
    background-color: #1c0005
}

.scrollSliderSec__title>span {
    font-size: .6em;
    font-family: inherit
}

.scrollSliderSec__cnt {
    grid-column: 2/span 2
}

.scrollSlider {
    box-sizing: border-box
}

.scrollSlider * {
    box-sizing: border-box
}

.scrollSliderCard {
    box-sizing: border-box;
    display: grid;
    gap: var(--s-gap, calc(1rem/var(--calc-root-fz)));
    width: calc(28rem/var(--calc-root-fz))
}

.scrollSliderCard * {
    box-sizing: border-box
}

@media (max-width: 767.98px) {
    .scrollSliderCard {
        width: 53vw
    }
}

.scrollSliderCard--byStyle {
    width: calc(31rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .scrollSliderCard--byStyle {
        width: 53vw
    }
}

.scrollSliderCard--flow {
    width: calc(37rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .scrollSliderCard--flow {
        width: 53vw
    }
}

.scrollSliderCard__image {
    position: relative
}

.scrollSliderCard__image img {
    width: 100%
}

.scrollSliderCard__textWrap {
    --s-gap-ex: calc(var(--s-gap)*0.5);
    display: grid;
    gap: var(--s-gap-ex, calc(1rem/var(--calc-root-fz)))
}

.priceTextSet {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .2em;
    font-size: calc(3.6rem/var(--calc-root-fz))
}

.priceTextSet * {
    box-sizing: border-box
}

@media (max-width: 767.98px) {
    .priceTextSet {
        font-size: calc(100vw*(32/375))
    }
}

@media (max-width: 767.98px) {
    .priceTextSet {
        gap: .1em
    }
}

.priceTextSet__priceWrap {
    display: grid;
    align-items: baseline;
    grid-auto-flow: column;
    gap: calc(.5rem/var(--calc-root-fz));
    font-size: inherit
}

.priceTextSet__yen {
    font-size: .85em;
    font-family: var(--g-font-barlowcondensed)
}

.priceTextSet__price {
    font-size: inherit;
    font-family: var(--g-font-barlowcondensed)
}

.priceTextSet__tax {
    font-size: .4em;
    font-family: var(--g-font-yugo)
}

.rentBuyLogo {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
    padding: .2em;
    width: 7em;
    text-align: center;
    font-weight: 700;
    font-size: calc(1.5rem/var(--calc-root-fz));
    font-family: var(--g-font-yugo);
    color: #fff
}

@media (max-width: 767.98px) {
    .rentBuyLogo {
        font-size: calc(100vw*(12/375))
    }
}

.rentBuySetBlock .rentBuyLogo {
    width: 6.5em;
    font-size: calc(2.4rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .rentBuySetBlock .rentBuyLogo {
        font-size: calc(100vw*(18/375))
    }
}

.rentBuyLogo--rent {
    letter-spacing: .1em;
    background-color: #9c0011
}

.rentBuyLogo--buy {
    background-color: #8196c7
}

.rentBuyLogo__firstLetter {
    display: inline-block;
    font-family: inherit
}

.rentBuyLogo__firstLetter:first-letter {
    -webkit-margin-end: .5em;
    margin-inline-end: .5em
}

.rentBuyLogo__number {
    display: inline-block;
    padding: .1em .2em 0;
    padding-left: .5em;
    font-size: 1.25em;
    font-family: inherit;
    letter-spacing: .015em;
    background-color: #fff;
    -webkit-clip-path: polygon(.5em 0, 100% 0%, 100% 100%, 0 100%);
    clip-path: polygon(.5em 0, 100% 0%, 100% 100%, 0 100%)
}

.rentBuyLogo--rent .rentBuyLogo__number {
    color: #9c0011
}

.rentBuyLogo--buy .rentBuyLogo__number {
    color: #8196c7
}

.rentBuySetBlock .rentBuyLogo__number {
    font-size: 1.1em
}

.swiper {
    max-width: 100%
}

.swiper-slide {
    width: initial
}

.swiper-slide:not(:last-of-type) {
    margin-right: var(--s-gap, calc(2rem/var(--calc-root-fz)))
}

.noneSliderView {
    z-index: 1;
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5%
}

.noneSliderView__item {
    position: relative
}

.productNum {
    position: absolute;
    left: 0;
    bottom: 0;
    display: grid;
    justify-items: center;
    align-items: center;
    padding: .4em .6em;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-size: calc(1.6rem/var(--calc-root-fz));
    font-family: var(--g-font-sans);
    color: #fff;
    background-color: #1c0005
}

@media (max-width: 767.98px) {
    .productNum {
        font-size: calc(100vw*(13/375))
    }
}

@media (max-width: 767.98px) {
    .productNum {
        padding: .3em .5em
    }
}

.productLabel {
    --scope-s: 65px;
    --inset-pos: calc(var(--scope-s)/3*-1);
    position: absolute;
    top: var(--inset-pos);
    right: var(--inset-pos);
    width: var(--scope-s);
    height: var(--scope-s)
}

@media (max-width: 767.98px) {
    .productLabel {
        --scope-s: 13vw
    }
}

#byStyle .productLabel {
    --inset-pos: calc(var(--scope-s)/5*-1);
    --inset-pos-bs: calc(var(--scope-s)/3*-1);
    top: var(--inset-pos-bs)
}

*:not(#foo) .productLabel+* {
    --scope-cal: var(--inset-pos);
    top: calc(var(--scope-cal) + var(--scope-s) + var(--scope-s)/10)
}

#byStyle *:not(#foo) .productLabel+* {
    --scope-cal: var(--inset-pos-bs)
}

.productLabel img {
    display: block;
    width: 100%;
    height: auto
}

#eventPoint .photoList {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

#eventPoint .photoList>li {
    display: grid;
    justify-items: center;
    align-content: start;
    margin-top: 0
}

#eventPoint .photoList>li>*:not(:first-child) {
    margin-top: 30px
}

@media (max-width: 767.98px) {
    #eventPoint .photoList>li>*:not(:first-child) {
        margin-top: 10%
    }
}

.textArea .leadText {
    font-size: calc(1.8rem/var(--calc-root-fz));
    font-family: var(--g-font-sans);
    line-height: 1.6;
    letter-spacing: .015em
}

@media (max-width: 767.98px) {
    .textArea .leadText {
        font-size: calc(100vw*(15/375))
    }
}

#benefits .textArea .leadText {
    color: #000
}

#refund .textArea .leadText {
    text-align: center;
    font-size: calc(2.4rem/var(--calc-root-fz));
    line-height: 1.8;
    font-family: var(--g-font-yugo);
    color: #3b1900
}

@media (max-width: 767.98px) {
    #refund .textArea .leadText {
        font-size: calc(100vw*(15/375))
    }
}

.textArea .text {
    font-size: calc(1.6rem/var(--calc-root-fz));
    font-family: var(--g-font-sans);
    line-height: 1.6;
    letter-spacing: .015em
}

@media (max-width: 767.98px) {
    .textArea .text {
        font-size: calc(100vw*(14/375))
    }
}

.btnWrap {
    transition: all .3s
}

.btnWrap:active {
    opacity: .7
}

@media (hover: hover) {
    .btnWrap:hover {
        opacity: .7
    }
}

.setLinkBtnWrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(1.7rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .setLinkBtnWrap {
        gap: 3vw
    }
}

.setLinkBtnWrap--fullWidth {
    grid-template-columns: 100%;
    margin-bottom: 25px
}

.setLinkBtn {
    --s-setlinkbtn-p: .8em;
    position: relative;
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    gap: 1em;
    padding: var(--s-setlinkbtn-p);
    line-height: 1.4;
    font-weight: 700;
    font-size: calc(1.8rem/var(--calc-root-fz));
    font-family: var(--g-font-sans);
    color: #fff;
    transition: all .3s
}

.setLinkBtn:visited,
.setLinkBtn:focus,
.setLinkBtn:active {
    color: #fff
}

.setLinkBtn:active {
    opacity: .8
}

@media (hover: hover) {
    .setLinkBtn:hover {
        opacity: .8
    }
}

@media (max-width: 767.98px) {
    .setLinkBtn {
        --s-setlinkbtn-p: .5em;
        justify-content: start;
        padding-block: .8em;
        padding-left: calc(var(--s-setlinkbtn-p) + .4em);
        padding-right: calc(var(--s-setlinkbtn-p) + 1em);
        font-size: min(100vw*(15/375), 1.5rem/var(--calc-root-fz))
    }
}

.setLinkBtn:after {
    --s-size: 1em;
    content: "";
    position: absolute;
    right: var(--s-setlinkbtn-p);
    display: block;
    width: var(--s-size);
    height: var(--s-size);
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/button/chevron_right.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat
}

.setLinkBtn--rent {
    background-color: #c11f2e
}

.setLinkBtn--buy {
    background-color: #8196c7
}

.aroundAreaSet {
    display: grid;
    gap: 1em;
    font-size: calc(1.6rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .aroundAreaSet {
        font-size: calc(100vw*(14/375))
    }
}

.aroundAreaSet__innerWrap {
    display: grid;
    gap: .5em
}

.aroundAreaSet__areaName {
    font-size: inherit
}

.aroundAreaList {
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    font-size: calc(1.6rem/var(--calc-root-fz))
}

@media (max-width: 767.98px) {
    .aroundAreaList {
        font-size: calc(100vw*(13/375))
    }
}

.aroundAreaList__item {
    font-size: inherit
}

.venueInfoTargetArea .targetWrap>*:not(:first-child) {
    margin-top: 13px
}

@media (max-width: 767.98px) {
    .venueInfoTargetArea .targetWrap>*:not(:first-child) {
        margin-top: 4.5%
    }
}

.refundLinkBtn {
    display: grid;
    justify-items: center;
    align-items: center;
    border-radius: .7em;
    margin-inline: auto;
    padding: 1em;
    width: 15em;
    font-weight: 700;
    font-size: calc(2.8rem/var(--calc-root-fz));
    font-family: var(--g-font-yugo);
    letter-spacing: .1em;
    color: #fff;
    background-color: #9c0011
}

@media (max-width: 767.98px) {
    .refundLinkBtn {
        font-size: calc(100vw*(15/375))
    }
}

.refundLinkBtn:visited,
.refundLinkBtn:focus,
.refundLinkBtn:active {
    color: #fff
}

.venueInfoTitle {
    --s-color: #9c0011;
    display: grid;
    justify-items: center;
    color: var(--s-color);
    font-family: var(--g-font-yugo)
}

.venueInfoTitle__en {
    display: grid;
    justify-items: center;
    align-items: center;
    font-size: calc(1.9rem/var(--calc-root-fz));
    font-family: inherit;
    letter-spacing: .1em
}

@media (max-width: 767.98px) {
    .venueInfoTitle__en {
        font-size: calc(100vw*(14/375))
    }
}

.venueInfoTitle__en:after {
    content: "";
    display: block;
    margin-top: .7em;
    margin-bottom: 1.1em;
    width: calc(3rem/var(--calc-root-fz));
    height: 2px;
    background-color: var(--s-color)
}

.venueInfoTitle__jp {
    font-weight: 700;
    font-size: calc(6rem/var(--calc-root-fz));
    font-family: inherit;
    letter-spacing: .01em
}

@media (max-width: 767.98px) {
    .venueInfoTitle__jp {
        font-size: calc(100vw*(36/375))
    }
}

*:not(#foo) .venueInfoAddLabel {
    font-weight: 500;
    font-size: 1.2em;
    font-size: calc(2rem/var(--calc-root-fz));
    color: #d8453a
}

@media (max-width: 767.98px) {
    *:not(#foo) .venueInfoAddLabel {
        font-size: calc(100vw*(16/375))
    }
}

@media (max-width: 767.98px) {
    *:not(#foo) .venueInfoAddLabel {
        padding-block: .4em
    }
}

#venueInfoOutside {
    font-family: var(--g-font-yugo-mod);
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/venueInfoOutside/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top
}

#venueInfoOutside * {
    font-family: inherit
}

#venueInfoOutside .venueInformationArea {
    background-color: #fff
}

.venueInfoTargetArea .targetWrap .title {
    color: #9c0011
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .placePoint {
    background-color: #9c0011
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .placePoint:before {
    border-top-color: #9c0011
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .placePoint .text {
    font-family: var(--g-font-yugo)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .shopName .company {
    font-family: var(--g-font-yugo)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .shopName .name {
    font-family: var(--g-font-yugo)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .address .text {
    font-family: var(--g-font-yugo)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .telInfo .title {
    font-family: var(--g-font-yugo)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .telInfo .telLink .text {
    font-family: var(--g-font-sans-mod)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .mainCont .textArea .telInfo .telLink .num {
    font-family: var(--g-font-sans-mod)
}

.venueInfoPhotoAndTextWrap .venueInfoPhotoAndText .gMap dl dt a {
    font-family: var(--g-font-sans-mod)
}

#aboutOndine .aboutOndine_titleArea .title {
    font-family: var(--g-font-yumin)
}

#aboutOndine .aboutOndine_titleArea .catch {
    font-family: var(--g-font-yumin)
}

#aboutOndine .aboutOndine_titleArea .text {
    font-family: var(--g-font-sans)
}

#aboutOndine .aboutOndineListArea .aboutOndineList dl dd .listTitle,
#aboutOndine .aboutOndineListArea .aboutOndineList dl dd .text {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .mainTitleArea .titleBox .en {
    font-family: var(--g-font-sans-latin)
}

#set .setBlock .setBlockInner .mainTitleArea .titleBox .title {
    font-family: var(--g-font-yumin)
}

#set .setBlock .setBlockInner .mainTitleArea .textBox .text {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .num,
#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .numBox .text {
    font-family: var(--g-font-yumin)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .main {
    font-family: var(--g-font-yumin)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .titleArea .textBox .en {
    font-family: var(--g-font-sans-latin)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dt span {
    font-family: var(--g-font-yumin)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listSubTitle {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd ol li {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd ol li span {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .caution {
    font-family: var(--g-font-sans)
}

#set .setBlock .setBlockInner .setListBoxWrap .setListBox .setListArea dl dd .listTitle.buy {
    font-family: var(--g-font-sans)
}

#measures .point .pointHeader.rowR .text .pointTitle h3 *:not(#foo) {
    font-family: var(--g-font-sans)
}

#measures .point .pointHeader.rowR .text .comment p {
    font-family: var(--g-font-sans)
}

#measures .point .pointHeader.rowR .text .comment p.catch {
    font-family: var(--g-font-sans)
}

#measures .point .taisaku h3 {
    font-family: var(--g-font-sans)
}

#measures .point .taisaku ul li h4 {
    font-weight: 700;
    font-family: var(--g-font-sans)
}

#measures .point .taisaku ul li p {
    font-family: var(--g-font-sans)
}

body {
    background-color: #f3e7ea;
    /* color: #002d5c */
}

.textArea .text {
    color: #231815
}

a:active {
    color: #fff
}

html {
    scroll-behavior: smooth
}

section.place ul li .links__btn {
    position: relative;
    background-color: #27bacb;
    color: #fff;
    border: double 15px #27bacb;
    font-size: clamp(.68rem, 1.25vw, 16px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    outline: 1px solid #27bacb !important;
    outline-offset: 2px;
    margin: 3px
}

section.place ul li .links__btn:after {
    position: absolute;
    content: "";
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/button/arrow.svg);
    background-size: 16px 16px;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    display: inline-block;
    transition: all ease .3s;
    top: 0;
    right: 10px
}

.links__btns {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    text-align: center;
    justify-content: center
}

.venueInfo .links__btn {
    position: relative;
    background-color: #27bacb;
    color: #fff;
    border: double 10px #27bacb;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    outline: 1px solid #27bacb !important;
    outline-offset: 2px;
    margin: 3px
}

.links__btns a:visited,
a:active {
    color: #fff
}

.venueInfo .links__btn:after {
    position: absolute;
    content: "";
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/button/arrow.svg);
    background-size: 16px 16px;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    display: inline-block;
    transition: all ease .3s;
    top: 0;
    right: 10px
}

.venueInfo .links__btn span {
    font-size: 14px;
    margin-left: 10px
}

.venueInfo .links__btns {
    flex-direction: row;
    width: 100%
}

.venueInfo .links__btns.links__btns--wrap {
    flex-wrap: wrap
}

.venueInfo .links__btn {
    border: 3px solid #27bacb;
    border-radius: 10px;
    background: 0 0;
    color: #27bacb;
    padding: 10px 0;
    width: 100%;
    outline: none !important
}

.venueInfo .links__btn:after {
    content: none
}

.venueInfo .links__btns.links__btns--wrap .links__btn {
    width: 48%
}

.venueInfo .links__btn.active {
    color: #fff;
    background-color: #1ab6c8
}

section.place ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

section.place li {
    width: calc((100% - 6px)/2);
    width: 100%
}

section.place {
    padding: 25px 15px 9px
}

section.place li span {
    font-size: 14px;
    padding-left: 10px
}

section.place ul li:last-of-type .links__btn {
    background-color: #4dd6e5;
    border: double 15px #4dd6e5;
    outline: 1px solid #4DD6E5 !important
}

#present {
    padding: 0 15px;
    margin-bottom: 25px
}

#present img {
    margin-top: 16px
}

.contract {
    margin-top: 10px
}

.contract .contractBox {
    margin-top: 16px
}

.contract .contractBox img:nth-of-type(3),
.contract .contractBox img:nth-of-type(4) {
    margin: 16px 0
}

.contract .contractBox .textArea {
    margin-top: 16px;
    font-size: 12px
}

.fadein {
    opacity: 0;
    transition-property: all;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1);
    transition-delay: 0s
}

.fadein.scrollin {
    opacity: 1
}

.fadein.slideT {
    position: relative;
    top: 2rem
}

.fadein.slideT.scrollin {
    top: 0
}

.fadein.slideTL {
    position: relative;
    top: -1.5rem;
    left: -1.5rem
}

.fadein.slideTL.scrollin {
    top: 0;
    left: 0
}

.fadein.slideL {
    position: relative;
    left: 2rem
}

.fadein.slideL.scrollin {
    left: 0
}

.cta_btn {
    margin: 25px 0
}

.setLinkBtn--rent {
    /* background-color: #002d5c; */
    justify-content: center
}

.setLinkBtn:after {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/button/bottom_arrow.svg)
}

#SpecialEvent {
    padding: 24px 15px 82px;
    margin-bottom: 25px;
    background: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../images/add02/bg.webp) no-repeat center/cover
}

#SpecialEvent .title {
    margin-bottom: 24px
}

#SpecialEvent .textArea {
    margin: 15px 0
}

.event02 {
    margin-top: 25px
}

.imghover {
    position: relative
}

.imghover img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    display: block;
    transition: .7s;
    max-width: 267px;
    height: 68.83px
}

.imghover img:nth-of-type(1) {
    opacity: 0
}

.imghover:hover img:nth-of-type(2) {
    opacity: 0
}

.imghover:hover img:nth-of-type(1) {
    opacity: 1
}

.imghover a {
    display: block;
    width: 267px;
    height: 68.83px
}

.original .title {
    padding-left: 15px;
    padding-right: 15px
}

.original {
    margin-top: 25px
}

.original .brand>ul {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    margin: 15px 0
}

.slider {
    padding: 0 15px;
    margin-bottom: 25px
}

.slider li {
    margin: 0 7.5px
}

.slider .slick-prev:before {
    content: '' !important;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/slick/slick_prev.svg);
    width: 30px;
    height: 30px;
    transform: none;
    background-size: contain;
    opacity: 1 !important;
    z-index: 1 !important;
    background-repeat: no-repeat;
    margin: 0;
    left: 33px;
    position: absolute;
    border: none
}

.slider .slick-next:before {
    content: '' !important;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/slick/slick_next.svg);
    width: 30px;
    height: 30px;
    transform: none;
    background-size: contain;
    opacity: 1 !important;
    z-index: 1 !important;
    background-repeat: no-repeat;
    margin: 0;
    right: 33px;
    position: absolute;
    border: none
}

.slider .slick-dots li button:before {
    width: 8px;
    height: 8px
}

.slider .slick-dots li button {
    width: 8px;
    height: 8px
}

.slider .slick-dots li {
    width: 8px;
    height: 8px
}

.slider .slick-dots li.slick-active button:before {
    color: #27bacb
}

.place_id {
    padding: 0 15px;
    margin-bottom: 25px;
    margin-top: 50px
}

.venueInfo .place__item {
    display: none;
    margin-top: 8px
}

.place__item h3 {
    font-size: 20px;
    color: #fff;
    background-color: #1ab6c8;
    display: flex;
    justify-content: center;
    height: 50px;
    align-items: center;
    font-weight: 700;
    border-radius: 10px
}

.place__item dt {
    font-size: 15px;
    background-color: #76c9cd;
    display: inline-block;
    padding: 8px;
    color: #fff;
    white-space: nowrap
}

.place__item .item {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 10px 0
}

.place__item .item.parking span {
    font-size: 14px
}

.place__item .place dd {
    font-size: clamp(24px, 4vw, 42px);
    font-weight: 700
}

.place__item .access {
    color: #27bacb;
    font-weight: 700;
    gap: 5px;
    line-height: 1.2
}

.place__item .access img {
    width: 30px;
    height: auto
}

.place__item {
    border: 2px solid #27bacb;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 25px
}

.place__item .date__detail span {
    font-size: 20px
}

.place__item .date__detail,
.place__item .parking {
    font-weight: 700
}

.place__item .schedule {
    line-height: 1.5
}

.reservation__text {
    border: 1px solid #1ab6c8;
    display: inline-block;
    padding: 5px 10px;
    font-size: 14px;
    margin-bottom: 10px;
    margin-top: 10px
}

.shopinfo {
    font-size: 14px;
    line-height: 1.3
}

.shopinfo h4 {
    font-weight: 700
}

.place__item .cta_btn {
    margin-bottom: 15px
}

.place dd span {
    font-size: clamp(18px, 3vw, 30px)
}

.gMap dd {
    display: none
}

.gMap dt {
    /* background-color: #002d5c; */
    display: block;
    text-align: center;
    font-size: clamp(16px, 2.4vw, 24px);
    font-weight: 600;
    padding: 15px
}

.gMap dt:hover {
    cursor: pointer
}

.gMap a {
    color: #fff
}

.gMap iframe {
    width: 100%
}

.gMap dd.active .map {
    margin-top: 15px
}

.gMap.inner {
    margin: 15px auto
}

@media (max-width: 599px) {
    .place__item .cta_btn {
        margin-bottom: 10px
    }
}

.others__inner {
    padding: 0 15px
}

.others__inner img,
.others__inner div {
    margin-bottom: 25px
}

.others__inner div img {
    margin-bottom: 4px
}

.others__inner div p {
    font-size: 12px;
    color: #000
}

.image_block {
    padding: 0 15px
}

#wrap {
    padding-bottom: 0;
    word-break: break-all
}

footer {
    /* background-color: #002d5c; */
    color: #fff;
    text-align: center;
    padding: 50px 0 134px
}

footer a {
    font-size: 20px;
    margin-top: 10px;
    font-weight: 600
}

@media (max-width: 599px) {
    footer {
        padding: 50px 0 108.5px
    }
}

#place01 .place dd span {
    margin-left: 10px
}

h2.title {
    margin-bottom: 15px
}

img.mb20 {
    margin-bottom: 20px
}

#Discount {
    padding-left: 15px;
    padding-right: 15px
}

footer a {
    color: #fff
}

footer a:visited {
    color: #fff
}

.brand {
    margin-bottom: 50px
}

.brand .slick-dots {
    bottom: -15px
}

.original .textArea {
    padding-left: 15px;
    padding-right: 15px
}

.place a {
    transition: all .3s
}

@media (hover: hover) {
    .place a:hover {
        opacity: .8
    }
}

.venueListWrap {
    width: 100%
}

.venueListWrap>* {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap>* {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap>* {
        margin-top: 4%
    }
}

.venueListWrap>*:first-child {
    margin-top: 0
}

.venueListWrap.gold .venueList>ul>li:nth-of-type(2n+1)>dl>dt>a {
    background-color: #5dc7d0
}

.venueListWrap.gold .venueList>ul>li:nth-of-type(2n)>dl>dt>a {
    background-color: #99dee3
}

.venueListWrap.gold .venueList>ul>li:nth-of-type(2n+1)>dl>dt>a.active {
    background-color: #52b1b9
}

.venueListWrap.gold .venueList>ul>li:nth-of-type(2n)>dl>dt>a.active {
    background-color: #5dc7d0
}

@media only screen and (min-width: 1020px) {
    .venueListWrap.gold .venueList>ul>li:nth-of-type(2n+1)>dl>dt>a:hover {
        background-color: #52b1b9
    }

    .venueListWrap.gold .venueList>ul>li:nth-of-type(2n)>dl>dt>a:hover {
        background-color: #5dc7d0
    }
}

.venueListWrap .venueList {
    width: 100%
}

.venueListWrap .venueList>ul>li {
    border-top: 1px solid #fff
}

.venueListWrap .venueList>ul>li:first-child {
    border-top: none
}

.venueListWrap .venueList>ul>li>dl {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt>a {
    width: 100%;
    padding: 15px 45px 15px 15px;
    display: block;
    background-color: #000;
    position: relative;
    box-sizing: border-box;
    color: #fff
}

.venueListWrap .venueList>ul>li>dl>dt>a:visited,
.venueListWrap .venueList>ul>li>dl>dt>a:focus,
.venueListWrap .venueList>ul>li>dl>dt>a:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .venueListWrap .venueList>ul>li>dl>dt>a:hover {
        background-color: #333
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        padding: 2vw 6vw 2vw 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt>a {
        padding: 3vw 9vw 3vw 3vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt>a:before,
.venueListWrap .venueList>ul>li>dl>dt>a:after {
    width: 15px;
    height: 2px;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    right: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {

    .venueListWrap .venueList>ul>li>dl>dt>a:before,
    .venueListWrap .venueList>ul>li>dl>dt>a:after {
        width: 2vw;
        right: 2vw
    }
}

@media only screen and (max-width: 767px) {

    .venueListWrap .venueList>ul>li>dl>dt>a:before,
    .venueListWrap .venueList>ul>li>dl>dt>a:after {
        width: 3vw;
        right: 3vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt>a:before {
    margin-top: -1px;
    transform: rotate(90deg);
    top: 50%;
    transition-property: transform;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.venueListWrap .venueList>ul>li>dl>dt>a:after {
    margin-top: -1px;
    top: 50%
}

.venueListWrap .venueList>ul>li>dl>dt>a.active {
    background-color: #333
}

.venueListWrap .venueList>ul>li>dl>dt>a.active:before {
    transform: rotate(0deg)
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref {
    width: 100%
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
    font-size: 24px;
    letter-spacing: .02em;
    text-align: center;
    line-height: 1
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox .pref p {
        font-size: 5vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
    width: 60px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
        width: 12vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref {
        width: 18vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
    font-size: 16px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .pref p {
        font-size: 3.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
    padding-left: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
        padding-left: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName {
        padding-left: 2vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
    font-size: 16px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
        font-size: 2.2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName p {
        font-size: 3.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
    margin-left: 1em;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #fb4d4d
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dt .placeNameBox.prefWithShopName .shopName .new {
        font-size: 2.4vw
    }
}

.venueListWrap .venueList>ul>li>dl>dd.venueBody {
    display: none
}

.venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
    width: 100%;
    padding-top: 1%;
    background-color: #fff;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
        padding-bottom: 4%
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .venueList>ul>li>dl>dd .venueBodyInner {
        padding-top: 2%;
        padding-bottom: 4%
    }
}

.venueListWrap .caution {
    line-height: 1.4;
    font-size: 14px;
    letter-spacing: .015em
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueListWrap .caution {
        font-size: 2vw
    }
}

@media only screen and (max-width: 767px) {
    .venueListWrap .caution {
        font-size: 3.6vw
    }
}

.venueShopLinkList>ul {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap
}

.venueShopLinkList>ul>li {
    width: 48%;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column
}

.venueShopLinkList>ul>li:nth-child(odd) {
    margin-left: 2%;
    margin-right: 1%
}

.venueShopLinkList>ul>li:nth-child(even) {
    margin-left: 1%;
    margin-right: 2%
}

@media only screen and (min-width: 1020px) {
    .venueShopLinkList>ul>li:nth-child(-n+2) {
        margin-top: auto
    }

    .venueShopLinkList>ul>li:nth-child(odd) {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueShopLinkList>ul>li:nth-child(-n+2) {
        margin-top: auto
    }

    .venueShopLinkList>ul>li:nth-child(odd) {
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .venueShopLinkList>ul>li {
        width: 47%;
        align-items: stretch
    }

    .venueShopLinkList>ul>li:first-child {
        margin-top: 0
    }
}

.venueShopLinkList>ul>li .name {
    width: 100%;
    border-bottom: 1px solid #5dc7d0
}

.venueShopLinkList>ul>li .name .nameText {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5dc7d0;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 700;
    line-height: 100px;
    text-align: center;
    position: relative
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueShopLinkList>ul>li .name .nameText {
        font-size: 1.9vw
    }
}

@media only screen and (max-width: 767px) {
    .venueShopLinkList>ul>li .name .nameText {
        line-height: 1;
        font-size: 3.6vw;
        vertical-align: middle
    }
}

@media only screen and (min-width: 1020px) {
    .venueShopLinkList>ul>li .name .nameTexta {
        transition-property: background-color;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .venueShopLinkList>ul>li .name .nameTexta:hover {
        color: #fff;
        background-color: #938973
    }
}

.venueShopLinkList>ul>li .info {
    color: #49b1ba;
    margin-top: 8px;
    margin-right: 12px
}

.venueShopLinkList>ul>li .info .address {
    font-size: 13px;
    line-height: 1.4;
    height: 48px
}

@media only screen and (max-width: 767px) {
    .venueShopLinkList>ul>li .info .address {
        height: 52px
    }
}

.venueShopLinkList>ul>li .info .tel {
    margin-top: 5px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    .venueShopLinkList>ul>li .info .tel {
        margin-top: 4%
    }
}

@media only screen and (max-width: 767px) {
    .venueShopLinkList>ul>li .info .tel {
        margin-top: 4%
    }
}

.venueShopLinkList>ul>li .info .tel a,
.venueShopLinkList>ul>li .info .tel span {
    line-height: 1;
    font-size: 16px;
    font-weight: 500
}

.venueShopLinkList>ul>li .info .link {
    margin-top: 8px
}

.venueShopLinkList>ul>li .info .link a {
    display: inline-block;
    position: relative;
    color: #5dc7d0;
    font-size: 13px;
    border: 1px solid #5dc7d0;
    padding: 8px
}

@media only screen and (min-width: 1020px) {
    .venueShopLinkList>ul>li .info .link a {
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease;
        transition-delay: 0s
    }

    .venueShopLinkList>ul>li .info .link a:hover {
        opacity: .7
    }
}

@media only screen and (max-width: 767px) {
    .venueShopLinkList>ul>li .info .link a {
        font-size: 12px
    }
}

@-webkit-keyframes animationScaling {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(.95)
    }
}

@keyframes animationScaling {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(.95)
    }
}

.venueShopLinkList>ul>li .info .close {
    font-size: 13px;
    margin-top: 4px
}

.lp_block_narrow {
    padding: 0 15px
}

footer {
    margin-top: 60px
}

.others__inner a {
    transition: opacity .3s
}

.others__inner a:hover {
    opacity: .8
}

#selectShopContactBtn {
    display: none
}

a {
    font-weight: 500;
    transition: opacity .3s;
    /* color: #00e */
}

/* a:visited {
    color: #551a8b
} */

.gMap dt a {
    color: #fff
}

.setLinkBtn--rent:link {
    color: #fff
}

#gaihanFormModalBoxContents a {
    color: #333
}

#selectShopListWrap a {
    color: #333
}

.text.room {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 68px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3
}

@media only screen and (max-width: 767px) {
    .text.room {
        font-size: 16px;
        margin-top: -3px
    }
}

#selectShopContact_calendarArea a {
    color: #333
}

.buttonBox .button.typeSolid {
    margin-top: 15px
}

.buttonBox .button.typeSolid:first-child {
    margin-top: 0
}

.buttonBox .button.typeSolid>* {
    width: 100%;
    max-width: 320px;
    display: block;
    font-size: 16px;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .1em;
    line-height: 1;
    padding: 20px;
    text-align: center;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1020px) {

    .buttonBox .button.typeSolid a,
    .buttonBox .button.typeSolid input {
        transition: all .5s ease
    }

    .buttonBox .button.typeSolid a:hover,
    .buttonBox .button.typeSolid input:hover {
        background-position: 93% center
    }
}

.buttonBox .button.typeSolid.red>* {
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #90edc7 0%, #96deff 100%) 0% 0% no-repeat padding-box;
    color: #fff;
    font-weight: 700
}

.buttonBox .button.typeSolid.red>*:visited,
.buttonBox .button.typeSolid.red>*:focus,
.buttonBox .button.typeSolid.red>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.red>*:hover {
        background-color: #ea2917
    }
}

.buttonBox .button.typeSolid.gray>* {
    /* background-color: #434343; */
    color: #fff;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/blank_wh.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center
}

.buttonBox .button.typeSolid.gray>*:visited,
.buttonBox .button.typeSolid.gray>*:focus,
.buttonBox .button.typeSolid.gray>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.gray>*:hover {
        background-color: #2d2d2d
    }
}

.buttonBox .button.typeSolid.noLink>* {
    background-color: #e9e9e9;
    color: #bbb;
    font-weight: 700
}

.buttonBox .button.typeSolid.noLink>*:visited,
.buttonBox .button.typeSolid.noLink>*:focus,
.buttonBox .button.typeSolid.noLink>*:active {
    color: #bbb
}

.buttonBox .button.typeSolid.arrow>* {
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_white.png)
}

.buttonBox .button.typeUnderline>* {
    width: 100%;
    max-width: 320px;
    display: block;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_red.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat;
    position: relative
}

.buttonBox .button.typeUnderline>*:before {
    width: 100%;
    height: 1px;
    content: "";
    background-color: #d2d2d2;
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0
}

.buttonBox .button.typeUnderline>*:after {
    width: 20px;
    height: 1px;
    content: "";
    background-color: #e84d3e;
    position: absolute;
    bottom: 1px;
    left: 0
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>*:after {
        -webkit-transition-property: width;
        -o-transition-property: width;
        transition-property: width;
        -webkit-transition-duration: .14s;
        -o-transition-duration: .14s;
        transition-duration: .14s;
        -webkit-transition-timing-function: ease-out;
        -o-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>* {
        -webkit-transition-property: background-position, color;
        -o-transition-property: background-position, color;
        transition-property: background-position, color;
        -webkit-transition-duration: .5s;
        -o-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    .buttonBox .button.typeUnderline>*:hover {
        color: #e84d3e;
        background-position: 93% center
    }

    .buttonBox .button.typeUnderline>*:hover:after {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.typeUnderline>* {
        color: #e84d3e
    }
}

.buttonBox .button.fontColor_red>* {
    color: #e84d3e
}

.buttonBox .button.buttonAlignL>* {
    margin-right: auto;
    margin-left: 0
}

.buttonBox .button.buttonAlignC>* {
    margin-right: auto;
    margin-left: auto
}

.buttonBox .button.buttonAlignR>* {
    margin-right: 0;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignL>* {
        margin-right: auto;
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignC>* {
        margin-right: auto;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignR>* {
        margin-right: 0;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {

    .buttonBox .button.button a,
    .buttonBox .button.button span {
        width: 78.66vw;
        padding: 5.33vw;
        font-size: 4vw
    }
}

.buttonBox .caution {
    margin-top: 15px;
    font-size: 13px;
    color: #434343
}

.rcal_calendarMainWrap {
    width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap {
        width: 100%;
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap {
        width: 90%;
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
        padding: 3.8vw 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
    margin-left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
        margin-top: 2.8vw;
        margin-left: 0
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
        margin-top: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

@media only screen and (min-width: 1080px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
        margin-left: 4.93vw
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
    width: 12px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
    content: "TEL";
    color: #505050;
    font-size: 15px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
        font-size: 3.2vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
    margin-left: 8px;
    font-size: 14px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        margin-left: 1.33vw;
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarSliderWrap {
        width: 90% !important;
        margin-right: auto;
        margin-left: auto;
        position: static !important
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarFooter {
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink {
    display: none
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link.active,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink.active {
    display: block
}

.rcal_calendar {
    margin-top: 25px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar {
        margin-top: 4vw
    }
}

.rcal_calendar table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table {
        margin-bottom: 1px
    }
}

.rcal_calendar table tr {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr {
        padding-top: .66vw
    }
}

.rcal_calendar table tr:first-child {
    padding-top: 0
}

.rcal_calendar table tr>*:first-child {
    padding-left: 0
}

.rcal_calendar table tr.week {
    height: 24px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr.week {
        height: 6.12vw
    }
}

.rcal_calendar table th,
.rcal_calendar table td {
    width: 13.88%;
    padding-left: .47%;
    font-size: 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {

    .rcal_calendar table th,
    .rcal_calendar table td {
        width: 14.06%;
        padding-left: .26%;
        font-size: 3.46vw
    }
}

.rcal_calendar table td {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td {
        padding-top: .26%
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td.eventinfo a {
        padding: 3.33vw 0
    }
}

.rcal_calendar table td.eventinfo a:hover .eventLink {
    text-decoration: none
}

.rcal_calendar table td.eventinfo a .eventLink {
    margin-top: 5px;
    font-size: 16px;
    color: #3cc4bf !important;
    text-decoration: underline;
    display: block
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    .rcal_calendar table td.eventinfo a .eventLink {
        font-size: 14px !important
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td.eventinfo a .eventLink {
        margin-top: 2.26vw;
        font-size: 2.8vw;
        white-space: nowrap
    }
}

.rcal_calendar table td.past .tdInner .num {
    color: #d2d2d2
}

.rcal_calendar table td .ajaxDateStatusBtn.active {
    border-color: #90edc7;
    background: #90edc7
}

@media only screen and (min-width: 1080px) {
    .rcal_calendar table td .ajaxDateStatusBtn:hover.tdInner {
        border-color: #90edc7;
        background: #90edc7
    }
}

.rcal_calendar table td .tdInner {
    height: 75px;
    padding: 17px 10px;
    display: block;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1080px) {
    .rcal_calendar table td .tdInner {
        transition: all .5s ease
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner {
        height: 15.33vw;
        padding: 3.33vw 0
    }
}

.rcal_calendar table td .tdInner>* {
    margin-top: 9px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner>* {
        margin-top: 2.26vw
    }
}

.rcal_calendar table td .tdInner>*:first-child {
    margin-top: 0
}

.rcal_calendar table td .icon {
    width: 12px;
    height: 12px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .icon {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendar table td .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendar .num {
    display: block;
    font-size: 16px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .num {
        font-size: 3.46vw
    }
}

.rcal_calendar .dateStatus {
    display: block
}

.rcal_calendar .reserveLimitText {
    display: block;
    color: #505050
}

.rcal_calendar .telIcon_swing {
    width: 14px;
    height: 14px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/tel_red.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: telIcom_swing 2.5s linear 0s infinite;
    animation: telIcom_swing 2.5s linear 0s infinite;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .telIcon_swing {
        width: 3.4vw;
        height: 3.4vw
    }
}

.rcal_calendar .holiday {
    color: #c8362c
}

.rcal_calendar .holiday * {
    color: inherit
}

.rcal_calendar_timeTableWrap {
    margin-top: 35px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap {
        margin-top: 0
    }
}

.rcal_calendar_timeTableWrap.loading {
    min-height: 30px;
    position: relative
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap.loading {
        margin-top: 6.66vw
    }
}

.rcal_calendar_timeTableWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.rcal_calendar_timeTableWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .timeTable {
        margin: 6.66vw 0 2.66vw !important
    }
}

.timeTable>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .timeTable>* {
        margin-top: 3.46vw
    }
}

.timeTable>*:first-of-type {
    margin-top: 0
}

.timeTable .timeTableTitleArea .title {
    text-align: center;
    font-size: 16px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableTitleArea .title {
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea {
        width: 100%;
        overflow-x: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.timeTable .timeTableDetailArea ul li {
    width: 10.87%
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li {
        width: auto;
        margin-right: 1.73vw
    }

    .timeTable .timeTableDetailArea ul li:last-of-type {
        padding-right: 0
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap {
        padding: 2.63vw 4.4vw;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: all .3s ease
}

@media only screen and (min-width: 1080px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap.link:hover {
        border-color: #90edc7;
        background: #90edc7
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link.active {
    border-color: #90edc7;
    background: #90edc7
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.noLink {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
    width: 12px;
    height: 12px;
    display: inline-block
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
    width: 12px;
    height: 12px;
    content: "";
    display: inline-block;
    vertical-align: top;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.circle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.triangle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross+.time {
    color: #d2d2d2
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
    margin-left: 10px;
    font-size: 16px
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
        margin-left: 2.66vw;
        font-size: 4.26vw
    }
}

.rcal_calendarHeader {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.rcal_calendarHeader .rcal_calendarTitle {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    vertical-align: baseline
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle {
        font-size: 5.33vw
    }
}

.rcal_calendarHeader .rcal_calendarTitle .monthNum {
    display: inline-block;
    vertical-align: baseline;
    font-size: 40px
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle .monthNum {
        font-size: 9.33vw
    }
}

.rcal_calendarFooter {
    width: 100%;
    margin-top: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.eventinfoTextWrap {
    margin-bottom: 30px
}

.eventinfoTextWrap * {
    color: #505050;
    font-size: 15px
}

@media only screen and (max-width: 767px) {
    .eventinfoTextWrap * {
        font-size: 3.2vw
    }
}

.eventinfoTextWrap .eventinfoText {
    margin-top: 10px;
    color: #505050;
    text-align: center;
    background-color: #e1f2f2 !important;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.4;
    text-align: center
}

.eventinfoTextWrap .eventinfoText:first-child {
    margin-top: 0
}

.eventinfoTextWrap .eventinfoText .red {
    color: #3cc4bf !important
}

.eventinfoTextWrap .eventinfoText a {
    color: #3cc4bf !important;
    text-decoration: underline
}

.eventinfoTextWrap .eventinfoText a:hover {
    text-decoration: none
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-overflow-scrolling: touch
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
        padding-top: 1.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
    width: 40px;
    height: 40px;
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_link_button.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    z-index: 5;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
        width: 10.66vw;
        height: 10.66vw;
        top: 23.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.disabled {
    display: none
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
    left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner {
    width: 300%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-transition-property: margin-left;
    transition-property: margin-left;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner .rcal_calendarSlide {
    width: 33.33333%
}

.rcal_display_calendarMainWrap>* {
    margin-top: 30px
}

.rcal_display_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap>* {
    margin-top: 30px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap>* {
        margin-top: 7.06vw
    }
}

.rcal_display_ajax_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
    background-color: #f4f4f4;
    margin-top: 50px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
        margin-top: 10.66vw;
        padding: 7.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
        margin-top: 3.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
    font-size: 16px;
    letter-spacing: .06em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
        font-size: 3.73vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber {
    font-size: 28px;
    text-align: center
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber .tel {
    width: 30px;
    height: 30px;
    display: inline-block;
    background: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_tel.svg) no-repeat 0 0;
    background-size: contain;
    vertical-align: bottom
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .regularHolidayText {
    font-size: 14px;
    text-align: center
}

#selectShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#selectShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#selectShopContactCloseBtn>a:before,
#selectShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#selectShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#selectShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#selectShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001
}

#selectShopContactArea {
    width: 84%;
    height: 82.8vh;
    padding: 120px 0 0;
    background-color: #fff;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    z-index: 10001;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: none
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContactArea {
        height: 80vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContactArea {
        width: 90%;
        height: 86vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow-x: hidden
    }
}

#selectShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#selectShopContact .selectShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#selectShopContact .selectShopContactWrap.loading {
    position: relative
}

#selectShopContact .selectShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#selectShopContact .selectShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#selectShopContact .selectShopContactWrap.loading .selectShopContactInner {
    display: none
}

#selectShopContact .selectShopContactInner {
    width: 90%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 120px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%;
        overflow: hidden
    }
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title {
    padding-left: 24px;
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    line-height: 1.53;
    position: relative
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title:before {
    width: 16px;
    height: 16px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/calendar_bk.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px
}

#selectShopContact .selectShopContactContents {
    display: none
}

#selectShopContact .selectShopContactContents.active {
    display: block
}

#selectShopContact .selectShopContactContents .selectShopListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 25px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl {
    width: 23.7%;
    margin-left: 1.73%;
    margin-top: 40px
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(-n+4) {
        margin-top: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(4n+1) {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
    margin-top: 15px
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: block !important
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
    width: 49%;
    margin-left: 2%;
    margin-top: 5px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(-n+2) {
    margin-top: 0
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(odd) {
    margin-left: 0
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
    display: block;
    padding: 15px 36px 15px 10px;
    font-size: 13px;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_darkGray.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        transition: all .5s ease
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:hover {
        color: #fff;
        background-color: #90edc7;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_white.png)
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_darkGray.png);
        background-position: 93% center
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

#selectShopContact #selectShopContact_calendar {
    padding-top: 37px
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        padding-left: 5.33vw;
        font-size: 3.73vw
    }
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_arrow_left.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: .9rem;
    height: 1.1rem
}

@media only screen and (min-width: 1080px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        -webkit-transition-property: opacity;
        transition-property: opacity;
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:hover {
        opacity: .7
    }
}

#selectShopContact_calendarArea .rcal_calendarMainWrap {
    width: 100%
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_statusDetailWrap {
        width: 100%
    }
}

#selectShopContact_calendarArea .eventinfoTextWrap {
    width: 100%;
    max-width: none
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap {
        width: 100% !important
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderNext {
        right: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderPrev {
        left: 0
    }
}

#selectShopContact_calendarArea .calShop {
    text-align: center;
    padding: 2rem 0;
    font-size: 18px;
    letter-spacing: .04em;
    margin: .5rem 0 1rem;
    position: relative
}

#selectShopContact_calendarArea .calShop:after {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #ebf4e5 0%, #86dad2 100%) 0% 0% no-repeat padding-box;
    top: 0;
    left: -2rem;
    right: -2rem;
    width: calc(100% + 4rem);
    height: 100%;
    z-index: -1
}

#thisShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#thisShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#thisShopContactCloseBtn>a:before,
#thisShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#thisShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#thisShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#thisShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001
}

#thisShopContactArea {
    width: 90%;
    height: 100%;
    max-width: 600px;
    min-height: 60vh;
    max-height: 80vh;
    background-color: #fff;
    display: none;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1002
}

#thisShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#thisShopContact .thisShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#thisShopContact .thisShopContactWrap.loading {
    position: relative
}

#thisShopContact .thisShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#thisShopContact .thisShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#thisShopContact .thisShopContactWrap.loading .thisShopContactInner {
    display: none
}

#thisShopContact .thisShopContactInner {
    width: 100%;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@-webkit-keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.linkTel {
    border: 1px solid #eee;
    box-sizing: border-box;
    transition-property: border-color;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel {
    width: auto;
    height: auto
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:before {
    display: none
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:after {
    content: "TEL";
    color: #505050;
    font-size: 15px
}

.rcal_calendar .reserveLimitText .tel {
    width: 100%;
    text-align: center
}

.rcal_calendar .reserveLimitText .tel:before {
    content: "TEL";
    font-size: 15px;
    color: #505050
}

.buttonBox .button.typeSolid {
    margin-top: 15px
}

.buttonBox .button.typeSolid:first-child {
    margin-top: 0
}

.buttonBox .button.typeSolid>* {
    width: 100%;
    max-width: 320px;
    display: block;
    font-size: 16px;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .1em;
    line-height: 1;
    padding: 20px;
    text-align: center;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../ondine_theme/images/icon/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1020px) {

    .buttonBox .button.typeSolid a,
    .buttonBox .button.typeSolid input {
        transition: all .5s ease
    }

    .buttonBox .button.typeSolid a:hover,
    .buttonBox .button.typeSolid input:hover {
        background-position: 93% center
    }
}

.buttonBox .button.typeSolid.red>* {
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #90edc7 0%, #96deff 100%) 0% 0% no-repeat padding-box;
    color: #fff;
    font-weight: 700
}

.buttonBox .button.typeSolid.red>*:visited,
.buttonBox .button.typeSolid.red>*:focus,
.buttonBox .button.typeSolid.red>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.red>*:hover {
        background-color: #ea2917
    }
}

.buttonBox .button.typeSolid.gray>* {
    /* background-color: #434343; */
    color: #fff;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../ondine_theme/images/icon/blank_wh.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center
}

.buttonBox .button.typeSolid.gray>*:visited,
.buttonBox .button.typeSolid.gray>*:focus,
.buttonBox .button.typeSolid.gray>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.gray>*:hover {
        background-color: #2d2d2d
    }
}

.buttonBox .button.typeSolid.noLink>* {
    background-color: #e9e9e9;
    color: #bbb;
    font-weight: 700
}

.buttonBox .button.typeSolid.noLink>*:visited,
.buttonBox .button.typeSolid.noLink>*:focus,
.buttonBox .button.typeSolid.noLink>*:active {
    color: #bbb
}

.buttonBox .button.typeSolid.arrow>* {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../ondine_theme/images/icon/arrow_white.png)
}

.buttonBox .button.typeUnderline>* {
    width: 100%;
    max-width: 320px;
    display: block;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../ondine_theme/images/icon/arrow_red.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat;
    position: relative
}

.buttonBox .button.typeUnderline>*:before {
    width: 100%;
    height: 1px;
    content: "";
    background-color: #d2d2d2;
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0
}

.buttonBox .button.typeUnderline>*:after {
    width: 20px;
    height: 1px;
    content: "";
    background-color: #e84d3e;
    position: absolute;
    bottom: 1px;
    left: 0
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>*:after {
        -webkit-transition-property: width;
        -o-transition-property: width;
        transition-property: width;
        -webkit-transition-duration: .14s;
        -o-transition-duration: .14s;
        transition-duration: .14s;
        -webkit-transition-timing-function: ease-out;
        -o-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>* {
        -webkit-transition-property: background-position, color;
        -o-transition-property: background-position, color;
        transition-property: background-position, color;
        -webkit-transition-duration: .5s;
        -o-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    .buttonBox .button.typeUnderline>*:hover {
        color: #e84d3e;
        background-position: 93% center
    }

    .buttonBox .button.typeUnderline>*:hover:after {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.typeUnderline>* {
        color: #e84d3e
    }
}

.buttonBox .button.fontColor_red>* {
    color: #e84d3e
}

.buttonBox .button.buttonAlignL>* {
    margin-right: auto;
    margin-left: 0
}

.buttonBox .button.buttonAlignC>* {
    margin-right: auto;
    margin-left: auto
}

.buttonBox .button.buttonAlignR>* {
    margin-right: 0;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignL>* {
        margin-right: auto;
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignC>* {
        margin-right: auto;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignR>* {
        margin-right: 0;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {

    .buttonBox .button.button a,
    .buttonBox .button.button span {
        width: 78.66vw;
        padding: 5.33vw;
        font-size: 4vw
    }
}

.buttonBox .caution {
    margin-top: 15px;
    font-size: 13px;
    color: #434343
}

.rcal_calendarMainWrap {
    width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap {
        width: 100%;
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap {
        width: 90%;
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
        padding: 3.8vw 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
    margin-left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
        margin-top: 2.8vw;
        margin-left: 0
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
        margin-top: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

@media only screen and (min-width: 1020px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
        margin-left: 4.93vw
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
    width: 12px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
    content: "TEL";
    color: #505050;
    font-size: 15px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
        font-size: 3.2vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
    margin-left: 8px;
    font-size: 14px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        margin-left: 1.33vw;
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarSliderWrap {
        width: 90% !important;
        margin-right: auto;
        margin-left: auto;
        position: static !important
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarFooter {
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink {
    display: none
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link.active,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink.active {
    display: block
}

.rcal_calendar {
    margin-top: 25px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar {
        margin-top: 4vw
    }
}

.rcal_calendar table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table {
        margin-bottom: 1px
    }
}

.rcal_calendar table tr {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr {
        padding-top: .66vw
    }
}

.rcal_calendar table tr:first-child {
    padding-top: 0
}

.rcal_calendar table tr>*:first-child {
    padding-left: 0
}

.rcal_calendar table tr.week {
    height: 24px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr.week {
        height: 6.12vw
    }
}

.rcal_calendar table th,
.rcal_calendar table td {
    width: 13.88%;
    padding-left: .47%;
    font-size: 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {

    .rcal_calendar table th,
    .rcal_calendar table td {
        width: 14.06%;
        padding-left: .26%;
        font-size: 3.46vw
    }
}

.rcal_calendar table td {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td {
        padding-top: .26%
    }
}

.rcal_calendar table td.past .tdInner .num {
    color: #d2d2d2
}

.rcal_calendar table td .ajaxDateStatusBtn.active {
    border-color: #90edc7;
    background: #90edc7
}

@media only screen and (min-width: 1020px) {
    .rcal_calendar table td .ajaxDateStatusBtn:hover.tdInner {
        border-color: #90edc7;
        background: #90edc7
    }
}

.rcal_calendar table td .tdInner {
    height: 75px;
    padding: 17px;
    display: block;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1020px) {
    .rcal_calendar table td .tdInner {
        transition: all .5s ease
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner {
        height: 15.33vw;
        padding: 3.33vw 0
    }
}

.rcal_calendar table td .tdInner>* {
    margin-top: 9px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner>* {
        margin-top: 2.26vw
    }
}

.rcal_calendar table td .tdInner>*:first-child {
    margin-top: 0
}

.rcal_calendar table td .icon {
    width: 12px;
    height: 12px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .icon {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendar table td .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendar table td .icon.tel {
    width: 100%
}

.rcal_calendar table td .icon.tel:before {
    content: "TEL";
    color: #e84d3e;
    font-size: 15px
}

.rcal_calendar table td .icon.passed {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/passed_gray.png)
}

.rcal_calendar .num {
    display: block;
    font-size: 16px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .num {
        font-size: 3.46vw
    }
}

.rcal_calendar .dateStatus {
    display: block
}

.rcal_calendar .reserveLimitText {
    display: block;
    color: #505050
}

.rcal_calendar .reserveLimitText .tel {
    width: 100%;
    text-align: center
}

.rcal_calendar .reserveLimitText .tel:before {
    content: "TEL";
    font-size: 15px;
    color: #505050
}

.rcal_calendar .telIcon_swing {
    width: 14px;
    height: 14px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/tel_red.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: telIcom_swing 2.5s linear 0s infinite;
    animation: telIcom_swing 2.5s linear 0s infinite;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .telIcon_swing {
        width: 3.4vw;
        height: 3.4vw
    }
}

.rcal_calendar .holiday {
    color: #c8362c
}

.rcal_calendar .holiday * {
    color: inherit
}

.rcal_calendar_timeTableWrap {
    margin-top: 35px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap {
        margin-top: 0
    }
}

.rcal_calendar_timeTableWrap.loading {
    min-height: 30px;
    position: relative
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap.loading {
        margin-top: 6.66vw
    }
}

.rcal_calendar_timeTableWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.rcal_calendar_timeTableWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .timeTable {
        margin: 6.66vw 0 2.66vw !important
    }
}

.timeTable>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .timeTable>* {
        margin-top: 3.46vw
    }
}

.timeTable>*:first-of-type {
    margin-top: 0
}

.timeTable .timeTableTitleArea .title {
    text-align: center;
    font-size: 16px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableTitleArea .title {
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea {
        width: 100%;
        overflow-x: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.timeTable .timeTableDetailArea ul li {
    width: 10.87%
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li {
        width: auto;
        margin-right: 1.73vw
    }

    .timeTable .timeTableDetailArea ul li:last-of-type {
        padding-right: 0
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap {
        padding: 2.63vw 4.4vw;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.linkTel {
    border: 1px solid #eee;
    box-sizing: border-box;
    transition-property: border-color;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: all .3s ease
}

@media only screen and (min-width: 1020px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap.link:hover {
        border-color: #90edc7;
        background: #90edc7
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link.active {
    border-color: #90edc7;
    background: #90edc7
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.noLink {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
    width: 12px;
    height: 12px;
    display: inline-block
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
    width: 12px;
    height: 12px;
    content: "";
    display: inline-block;
    vertical-align: top;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.circle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.triangle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross+.time {
    color: #d2d2d2
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel {
    width: auto;
    height: auto
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:before {
    display: none
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:after {
    content: "TEL";
    color: #e84d3e;
    font-size: 15px
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
    margin-left: 10px;
    font-size: 16px
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
        margin-left: 2.66vw;
        font-size: 4.26vw
    }
}

.rcal_calendarHeader {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.rcal_calendarHeader .rcal_calendarTitle {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    vertical-align: baseline
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle {
        font-size: 5.33vw
    }
}

.rcal_calendarHeader .rcal_calendarTitle .monthNum {
    display: inline-block;
    vertical-align: baseline;
    font-size: 40px
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle .monthNum {
        font-size: 9.33vw
    }
}

.rcal_calendarFooter {
    width: 100%;
    margin-top: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 60px
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-overflow-scrolling: touch
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
        padding-top: 1.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
    width: 40px;
    height: 40px;
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_link_button.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    z-index: 5;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
        width: 10.66vw;
        height: 10.66vw;
        top: 23.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.disabled {
    display: none
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
    right: 0;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
    left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner {
    width: 300%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-transition-property: margin-left;
    -o-transition-property: margin-left;
    transition-property: margin-left;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner .rcal_calendarSlide {
    width: 33.33333%
}

.rcal_display_calendarMainWrap>* {
    margin-top: 30px
}

.rcal_display_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap>* {
    margin-top: 30px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap>* {
        margin-top: 7.06vw
    }
}

.rcal_display_ajax_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
    background-color: #f4f4f4;
    margin-top: 50px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
        margin-top: 10.66vw;
        padding: 7.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
        margin-top: 3.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
    font-size: 16px;
    letter-spacing: .06em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
        font-size: 3.73vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber {
    font-size: 28px;
    text-align: center
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber .tel {
    width: 30px;
    height: 30px;
    display: inline-block;
    background: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_tel.svg) no-repeat 0 0;
    background-size: contain;
    vertical-align: bottom
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .regularHolidayText {
    font-size: 14px;
    text-align: center
}

#selectShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#selectShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#selectShopContactCloseBtn>a:before,
#selectShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#selectShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    -ms-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#selectShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    -ms-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#selectShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001
}

#selectShopContactArea {
    width: 84%;
    height: 82.8vh;
    padding: 120px 0 0;
    background-color: #fff;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    z-index: 10001;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: none
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContactArea {
        height: 80vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContactArea {
        width: 90%;
        height: 86vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow-x: hidden
    }
}

#selectShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#selectShopContact .selectShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#selectShopContact .selectShopContactWrap.loading {
    position: relative
}

#selectShopContact .selectShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#selectShopContact .selectShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#selectShopContact .selectShopContactWrap.loading .selectShopContactInner {
    display: none
}

#selectShopContact .selectShopContactInner {
    width: 90%;
    height: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 120px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%;
        overflow-y: auto
    }
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title {
    padding-left: 24px;
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    line-height: 1.53;
    position: relative
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title:before {
    width: 16px;
    height: 16px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/calendar_bk.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px
}

#selectShopContact .selectShopContactContents {
    display: none
}

#selectShopContact .selectShopContactContents.active {
    display: block
}

#selectShopContact .selectShopContactContents .selectShopListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 25px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl {
    width: 23.7%;
    margin-left: 1.73%;
    margin-top: 40px
}

@media only screen and (min-width: 1020px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(-n+4) {
        margin-top: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(4n+1) {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 23px 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background-color: #fff
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:after {
        width: 0;
        height: 0;
        content: "";
        display: block;
        border-top: 7px solid #e84d3e;
        border-right: 5px solid transparent;
        border-bottom: 0 solid transparent;
        border-left: 5px solid transparent;
        position: absolute;
        top: 50%;
        right: 25px;
        margin-top: -3px
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt.active:after {
        border-top: 0 solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 7px solid #e84d3e;
        border-left: 5px solid transparent
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 23px 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: 0 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:after {
        width: 0;
        height: 0;
        content: "";
        display: block;
        border-top: 7px solid #e84d3e;
        border-right: 5px solid transparent;
        border-bottom: 0 solid transparent;
        border-left: 5px solid transparent;
        position: absolute;
        top: 50%;
        right: 25px;
        margin-top: -3px
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt.active:after {
        border-top: 0 solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 7px solid #e84d3e;
        border-left: 5px solid transparent
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
    margin-top: 15px
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
    width: 49%;
    margin-left: 2%;
    margin-top: 5px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(-n+2) {
    margin-top: 0
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(odd) {
    margin-left: 0
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
    display: block;
    padding: 15px 36px 15px 10px;
    font-size: 13px;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/arrow_darkGray.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat
}

@media only screen and (min-width: 1020px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        -webkit-transition-property: color, border-color, background-image;
        -o-transition-property: color, border-color, background-image;
        transition-property: color, border-color, background-image;
        -webkit-transition-duration: .5s;
        -o-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:hover {
        color: #e84d3e;
        border-color: #e84d3e;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/arrow_red.png)
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 15px 55px 15px 40px;
        color: #fff;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        /* background-color: #434343; */
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/arrow_white.png);
        background-position: 93% center
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 15px 55px 15px 40px;
        color: #fff;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        /* background-color: #434343; */
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/icon/arrow_white.png);
        background-position: 93% center
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

#selectShopContact #selectShopContact_calendar {
    padding-top: 37px
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        padding-left: 5.33vw;
        font-size: 3.73vw
    }
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_arrow_left.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: .9rem;
    height: 1.1rem
}

@media only screen and (min-width: 1020px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        -webkit-transition-property: opacity;
        -o-transition-property: opacity;
        transition-property: opacity;
        -webkit-transition-duration: .3s;
        -o-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:hover {
        opacity: .7
    }
}

#selectShopContact_calendarArea .rcal_calendarMainWrap {
    width: 100%
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_statusDetailWrap {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap {
        width: 100% !important
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderNext {
        right: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderPrev {
        left: 0
    }
}

#thisShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#thisShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#thisShopContactCloseBtn>a:before,
#thisShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#thisShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    -ms-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#thisShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    -ms-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#thisShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001
}

#thisShopContactArea {
    width: 90%;
    height: 100%;
    max-width: 600px;
    min-height: 60vh;
    max-height: 80vh;
    background-color: #fff;
    display: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1002
}

#thisShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#thisShopContact .thisShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#thisShopContact .thisShopContactWrap.loading {
    position: relative
}

#thisShopContact .thisShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#thisShopContact .thisShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/common/calendar/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#thisShopContact .thisShopContactWrap.loading .thisShopContactInner {
    display: none
}

#thisShopContact .thisShopContactInner {
    width: 100%;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@-webkit-keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap {
    height: 100%
}

#selectShopContact .selectShopContactContents {
    height: 100%
}

.selectShopFestaPlaceWrap {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto
}

.selectShopFestaPlace {
    width: 100%
}

.selectShopFestaPlace {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 40px
}

@media only screen and (max-width: 767px) {
    .selectShopFestaPlace {
        margin-top: 4vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
    width: 50%;
    padding: 30px 20px 0;
    margin-left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1400px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        padding-top: 0;
        width: 330px
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        width: 100% !important
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl:nth-of-type(odd) {
    border-left: none
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl:nth-of-type(-n+2) {
    padding-top: 0
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        width: 80%;
        margin: 10vw auto 0;
        padding: 0 5vw 0
    }

    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl:first-of-type {
        margin-top: 0
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt {
    padding: 0 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    line-height: 1
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt:after {
    display: none
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt * {
    font-family: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .in {
    font-size: 13px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .in {
        font-size: 3vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main {
    font-size: 25px;
    margin-left: 5px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main {
        font-size: 6vw;
        margin-left: 1.5vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main .small {
    display: inline-block;
    margin-left: 8px;
    font-size: 65%
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main .small {
        margin-left: 1vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd {
    display: block !important;
    margin-top: 16px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd {
        margin-top: 3vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd>* {
    margin-top: 3px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd>* {
        margin-top: 1.5vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd>*:first-child {
    margin-top: 0
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .place {
    font-size: 18px;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .place {
        font-size: 4vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .day {
    font-size: 18px;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .day {
        font-size: 3.75vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn {
    margin-top: 10px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn {
        margin-top: 3vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a {
    display: block;
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #90edc7 0%, #96deff 100%) 0% 0% no-repeat padding-box;
    border-radius: 3px;
    padding: 16px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1020px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a {
        -webkit-transition-property: opacity;
        -o-transition-property: opacity;
        transition-property: opacity;
        -webkit-transition-duration: .3s;
        -o-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a:hover {
        opacity: .7
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a {
        padding: 3vw;
        font-size: 3.75vw
    }
}

.selectShopListWrap dl dd {
    display: block !important
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
    width: 25%
}

@media only screen and (min-width: 1020px) and (max-width:1300px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        width: 33%
    }
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl {
        width: 47% !important;
        padding: 0 !important;
        margin-top: 8vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main {
    font-size: 18px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt .main {
        font-size: 3.3vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd {
    margin-top: 7px
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .day {
    font-size: 14px;
    text-align: center
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .day {
        font-size: 2.8vw
    }
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .time {
    display: none !important
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a {
    font-size: 16px;
    padding: 13px
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopFestaPlace dl dd .formBtn a {
        font-size: 3.4vw;
        padding: 10px
    }
}

.selectShopFestaPlaceWrap {
    width: 100%
}

#selectShopContact .selectShopContactContents .selectShopFestaPlace dl dt {
    justify-content: center
}

.setCntAnnotation {
    margin-top: 1.5em;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    font-family: var(--g-font-yugo)
}

@media only screen and (max-width: 767px) {
    .setCntAnnotation {
        text-align: left
    }
}

.venueInfoTargetArea {
    margin-top: 20px !important
}

.venueInfoTargetArea .targetWrap {
    border: none
}

.venueInfoTargetArea .targetWrap .title {
    font-size: 15px;
    color: #3b1900
}

.aroundAreaList {
    font-size: 15px
}

.pc {
    display: block !important
}

.sp {
    display: none !important
}

@media only screen and (max-width: 767px) {
    .venueInfoTargetArea .targetWrap .title {
        font-size: 12px
    }

    .venueInfoTargetArea .caution {
        font-size: 10px
    }

    .venueInfoTargetArea .targetWrap>*:not(:first-child) {
        margin-top: 8%
    }

    .aroundAreaList {
        font-size: 12px
    }

    .pc {
        display: none !important
    }

    .sp {
        display: block !important
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

@charset 'UTF-8';

.slick-loading .slick-list {
    background: #fff url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./ajax-loader.gif) center center no-repeat
}

@font-face {
    font-family: 'slick';
    font-weight: 400;
    font-style: normal;
    src: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./fonts/slick.eot);
    src: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./fonts/slick.eot?#iefix) format('embedded-opentype'), url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./fonts/slick.woff) format('woff'), url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./fonts/slick.ttf) format('truetype'), url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/./fonts/slick.svg#slick) format('svg')
}

.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: 0 0
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: 0 0
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25
}

.slick-prev:before,
.slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    right: -25px;
    left: auto
}

.slick-prev:before {
    content: '←'
}

[dir=rtl] .slick-prev:before {
    content: '→'
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    right: auto;
    left: -25px
}

.slick-next:before {
    content: '→'
}

[dir=rtl] .slick-next:before {
    content: '←'
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: 0 0
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #000
}

.rcal_calendar table th,
.rcal_calendar table td {
    text-align: center !important
}

.rcal_calendar table th,
.rcal_calendar table td * {
    line-height: 1
}

.rcal_calendar table td .tdInner {
    text-align: center !important
}

.rcal_calendar table td .tdInner .dateStatus p {
    text-align: center !important
}

.timeTable .timeTableDetailArea ul li {
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap {
        padding-right: 2vw;
        padding-left: 2vw
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        line-height: 1
    }
}

.buttonBox .button.typeSolid {
    margin-top: 15px
}

.buttonBox .button.typeSolid:first-child {
    margin-top: 0
}

.buttonBox .button.typeSolid>* {
    width: 100%;
    max-width: 320px;
    display: block;
    font-size: 16px;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .1em;
    line-height: 1;
    padding: 20px;
    text-align: center;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1020px) {

    .buttonBox .button.typeSolid a,
    .buttonBox .button.typeSolid input {
        transition: all .5s ease
    }

    .buttonBox .button.typeSolid a:hover,
    .buttonBox .button.typeSolid input:hover {
        background-position: 93% center
    }
}

.buttonBox .button.typeSolid.red>* {
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #90edc7 0%, #96deff 100%) 0% 0% no-repeat padding-box;
    color: #fff;
    font-weight: 700
}

.buttonBox .button.typeSolid.red>*:visited,
.buttonBox .button.typeSolid.red>*:focus,
.buttonBox .button.typeSolid.red>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.red>*:hover {
        background-color: #ea2917
    }
}

.buttonBox .button.typeSolid.gray>* {
    /* background-color: #434343; */
    color: #fff;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/blank_wh.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: 91% center
}

.buttonBox .button.typeSolid.gray>*:visited,
.buttonBox .button.typeSolid.gray>*:focus,
.buttonBox .button.typeSolid.gray>*:active {
    color: #fff
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeSolid.gray>*:hover {
        background-color: #2d2d2d
    }
}

.buttonBox .button.typeSolid.noLink>* {
    background-color: #e9e9e9;
    color: #bbb;
    font-weight: 700
}

.buttonBox .button.typeSolid.noLink>*:visited,
.buttonBox .button.typeSolid.noLink>*:focus,
.buttonBox .button.typeSolid.noLink>*:active {
    color: #bbb
}

.buttonBox .button.typeSolid.arrow>* {
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_white.png)
}

.buttonBox .button.typeUnderline>* {
    width: 100%;
    max-width: 320px;
    display: block;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    font-family: Hiragino Kaku Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/arrow_red.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat;
    position: relative
}

.buttonBox .button.typeUnderline>*:before {
    width: 100%;
    height: 1px;
    content: "";
    background-color: #d2d2d2;
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0
}

.buttonBox .button.typeUnderline>*:after {
    width: 20px;
    height: 1px;
    content: "";
    background-color: #e84d3e;
    position: absolute;
    bottom: 1px;
    left: 0
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>*:after {
        -webkit-transition-property: width;
        -o-transition-property: width;
        transition-property: width;
        -webkit-transition-duration: .14s;
        -o-transition-duration: .14s;
        transition-duration: .14s;
        -webkit-transition-timing-function: ease-out;
        -o-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }
}

@media only screen and (min-width: 1020px) {
    .buttonBox .button.typeUnderline>* {
        -webkit-transition-property: background-position, color;
        -o-transition-property: background-position, color;
        transition-property: background-position, color;
        -webkit-transition-duration: .5s;
        -o-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: ease;
        -o-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }

    .buttonBox .button.typeUnderline>*:hover {
        color: #e84d3e;
        background-position: 93% center
    }

    .buttonBox .button.typeUnderline>*:hover:after {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.typeUnderline>* {
        color: #e84d3e
    }
}

.buttonBox .button.fontColor_red>* {
    color: #e84d3e
}

.buttonBox .button.buttonAlignL>* {
    margin-right: auto;
    margin-left: 0
}

.buttonBox .button.buttonAlignC>* {
    margin-right: auto;
    margin-left: auto
}

.buttonBox .button.buttonAlignR>* {
    margin-right: 0;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignL>* {
        margin-right: auto;
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignC>* {
        margin-right: auto;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {
    .buttonBox .button.spButtonAlignR>* {
        margin-right: 0;
        margin-left: auto
    }
}

@media only screen and (max-width: 767px) {

    .buttonBox .button.button a,
    .buttonBox .button.button span {
        width: 78.66vw;
        padding: 5.33vw;
        font-size: 4vw
    }
}

.buttonBox .caution {
    margin-top: 15px;
    font-size: 13px;
    color: #434343
}

.rcal_calendarMainWrap {
    width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap {
        width: 100%;
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap {
        width: 90%;
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail {
        padding: 3.8vw 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
    margin-left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox {
        margin-top: 2.8vw;
        margin-left: 0
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox:first-child {
        margin-top: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 40px
}

@media only screen and (min-width: 1080px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p {
        margin-left: 4.93vw
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p:first-of-type {
        margin-left: 0
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
    width: 12px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.iconImg {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
    content: "TEL";
    color: #505050;
    font-size: 15px;
    font-weight: 700
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .icon.tel:before {
        font-size: 3.2vw
    }
}

.rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
    margin-left: 8px;
    font-size: 14px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        margin-left: 1.33vw;
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarSliderWrap {
        width: 90% !important;
        margin-right: auto;
        margin-left: auto;
        position: static !important
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendarMainWrap .rcal_calendarFooter {
        margin-right: auto;
        margin-left: auto
    }
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink {
    display: none
}

.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_link.active,
.rcal_calendarMainWrap .rcal_calendarFooter .rcal_calendarReservationBtnArea .rcal_calendarReservationBtnWrap_noLink.active {
    display: block
}

.rcal_calendar {
    margin-top: 25px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar {
        margin-top: 4vw
    }
}

.rcal_calendar table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table {
        margin-bottom: 1px
    }
}

.rcal_calendar table tr {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr {
        padding-top: .66vw
    }
}

.rcal_calendar table tr:first-child {
    padding-top: 0
}

.rcal_calendar table tr>*:first-child {
    padding-left: 0
}

.rcal_calendar table tr.week {
    height: 24px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table tr.week {
        height: 6.12vw
    }
}

.rcal_calendar table th,
.rcal_calendar table td {
    width: 13.88%;
    padding-left: .47%;
    font-size: 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {

    .rcal_calendar table th,
    .rcal_calendar table td {
        width: 14.06%;
        padding-left: .26%;
        font-size: 3.46vw
    }
}

.rcal_calendar table td {
    padding-top: 5px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td {
        padding-top: .26%
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td.eventinfo a {
        padding: 3.33vw 0
    }
}

.rcal_calendar table td.eventinfo a:hover .eventLink {
    text-decoration: none
}

.rcal_calendar table td.eventinfo a .eventLink {
    margin-top: 5px;
    font-size: 16px;
    color: #3cc4bf !important;
    text-decoration: underline;
    display: block
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    .rcal_calendar table td.eventinfo a .eventLink {
        font-size: 14px !important
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td.eventinfo a .eventLink {
        margin-top: 2.26vw;
        font-size: 2.8vw;
        white-space: nowrap
    }
}

.rcal_calendar table td.past .tdInner .num {
    color: #d2d2d2
}

.rcal_calendar table td .ajaxDateStatusBtn.active {
    border-color: #90edc7;
    background: #90edc7
}

@media only screen and (min-width: 1080px) {
    .rcal_calendar table td .ajaxDateStatusBtn:hover.tdInner {
        border-color: #90edc7;
        background: #90edc7
    }
}

.rcal_calendar table td .tdInner {
    height: 75px;
    padding: 17px 10px;
    display: block;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 1080px) {
    .rcal_calendar table td .tdInner {
        transition: all .5s ease
    }
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner {
        height: 15.33vw;
        padding: 3.33vw 0
    }
}

.rcal_calendar table td .tdInner>* {
    margin-top: 9px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .tdInner>* {
        margin-top: 2.26vw
    }
}

.rcal_calendar table td .tdInner>*:first-child {
    margin-top: 0
}

.rcal_calendar table td .icon {
    width: 12px;
    height: 12px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .rcal_calendar table td .icon {
        width: 2.66vw;
        height: 2.66vw
    }
}

.rcal_calendar table td .icon.circle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.triangle {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.rcal_calendar table td .icon.cross {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.rcal_calendar .num {
    display: block;
    font-size: 16px;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .num {
        font-size: 3.46vw
    }
}

.rcal_calendar .dateStatus {
    display: block
}

.rcal_calendar .reserveLimitText {
    display: block;
    color: #505050
}

.rcal_calendar .telIcon_swing {
    width: 14px;
    height: 14px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    background-image: url(https://www.ondine.jp/_wsys/wp-content/plugins/shop-site-reservation-calendar/images/icon/tel_red.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: telIcom_swing 2.5s linear 0s infinite;
    animation: telIcom_swing 2.5s linear 0s infinite;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendar .telIcon_swing {
        width: 3.4vw;
        height: 3.4vw
    }
}

.rcal_calendar .holiday {
    color: #c8362c
}

.rcal_calendar .holiday * {
    color: inherit
}

.rcal_calendar_timeTableWrap {
    margin-top: 35px
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap {
        margin-top: 0
    }
}

.rcal_calendar_timeTableWrap.loading {
    min-height: 30px;
    position: relative
}

@media only screen and (max-width: 767px) {
    .rcal_calendar_timeTableWrap.loading {
        margin-top: 6.66vw
    }
}

.rcal_calendar_timeTableWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.rcal_calendar_timeTableWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .timeTable {
        margin: 6.66vw 0 2.66vw !important
    }
}

.timeTable>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .timeTable>* {
        margin-top: 3.46vw
    }
}

.timeTable>*:first-of-type {
    margin-top: 0
}

.timeTable .timeTableTitleArea .title {
    text-align: center;
    font-size: 16px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableTitleArea .title {
        font-size: 3.73vw
    }
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea {
        width: 100%;
        overflow-x: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.timeTable .timeTableDetailArea ul li {
    width: 10.87%
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li {
        width: auto;
        margin-right: 1.73vw
    }

    .timeTable .timeTableDetailArea ul li:last-of-type {
        padding-right: 0
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap {
        padding: 2.63vw 4.4vw;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: all .3s ease
}

@media only screen and (min-width: 1080px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap.link:hover {
        border-color: #90edc7;
        background: #90edc7
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.link.active {
    border-color: #90edc7;
    background: #90edc7
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.noLink {
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
    width: 12px;
    height: 12px;
    display: inline-block
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
    width: 12px;
    height: 12px;
    content: "";
    display: inline-block;
    vertical-align: top;
    background-size: contain;
    background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .icon:before {
        width: 3.2vw;
        height: 3.2vw
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.circle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.triangle:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_maru.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_cross.svg)
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.cross+.time {
    color: #d2d2d2
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
    margin-left: 10px;
    font-size: 16px
}

@media only screen and (max-width: 767px) {
    .timeTable .timeTableDetailArea ul li .timeBtnWrap .time {
        margin-left: 2.66vw;
        font-size: 4.26vw
    }
}

.rcal_calendarHeader {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.rcal_calendarHeader .rcal_calendarTitle {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    vertical-align: baseline
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle {
        font-size: 5.33vw
    }
}

.rcal_calendarHeader .rcal_calendarTitle .monthNum {
    display: inline-block;
    vertical-align: baseline;
    font-size: 40px
}

@media only screen and (max-width: 767px) {
    .rcal_calendarHeader .rcal_calendarTitle .monthNum {
        font-size: 9.33vw
    }
}

.rcal_calendarFooter {
    width: 100%;
    margin-top: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.eventinfoTextWrap {
    margin-bottom: 30px
}

.eventinfoTextWrap * {
    color: #505050;
    font-size: 15px
}

@media only screen and (max-width: 767px) {
    .eventinfoTextWrap * {
        font-size: 3.2vw
    }
}

.eventinfoTextWrap .eventinfoText {
    margin-top: 10px;
    color: #505050;
    text-align: center;
    background-color: #e1f2f2 !important;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.4;
    text-align: center
}

.eventinfoTextWrap .eventinfoText:first-child {
    margin-top: 0
}

.eventinfoTextWrap .eventinfoText .red {
    color: #3cc4bf !important
}

.eventinfoTextWrap .eventinfoText a {
    color: #3cc4bf !important;
    text-decoration: underline
}

.eventinfoTextWrap .eventinfoText a:hover {
    text-decoration: none
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-overflow-scrolling: touch
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled {
        padding-top: 1.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
    width: 40px;
    height: 40px;
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_link_button.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    z-index: 5;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
        width: 10.66vw;
        height: 10.66vw;
        top: 23.46vw
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.disabled {
    display: none
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderNext {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
    left: 0
}

@media only screen and (max-width: 767px) {
    .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers.rcal_calendarSliderPrev {
        width: 30px;
        height: 30px
    }
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner {
    width: 300%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-transition-property: margin-left;
    transition-property: margin-left;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderInner .rcal_calendarSlide {
    width: 33.33333%
}

.rcal_display_calendarMainWrap>* {
    margin-top: 30px
}

.rcal_display_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap>* {
    margin-top: 30px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap>* {
        margin-top: 7.06vw
    }
}

.rcal_display_ajax_calendarMainWrap>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
    background-color: #f4f4f4;
    margin-top: 50px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea {
        margin-top: 10.66vw;
        padding: 7.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
    margin-top: 15px
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>* {
        margin-top: 3.33vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea>*:first-child {
    margin-top: 0
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
    font-size: 16px;
    letter-spacing: .06em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telText {
        font-size: 3.73vw
    }
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber {
    font-size: 28px;
    text-align: center
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .telNumber .tel {
    width: 30px;
    height: 30px;
    display: inline-block;
    background: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_tel.svg) no-repeat 0 0;
    background-size: contain;
    vertical-align: bottom
}

.rcal_display_ajax_calendarMainWrap .rcal_calendarReservationTelArea .regularHolidayText {
    font-size: 14px;
    text-align: center
}

#selectShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#selectShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#selectShopContactCloseBtn>a:before,
#selectShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#selectShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#selectShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#selectShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001
}

#selectShopContactArea {
    width: 84%;
    height: 82.8vh;
    padding: 120px 0 0;
    background-color: #fff;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    z-index: 10001;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: none
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContactArea {
        height: 80vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContactArea {
        width: 90%;
        height: 86vh;
        padding: 5% 0;
        overflow-y: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow-x: hidden
    }
}

#selectShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#selectShopContact .selectShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#selectShopContact .selectShopContactWrap.loading {
    position: relative
}

#selectShopContact .selectShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#selectShopContact .selectShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#selectShopContact .selectShopContactWrap.loading .selectShopContactInner {
    display: none
}

#selectShopContact .selectShopContactInner {
    width: 90%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 120px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactInner {
        width: 90%;
        padding-bottom: 5%;
        overflow: hidden
    }
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title {
    padding-left: 24px;
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    letter-spacing: .06em;
    line-height: 1.53;
    position: relative
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title:before {
    width: 16px;
    height: 16px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/calendar_bk.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px
}

#selectShopContact .selectShopContactContents {
    display: none
}

#selectShopContact .selectShopContactContents.active {
    display: block
}

#selectShopContact .selectShopContactContents .selectShopListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 25px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl {
    width: 23.7%;
    margin-left: 1.73%;
    margin-top: 40px
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(-n+4) {
        margin-top: 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl:nth-of-type(4n+1) {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-bottom: 1px solid #f4f4f4;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt {
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
    font-size: 15px;
    font-family: Koburina Gothic W6 JIS2004, sans-serif;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt .areaName {
        font-size: 14px;
        font-family: Koburina Gothic W3 JIS2004, sans-serif;
        font-weight: 400
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
    margin-top: 15px
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: block !important
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd {
        display: none;
        margin-top: 0
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul {
        display: block
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
    width: 49%;
    margin-left: 2%;
    margin-top: 5px
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(-n+2) {
    margin-top: 0
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:nth-of-type(odd) {
    margin-left: 0
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
        border-top: 1px solid #f4f4f4
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li:first-of-type {
        border-top: none
    }
}

#selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
    display: block;
    padding: 15px 36px 15px 10px;
    font-size: 13px;
    border: 1px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_darkGray.png);
    background-size: 14px;
    background-position: 91% center;
    background-repeat: no-repeat
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        transition: all .5s ease
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:hover {
        color: #fff;
        background-color: #90edc7;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_white.png)
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/arrow_darkGray.png);
        background-position: 93% center
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a {
        width: 100%;
        padding: 20px;
        color: #505050;
        font-size: 13px;
        letter-spacing: .06em;
        line-height: 1;
        border: none
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:visited,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:focus,
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:active {
        color: #fff
    }
}

#selectShopContact #selectShopContact_calendar {
    padding-top: 37px
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    letter-spacing: .06em
}

@media only screen and (max-width: 767px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        padding-left: 5.33vw;
        font-size: 3.73vw
    }
}

#selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/icon_arrow_left.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: .9rem;
    height: 1.1rem
}

@media only screen and (min-width: 1080px) {
    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a {
        -webkit-transition-property: opacity;
        transition-property: opacity;
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-timing-function: ease;
        transition-timing-function: ease;
        -webkit-transition-delay: 0s;
        transition-delay: 0s
    }

    #selectShopContact #selectShopContact_calendar #selectShopContact_calendarPrevBtn a:hover {
        opacity: .7
    }
}

#selectShopContact_calendarArea .rcal_calendarMainWrap {
    width: 100%
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_statusDetailWrap {
        width: 100%
    }
}

#selectShopContact_calendarArea .eventinfoTextWrap {
    width: 100%;
    max-width: none
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap {
        width: 100% !important
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderNext {
        right: 0
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_calendarArea .rcal_calendarSliderWrap+.rcal_calendarSliderEnabled .rcal_calendarSliderControllers+.rcal_calendarSliderPrev {
        left: 0
    }
}

#selectShopContact_calendarArea .calShop {
    text-align: center;
    padding: 2rem 0;
    font-size: 18px;
    letter-spacing: .04em;
    margin: .5rem 0 1rem;
    position: relative
}

#selectShopContact_calendarArea .calShop:after {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, #ebf4e5 0%, #86dad2 100%) 0% 0% no-repeat padding-box;
    top: 0;
    left: -2rem;
    right: -2rem;
    width: calc(100% + 4rem);
    height: 100%;
    z-index: -1
}

#thisShopContactCloseBtn {
    width: 25px;
    height: 14px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100005
}

#thisShopContactCloseBtn>a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#thisShopContactCloseBtn>a:before,
#thisShopContactCloseBtn>a:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0
}

#thisShopContactCloseBtn>a:before {
    -webkit-transform: translateY(-50%) rotate(-30deg);
    transform: translateY(-50%) rotate(-30deg)
}

#thisShopContactCloseBtn>a:after {
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg)
}

#thisShopContactBg {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001
}

#thisShopContactArea {
    width: 90%;
    height: 100%;
    max-width: 600px;
    min-height: 60vh;
    max-height: 80vh;
    background-color: #fff;
    display: none;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1002
}

#thisShopContact {
    width: 100%;
    height: 100%;
    position: relative
}

#thisShopContact .thisShopContactWrap {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

#thisShopContact .thisShopContactWrap.loading {
    position: relative
}

#thisShopContact .thisShopContactWrap.loading:before {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

#thisShopContact .thisShopContactWrap.loading:after {
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../assets/images/loading.gif);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

#thisShopContact .thisShopContactWrap.loading .thisShopContactInner {
    display: none
}

#thisShopContact .thisShopContactInner {
    width: 100%;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@-webkit-keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes telIcom_swing {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    15% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    25% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    40% {
        -webkit-transform: rotate(-15deg);
        transform: rotate(-15deg)
    }

    50% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap.linkTel {
    border: 1px solid #eee;
    box-sizing: border-box;
    transition-property: border-color;
    transition-duration: .3s;
    transition-timing-function: ease;
    transition-delay: 0s
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel {
    width: auto;
    height: auto
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:before {
    display: none
}

.timeTable .timeTableDetailArea ul li .timeBtnWrap .icon.tel:after {
    content: "TEL";
    color: #505050;
    font-size: 15px
}

.rcal_calendar .reserveLimitText .tel {
    width: 100%;
    text-align: center
}

.rcal_calendar .reserveLimitText .tel:before {
    content: "TEL";
    font-size: 15px;
    color: #505050
}

#lpMonthlyCalendarInfoWrap #selectShopContact_shopList .selectShopListWrap dl dd {
    display: block !important
}

#specialFeature .sectionTitleArea {
    position: relative
}

#specialFeature .sectionTitleArea .caution {
    position: absolute;
    top: 84.7%;
    left: 25%;
    font-size: 18px;
    white-space: nowrap
}

#specialFeature .sectionTitleArea .caution a {
    text-decoration: underline;
    font-weight: 700
}

#specialFeature .sectionTitleArea .caution a:hover {
    text-decoration: none
}

@media only screen and (max-width: 767px) {
    #specialFeature .sectionTitleArea .caution {
        top: 76.7%;
        left: 24.5%;
        font-size: 3.5vw
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root) {
        background: 0 0
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root):before {
        content: none
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root) {
        background: 0 0
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root):before {
        content: none
    }

    #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root):after {
        content: none
    }
}

#selectShopContact .selectShopContactInner .shopSelectTitleArea .title:before {
    background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/calendar_bk.png)
}

@media only screen and (min-width: 768px) and (max-width:1019px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root):after {
        content: none
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root):before {
        content: none
    }
}

@media only screen and (min-width: 1080px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:not(:root) {
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/arrow_darkGray.png)
    }

    #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:not(:root):hover {
        color: #fff;
        background-color: #90edc7;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/arrow_white.png);
        border-color: transparent
    }
}

@media only screen and (min-width: 768px) and (max-width:1079px) {
    #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:after {
        content: none
    }
}

#lpMonthlyCalendarInfoWrap #selectShopContact .selectShopContactContents .selectShopListWrap dl {
    margin-top: 0
}

@media only screen and (max-width: 1079px) {
    .lp-type-b #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dt:not(:root) {
        padding: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        background: #f0f0f0
    }

    .lp-type-b #selectShopContactArea #selectShopContact .selectShopContactContents .selectShopListWrap dl dd ul li a:not(:root) {
        background-color: transparent;
        background-image: url(//www.ondine.jp/_wsys/wp-content/themes/ondine_theme/assets/lp/css/common/../../images/arrow_darkGray.png)
    }
}

@media only screen and (max-width: 767px) {
    #selectShopContact_shopList {
        overflow: auto
    }

    #selectShopContactArea a {
        color: #333
    }

    #selectShopContactArea .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        font-size: 3.73vw
    }

    .rcal_calendarMainWrap .rcal_statusDetailWrap .rcal_statusDetail .detailBox p .text {
        font-size: 3.73vw
    }

    #selectShopContact #selectShopContact_calendar {
        overflow-y: auto
    }

    #selectShopContact_calendarArea .calShop:after {
        width: 100%;
        left: 0;
        right: 0
    }

    #selectShopContactArea .rcal_calendar table td .tdInner>* {
        margin-top: 1vw
    }

    #selectShopContactArea .rcal_calendarSliderWrap.rcal_calendarSliderEnabled .rcal_calendarSliderControllers {
        top: 28vw
    }

    #selectShopContactArea .rcal_display_ajax_calendarMainWrap>* {
        margin-top: 9vw
    }
}