/*==========================================================
                        C U S T O M
==========================================================*/
/* 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}

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

/* MAX_W */
.under main .max_w200{width:100%;max-width:200px}
.under main .max_w250{width:100%;max-width:250px}
.under main .max_w300{width:100%;max-width:300px}
.under main .max_w350{width:100%;max-width:350px}
.under main .max_w500{width:100%;max-width:500px}
.under main .max_w600{width:100%;max-width:600px}
.under main .max_w700{width:100%;max-width:700px}
.under main .max_w800{width:100%;max-width:800px}
.under main .max_w900{width:100%;max-width:900px}

/* MIN-W */
.under main .min_w200{min-width:200px}
.under main .min_w250{min-width:250px}
.under main .min_w300{min-width:300px}
.under main .min_w350{min-width:350px}
.under main .min_w500{min-width:500px}

/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h2{font-weight: bold;font-size: 40px;padding: 10px 21px;background-color: var(--mcolor);color: #FFF;margin-bottom: 25px;letter-spacing: 0.2rem;}
.under main h3{font-weight: bold;font-size: 30px;position: relative;padding-bottom: 6px;margin-bottom: 20px;letter-spacing: 0.15rem;}
.under main h3::before{content: "";position: absolute; width:100%;height: 4px;left: 0;bottom: 0;border-bottom: 1px solid var(--mcolor);border-top: 1px solid var(--mcolor);}
.under main h4{font-weight: bold;font-size: 25px;position: relative;padding-left: 15px;letter-spacing: 0.1rem;margin-bottom: 10px;}
.under main h4::before{content: "";position: absolute;width:8px;height: 8px;background-color: var(--mcolor);left: 0;top: 13px;}
.under main h5{font-weight: bold;font-size: 20px;color: var(--mcolor);margin-bottom: 6px;letter-spacing: 0.1rem;}
.under main h6{font-weight: bold;font-size: 18px;position: relative;}
.under main h6::before,
.under main h6::after{content: ""; position: absolute;height: 3px;left: 0; bottom: -5px;}
.under main h6::before{background-color: var(--mcolor);width: 50px;left: 0;z-index: 2;}
.under main h6::after{background-color: #ccc;width: 100%;}

.under main .u_2col,.under main .u_3col{gap: 40px;margin-bottom: 45px;}
.under main .u_2col:last-child,.under main .u_3col:last-child{margin-bottom: 0;}
.under main .u_3col{display: grid;grid-template-columns: repeat(3,1fr);}
.under main .u_3col .tt,.under main .u_2col .tt{font-size: 20px;font-weight: bold;color: var(--mcolor);margin-bottom: 15px;letter-spacing: 0.1rem;}
.under main .u_2col{display: grid;grid-template-columns: repeat(2,1fr);}
.under main .u_2col .item .img,.under main .u_3col .item .img{border-radius: 10px;overflow: hidden;margin-bottom: 15px;}
.under main .u_2col .item h3:not(.df),.under main .u_3col .item h3:not(.df){padding:0;margin-bottom: 10px;}
.under main .u_2col .item h3:not(.df)::before,.under main .u_3col .item h3:not(.df)::before{display: none;}
.under main .u_2col .item img,.under main .u_3col .item img{border-radius: 10px;}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main{padding-top: 83px;}
.under main #content{padding: 0 0 150px;}
.under main section{padding: 0 0 100px;margin-bottom:0}
.under main section:last-child{padding:0}
.under main ol li{list-style: decimal;}

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

/*============ TOP INFO ============ */
.under main #top_info{height: 250px;width:100%;max-width:1920px;margin:0 auto;background:var(--mcolor);}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding-top: 43px;}
.under main #top_info .tt{text-align: center;margin-bottom: 0;font-weight: bold;color: #FFF;font-size: 40px;letter-spacing: 0.2rem;}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom: 44px;}
.under main #topic_path ul{display:block;padding: 16px 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 3px 0 6px;top: -1px;pointer-events: none;}
.under main #topic_path li,.under main #topic_path li a{font-size: 14px;font-weight: 500;}

/*============ 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}
.under main .list_anchor .btn a{width:235px}
.under main .list_anchor .btn a::after{clip-path: polygon(50% 100%, 0 0, 100% 0);}
.under main .list_anchor5 .btn a{width:100%;font-size:1.6rem}
.under main .list_anchor5 .btn a .min{font-size:1.4rem}
.under main .list_anchor5 .btn a::after{right:1rem}

.under main .btn a{width:36rem}

/*==========================================================
                        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:#F6F6F6;color:var(--mcolor);font-weight:bold;font-size: 18px;text-align: left;letter-spacing: 0.05rem;}
.under main table.mailform td .info{color:var(--mcolor)}
.under main table th,
.under main table td{padding: 17px 20px 15px;border-color: #E5E5E5;}
.under main table td{background:#fff;font-weight: 500;}
.under main table img{display:block;margin:auto;}


.under main .u_content{border: 4px solid var(--mcolor);border-radius: 10px;padding: 0 36px 26px;}
.under main .u_content .tt,.under main .u_content .point{font-size: 30px;font-weight: bold;color: #FFF;min-width: 200px;margin: 0 auto 27px;display: flex;justify-content: center;align-items: center;background-color: var(--mcolor);border-radius: 0 0 10px 10px;width: fit-content;padding: 10px 10px 12px;}
.under main .u_content ul li a{display:block;padding-left: 20px;margin-bottom: 7px;position:relative;font-weight: 500;letter-spacing: 0.08rem;width: fit-content;}
.under main .u_content ul li a::before{background:#0B3587;width:8px;height:8px;position:absolute;top:10px;left:0;content:'';border-radius: 50%;}
.under main .u_content ul li a{text-decoration: underline;}
.under main .cta_box li a{flex-direction: column;text-align: center;gap:0}
.under main .cta_box .cta_tel a .tel{padding-left:5rem}
.under main .cta_box .cta_tel a .tel::before{width:4rem;height:4rem;background:url('../images/ic_tel_green.svg') no-repeat center right 1.5rem /1.5rem #FFF}
.under main .cta_box .cta_tel a{background-color: var(--scolor);}
.under main .cta_box .cta_contact a{background-color: var(--org);}
/* LIST 01 */
.under main .list01{margin-bottom: 30px;}
.under main .list01.mb10,.under main .list02.mb10{margin-bottom: 10px}
.under main .list01 li{display:block;padding-left: 13px;margin-bottom: 16px;position:relative;font-weight: 500;letter-spacing: 0.08rem;line-height: 1.6;}
.under main .list01 li::before{background:var(--mcolor);width:8px;height:8px;position:absolute;top: 9px;left:0;content:'';border-radius: 50%;}

/* LIST 02 */
.under main .list02{margin-bottom: 30px;}
.under main .list02 li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.under main .list02 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: 2px; 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 STEP */
.under main .step_list{padding-top: 50px;}
.under main .step_item{padding: 52px 37px 29px;border: 4px solid var(--mcolor);border-radius: 10px;position: relative;background-color: #FFF;}
.under main .step_item:not(:last-child){margin-bottom: 7.5rem;}
.under main .step_item:not(:last-child)::after{content: "";position: absolute;width: 2px;height: 100%;background: url('../images/step_line.png') repeat top center /100% auto;left: 13.5rem;bottom: -10rem;z-index: -1;}
.under main .step_item .ico{font-size:2rem;font-weight: 500;color:#FFF;padding: 7px 61px;border-radius: 999px;background-color: var(--mcolor);text-align: center;width: fit-content;position: absolute;top: -2.8rem;left: 36px;letter-spacing: 0.1rem;}
.under main .step_item dd .tt{font-size: 2.2rem;font-weight: 400;margin-bottom: 2.8rem;line-height: 1.6;letter-spacing: 1px;padding-bottom: 0;font-family: var(--f-mincho);}
.under main .step_item dd .tt::before,.under main .step_item dd .tt::after{display: none;}
.under main .step_item dd .tt::after{display:none !important}
.under main .step_item dd p:has(img){margin-bottom: 2.2rem;}

.under main .faq_list{margin-bottom: 50px;}
.under main .faq_list dl {border:2px solid var(--txt);border-radius: 20px;overflow: hidden;margin-bottom: 15px;background-color: #FFF;}
.under main .faq_list dl:not(:last-child) {margin-bottom: 19px;}
.under main .faq_list dt {font-weight: bold;font-size:20px;cursor: pointer;letter-spacing: 0;border-radius: 20px;position: relative;display: flex;padding: 15px 50px 16px 18px;transition: all 0.3s;letter-spacing: 0.15rem;}
.under main .faq_list dl.open dt { border-radius: 20px 20px 0 0;  }
.under main .faq_list dt::after {content: '▼';position: absolute;right: 26px;top: 35px;transform: translateY(-50%);font-size: 12px;color: #333;}
.under main .faq_list dl.open dt::after { content: '▲'; }
.under main .faq_list dl:not(.open){border-radius: 40px}
.under main .faq_list dl:not(.open) dd { height: 0; overflow: hidden; padding-top: 0; padding-bottom: 0; }
.under main .faq_list dd {padding: 0 100px 12px 18px;display: flex;position: relative;transition: all 0.3s;border-radius: 0 0 30px 30px;font-weight: 500;}
.under main .faq_list dt .ico,.under main .faq_list dd .ico{font-weight: bold;margin-right: 11px;flex-shrink: 0;color: #fff;width: 30px;height: 30px;border-radius: 50%;display: flex;align-items: center;justify-content: center;transform: translateY(1px);font-size:1.6rem;padding-top: 2px;}
.under main .faq_list dt .ico { background: var(--mcolor);}
.under main .faq_list dd .ico {background: var(--scolor);}

.under main .tooth_box { margin-bottom: 50px; }
.under main .tooth_box:last-child{margin-bottom: 0;}
.under main .tooth_2col {display: flex;gap:40px;align-items: center;margin-bottom: 28px;}
.under main .tooth_2col .item .img img{border-radius: 10px;}
.under main .tooth_2col .item .img{position: relative;}
.under main .tooth_2col .item:nth-of-type(even) .img::before{content: "";position: absolute;width: 20px;height: 43px;background: url('../images/tooth_arrow.png') no-repeat center /100% auto;left: -30px;top: 50%;transform: translateY(-50%);z-index: -1;}
.tooth_des {margin-bottom: 36px;}
.under main .tooth_qa{max-width: 800px;margin: 0 auto;}
.under main .tooth_qa > dl{border:2px solid var(--txt);border-radius: 30px;position: relative;}
.under main .tooth_qa > dl:not(:last-child){margin-bottom: 23px;}
.under main .tooth_qa > dl > dt {font-weight: 500;text-align: center;padding: 14px 10px;cursor: pointer;border-radius: 20px 20px 0 0}
.under main .tooth_qa > dl > dt span{display: inline-block;position: relative;}
.under main .tooth_qa > dl > dt span::after {content: '▼';position: absolute;right: -37px;font-size: 13px;top: 3px;}
.under main .tooth_qa > dl:not(.open) dt{border-radius: 30px}
.under main .tooth_qa > dl.open{border-radius:20px}
.under main .tooth_qa > dl.open > dt span::after { content: '▲'; }
.under main .tooth_qa > dl > dd {padding: 10px 20px 30px;transition: all 0.3s;}
.under main .tooth_qa > dl:not(.open) > dd{height: 0;opacity: 0;visibility: hidden;padding: 0;}
.under main .tooth_qa > dl > dd > dl > dt {background: #F6F6F6;color: #0B3587;font-weight: bold;font-size: 18px;padding: 9px 19px;border-radius: 4px;margin-bottom: 17px;border-top: 1px solid #E5E5E5;border-bottom: 1px solid #E5E5E5;}
.under main .tooth_qa > dl > dd > dl > dt:first-child { margin-top: 0; }
.under main .tooth_qa > dl > dd > dl > dd {font-weight: 500;padding: 0 20px;}
.under main .tooth_qa > dl > dd > dl > dd:not(:last-child) {margin-bottom: 15px;}
.under main .tooth_qa > dl > dd > dl > dd:last-child{border-bottom: 1px solid #E5E5E5;padding-bottom: 14px;}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{background-color: #EFFAFF;padding: 36px 40px;margin-bottom: 50px;}

/* FRAME PICKUP */
.under main .frame_pick{padding: 25px;background: #e6e6e6;margin-bottom: 50px;}
.under main .frame_pick .pick_ttl{font-size: 24px;}
.under main .frame_pick .pick_ttl span{font-size: 36px;display: block;}

/* 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;}
.under main .center > img,.under main .image_l img,.under main .image_r img{border-radius: 10px;}


/* RESET */
.under main table:last-child,
.under main .faq_list: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}