/* 口コミ一覧・詳細（/reviewlist, /reviewlist/detail）— style_diary の .main_diary / .list_diary レイアウトと併用 */

/* 口コミ一覧: .main_diary 内 .list_diary 向け。ラップ無しだと flex 幅が効かず横詰まりになる */
.page_reviewlist .main_diary .list_diary .box_review {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
}
.page_reviewlist .main_diary .list_diary .box_review .box_diary--in {
    width: 100%;
}
.page_reviewlist .main_diary .list_diary .review_meta,
.page_reviewlist .main_diary .list_diary .review_girl,
.page_reviewlist .main_diary .list_diary .ttl_review {
    width: 100%;
    word-break: break-word;
}
.page_reviewlist.page_diary--all .main_diary .list_diary .box_diary {
    padding-bottom: 0;
}

/* 口コミ一覧 PC 2列（.page_diary--all の4列を上書き、写メ日記一覧は非対象） */
@media only screen and (min-width : 769px) {
    .page_reviewlist.page_diary--all .main_diary .list_diary {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .page_reviewlist.page_diary--all .main_diary .list_diary .li_diary {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 1.5em;
    }
    .page_reviewlist.page_diary--all .main_diary .list_diary .li_diary:nth-child(2n) {
        margin-right: 0;
    }
}

/* 口コミ一覧カード（女性一覧と同系：左 .box_girl--photo / 右 .box_girl--inf） */
.page_reviewlist .review_card--girlStyle {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 0.75rem;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 248, 238, 0.96) 100%);
    border: 1px solid rgba(81, 17, 17, 0.1);
    box-shadow: 0 4px 16px rgba(65, 43, 43, 0.08);
    -webkit-transition: box-shadow 0.2s ease, -webkit-transform 0.2s ease;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.page_reviewlist .box_review:hover .review_card--girlStyle {
    box-shadow: 0 8px 22px rgba(65, 43, 43, 0.12);
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
}

.page_reviewlist .review_card--girlStyle .review_card__girlRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0.65rem;
    width: 100%;
    min-height: 7rem;
    padding: 0.65rem;
    box-sizing: border-box;
}

.page_reviewlist .review_card--girlStyle .box_girl--photo {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 38%;
    flex: 0 0 38%;
    max-width: 150px;
    min-width: 92px;
    margin: 0;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

.page_reviewlist .review_card--girlStyle .box_girl--photo .box_img {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    border-radius: 0.65rem;
    -webkit-box-shadow: 0 2px 12px rgba(65, 43, 43, 0.12);
    box-shadow: 0 2px 12px rgba(65, 43, 43, 0.12);
    background: rgba(0, 0, 0, 0.04);
}

.page_reviewlist .review_card--girlStyle .box_girl--photo .box_img img.img--girl--photo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center;
}

/* 他ページの .box_girl--inf 絶対配置を打ち消し */
.page_reviewlist .review_card--girlStyle .review_card__girlInf.box_girl--inf {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    display: block;
    padding: 0.35rem 0.15rem 0.35rem 0.5rem;
    margin: 0;
    text-align: left;
    line-height: 1.45;
    background: transparent;
    border: none;
}

.page_reviewlist .review_card--girlStyle .review_card__girlProfile {
    margin: 0 0 0.5rem;
    min-height: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.15rem;
}

.page_reviewlist .review_card--girlStyle .review_card__girlProfile .txt--name--age {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 0.35em;
}

.page_reviewlist .review_card--girlStyle .review_card__girlProfile .txt--name {
    font-weight: 700;
    font-size: 1.06em;
    letter-spacing: 0.02em;
    color: rgb(72, 40, 40);
}

.page_reviewlist .review_card--girlStyle .review_card__girlProfile .txt--age {
    font-size: 0.88em;
    font-weight: 600;
    color: rgba(81, 17, 17, 0.75);
}

.page_reviewlist .review_card--girlStyle .review_card__girlProfile .txt--size {
    display: block;
    margin-top: 0.1em;
    font-size: 0.8em;
    line-height: 1.4;
    color: rgba(65, 43, 43, 0.78);
}

.page_reviewlist .review_card--girlStyle .review_card__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.35em 0.75em;
    font-size: 0.78em;
    line-height: 1.4;
    color: rgba(65, 43, 43, 0.82);
    margin-bottom: 0.35rem;
}

.page_reviewlist .review_card--girlStyle .review_card__lbl {
    font-weight: 600;
    margin-right: 0.12em;
    color: rgba(81, 17, 17, 0.85);
}

.page_reviewlist .review_card--girlStyle .review_card__author {
    margin: 0 0 0.4rem;
    font-size: 0.82em;
    line-height: 1.4;
    color: rgba(65, 43, 43, 0.88);
}

.page_reviewlist .review_card--girlStyle .ttl_review {
    margin: 0;
    font-size: 0.95em;
    line-height: 1.45;
    font-weight: 600;
    word-break: break-word;
    color: rgb(55, 35, 35);
}

@media only screen and (max-width : 768px) {
    .page_reviewlist .review_card--girlStyle .review_card__girlRow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        gap: 0.5rem;
        padding: 0.55rem;
    }
    .page_reviewlist .review_card--girlStyle .box_girl--photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 44%;
        max-width: 200px;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
    }
    .page_reviewlist .review_card--girlStyle .review_card__girlInf.box_girl--inf {
        padding: 0.15rem 0 0;
    }
    .page_reviewlist .review_card--girlStyle .review_card__girlProfile {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: center;
    }
    .page_reviewlist .review_card--girlStyle .review_card__girlProfile .txt--name--age {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .page_reviewlist .review_card--girlStyle .review_card__meta {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .page_reviewlist .review_card--girlStyle .review_card__author {
        text-align: center;
    }
    .page_reviewlist .review_card--girlStyle .ttl_review {
        text-align: left;
    }
}

/* 口コミ詳細（シティヘブン口コミタブに近いカードレイアウト） */
.page_reviewlist_detail .review_detail_ch_sheet {
    margin-top: 0.5rem;
    padding: 0;
    border-radius: 0.75rem;
    overflow: hidden;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 248, 238, 0.97) 100%);
    border: 1px solid rgba(81, 17, 17, 0.12);
    -webkit-box-shadow: 0 6px 22px rgba(65, 43, 43, 0.1);
    box-shadow: 0 6px 22px rgba(65, 43, 43, 0.1);
}
.page_reviewlist_detail .review_detail_ch_head {
    margin: 0;
    padding: 0;
}
.page_reviewlist_detail .review_detail_ch_band {
    margin: 0;
    padding: 0.55rem 1rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #fff;
    text-align: center;
    background: -webkit-linear-gradient(135deg, #8b6914 0%, #c9a227 45%, #a67c00 100%);
    background: linear-gradient(135deg, #8b6914 0%, #c9a227 45%, #a67c00 100%);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(81, 17, 17, 0.2);
}
.page_reviewlist_detail .review_detail_ch_metaRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    padding: 0.75rem 1rem 0.5rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: rgba(65, 43, 43, 0.88);
    border-bottom: 1px dashed rgba(81, 17, 17, 0.12);
}
.page_reviewlist_detail .review_detail_ch_metaItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 0.35em;
}
.page_reviewlist_detail .review_detail_ch_metaLbl {
    font-weight: 700;
    color: rgba(81, 17, 17, 0.88);
    white-space: nowrap;
}
.page_reviewlist_detail .review_detail_ch_metaVal {
    word-break: break-word;
}
.page_reviewlist_detail .review_detail_ch_girlCard {
    padding: 0.85rem 1rem 0.65rem;
}
.page_reviewlist_detail .review_detail_ch_girlRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0.85rem;
    width: 100%;
    min-height: 0;
}
.page_reviewlist_detail .review_detail_ch_girlRow .box_girl--photo {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 38%;
    flex: 0 0 38%;
    max-width: 168px;
    min-width: 96px;
    margin: 0;
}
.page_reviewlist_detail .review_detail_ch_girlRow .box_girl--photo .box_img {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    border-radius: 0.65rem;
    -webkit-box-shadow: 0 3px 14px rgba(65, 43, 43, 0.14);
    box-shadow: 0 3px 14px rgba(65, 43, 43, 0.14);
    background: rgba(0, 0, 0, 0.04);
}
.page_reviewlist_detail .review_detail_ch_girlRow .box_girl--photo .img--girl--photo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center;
}
.page_reviewlist_detail .review_detail_ch_girlInf.box_girl--inf {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.15rem 0 0;
}
.page_reviewlist_detail .review_detail_ch_girlLbl {
    margin: 0 0 0.25rem;
    font-size: 0.78rem;
}
.page_reviewlist_detail .review_detail_ch_girlLbl .review_card__lbl {
    font-weight: 700;
    color: rgba(81, 17, 17, 0.9);
}
.page_reviewlist_detail .review_detail_ch_girlName {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(55, 35, 35);
    word-break: break-word;
}
.page_reviewlist_detail .review_detail_ch_girlAge {
    font-weight: 600;
    font-size: 0.92em;
    color: rgba(81, 17, 17, 0.82);
    margin-left: 0.15em;
}
.page_reviewlist_detail .review_detail_ch_girlSize {
    margin: 0.4rem 0 0;
    font-size: 0.86rem;
    line-height: 1.4;
    color: rgba(65, 43, 43, 0.85);
}
.page_reviewlist_detail .review_detail_ch_profileWrap {
    margin: 0.55rem 0 0;
}
.page_reviewlist_detail .review_detail_ch_profileLink {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #7a1e1e;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page_reviewlist_detail .review_detail_ch_profileLink:hover {
    color: #a02828;
}
.page_reviewlist_detail .review_detail_ch_scoreBlock {
    text-align: center;
    padding: 0.65rem 1rem 0.5rem;
    border-top: 1px solid rgba(81, 17, 17, 0.08);
    border-bottom: 1px solid rgba(81, 17, 17, 0.08);
    background: rgba(255, 255, 255, 0.45);
}
.page_reviewlist_detail .review_detail_ch_scoreNum {
    display: block;
    font-size: 2.35rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #b8860b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
.page_reviewlist_detail .review_detail_ch_scoreLbl {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(81, 17, 17, 0.75);
    letter-spacing: 0.06em;
}
.page_reviewlist_detail .review_detail_ch_title {
    margin: 0;
    padding: 0.85rem 1rem 0.35rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.45;
    color: rgb(45, 28, 28);
    word-break: break-word;
    border-bottom: 1px solid rgba(81, 17, 17, 0.06);
}
.page_reviewlist_detail .review_detail_ch_breakdown {
    margin: 0;
    padding: 0.65rem 1rem 0.5rem 2.15rem;
    list-style: disc;
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(55, 35, 35, 0.92);
}
.page_reviewlist_detail .review_detail_ch_breakdown li {
    margin-bottom: 0.25em;
    padding-left: 0.15em;
}
.page_reviewlist_detail .review_detail_ch_body.review_body {
    padding: 0.85rem 1rem 0.25rem;
    font-size: 0.92rem;
    line-height: 1.75;
    color: rgba(45, 30, 30, 0.95);
    word-break: break-word;
}
.page_reviewlist_detail .review_detail_ch_posted {
    margin: 0;
    padding: 0.6rem 1rem 0.85rem;
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(65, 43, 43, 0.65);
    border-top: 1px dashed rgba(81, 17, 17, 0.1);
}
.page_reviewlist_detail .review_detail_ch_posted .review_detail_ch_metaLbl {
    margin-right: 0.35em;
    font-weight: 700;
    color: rgba(81, 17, 17, 0.55);
}
.page_reviewlist_detail .review_detail_ch_reply {
    margin: 0 0.65rem 0.85rem;
    padding: 0;
    border-radius: 0.55rem;
    overflow: hidden;
    border: 1px solid rgba(201, 162, 39, 0.35);
    background: rgba(255, 252, 245, 0.95);
}
.page_reviewlist_detail .review_detail_ch_replyTtl {
    margin: 0;
    padding: 0.5rem 0.85rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: #5c4810;
    background: -webkit-linear-gradient(180deg, rgba(255, 236, 179, 0.55) 0%, rgba(255, 248, 220, 0.4) 100%);
    background: linear-gradient(180deg, rgba(255, 236, 179, 0.55) 0%, rgba(255, 248, 220, 0.4) 100%);
    border-bottom: 1px solid rgba(201, 162, 39, 0.25);
}
.page_reviewlist_detail .review_detail_ch_replyBody.review_reply_body {
    margin: 0;
    padding: 0.75rem 0.9rem 0.9rem;
    font-size: 0.88rem;
    line-height: 1.65;
    color: rgba(45, 35, 30, 0.92);
    word-break: break-word;
}

@media only screen and (max-width : 768px) {
    .page_reviewlist_detail .review_detail_ch_girlRow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .page_reviewlist_detail .review_detail_ch_girlRow .box_girl--photo {
        width: 52%;
        max-width: 200px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
    .page_reviewlist_detail .review_detail_ch_girlInf.box_girl--inf {
        width: 100%;
        text-align: center;
    }
    .page_reviewlist_detail .review_detail_ch_metaRow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0.35rem;
    }
    .page_reviewlist_detail .review_detail_ch_metaItem {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .page_reviewlist_detail .review_detail_ch_scoreNum {
        font-size: 2.05rem;
    }
}
