/*
 Theme Name:   WpResidence child theme
 Theme URI:    https://themeforest.net/item/wp-residence-real-estate-wordpress-theme/7896392
 Description:   WpResidence child theme
 Author:       WpEstate
 Author URI:   http://wpestate.org
 Template:     wpresidence
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* from Tailwind CSS */
.block { display: block; }
.inline-block { display: inline-block; }
.w-full { width: 100%; }
.w-1\/2 { width: 50%; }
.normal-case { text-transform: none; }
@media (min-width: 1024px) {
    .lg\:px-0 { padding-left: 0; padding-right: 0; }
}

#primary .w-full { width: 100%; }

@media (min-width: 576px) {
    .show-only-smartphone { display: none; }
    .hide-only-smartphone { display: block; }
}
@media (max-width: 576px) {
    .show-only-smartphone { display: block; }
    .hide-only-smartphone { display: none; }
}

/* ログイン時にヘッダーがずれるのを回避 */
.logged-in .header_type1.header_left #access {
    margin-right: 130px;
}

/* modal が modal-backdrop に隠れてしまうので z-index: 1; を除去 */
#all_wrapper { z-index: auto; }
/* ヘッダーが modal よりも上に来てしまうので z-index: 2; を除去 */
.container { z-index: auto; }
#sectCal {
    margin-top: 30px;
    margin-bottom: 60px;
    display: inline-block;
    width: 100%;
}

.modal {
    max-height: 100%;
    overflow-y: auto;
}
@media (min-width: 768px) {
    .modal-dialog {
        width: 720px;
    }
}
@media (min-width: 768px) {
    .modal-dialog-scrollable {
        max-height: calc(100% - 60px);
    }
    .modal-dialog-scrollable .modal-content {
        max-height: calc(100vh - 60px);
    }
}
.modal-dialog-scrollable {
    display: -ms-flexbox;
    display: flex;
    max-height: calc(100% - 20px);
}
.modal-dialog-scrollable .modal-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: min(100%, 720px);
    overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
}
.modal-dialog-scrollable .modal-footer,
.modal-dialog-scrollable .modal-header {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.form-group input[type=text],
.form-group input[type=password],
.form-group input[type=email],
.form-group input[type=url],
.form-group input[type=number],
.form-group input[type=date],
.form-group input[type=datetime-local],
.form-group textarea {
    background-color: #fff9ee;
    color: #555;
    font-size: 15px;
    padding: 12px;
}
.form-group label.btn.btn-reversed {
    font-size: 14px;
}
.form-group label.required::before {
    content: "必須";
    display: inline-block;
    margin-right: 6px;
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    padding: 2px 10px;
    background-color: #F87474;
}
.error-message-invalid {
    color: red;
}
.form-group label.required ~ p.error-message {
    display: none;
    color: red;
}
.error-message-invalid::before,
.form-group label.required ~ p.error-message::before {
    content: "!";
    display: inline-block;
    border-radius: 50%;
    color: #fff;
    margin-left: .5em;
    margin-right: .5em;
    padding: 0px .67em;
    background-color: red;

}
.form-group label.required + input:not(:focus):invalid ~ p.error-message,
.form-group label.required + textarea:not(:focus):invalid ~ p.error-message {
    display: block;
}
.form-group label.optional::before {
    content: "任意";
    display: inline-block;
    margin-right: 6px;
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    padding: 2px 10px;
    background-color: #999;
}
.form-group label.confirm::before {
    content: "\02713";
    display: inline-block;
    margin-left: 9px;
    margin-right: 15px;
    border-radius: 50%;
    color: #fff;
    font-size: 14px;
    padding: 0px 6px;
    background-color: #ae8c63;
}
.form-group label + p.annotation {
    margin-bottom: 0;
    font-size: 13px;
}
.form-group input:invalid,
.form-group textarea:invalid {
    border-color: red;
}
.form-group input[type=email]:invalid {
    background-color: red;
    color: white;
}
.email-confirm-text {
    color: #ae8c63;
    font-family: monospace;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 4px;
    text-align: center;
}
.btn {
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 8px 34px;
    text-transform: none;
}
.btn-primary {
    background-image: none;
    background-color: #ae8c63;
    background-size: 200% 100%;
    background-position: right bottom;
    border-color: #ae8c63;
    border-radius: 2px;
    color: white;
    font-size: 15px;
    font-weight: bold;
    line-height: 2;
    text-shadow: none;
}
.btn-primary:focus,
.btn-primary:hover {
    background-color: white;
    border-color: #ae8c63;
    background-position: left bottom;
    color: #ae8c63;
    transition: all 300ms ease;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%,#ae8c63 ));
    background-image: linear-gradient(to right, transparent 50%, #ae8c63 50%);
}
.btn-primary i {
    color: white;
}
.btn-primary:focus i,
.btn-primary:hover i {
    color: #ae8c63;
}

.btn-reversed {
    background-image: none;
    background-color: white;
    background-size: 200% 100%;
    background-position: right bottom;
    border-color: #ae8c63;
    border-radius: 2px;
    color: #ae8c63;
    font-size: 15px;
    font-weight: bold;
    line-height: 2;
    text-shadow: none;
}
.btn.btn-reversed.active,
.btn.btn-reversed:active,
.btn-reversed:focus,
.btn-reversed:hover {
    background-color: #ae8c63;
    background-position: left bottom;
    border-color: #ae8c63;
    color: white;
    transition: all 300ms ease;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #ae8c63), color-stop(50%,white ));
    background-image: linear-gradient(to right, transparent 50%, white 50%);
}
#user_menu_open > li > a:hover, #user_menu_open > li > a:focus {
    color: white !important;
}
.add_favorites_compare_listings {
    margin: 1em;
    padding: 0.5em;
    border-radius: 2px;
    font-size: 15px;
    cursor: pointer;
    text-align: center;
}
.add_favorites_compare_listings.issaving {
    cursor: progress;
}
.add_favorites_compare_listings.isfavorite {
    background-color: #a6b3bb;
}
.add_favorites_compare_listings.isnotfavorite {
    background-color: #ae8c63;
    color: #fff;
}
#primary #sidebar_studio_info.widget-container {
    background-color: #fff;
    border-color: #efe8e0;
    z-index: 10;
}
#primary #sidebar_studio_info.widget-container .btn.w-full {
    padding: 8px 16px;
}
#sidebar_studio_info .sidebar_studio_info_header {
    background-color: #efe8e0;
    border-bottom: 1px solid #efe8e0;
    margin: -30px -30px 15px;
    padding: 15px;
}
#sidebar_studio_info .sidebar_studio_info_header .h6.text-muted {
    margin: 0;
}
#sidebar_studio_info .sidebar_studio_info_header .h6.text-muted a[rel="tag"] {
    color: #777;
}
.telno {
    letter-spacing: 2px;
}
.property_card_default h4 {
    font-size: 18px;
}
.listing_details.the_grid_view {
    max-height: 160px;
    min-height: 120px;
}

@media(max-width:767px){
    .sectDetail .sp-block {display: block;}
    .sectDetail .sp-block tbody {display: block;}
    .sectDetail .sp-block tr {display: block;}
    .sectDetail .sp-block th {display: block;}
    .sectDetail .sp-block td {display: block;border-bottom: none;}
    .single-content p,
    .single-content th,
    .single-content td{
        font-size: 13px;
        line-height: 1.8;
    }
}

.admin-bar .has_header_type1 .dashboard-margin,
.has_header_type1 .dashboard-margin {
    top: 0px;
    padding-top: 35px;
}

.accordion {
    overflow-anchor: none;
    padding: 0 60px;
}
.accordion > .card:not(:last-of-type) {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.accordion > .card {
    overflow: hidden;
}
.accordion > .card h2 {
    margin-bottom: 0;
}
.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.25rem;
    overflow: hidden;
}
.card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
.card-header {
    background-color: #f0f9ff;
    margin-bottom: 0;
    padding: 0.75rem 1.25rem;
}
.accordion .card .card-header button.btn {
    box-shadow: none;
    text-align: start;
}
.card-body {
    background-color: #fff;
    margin: 15px;
}

.page-template-user_dashboard_multiple_inquiry .content_wrapper,
.page-template-user_dashboard_inquiry_history .content_wrapper,
.page-template-user_dashboard_history .content_wrapper {
    width: 100%;
    padding: 0;
}
.page-template-user_dashboard_multiple_inquiry li.list-group-item a,
.page-template-user_dashboard_inquiry_history li.list-group-item a,
.page-template-user_dashboard_history li.list-group-item a {
    color: #337ab7;
}

.DOPBSPCalendar-sidebar {
    display: none;
}


.wpestate_property_description {
    margin-bottom: 30px;
}

/*tableに対する装飾*/
.sectDetail table {
    margin-bottom: 8px;
}
.sectDetail table th {
    background-color: #888;
    color: white;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
    white-space: nowrap;
}
.sectDetail td {
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.sectDetail td:first-child {
    white-space: nowrap;
}

.property-panel h4:after {
    font-weight: bold;
    color: #aaa;
}
.property-panel.header-only h4:after {
    content: "";
}
.wpestate_property_description h4, .multi_units_wrapper h4, .property-panel h4 {
    padding-bottom: 0.3em;
    border-bottom: 1px solid #ddd;
}
.scroll {
    overflow: scroll;
}
.mkdn table,.panel-default table {
    width: 100%;
}
.single-content .mkdn p {
    margin-bottom: 0;
}
@media(max-width:767px){
    .scroll::before {
        content: '表の内容は上下左右にスクロールできます';
        font-size: 12px;
    }
    .mkdn table {
        margin-bottom: 8px;
    }
}
.single-content .small {
    font-size: .72em;
}
.panel-body > div {
    margin-bottom: 32px;
}
@media(min-width:768px){
    #detail1 th {
        width: 1px;
        white-space: nowrap;
        padding-left: .5em;
        padding-right: .5em;
    }
}
.property-panel h4 {
    font-size: clamp(16px,5vw,24px);
    font-weight: lighter;
    border-left: 5px solid #ae8c63;
    padding-left: 0.7em;
    padding-top: 0.3em;
}
.panel-body h5 {
    font-size: clamp(16px,4.5vw,20px);
    font-weight: normal;
}
.panel-body h5::before {
    content: '\25B6';
    color: #ae8c63;
    padding-right: .5em;
}
/*
.compar-4 .compare_item_head {
    height: auto;
}
.compar-4 .prop_value {
    width: 20.9% !important;
}
.prop_value {
    max-width: 265px;
}
.page-template-compare_listings .midashi {
    padding-top: 16px;
    padding-bottom: 8px;
    background-color: #f5f5f5;
}
.page-template-compare_listings .midashi h4 {
    background-color: #888;
    color: white;
    padding: 0.3em .5em;
    font-size: 16px;
    margin-bottom: 0;
}
*/
.compare-listings-table-studio-header {
    position: relative;
}
table#compare-listings-table tr:nth-child(1) th:nth-child(n + 2) {
    background-color: rgba(240,240,240,1);
    transition: background-color .3s;
}
table#compare-listings-table tr:nth-child(1) th:nth-child(n + 2):hover {
    background-color: rgba(245,245,245,1);
}
.compare-listings-table-studio-header .compare-listings-table-studio-link {
    text-indent: -9999px;
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.compare-listings-table-studio-header dt {
    color: #222;
    font-size: clamp(12px,3.4vw,18px);
    margin-top: .5em;
}
.compare-listings-table-studio-header dd {
    margin-bottom: 0;
}
.compare-listings-table-price {
    font-size: 18px;
    font-weight: bold;
    color: #ae8c63;
}
.compare-listings-table-type {
    font-size: 12px;
}
#compare-listings-table .add_favorites_compare_listings,
.compare-listings-table-studio-header dl {
    margin: 0 0 4px;
}
#compare-listings-table .add_favorites_compare_listings {
    font-size: 12px;
    position: absolute;
    bottom: 4px;
    left: 7px;
    width: calc(100% - 14px);
}
#compare-listings-table {
    border-top: 3px solid #d9d9d9;
    border-bottom: 3px solid #d9d9d9;
    border-spacing: 0;
}
#compare-listings-table th,
#compare-listings-table td {
    border-top: none;
    border-bottom: none;
    color: #333;
}
#compare-listings-table th:nth-child(1) {
    white-space: nowrap;
}
table#compare-listings-table tr:nth-child(1) th:nth-child(1) {
    background-color: transparent;
}
#compare-listings-table tr:nth-child(even) th:nth-child(1) {
    background-color: #e3e3e3;
}
#compare-listings-table tr:nth-child(odd) th:nth-child(1) {
    background-color: #eee;
}
#compare-listings-table tr:nth-child(even) {
    background-color: #e9e9e9;
}
#compare-listings-table tr:nth-child(odd) {
    background-color: #f0f0f0;
}
#compare-listings-table tr.midashi {
    background-color: #f0f0f0;
}
#compare-listings-table tr.midashi th {
    font-size: 18px;
    padding: .3em;
    border-top: 8px solid #f0f0f0;
    border-bottom: 1px solid #ae8c63;
    border-left: none;
    border-right: none;
    background-color: #f3eadf;
}
#compare-listings-table tr.midashi th:nth-child(1) {
    background-color: #f3eadf;
}
#compare-listings-table tr:nth-child(1) th {
    background-color: #f0f0f0;
    z-index: 1;
    padding-bottom: 28px;
}
@media(min-width:768px) {
    #compare-listings-table tr:nth-child(1) th {
        position: relative;
    }
}
#compare-listings-table th:nth-child(1) {
    z-index: 2;
}

@media(max-width:767px){
    .scroll {
        max-height: 90vh;
    }
    #compare-listings-table {
        font-size: 12px;
    }
    #compare-listings-table th {
        min-width: 30vw;
        position: sticky;
        left: 0;
        top: 0;
    }
    #compare-listings-table tr.midashi th:nth-child(1) {
        font-size: 12px;
        font-weight: bold;
    }
    /*
    #compare-listings-table tr.midashi th:nth-child(1) .txt {
        position: sticky;
        left: .3em;
    }
    */
}

#compare-listings-table .compare_yes {
    color: #ae8c63;
}
#compare-listings-table .compare_no {
    color: #ccc;
}
.su-tabs-pane li {
    font-size: 16px;
}
