@charset "utf-8";
.head_content nav.fx_row{
  justify-content: center;
}
.bottom_cta_content.on {
    visibility: hidden;
}

.bottom_cta a:hover {
    opacity: 1;
}

.sp_top_biztime {
    padding: 30px 0 60px;
}

#price .txt_intro:first-child,
#price_desc .txt_intro:first-child{
    margin-bottom: 40px;
    word-break: normal;
}

#price .bx_intro,
#price_desc .bx_intro {
    margin-bottom: 60px;
}

#price .ttl_sub_price,
#price_desc .ttl_sub_price {
    margin-bottom: 20px;
    font-size: 20px;
    text-align: center;
    font-weight: 600;
}

#price .price_base .tabel_wrap,
#price_desc .price_base .tabel_wrap {
    margin-bottom: 30px;
}

.tabel_wrap table tr:not(:first-of-type) th,
.tabel_wrap .tbl_package_price th,
.tabel_wrap .tbl_package_price td {
    width: 20%;
    height: 60px;
}

.tbl_package_price .txt-heavy {
    padding: 8px 2px;
    line-height: 1.2;
}

.border_r {
    border-right: solid 1px var(--color-brown04);
}

.tabel_wrap table th, .tabel_wrap table td {
    padding: 8px;
}
.tabel_wrap table .txt_time_range {
    display: block;
    font-size: 12px;
}
.tabel_wrap .price_td {
    font-size: 18px;
}

.tabel_wrap .tbl_package_price td.price_td {
    line-height: 0.7;
}

.tabel_wrap .tbl_package_price td.price_td .strike {
    font-size: 24px;
    font-weight: bold;
}

.limited_time {
    display: grid;
    justify-content: center;
    grid-template-columns: 20px 57px;
}

.limited_time p.price {
    /* position: relative; */
    display: grid;
    color: var(--color-red01);
    font-weight: bold;
    font-size: 40px;
}

.limited_time p.price:before {
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 0px;
    border-top: 24px solid var(--color-red01);
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
}

.limited_time p.vertical {
    padding-top: 20px;
    color: #333;
    font-size: 16px;
    font-weight: bold;
}

.vertical {
    writing-mode: vertical-rl;
}

a.btn_btn_web {
    max-width: 300px;
    margin-bottom: 20px;
    padding: 22px 22px 22px 55px;
    background: var(--color-red01);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.1em;
}

a.btn_btn_web span {
    position: relative;
}

a.btn_btn_web span:before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: -35px;
    margin: auto;
}

.btn_btn_web span:before {
    width: 24px;
    height: 24px;
    background: url(/images_2024r/shop/common/asides/ico_bottom_cale.svg);
}

#price{
    background: var(--color-brown01);
}
#price .txt_intro,
#price_desc .txt_intro{
    font-size: 12px;
}
#price .option_desc,
#price_desc .option_desc{
    border-top: none;
}
#price_desc .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px 10px;
    margin-bottom: 30px;
}
.link_bnr{
    margin-bottom: 20px;
    display: block;
}

@media (width >= 820px) {
    section#price .sec_inner > div,
    section#price_desc .sec_inner > div {
        padding-top: 40px;
    }


    .tabel_wrap .price_td {
        font-size: 24px;
    }

    .tabel_wrap table th, .tabel_wrap table td,
    .tabel_wrap .table_drink th {
        font-size: 14px;
    }
}

.plan_tennoji{
    background: #F7F5EF;
    padding-bottom:60px;
}
.plan_tennoji .plan_ttl .plan_form_sel {
  z-index: 10;
}
.plan_tennoji .plan_accord > .pan_overview {
  background: #fff;
}
.plan_tennoji .plan_form_sel::before {
  background: #3C2D09;
}


/* ---------- サービスページ ---------- */
.ttl_sec_01, .ttl_sec_02 {
    position: relative;
}

.bx_room:not(:last-of-type) {
    margin-bottom: 30px;
}

#room_nav .grid a img {
    width: auto;
    min-height: 150px;
    object-fit: cover;
}

.room_sec:nth-child(odd) {
    background: #fff;
}

.room_sec:nth-child(even) {
    background: var(--color-brown01);
}

.f10 {
    font-size: 10px;
}

.bx_room img {
    margin-bottom: 10px;
}

.bx_room_txt {
    width: 90%;
    margin: auto;
    font-size: 12px;
}

.bx_room_txt p > span {
    font-size: 10px;
}

.bx_room_txt p+p {
    margin-top: 10px;
}
