/*==========================================================
                        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}
.under main .image_r img, .under main .image_l img {max-width: 400px;}

.under main .img_bd img {border-radius: 5px;}
.under main .img_lager {margin-top: -58px;}
.under main .img_lager.image_r {margin-right: -115px;margin-left: -30px;}
.under main .img_lager.image_l {margin-left: -115px;margin-right: -30px;}

/* MB */
.under main .mb0{margin-bottom:0px!important}
.under main .mb10{margin-bottom:10px!important}
.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 .mb45{margin-bottom:45px}
.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;font-family: var(--f-ja);letter-spacing: 0.05em;}

.under main h2{font-size: 70px; text-align: center;margin-bottom: 0;}

.under main h3, .under main .ovn_content h3{font-size: 60px; text-align: center;margin: 0 0 51px;}
.under main h3 .en{font-size: 40%; color: var(--scolor); display: block;letter-spacing: 0.025em;font-weight: 400;margin: 9px 0 0;text-transform: capitalize;}

.under main h4, .under main .ovn_content h4{font-size: 40px;position: relative;border-bottom: 2px solid var(--scolor);margin-bottom: 66px;padding: 0 0 15px;}
.under main h4::after, .under main .ovn_content h4:after{content: "";position: absolute; height:2px;width: 89%;opacity: 0.4;background: var(--mcolor);left: 0;bottom: -20px;}

.under main h5, .under main .ovn_content h5{font-size: 32px;position: relative;padding-left: 54px;margin: 0 0 29px;}
.under main h5:before, .under main .ovn_content h5:before{content: '';position: absolute;background: url("../images/under_h5_ic.svg") no-repeat center center/100% auto;width: 40px;height: 40px;left: 0;top: 5px;}

.under main h6, .under main .ovn_content h6{font-size: 28px;position: relative;color: var(--mcolor);}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main {padding-top: 120px;}
.under main #content{padding: 0 0 100px;word-break: break-all;}
.under main section{padding:0 0 80px;margin-bottom:0}
.under main section:last-child{padding:0}

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

/*============ TOP INFO ============ */
.under main #top_info{height:400px;width:100%; margin:0 auto 14px;background: var(--scolor);position: relative;z-index: 2;color: #fff;}
.under main #top_info:after {content: '';position: absolute;width: 100%;height: 100%;background: url("../images/top_info_bg.jpg") no-repeat center center/cover;top: 0;left: 0;z-index: -1;pointer-events: none;opacity: 0.4;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:62px}
.under main #topic_path ul{display:block;padding:10px 0}
.under main #topic_path li{display:inline;position: relative;font-weight: 500;}
.under main #topic_path li:not(:last-child)::after{content:"";position:relative;display: inline-block;margin: 0 14px 0 14px;top: -1px;pointer-events: none;background: url("../images/topic_path_arr.svg") no-repeat center center/100% auto;width: 6px;height: 11px;}
.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;gap:20px;}
.under main .list_anchor:last-child {margin-bottom: 0;}
.under main .list_anchor .btn {margin: 0;max-width: 100%;}
.under main .btn a {font-size: 100%;width: 450px;padding: 10px 20px;line-height: 1.5em;min-height: 70px;height: 100%;text-align: center;}

/*==========================================================
                        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: 30px;}
.under main table.mailform th,
.under main table th{background:var(--blue);color:#fff; font-size:20px;}
.under main table th.th_bg1{background:var(--light);color:var(--txt);}
.under main table.mailform td .info{color:var(--mcolor)}

.under main table td{background:#fff;}
.under main table th,
.under main table td{padding:24px 30px;border: 1px solid #cccccc;}
.under main table img{display:block;margin:auto;}
.under main table.mb0 ~ table {margin-top: -1px;}


/*============ 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:10px;position:relative}
.under main .list01 li::before, .under main .ovn_content ul li::before{background:#a8ddf1;width:12px;height:12px;position:absolute;top:10px;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: 20px;position: relative;margin-bottom: 9px;}
.under main .list02 li::before, .under main .ovn_content ol li::before{ content: counter(li)".";position: absolute; left: 0; top: 2px; color: var(--blue);font-size: 111.12%;font-family: var(--f-en);font-weight: 700;letter-spacing: 0.025em;}

/* 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: 7px; 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;box-shadow: 0px 4px 13px rgba(0,0,0,0.2);margin-bottom: 50px;border-radius: 8px;}
.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: 50px;height: 50px;font-weight: bold;text-align:center;line-height: 1em;background: var(--mcolor);color: #fff;margin-right: 15px;display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;border-radius: 5px;font-family: var(--f-en);padding: 2px 0 0;font-weight: 400;letter-spacing: 0.025em;}
.under main .list_faq dd{position: relative;padding: 10px 0;}

/* LIST STEP */
.under main .list_step {counter-reset: item_step;}
.under main .list_step dl{position: relative;counter-increment: item_step;border-radius: 8px;padding: 30px;box-shadow: 1.286px 1.532px 24px 0px rgba(0, 0, 0, 0.1);}
.under main .list_step dl:not(:last-child)::after{content: '';position: absolute;background: url("../images/step_arr.svg") no-repeat center center/100% auto;width: 60px;height: 34px;left: 50%;transform: translateX(-50%);top: calc(100% + 8px);}
.under main .list_step dl:not(:last-child) {margin-bottom: 50px;}
.under main .list_step dt{color: var(--mcolor); font-weight: 500;padding: 10px 0 10px 60px;position: relative;font-size: 20px;margin-bottom: 10px;}
.under main .list_step dt:before { content: counter(item_step) "."; position: absolute; background: url("../images/ic_square.svg") no-repeat center center / 100% auto #fff; display: flex; justify-content: center; align-items: center; text-align: center; font-family: var(--f-en); color: var(--blue); width: 50px; height: 50px; left: 0; top: 3px; border-radius: 6px; font-size: 30px; }
.under main .list_step dd{}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{border:2px solid var(--mcolor);padding:30px;border-radius:10px;margin-bottom: 30px;}

/* FRAME 02 */
.under main .frame02{border: 1px solid #e6e6e6;padding: 25px;margin-bottom: 30px;}

/* FRAME PICKUP */
.under main .frame_pick{padding: 50px;background: var(--light);margin-bottom: 30px;border-radius: 20px;}
.under main .frame_pick .pick_ttl { text-align: center; position: relative; display: flex; flex-direction: column-reverse; padding: 0 40px 15px; }
.under main .frame_pick .pick_ttl span{font-size: 60%;font-family: var(--f-ja);color: var(--mcolor);font-weight: 400;letter-spacing: 0.025em;display: block;}
.under main .frame_pick .pick_ttl:before {content: '';position: absolute;background: url("../images/sec06_ic1.png") no-repeat center center/100% auto;width: 33px;height: 48px;left: 0;bottom: 0;}

/* 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%;}
.under main .box_map iframe,
.under main .box_ytb iframe{width:100%;height:100%;border:none;outline: none;}

/* ===========  OVERNOTE ===========  */
.under main .list_ovn {}
.under main .list_ovn li { padding: 20px; position: relative; margin: 0 0 20px; border: 1px solid var(--gray); display: flex; gap: 30px; }
.under main .list_ovn li .img { width: 300px; height: auto; aspect-ratio: 3 / 2; display: flex; align-items: center; justify-content: center; background: #efefef; flex-shrink: 0;margin: 0; }
.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 a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.under main .list_ovn .big {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;font-weight: 700;margin: 0 0 10px;font-size: 20px;}
.under main .list_ovn .date {font-family: var(--f-en);color: var(--mcolor);margin-bottom: 10px;}
.under main .list_ovn .txt_01 {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}

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

.under main .btn_list .is_prev a {flex-direction: row-reverse;}
.under main .btn_list .is_prev a:after {background-image: url("../images/ic_prev.svg");}
.under main .btn_list .is_none a:after {display: none;}
.under main .btn_list .is_none a:not(:hover) {background-color: #207693}
.under main .btn_list .btn a {width: 320px;}

/* ===========  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 .img_list {display: flex;justify-content: center;gap: 10px;}
.under main .img_list img {width: 400px;}
.under main .contact_frame { max-width: 500px; margin: 0 auto; background: var(--mcolor); color: #fff; text-align: center; border-radius: 8px; padding: 30px; }
.under main .contact_frame_tel a {color: #fff;display: block;}
.under main .contact_frame_tel .num {display: flex;align-items: center;font-size: 200%;font-family: var(--f-en);justify-content: center;margin-bottom: 10px;gap: 10px;}
.under main .contact_frame_tel .num:before {content: '';position: relative;display: inline-block;background: url("../images/ic_tel_white.svg") no-repeat center center/100% auto;width: 24px;height: 24px;}
.under main .contact_scroll { background: var(--light); border-radius: 8px; padding: 60px;margin-bottom: 30px; color: var(--txt);}
.under main .contact_scroll_main { max-height: 350px; overflow: auto; background: #fff; padding: 30px; border-radius: 8px; }
.under main .contact_scroll_main .list02 li {float: none!important;padding-left: 20px!important;}

.under main #toc {background: var(--light);padding: 40px;border-radius: 8px;}
.under main .toc_ttl {text-align: center;font-family: var(--f-ja);font-size: 26px;font-weight: 700;line-height: 1.5em;margin: 0 0 20px;}

.under main .news_frame { max-width: 700px; background: var(--light); padding: 50px 30px; border-radius: 8px; margin: 0 auto;display: flex;flex-wrap: wrap;align-items: center;}
.under main .doctor_name, .under main .doctor_name_ttl {font-family: var(--f-ja);}
.under main .doctor_name .f_big {display: block;font-weight: 700;margin: 10px 0;}
.under main .news_frame .btn a {width: 250px;margin: 0 auto;min-height: 55px;}
.under main .list_toc li {display:block;margin-bottom:10px;position:relative}
.under main .list_toc li a {display: inline-block;position: relative;padding-left:22px;}
.under main .list_toc li a::before {background:#a8ddf1;width:12px;height:12px;position:absolute;top:10px;left:0;content:''}
.under main .doctor_name_img {margin: 0 20px 0 0;}
.under main .doctor_name_img img {border-radius: 8px;}
.under main .doctor_name_ttl {width: 100%;}

.under main .company_doctor { max-width: 680px; margin: 0 auto 1.5em; position: relative; }
.under main .company_doctor img {border-radius: 8px;}
.under main .company_doctor .name { background: rgb(0 155 208 / 70%); display: block; position: absolute; right: 20px; bottom: 20px; border-radius: 8px; padding: 10px 20px; color: #fff; text-align: right; font-family: var(--f-ja); }

/* 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}