/* i18n-minutes-mobile.css — common/include/i18n/header_i18n.php 에서 분리 (2026-09-05 테크니컬 P2, 인라인 66917자) */
@media (max-width: 768px) {
        html[lang|="ja"] .minutes-page,
        html[lang|="ja"] .minutes-page main,
        html[lang|="ja"] .minutes-page .cont_wrap,
        html[lang|="ja"] .minutes-page .minutes_wrap {
            max-width: 100% !important;
            overflow-x: hidden !important;
        }
        /* 긴 영문 인용·일본어 장문에서 단어 강제 줄바꿈 */
        html[lang|="ja"] .minutes-page p,
        html[lang|="ja"] .minutes-page li,
        html[lang|="ja"] .minutes-page blockquote,
        html[lang|="ja"] .minutes-page .quote,
        html[lang|="ja"] .minutes-page .paper-quote,
        html[lang|="ja"] .minutes-page .research-text,
        html[lang|="ja"] .minutes-page .cont_text,
        html[lang|="ja"] .minutes-page .cont_text_box,
        html[lang|="ja"] .minutes-page .cont_title,
        html[lang|="ja"] .minutes-page .cont_title_info {
            white-space: normal !important;
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
            line-height: 1.6;
        }
        /* 카드/박스 고정폭 제거 */
        html[lang|="ja"] .minutes-page [class*="cont_box"],
        html[lang|="ja"] .minutes-page [class*="cont_flex"],
        html[lang|="ja"] .minutes-page [class*="cont_list"],
        html[lang|="ja"] .minutes-page .case-card,
        html[lang|="ja"] .minutes-page .quote-card,
        html[lang|="ja"] .minutes-page .chapter-card,
        html[lang|="ja"] .minutes-page .process-card,
        html[lang|="ja"] .minutes-page .beforeafter-card {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            height: auto !important;
            overflow: visible !important;
            box-sizing: border-box !important;
        }
        /* flex/grid 자식 min-width:0 (텍스트 overflow 방지 핵심) */
        html[lang|="ja"] .minutes-page [class*="cont_flex"] > *,
        html[lang|="ja"] .minutes-page [class*="cont_list"] > *,
        html[lang|="ja"] .minutes-page .row > *,
        html[lang|="ja"] .minutes-page .grid > *,
        html[lang|="ja"] .minutes-page .flex > * {
            min-width: 0 !important;
            max-width: 100% !important;
        }
        /* 이미지/슬라이더 가로 넘침 방지 */
        html[lang|="ja"] .minutes-page img,
        html[lang|="ja"] .minutes-page video,
        html[lang|="ja"] .minutes-page iframe,
        html[lang|="ja"] .minutes-page .swiper,
        html[lang|="ja"] .minutes-page .slider,
        html[lang|="ja"] .minutes-page .carousel {
            max-width: 100% !important;
            height: auto !important;
            box-sizing: border-box !important;
        }
        /* Before & After / case 영역 1열 처리 */
        html[lang|="ja"] .minutes-page .beforeafter-grid,
        html[lang|="ja"] .minutes-page .case-grid,
        html[lang|="ja"] .minutes-page .cont_gallery_list,
        html[lang|="ja"] .minutes-page .cont_gallery_list_box {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 20px !important;
        }
        /* 상단 H1 잘림 보정 */
        html[lang|="ja"] .minutes-page__h1 {
            padding-top: calc(var(--jp-header-height, 72px) + env(safe-area-inset-top, 0px)) !important;
            scroll-margin-top: var(--jp-header-height, 72px) !important;
        }
        /* 영문 인용문 폰트 강제 다운사이즈 (모바일에서 영문 긴 단어가 화면 밖으로 밀리는 현상) */
        html[lang|="ja"] .minutes-page .english-quote,
        html[lang|="ja"] .minutes-page [lang="en"] {
            font-size: 13px !important;
            line-height: 1.55 !important;
            overflow-wrap: anywhere !important;
            color: #666;
        }
        html[lang|="ja"] .minutes-page .quote-source {
            font-size: 12px !important;
            line-height: 1.45 !important;
            margin-top: 8px !important;
        }

        /* 2026-05-19 follow-up #14 / 2026-06-05 user fix: minutes01 모바일 패딩 KR 동일 */
        /* KR: .minutes_wrap .minutes01 { padding-top: 0 } — 큰 여백 제거 */
        html[lang|="ja"] .minutes-page .minutes01 {
            padding: 0 0 36px !important;
            margin-top: 0 !important;
        }
        /* minutes01 case 카드 이미지가 모바일에서 박스 안에 명확히 보이도록 */
        html[lang|="ja"] .minutes-page .minutes01 .cont_list ul li img {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            display: block !important;
        }
        html[lang|="ja"] .minutes-page .minutes01 .cont_list .cont_list1 ul {
            display: block !important;
        }
        html[lang|="ja"] .minutes-page .minutes01 .cont_list .cont_list1 ul li {
            width: 100% !important;
            margin-bottom: 16px !important;
            overflow: visible !important;
        }
        /* case overlay 텍스트가 absolute로 사진 가운데 띄워져 박스 벗어남 → 정상 흐름으로 */
        html[lang|="ja"] .minutes-page .minutes01 .cont_list ul li .cont_text {
            position: static !important;
            transform: none !important;
            top: auto !important;
            left: auto !important;
            font-size: 1em !important;
            padding: 8px 14px !important;
            border-width: 2px !important;
            background: #fff !important;
            display: inline-block !important;
            margin: 8px 0 !important;
        }
        html[lang|="ja"] .minutes-page .minutes01 .cont_list ul li span {
            position: static !important;
            display: inline-block !important;
            width: auto !important;
            padding: 4px 12px !important;
            font-size: 0.85em !important;
            margin-bottom: 6px !important;
        }
        /* minutes_wrap title 모바일 줄여서 overflow 방지 */
        html[lang|="ja"] .minutes-page .minutes_wrap .title {
            font-size: clamp(1.4rem, 5vw, 2.2rem) !important;
            line-height: 1.35 !important;
        }
        /* minutes02 fixed width/height → 100%/auto */
        html[lang|="ja"] .minutes-page .minutes02_gif {
            width: 100% !important;
            max-width: 100% !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .img_wrap {
            position: static !important;
            height: auto !important;
            min-height: 0 !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .img_wrap img {
            position: static !important;
            width: 100% !important;
            max-width: 100% !important;
            bottom: auto !important;
            left: auto !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .cont_text_wrap .cont_list ul {
            display: block !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .cont_text_wrap .cont_list ul li {
            width: 100% !important;
            padding: 0 16px !important;
            border-right: none !important;
            border-bottom: 1px solid #e5e5e5 !important;
            margin-bottom: 12px !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .cont_text_wrap .cont_list ul li:last-child {
            border-bottom: none !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .cont_text_wrap .cont_list {
            padding: 24px 12px !important;
        }
        html[lang|="ja"] .minutes-page .minutes02 .cont_title {
            font-size: 1.5em !important;
            line-height: 1.4 !important;
        }
        /* minutes03 width:50% → 100% */
        html[lang|="ja"] .minutes-page .minutes03 .cont_list ul {
            display: block !important;
        }
        html[lang|="ja"] .minutes-page .minutes03 .cont_list ul li {
            width: 100% !important;
            overflow: visible !important;
        }
        html[lang|="ja"] .minutes-page .minutes03 .cont_list ul li.list_wrap {
            padding: 20px !important;
        }
        /* minutes05 flex 가로 → 세로 */
        html[lang|="ja"] .minutes-page .minutes05 .cont_text_box > ul {
            flex-direction: column !important;
            gap: 16px !important;
        }
        html[lang|="ja"] .minutes-page .minutes05 .cont_text_box > ul .img_box:after {
            display: none !important; /* 가로 라인 모바일에서 어색 */
        }
        /* minutes06 absolute caption → 정상 흐름 */
        html[lang|="ja"] .minutes-page .minutes06 .section ul li p {
            position: static !important;
            width: 100% !important;
            padding: 10px 12px !important;
            font-size: 1em !important;
            margin-top: 4px !important;
        }
        html[lang|="ja"] .minutes-page .minutes06 .cont_gallery_list_box .text_wrap .text {
            position: static !important;
            width: 100% !important;
            padding: 8px 10px !important;
        }
        /* minutes08 flex 카드 모바일 1열 */
        html[lang|="ja"] .minutes-page .minutes08 .cont_list2 > ul {
            flex-direction: column !important;
            gap: 12px !important;
        }
        html[lang|="ja"] .minutes-page .minutes08 .cont_list2 > ul > li {
            width: 100% !important;
        }
        /* minutes09 textbox 모바일 padding 조정 */
        html[lang|="ja"] .minutes-page .minutes09 .txt_box {
            padding: 16px !important;
            margin: 0 16px 20px !important;
        }
        html[lang|="ja"] .minutes-page .minutes09 .cont_flex {
            flex-direction: column !important;
        }
        html[lang|="ja"] .minutes-page .minutes09 .cont_flex > li {
            width: 100% !important;
        }
        /* img_wrap_gif fixed width 600 → 100% */
        html[lang|="ja"] .minutes-page .img_wrap_gif {
            max-width: 100% !important;
            padding-bottom: 16px !important;
        }
        /* 전체 cont_flex 자식 min-width:0 (overflow 핵심) */
        html[lang|="ja"] .minutes-page .cont_flex,
        html[lang|="ja"] .minutes-page .cont_flex > * {
            min-width: 0 !important;
            max-width: 100% !important;
        }
        /* 본문 wrap에 negative margin/큰 padding 적용된 부분 제거 */
        html[lang|="ja"] .minutes-page .cont {
            max-width: 100% !important;
            padding: 0 16px !important;
            box-sizing: border-box !important;
        }
        /* 2026-05-19 follow-up #18: minutes08 영문 Tebbets 논문 인용 + minutes09 영문 제목 overflow */
        html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_info,
        html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_info_mg,
        html[lang|="ja"] .minutes-page .minutes09 .cont_text,
        html[lang|="ja"] .minutes-page .minutes09__paper {
            word-break: break-word !important;
            overflow-wrap: anywhere !important;
            white-space: normal !important;
            max-width: 100% !important;
            font-size: 0.85rem !important;
            line-height: 1.6 !important;
            color: #6a6a6a !important;
            box-sizing: border-box !important;
            padding: 0 !important;
        }
        html[lang|="ja"] .minutes-page .minutes08_cont .table100,
        html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_title {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_title > span {
            display: inline-block !important;
            margin-right: 6px !important;
        }
        html[lang|="ja"] .minutes-page .minutes08_cont .inline_top {
            display: inline !important;
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
            line-height: 1.7 !important;
        }
        html[lang|="ja"] .minutes-page .minutes08_cont > .cont_list ul li {
            padding: 18px 16px !important;
            margin-bottom: 14px !important;
            box-sizing: border-box !important;
        }
        /* minutes09 cont_flex 이미지 + 텍스트 모바일 세로 */
        html[lang|="ja"] .minutes-page .minutes09 .cont_flex ul {
            flex-direction: column !important;
            align-items: stretch !important;
        }
        html[lang|="ja"] .minutes-page .minutes09 .cont_flex ul li {
            width: 100% !important;
            max-width: 100% !important;
        }
        html[lang|="ja"] .minutes-page .minutes09 .cont_flex ul li.img_wrap img {
            max-width: 100% !important;
            height: auto !important;
        }
        html[lang|="ja"] .minutes-page .minutes09 .txt_box {
            background: #fdfcfa !important;
            border: 1px solid #efe7d9 !important;
            padding: 14px 18px !important;
            margin: 12px 0 0 !important;
            border-radius: 6px !important;
            text-align: left !important;
            line-height: 1.7 !important;
            font-size: 0.95rem !important;
        }

        /* 2026-05-19 follow-up #15: minutes 상단 타이틀 좌측 쏠림 보정 — 강제 center */
        html[lang|="ja"] .minutes-page__h1,
        html[lang|="ja"] .minutes-page .minutes01,
        html[lang|="ja"] .minutes-page .minutes01 .cont,
        html[lang|="ja"] .minutes-page .minutes01 .cont_title_wrap,
        html[lang|="ja"] .minutes-page .minutes01 .cont_title,
        html[lang|="ja"] .minutes-page .minutes01 .cont_title_info,
        html[lang|="ja"] .minutes-page .minutes_wrap .title {
            text-align: center !important;
        }
        /* case 카드 ul → 가운데 정렬 + cont_text inline-block 가운데 정렬 */
        html[lang|="ja"] .minutes-page .minutes01 .cont_list ul {
            text-align: center !important;
        }
        html[lang|="ja"] .minutes-page .minutes01 .cont_list ul li {
            text-align: center !important;
        }

        /* === 2026-05-19 follow-up #15: dn-insight-card 모바일 박스 안 텍스트 잘림 보정 ===
           원본: flex 0 0 260px; min-width:260px; aspect-ratio:1; overflow:hidden;
           일본어 긴 문장이 260×260 정사각 안에서 잘림 → JP는 aspect 해제 + height auto */
        html[lang|="ja"] .dn-insight-card {
            flex: 0 0 280px !important;
            min-width: 280px !important;
            max-width: 92vw !important;
            aspect-ratio: auto !important;
            height: auto !important;
            min-height: 240px !important;
            overflow: visible !important;
            padding: 22px 18px !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .dn-insight-card__num,
        html[lang|="ja"] .dn-insight-card__title,
        html[lang|="ja"] .dn-insight-card__period,
        html[lang|="ja"] .dn-insight-card__desc {
            white-space: normal !important;
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
            line-height: 1.6 !important;
            overflow: visible !important;
        }
        html[lang|="ja"] .dn-insight-card__title {
            font-size: 0.95rem !important;
            margin-bottom: 8px !important;
        }
        html[lang|="ja"] .dn-insight-card__desc {
            font-size: 0.92rem !important;
        }
        html[lang|="ja"] .dn-insight-card__period {
            font-size: 0.9rem !important;
            margin-bottom: 6px !important;
        }
    }

    /* === 2026-07-09: EN dn-insight-card 모바일 잘림 보정 ===
       en-typography 17px 스케일이 카드 내부 글씨를 제목 18px/본문 17px로 키워
       고정높이 300px + overflow:hidden 카드에서 내용이 최대 145px 잘림.
       KR 실측치(제목 14.25px/1.4, 본문 12.3px/1.65) 동기화 + 그래도 넘치는 카드만 확장 */
    @media (max-width: 768px) {
        html[lang|="en"] .dn-insight-card__title {
            font-size: 14.25px !important;
            line-height: 1.4 !important;
        }
        html[lang|="en"] .dn-insight-card__desc {
            font-size: 12.3px !important;
            line-height: 1.65 !important;
        }
        html[lang|="en"] .dn-insight-card__period {
            font-size: 14.25px !important;
        }
        /* 저특이성으로는 300px 고정 룰에 패배 — slider>track 체인 + aspect-ratio 해제 필수 */
        html[lang|="en"] .dn-insight-slider .dn-insight-track .dn-insight-card:not(.dn-insight-card--timeline) {
            height: auto !important;
            min-height: 300px !important;
            aspect-ratio: auto !important;
        }

        /* === 2026-07-09: EN 상세 하단 GEO 텍스트블록 — en-typography의 anywhere/break-all이
           단어를 중간에서 자르던 것(ca-psular, chang-e 등) 교정 + 좌우 여백 축소(줄당 글자수 확보) === */
        html[lang|="en"] .dn-geo-content__block,
        html[lang|="en"] .dn-geo-content__block * {
            overflow-wrap: break-word !important;
            word-break: normal !important;
            hyphens: none !important;
        }
        html[lang|="en"] .dn-geo-content__block {
            padding-left: 12px !important;
            padding-right: 12px !important;
        }
        html[lang|="en"] .dn-geo-content__block div[style*="padding:20px 22px"] {
            padding: 16px 14px !important;
        }

        /* 2026-07-09: CN 전 페이지 AOS 등장 애니메이션 무력화 — 진료철학 등에서 zoom-out-up이
           초기 상태(scale 1.2)로 멈춰 콘텐츠가 화면 밖으로 넘치던 문제 + KR과 동일(무애니) 정책 */
        html[lang|="zh"] [data-aos],
        html[lang|="ja"] [data-aos] {
            opacity: 1 !important;
            transform: none !important;
            transition: none !important;
            animation: none !important;
        }
        /* 2026-07-09: 중문은 띄어쓰기가 없어 전역 word-break:keep-all이 문장 전체를 한 덩어리로 만듦
           → 그리드/카드 min-content 폭 폭발(진료철학 카드 484px 등). zh는 normal로 해제(라틴 단어는 영향 없음) */
        html[lang|="zh"] h1, html[lang|="zh"] h2, html[lang|="zh"] h3, html[lang|="zh"] h4,
        html[lang|="zh"] p, html[lang|="zh"] li, html[lang|="zh"] div, html[lang|="zh"] span,
        html[lang|="zh"] strong, html[lang|="zh"] a {
            word-break: normal !important;
        }
        /* 진료철학 카드 패딩 = KR 모바일(28px 22px) */
        html[lang|="zh"] .prac_card { padding: 28px 22px !important; }

        /* === 2026-07-09: CN 상세페이지 모바일 = KR 정합 ===
           ① CN .cont_wrap{padding:0 16px}가 히어로 포함 전 섹션을 32px 좁힘(KR=0) → 제거
           ② dn-insight 카드가 CN에서 300×265로 변형돼 있던 것 → KR 사양(260폭·300高·32/28패딩·14.25/12.3px) */
        html[lang|="zh"] .cont_wrap {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        html[lang|="zh"] .dn-insight-slider .dn-insight-track .dn-insight-card:not(.dn-insight-card--timeline) {
            flex: 0 0 260px !important;
            min-width: 260px !important;
            max-width: 260px !important;
            height: auto !important;
            min-height: 300px !important;
            aspect-ratio: auto !important;
            padding: 32px 28px !important;
        }
        html[lang|="zh"] .dn-insight-card__title { font-size: 14.25px !important; line-height: 1.4 !important; }
        html[lang|="zh"] .dn-insight-card__desc { font-size: 12.3px !important; line-height: 1.65 !important; }
        html[lang|="zh"] .dn-insight-card__period { font-size: 14.25px !important; }
        /* 상세 본문 = KR 15.75px/1.8 (KR은 footer.php 동일 룰 — CN 페이지는 footer_i18n이라 여기서 미러) */
        html[lang|="zh"] .dn-geo-content__block p, html[lang|="zh"] body .dn-geo-content__block li,
        html[lang|="zh"] .dn-geo-card p, html[lang|="zh"] body .dn-geo-card li,
        html[lang|="zh"] .dn-natural-results__body p,
        html[lang|="zh"] .dn-sub-hero__intro-inner p,
        html[lang|="zh"] .answer-summary p {
            font-size: 15.75px !important;
            line-height: 1.8 !important;
        }
        /* 2026-07-09: CN 리얼리뷰 상세 하단 관련후기(rr-related) — KR(rr-related-block: 1열 풀폭 정사각 썸네일)과 동일 레이아웃으로 */
        html[lang|="zh"] .rr-related { padding: 0 14px !important; }
        html[lang|="zh"] .rr-related__grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 24px !important;
        }
        html[lang|="zh"] .rr-related__thumb {
            display: block !important;
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 1 / 1 !important;
        }
        html[lang|="zh"] .rr-related__thumb img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
        }
        html[lang|="zh"] .rr-related__name { font-size: 14.5px !important; }

        /* === 2026-07-09: JP 상세페이지 모바일 = KR 정합 (CN과 동일 체계) ===
           ① .cont_wrap{padding:0 20px}가 히어로 포함 전 섹션을 40px 좁힘(KR=0) → 제거
           ② dn-insight 카드 #15 스펙(280·auto)을 KR 사양(260·min300·32/28·14.25/12.3)으로 — 이 블록이 #15보다 뒤라 승리
           ③ 상세 본문 15.75px/1.8 */
        /* #16의 '컨테이너 20px 통일' 룰(뒤에 옴)보다 특이성 우위 필요 → .content_wrap 체인 */
        html[lang|="ja"] .content_wrap .cont_wrap {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        html[lang|="ja"] .dn-insight-slider .dn-insight-track .dn-insight-card:not(.dn-insight-card--timeline) {
            flex: 0 0 260px !important;
            min-width: 260px !important;
            max-width: 260px !important;
            height: auto !important;
            min-height: 300px !important;
            aspect-ratio: auto !important;
            padding: 32px 28px !important;
        }
        html[lang|="ja"] .dn-insight-card__title { font-size: 14.25px !important; line-height: 1.4 !important; }
        html[lang|="ja"] .dn-insight-card__desc { font-size: 12.3px !important; line-height: 1.65 !important; }
        html[lang|="ja"] .dn-insight-card__period { font-size: 14.25px !important; }
        /* 2026-07-10: JP 일본어 조판 금칙(禁則) 복구 — 광역 break-all/anywhere가
           행두 금칙(。、！？ 등이 줄 머리로 내려오는 것)을 깨뜨리던 문제.
           word-break:normal(CJK는 자유 개행+금칙 준수) + line-break:strict + 라틴 긴 단어만 emergency break */
        html[lang|="ja"] body p, html[lang|="ja"] body li, html[lang|="ja"] body span,
        html[lang|="ja"] body h1, html[lang|="ja"] body h2, html[lang|="ja"] body h3, html[lang|="ja"] body h4,
        html[lang|="ja"] body a, html[lang|="ja"] body strong, html[lang|="ja"] body blockquote,
        html[lang|="ja"] body dd, html[lang|="ja"] body dt, html[lang|="ja"] body figcaption {
            word-break: normal !important;
            overflow-wrap: break-word !important;
            line-break: strict !important;
        }
        /* 카드/인사이트 내부는 [class*="-card"] * 광역 !important(keep-all+anywhere)가 특이성 우위라 별도 제압 */
        html[lang|="ja"] body [class*="-card"] p, html[lang|="ja"] body [class*="-card"] li,
        html[lang|="ja"] body [class*="-card"] span, html[lang|="ja"] body [class*="-card"] strong,
        html[lang|="ja"] body [class*="-card"] div, html[lang|="ja"] body [class*="-card"] blockquote,
        html[lang|="ja"] body [class*="dn-insight"] p, html[lang|="ja"] body [class*="dn-insight"] li,
        html[lang|="ja"] body [class*="dn-insight"] div, html[lang|="ja"] body [class*="dn-insight"] span,
        html[lang|="ja"] body [class*="dn-implant"] p, html[lang|="ja"] body [class*="dn-implant"] li,
        html[lang|="ja"] body [class*="dn-implant"] div, html[lang|="ja"] body [class*="dn-implant"] span,
        html[lang|="ja"] body .dn-faq__a, html[lang|="ja"] body .dn-faq__q, html[lang|="ja"] body .dn-faq__q span {
            word-break: normal !important;
            overflow-wrap: break-word !important;
            line-break: strict !important;
        }

        /* 2026-07-10: JP 블로그 본문(.jp-blog-read)이 KR과 달리 .cont(16px) 래퍼 없이 직속이라
           좌우 여백 0 풀블리드 → KR 본문 [16,380]과 동일하게 */
        html[lang|="ja"] body .blog-read.jp-blog-read { padding-left: 16px !important; padding-right: 16px !important; }

        /* 2026-07-10: JP 필라 가이드 페이지(/jp/breast-clinic-korea/ 등 .pillar-page) 상단 잘림 —
           고정 헤더 실높이 81px인데 content_wrap 상단 여백이 60px라 브레드크럼이 헤더 뒤로 들어가던 것 */
        html[lang|="ja"] .content_wrap.pillar-page { padding-top: 100px !important; }

        /* JP 커뮤니티(블로그·리뷰) 컨테이너 = KR 실측 정합 (2026-07-09):
           KR: content_wrap 0 / cont_box1 0 / .cont 16 / blog-list-wrap 0 → 카드 380px
           JP(구): 20+14+20+20=74px 겹패딩 → 카드 264px */
        html[lang|="ja"] body .content_wrap { padding-left: 0 !important; padding-right: 0 !important; }
        html[lang|="ja"] body .community_wrap .cont_box1 { padding-left: 0 !important; padding-right: 0 !important; } /* 뒤의 14px 통일룰(2590행대) 제압용 body 프리픽스 */
        /* .cont = KR 표준 16px (JP #16의 20px 통일룰 제압 — body 프리픽스, 전 JP 페이지) */
        html[lang|="ja"] body .cont { padding-left: 16px !important; padding-right: 16px !important; }
        html[lang|="ja"] .community_wrap .blog-list-wrap { padding-left: 0 !important; padding-right: 0 !important; }
        /* JP 전후사진 목록 = KR 실측(.cont 6px + .w1280 20px → 카드 x26/w360) */
        html[lang|="ja"] body .community_wrap .cont_box1.beforeafter02 .cont { padding-left: 6px !important; padding-right: 6px !important; }
        html[lang|="ja"] body .community_wrap .cont_box1.beforeafter02 .cont .w1280 { padding-left: 20px !important; padding-right: 20px !important; }
        /* JP 블로그 인트로·페이지 히어로 = KR 실측(인트로 14px/1.7·pad 16 18, 히어로 top 62px) */
        html[lang|="ja"] .blog-intro { padding: 16px 18px !important; }
        html[lang|="ja"] .blog-intro, html[lang|="ja"] .blog-intro p { font-size: 14px !important; line-height: 1.7 !important; }
        html[lang|="ja"] .community_wrap .dn-page-hero { padding-top: 62px !important; }
        /* JP 블로그 카드 제목 — 광역 overflow:visible이 line-clamp(2줄) 박스를 뚫어
           제목 3~4줄이 발췌문 위로 겹치던 문제: 클램프 완전 해제 + 높이 자동 */
        html[lang|="ja"] .jp-blog-card__title {
            display: block !important;
            -webkit-line-clamp: unset !important;
            -webkit-box-orient: initial !important;
            overflow: visible !important;
            height: auto !important;
            max-height: none !important;
        }
        /* JP 리얼리뷰 상세 하단 관련후기 = KR 정합: 카드 내부패딩 0 + 블록 패딩 14(KR 원값 — 컨테이너 정합 후) */
        html[lang|="ja"] .rr-related-block .rr-card { padding: 0 !important; }
        html[lang|="ja"] .rr-related-block { padding: 0 14px !important; }
        html[lang|="ja"] .dn-geo-content__block p, html[lang|="ja"] body .dn-geo-content__block li,
        html[lang|="ja"] .dn-geo-card p, html[lang|="ja"] body .dn-geo-card li,
        html[lang|="ja"] .dn-natural-results__body p,
        html[lang|="ja"] .dn-sub-hero__intro-inner p,
        html[lang|="ja"] .answer-summary p {
            font-size: 15.75px !important;
            line-height: 1.8 !important;
        }

    }

    /* 2026-09-04: TH answer-summary 오버라이드 — zh·ja 는 있는데 th 만 없었다.
       🚨 기본 규칙 .answer-summary p 가 lang 가드 없이 중국어 폰트 스택
          ('Noto Sans SC'·'PingFang SC'·'Microsoft YaHei')을 걸고 있어
          태국어가 이 박스에서만 SC 폴백으로 그려졌다(본문은 --dn-font 로 정상).
       🚨🚨 처음엔 zh·ja 블록 옆에 넣었는데 그 자리가 @media (max-width:768px) **안**이었다.
            모바일에서만 먹고 PC 에서는 무효였다 — 반드시 미디어쿼리 밖(여기)에 둔다. */
    html[lang|="th"] .answer-summary h2,
    html[lang|="th"] .answer-summary p {
        font-family: 'Inter', 'Noto Sans Thai', 'Noto Sans KR', -apple-system, sans-serif !important;
    }

    /* 2026-09-04: EN 오버라이드 — 같은 무가드 기본 규칙이 영어 페이지에도 걸린다.
       실측: .answer-summary p 만 'Noto Sans SC','PingFang SC','Microsoft YaHei' 로 렌더됐다.
             본문·다른 h2·QA h2 는 모두 Inter 라, 이 문단만 자소 모양과 자간이 달랐다.
       ⓘ h2 는 이미 Inter 라 건드리지 않는다. --dn-serif 도 EN 에선 Inter 라 서체 의도가 없다. */
    html[lang|="en"] .answer-summary p {
        font-family: var(--dn-font) !important;
    }

    /* === 2026-07-09: 히어로 아래 SEO 블록(answer-summary) 카드 룩 제거 — 테두리 없는 플랫 (모바일, 전 언어 공통 — KR은 footer.php에 동일 룰) === */
    @media (max-width: 768px) {
        html[lang] .answer-summary {
            background: transparent !important;
            border: none !important;
            border-left: none !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            padding: 8px 20px 0 !important;
            margin: 32px auto 0 !important;
        }
        /* 상세페이지 GEO 블록(At a Glance·30-Second Summary 등) — KR과 동일하게 두 카드 플랫 통일 + 균일 간격 */
        html[lang] body section.dn-geo-block { margin-top: 48px !important; }
        html[lang] body section.dn-geo-block h2 { margin: 0 0 16px !important; }
        html[lang] body section.dn-geo-block .dn-geo-card {
            background: transparent !important;
            border: none !important;
            border-left: none !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            padding: 0 !important;
            margin: 0 0 40px !important;
        }
        /* 한눈에 보기·30초 요약 포맷 완전 통일 + AEO용 글씨 축소 — KR footer.php와 동일 */
        html[lang] body section.dn-geo-block .dn-geo-card p,
        html[lang] body section.dn-geo-block .dn-geo-card li {
            font-size: 13px !important;
            line-height: 1.7 !important;
            color: #1a0d03 !important;
            font-weight: 400 !important;
        }
        html[lang] body section.dn-geo-block .dn-geo-card ul {
            padding-left: 0 !important;
            margin: 0 !important;
            list-style: none !important;
        }
        html[lang] body section.dn-geo-block .dn-geo-card li {
            padding-left: 0 !important;
            margin: 0 0 6px !important;
        }
    }

    /* ================================================================
       JP 전체 페이지 통일 레이아웃 (2026-05-19 follow-up #16 user 강제 지시)
       max-width 1200 / 패딩 PC 40 · 태블릿 32 · 모바일 20
       모든 본문 섹션 중앙 정렬 / 가로 overflow 차단
       ================================================================ */
    html[lang|="ja"] .cont {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 40px;
        padding-right: 40px;
        box-sizing: border-box;
    }
    @media (max-width: 1024px) {
        html[lang|="ja"] .cont {
            padding-left: 32px !important;
            padding-right: 32px !important;
        }
    }
    @media (max-width: 768px) {
        html[lang|="ja"] .cont {
            padding-left: 20px !important;
            padding-right: 20px !important;
        }
        /* 가로 overflow 절대 차단 */
        html[lang|="ja"],
        html[lang|="ja"] body,
        html[lang|="ja"] main {
            overflow-x: hidden !important;
        }
        /* Mobile nav drawer가 explicit open 트리거 없이 화면에 안 보이도록 강제 hide
           2026-05-29 FIX: 햄버거 클릭 핸들러는 `.right0` 클래스를 토글하는데(header_i18n.php 659줄),
           이 :not() 조건에 .right0가 빠져 있어 메뉴 열려도 display:none 유지 → 햄버거 먹통.
           → :not(.right0) 추가해 .right0 켜지면 정상 표시. */
        html[lang|="ja"] .head_right_wrap:not(.is-open):not(.active):not(.open):not(.right0) {
            display: none !important;
        }
        @media (max-width: 768px) {
            html[lang|="ja"] .head_right_wrap:not(.is-open):not(.active):not(.open):not(.right0) {
                left: -9999px !important;
                visibility: hidden;
            }
            /* .right0 열림 상태 — combined.min.css의 right:-150% 를 right:0 으로 (JP는 combined.min.css 사용) */
            html[lang|="ja"] .head_right_wrap.right0 {
                right: 0 !important;
                left: auto !important;
                visibility: visible !important;
                display: block !important;
            }
        }
    }
    /* Hero / 타이틀 통일 중앙 정렬 */
    html[lang|="ja"] .dn-hero__title,
    html[lang|="ja"] .dn-sub-hero__title,
    html[lang|="ja"] [class$="-hero__title"],
    html[lang|="ja"] [class$="-hero__sub"] {
        text-align: center;
    }

    /* ================================================================
       2026-05-20 follow-up #20: JP 모바일 좌우 여백·이미지·카드 통일
       user 사양 "/jp/ 모든 페이지 모바일 여백을 블로그 페이지 기준으로 통일"
       ================================================================ */
    html[lang|="ja"] *,
    html[lang|="ja"] *::before,
    html[lang|="ja"] *::after {
        box-sizing: border-box;
    }
    @media (max-width: 768px) {
        /* 좌우 overflow 완전 차단 */
        html[lang|="ja"],
        html[lang|="ja"] body,
        html[lang|="ja"] main {
            max-width: 100% !important;
            overflow-x: hidden !important;
        }
        /* container 모든 변형 → 모바일 20px padding 통일 (블로그 페이지 기준) */
        html[lang|="ja"] .cont,
        html[lang|="ja"] .cont_wrap,
        html[lang|="ja"] .content_wrap,
        html[lang|="ja"] .container,
        html[lang|="ja"] .section-inner,
        html[lang|="ja"] .page-content,
        html[lang|="ja"] .blog-content,
        html[lang|="ja"] .article-content {
            width: 100% !important;
            max-width: 100% !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
            margin-left: auto !important;
            margin-right: auto !important;
            box-sizing: border-box !important;
        }
        /* 2026-05-29 FIX: 위 블로그용 padding 룰이 홈(/jp/) 풀폭 섹션까지 밀어
           좌우 여백 과다 + 섹션 width 310px로 좁아지는 버그.
           홈 콘텐츠 래퍼(.content_wrap[data-scroll-container] = 홈 루트, .main_wrap)는
           KR 홈과 동일하게 padding:0 풀폭으로 되돌림. 섹션 내부 inner가 자체 padding 가짐. */
        html[lang|="ja"] .content_wrap[data-scroll-container],
        html[lang|="ja"] .content_wrap[data-scroll-container] > .main_wrap,
        html[lang|="ja"] .main_wrap.cont_wrap {
            padding-left: 0 !important;
            padding-right: 0 !important;
            width: 100% !important;
            max-width: 100% !important;
        }
        /* 이미지 / 비디오 / 슬라이더 100% 절대 보장
           2026-05-29: object-fit으로 고정비율 채우는 카드 이미지는 제외.
           height:auto가 .dn-proc-card 등 카드 img의 object-fit:cover를 깨서
           이미지가 원본 비율(555px)로 카드(520px) 밖으로 삐져나오고 텍스트 위치 어긋남. */
        html[lang|="ja"] img:not(.dn-proc-card__img-wrap img):not(.dn-card img):not(.dn-rv-card img):not([class*="__img-wrap"] img),
        html[lang|="ja"] picture,
        html[lang|="ja"] video,
        html[lang|="ja"] iframe {
            max-width: 100% !important;
            height: auto;
        }
        /* 홈 카드 이미지 — KR 홈과 동일하게 img-wrap 비율 채움 (object-fit:cover 보존) */
        html[lang|="ja"] .dn-proc-card__img-wrap img,
        html[lang|="ja"] .dn-card__img-wrap img,
        html[lang|="ja"] .dn-rv-card__img-wrap img,
        html[lang|="ja"] .dn-cards__list .dn-card img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center top !important;
            max-width: 100% !important;
        }
        html[lang|="ja"] .image-wrap,
        html[lang|="ja"] .hero-media,
        html[lang|="ja"] .visual-card,
        html[lang|="ja"] .media-box,
        html[lang|="ja"] [class*="img_wrap"],
        html[lang|="ja"] [class*="image_wrap"] {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            overflow: hidden;
        }
        /* 카드 height 고정 절대 금지 */
        html[lang|="ja"] .card,
        html[lang|="ja"] .feature-card,
        html[lang|="ja"] .review-card,
        html[lang|="ja"] .blog-card,
        html[lang|="ja"] .beforeafter-card,
        html[lang|="ja"] .process-card,
        html[lang|="ja"] .doctor-card,
        html[lang|="ja"] .info-card,
        html[lang|="ja"] [class*="-card"],
        html[lang|="ja"] .card-content,
        html[lang|="ja"] .card-body,
        html[lang|="ja"] [class*="__body"] {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            overflow: visible !important;
        }
        /* line-clamp 해제 */
        html[lang|="ja"] [class*="-card"] p,
        html[lang|="ja"] [class*="-card"] [class*="__desc"],
        html[lang|="ja"] [class*="-card"] [class*="__excerpt"] {
            display: block !important;
            -webkit-line-clamp: unset !important;
            -webkit-box-orient: initial !important;
            overflow: visible !important;
            white-space: normal !important;
        }
        /* 카드/리뷰/BnA 그리드 모바일 1열 통일 */
        html[lang|="ja"] .grid,
        html[lang|="ja"] .card-grid,
        html[lang|="ja"] .feature-grid,
        html[lang|="ja"] .review-grid,
        html[lang|="ja"] .blog-grid,
        html[lang|="ja"] .beforeafter-grid,
        html[lang|="ja"] .dn-articles__grid,
        /* 2026-05-29 FIX: 와일드카드 [class*="__grid"]가 홈 시술 슬라이더(.dn-procedures__grid)까지
           display:grid 1열로 강제 → KR(display:flex 가로 슬라이더)과 달라지고 세로로 길어짐.
           .dn-procedures__grid 제외해 KR과 동일한 flex 슬라이더 유지. */
        html[lang|="ja"] [class*="__grid"]:not([class*="dn-related"]):not(.dn-procedures__grid) {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 20px !important;
            width: 100% !important;
            max-width: 100% !important;
        }
        /* 텍스트 줄바꿈 — 영문 단어 강제 break + 일본어 keep-all */
        html[lang|="ja"] h1,
        html[lang|="ja"] h2,
        html[lang|="ja"] h3,
        html[lang|="ja"] h4,
        html[lang|="ja"] p,
        html[lang|="ja"] li,
        html[lang|="ja"] a,
        html[lang|="ja"] span,
        html[lang|="ja"] td,
        html[lang|="ja"] th {
            overflow-wrap: anywhere;
            line-break: strict;
        }
        /* 버튼 overflow */
        html[lang|="ja"] .btn,
        html[lang|="ja"] .button,
        html[lang|="ja"] .cta-button,
        html[lang|="ja"] .dn-btn,
        html[lang|="ja"] a[class*="btn"],
        html[lang|="ja"] button {
            max-width: 100% !important;
            white-space: normal !important;
            text-align: center;
            word-break: keep-all;
            overflow-wrap: anywhere;
        }
        html[lang|="ja"] .cta-group,
        html[lang|="ja"] .button-group,
        html[lang|="ja"] [class*="cta__btns"] {
            display: flex;
            flex-direction: column;
            gap: 12px;
            width: 100%;
        }
        /* 표 overflow — 가로 스크롤 가능하게 */
        html[lang|="ja"] .table-wrap,
        html[lang|="ja"] .table-responsive,
        html[lang|="ja"] [class*="table"]:not(table) {
            width: 100% !important;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        html[lang|="ja"] table {
            width: 100% !important;
            border-collapse: collapse;
        }
        /* min-width로 고정폭 갖는 요소 강제 해제 */
        html[lang|="ja"] section,
        html[lang|="ja"] main,
        html[lang|="ja"] [class*="section"] {
            min-width: 0 !important;
            max-width: 100% !important;
        }

        /* 2026-05-20 follow-up #26: JP 모바일 좌우 스크롤 발생 종합 차단 */
        /* 모든 직계 wrapper 강제 100% */
        html[lang|="ja"] header,
        html[lang|="ja"] footer,
        html[lang|="ja"] article,
        html[lang|="ja"] aside,
        html[lang|="ja"] nav,
        html[lang|="ja"] .kbg-wrap,
        html[lang|="ja"] .kbg-hero,
        html[lang|="ja"] .kbg-section,
        html[lang|="ja"] .kbg-cta,
        html[lang|="ja"] .kbg-faq,
        html[lang|="ja"] .kbg-related,
        html[lang|="ja"] .answer-summary,
        html[lang|="ja"] .min-tldr,
        html[lang|="ja"] .dn-min-geo,
        html[lang|="ja"] .dn-related-blog,
        html[lang|="ja"] .minutes-bottom-cta,
        html[lang|="ja"] .cc-wrap,
        html[lang|="ja"] .mk-wrap,
        html[lang|="ja"] .mv-wrap,
        html[lang|="ja"] .br-wrap,
        html[lang|="ja"] .bk-wrap {
            max-width: 100% !important;
            width: auto !important;
            box-sizing: border-box !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }
        /* flex/grid 자식 min-width:0 (overflow 핵심) */
        html[lang|="ja"] [class*="cont_flex"] > *,
        html[lang|="ja"] [class*="cont_list"] > *,
        html[lang|="ja"] [class*="-grid"] > *,
        html[lang|="ja"] [class*="__grid"] > *,
        html[lang|="ja"] .row > *,
        html[lang|="ja"] .grid > *,
        html[lang|="ja"] .flex > * {
            min-width: 0 !important;
            max-width: 100% !important;
        }
        /* 100vw 사용 무력화 */
        html[lang|="ja"] [style*="100vw"],
        html[lang|="ja"] [style*="calc(50% - 50vw)"],
        html[lang|="ja"] .full-width,
        html[lang|="ja"] .full-bleed {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
        /* Swiper/슬라이더/캐러셀 overflow */
        html[lang|="ja"] .swiper,
        html[lang|="ja"] .swiper-container,
        html[lang|="ja"] [class*="swiper-"],
        html[lang|="ja"] .slider,
        html[lang|="ja"] .carousel,
        html[lang|="ja"] .twentytwenty-container,
        html[lang|="ja"] .twentytwenty-wrapper,
        html[lang|="ja"] .cont_gallery_list,
        html[lang|="ja"] .cont_gallery_list_box {
            max-width: 100% !important;
            overflow-x: hidden;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .swiper-slide {
            max-width: 100% !important;
            box-sizing: border-box !important;
        }
        /* 플로팅/Fixed 요소가 viewport 밖으로 안 나가게 */
        html[lang|="ja"] .quick_menu_wrap_pc,
        html[lang|="ja"] .quick_menu_pc,
        html[lang|="ja"] .floating-menu,
        html[lang|="ja"] .floating-cta,
        html[lang|="ja"] [style*="position: fixed"],
        html[lang|="ja"] [style*="position:fixed"] {
            max-width: calc(100vw - 24px) !important;
        }
        /* clinic-guide kbg-hero 모바일 padding override */
        html[lang|="ja"] .kbg-hero {
            padding: 80px 14px 28px !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            overflow-x: clip !important;
        }
        html[lang|="ja"] .kbg-wrap {
            padding-left: 16px !important;
            padding-right: 16px !important;
        }
        /* H1 모바일 잘림 방지 — 폰트 축소 + 강제 줄바꿈 */
        html[lang|="ja"] .kbg-hero__title {
            font-size: clamp(1.15rem, 5.2vw, 1.55rem) !important;
            line-height: 1.4 !important;
            letter-spacing: -0.01em !important;
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
            max-width: 100% !important;
            margin: 0 auto !important;
            padding: 0 4px !important;
            text-align: center !important;
        }
        html[lang|="ja"] .kbg-hero__label {
            font-size: 11px !important;
            letter-spacing: 0.12em !important;
            margin-bottom: 12px !important;
        }
        html[lang|="ja"] .kbg-hero__sub {
            font-size: 13.5px !important;
            line-height: 1.7 !important;
            margin-top: 14px !important;
            padding: 0 6px !important;
            max-width: 100% !important;
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
        }
        /* kbg-related__grid + cc/mk/mv/br/bk-related__grid 모바일 1열 */
        html[lang|="ja"] .kbg-related__grid,
        html[lang|="ja"] .cc-related__grid,
        html[lang|="ja"] .mk-related__grid,
        html[lang|="ja"] .mv-related__grid,
        html[lang|="ja"] .br-related__grid,
        html[lang|="ja"] .bk-related__grid {
            grid-template-columns: 1fr !important;
        }

        /* 2026-05-20 follow-up #27: realreview + beforeafter 모바일 좌우 움직임 차단 */
        /* realreview */
        html[lang|="ja"] .rr-page-wrap,
        html[lang|="ja"] .rr-section,
        html[lang|="ja"] .rr-grid,
        html[lang|="ja"] .rr-card,
        html[lang|="ja"] .rr-card-wrap,
        html[lang|="ja"] .rr-card__body,
        html[lang|="ja"] .rr-card__img,
        html[lang|="ja"] .rr-pagination {
            max-width: 100% !important;
            width: auto !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .rr-grid {
            padding-left: 14px !important;
            padding-right: 14px !important;
        }
        html[lang|="ja"] .rr-card__title,
        html[lang|="ja"] .rr-card__text {
            word-break: keep-all !important;
            overflow-wrap: anywhere !important;
            white-space: normal !important;
        }
        /* beforeafter */
        html[lang|="ja"] .community_wrap,
        html[lang|="ja"] .community_wrap .cont,
        html[lang|="ja"] .community_wrap .cont_box1,
        html[lang|="ja"] .community_wrap .beforeafter02,
        html[lang|="ja"] .community_wrap .w1280,
        html[lang|="ja"] .community_wrap .bna_thumb_list,
        html[lang|="ja"] .community_wrap .bna_thumb_list ul,
        html[lang|="ja"] .community_wrap .casebook-finder,
        html[lang|="ja"] .community_wrap .casebook-card,
        html[lang|="ja"] .ba-after-wrap,
        html[lang|="ja"] .ba-intro {
            max-width: 100% !important;
            width: auto !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .community_wrap .bna_thumb_list ul {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 16px !important;
            padding: 0 14px !important;
        }
        html[lang|="ja"] .community_wrap .bna_thumb_list ul > li {
            width: 100% !important;
            min-width: 0 !important;
            max-width: 100% !important;
        }
        /* #bna_category 가로 스크롤 컨테이너 안에서만 스크롤 (부모 overflow 차단) */
        html[lang|="ja"] #bna_category {
            max-width: 100% !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .casebook-card .bna-angle .cont_list ul {
            grid-template-columns: 1fr 1fr !important;
        }
    }

    /* 2026-05-20 follow-up #28: realreview/beforeafter 모바일 좌우 움직임 nuclear lock
       2026-05-21 follow-up #50 보강: iOS/Android touch rubber-band overscroll 차단
       — overflow-x:hidden/clip 만으로는 touchmove rubber-band 막지 못하므로
       overscroll-behavior-x:none + 명시적 width:100% + html-level touch-action 추가 */
    @media (max-width: 768px) {
        /* html/body 가로 움직임 완전 차단 — overscroll-behavior + touch-action 양쪽 적용 */
        html[lang|="ja"] {
            overflow-x: clip !important;
            -webkit-text-size-adjust: 100% !important;
            overscroll-behavior-x: none !important;
            overscroll-behavior-y: auto !important;
            touch-action: pan-y !important;
            width: 100% !important;
            max-width: 100vw !important;
        }
        html[lang|="ja"] body {
            overflow-x: clip !important;
            width: 100% !important;
            max-width: 100vw !important;
            min-width: 0 !important;
            position: relative !important;
            touch-action: pan-y !important;
            overscroll-behavior-x: none !important;
            overscroll-behavior-y: auto !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
        /* community/realreview + community/beforeafter 페이지 직계 후손 모두 100vw 제한 */
        body[class*="realreview"],
        body[class*="beforeafter"],
        html[lang|="ja"] .rr-page-wrap,
        html[lang|="ja"] .community_wrap {
            max-width: 100vw !important;
            overflow-x: clip !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .rr-page-wrap > *,
        html[lang|="ja"] .community_wrap > * {
            max-width: 100vw !important;
            box-sizing: border-box !important;
        }
        /* data-scroll-section transform 무력화 (모바일에서 LocomotiveScroll 미사용) */
        html[lang|="ja"] [data-scroll-section],
        html[lang|="ja"] [data-scroll-container] {
            transform: none !important;
            -webkit-transform: none !important;
            will-change: auto !important;
        }
        /* data-aos translate 무력화 (가로 흔들림 유발 가능) */
        html[lang|="ja"] [data-aos*="left"],
        html[lang|="ja"] [data-aos*="right"] {
            transform: none !important;
            -webkit-transform: none !important;
            opacity: 1 !important;
        }
        /* rr-grid 강제 모바일 1열 (2열 + padding으로 인한 overflow 가능성 제거) */
        html[lang|="ja"] .rr-grid {
            grid-template-columns: 1fr !important;
            gap: 12px !important;
            padding: 0 14px !important;
            max-width: 100% !important;
            margin: 0 !important;
        }
        html[lang|="ja"] .rr-card,
        html[lang|="ja"] .rr-card-wrap {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }
        /* rr-card 내부 모든 요소 폭 제한 */
        html[lang|="ja"] .rr-card *,
        html[lang|="ja"] .rr-card-wrap *,
        html[lang|="ja"] .casebook-card * {
            max-width: 100% !important;
            box-sizing: border-box !important;
        }
        /* community wrap 안 모든 .cont_box1 폭 100% 강제 */
        html[lang|="ja"] .community_wrap .cont_box1,
        html[lang|="ja"] .community_wrap .cont_wrap,
        html[lang|="ja"] .community_wrap .beforeafter02,
        html[lang|="ja"] .community_wrap .w1280 {
            width: 100% !important;
            max-width: 100% !important;
            padding-left: 14px !important;
            padding-right: 14px !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
            overflow-x: clip !important;
        }
        /* fixed/absolute 요소가 viewport 밖으로 안 나가게 */
        html[lang|="ja"] .rr-page-wrap *,
        html[lang|="ja"] .community_wrap * {
            max-width: 100vw !important;
        }
        /* 페이지네이션 가로 정렬 안전 */
        html[lang|="ja"] .rr-pagination,
        html[lang|="ja"] .number_box {
            flex-wrap: wrap !important;
            width: 100% !important;
            max-width: 100% !important;
            justify-content: center !important;
        }

        /* 2026-05-21 follow-up #48: /jp/community/review/ 레거시 .realreview_03 + .cont_list4 + .cont_list_m2 + .event_box 모바일 좌우 overflow 차단
           원인: style.css .cont_list4 > ul { gap:30px } + .cont_list_m2 > li { width: calc(50% - 10px) }
           수학적으로 2 * (50% - 10px) + 30px = 100% + 10px 로 overflow */
        html[lang|="ja"] .community_wrap .realreview_03,
        html[lang|="ja"] .community_wrap .cont_list4,
        html[lang|="ja"] .community_wrap .cont_list_m2 {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
            overflow-x: clip !important;
        }
        html[lang|="ja"] .community_wrap .realreview_03 > ul,
        html[lang|="ja"] .community_wrap .cont_list4 > ul,
        html[lang|="ja"] .community_wrap .cont_list_m2 > ul {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 10px !important;
            padding: 0 !important;
            margin: 0 !important;
            width: 100% !important;
            max-width: 100% !important;
            list-style: none !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .community_wrap .realreview_03 > ul > li,
        html[lang|="ja"] .community_wrap .cont_list4 > ul > li,
        html[lang|="ja"] .community_wrap .cont_list_m2 > ul > li {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            box-sizing: border-box !important;
            list-style: none !important;
        }
        html[lang|="ja"] .community_wrap .event_box {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
        }
        html[lang|="ja"] .community_wrap .event_box img {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            aspect-ratio: 1 / 1 !important;
            object-fit: cover !important;
            display: block !important;
        }
        html[lang|="ja"] .community_wrap .event_box .txt,
        html[lang|="ja"] .community_wrap .event_box .new_box {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            word-break: break-all !important;
            overflow-wrap: anywhere !important;
        }
        /* 2026-05-21 follow-up #48b: 헤더 wrap도 100vw 강제 (로고-햄버거 사이 비정상 거리 차단)
           — head_wrap 자체는 fixed/100% 라 OK, 단 부모 body overflow 가 정렬을 망가뜨릴 수 있으므로
             head_wrap 직접 자식 컨테이너도 100vw 강제 */
        html[lang|="ja"] .head_wrap,
        html[lang|="ja"] .head_wrap > div {
            max-width: 100vw !important;
            box-sizing: border-box !important;
        }
        /* 모바일 quick_menu_wrap (footer 고정 dock) — 부모 body 가 100vw 보다 크면 width:100% 가 viewport 를 벗어남
           → max-width: 100vw 로 강제 고정 */
        html[lang|="ja"] .quick_menu_wrap {
            width: 100% !important;
            max-width: 100vw !important;
            left: 0 !important;
            right: 0 !important;
            box-sizing: border-box !important;
        }

        /* 2026-05-20 follow-up #22: 하단 박스 / CTA / 관련 페이지 카드 모바일 1열 + 이미지 정렬 */
        html[lang|="ja"] .related-card,
        html[lang|="ja"] .cta-card,
        html[lang|="ja"] .bottom-card,
        html[lang|="ja"] .link-card,
        html[lang|="ja"] [class*="cta__btns"] + a,
        html[lang|="ja"] [class*="-related"] li,
        html[lang|="ja"] [class*="-related"] a {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            overflow: visible !important;
            padding: 20px !important;
            box-sizing: border-box !important;
        }
        html[lang|="ja"] .related-card img,
        html[lang|="ja"] .cta-card img,
        html[lang|="ja"] .bottom-card img,
        html[lang|="ja"] .link-card img {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            object-fit: cover !important;
            display: block !important;
            margin-bottom: 14px !important;
        }
        html[lang|="ja"] .related-card .card-body,
        html[lang|="ja"] .cta-card .card-body,
        html[lang|="ja"] .bottom-card .card-body,
        html[lang|="ja"] .link-card .card-body {
            width: 100% !important;
            height: auto !important;
            max-height: none !important;
            overflow: visible !important;
        }
        html[lang|="ja"] .related-card p,
        html[lang|="ja"] .cta-card p,
        html[lang|="ja"] .bottom-card p,
        html[lang|="ja"] .link-card p {
            display: block !important;
            overflow: visible !important;
            -webkit-line-clamp: unset !important;
            white-space: normal !important;
            line-height: 1.65 !important;
        }
    }
    /* ================================================================
       2026-05-20 follow-up #24: JP table 가독성 강화 (user 보고 "표 흐림/뿌옇게")
       모든 breast pillar table (.cc-table / .mk-table / .mv-table / .br-table
       / .bk-table / 기본 table)에 명확한 색·font-weight·smoothing·legibility 적용
       ================================================================ */
    html[lang|="ja"] table,
    html[lang|="ja"] .cc-table,
    html[lang|="ja"] .mk-table,
    html[lang|="ja"] .mv-table,
    html[lang|="ja"] .br-table,
    html[lang|="ja"] .bk-table,
    html[lang|="ja"] .baker-table {
        color: #222 !important;
        opacity: 1 !important;
        filter: none !important;
        backdrop-filter: none !important;
        text-shadow: none !important;
        transform: none !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }
    html[lang|="ja"] table th,
    html[lang|="ja"] [class$="-table"] th,
    html[lang|="ja"] .baker-table th {
        color: #111 !important;
        font-weight: 700 !important;
        opacity: 1 !important;
    }
    html[lang|="ja"] table td,
    html[lang|="ja"] [class$="-table"] td,
    html[lang|="ja"] .baker-table td {
        color: #333 !important;
        font-weight: 400 !important;
        opacity: 1 !important;
    }
    html[lang|="ja"] table small,
    html[lang|="ja"] table .note,
    html[lang|="ja"] table .desc,
    html[lang|="ja"] [class$="-table"] small {
        color: #444 !important;
        opacity: 1 !important;
        font-weight: 400 !important;
    }
    /* 표 부모 컨테이너에 transform/filter 걸려 있을 때 무력화 */
    html[lang|="ja"] .cc-section,
    html[lang|="ja"] .mk-section,
    html[lang|="ja"] .mv-section,
    html[lang|="ja"] .br-section,
    html[lang|="ja"] .bk-section {
        filter: none !important;
        backdrop-filter: none !important;
    }
    /* 모바일 — 표를 scale로 줄이지 말고 가로 스크롤 */
    @media (max-width: 768px) {
        html[lang|="ja"] .table-wrap,
        html[lang|="ja"] .table-responsive,
        html[lang|="ja"] .comparison-table-wrap {
            width: 100% !important;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        html[lang|="ja"] table,
        html[lang|="ja"] [class$="-table"],
        html[lang|="ja"] .baker-table {
            width: 100% !important;
            border-collapse: collapse;
        }
        html[lang|="ja"] table th,
        html[lang|="ja"] table td,
        html[lang|="ja"] [class$="-table"] th,
        html[lang|="ja"] [class$="-table"] td,
        html[lang|="ja"] .baker-table th,
        html[lang|="ja"] .baker-table td {
            font-size: 14px !important;
            line-height: 1.6 !important;
            letter-spacing: 0 !important;
            white-space: normal !important;
            padding: 12px 10px !important;
        }
        /* scale/transform/filter로 흐림 발생 방지 (data-aos 등) */
        html[lang|="ja"] table,
        html[lang|="ja"] table *,
        html[lang|="ja"] [class$="-table"],
        html[lang|="ja"] [class$="-table"] * {
            transform: none !important;
            -webkit-transform: none !important;
            filter: none !important;
        }
    }

    /* PC: 하단 박스 정렬 (이미지 좌 / 텍스트 우 grid) */
    @media (min-width: 769px) {
        html[lang|="ja"] .related-card,
        html[lang|="ja"] .cta-card,
        html[lang|="ja"] .bottom-card,
        html[lang|="ja"] .link-card {
            display: grid;
            grid-template-columns: minmax(220px, 36%) 1fr;
            gap: 24px;
            align-items: center;
        }
        html[lang|="ja"] .related-card img,
        html[lang|="ja"] .cta-card img,
        html[lang|="ja"] .bottom-card img,
        html[lang|="ja"] .link-card img {
            width: 100%;
            height: auto;
            object-fit: cover;
        }
    }
    
        /* === 2026-06-05: JP .rr-card line-clamp 복구 (와일드카드 [class*="-card"] p override 강제) ===
           — KR 모바일 동작: 제목 2줄·본문 2줄·날짜 1줄로 자르기 → 사진 영역 보호 */
        @media (max-width: 768px) {
            html[lang|="ja"] h3.rr-card__title,
            html[lang|="ja"] .rr-card .rr-card__title {
                display: -webkit-box !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
                white-space: normal !important;
                font-size: 15px !important;
                line-height: 1.4 !important;
                max-height: calc(1.4em * 2) !important;
            }
            html[lang|="ja"] p.rr-card__text,
            html[lang|="ja"] .rr-card .rr-card__text {
                display: -webkit-box !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
                white-space: normal !important;
                font-size: 14px !important;
                line-height: 1.55 !important;
                max-height: calc(1.55em * 2) !important;
            }
            html[lang|="ja"] .rr-card__date {
                font-size: 12px !important;
                line-height: 1.4 !important;
            }
            /* 카드 body padding KR 모바일 값 통일 */
            html[lang|="ja"] .rr-card__body {
                padding: 10px 12px !important;
            }
            /* 이미지 영역이 카드의 충분한 비율을 유지하도록 aspect-ratio 강제 */
            html[lang|="ja"] .rr-card__img {
                aspect-ratio: 1 / 1 !important;
            }
        }

    
        /* === 2026-06-05: JP minutes 모바일 좌우 폭 답답 fix === */
        @media (max-width: 768px) {
            html[lang|="ja"] .minutes-page .cont,
            html[lang|="ja"] .minutes_wrap .cont {
                padding-left: 10px !important;
                padding-right: 10px !important;
            }
            html[lang|="ja"] .minutes-page .dn-min-geo {
                padding-left: 10px !important;
                padding-right: 10px !important;
                margin-left: auto !important;
                margin-right: auto !important;
            }
            html[lang|="ja"] .minutes-page .min-tldr {
                margin-left: 10px !important;
                margin-right: 10px !important;
                padding-left: 14px !important;
                padding-right: 14px !important;
            }
            /* hero text 영역도 양옆 16 → 12로 약간 확장 */
            html[lang|="ja"] .dn-page-hero--minutes {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__title,
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__sub,
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__note {
                max-width: 100% !important;
            }
            /* minutes02·minutes08·minutes09 등 다른 cont_box1 들도 좌우 폭 통일 */
            html[lang|="ja"] .minutes_wrap .cont_box1 .cont {
                padding-left: 10px !important;
                padding-right: 10px !important;
            }
        }

    
        /* === 2026-06-05 (2차): JP minutes 모바일 좌우 여백 적극 축소 === */
        @media (max-width: 768px) {
            /* outer wrapper 좌우 inset 강제 0 */
            html[lang|="ja"] .minutes-page .minutes_wrap,
            html[lang|="ja"] .minutes-page .content_wrap,
            html[lang|="ja"] .minutes-page main {
                padding-left: 0 !important;
                padding-right: 0 !important;
            }
            /* 본문 .cont 좌우 6px만 */
            html[lang|="ja"] .minutes-page .cont,
            html[lang|="ja"] .minutes-page .minutes_wrap .cont,
            html[lang|="ja"] .minutes-page .minutes_wrap .cont_box1 .cont {
                padding-left: 6px !important;
                padding-right: 6px !important;
            }
            /* dn-min-geo (Q&A 본문) 좌우 6px */
            html[lang|="ja"] .minutes-page .dn-min-geo {
                padding-left: 6px !important;
                padding-right: 6px !important;
            }
            /* min-tldr 좌우 margin 6px / padding 12px */
            html[lang|="ja"] .minutes-page .min-tldr {
                margin-left: 6px !important;
                margin-right: 6px !important;
                padding-left: 12px !important;
                padding-right: 12px !important;
            }
            /* hero 좌우 10px + text max-width 풀기 */
            html[lang|="ja"] .dn-page-hero--minutes {
                padding-left: 10px !important;
                padding-right: 10px !important;
            }
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__title,
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__sub,
            html[lang|="ja"] .dn-page-hero--minutes .dn-page-hero__note {
                max-width: 100% !important;
            }
            /* bottom CTA 좌우 8px */
            html[lang|="ja"] .minutes-page .minutes-bottom-cta {
                margin-left: 8px !important;
                margin-right: 8px !important;
                padding-left: 18px !important;
                padding-right: 18px !important;
            }
            /* dn-min-card / dn-min-checklist / dn-min-refs 내부 박스 좌우 12 */
            html[lang|="ja"] .minutes-page .dn-min-card,
            html[lang|="ja"] .minutes-page .dn-min-checklist,
            html[lang|="ja"] .minutes-page .dn-min-related,
            html[lang|="ja"] .minutes-page .dn-min-refs {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }
        }

    
        /* === 2026-06-05: JP Tebbets 인용 카드 박스 좌우 여백 축소 (사용자 명시) === */
        @media (max-width: 768px) {
            /* minutes09 텍스트 박스 (Tebbets 인용 + 텍스트북) */
            html[lang|="ja"] .minutes-page .minutes09 .txt_box {
                padding: 14px 12px !important;
                margin: 0 6px 16px !important;
            }
            /* minutes08 인용 카드 */
            html[lang|="ja"] .minutes-page .minutes08_cont > .cont_list ul li {
                padding: 14px 12px !important;
                margin-bottom: 12px !important;
            }
            /* minutes08 cont_text_info / cont_text_info_mg / minutes09 cont_text / paper — 카드 안 inset 0 강제 */
            html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_info,
            html[lang|="ja"] .minutes-page .minutes08_cont .cont_text_info_mg,
            html[lang|="ja"] .minutes-page .minutes09 .cont_text,
            html[lang|="ja"] .minutes-page .minutes09__paper {
                padding-left: 0 !important;
                padding-right: 0 !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
            }
            /* minutes09 cont_flex 안의 li 카드 (이미지 + 텍스트) */
            html[lang|="ja"] .minutes-page .minutes09 .cont_flex ul li {
                padding-left: 6px !important;
                padding-right: 6px !important;
            }
            /* minutes09 .txt_box 안 텍스트 영역 자체도 명시 100% */
            html[lang|="ja"] .minutes-page .minutes09 .txt_box > * {
                max-width: 100% !important;
            }
        }
