@charset "utf-8";
/* Member directory only: cbms01_01 list and detail, never the editor or map board. */
.cb-members-page #sh_container,
.cb-members-page #sh_container_wrapper,
.cb-members-page #sh_content { min-width: 0; width: 100%; max-width: 1200px; }
.cb-members-page #sh_container,
.cb-members-page #sh_container_wrapper { max-width: none; }
.cb-members-page #sh_content.wide { max-width: none; }
.cb-members-page #fam_gall .cb-member-card { display: grid; grid-template-columns: 164px minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.cb-members-page #fam_gall .cb-member-photo { width: 100%; overflow: hidden; aspect-ratio: 202 / 150; background: #f5f6f8; }
.cb-members-page #fam_gall .cb-member-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb-members-page #fam_gall .cb-member-no-photo { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 13px; color: #666; }
.cb-members-page #fam_gall .cb-member-summary { min-width: 0; width: 100%; }
.cb-members-page #fam_gall .cb-member-summary h3 { line-height: 1.45; overflow-wrap: anywhere; word-break: keep-all; }
.cb-members-page #fam_gall .cb-member-summary p { margin-top: 4px; line-height: 1.6; }
.cb-members-page #fam_gall .cb-member-address { white-space: normal; overflow-wrap: anywhere; word-break: keep-all; background-position: left 5px; }
.cb-members-page #fam_gall .cb-member-date { font-size: 13px; }
.cb-members-page #fam_gall .cb-member-link { display: inline-flex; width: auto; min-height: 44px; padding: 8px 14px; align-items: center; justify-content: center; gap: 6px; border-radius: 4px; background: #0064c5; color: #fff; font-size: 14px; white-space: nowrap; }
.cb-members-page #fam_gall .cb-member-select { position: absolute; top: 12px; right: 12px; }
.cb-members-page #fam_gall a:focus-visible { outline: 2px solid #0064c5; outline-offset: 3px; }
.cb-members-page #bo_v_img img { height: auto; }

@media (max-width: 1023px) {
    .s_cont_wrap.cb-members-page { width: 100%; min-width: 0; padding: 24px 24px 60px; box-sizing: border-box; }
    .cb-members-page #sh_content { margin: 0 auto; min-height: 0; padding: 0; }
    .cb-members-page #fam_wrap { min-width: 0; }
    .cb-members-page #fam_wrap * { transition: none; }
    .cb-members-page #fam_wrap .eyo_search_wrap { padding: 20px 16px; }
    .cb-members-page #eyo_search { display: block; min-width: 0; width: 100%; max-width: 600px; margin: 0 auto; padding-left: 16px; }
    .cb-members-page #eyo_search form { display: flex; min-width: 0; width: 100%; }
    .cb-members-page #eyo_search .input_text { min-width: 0; width: 100%; padding-right: 64px; font-size: 16px; }
    .cb-members-page #eyo_search:after { width: 56px; }
    .cb-members-page #eyo_search .sch_btn { top: 0; right: 0; width: 56px; height: 56px; background-position: center; background-repeat: no-repeat; }
    .cb-members-page #fam_wrap .sch_txt { font-size: 14px; line-height: 1.6; word-break: keep-all; }
    .cb-members-page #fam_list_area { margin: 24px auto; }
    .cb-members-page #fam_gall { overflow: visible; display: grid; gap: 16px; }
    .cb-members-page #fam_gall > li { float: none; min-width: 0; margin: 0; padding: 16px; }
    .cb-members-page #fam_gall > li:hover { transform: none; }
    .cb-members-page #fam_gall .cb-member-card { grid-template-columns: 144px minmax(0, 1fr); gap: 12px 16px; }
    .cb-members-page #fam_gall .cb-member-actions { grid-column: 2; justify-self: start; }
    .cb-members-page #sh_bo_v .tit { margin: 0 0 20px; font-size: 28px; line-height: 1.4; overflow-wrap: anywhere; word-break: keep-all; }
    .cb-members-page #bo_v_img img { display: block; max-width: 100%; height: auto; margin: 0 auto 24px; }
    .cb-members-page #sh_bo_v .info { display: block; padding: 20px 0; }
    .cb-members-page #sh_bo_v .info dt { width: 100%; text-align: left; margin-bottom: 14px; }
    .cb-members-page #sh_bo_v .info dd { width: 100%; padding: 0; min-width: 0; }
    .cb-members-page #sh_bo_v .info dd ul li { align-items: flex-start; line-height: 1.7; overflow-wrap: anywhere; word-break: keep-all; }
    .cb-members-page #sh_bo_v .info dd ul li span { flex: 0 0 68px; min-width: 0; height: auto; min-height: 32px; line-height: 30px; margin-right: 12px; font-size: 14px; }
    /* The shared Leaflet helper sets an inline height; override only this view. */
    .cb-members-page #sh_bo_v #map { height: 320px !important; min-height: 0; margin: 0; }
    .cb-members-page #bo_v_con { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; word-break: normal; }
    .cb-members-page #bo_v_con img,
    .cb-members-page #bo_v_con video,
    .cb-members-page #bo_v_con iframe { max-width: 100% !important; }
    .cb-members-page #bo_v_con table { max-width: 100%; }
    .cb-members-page #bo_v_info .profile_info { float: none; }
    .cb-members-page #bo_v_info .profile_info_ct { float: none; line-height: 1.8; }
    .cb-members-page #bo_v_share .btn_v_01 { display: flex; flex-wrap: wrap; gap: 8px; }
    .cb-members-page #bo_v_share .btn_v_01 .btn { width: auto; min-width: 72px; min-height: 44px; padding: 4px 14px; }
    .cb-members-page #bo_v_share .btn_v_01 .pc_view { display: inline; }
    .cb-members-page #bo_v_share .btn_v_01 .mo_view { display: none; }
    .cb-members-page #bo_v_file a { float: none; overflow-wrap: anywhere; }
    .cb-members-page #bo_v_file .bo_v_file_cnt { display: block; margin-top: 8px; overflow-wrap: anywhere; }
    .cb-members-page .bo_v_nb li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 4px 8px; padding: 14px 0; }
    .cb-members-page .bo_v_nb li dd { float: none; width: auto; min-width: 0; }
    .cb-members-page .bo_v_nb li .nb_tit { padding: 0; }
    .cb-members-page .bo_v_nb li .elc_02 a { display: block; white-space: normal; overflow-wrap: anywhere; }
    .cb-members-page .bo_v_nb li .elc_03 { grid-column: 2; text-align: left; }
    .cb-members-page .bo_v_nb li .nb_date { float: none; }
    .cb-members-page .bo_v_nb li > div { display: none; }
}
@media (max-width: 599px) {
    .wrap.cb-members-layout .footer .footnavi { flex-wrap: wrap; justify-content: center; gap: 12px 18px; width: 100%; }
    .wrap.cb-members-layout .footer .footer_list .footnavi li { padding-left: 0; }
    .s_cont_wrap.cb-members-page { padding: 24px 16px 48px; }
    .cb-members-page #fam_wrap .eyo_search_wrap { padding: 16px 12px; }
    .cb-members-page #fam_gall > li { padding: 14px; }
    .cb-members-page #fam_gall .cb-member-card { grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 12px; }
    .cb-members-page #fam_gall .cb-member-summary h3 { font-size: 18px; }
    .cb-members-page #fam_gall .cb-member-subtitle { font-size: 13px; }
    .cb-members-page #fam_gall .cb-member-actions { grid-column: 1 / -1; justify-self: stretch; }
    .cb-members-page #fam_gall .cb-member-link { width: 100%; }
    .cb-members-page #sh_bo_v .tit { font-size: 24px; }
    .cb-members-page #sh_bo_v #map { height: 260px !important; }
}
