/*
 * RYU DAEJEON BRAND RESKIN
 * Version: v1.0.6 HEADER PINK + TEXT WORDMARK + YOUTUBE / RESPONSIVE PHP5.3 FINAL
 * Base: 홈피자료_0904.zip
 * Goal: preserve existing main/sub layout while applying RYU Daejeon identity.
 */
:root {
    --ryu-pink:#f1a1af;
    --ryu-pink-deep:#e8899b;
    --ryu-pink-soft:#fcecef;
    --ryu-pink-pale:#fff7f8;
    --ryu-black:#222222;
    --ryu-dark:#333333;
    --ryu-gray:#777777;
    --ryu-line:#e8e8e8;
}

/* Header: keep original rows/columns, remove language selector gap, fit horizontal logo */
#header {background:#fff;}
#header .wrap {position:relative;}
#header h1 {margin-top:35px;}
#header h1 a {display:block;}
#header h1 img {display:block; width:210px; height:auto; max-height:54px; object-fit:contain;}
#header .user {display:none !important;}
.top_line {background:var(--ryu-pink);}
.top_line li a {color:var(--ryu-black);}
#header .gnb {margin-top:38px;}
#header .gnb .depth1 > a {color:var(--ryu-black);}
#header .gnb .depth1 > a:before {background:var(--ryu-pink);}
#header.down .gnb .depth1:hover > a,
#header.down .gnb .depth2 > a:hover {color:var(--ryu-pink-deep);}

/* Existing layout, new RYU mood only */
#main_visual h2,
#main_visual p,
#main_visual span,
.main_tit h4,
.case_main h3,
.case_main h4 span,
.case_main i,
.comm_main h3,
.carousel h3,
.slide-sect .right-wrap .swiper-slide .text strong,
.slide-sect .right-wrap .swiper-slide .text p,
.doctor_con li dl h5,
.contact_con02 .top span,
.main_center dl p,
.main_right p,
#main_customer h3 {color:var(--ryu-black) !important;}

.main_tit i,
.main_point02 .txt_box > i,
.main_point03 .txt_box > i,
.contact_con02 .bot_text b,
.doctor_con li dl h5 span {color:var(--ryu-pink-deep) !important;}

.highlight .highlight-bg,
.highlight-bg,
.line_g:after,
.slide-sect .left-wrap .slide-move .swiper-scrollbar-drag {background:var(--ryu-pink) !important;}

.case_main,
.sub,
#news_setion {background:var(--ryu-pink-soft) !important;}
.carousel .box {border-color:#efc2ca; background:#fff;}
.carousel .box:hover {border-color:var(--ryu-pink-deep); box-shadow:0 12px 30px rgba(34,34,34,.08);}

/* Buttons and points */
.btn-primary {background:var(--ryu-pink); border-color:var(--ryu-pink); color:var(--ryu-black) !important;}
.btn-primary-line {border-color:var(--ryu-pink); color:var(--ryu-pink-deep) !important;}
.doctor_con li dl.float h4 {background:var(--ryu-black); border-radius:0;}

/* Quick menu v1.0.2: restore the original base shape; only recolor to RYU Pink + Black */
.quick {width:120px; padding-top:20px; border-radius:20px; background:transparent;}
.quick h3 {width:auto; height:auto; margin:0; padding:10px 0; border-radius:20px 20px 0 0; background:var(--ryu-pink); box-sizing:border-box;}
.quick h3 a {color:var(--ryu-black); font-size:20px; line-height:1.15; font-weight:700;}
.quick h3 img {display:block; width:42px; height:auto; margin:0 auto; filter:brightness(0) saturate(100%);}
.quick ul {background:#fff; box-shadow:0 0 10px rgba(0,0,0,.10);}
.quick ul li {width:90px; height:auto; margin:0 auto; padding:15px 0; border:0; border-bottom:2px solid #eeeeee; border-radius:0; background:#fff; box-shadow:none; box-sizing:border-box;}
.quick ul li:last-child {border-bottom:0;}
.quick ul li img {display:block; width:30px; height:30px; object-fit:contain; margin:0 auto; filter:brightness(0) saturate(100%);}
.quick ul li span {display:block; padding-top:5px; color:#4c4c4c; font-size:13px; line-height:1.25; font-weight:600;}
.quick ul li a:hover span {color:var(--ryu-pink-deep);}
.quick .top_btn {width:100%; height:auto; margin:0; padding:15px 0; border-radius:0 0 20px 20px; background:var(--ryu-pink); display:block; text-align:center;}
.quick .top_btn a {color:var(--ryu-black); font-size:18px; font-weight:800;}

/* sub01_1 supplied director photo: keep the original split layout, change only palette */
.diet_con02 .box.type01 {background-color:var(--ryu-pink-pale) !important;}
.diet_con02 .box .left_box .txt_box h4 {color:var(--ryu-black) !important;}
.diet_con02 .box .left_box .txt_box h4 b,
.diet_con02 .box .left_box .txt_box i {color:var(--ryu-pink-deep) !important;}

/* Customer/footer: preserve columns, improve visual consistency */
#main_customer {border-top:1px solid var(--ryu-line);}
.main_left p.bottom_logo img {width:220px; height:auto;}
.main_center dl dd em {display:inline-block; margin-left:6px; color:var(--ryu-pink-deep); font-style:normal; font-weight:800;}
#footer {background:var(--ryu-black) !important;}
#footer a, #footer dd, #footer dt {color:#fff;}

/* Doctor page: one verified Daejeon director, keep original 2-column frame */
.ryu-doctor-con {background:linear-gradient(90deg, #fff 0%, #fff 58%, var(--ryu-pink-pale) 58%, var(--ryu-pink-pale) 100%); padding:60px 0 70px;}
.ryu-doctor-con li .img img {width:469px; max-width:100%; height:auto; box-shadow:0 18px 45px rgba(34,34,34,.09);}
.ryu-doctor-con li .txt {padding-right:40px;}
.ryu-doctor-con li dl h5 {font-size:34px;}
.ryu-doctor-con li dl h5 span {font-size:17px; letter-spacing:1px; margin-bottom:8px;}

/* Location */
.ryu-map-box {height:460px; overflow:hidden; background:#f5f5f5;}
.ryu-map-box iframe {display:block; width:100%; height:100%;}
.contact_con02 .bot_text li em {color:var(--ryu-pink-deep); font-style:normal; font-weight:800;}

/* global old purple fallback tones */
a:hover {color:var(--ryu-pink-deep);}

@media (max-width:1024px) {
    #header h1 {margin-top:39px;}
    #header h1 img {width:190px; max-height:48px;}
    #header .gnb {margin-top:40px;}
    .ryu-doctor-con {background:var(--ryu-pink-pale);}
    .ryu-doctor-con li .txt {padding-right:0;}
    .ryu-map-box {height:400px;}
}

@media (max-width:1023px) {
    #header h1 {margin-top:42px;}
}

@media (max-width:767px) {
    #header h1 {width:auto; margin-top:26px;}
    #header h1 img {width:168px; max-height:42px;}
    #header .btn_gnb {top:35px;}
    .quick {left:0; right:0; bottom:0; width:100%; padding:0; border-radius:0; background:#fff; box-shadow:0 -4px 18px rgba(0,0,0,.08);}
    .quick h3 {display:none;}
    .quick ul {display:flex; width:100%; float:none; background:#fff; box-shadow:none;}
    .quick ul li {display:block; flex:1 1 25%; width:auto; height:58px; margin:0; padding:7px 0 4px; border-radius:0; box-shadow:none; border-right:1px solid #f3d9de; border-bottom:0; background:#fff;}
    .quick ul li:last-child {border-right:0;}
    .quick ul li img {width:22px; height:22px;}
    .quick ul li span {font-size:10px; padding-top:2px;}
    .quick .top_btn {display:none;}
    .main_left p.bottom_logo img {width:180px;}
    .ryu-doctor-con {padding:30px 0 45px;}
    .ryu-doctor-con li .img {margin-top:20px;}
    .ryu-doctor-con li dl h5 {font-size:27px;}
    .ryu-map-box {height:330px;}
}

@media (max-width:420px) {
    #header h1 img {width:148px; max-height:38px;}
    .ryu-doctor-con li dl h5 {font-size:24px;}
    .ryu-doctor-con li dl dd {font-size:16px;}
    .ryu-map-box {height:280px;}
}


/* v1.0.1 QA hardening: row/column balance + mobile fixed quick clearance */
#main_customer .inner {display:flex; align-items:stretch;}
#main_customer .main_left, #main_customer .main_center, #main_customer .main_right {box-sizing:border-box;}
#main_customer .main_left {flex:0 0 32%;}
#main_customer .main_center {flex:0 0 30%;}
#main_customer .main_right {flex:1 1 auto; min-width:0;}
#footer .gnb img {width:32px; height:32px; object-fit:contain; filter:grayscale(1) brightness(4);}
@media (max-width:1024px) {
  #main_customer .inner {display:block;}
  #main_customer .main_left, #main_customer .main_center, #main_customer .main_right {width:100%;}
}
@media (max-width:767px) {
  body {padding-bottom:58px;}
  #footer {margin-bottom:0;}
}

/* v1.0.2 responsive hardening */
.diet_con02 .box .ryu-diet-director {display:block;}
.diet_con02 .box .ryu-diet-director img {display:inline-block; vertical-align:top; position:absolute; left:50%; top:0;}
@media (max-width:1200px) {
  .quick {top:auto; left:0; right:0; bottom:0; width:100%; padding:0; border-radius:0; background:#fff; box-shadow:0 -4px 18px rgba(0,0,0,.08);}
  .quick h3 {display:none;}
  .quick ul {display:flex; width:100%; float:none; background:#fff; box-shadow:none;}
  .quick ul li {display:block; flex:1 1 25%; width:auto; height:58px; margin:0; padding:7px 0 4px; border-radius:0; box-shadow:none; border-right:1px solid #f3d9de; border-bottom:0; background:#fff;}
  .quick ul li:last-child {border-right:0;}
  .quick ul li img {width:22px; height:22px;}
  .quick ul li span {font-size:10px; padding-top:2px;}
  .quick .top_btn {display:none;}
  body {padding-bottom:58px;}
}
@media (max-width:1000px) {
  .diet_con02 .box .ryu-diet-director img {position:static; left:auto; top:auto; width:100%; height:auto; transform:none !important;}
}

/* v1.0.3 DOCTOR PROFILE + SUB01 CLEAN PHOTO LAYOUT / RESPONSIVE PHP5.3 FINAL */
/* sub05_2: verified director career list supplied by client */
.ryu-doctor-con li dl.ryu-profile {margin-top:34px; margin-bottom:0;}
.ryu-doctor-con li dl.ryu-profile h4 {
    width:118px;
    margin:0 0 18px;
    padding:8px 0;
    border-radius:0;
    background:var(--ryu-black);
    color:#fff;
    font-size:14px;
    line-height:1.2;
    letter-spacing:1px;
    font-weight:700;
    text-align:center;
}
.ryu-doctor-con li dl.ryu-profile dd.ryu-profile-list {
    display:block;
    width:100%;
    margin:0;
    font-size:16px;
    line-height:1.65;
    color:#444;
}
.ryu-doctor-con .ryu-profile-list ul {margin:0; padding:0; list-style:none;}
.ryu-doctor-con .ryu-profile-list li {
    position:relative;
    display:block;
    margin:0;
    padding:7px 0 7px 18px;
    border-bottom:1px solid #eeeeee;
    box-sizing:border-box;
    word-break:keep-all;
}
.ryu-doctor-con .ryu-profile-list li:last-child {border-bottom:0;}
.ryu-doctor-con .ryu-profile-list li:before {
    content:'';
    position:absolute;
    left:0;
    top:17px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--ryu-pink-deep);
}

/* sub01_1: restore the clean base composition; no gradient/fade on the director image */
.diet_con02 .box.ryu-diet-clean {
    min-height:560px;
    background:#fff !important;
    border-top:1px solid #f0f0f0;
    border-bottom:1px solid #f0f0f0;
}
.diet_con02 .box.ryu-diet-clean .inner {position:relative; min-height:560px;}
.diet_con02 .box.ryu-diet-clean .left_box {
    display:block;
    width:55%;
    max-width:none;
    padding:92px 0 72px;
    box-sizing:border-box;
}
.diet_con02 .box.ryu-diet-clean .left_box .txt_box {
    display:block;
    width:100%;
    padding-left:70px;
    padding-right:48px;
    box-sizing:border-box;
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director {
    position:absolute;
    right:36px;
    top:28px;
    width:43%;
    max-width:620px;
    height:504px;
    overflow:hidden;
    background:#f7f8f8;
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
    position:static;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
}

@media (max-width:1200px) {
    .diet_con02 .box.ryu-diet-clean .left_box {width:56%; padding-top:78px;}
    .diet_con02 .box.ryu-diet-clean .left_box .txt_box {padding-left:42px; padding-right:34px;}
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {right:22px; width:42%;}
}

@media (max-width:1000px) {
    .diet_con02 .box.ryu-diet-clean,
    .diet_con02 .box.ryu-diet-clean .inner {min-height:0;}
    .diet_con02 .box.ryu-diet-clean .left_box {
        width:100%;
        padding:58px 0 38px;
    }
    .diet_con02 .box.ryu-diet-clean .left_box .txt_box {
        padding-left:34px;
        padding-right:34px;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        position:relative;
        right:auto;
        top:auto;
        width:calc(100% - 68px);
        max-width:720px;
        height:auto;
        margin:0 auto 42px;
        overflow:hidden;
        background:#f7f8f8;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
        width:100%;
        height:auto;
        object-fit:contain;
    }
}

@media (max-width:767px) {
    .ryu-doctor-con li dl.ryu-profile {margin-top:26px;}
    .ryu-doctor-con li dl.ryu-profile dd.ryu-profile-list {font-size:15px; line-height:1.55;}
    .ryu-doctor-con .ryu-profile-list li {padding:7px 0 7px 16px;}
    .ryu-doctor-con .ryu-profile-list li:before {top:16px; width:5px; height:5px;}
    .diet_con02 .box.ryu-diet-clean .left_box {padding:42px 0 28px;}
    .diet_con02 .box.ryu-diet-clean .left_box .txt_box {padding-left:22px; padding-right:22px;}
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {width:calc(100% - 44px); margin-bottom:30px;}
}

@media (max-width:420px) {
    .ryu-doctor-con li dl.ryu-profile h4 {width:104px; font-size:13px;}
    .ryu-doctor-con li dl.ryu-profile dd.ryu-profile-list {font-size:14px;}
    .diet_con02 .box.ryu-diet-clean .left_box .txt_box {padding-left:18px; padding-right:18px;}
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {width:calc(100% - 36px);}
}

/* v1.0.5 MAIN 3-SLIDE REFERENCE MOTION / BOTTOM TEXT SAFE / RESPONSIVE PHP5.3 FINAL */
#main_visual.ryu-main-visual {overflow:hidden; background:#fff; color:var(--ryu-black);}
#main_visual.ryu-main-visual .slider {visibility:hidden;}
#main_visual.ryu-main-visual .bx-wrapper,
#main_visual.ryu-main-visual .bx-viewport,
#main_visual.ryu-main-visual .slider,
#main_visual.ryu-main-visual .ryu-visual-slide {height:100% !important;}
#main_visual.ryu-main-visual .ryu-visual-slide {
    position:relative;
    overflow:hidden;
    background:none !important;
}
/* 인성한의원 참조와 동일한 단일 imagescale 효과 */
#main_visual.ryu-main-visual .roll_img {
    position:absolute;
    z-index:1;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:50%;
    animation:imagescale 5s infinite;
    -webkit-animation:imagescale 5s infinite;
    -moz-animation:imagescale 5s infinite;
    filter:none;
}
/* v1.0.8 MAIN SLIDE 01 HERBAL / 02 WELLNESS IMAGE + COPY UPDATE */
#main_visual.ryu-main-visual .roll01 .roll_img {background-image:url(../img/visual01.jpg); background-position:center 53%;}
#main_visual.ryu-main-visual .roll02 .roll_img {background-image:url(../img/visual02.jpg); background-position:center 56%;}
#main_visual.ryu-main-visual .roll03 .roll_img {background-image:url(../img/visual03.jpg); background-position:center center;}
@keyframes imagescale {
    0% {transform:scale(1.2) rotate(.001deg); -webkit-transform:scale(1.2); -moz-transform:scale(1.2);}
    100% {transform:scale(1) rotate(.001deg); -webkit-transform:scale(1); -moz-transform:scale(1);}
}
@-webkit-keyframes imagescale {
    0% {-webkit-transform:scale(1.2);}
    100% {-webkit-transform:scale(1);}
}
/* 사진 전체를 어둡게 하지 않고 하단 텍스트 뒤에만 최소 화이트 마스크 */
#main_visual.ryu-main-visual .ryu-visual-mask {
    position:absolute;
    z-index:2;
    left:0;
    bottom:0;
    top:auto;
    width:62%;
    height:43%;
    pointer-events:none;
    background:linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.72) 44%, rgba(255,255,255,.24) 76%, rgba(255,255,255,0) 100%);
}
#main_visual.ryu-main-visual .ryu-visual-text {
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    width:1200px;
    height:100%;
    margin:0 auto;
    padding:0 0 74px 26px;
    box-sizing:border-box;
    text-align:left;
}
#main_visual.ryu-main-visual .ryu-visual-text h2 {
    margin:0 0 10px;
    padding:0;
    color:var(--ryu-pink-deep) !important;
    font-family:inherit;
    font-size:15px;
    line-height:1.35;
    letter-spacing:1.6px;
    font-weight:800;
    text-transform:uppercase;
    animation:none;
    opacity:1;
}
#main_visual.ryu-main-visual .ryu-visual-text p {
    margin:0;
    padding:0;
    color:var(--ryu-black) !important;
    font-size:40px;
    line-height:1.18;
    letter-spacing:-1.8px;
    font-weight:800;
    animation:none;
    opacity:1;
    word-break:keep-all;
}
#main_visual.ryu-main-visual .ryu-visual-text span {
    display:block;
    margin-top:14px;
    padding:0;
    color:#444 !important;
    font-size:16px;
    line-height:1.55;
    letter-spacing:-.4px;
    font-weight:500;
    animation:none;
    opacity:1;
    word-break:keep-all;
}
#main_visual.ryu-main-visual .bx-controls {
    display:block !important;
    position:absolute;
    z-index:20;
    left:50%;
    bottom:27px;
    width:1200px;
    transform:translateX(-50%);
    text-align:left;
    pointer-events:none;
}
#main_visual.ryu-main-visual .bx-pager {display:inline-flex; align-items:center; gap:7px; vertical-align:middle; pointer-events:auto;}
#main_visual.ryu-main-visual .bx-pager > div {display:block;}
#main_visual.ryu-main-visual .bx-pager a {
    display:block;
    width:26px;
    height:3px;
    margin:0;
    border:0;
    border-radius:0;
    background:rgba(34,34,34,.24);
    text-indent:-9999px;
    overflow:hidden;
}
#main_visual.ryu-main-visual .bx-pager a.active {width:48px; background:var(--ryu-pink-deep);}
#main_visual.ryu-main-visual .bx-controls-auto,
#main_visual.ryu-main-visual .bx-controls-direction {display:none !important;}

@media (max-width:1260px) {
    #main_visual.ryu-main-visual .ryu-visual-text {width:100%; padding-left:6%; padding-right:6%; padding-bottom:72px;}
    #main_visual.ryu-main-visual .bx-controls {width:88%;}
    #main_visual.ryu-main-visual .ryu-visual-mask {width:68%; height:44%;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:37px;}
}

@media (max-width:1023px) {
    #main_visual.ryu-main-visual .ryu-visual-mask {width:76%; height:46%; background:linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.72) 48%, rgba(255,255,255,.20) 82%, rgba(255,255,255,0) 100%);}
    #main_visual.ryu-main-visual .ryu-visual-text {padding-left:7%; padding-right:7%; padding-bottom:68px;}
    #main_visual.ryu-main-visual .ryu-visual-text h2 {font-size:13px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:32px; line-height:1.2;}
    #main_visual.ryu-main-visual .ryu-visual-text span {font-size:15px; margin-top:12px; line-height:1.5;}
    #main_visual.ryu-main-visual .bx-controls {bottom:23px; width:86%;}
}

@media (max-width:800px) {
    #main_visual.ryu-main-visual {height:440px;}
    #main_visual.ryu-main-visual .roll01 .roll_img {background-image:url(../img/visual01_m.jpg); background-position:center 44%;}
    #main_visual.ryu-main-visual .roll02 .roll_img {background-image:url(../img/visual02_m.jpg); background-position:center 42%;}
    #main_visual.ryu-main-visual .roll03 .roll_img {background-image:url(../img/visual03_m.jpg);}
    #main_visual.ryu-main-visual .ryu-visual-mask {
        width:100%;
        height:48%;
        background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.24) 18%, rgba(255,255,255,.74) 55%, rgba(255,255,255,.90) 100%);
    }
    #main_visual.ryu-main-visual .ryu-visual-text {
        justify-content:flex-end;
        width:100%;
        height:100%;
        padding:0 7% 58px;
    }
    #main_visual.ryu-main-visual .ryu-visual-text h2 {margin:0 0 7px; font-size:11px; letter-spacing:.9px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:25px; line-height:1.2; letter-spacing:-1px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {margin-top:9px; font-size:13px; line-height:1.48;}
    #main_visual.ryu-main-visual .bx-controls {bottom:15px; width:86%;}
    #main_visual.ryu-main-visual .bx-pager a {width:20px; height:3px;}
    #main_visual.ryu-main-visual .bx-pager a.active {width:38px;}
}

@media (max-width:480px) {
    #main_visual.ryu-main-visual {height:410px;}
    #main_visual.ryu-main-visual .ryu-visual-text {padding-bottom:54px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:23px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {font-size:12.5px;}
}

@media (prefers-reduced-motion:reduce) {
    #main_visual.ryu-main-visual .roll_img {
        animation:none !important;
        -webkit-animation:none !important;
        -moz-animation:none !important;
        transform:none !important;
        -webkit-transform:none !important;
    }
}



/* v1.0.7 GOLD WORDMARK / NO ENGLISH / HEADER-FOOTER ALIGNMENT */
/* Header logo: supplied gold symbol + Korean wordmark only. Keep it compact on desktop. */
#header h1 {margin-top:28px;}
#header h1 a {display:block; line-height:1;}
#header h1 img {display:block; width:175px; height:auto; max-height:none; object-fit:contain;}
#header .gnb {margin-top:38px;}

/* Footer/customer logo: same gold mark, English slogan removed from the image itself. */
.main_left p.bottom_logo {padding-bottom:18px;}
.main_left p.bottom_logo img {display:block; width:200px; height:auto; max-width:100%;}

@media (max-width:1024px) {
    #header h1 {margin-top:30px;}
    #header h1 img {width:165px; max-height:none;}
    #header .gnb {margin-top:38px;}
}

@media (max-width:1023px) {
    #header h1 {margin-top:30px;}
}

@media (max-width:767px) {
    #header h1 {width:auto; margin-top:25px;}
    #header h1 img {width:145px; max-height:none;}
    #header .btn_gnb {top:40px;}
    .main_left p.bottom_logo img {width:170px; margin-left:auto; margin-right:auto;}
}

@media (max-width:420px) {
    #header h1 {margin-top:27px;}
    #header h1 img {width:132px; max-height:none;}
    #header .btn_gnb {top:39px;}
    .main_left p.bottom_logo img {width:160px;}
}
\n\n/* v1.0.8 LOGO WORDMARK SCALE + DAUM ROUGHMAP + HOURS ALIGNMENT + SLIDE02 PHOTO */\n/* Header/footer logo: Korean wordmark enlarged in image artwork; keep whole header mark compact. */\n#header h1 {margin-top:28px;}\n#header h1 img {width:182px; height:auto; max-height:none;}\n.main_left p.bottom_logo {padding:0 0 18px; text-align:center;}\n.main_left p.bottom_logo img {display:block; width:205px; height:auto; max-width:100%; margin:0 auto;}\n\n/* Daum RoughMap responsive wrapper */\n.ryu-map-box {position:relative; width:100%; overflow:hidden; background:#f7f7f7;}\n.ryu-map-box .root_daum_roughmap,\n.ryu-map-box .root_daum_roughmap_landing {width:100% !important; height:100% !important; max-width:none !important;}\n.ryu-map-box .root_daum_roughmap .wrap_map {width:100% !important; height:100% !important;}\n.ryu-map-box .root_daum_roughmap .wrap_controllers {width:100% !important;}\n\n/* Clinic hours: aligned columns with compact night badge. */\n.ryu-hours-list {width:100%; margin:0; padding:0;}\n.ryu-hours-row {display:flex; align-items:center; min-height:31px; gap:8px; box-sizing:border-box;}\n.ryu-hours-day {flex:0 0 68px; color:#333; font-weight:700; white-space:nowrap;}\n.ryu-hours-time {flex:0 1 auto; min-width:0; color:#555; line-height:1.45;}\n.ryu-night-badge {display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:22px; margin:0; padding:2px 9px; border-radius:12px; background:var(--ryu-pink); color:var(--ryu-black); font-size:11px; line-height:1.2; font-style:normal; font-weight:800; white-space:nowrap;}\n.ryu-hours-note {margin:5px 0 0; color:#666; font-size:13px; line-height:1.45;}\n#main_customer .main_center .ryu-hours-footer {margin-bottom:4px;}\n#main_customer .main_center .ryu-hours-day,\n#main_customer .main_center .ryu-hours-time {color:inherit;}\n\n/* Location page hours card */\n.contact_con02 .ryu-location-info {padding-top:28px;}\n.contact_con02 .ryu-location-hours {max-width:760px; margin:24px auto 0; padding:24px 28px; border:1px solid #ece7e2; background:#fff; box-sizing:border-box; text-align:left;}\n.contact_con02 .ryu-location-hours h5 {margin:0 0 14px; color:#222; font-size:20px; line-height:1.3; font-weight:800;}\n.contact_con02 .ryu-location-hours .ryu-hours-row {min-height:38px; border-bottom:1px solid #f1eeee;}\n.contact_con02 .ryu-location-hours .ryu-hours-row:last-child {border-bottom:0;}\n.contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:82px;}\n.contact_con02 .ryu-location-hours .ryu-hours-note {margin-top:12px; color:#777;}\n\n@media (max-width:1024px) {\n    #header h1 img {width:172px;}\n    .main_left p.bottom_logo img {width:192px;}\n}\n\n@media (max-width:767px) {\n    #header h1 img {width:152px;}\n    .main_left p.bottom_logo img {width:174px;}\n    .ryu-hours-row {min-height:30px; gap:6px; flex-wrap:wrap;}\n    .ryu-hours-day {flex:0 0 62px;}\n    .ryu-hours-time {flex:1 1 calc(100% - 72px);}\n    .ryu-night-badge {margin-left:68px;}\n    .contact_con02 .ryu-location-info {padding-top:22px;}\n    .contact_con02 .ryu-location-hours {margin-top:18px; padding:20px 18px;}\n    .contact_con02 .ryu-location-hours h5 {font-size:18px;}\n    .contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:70px;}\n    .contact_con02 .ryu-location-hours .ryu-night-badge {margin-left:76px;}\n}\n\n@media (max-width:420px) {\n    #header h1 img {width:142px;}\n    .main_left p.bottom_logo img {width:164px;}\n    .ryu-hours-day {flex-basis:58px;}\n    .ryu-hours-time {flex-basis:calc(100% - 66px);}\n    .ryu-night-badge {margin-left:64px; font-size:10.5px; padding:2px 8px;}\n    .contact_con02 .ryu-location-hours {padding:18px 14px;}\n    .contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:66px;}\n    .contact_con02 .ryu-location-hours .ryu-night-badge {margin-left:72px;}\n}\n
/* v1.0.9 LOCATION MAP CENTER + HOURS UI POLISH / RESPONSIVE PHP5.3 FINAL */
/* Footer clinic-hours panel: compact, aligned and easy to scan. */
#main_customer .main_center {box-sizing:border-box;}
#main_customer .ryu-hours-footer-panel {margin-top:18px; padding:18px 18px 16px; border:1px solid #f0e7e9; background:linear-gradient(180deg, #fff 0%, #fff9fa 100%); box-sizing:border-box;}
#main_customer .ryu-hours-footer-panel .ryu-hours-title {position:relative; margin:0 0 12px; padding:0 0 11px; color:var(--ryu-black) !important; font-size:16px; line-height:1.2; font-weight:800;}
#main_customer .ryu-hours-footer-panel .ryu-hours-title:after {content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; border-radius:2px; background:var(--ryu-pink);}
#main_customer .ryu-hours-footer .ryu-hours-row {display:grid; grid-template-columns:64px minmax(112px, 1fr) auto; column-gap:8px; align-items:center; min-height:34px; padding:4px 0; border-bottom:1px solid #f3eded;}
#main_customer .ryu-hours-footer .ryu-hours-row:last-child {border-bottom:0;}
#main_customer .ryu-hours-footer .ryu-hours-day {display:block; color:#333 !important; font-size:13px; font-weight:800;}
#main_customer .ryu-hours-footer .ryu-hours-time {display:block; color:#555 !important; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap;}
#main_customer .ryu-hours-footer .ryu-hours-closed .ryu-hours-day,
#main_customer .ryu-hours-footer .ryu-hours-closed .ryu-hours-time {color:#b94d63 !important;}
#main_customer .ryu-hours-footer-panel .ryu-night-badge {min-height:25px; padding:4px 10px; border-radius:14px; background:var(--ryu-pink-deep); color:#fff; font-size:11px; line-height:1; font-weight:900; box-shadow:0 3px 8px rgba(232,137,155,.25); letter-spacing:-.2px;}
#main_customer .ryu-hours-footer-panel .ryu-hours-note {margin:10px 0 0; color:#777 !important; font-size:12px; line-height:1.5;}
#main_customer .ryu-hours-footer-panel .ryu-hours-note span {color:var(--ryu-pink-deep); font-weight:900;}

/* RoughMap: size is passed from the actual wrapper so the supplied location stays visually centered. */
.ryu-map-footer {height:180px !important; margin-top:10px;}
.ryu-map-box .root_daum_roughmap,
.ryu-map-box .root_daum_roughmap_landing,
.ryu-map-box .root_daum_roughmap .wrap_map {width:100% !important; height:100% !important; max-width:none !important;}
.ryu-map-location-main {width:100%; height:500px !important; margin:20px 0 0; border:0; background:#f7f7f7;}
/* On the location page use the supplied map only as the location/map surface; remove RoughMap's lower info strip. */
.ryu-map-coordinate-only .wrap_controllers,
.ryu-map-coordinate-only .section_address {display:none !important;}

/* Full location-page clinic-hours card. */
.contact_con02 .ryu-location-hours {max-width:920px; margin:48px auto 0; padding:0; border:1px solid #eee7e8; background:#fff; box-sizing:border-box; text-align:left; box-shadow:0 12px 32px rgba(34,34,34,.045);}
.contact_con02 .ryu-location-hours-head {padding:28px 32px 22px; border-bottom:1px solid #f0e9ea; text-align:center; background:var(--ryu-pink-pale);}
.contact_con02 .ryu-location-hours-kicker {display:block; margin-bottom:7px; color:var(--ryu-pink-deep); font-size:11px; font-weight:800; letter-spacing:2px;}
.contact_con02 .ryu-location-hours h5 {margin:0; color:#222; font-size:25px; line-height:1.25; font-weight:800;}
.contact_con02 .ryu-location-hours .ryu-hours-list {padding:16px 32px 6px; box-sizing:border-box;}
.contact_con02 .ryu-location-hours .ryu-hours-row {display:grid; grid-template-columns:110px minmax(180px, 1fr) 96px; column-gap:20px; align-items:center; min-height:54px; padding:5px 8px; border-bottom:1px solid #f2eded; box-sizing:border-box;}
.contact_con02 .ryu-location-hours .ryu-hours-day {display:block; color:#333; font-size:15px; font-weight:800; white-space:nowrap;}
.contact_con02 .ryu-location-hours .ryu-hours-time {display:block; color:#555; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap;}
.contact_con02 .ryu-location-hours .ryu-hours-closed .ryu-hours-day,
.contact_con02 .ryu-location-hours .ryu-hours-closed .ryu-hours-time {color:#b94d63;}
.contact_con02 .ryu-location-hours .ryu-night-badge {justify-self:start; min-height:28px; padding:5px 13px; border-radius:15px; background:var(--ryu-pink-deep); color:#fff; font-size:12px; font-weight:900; box-shadow:0 4px 10px rgba(232,137,155,.24);}
.contact_con02 .ryu-location-hours .ryu-hours-note {margin:0; padding:15px 40px 20px; color:#777; font-size:13px; line-height:1.55; text-align:left;}
.contact_con02 .ryu-location-hours .ryu-hours-note span {color:var(--ryu-pink-deep); font-weight:900;}
.contact_con02 .ryu-location-hours + .obser_box {margin-top:58px;}

@media (max-width:1024px) {
    .ryu-map-location-main {height:420px !important;}
    .ryu-map-footer {height:200px !important;}
    .contact_con02 .ryu-location-hours {max-width:820px; margin-top:38px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:96px minmax(170px, 1fr) 92px; column-gap:16px;}
}

@media (max-width:850px) {
    #main_customer .main_center {margin-top:34px !important; padding:0 30px !important;}
    #main_customer .ryu-hours-footer-panel {max-width:560px; margin:18px auto 0; text-align:left;}
    #main_customer .ryu-hours-footer-panel .ryu-hours-title:after {left:50%; margin-left:-17px;}
    #main_customer .ryu-hours-footer-panel .ryu-hours-title {text-align:center;}
    .ryu-map-footer {height:250px !important;}
}

@media (max-width:767px) {
    .ryu-map-location-main {height:340px !important; margin-top:14px;}
    .contact_con02 .ryu-location-hours {margin-top:30px;}
    .contact_con02 .ryu-location-hours-head {padding:23px 20px 18px;}
    .contact_con02 .ryu-location-hours h5 {font-size:22px;}
    .contact_con02 .ryu-location-hours .ryu-hours-list {padding:10px 18px 4px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:78px minmax(130px, 1fr) auto; column-gap:10px; min-height:48px; padding:4px 2px;}
    .contact_con02 .ryu-location-hours .ryu-hours-day,
    .contact_con02 .ryu-location-hours .ryu-hours-time {font-size:14px;}
    .contact_con02 .ryu-location-hours .ryu-hours-note {padding:13px 20px 18px;}
    #main_customer .ryu-hours-footer .ryu-hours-row {grid-template-columns:62px minmax(108px, 1fr) auto;}
    #main_customer .ryu-hours-footer-panel .ryu-night-badge {margin-left:0;}
}

@media (max-width:480px) {
    #main_customer .main_center {padding:0 18px !important;}
    #main_customer .ryu-hours-footer-panel {padding:16px 14px 14px;}
    #main_customer .ryu-hours-footer .ryu-hours-row {grid-template-columns:58px 1fr; row-gap:4px; min-height:40px; padding:6px 0;}
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge {grid-column:2; justify-self:start; margin:0;}
    #main_customer .ryu-hours-footer .ryu-hours-time {white-space:normal;}
    .ryu-map-location-main {height:290px !important;}
    .ryu-map-footer {height:230px !important;}
    .contact_con02 .ryu-location-hours .ryu-hours-list {padding:8px 14px 4px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:68px 1fr; row-gap:4px; min-height:52px; padding:7px 0;}
    .contact_con02 .ryu-location-hours .ryu-hours-night-row .ryu-night-badge {grid-column:2; justify-self:start; margin:0;}
    .contact_con02 .ryu-location-hours .ryu-hours-time {white-space:normal;}
    .contact_con02 .ryu-location-hours .ryu-hours-note {padding:12px 14px 16px;}
}

/* v1.0.10 FOOTER HOURS HEIGHT MATCH + LOCATION MAP RENDER HARDENED / RESPONSIVE PHP5.3 FINAL */
/* Footer clinic hours: remove the tall card treatment and return to the baseline footer rhythm. */
#main_customer .ryu-hours-footer-panel {
    margin-top:10px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
#main_customer .ryu-hours-footer-panel .ryu-hours-title {
    margin:0 0 6px;
    padding:0 0 7px;
    font-size:14px;
    line-height:1.15;
}
#main_customer .ryu-hours-footer-panel .ryu-hours-title:after {
    width:28px;
    height:2px;
}
#main_customer .ryu-hours-footer .ryu-hours-row {
    grid-template-columns:54px minmax(104px, 1fr) auto;
    column-gap:6px;
    min-height:25px;
    padding:1px 0;
    border-bottom:0;
}
#main_customer .ryu-hours-footer .ryu-hours-day,
#main_customer .ryu-hours-footer .ryu-hours-time {
    font-size:12.5px;
    line-height:1.25;
}
#main_customer .ryu-hours-footer-panel .ryu-night-badge {
    min-height:21px;
    padding:3px 8px;
    border-radius:11px;
    font-size:10.5px;
    line-height:1;
    box-shadow:0 2px 6px rgba(232,137,155,.22);
}
#main_customer .ryu-hours-footer-panel .ryu-hours-note {
    margin:4px 0 0;
    font-size:11px;
    line-height:1.3;
}

/* Keep the footer's three columns visually level. */
#main_customer .main_center > h3 {margin-bottom:6px;}
#main_customer .main_center > dl {margin-bottom:0;}
#main_customer .main_center > dl p {line-height:1.2;}

/* RoughMap: render at the live wrapper size and keep the actual map surface full-bleed. */
.ryu-map-box[data-ryu-map] {position:relative;}
.ryu-map-box[data-ryu-map] .root_daum_roughmap,
.ryu-map-box[data-ryu-map] .root_daum_roughmap_landing,
.ryu-map-box[data-ryu-map] .wrap_map,
.ryu-map-box[data-ryu-map] .wrap_map > div {max-width:none !important;}
.ryu-map-location-main {height:480px !important; margin-top:16px;}
.ryu-map-coordinate-only .wrap_map {height:100% !important;}
.ryu-map-coordinate-only .wrap_controllers,
.ryu-map-coordinate-only .section_address {display:none !important;}

/* Location page clinic hours: compact but still presentation-grade. */
.contact_con02 .ryu-location-hours {
    max-width:900px;
    margin:38px auto 0;
    box-shadow:0 8px 24px rgba(34,34,34,.035);
}
.contact_con02 .ryu-location-hours-head {padding:20px 28px 16px;}
.contact_con02 .ryu-location-hours-kicker {margin-bottom:4px;}
.contact_con02 .ryu-location-hours h5 {font-size:22px;}
.contact_con02 .ryu-location-hours .ryu-hours-list {padding:10px 28px 4px;}
.contact_con02 .ryu-location-hours .ryu-hours-row {
    grid-template-columns:96px minmax(170px, 1fr) 92px;
    column-gap:16px;
    min-height:43px;
    padding:3px 6px;
}
.contact_con02 .ryu-location-hours .ryu-hours-day,
.contact_con02 .ryu-location-hours .ryu-hours-time {font-size:14px;}
.contact_con02 .ryu-location-hours .ryu-night-badge {
    min-height:25px;
    padding:4px 11px;
    font-size:11px;
}
.contact_con02 .ryu-location-hours .ryu-hours-note {padding:10px 34px 14px; font-size:12px;}
.contact_con02 .ryu-location-hours + .obser_box {margin-top:46px;}

@media (max-width:1024px) {
    .ryu-map-location-main {height:400px !important;}
    .contact_con02 .ryu-location-hours {margin-top:32px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:90px minmax(155px, 1fr) 88px;}
}

@media (max-width:850px) {
    #main_customer .main_center {margin-top:26px !important;}
    #main_customer .ryu-hours-footer-panel {max-width:500px; margin-top:10px;}
    #main_customer .ryu-hours-footer-panel .ryu-hours-title {text-align:center;}
    #main_customer .ryu-hours-footer-panel .ryu-hours-title:after {left:50%; margin-left:-14px;}
}

@media (max-width:767px) {
    .ryu-map-location-main {height:330px !important; margin-top:12px;}
    .contact_con02 .ryu-location-hours {margin-top:26px;}
    .contact_con02 .ryu-location-hours-head {padding:17px 18px 13px;}
    .contact_con02 .ryu-location-hours h5 {font-size:20px;}
    .contact_con02 .ryu-location-hours .ryu-hours-list {padding:7px 16px 3px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {
        grid-template-columns:72px minmax(120px, 1fr) auto;
        column-gap:8px;
        min-height:39px;
        padding:2px 0;
    }
    .contact_con02 .ryu-location-hours .ryu-hours-day,
    .contact_con02 .ryu-location-hours .ryu-hours-time {font-size:13px;}
    .contact_con02 .ryu-location-hours .ryu-hours-note {padding:9px 18px 12px;}
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:54px minmax(103px, 1fr) auto;
        min-height:25px;
    }
}

@media (max-width:480px) {
    #main_customer .main_center {padding:0 18px !important;}
    #main_customer .ryu-hours-footer-panel {padding:0;}
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:50px minmax(96px, 1fr) auto;
        column-gap:5px;
        min-height:26px;
        padding:1px 0;
    }
    #main_customer .ryu-hours-footer .ryu-hours-day,
    #main_customer .ryu-hours-footer .ryu-hours-time {font-size:12px; white-space:nowrap;}
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge {
        grid-column:auto;
        justify-self:start;
        margin:0;
        padding:3px 7px;
        font-size:10px;
    }
    .ryu-map-location-main {height:285px !important;}
    .contact_con02 .ryu-location-hours .ryu-hours-list {padding:6px 12px 2px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {
        grid-template-columns:64px 1fr;
        row-gap:2px;
        min-height:43px;
        padding:4px 0;
    }
    .contact_con02 .ryu-location-hours .ryu-hours-night-row .ryu-night-badge {
        grid-column:2;
        justify-self:start;
        margin:0 0 2px;
    }
    .contact_con02 .ryu-location-hours .ryu-hours-time {white-space:normal;}
    .contact_con02 .ryu-location-hours .ryu-hours-note {padding:8px 12px 11px;}
}


/* v1.0.11 SUB01 DIRECTOR PHOTO SYNC / NO-CROP RESPONSIVE PHP5.3 FINAL */
/* sub01_1 uses the same verified director image as sub05_2; preserve the clean split layout without cropping. */
.diet_con02 .box.ryu-diet-clean .ryu-diet-director {
    right:52px;
    top:2px;
    width:39%;
    max-width:469px;
    height:auto;
    overflow:visible;
    background:transparent;
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
    position:static;
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center center;
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
}
@media (max-width:1200px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        right:34px;
        top:10px;
        width:38%;
        max-width:440px;
    }
}
@media (max-width:1000px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        position:relative;
        right:auto;
        top:auto;
        width:calc(100% - 68px);
        max-width:469px;
        height:auto;
        margin:0 auto 42px;
        overflow:visible;
        background:transparent;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
        width:100%;
        height:auto;
        object-fit:contain;
    }
}
@media (max-width:767px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        width:calc(100% - 56px);
        max-width:430px;
        margin-bottom:30px;
    }
}
@media (max-width:420px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        width:calc(100% - 40px);
        max-width:390px;
    }
}

/* v1.0.12 SUB04 + MEMBERSHIP BRAND TEXT CLEANUP / FULL LEGACY BRAND RESIDUAL QA / PHP5.3 FINAL */
/* Keep the original subpage layout while making the new RYU English labels cleaner on narrow screens. */
.diet_con03 .box .left_box .txt_box i,
.diet_con04 .box .left_box .txt_box i {
    letter-spacing:2px;
    line-height:1.45;
    word-break:keep-all;
    overflow-wrap:normal;
}
@media (max-width:767px) {
    .diet_con03 .box .left_box .txt_box i,
    .diet_con04 .box .left_box .txt_box i {
        letter-spacing:1px;
        line-height:1.4;
    }
}

/* v1.0.14 MOBILE GNB BRAND COLOR / WHITE TEXT / RESPONSIVE PHP5.3 FINAL */
/* Override the legacy purple mobile navigation only. Desktop GNB remains unchanged. */
@media (max-width:1023px) {
    #header .gnb,
    #header.on .gnb,
    #header.down .gnb {
        background:var(--ryu-pink) !important;
    }

    #header .gnb > ul,
    #header .gnb .depth1,
    #header .gnb .depth1 ul {
        background:transparent !important;
    }

    #header .gnb .depth1 {
        padding:0 !important;
        border-bottom:1px solid rgba(255,255,255,.22);
    }

    #header .gnb .depth1 > a,
    #header.on .gnb .depth1 > a,
    #header.down .gnb .depth1 > a,
    #header .gnb .depth2 > a,
    #header.on .gnb .depth2 > a,
    #header.down .gnb .depth2 > a,
    #header .gnb a {
        color:#fff !important;
    }

    #header .gnb .depth1 > a {
        display:block;
        width:100%;
        height:52px;
        line-height:52px;
        padding:0 25px;
        box-sizing:border-box;
        font-weight:700;
        letter-spacing:-.3px;
    }

    #header .gnb .depth1.on > a,
    #header .gnb .depth1:hover > a,
    #header .gnb .depth1:focus-within > a {
        background:rgba(255,255,255,.13) !important;
        color:#fff !important;
    }

    #header .gnb .depth2 > a {
        display:block;
        padding:9px 25px 9px 34px;
        line-height:1.45;
        font-weight:500;
        color:rgba(255,255,255,.94) !important;
    }

    #header .gnb .depth2 > a:hover,
    #header .gnb .depth2 > a:focus {
        color:#fff !important;
        background:rgba(255,255,255,.10) !important;
    }

    #header .gnb .gnb_empty,
    #header .gnb .gnb_empty a {
        color:#fff !important;
    }

    /* Legacy responsive.css used dark user-link text while mobile menu was open. */
    #header .user.on,
    #header .user.on li,
    #header .user.on a,
    #header .user a {
        color:#fff !important;
    }

    #header .btn_gnb.on,
    #header .btn_gnb.on i {
        color:#fff !important;
    }
}

@media (max-width:767px) {
    #header .gnb {width:250px;}
    #header .gnb .depth1 > a {
        height:50px;
        line-height:50px;
        padding-left:22px;
        padding-right:22px;
        font-size:16px;
    }
}

@media (max-width:420px) {
    #header .gnb {width:235px; right:-235px;}
    #header .gnb.on {right:0;}
    #header .gnb .depth1 > a {
        height:48px;
        line-height:48px;
        padding-left:20px;
        padding-right:20px;
        font-size:15px;
    }
}

/* v1.0.15 MOBILE FOOTER CONTACT FLOW / NO-OVERLAP / RESPONSIVE PHP5.3 FINAL */
/* The legacy theme fixes .main_left dl to 30px. On mobile the real clinic-info content
   is much taller, so the next column started before the content finished. Let the
   browser measure the real content height and keep normal section spacing. */
#main_customer .main_left dl {
    height:auto !important;
    min-height:0;
    overflow:visible;
}

@media screen and (max-width:850px) {
    #main_customer .inner {display:block;}
    #main_customer .main_left,
    #main_customer .main_center,
    #main_customer .main_right {
        display:block;
        width:100%;
        float:none;
        box-sizing:border-box;
        clear:both;
    }

    #main_customer .main_left {padding:0 24px;}
    #main_customer .main_left dl {margin:0; height:auto !important;}
    #main_customer .main_left dl p {
        margin:0 0 6px;
        line-height:1.45;
    }

    /* Normal document flow replaces the old 160px/26px compensating margins. */
    #main_customer .main_center {
        margin-top:30px !important;
        padding:0 24px !important;
    }
    #main_customer .main_center > h3 {
        margin:0 0 8px !important;
        padding:0 0 8px !important;
        line-height:1.2;
    }
    #main_customer .main_center > dl {
        margin:0 0 16px !important;
    }
    #main_customer .main_center > dl p {
        margin:0 !important;
        font-size:26px;
        line-height:1.15 !important;
        letter-spacing:-1px;
        white-space:nowrap;
    }
    #main_customer .ryu-hours-footer-panel {margin-top:16px;}
    #main_customer .main_right {margin-top:42px;}
}

@media screen and (max-width:480px) {
    #main_customer {padding:30px 0 24px;}
    #main_customer .main_left {padding:0 18px;}
    #main_customer .main_left p.bottom_logo {padding-bottom:16px;}
    #main_customer .main_left dl p {font-size:13px; margin-bottom:5px; line-height:1.4;}
    #main_customer .main_center {margin-top:26px !important; padding:0 18px !important;}
    #main_customer .main_center > dl {margin-bottom:14px !important;}
    #main_customer .main_center > dl p {font-size:24px; letter-spacing:-.8px;}
    #main_customer .ryu-hours-footer-panel {margin-top:14px;}
    #main_customer .main_right {margin-top:36px; padding:0 18px;}
}

@media screen and (max-width:360px) {
    #main_customer .main_center > dl p {font-size:22px;}
}
