/*
 * RYU SUWON BRAND RESKIN
 * Version: v1.1.1 SUWON FINAL RECHECK / RESPONSIVE QA / PHP5.3 FINAL
 * Base: inet_0907.zip
 * Goal: preserve existing main/sub layout while applying RYU Suwon identity and supplied clinic information only.
 */
:root {
    --ryu-pink:#ff51da;
    --ryu-pink-deep:#e93fc4;
    --ryu-pink-soft:#ffe5f8;
    --ryu-pink-pale:#fff6fd;
    --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;}

/* v1.x MAIN SOFT HIGHLIGHT */
.main_con01 .highlight .highlight-bg,
.main_point02 .highlight .highlight-bg,
.main_point03 .highlight .highlight-bg {
    height:10px;
    background:#F4CFE7 !important;
}

@media all and (max-width:767px) {
    .main_con01 .highlight .highlight-bg,
    .main_point02 .highlight .highlight-bg,
    .main_point03 .highlight .highlight-bg {
        height:8px;
    }
}

.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: supplied Suwon director profile, 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;
}
#main_visual.ryu-main-visual .roll01 .roll_img {background-image:url(../img/visual01.jpg); background-position:center center;}
#main_visual.ryu-main-visual .roll02 .roll_img {background-image:url(../img/visual02.jpg); background-position:center center;}
#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);}
    #main_visual.ryu-main-visual .roll02 .roll_img {background-image:url(../img/visual02_m.jpg);}
    #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;}
}


/* v1.0.8 LOGO WORDMARK SCALE + DAUM ROUGHMAP + HOURS ALIGNMENT + SLIDE02 PHOTO */
/* Header/footer logo: Korean wordmark enlarged in image artwork; keep whole header mark compact. */
#header h1 {margin-top:28px;}
#header h1 img {width:182px; height:auto; max-height:none;}
.main_left p.bottom_logo {padding:0 0 18px; text-align:center;}
.main_left p.bottom_logo img {display:block; width:205px; height:auto; max-width:100%; margin:0 auto;}

/* Daum RoughMap responsive wrapper */
.ryu-map-box {position:relative; width:100%; overflow:hidden; background:#f7f7f7;}
.ryu-map-box .root_daum_roughmap,
.ryu-map-box .root_daum_roughmap_landing {width:100% !important; height:100% !important; max-width:none !important;}
.ryu-map-box .root_daum_roughmap .wrap_map {width:100% !important; height:100% !important;}
.ryu-map-box .root_daum_roughmap .wrap_controllers {width:100% !important;}

/* Clinic hours: aligned columns with compact night badge. */
.ryu-hours-list {width:100%; margin:0; padding:0;}
.ryu-hours-row {display:flex; align-items:center; min-height:31px; gap:8px; box-sizing:border-box;}
.ryu-hours-day {flex:0 0 68px; color:#333; font-weight:700; white-space:nowrap;}
.ryu-hours-time {flex:0 1 auto; min-width:0; color:#555; line-height:1.45;}
.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;}
.ryu-hours-note {margin:5px 0 0; color:#666; font-size:13px; line-height:1.45;}
#main_customer .main_center .ryu-hours-footer {margin-bottom:4px;}
#main_customer .main_center .ryu-hours-day,
#main_customer .main_center .ryu-hours-time {color:inherit;}

/* Location page hours card */
.contact_con02 .ryu-location-info {padding-top:28px;}
.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;}
.contact_con02 .ryu-location-hours h5 {margin:0 0 14px; color:#222; font-size:20px; line-height:1.3; font-weight:800;}
.contact_con02 .ryu-location-hours .ryu-hours-row {min-height:38px; border-bottom:1px solid #f1eeee;}
.contact_con02 .ryu-location-hours .ryu-hours-row:last-child {border-bottom:0;}
.contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:82px;}
.contact_con02 .ryu-location-hours .ryu-hours-note {margin-top:12px; color:#777;}

@media (max-width:1024px) {
    #header h1 img {width:172px;}
    .main_left p.bottom_logo img {width:192px;}
}

@media (max-width:767px) {
    #header h1 img {width:152px;}
    .main_left p.bottom_logo img {width:174px;}
    .ryu-hours-row {min-height:30px; gap:6px; flex-wrap:wrap;}
    .ryu-hours-day {flex:0 0 62px;}
    .ryu-hours-time {flex:1 1 calc(100% - 72px);}
    .ryu-night-badge {margin-left:68px;}
    .contact_con02 .ryu-location-info {padding-top:22px;}
    .contact_con02 .ryu-location-hours {margin-top:18px; padding:20px 18px;}
    .contact_con02 .ryu-location-hours h5 {font-size:18px;}
    .contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:70px;}
    .contact_con02 .ryu-location-hours .ryu-night-badge {margin-left:76px;}
}

@media (max-width:420px) {
    #header h1 img {width:142px;}
    .main_left p.bottom_logo img {width:164px;}
    .ryu-hours-day {flex-basis:58px;}
    .ryu-hours-time {flex-basis:calc(100% - 66px);}
    .ryu-night-badge {margin-left:64px; font-size:10.5px; padding:2px 8px;}
    .contact_con02 .ryu-location-hours {padding:18px 14px;}
    .contact_con02 .ryu-location-hours .ryu-hours-day {flex-basis:66px;}
    .contact_con02 .ryu-location-hours .ryu-night-badge {margin-left:72px;}
}

/* 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.1.0 SUWON IDENTITY / HOURS RESPONSIVE QA */
.ryu-profile-paper {margin-top:8px; padding-top:10px; border-top:1px solid var(--ryu-line);}
.ryu-profile-paper b {display:inline-block; margin-right:6px; color:var(--ryu-pink-deep);}
#main_customer .main_center .ryu-phone-sub {display:inline; margin:0; font-size:inherit; color:inherit;}
#main_customer .ryu-hours-footer .ryu-hours-lunch .ryu-hours-time,
.contact_con02 .ryu-location-hours .ryu-hours-lunch .ryu-hours-time {white-space:normal;}
@media (max-width:767px) {
    #main_customer .main_center .ryu-phone-sub {display:block; margin-top:3px;}
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:76px minmax(120px, 1fr) auto;}
}
@media (max-width:420px) {
    .ryu-profile-paper {margin-top:6px; padding-top:8px;}
    #main_customer .ryu-hours-footer .ryu-hours-row,
    .contact_con02 .ryu-location-hours .ryu-hours-row {grid-template-columns:64px minmax(0, 1fr);}
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge,
    .contact_con02 .ryu-location-hours .ryu-hours-night-row .ryu-night-badge {grid-column:2;}
}

/* v1.1.2 FOOTER ALIGNMENT / HEIGHT BALANCE / RESPONSIVE QA PHP5.3 FINAL
   Scope: footer customer area only. Keeps clinic content and functionality unchanged. */
#main_customer {
    padding:40px 0 38px;
}
#main_customer .inner {
    display:grid;
    grid-template-columns:minmax(210px, .78fr) minmax(300px, 1.08fr) minmax(330px, 1.34fr);
    column-gap:38px;
    align-items:start;
}
#main_customer .main_left,
#main_customer .main_center,
#main_customer .main_right {
    width:auto;
    min-width:0;
    margin:0;
    padding:0;
    float:none;
    display:block;
    text-align:left;
    box-sizing:border-box;
}

/* Left logo: lock the visual start line to the left edge of the information column. */
#main_customer .main_left p.bottom_logo {
    display:block;
    margin:0 0 16px;
    padding:0;
    text-align:left;
    line-height:1;
}
#main_customer .main_left p.bottom_logo img {
    display:block;
    width:180px;
    max-width:100%;
    height:auto;
    margin:0 auto 0 0;
}
#main_customer .main_left dl {
    height:auto;
    margin:0;
}
#main_customer .main_left dl p {
    margin:0 0 6px;
    line-height:1.45;
    word-break:keep-all;
}

/* Middle column: compact hours so its bottom line stays visually close to the map column. */
#main_customer .main_center > h3 {
    margin:0 0 6px;
    padding:0;
}
#main_customer .main_center > dl {
    margin:0;
}
#main_customer .main_center > dl p {
    margin:0;
    line-height:1.2;
}
#main_customer .ryu-hours-footer-panel {
    margin-top:12px;
}
#main_customer .ryu-hours-footer-panel .ryu-hours-title {
    margin:0 0 5px;
    padding:0 0 6px;
}
#main_customer .ryu-hours-footer .ryu-hours-row {
    grid-template-columns:52px minmax(100px, 1fr) auto;
    column-gap:6px;
    min-height:23px;
    padding:0;
}
#main_customer .ryu-hours-footer .ryu-hours-day,
#main_customer .ryu-hours-footer .ryu-hours-time {
    font-size:12px;
    line-height:1.2;
}
#main_customer .ryu-hours-footer-panel .ryu-night-badge {
    min-height:19px;
    padding:3px 7px;
    border-radius:10px;
    font-size:10px;
}

/* Right column: keep heading, address and map on the same top baseline as the other columns. */
#main_customer .main_right > h3 {
    margin:0;
}
#main_customer .main_right > p {
    margin:0;
}
#main_customer .ryu-map-footer {
    height:166px !important;
    margin-top:8px;
}

/* Tablet: two balanced columns, location spans the next row. */
@media (max-width:1024px) {
    #main_customer {
        padding:34px 0 32px;
    }
    #main_customer .inner {
        display:grid;
        grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
        gap:30px 34px;
        align-items:start;
    }
    #main_customer .main_left,
    #main_customer .main_center,
    #main_customer .main_right {
        width:auto;
        margin:0 !important;
        padding:0 !important;
        text-align:left;
    }
    #main_customer .main_right {
        grid-column:1 / -1;
    }
    #main_customer .ryu-hours-footer-panel {
        max-width:none;
        margin:12px 0 0;
    }
    #main_customer .ryu-hours-footer-panel .ryu-hours-title {
        text-align:left;
    }
    #main_customer .ryu-hours-footer-panel .ryu-hours-title:after {
        left:0;
        margin-left:0;
    }
    #main_customer .ryu-map-footer {
        height:220px !important;
    }
}

/* Mobile: one clear vertical flow, all content shares the same left edge. */
@media (max-width:767px) {
    #main_customer {
        padding:28px 0 26px;
        text-align:left;
    }
    #main_customer .inner {
        display:grid;
        grid-template-columns:1fr;
        gap:26px;
    }
    #main_customer .main_left,
    #main_customer .main_center,
    #main_customer .main_right {
        grid-column:auto;
        margin:0 !important;
        padding:0 20px !important;
        text-align:left;
    }
    #main_customer .main_left p.bottom_logo {
        margin-bottom:14px;
    }
    #main_customer .main_left p.bottom_logo img {
        width:165px;
    }
    #main_customer .main_center .ryu-phone-sub {
        display:block;
        margin-top:3px;
    }
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:58px minmax(0, 1fr) auto;
        min-height:24px;
    }
    #main_customer .ryu-hours-footer-panel .ryu-hours-title {
        text-align:left;
    }
    #main_customer .ryu-hours-footer-panel .ryu-hours-title:after {
        left:0;
        margin-left:0;
    }
    #main_customer .ryu-map-footer {
        height:210px !important;
    }
}

@media (max-width:420px) {
    #main_customer .inner {
        gap:22px;
    }
    #main_customer .main_left,
    #main_customer .main_center,
    #main_customer .main_right {
        padding:0 16px !important;
    }
    #main_customer .main_left p.bottom_logo img {
        width:155px;
    }
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:56px minmax(0, 1fr);
        row-gap:2px;
        min-height:27px;
        padding:1px 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;
    }
    #main_customer .ryu-map-footer {
        height:190px !important;
    }
}

/* v1.1.3 MOBILE GNB BRAND COLOR / MENU TEXT / FOOTER PHONE WRAP QA PHP5.3 FINAL
   Scope: mobile navigation visual system and footer phone readability only. */
@media (max-width:1023px) {
    /* Replace legacy purple mobile drawer with the Suwon brand pink family. */
    #header .gnb {
        width:276px;
        right:-276px;
        padding:64px 0 28px;
        background:#e93fc4;
        box-shadow:-12px 0 28px rgba(92, 32, 79, .18);
        box-sizing:border-box;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
    }
    #header .gnb.on {right:0;}
    #header .gnb > ul {margin:0; padding:0 18px;}
    #header .gnb .depth1 {
        padding:0;
        border-bottom:1px solid rgba(255,255,255,.18);
    }
    #header .gnb .depth1:first-child {border-top:1px solid rgba(255,255,255,.18);}
    #header .gnb .depth1 > a,
    #header.down .gnb .depth1 > a,
    #header.on .gnb .depth1 > a {
        display:flex;
        align-items:center;
        min-height:52px;
        height:auto;
        padding:13px 8px;
        color:#fff !important;
        font-size:16px;
        font-weight:700;
        line-height:1.35;
        letter-spacing:-.35px;
        white-space:normal;
        word-break:keep-all;
        overflow-wrap:normal;
        box-sizing:border-box;
    }
    #header .gnb .depth1.on > a,
    #header .gnb .depth1 > a:hover,
    #header .gnb .depth1 > a:focus {
        color:#fff !important;
        background:rgba(255,255,255,.10);
        border-radius:7px;
    }
    #header .gnb .depth2 > a,
    #header.down .gnb .depth2 > a,
    #header.on .gnb .depth2 > a {
        color:rgba(255,255,255,.94) !important;
        font-size:14px;
        font-weight:500;
        line-height:1.4;
        letter-spacing:-.25px;
        white-space:normal;
        word-break:keep-all;
        overflow-wrap:normal;
    }
    #header .btn_gnb.on {color:#fff !important;}
}

/* Phone numbers must remain intact as number units. */
#main_customer .ryu-contact-phone span,
#main_customer .ryu-phone-primary,
#main_customer .ryu-phone-sub {
    white-space:nowrap;
    word-break:keep-all;
    font-variant-numeric:tabular-nums;
}
#main_customer .ryu-phone-line {white-space:normal;}
#main_customer .ryu-phone-sep {white-space:pre;}

@media (max-width:767px) {
    #header .gnb {
        width:270px;
        right:-270px;
        padding-top:58px;
    }
    #header .gnb > ul {padding:0 16px;}
    #header .gnb .depth1 > a,
    #header.down .gnb .depth1 > a,
    #header.on .gnb .depth1 > a {
        min-height:50px;
        padding:12px 7px;
        font-size:15px;
    }
    #main_customer .ryu-phone-line {
        display:block;
        line-height:1.35;
    }
    #main_customer .ryu-phone-primary,
    #main_customer .ryu-phone-sub {
        display:block;
        width:max-content;
        max-width:100%;
        margin:0;
    }
    #main_customer .ryu-phone-sub {margin-top:3px;}
    #main_customer .ryu-phone-sep {display:none;}
    #main_customer .ryu-contact-phone {
        line-height:1.45;
    }
    #main_customer .ryu-contact-phone > span {
        display:inline-block;
    }
}

@media (max-width:420px) {
    #header .gnb {
        width:252px;
        right:-252px;
    }
    #header .gnb > ul {padding:0 14px;}
    #header .gnb .depth1 > a,
    #header.down .gnb .depth1 > a,
    #header.on .gnb .depth1 > a {
        min-height:48px;
        padding:11px 6px;
        font-size:14px;
        letter-spacing:-.3px;
    }
    #main_customer .ryu-contact-phone .ryu-contact-phone-sub {
        display:block;
        margin-top:2px;
    }
}


/* v1.1.4 SUB DIRECTOR PHOTO CARD / SOFT PINK FRAME / RESPONSIVE QA PHP5.3 FINAL */
/* Scope: sub/sub01_1.php + sub/sub05_2.php only. Keep source image/content/layout; upgrade photo presentation. */

/* sub01_1 - director visual card */
.diet_con02 .box.ryu-diet-clean .ryu-diet-director {
    box-sizing:border-box;
    padding:18px;
    overflow:hidden;
    background:linear-gradient(145deg, #fff7fd 0%, #ffe7f8 100%);
    border:1px solid rgba(233,63,196,.12);
    border-radius:30px;
    box-shadow:0 18px 44px rgba(80,38,69,.10);
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director:before {
    content:'';
    position:absolute;
    z-index:0;
    right:-58px;
    top:-58px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(255,81,218,.10);
    pointer-events:none;
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director br {display:none;}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
    position:relative;
    z-index:1;
    width:100%;
    height:auto;
    border-radius:21px;
    box-shadow:0 8px 24px rgba(54,34,50,.08);
}

/* sub05_2 - profile photo card */
.ryu-doctor-con li .img {
    position:relative;
    box-sizing:border-box;
    padding:22px;
    overflow:hidden;
    background:linear-gradient(145deg, #fff7fd 0%, #ffe6f8 100%);
    border:1px solid rgba(233,63,196,.12);
    border-radius:32px;
    box-shadow:0 20px 48px rgba(80,38,69,.11);
    text-align:center;
}
.ryu-doctor-con li .img:before,
.ryu-doctor-con li .img:after {
    content:'';
    position:absolute;
    pointer-events:none;
    border-radius:50%;
}
.ryu-doctor-con li .img:before {
    right:-54px;
    top:-58px;
    width:150px;
    height:150px;
    background:rgba(255,81,218,.11);
}
.ryu-doctor-con li .img:after {
    left:-38px;
    bottom:-42px;
    width:100px;
    height:100px;
    background:rgba(233,63,196,.07);
}
.ryu-doctor-con li .img img {
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto;
    border-radius:22px;
    box-shadow:0 9px 26px rgba(54,34,50,.09);
}

@media (max-width:1200px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {padding:16px; border-radius:27px;}
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:19px;}
    .ryu-doctor-con li .img {padding:19px; border-radius:29px;}
    .ryu-doctor-con li .img img {border-radius:20px;}
}

@media (max-width:1000px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        padding:18px;
        border-radius:28px;
        box-shadow:0 14px 34px rgba(80,38,69,.09);
    }
    .ryu-doctor-con li .img {
        width:100%;
        max-width:500px;
        margin:24px auto 0;
        padding:20px;
        border-radius:30px;
    }
}

@media (max-width:767px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        padding:14px;
        border-radius:23px;
        box-shadow:0 12px 28px rgba(80,38,69,.09);
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:17px;}
    .ryu-doctor-con li .img {
        max-width:430px;
        margin-top:20px;
        padding:14px;
        border-radius:24px;
        box-shadow:0 13px 30px rgba(80,38,69,.09);
    }
    .ryu-doctor-con li .img img {border-radius:18px;}
}

@media (max-width:420px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        padding:11px;
        border-radius:20px;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:15px;}
    .ryu-doctor-con li .img {
        width:calc(100% - 12px);
        padding:11px;
        border-radius:21px;
    }
    .ryu-doctor-con li .img img {border-radius:16px;}
}

/* v1.1.5 SUB01 DIRECTOR FRAME ALIGN / HOURS 09:30 SYNC / RESPONSIVE QA PHP5.3 FINAL */
/* Scope: sub/sub01_1.php photo frame alignment only. sub05_2 profile card remains v1.1.4. */
.diet_con02 .box.ryu-diet-clean .ryu-diet-director {
    top:40px;
    box-sizing:border-box;
    padding:9px;
    overflow:hidden;
    background:#fff5fc;
    border:1px solid rgba(233,63,196,.08);
    border-radius:24px;
    box-shadow:0 12px 32px rgba(73,42,66,.08);
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director:before {display:none;}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director br {display:none;}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0;
    border-radius:18px;
    box-shadow:none;
}
@media (max-width:1200px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        top:32px;
        padding:9px;
        border-radius:22px;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:17px;}
}
@media (max-width:1000px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        position:relative;
        top:auto;
        right:auto;
        width:calc(100% - 44px);
        max-width:560px;
        margin:22px auto 30px;
        padding:10px;
        border-radius:22px;
        box-shadow:0 10px 26px rgba(73,42,66,.07);
    }
}
@media (max-width:767px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        width:calc(100% - 32px);
        margin:18px auto 26px;
        padding:8px;
        border-radius:19px;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:14px;}
}
@media (max-width:420px) {
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director {
        width:calc(100% - 24px);
        margin:16px auto 22px;
        padding:7px;
        border-radius:17px;
    }
    .diet_con02 .box.ryu-diet-clean .ryu-diet-director img {border-radius:12px;}
}

/* v1.1.6 SUB01 IMAGE OFFSET FIX / FOOTER PHONE SCALE / NIGHT BADGE ALIGN / RESPONSIVE QA PHP5.3 FINAL */
/* Scope: CSS only. Fix legacy left:50% residue on sub01 director image and rebalance footer typography/grid. */

/* sub01_1: fully reset legacy image positioning so photo and soft frame share one axis. */
.diet_con02 .box.ryu-diet-clean .ryu-diet-director {
    height:auto;
    overflow:hidden;
}
.diet_con02 .box.ryu-diet-clean .ryu-diet-director img {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0;
    object-fit:contain;
    object-position:center top;
    transform:none !important;
}

/* Footer phone: keep emphasis without overpowering the clinic-hours/location columns. */
#main_customer .main_center .ryu-phone-line {
    margin:0;
    font-size:20px !important;
    font-weight:700;
    line-height:1.25 !important;
    letter-spacing:-.45px;
    color:#222;
}
#main_customer .main_center .ryu-phone-primary,
#main_customer .main_center .ryu-phone-sub {
    font-size:inherit;
    font-weight:inherit;
    line-height:inherit;
}

/* Desktop/tablet: place the night badge immediately after the time instead of at the far edge. */
@media (min-width:768px) {
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:52px 106px max-content;
        column-gap:8px;
        justify-content:start;
    }
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge {
        justify-self:start;
        margin-left:0;
    }
}

@media (max-width:1024px) {
    #main_customer .main_center .ryu-phone-line {
        font-size:19px !important;
        letter-spacing:-.35px;
    }
}

@media (max-width:767px) {
    #main_customer .main_center .ryu-phone-line {
        font-size:18px !important;
        line-height:1.35 !important;
        letter-spacing:-.25px;
    }
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:58px minmax(105px, max-content) max-content;
        column-gap:7px;
        justify-content:start;
    }
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge {
        justify-self:start;
        margin-left:0;
    }
}

@media (max-width:520px) {
    #main_customer .ryu-hours-footer .ryu-hours-row {
        grid-template-columns:56px minmax(0, 1fr);
        row-gap:3px;
    }
    #main_customer .ryu-hours-footer .ryu-hours-night-row .ryu-night-badge {
        grid-column:2;
        justify-self:start;
        margin:0;
    }
}

@media (max-width:420px) {
    #main_customer .main_center .ryu-phone-line {
        font-size:17px !important;
        letter-spacing:-.2px;
    }
}


/* v1.1.7 SUWON CLINIC TOUR / 7 PHOTO UPDATE / RESPONSIVE QA PHP5.3 FINAL */
/* Scope: sub/sub05_1.php clinic-tour presentation only. */
.tour_con01 .inner {
    max-width:1200px;
    margin:0 auto;
}
.tour_con01 .img_box {
    overflow:hidden;
    background:#fff7fd;
    border:1px solid rgba(233,63,196,.11);
    border-radius:26px;
    box-shadow:0 18px 46px rgba(65,35,57,.09);
}
.tour_con01 .img_box li,
.tour_con01 .img_box .swiper-slide {
    overflow:hidden;
    background:#fff7fd;
}
.tour_con01 .img_box .swiper-slide > img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    object-fit:cover;
    margin:0;
}
.tour_con01 .img_box span.arrow {
    top:50% !important;
    width:54px;
    height:78px;
    margin-top:-39px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.88);
    box-shadow:0 6px 22px rgba(42,28,38,.10);
    transition:background .2s ease, opacity .2s ease;
}
.tour_con01 .img_box span.arrow.prev {
    left:14px;
    border-radius:0 16px 16px 0;
}
.tour_con01 .img_box span.arrow.next {
    right:14px;
    border-radius:16px 0 0 16px;
}
.tour_con01 .img_box span.arrow:hover {background:#fff;}
.tour_con01 .img_box span.arrow img {
    width:auto !important;
    max-width:20px;
    max-height:34px !important;
}
.tour_con01 .thumb_box {
    margin-top:18px;
    padding:3px 2px 6px;
}
.tour_con01 .thumb_box li {
    box-sizing:border-box;
    overflow:hidden;
    background:#fff;
    border:2px solid transparent;
    border-radius:13px;
    cursor:pointer;
    transition:border-color .2s ease, transform .2s ease, opacity .2s ease;
}
.tour_con01 .thumb_box img {
    display:block;
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    opacity:.50;
    border-radius:10px;
}
.tour_con01 .thumb_box li.swiper-slide-thumb-active {
    border-color:rgba(255,81,218,.65);
    transform:translateY(-2px);
}
.tour_con01 .thumb_box li.swiper-slide-thumb-active img {opacity:1;}

@media (max-width:1000px) {
    .tour_con01 {padding:0 20px 42px;}
    .tour_con01 .img_box {border-radius:22px;}
    .tour_con01 .img_box span.arrow {width:46px;height:68px;margin-top:-34px;}
    .tour_con01 .img_box span.arrow.prev {left:8px;}
    .tour_con01 .img_box span.arrow.next {right:8px;}
    .tour_con01 .thumb_box {margin-top:14px;}
}
@media (max-width:767px) {
    .tour_con01 {padding:0 14px 34px;}
    .tour_con01 .img_box {border-radius:18px;box-shadow:0 12px 30px rgba(65,35,57,.08);}
    .tour_con01 .img_box span.arrow {width:38px;height:58px;margin-top:-29px;}
    .tour_con01 .img_box span.arrow.prev {left:5px;border-radius:0 12px 12px 0;}
    .tour_con01 .img_box span.arrow.next {right:5px;border-radius:12px 0 0 12px;}
    .tour_con01 .img_box span.arrow img {max-width:15px;max-height:27px !important;}
    .tour_con01 .thumb_box {margin-top:10px;}
    .tour_con01 .thumb_box li {border-radius:10px;}
    .tour_con01 .thumb_box img {border-radius:8px;}
}
@media (max-width:420px) {
    .tour_con01 {padding-left:10px;padding-right:10px;}
    .tour_con01 .img_box {border-radius:15px;}
    .tour_con01 .img_box span.arrow {width:32px;height:50px;margin-top:-25px;}
}

/* v1.1.9 MAIN HERO DENSITY / COPY REFINEMENT / TANGYAK SLIDE RESTORE / RESPONSIVE QA PHP5.3 FINAL */
/* 1/2: premium composite. 3: restore the existing tangyak image from 0910 source. */
#main_visual.ryu-main-visual {
    background:#fff7fb;
}
#main_visual.ryu-main-visual .roll_img {
    background-size:cover;
    background-position:center center;
    animation:ryuHeroScale119 5.4s ease-out infinite;
    -webkit-animation:ryuHeroScale119 5.4s ease-out infinite;
    -moz-animation:ryuHeroScale119 5.4s ease-out infinite;
    transform-origin:center center;
}
@keyframes ryuHeroScale119 {
    0% {transform:scale(1.035) rotate(.001deg);}
    100% {transform:scale(1) rotate(.001deg);}
}
@-webkit-keyframes ryuHeroScale119 {
    0% {-webkit-transform:scale(1.035);}
    100% {-webkit-transform:scale(1);}
}

/* Rose-tinted glass masks: improve contrast without creating a white block. */
#main_visual.ryu-main-visual .ryu-visual-mask {
    width:48%;
    height:68%;
    left:26%;
    bottom:0;
    background:radial-gradient(ellipse at 50% 68%, rgba(255,245,249,.90) 0%, rgba(249,220,233,.76) 38%, rgba(249,220,233,.34) 68%, rgba(249,220,233,0) 100%);
}
#main_visual.ryu-main-visual .roll02 .ryu-visual-mask,
#main_visual.ryu-main-visual .roll03 .ryu-visual-mask {
    left:0;
    width:60%;
    background:linear-gradient(90deg, rgba(255,247,250,.94) 0%, rgba(249,225,236,.84) 48%, rgba(249,225,236,.38) 78%, rgba(249,225,236,0) 100%);
}

/* Copy blocks: denser hierarchy and stronger contrast. */
#main_visual.ryu-main-visual .ryu-visual-text {
    padding-bottom:80px;
}
#main_visual.ryu-main-visual .roll01 .ryu-visual-text {
    padding-left:300px;
}
#main_visual.ryu-main-visual .ryu-visual-text h2 {
    position:relative;
    margin-bottom:16px;
    color:#b9647d !important;
    font-size:13px;
    letter-spacing:3.6px;
    font-weight:800;
}
#main_visual.ryu-main-visual .ryu-visual-text h2:after {
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:13px;
    background:#cf8499;
}
#main_visual.ryu-main-visual .ryu-visual-text p {
    max-width:470px;
    color:#2b2728 !important;
    font-size:42px;
    line-height:1.20;
    letter-spacing:-1.8px;
    font-weight:800;
    text-shadow:0 1px 0 rgba(255,255,255,.38);
}
#main_visual.ryu-main-visual .ryu-visual-text span {
    max-width:470px;
    margin-top:14px;
    color:#474043 !important;
    font-size:16px;
    line-height:1.62;
    letter-spacing:-.35px;
    font-weight:600;
    text-shadow:0 1px 0 rgba(255,255,255,.28);
}
#main_visual.ryu-main-visual .bx-controls {bottom:27px;}
#main_visual.ryu-main-visual .bx-pager a {background:rgba(174,123,140,.26);}
#main_visual.ryu-main-visual .bx-pager a.active {background:#cc7891;}

@media (max-width:1260px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {padding-left:25%;}
    #main_visual.ryu-main-visual .ryu-visual-text {padding-bottom:74px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:37px;max-width:440px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {max-width:440px;}
    #main_visual.ryu-main-visual .ryu-visual-mask {left:23%;width:53%;}
}

@media (max-width:1023px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {padding-left:27%;padding-right:5%;}
    #main_visual.ryu-main-visual .ryu-visual-text {padding-bottom:66px;}
    #main_visual.ryu-main-visual .ryu-visual-text h2 {font-size:11px;letter-spacing:2.7px;margin-bottom:13px;}
    #main_visual.ryu-main-visual .ryu-visual-text h2:after {width:42px;margin-top:10px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:31px;max-width:400px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {font-size:14px;max-width:410px;}
    #main_visual.ryu-main-visual .roll02 .ryu-visual-mask,
    #main_visual.ryu-main-visual .roll03 .ryu-visual-mask {width:68%;}
}

@media (max-width:800px) {
    #main_visual.ryu-main-visual {height:520px;}
    #main_visual.ryu-main-visual .roll_img {
        background-size:cover;
        background-position:center top;
        animation:ryuHeroScale119Mobile 5.4s ease-out infinite;
        -webkit-animation:ryuHeroScale119Mobile 5.4s ease-out infinite;
    }
    @keyframes ryuHeroScale119Mobile {
        0% {transform:scale(1.018) rotate(.001deg);}
        100% {transform:scale(1) rotate(.001deg);}
    }
    @-webkit-keyframes ryuHeroScale119Mobile {
        0% {-webkit-transform:scale(1.018);}
        100% {-webkit-transform:scale(1);}
    }
    #main_visual.ryu-main-visual .ryu-visual-mask,
    #main_visual.ryu-main-visual .roll02 .ryu-visual-mask,
    #main_visual.ryu-main-visual .roll03 .ryu-visual-mask {
        left:0;
        width:100%;
        height:58%;
        background:linear-gradient(180deg, rgba(255,244,249,0) 0%, rgba(255,240,247,.18) 18%, rgba(249,224,235,.78) 58%, rgba(255,247,250,.96) 100%);
    }
    #main_visual.ryu-main-visual .ryu-visual-text,
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {
        justify-content:flex-end;
        align-items:flex-start;
        padding:0 7% 62px;
    }
    #main_visual.ryu-main-visual .ryu-visual-text h2 {font-size:10px;letter-spacing:2px;margin-bottom:10px;}
    #main_visual.ryu-main-visual .ryu-visual-text h2:after {width:36px;margin-top:8px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {max-width:94%;font-size:26px;line-height:1.20;letter-spacing:-1px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {max-width:94%;margin-top:9px;font-size:12.5px;line-height:1.5;}
    #main_visual.ryu-main-visual .bx-controls {bottom:16px;}
}

@media (max-width:480px) {
    #main_visual.ryu-main-visual {height:470px;}
    #main_visual.ryu-main-visual .ryu-visual-text,
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {padding:0 6.5% 55px;}
    #main_visual.ryu-main-visual .ryu-visual-text p {font-size:23px;}
    #main_visual.ryu-main-visual .ryu-visual-text span {font-size:12px;}
}

@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.2.0 MAIN HERO SUBJECT ALIGN / CLARITY / RESPONSIVE QA PHP5.3 FINAL */
/* 1/2 images rebuilt for a denser, clearer subject composition. Slide 3 tangyak remains unchanged. */
#main_visual.ryu-main-visual .roll01 .ryu-visual-mask {
    left:30%;
    width:37%;
    height:72%;
    background:radial-gradient(ellipse at 48% 68%, rgba(255,244,249,.78) 0%, rgba(250,222,235,.58) 42%, rgba(250,222,235,.18) 72%, rgba(250,222,235,0) 100%);
}
#main_visual.ryu-main-visual .roll02 .ryu-visual-mask {
    left:0;
    width:52%;
    background:linear-gradient(90deg, rgba(255,247,250,.88) 0%, rgba(249,225,236,.70) 52%, rgba(249,225,236,.18) 84%, rgba(249,225,236,0) 100%);
}
#main_visual.ryu-main-visual .roll01 .ryu-visual-text {
    padding-left:26%;
}
#main_visual.ryu-main-visual .roll02 .ryu-visual-text {
    padding-left:8.5%;
}
#main_visual.ryu-main-visual .ryu-visual-text p {color:#272224 !important;}
#main_visual.ryu-main-visual .ryu-visual-text span {color:#40383b !important;}

@media (max-width:1260px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {padding-left:24%;}
    #main_visual.ryu-main-visual .roll02 .ryu-visual-text {padding-left:7%;}
    #main_visual.ryu-main-visual .roll01 .ryu-visual-mask {left:26%;width:44%;}
}
@media (max-width:1023px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text {padding-left:22%;padding-right:4%;}
    #main_visual.ryu-main-visual .roll02 .ryu-visual-text {padding-left:6%;padding-right:44%;}
    #main_visual.ryu-main-visual .roll01 .ryu-visual-mask {left:22%;width:50%;}
    #main_visual.ryu-main-visual .roll02 .ryu-visual-mask {width:58%;}
}
@media (max-width:800px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-mask,
    #main_visual.ryu-main-visual .roll02 .ryu-visual-mask {
        left:0;
        width:100%;
        height:56%;
        background:linear-gradient(180deg, rgba(255,241,248,0) 0%, rgba(255,241,248,.10) 18%, rgba(249,224,235,.64) 60%, rgba(255,247,250,.92) 100%);
    }
    #main_visual.ryu-main-visual .roll01 .ryu-visual-text,
    #main_visual.ryu-main-visual .roll02 .ryu-visual-text {
        padding:0 7% 60px;
    }
}

/* v1.2.2 MOBILE HERO 01 FACE SAFE / RESPONSIVE QA PHP5.3 FINAL */
@media (max-width:800px) {
    #main_visual.ryu-main-visual .roll01 .roll_img {
        background-position:center top;
    }
    #main_visual.ryu-main-visual .roll01 .ryu-visual-mask {
        height:52%;
        background:linear-gradient(180deg, rgba(255,241,248,0) 0%, rgba(255,241,248,.08) 22%, rgba(249,224,235,.58) 62%, rgba(255,247,250,.90) 100%);
    }
}
@media (max-width:480px) {
    #main_visual.ryu-main-visual .roll01 .ryu-visual-mask {
        height:50%;
    }
}
