/*==========================================================
                        C U S T O M
==========================================================*/
.under main .image_l{float:left;margin:0 40px 0 0}
.under main .image_r{float:right;margin:0 0 0 40px}
.under main section img:not(.img_nobd) {border-radius: 20px;}
/* MB */
.under main .mb10{margin-bottom:10px!important;}
.under main .mb15{margin-bottom:15px!important;}
.under main .mb20{margin-bottom:20px!important;}
.under main .mb25{margin-bottom:25px!important;}
.under main .mb30{margin-bottom:30px!important;}
.under main .mb40{margin-bottom:40px!important;}
.under main .mb50{margin-bottom:50px!important;}
.under main .mb60{margin-bottom:60px!important;}
.under main .mb70{margin-bottom:70px!important;}
.under main .mb80{margin-bottom:80px!important;}
.under main .mb90{margin-bottom:90px!important;}
.under main .mb100{margin-bottom:100px}
.under main .mb120{margin-bottom:120px}
.under main .mb150{margin-bottom:150px}

/* MT */
.under main .mt10{margin-top:10px}
.under main .mt15{margin-top:15px}
.under main .mt20{margin-top:20px}
.under main .mt25{margin-top:25px}
.under main .mt30{margin-top:30px}
.under main .mt40{margin-top:40px}
.under main .mt50{margin-top:50px}

/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6,
.under main .ovn_content h3,
.under main .ovn_content h4,
.under main .ovn_content h5,
.under main .ovn_content h6{font-weight: 500;margin-bottom: 32px;}

.under main h2{font-size: 24px;margin-bottom: 0;font-weight: 500;}
.under main h2 .small {background: var(--mcolor);color: #fff;text-align: center;border-radius: 30px;padding: 0px 18px 5px;}
.under main h2 .lager {display: block;font-size: 56px;line-height: 1.3em;font-weight: 700;margin-top: 13px;}
.under main h3,
.under main .ovn_content h3{font-size: 40px;}
.under main h3:first-letter {color: var(--mcolor);}

.under main h4,
.under main .ovn_content h4{font-size: 28px;color: var(--mcolor);margin-bottom: 27px;}

.under main h5,
.under main .ovn_content h5{font-size: 24px;background: var(--blue-dark);color: #fff;border-radius: 100px;padding: 12px 40px;}

.under main h6,
.under main .ovn_content h6{font-size: 20px;color: var(--blue-dark);border-bottom: 1px solid var(--blue-deep);padding: 0 10px 15px;margin: 0 0 21px;}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{background: #ecf4f9;word-break: break-word;}
.under main section {padding: 0 0 90px;}
.under main section:last-child {padding-bottom: 0;}
.under main .under_main_info > section{padding:80px 0;margin-bottom:0;position: relative;z-index: 2;}
.under main .under_main_info >  section:nth-of-type(2n):before {content: '';position: absolute;width: 100vw;min-width: 1260px;height: 100%;top: 0;left: calc(50% - 180px);transform: translateX(-50%);z-index: -3;pointer-events: none;background: var(--blue-powder);}
.under main section.under_pick {padding: 38px 0;}
/* LINK + BUTTON TOP */
.under main .link{text-decoration: underline;color: var(--mcolor);text-underline-offset: 3px;}

/*============ TOP INFO ============ */
.under main #top_info{height:410px;width:100%;margin:0 auto;background: var(--blue-deep);position: relative;z-index: 5;padding-top: 92px;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content: center;width:1430px;height:100%;text-align: left;}
.under main #top_info:after {content: '';position: absolute;width: 100%;background: url("../images/top_info_icon.svg") repeat-x left center/auto 100%;height: 71px;left: 39.7%;bottom: 5px;z-index: -2;pointer-events: none;}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:0}
.under main #topic_path ul{display:block;padding:10px 0}
.under main #topic_path li{display:inline;position: relative;}
.under main #topic_path li:not(:last-child)::after{content:"";position:relative;display: inline-block;margin: 0 10px 0 10px;top: -1px;pointer-events: none;background: url("../images/ic_arr_next.svg") no-repeat center center/100% auto;width: 7px;height: 10px;}
.under main #topic_path li a{color: var(--mcolor);text-underline-offset: 3px;}


/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 30px;}
.under main .list_anchor .btn{margin: 0 10px 15px}
.under main .list_anchor:last-child{margin-bottom: -15px;}


/*==========================================================
                        T A B L E
==========================================================*/
.under main table.td_top td{vertical-align:top}
.under main table.tb_fix{table-layout: fixed;}

.under main table{margin-bottom: 50px;border: 2px solid var(--mcolor)}
.under main table.mailform th,
.under main table th{background:#4a7aa5;color: #fff;font-weight:600;text-align: center;position: relative;}
.under main table.mailform th span{color:#fff}
.under main table.mailform td .info{color:var(--mcolor)}

.under main table td{background:#fff;}
.under main table th,
.under main table td{padding:9px 18px 10px;border-color: var(--mcolor);}
.under main table img{display:block;margin:auto;}
.under main table td:nth-child(2n) {background: #eeeeef;}
.under main table th.th_bg1 {background: var(--blue-sky);}
.under main .tb_scroll:not(:last-child) {margin-bottom: 50px;}

.under main table.tb_rowspan td {background: #fff;}
.under main table.tb_rowspan th ~ td:nth-of-type(1), .under main table.tb_rowspan td:first-of-type {background: #eeeeef;}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .ovn_content ul{margin-bottom: 30px;}
.under main .list01 > li,
.under main .ovn_content ul li{display:block;padding-left:21px;margin-bottom:10px;position:relative}
.under main .list01 > li::before,
.under main .ovn_content ul li::before{background:var(--blue-sky);width:10px;height:10px;position:absolute;top:11px;left:0;content:'';border-radius: 50%;}

.under main .list01.list_orange li:before {background: var(--yellow);}
/* LIST 02 */
.under main .list02,
.under main .ovn_content ol{margin-bottom: 30px;}
.under main .list02 > li,
.under main .ovn_content ol li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.under main .list02 > li::before,
.under main .ovn_content ol li::before{ content: counter(li);position: absolute;width: 22px;height: 22px;display: flex;justify-content: center;align-items: center;border-radius: 50%;left: 0; top: 4px; background-color: var(--mcolor);font-size: 12px;font-weight: bold;color: #FFF;line-height: 22px;}

/* LIST CHECK */
.under main .list_check{margin-bottom: 30px;}
.under main .list_check li{display:block;padding-left:25px;margin-bottom:5px;position:relative}
.under main .list_check li::before{content: ''; display: block; position: absolute; top: 5px; left: 5px; width: 7px; height: 15px; border: solid var(--mcolor); border-width: 0 2px 2px 0; transform: rotate(45deg);}

/* LIST FAQ */
.under main .list_faq{margin-bottom: 30px;}
.under main .list_faq dl{background: #FFF;padding: 30px 30px 32px;margin-bottom: 30px;border-radius: 20px;}
.under main .list_faq dt{position: relative;font-weight: 600;line-height: 1.5em;display: flex;align-items: center;align-items: flex-start;padding: 5px 30px 0 0;cursor: pointer;transition: all 0.3s;}
.under main .list_faq dt span:first-child, .under main .list_faq dd span:first-child{width: 30px;height: 30px;font-weight: 500;background: var(--mcolor);color: #fff;margin: -2px 18px 0 0;display: flex;align-items: center;justify-content: center;text-align: center;flex-shrink: 0;border-radius: 50%;line-height: 30px;padding: 0 0 4px;font-size: 20px;}
.under main .list_faq dd{position: relative;padding: 11px 0 0 48px;border-top: 1px solid #a3c6dc;padding-top: 15px;margin-top: 20px;display: none;}
.under main .list_faq dd span:first-child{background: var(--yellow);top: 22px;position: absolute;left: 0;}
.under main .list_faq dt:before, .under main .list_faq dt:after {content: '';position: absolute;background: var(--blue-steel);transition: all 0.3s;}
.under main .list_faq dt:before {width: 14px;height: 2px;right: 10px;top: calc(50% - 1px);}
.under main .list_faq dt:after {width: 2px;height: 14px;right: 16px;top: calc(50% - 7px);}
.under main .list_faq dt.active:after {transform: rotate(90deg);}

/* LIST STEP */
.under main .list_step dl{margin-bottom: 60px;background: #fff;border: 4px solid var(--blue-powder);border-radius: 20px;padding: 26px 26px 24px;position: relative;}
.under main .list_step dl:not(:last-child)::before{content: '';position: absolute;width: 200px;height: 60px;clip-path: polygon(0 0, 50% 100%, 100% 0);background: var(--blue-powder);top: calc(100% + 4px);left: 50%;transform: translateX(-50%);}
.under main .list_step dl:last-child{margin-bottom: 0}
.under main .list_step dt{font-weight: 500;font-size: 20px;display: flex;color: var(--blue-dark);margin: 0 0 22px;}
.under main .list_step dd{}
.under main .list_step dt .num {width: 110px;flex-shrink: 0;height: 40px;color: #fff;border-radius: 40px;font-size: 18px;text-align: center;text-transform: uppercase;background: var(--blue-sky);margin: 0 25px 0 0;}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{background: var(--blue-powder);border-radius: 20px;padding: 35px 40px;margin-bottom: 30px;}
.under main .frame01 > *:not(h6):not(h5){padding: 0 10px;}
/* FRAME PICKUP */
.under main .frame_pick{background: #fff;padding: 40px 50px;border-radius: 20px;}
.under main .frame_pick .pick_ttl{font-size: 28px;background: var(--yellow-gold);display: flex;border-radius: 100px;color: var(--blue-dark);font-weight: 500;line-height: 1.42em;padding: 10px 30px;margin: 0 0 22px;}
.under main .frame_pick .pick_ttl span{font-size: 30px;display: flex;color: var(--mcolor);align-items: center;border-right: 1px solid #fff;text-transform: uppercase;margin: 0 19px 0 0;padding: 0 16px 0 0;letter-spacing: 0.04em;flex-shrink: 0;}
.under main .frame_pick .pick_ttl span:before{content: '';position: relative;display: inline-block;background: url("../images/ic_pickup.svg") no-repeat center center/100% auto;width: 31px;height: 30px;margin: 0 9px 0 0;}
.under main .pick_main {padding: 0 10px;}
.under main .pick_main:not(:last-child) {margin-bottom: 30px;}

/* IFRAME BOX */
.under main .box_map{width:100%;height:400px}
.under main .box_ytb{width: 900px;height: auto; margin: 0 auto;aspect-ratio: 16/9;max-width: 100%;overflow: hidden;position: relative;line-height: 0;cursor: pointer;transition: all 0.3s;}
.under main .box_map iframe,
.under main .box_ytb iframe{width:100%;height:100%;border:none;outline: none;}


/* ===========  OVERNOTE ===========  */
.under main .list_ovn {display: flex;flex-wrap: wrap;margin: 50px auto 0;width: 1200px;max-width: 100%;}
.under main .list_ovn li {padding: 10px;margin-bottom: 15px;position: relative;margin: 0 20px 20px 0;width: calc((100% - 40px) / 3);border: 1px solid var(--mcolor);}
.under main .list_ovn li .img {width: 100%;height: auto;aspect-ratio: 3/2;display: flex;align-items: center;justify-content: center;background: #efefef;}
.under main .list_ovn li .img img {max-width: 100%;max-height: 100%;flex-shrink: 0;object-fit: cover;width: 100%;height: 100%;}
.under main .list_ovn li p {margin-bottom: 0;}
.under main .list_ovn li a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.under main .list_ovn .info_box {display: flex;justify-content: space-between;margin: 10px 0 15px;}
.under main .list_ovn .info_box .cate{padding: 0 15px;background: var(--mcolor);color: #fff;border-radius: 5px;}
.under main .list_ovn .big {max-width: 100%;overflow: hidden;text-overflow: ellipsis;max-height: 70px;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.under main .list_ovn li:hover {background: #fdf4e0;}

/* ===========  OVERNOTE DETAIL ===========  */
.under main .ovn_content p a {text-decoration: underline;color: var(--blue);}
.under main .ovn_content img {max-height: 500px;}
.under main .ovn_content ol li{list-style: none;}

.under main .btn_list .is_prev a {background-image: url('../images/ic_arr_blue_prev.svg');background-position: left 17px center;}
.under main .btn_list .is_none a {background: var(--mcolor);color: #fff;}

/* ===========  PAGINATION ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 30px auto 0}
.under main .pagination li {margin:5px}
.under main .pagination li a {width: 40px;height: 40px;text-align: center;border: 1px solid var(--mcolor);background: #fff;display: flex;color: var(--mcolor);justify-content: center;align-items: center;border-radius: 5px;}
.under main .pagination li:hover a, .under main .pagination li.active a {
background: var(--mcolor);color: #fff;}
.under main .pagination li.active a {pointer-events: none;}
.under main .pagination li.disabled {display: none}


.under main .under_main_info {padding-left: 360px;}
.under main #content .inner {width: 1460px;padding: 0 30px;}

.under_anc_ttl {background: var(--blue-sky);width: 72px;height: 40px;display: flex;justify-content: center;align-items: center;border-radius: 40px;color: #fff;font-weight: 500;position: relative;margin: 0 0 20px;}
.under_anc_ttl:after {content: '';position: absolute;width: 10px;height: 10px;clip-path: polygon(0 0, 100% 100%, 100% 0);background: var(--blue-sky);left: 17px;bottom: -10px;}
.under_anc_link a {display: block;color: #231815;background: url("../images/sec03_arr_blue.svg") no-repeat 14px center/7px auto #fff;position: relative;line-height: 1.6em;font-size: 15px;padding: 5px 10px 7px 30px;font-weight: 500;}
.under_anc_link li:not(:last-child) {margin-bottom: 10px;}
.under main .under_anc li.active a {background-color: var(--blue-powder);color: var(--blue-dark);}


.under main .btn .txt {color: var(--mcolor);display: block;margin: 0 0 8px;}
.under main .btn a {min-width: 400px;width: auto;min-height: 80px;display: inline-flex;padding: 10px 51px 14px;line-height: 1.5em;height: auto;}
.under main .list_anchor.case_cate .btn a {min-width: 100%;}
.under main .txt_over {overflow: hidden;}
.under main .txt_bg {display: inline-block;border: 1px solid var(--mcolor);padding: 5px 10px;margin: 5px 0;width: 100%;text-align: center;}

.under main .under_col {display: flex;border: 2px solid var(--mcolor);}
.under main .under_col dl {width: 50%;background: #eeeeef;}
.under main .under_col dl:not(:last-child) {border-right: 1px solid var(--mcolor);}
.under main .under_col dt {text-align: center;background: #4a7aa5;color: #fff;padding: 9px 18px 10px;font-weight: 500;border-bottom: 1px solid var(--mcolor);}
.under main .under_col dl:nth-child(1) dt {background: var(--blue-sky);}
.under main .under_col dl:nth-child(1) {background: #fff;}
.under main .under_col dd {padding: 21px 28px 26px;}

.under_cta {background: url("../images/under_cta_bg.png") top center #ecf4f9;padding: 100px 0 140px;}
.under_cta .idx_ttl {color: var(--blue-dark);}
.under_cta .idx_ttl .clr_2 {color: #4a7aa5;}
.under_cta .idx_ttl .small {background: #fff;color: var(--mcolor);font-weight: 600;}
.under_cta .cta_txt {background: #a3c6dc;}
.under main .doctor_name {display: block;}
.contact_bnr_btn {display: flex;justify-content: center;text-align: center;margin-bottom: 20px;}
.contact_bnr_btn >* {width: 400px;padding: 30px;border-radius: 20px;display: flex;justify-content: center;align-items: center;flex-direction: column;font-weight: 500;}
.contact_bnr_btn .cta_btn_tel {background: #fff;margin: 0;}
.contact_bnr_btn .cta_btn_line {background: var(--green);color: #fff;}
.contact_bnr_btn .cta_btn_line a {border: 2px solid #fff;margin-bottom: 10px;}
#contact.under main .under_main_info ,#case.under main .under_main_info , #p_404.under main .under_main_info {padding: 0;}
.contact_box_scroll {height: 230px;overflow: auto;}
.under main .list_anchor .btn.active a{background-color: var(--blue-steel);pointer-events: none;color: #fff;background-image: url("../images/ic_arr_white.svg");}
.case_list {display: flex;flex-wrap: wrap;}
.case_list li {width: calc((100% - 80px)/3);margin: 0 40px 40px 0;background: #fff;border-radius: 20px;padding: 30px;cursor: pointer;position: relative;transition: all 0.3s;display: flex;flex-direction: column;}
.case_list li:nth-child(3n) {margin-right: 0;}
.case_list .img {height: 250px;background: var(--blue-cyan);border-radius: 0;display: flex;justify-content: center;align-items: center;overflow: hidden;}
.case_list .img img {border-radius: 0;max-height: 100%;}
.info_box {display: flex;justify-content: space-between;align-items: center; margin-bottom: 10px;}
.info_box .date {margin: 0;font-weight: 500;}
.info_box .cate {background: var(--blue-sky);color: #fff;padding: 0 10px 2px;border-radius: 30px;min-width: 80px;text-align: center;}
.case_list .big {font-weight: 700;line-height: 1.5em;display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;margin-bottom: 20px;}
.case_btn {background: url("../images/ic_arr_white.svg") no-repeat right 10px center/12px auto var(--mcolor);color: #fff;margin: 0 0 0 auto;display: block;border-radius: 30px;padding: 3px 30px 5px;width: 150px;margin-top: auto;}
.case_list li > a {position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: 3;border-radius: 20px;}
.under main .list_anchor.case_cate {margin: 40px 0 60px;}
.ovn_content .info_box {justify-content: center;flex-direction: row-reverse;}
.ovn_content .info_box .date {margin-left: 20px;}
.ovn_img img {max-height: 500px;}
#case.under main .under_main_info > section:nth-of-type(2n):before {left: 50%;}
 .frame01 .ovn_img img {max-width: 500px;}
.ovn_content .frame01 > * {overflow: hidden;}
.under main .ovn_content .box_ytb iframe {}
.under main .box_ytb img {position: absolute;width: 100%;height: 100%;top: 0;left: 0;object-fit: cover;aspect-ratio: 16/9;border-radius: 0;max-height: none;max-width: none;transition: all 0.3s;pointer-events: none;}
.under main .box_ytb.open img {opacity: 0;visibility: hidden;}
.under main .box_ytb.open iframe {pointer-events: auto;visibility: visible;}
	.under main .btn_list > *  a {min-width: 100%;width: 100%;}
.youtube-player {display: block;overflow: hidden;position: relative;width: 100%;height: 100%;cursor: hand;cursor: pointer;display: block;}
.youtube-player >div{width: 100%;height: 100%;}
img.youtube-thumbnail {bottom: 0;display: block;left: 0;margin: auto;max-width: 100%;width: 100%;position: absolute;right: 0;top: 0;height: auto;}
div.youtube-play-btn {height: 100%;width: 100%;left: 0;top: 0;position: absolute;background: url("../images/ic_play.png") no-repeat center center;background-size: 72px 72px;}
.youtube-iframe {width: 100%;height: 100%;position: absolute;top: 0;left: 0;}
.under main section#contact_privicy {padding: 0 0 40px;}
.contact_box_scroll p:not(:last-child) {margin-bottom: 0.5em;}
.under main section p:not([class]) {overflow: hidden;}
.under main table.mailform {margin-bottom: 30px;}
.under main table.tb_none {border: none;}
.under main table.tb_none td {border: none;background: none;padding: 0;text-align: center;}
.under main table.tb_none td li {float: none;text-align: left;}
.under main table.tb_none td ol {text-align: center;}
.ft_info_map_btn.btn_tbl a {border-color: var(--mcolor);}
/* RESET */
.under main table:last-child,
.under main .list_faq:last-child,
.under main .list_faq dl:last-child,
.under main .list01:last-child,
.under main .list01 li:last-child,
.under main .list02:last-child,
.under main .list02 li:last-child,
.under main .list_check:last-child,
.under main .list_check li:last-child,
.under main .list_step:last-child,
.under main .list_step dl:last-child,
.under main section p:last-child,
.under main p:last-child,
.under main .frame01:last-child,
.under main .frame02:last-child,
.under main .frame_pick:last-child{margin-bottom: 0}