/*==========================================================
                        C U S T O M
==========================================================*/
.under main .image_l{float:left;margin:0 65px 0 0}
.under main .image_r{float:right;margin:0 0 0 65px}
.under main section img {border-radius: 20px;box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);}

/* 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!important;}
.under main .mb120{margin-bottom:120px!important;}
.under main .mb150{margin-bottom:150px!important;}

/* 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}
.under main .mt60{margin-top:60px}
.under main .mt70{margin-top:70px}
.under main .mt80{margin-top:80px}
.under main .mt90{margin-top:90px}
.under main .mt100{margin-top:100px}
.under main .mt120{margin-top:120px}
.under main .mt150{margin-top:150px}

/*==========================================================
                        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;letter-spacing: 0.05em;}

.under main h2{font-size: 52px; text-align: center;margin-bottom: 0;letter-spacing: 0.1em;}

.under main h3,
.under main .ovn_content h3{font-size: 42px; text-align: center;}

.under main h4,
.under main .ovn_content h4{font-size: 34px;position: relative;line-height: 1.59em;border-bottom: 2px solid var(--green-pale);padding: 0 0 13px;}

.under main h5,
.under main .ovn_content h5{font-size: 28px;position: relative;padding-left: 16px;margin-bottom: 36px;}
.under main h5:before,.under main .ovn_content h5:before{position: absolute;width: 4px;height: calc(100% - 10px);top: 5px;background: var(--green-pale);left: 0;content: '';}

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

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 103px}
.under main .under_inner {padding-right: 40px;}
.under main section{padding:0 0 59px;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:300px;width:100%;max-width:1920px;margin:115px auto 0;background: url("../images/under_topinfo_bg.svg") no-repeat left 25px bottom 16px var(--green-ghost);padding: 0 36px 12px 0;}
.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:42px;padding-right: 43px;}
.under main #topic_path ul{display:block;padding:34px 0}
.under main #topic_path li{display:inline;position: relative;font-size: 16px;letter-spacing: 0.05em;}
.under main #topic_path li:not(:last-child)::after{content:"";position:relative;display: inline-block;margin: 0 12px 0 14px;top: 1px;pointer-events: none;background: url("../images/under_topic_arr.svg") no-repeat center center/100% auto;width: 7px;height: 12px;}
.under main #topic_path li a{color: var(--mcolor);text-underline-offset: 3px;}


/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex;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;}
.under main .btn:not(.btn_404) a { text-align: center; justify-content: center; padding: 10px 80px 10px 20px; font-size: 18px; line-height: 1.5em; min-height: 84px;height: 100%;}

/*==========================================================
                        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{color:var(--scolor);background:#fff;font-weight:700;border-color: var(--scolor);border-left: none;border-right: none;}
.under main table.mailform td .info{color:var(--mcolor)}

.under main table td{border-color: #ccc;background:#fff;border-left: none;border-right: none;}
.under main table th,
.under main table td{padding:17px 10px;}
.under main table img{display:block;margin:auto;}

.under main table th.th_bg1 {color: var(--txt);background: #f9f9f9;border-color: #ccc;}
.under main .tb_scroll:not(:last-child) {margin-bottom: 30px;}

/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .ovn_content ul{margin-bottom: 30px;overflow: hidden;}
.under main .list01 li,
.under main .ovn_content ul li{display:block;padding-left:21px;margin-bottom:4px;position:relative;font-size: 16px;line-height: 1.875em;letter-spacing: 0.05em;font-weight: 500;}
.under main .list01 li::before,
.under main .ovn_content ul li::before{background:var(--green-pale);width:14px;height:14px;position:absolute;top:9px;left:0;content:''}

/* LIST 02 */
.under main .list02,
.under main .ovn_content ol{margin-bottom: 30px;overflow: hidden;counter-reset: under_item;}
.under main .list02 li,
.under main .ovn_content ol li{counter-increment: under_item; padding-left: 30px!important;position: relative;margin-bottom: 10px;font-size: 16px;line-height: 1.875em;letter-spacing: 0.05em;font-weight: 500;float: none!important;}
.under main .list02 li::before,
.under main .ovn_content ol li::before{counter-increment: li;  content: counter(under_item, decimal-leading-zero);position: absolute;left: 0; top: 1px; color: var(--scolor);font-family: var(--f-en);font-weight: 700;letter-spacing: 0;}

/* 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: rgb(233 233 233 / 50%);margin-bottom: 30px;border-radius: 20px;counter-reset: faq;}
.under main .list_faq dt { position: relative; font-weight: bold; line-height: 1.5em;align-items: center; padding: 15px 15px 15px 75px; background: var(--green-pale); border-top-left-radius: 20px; border-top-right-radius: 20px; }
.under main .list_faq dt .num { counter-increment: faq; content: "Q" counter(faq) "."; position: absolute; line-height: 1em; left: 15px; top: 15px; font-family: var(--f-en); font-size: 150%; font-style: italic; font-weight: 400; letter-spacing: 0; }
.under main .list_faq dd{position: relative;padding: 15px 15px 15px 75px;min-height: 62px}
.under main .list_faq dd .num { counter-increment: faq; content: "A" counter(faq) "."; position: absolute; line-height: 1em; left: 15px; top: 17px; font-family: var(--f-en); font-size: 150%; font-style: italic; font-weight: 400; letter-spacing: 0; }

/* LIST STEP */
.under main .list_step {counter-reset: step_item;}
.under main .list_step dl{margin-bottom: 50px;padding: 50px;position: relative;box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);counter-increment: step_item;}
.under main .list_step dl:not(:last-child)::before{width: 80px;height: 30px;position: absolute;bottom: -10px;left: calc(50% - 40px);content: '';clip-path: polygon(0 0, 50% 100%, 100% 0);top: calc(100% + 10px);background: #ddd;}
.under main .list_step dl:last-child{margin-bottom: 0}
.under main .list_step dt{color: var(--scolor);font-weight: 700;padding: 0 0 0 50px;font-size: 22px;position: relative;letter-spacing: 0.05em;margin-bottom:15px;}
.under main .list_step dt:before { counter-increment: dl; content: counter(step_item, decimal-leading-zero); position: absolute; font-size: 40px; font-style: italic; font-family: var(--f-en); background: url(../images/sec06_num.svg) no-repeat bottom center / 100% auto; width: 62px; text-align: center; top: -47px; line-height: 1em; left: 0; padding: 0 0 12px 6px; font-weight: 400; color: var(--txt); }

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{background: var(--green-ghost);padding:50px;border-radius:20px;margin-bottom: 30px;position: relative;margin-top: 60px;}
.under main .frame01:before { content: ''; position: absolute; background: url(../images/sec03_top_bg.svg) no-repeat top center/auto 60px; width: 100%; height: 60px; left: 0; top: -60px; }


/* FRAME PICKUP */
.under main .frame_pick{padding: 20px 50px 120px;background: url("../images/sec08_bot_bg.png") no-repeat bottom center/auto 90px var(--green-ghost);margin-bottom: 50px;border-radius: 40px;margin-top: 60px;}
.under main .frame_pick .pick_ttl{font-size: 38px;border: none;text-align: center;padding: 0;position: relative;z-index: 2;margin-bottom: 30px;}
.under main .frame_pick .pick_ttl:before{content: 'Pick up';position: absolute;font-size: 120px;font-family: var(--f-en);font-weight: 300;letter-spacing: 0;color: var(--scolor);opacity: 0.2;line-height: 1em;font-style: italic;z-index: -2;left: 0;top: -70px;width: 100%;}

/* 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 {margin: 50px auto 0;width: 1200px;max-width: 100%;}
.under main .list_ovn li { padding: 30px; position: relative; margin: 0 0 30px; border: 1px solid var(--gray); overflow: hidden; border-radius: 20px;transition: all 0.3s;}
.under main .list_ovn li .img { width: 350px; height: auto; aspect-ratio: 3 / 2; display: flex ; align-items: center; justify-content: center; background: #efefef; float: left; margin: 0 40px 0 0; border-radius: 20px;overflow: hidden;box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);}
.under main .list_ovn li .img img {max-width: 100%;max-height: 100%;flex-shrink: 0;object-fit: cover;width: 100%;height: 100%;border-radius: 0;box-shadow: none;}
.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;margin: 10px 0 15px;}
.under main .list_ovn .info_box .cate{padding: 0 15px;background: var(--green-alice);border-radius: 4px;text-align: center;font-weight: 700;}
.under main .list_ovn .info_box .date{font-size: 16px;font-weight: 700;letter-spacing: 0.05em;margin: 0 20px 0 0;}
.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;font-size: 20px;font-weight: 700;}
.under main .list_ovn li:hover {background: var(--green-ghost);}
.under main .list_ovn .txt {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;}

.under main .ovn_content p a {text-decoration: underline;color: var(--blue);}
.under main .ovn_content img {max-height: 500px;}

.under main .btn_list .is_prev a {background-image: url('../images/ic_prev_small.svg');background-repeat: no-repeat;background-position: left 20px center;background-size: 20px auto;}
.under main .btn_list .is_next a {background-image: url('../images/ic_arr_small.svg');background-repeat: no-repeat;background-position: right 20px center;background-size: 20px auto;}
.under main .btn_list .is_none a:not(:hover) {background-color: var(--green);justify-content: center;}
.under main .btn_list a {width: 240px!important;max-width: 100%;text-align: center;justify-content: center!important;padding: 10px 30px!important;min-height: 60px!important;}
.under main .btn_list a:after {display: none;}
.under main .list_anchor .btn.active a{background: var(--scolor);pointer-events: none;}

/* ===========  PAGINATION OVN ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 30px auto 0}
.under main .pagination li {margin: 0 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 section p {letter-spacing: 0.05em;}
.txt_over {overflow: hidden;}

.under_col {display: flex;justify-content: space-between;}
.under_col_item {width: 100%;border-bottom: 1px solid #ccc;}
.under_col_item dt {color: var(--scolor);border-top: 1px solid var(--scolor);border-bottom: 1px solid var(--scolor);padding: 17px;text-align: center;font-weight: 700;}
.under_col_item dd {padding: 17px;}
.under_col:not(:last-child) {margin-bottom: 30px;}

.under_bnr li a {width: 500px;max-width: 100%;height: 150px;display: flex;justify-content: center;align-items: center;margin: 0 auto;; background: #fff; position: relative; border-radius: 20px;box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1),10px 10px 0px 0px rgba(211,243,207,0.7);padding:25px 45px;text-align: center;font-size: 22px;font-weight: 700;letter-spacing: 0.05em;}
.under_bnr li a:after {content: '';position: absolute;width: calc(100% - 20px);height: calc(100% - 20px);border: 1px solid #75cf00;top: 0;right: 0;bottom: 0;left: 0;margin: auto;pointer-events: none;border-radius: 13px;}
.under_bnr li a:before {content: '';position: absolute;width: 60px;height: 60px;background: url("../images/ic_arr.svg") no-repeat center center/25px auto var(--green);border-radius: 50%;top: calc(50% - 30px);right: -15px;z-index: 2;}

.under_col_table dl { background: var(--green-ghost); padding: 30px; border-radius: 20px; }
.under_col_table dt {text-align: center;font-weight: 700;letter-spacing: 0.05em;margin: 0 0 20px;font-size: 24px;}

.under_img_list {display: flex;justify-content: center;}
.under_img_list .img:not(:last-child){margin-right: 40px;}

.under main .doctor_frame {margin-top: 90px;padding: 0;box-shadow: none;position: relative;max-width: 960px;margin: 0 auto;}
.under main .doctor_name { text-align: right; font-size: 22px; font-weight: 700; position: absolute; left: 40px; bottom: 40px; background: rgb(238 255 236 / 80%); padding: 20px 30px; border-radius: 20px; }
.under main .doctor_name .lager {font-size: 150%;display: inline-block;margin-top: 10px;}

.contact_frame { background: url(../images/sec04_bg_icon.svg) no-repeat bottom left calc(50% + 11px) #fff; height: 246px; position: relative; display: flex ; justify-content: center; align-items: center; border-radius: 140px; box-shadow: inset 0px 0px 14px 0px rgba(0, 0, 0, 0.2);max-width: 700px;margin: 0 auto;}
.contact_frame .h_tel {display: block;margin: 0;font-size: 20px;text-align: center;}
.contact_frame .h_tel .tel {margin: 0 0 20px;}
.contact_frame .h_tel .tel:before {width: 26px;height: 33px;}

.contact_box_scroll { height: 500px; overflow: auto; padding-right: 10px; }

/* 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 .frame_pick:last-child{margin-bottom: 0}