/*==========================================================
                        C U S T O M
==========================================================*/
.under main .image_l{float:left;margin:0 50px 0 0}
.under main .image_r{float:right;margin:0 0 0 50px}

/* MB */
.under main .mb10{margin-bottom:10px}
.under main .mb15{margin-bottom:15px}
.under main .mb20{margin-bottom:20px}
.under main .mb25{margin-bottom:25px}
.under main .mb30{margin-bottom:30px}
.under main .mb40{margin-bottom:40px}
.under main .mb50{margin-bottom:50px}
.under main .mb60{margin-bottom:60px}
.under main .mb70{margin-bottom:70px}
.under main .mb80{margin-bottom:80px}
.under main .mb90{margin-bottom:90px}
.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: bold;margin-bottom: 30px;}

.under main h2{font-size: 26px; text-align: center;background: var(--mcolor);color: #fff;padding: 14px 24px;border-radius: 10px;margin: 0 0 40px;letter-spacing: 0.05em;}

.under main h3:not(.sec06_doctor),.under main .ovn_content h3{font-size: 24px;background: url("../images/under_h3_line.png") repeat-x bottom left/auto 3px;letter-spacing: 0.05em; padding: 0 0 12px;}

.under main h4:not(.sec06_grap_ttl),.under main .ovn_content h4{font-size: 22px;position: relative;padding-left: 19px;}
.under main h4:not(.sec06_grap_ttl)::before,.under main .ovn_content h4:before{content: "";position: absolute; width:3px;height: calc(100% - 2px);background-color: var(--mcolor);left: 0;top: 1px;border-radius: 3px;}

.under main h5,.under main .ovn_content h5{font-size: 20px;position: relative;padding-left: 20px;}
.under main h5:before,.under main .ovn_content h5:before{content: '';position: absolute;width: 10px;height: 10px;background: var(--scolor);border-radius: 50%;left: 0;top: 10px;}

.under main h6,.under main .ovn_content h6{font-size: 20px;position: relative;}

.under main .under_img_h5 {padding: 0 20px;}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 24px 72px}
.under main #content section{padding:0 0 72px;margin-bottom:0}
.under main #content section:last-child{padding:0}
.under main #content section img {border-radius: 10px;}

/* LINK + BUTTON TOP */
.under main .link{text-decoration: underline;color: var(--mcolor);text-underline-offset: 3px;}

/*============ TOP INFO ============ */
.under main #top_info{height:241px;margin: 0 -24px;background:url('../images/under_main_ic.svg') no-repeat center right var(--mcolor);color: #fff;display: flex;align-items: center;padding: 24px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;text-align: center;}
.top_info_en {font-size: 24px;color: var(--clr1);font-weight: 500;margin: 14px 0 14px;}
.top_info_main {width: 100%;}
.top_info_ttl {font-size: 28px;font-weight: 700;letter-spacing: 0;line-height: 1.6em;}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin:17px 0 37px;padding-right: 2px;}
.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 5px 0 10px;top: -1px;pointer-events: none;}
.under main #topic_path li{font-size: 14px;font-weight: 500;line-height: 1.5em;}
.under main #topic_path li a {text-underline-offset: 3px;}


/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{ width:100%;margin-bottom: 30px;}
.under main .list_anchor .btn{margin: 0 0 15px}
.under main .list_anchor:last-child{margin: 0;}

.under_anchor_ttl { font-size: 18px; font-weight: 700; display: flex; align-items: center; gap: 22px;margin: 0 0 15px;}
.under_anchor_ttl:after {content: '';position: relative;display: inline-block;flex: 1;background: var(--scolor);height: 1px;}
.under_anchor_ttl .en {font-size: 133.34%;color: var(--scolor);font-weight: 500;margin-right: 14px;}
.under_anchor_link li a {display: inline-block;position: relative;padding-left: 17px;text-decoration: underline;text-underline-offset: 2px;}
.under_anchor_link li a:before {content: '';position: absolute;width: 7px;height: 7px;background: var(--scolor);left: 0;top: 7px;border-radius: 50%;}
.under_anchor_link li {line-height: 1.5em;margin: 0 0 16px;}
.under_anchor_link li:last-child {margin: 0;}
.under_anchor {border-bottom: 1px solid var(--scolor);padding: 0 0 24px;margin: 0 0 56px;}
/*==========================================================
                        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: 40px;}
.under main table.mailform th,
.under main table th{background:var(--brown);color:#fff;font-weight:700;}
.under main table.mailform td .info{color:var(--mcolor)}
.under main table tr:first-child *:first-child {border-top-left-radius: 10px;}
.under main table tr:first-child *:last-child {border-top-right-radius: 10px;}

.under main table th,
.under main table td{padding:17px 24px 15px;border: none;}
.under main table td {background: var(--clr1);}
.under main table tr:last-child *:first-child{border-bottom-left-radius: 10px;}
.under main table tr:last-child *:last-child{border-bottom-right-radius: 10px;}
.under main table img{display:block;margin:auto;}


/*============ 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:22px;margin-bottom:8px;position:relative}
.under main .list01 li::before, .under main .ovn_content ul li::before{background:var(--mcolor);width:12px;height:2px;position:absolute;top:12px;left:0;content:''}

/* 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: 0; 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: 2px; 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: 15px;box-shadow: 0px 4px 13px rgba(0,0,0,0.2);margin-bottom: 50px}
.under main .list_faq dt{position: relative;font-size: 18px;font-weight: bold;line-height: 1.5em;margin-bottom: 10px;border-bottom: 1px dotted var(--mcolor);display: flex;align-items: center;display: flex;align-items: center;padding-bottom: 15px;}
.under main .list_faq dt span{width: 40px;height: 40px;font-weight: bold;text-align:center;line-height: 1em;background: #fff;border:1px solid var(--mcolor);color: var(--mcolor);margin-right: 15px;display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;}
.under main .list_faq dd{position: relative;padding-left: 50px;min-height: 62px}
.under main .list_faq dd span{position: absolute;top: 5px;left: 0;width: 40px;height: 40px;font-weight: bold;text-align:center;line-height: 1em;color:#fff;background: var(--mcolor);display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;}

/* LIST STEP */
.under main .list_step {counter-reset: step;position: relative;z-index: 2;}
.under main .list_step_item {counter-increment: step;position: relative;}
.under main .list_step_item:not(:last-child) {margin-bottom: 56px;}
.under main .list_step_item:not(:last-child):after {content: '';position: absolute;width: 4px;height: 50%;top: 80%;left: calc(50% - 2px);background: url("../images/step_line.png") repeat-y top center/100% auto;z-index: -2;pointer-events: none;}
.under main .list_step_item_img:before { counter-increment: div; content: counter(step, decimal-leading-zero); position: absolute;width: 72px;height: 72px;border-top-left-radius: 10px;border-bottom-right-radius: 10px;background: var(--scolor);display: flex;justify-content: center;align-items: center;text-align: center;color: #fff;font-family: var(--f-en);font-size: 38px;letter-spacing: 0.05em;}
.under main .list_step_item_img {position: relative;margin: 0;}
.under main #content section .list_step_item_img img {border-radius: 0;border-top-left-radius: 10px;border-top-right-radius: 10px;width: 100%;}
.list_step_item_main { padding: 24px;box-shadow: 1px 4px 20px 0px rgba(210,210,210,0.7);border-bottom-left-radius: 10px;border-bottom-right-radius: 10px; background: #fff;}
.under main .list_step_item:nth-child(2n) .list_step_item_img:before {background-color: var(--mcolor);}
.under main .list_step_item .list_step_item_ttl {background: none;font-size: 22px;text-align: center;padding: 0;margin: 0 0 16px;}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{background: var(--clr1);border-radius:10px;margin-bottom: 50px;padding: 32px 24px;}

/* FRAME PICKUP */
.under main .frame_pick{padding: 24px;background: var(--scolor);margin: 0 -24px 40px;border-radius: 20px;}
.frame_pick_main {background: #fff;position: relative;border-radius: 20px;padding: 56px 24px 45px;}
.frame_pick_main:before {content: '';position: absolute;background: url("../images/sec08_ic1.svg") no-repeat center center/100% auto;width: 169px;height: 75px;top: -10px;right: -13px;}
.pick_en { text-align: center; font-size: 47px; font-weight: 500; line-height: 1.5em; color: var(--scolor); margin: 0; }
.under main .frame_pick .pick_ttl {font-size: 28px;text-align: center;line-height: 1.8em;background: none;padding: 0;margin: 0 0 34px;color: var(--txt);}
.under main .frame_pick .pick_ttl .txt { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='2'%3E%3Cline x1='1' y1='1' x2='19' y2='1' stroke='%232e8b57' stroke-width='2' stroke-linecap='round' stroke-dasharray='6 4'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: bottom; background-size: 20px 2px;padding: 0 0 8px; }

.under main .frame_pick.pick_green { background-color: var(--mcolor); }
.under main .frame_pick.pick_green .pick_en { color: var(--mcolor); }
.under main .frame_pick.pick_green .frame_pick_main:before {display: none;}
.under main .frame_pick.pick_green .pick_ttl .txt { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='2'%3E%3Cline x1='1' y1='1' x2='19' y2='1' stroke='%23F18B2D' stroke-width='2' stroke-linecap='round' stroke-dasharray='6 4'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: bottom; background-size: 20px 2px;padding: 0 0 8px; }

/* IFRAME BOX */
.under main .box_map{width:100%;height:250px}
.under main .box_ytb{width: 900px;height: auto; margin: 0 auto;aspect-ratio: 16/9;max-width: 100%;}
.under main .box_map iframe,
.under main .box_ytb iframe{width:100%;height:100%;border:none;outline: none;border-radius: 10px;}

/* ===========  OVERNOTE DETAIL ===========  */
.under main .ovn_content p a {text-decoration: underline;color: var(--mcolor);text-underline-offset: 3px;}
.under main .ovn_content img {max-height: 500px;}

.under main .btn_list .is_prev a:after {order: -1;transform: rotate(180deg);}
.under main .btn_list .is_none a {background: var(--mcolor); color: #fff;border-color: var(--mcolor)}
.under main .btn_list .is_none a:after {display: none;}
.under main .btn_list .btn:not(:last-child) {margin-bottom: 15px;}

/* ===========  PAGINATION ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 30px auto 0;gap: 10px;}
.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_company h3 {font-size: 20px;line-height: 1.5em;background: none;padding: 0 0 0 20px;margin: 0 0 16px;position: relative;}
.under main .under_company h3:before {content: '';position: absolute;width: 10px;height: 10px;background: var(--scolor);border-radius: 50%;left: 0;top: 9px;}
.under main .under_company:not(:last-child) {margin-bottom: 40px;}

.under_item_col { border: 3px solid var(--scolor); border-radius: 20px; padding: 53px 24px 40px; margin: 69px 0; position: relative; }
.under_item_col:before {content: 'Merit';position: absolute;left: 50%;transform: translateX(-50%);color: var(--scolor);padding: 0 30px;background: #fff;font-size: 58px;font-weight: 500;line-height: 1em;top: -32px;font-family: var(--f-en);letter-spacing: 0.05em;white-space: nowrap;}
.under main .under_item_col .list01 li:before {background: var(--scolor);}
.under_item_col.item_demerit {border-color : var(--brown);}
.under_item_col.item_demerit:before {color : var(--brown);content: 'Demerit'}
.under main .under_item_col.item_demerit .list01 li:before {background : var(--brown);}
.under main .under_item_col:last-child {margin-bottom: 0;}

.under_bnr li:not(:last-child) {margin-bottom: 38px;}
.under_bnr li a {display: flex;align-items: center;color: #fff;height: 130px;background: url("../images/under_bnr_img1.svg") no-repeat center center var(--mcolor);border-radius: 10px;padding: 10px 60px 10px 23px;position: relative;}
.under_bnr li a .lager {display: block;font-size: 125%;line-height: 1.95em;font-weight: 700;}
.under_bnr li a .mid {font-size: 110%;}
.under_bnr li.bnr_web .lager {margin: 3px 0 -2px;}
.under_bnr li.bnr_web a {background-image: url("../images/under_bnr_img2.svg");background-color: var(--scolor);}
.under_bnr li a:after {content: '';position: absolute;background: url("../images/under_arr.svg") no-repeat center center/100% auto;width: 24px;height: 19px;right: 20px;top: calc(50% - 12px);}

.under main .sec06_main .sec06_doctor {margin: 0;}
.under main .news_cate { display: flex; gap: 10px;margin-bottom: 40px; }
.under main .news_cate .btn { width: calc((100% - 20px) / 3); }
.under main .news_cate .btn a {gap: 7px;}
.under main .news_cate .btn.active a {background-color: var(--brown);color: #fff;cursor: default;}
.under main .news_cate .btn.active a:after {background-image: url("../images/ic_arr_white.svg");}
.list_news_item { border-radius: 10px; background: var(--clr1); padding: 20px; margin: 0 0 30px; }
.list_news_item .big {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;font-weight: 700;font-size: 20px;margin-bottom: 15px;}
.info_box { display: flex; justify-content: space-between; align-items: center; margin: 0 0 20px; }
.info_box p {margin: 0;}
.info_box p.cate {background: var(--mcolor);color: #fff;border-radius: 50px;padding: 5px 20px 3px;line-height: 1.5em;text-align: center;font-weight: 700;}
.list_news_item .img {height: 220px;display: flex;justify-content: center;align-items: center;overflow: hidden;margin-bottom: 20px;border-radius: 20px;}
.list_news_item .img img {object-fit: cover;height: 100%;width: 100%;border-radius: 0;}
.under main .list_news_item .twentytwenty-wrapper {border-radius:20px;margin: 0 0 20px;height: 220px;overflow: hidden;background: #e6e6e6;}
.under main .list_news_item .twentytwenty-container {height: 100%!important;}
.under main .list_news_item .twentytwenty-container img {top: 50%;transform: translateY(-50%);}
.news_img_cap .cap { display: block; margin: 10px 0 0; background: var(--clr3); text-align: center; padding: 10px; border-radius: 10px; }
.news_detail_img .img { aspect-ratio: 3 / 2; display: flex; justify-content: center; align-items: center; overflow: hidden; background: var(--clr1);border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;}
.under main .news_detail_img .img img {max-height: 100%;border-radius: 0!important;object-fit: contain;}
.news_detail_img .ttl {display: block;text-align: center;background: var(--brown);color: #fff;border-top-left-radius: 10px;border-top-right-radius: 10px;padding: 10px;}
.news_detail_img:not(:last-child) {position: relative;margin-bottom: 40px;}
.news_detail_img:not(:last-child):after {content: '';position: absolute;width: 50px;height: 20px;top: calc(100% + 10px);left: calc(50% - 25px);background: #ccc;clip-path: polygon(0 0, 50% 100%, 100% 0);}
.news_detail_bf:not(:last-child) {margin-bottom: 40px;}

.news_img_cap {text-align: center;}
.under main .news_img_cap img {max-height: 350px;}
/* 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}