/*==========================================================
                        C U S T O M
==========================================================*/
/* MB */
.under main .mb10{margin-bottom:1rem}
.under main .mb15{margin-bottom:1.5rem}
.under main .mb20{margin-bottom:2rem}
.under main .mb25{margin-bottom:2.5rem}
.under main .mb30{margin-bottom:3rem}
.under main .mb40{margin-bottom:4rem}
.under main .mb50{margin-bottom:5rem}
.under main .mb60{margin-bottom:6rem}
.under main .mb70{margin-bottom:7rem}
.under main .mb80{margin-bottom:8rem}
.under main .mb90{margin-bottom:9rem}

/* MT */
.under main .mt10{margin-top:1rem}
.under main .mt15{margin-top:1.5rem}
.under main .mt20{margin-top:2rem}
.under main .mt25{margin-top:2.5rem}
.under main .mt30{margin-top:3rem}
.under main .mt40{margin-top:4rem}
.under main .mt50{margin-top:5rem}
.under main .mt60{margin-top:6rem}
.under main .mt70{margin-top:7rem}
.under main .mt80{margin-top:8rem}
.under main .mt90{margin-top:9rem}

/* MAX_W */
.under main .max_w200{width:100%;max-width:20rem}
.under main .max_w250{width:100%;max-width:25rem}
.under main .max_w300{width:100%;max-width:30rem}
.under main .max_w350{width:100%;max-width:35rem}
.under main .max_w500{width:100%;max-width:50rem}
.under main .max_w600{width:100%;max-width:60rem}
.under main .max_w700{width:100%;max-width:70rem}
.under main .max_w800{width:100%;max-width:80rem}
.under main .max_w900{width:100%;max-width:90rem}

/* MIN-W */
.under main .min_w200{min-width:20rem}
.under main .min_w250{min-width:25rem}
.under main .min_w300{min-width:30rem}
.under main .min_w350{min-width:35rem}
.under main .min_w500{min-width:50rem}

.under main .pdt15{padding-top: 1.5rem;}
.under main ol li::marker{font-size: 0;opacity: 0;}
/*==========================================================
                        H E A D I N G
==========================================================*/
.under main .top_info .ttl,.under main h2,.under main h3,.under main h4,.under main h5,.under main h6{font-weight:400;font-family: var(--f-mincho);}
.under main h2{font-size: 2.6rem;color: #FFF;position: relative;z-index: 2;padding: 1rem 2rem 0.9rem 0;margin-bottom: 3.6rem;line-height: 1.5;letter-spacing: 0.13rem;}
.under main h2::after{content: '';position: absolute;width: calc(100% + 2.4rem);height: 100%;left: -2.4rem;top: 0;z-index: -1;background-color: #ABA092;border-radius: 0 0.3rem 0.3rem 0;}
.under main h2 .sys_l{display:inline-block;margin-left:-1.5rem}
.under main h3{font-size: 2.4rem;position: relative;padding-bottom: 2rem;margin-bottom: 2.3rem;letter-spacing: 0.12rem;line-height: 1.5;}
.under main h3::before{content: '';position: absolute;width: 100%;height: 0.9rem;left: 0;bottom: 0;background:url('../images/uh3_line.png') no-repeat left center /auto 100%;}
.under main h3::after{content: '';position: absolute;width: 0.6rem;height: 0.6rem;right: 0;bottom: 0.2rem;background-color: #E58F1F;transform: rotate(45deg);}
.under main h4{font-size: 2.2rem;position: relative;padding-left: 1.8rem;margin-bottom: 2.2rem;letter-spacing: 1px;line-height: 1.45;}
.under main h4::before{content: '';position: absolute;width: 0.2rem;height: calc(100% - 0.6rem);top: 0.2rem;background-color: #756650;left: 0;}
.under main h5{font-size:2rem;position: relative;margin-bottom: 2.5rem;padding-left: 2rem;letter-spacing: 1px;}
.under main h5::before{content: '';position: absolute;width: 0.7rem;height:0.7rem;top: 1rem;background-color:#E58F1F;left: 0;transform: rotate(45deg);}
.under main h5 ~ p.center:has(img){width: 94%;margin-left: auto;margin-right: auto;max-width: 36rem;}
.under main h6{font-size:1.8rem;color: var(--mcolor);margin-bottom: 1.5rem;}
.under main p:has(img):not(:last-child){margin-bottom: 3rem;}
.under main .u_box:not(:last-child){margin-bottom: 4rem;}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main{padding: 0 0 12rem;background-color: #fff;overflow: hidden;}
.under main section{padding: 0 0 7.7rem;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);}
.under main .link_out,.under main .link_pdf{text-decoration: underline;color: var(--mcolor);text-underline-offset: 0.3rem;}
.under main .u_content{padding: 0 0 2rem;position: relative;}
.under main .u_content:not(:last-child){margin-bottom: 6.4rem;}
.under main .u_content::after{content:"";position: absolute;width: 100%;height:1px;background:url('../images/tooth_table_line.png') repeat left top /0.2rem;bottom:0;left:0}
.under main .u_content dt{margin-bottom: 0.5rem;display: flex;align-items: center;gap: 1.5rem;overflow: hidden;}
.under main .u_content dt .en{color: #D8CFC3;font-size: 2.7rem;font-weight: 300;font-family: var(--f-garamond);letter-spacing: -.1rem;}
.under main .u_content dt .ja{font-size: 1.8rem;font-weight: 400;position: relative;padding-right: 2rem;font-family: var(--f-mincho);letter-spacing: 0.2rem;}
.under main .u_content dt .ja::after{content:"";position: absolute;width: 25rem;height:1px;background:url('../images/tooth_table_line.png') repeat left top /0.2rem;top: calc(50% - 1px);left:100%}
.under main .u_content dd ul li:not(:last-child){margin-bottom: 1.15rem;}
.under main .u_content dd ul li a{padding-left: 2.6rem;position: relative;line-height: 1.5;text-decoration: underline;display: inline-block;}
.under main .u_content dd ul li a::before{content: '';position: absolute;width: 1.4rem;height:2px;background-color: #E58F1F;border-radius: 99.9rem;left:0;top: 1rem;}

/*============ TOP INFO ============ */
.under main .top_info .inner{height: 100%;width: 100%;display: flex;justify-content: center;flex-direction: column;padding-top: 1.5rem;}
.under main .top_info .ttl{font-size: 2.8rem;letter-spacing: 0.2rem;line-height: 1.5;padding: 0;margin:0;text-align: center;}
.under main .top_info .ttl::after{display: none;}

.under main .topic_path ul{display:block;padding: 1.4rem 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 -0.2rem 0 0rem;top: 0;pointer-events: none;}
.under main .topic_path li{letter-spacing: 0.08rem;line-height: 1.6;}

/*==========================================================
                        T A B L E
==========================================================*/
.under main .tb_note{font-size: 1.4rem;font-weight: 400;color: #FF0000;margin-bottom: 1rem;}
.under main table.td_top td{vertical-align:top}
.under main table.tb_fix{table-layout: fixed;}
.under main table{margin-bottom: 3rem;overflow: hidden;}
.under main table th{background:var(--scolor);color: #FFF;font-weight: 400;text-align: left;padding: 1.1rem 2.4rem;letter-spacing: 0.05rem;font-family: var(--f-mincho);}
.under main table td{background:#F5F3F1;padding: 2rem 2.4rem;}
.under main table th,
.under main table td{border: 0;}
.under main table.tb_block td:not(:last-child){border-bottom: 1px solid #eee;}
.under main table.tb_block th:not(:first-child){border-top: 1px solid #eee;}
.under main table img{display:block;margin:auto;}
.under main table:not(.tb_block) tr{border-top: 1px solid #eee;}
.under main table:not(.tb_block) tr:first-child{border-top: 0;}
.under main table.tb_block tr{display:flex;flex-direction:column;}
.under main table.tb_block th,
.under main table.tb_block td{width: 100%;}
.under main table .center,.under main table.center th,.under main table.center td{text-align: center;}
.under main table .bg01{background-color: var(--mcolor);}
.under main .tb_scroll{overflow-x: scroll;}
.under main .tb_scroll:not(:last-child){margin-bottom: 3rem;}
.under main .tb_scroll table{width: 90rem;}

.under main table:not(.tb_block) tr th:not(:last-child),.under main table:not(.tb_block) tr td:not(:last-child){border-right: 1px solid #eee;}
.under main .u_tt1:not(:first-child){margin-top: 3.5rem;}
.under main .u_tt1{position: relative;padding-left:20px;font-size:2rem;font-weight:400;font-family: var(--f-mincho);margin-bottom: 1rem;}
.under main .u_tt1::before{width:0.7rem;height:0.7rem;position:absolute;top: 1.3rem;left:0;content:'';background-color: #E58F1F;transform: rotate(-45deg);}


.under main .u_bnn:not(:last-child){margin-bottom: 3rem;}
.under main .u_bnn a{display: flex;flex-direction: column;justify-content: center;color: #FFF;padding: 1.3rem 1.4rem 1.3rem 2.4rem;position: relative;min-height: 12rem;overflow: hidden;max-width: 39.2rem;margin: 0 auto;font-weight: 400;font-family: var(--f-mincho);}
.under main .u_bnn a::before{content:"";position: absolute;width: 27.5rem;height: 8.8rem;background:url('../images/u_bnn_bf.png') no-repeat top left /contain;top: 0;left: 0;transition: opacity 0.3s;z-index:0;mix-blend-mode: multiply;pointer-events: none;}
.under main .u_bnn a{background-color: var(--mcolor);padding-top: 2rem;}
.under main .u_bnn:nth-of-type(even) a{background-color: #917A5B;}
.under main .u_bnn:nth-of-type(even) a .sm{font-size:1.7rem}
.under main .u_bnn:nth-of-type(even) a .lg{font-size:2rem}
.under main .u_bnn a .sm{font-size: 1.4rem;margin-bottom: 0.7rem;line-height: 1.6;}
.under main .u_bnn a .lg{font-size: 2.4rem;}

.under main .step_list{padding-top: 5.5rem;}
.under main .step_list dl{background-color: #F5F3F1;padding: 0 2.3rem 5.7rem 2.5rem;position: relative;box-shadow: 0.6rem 0.6rem 1rem #E9E9E9;}
.under main .step_list dl:not(:last-child){margin-bottom:10rem;}
.under main .step_list dl:not(:last-child)::after{content: "";position: absolute;width: 0.2rem;height: 5rem;background: url('../images/step_dt.png') repeat top center /100% auto;left: 7.4rem;bottom: -5rem;}
.under main .step_list dl dt{font-size: 1.7rem;text-align: center;color: rgb(171, 160, 146,0.7);display: flex;justify-content: center;align-items: center;flex-direction: column;font-family: var(--f-garamond);width: 10rem;height: 10rem;line-height: 1.1;margin-bottom: -2.2rem;border-radius: 0.3rem;font-weight: 300;background-color: #F1EBE3;transform: translateY(-5rem);letter-spacing: 0.15rem;}
.under main .step_list dl dt span{font-size: 7.5rem;display: block;line-height: 1;margin-top: -1.8rem;letter-spacing: -.2rem;}
.under main .step_list dl 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_list dl dd .tt::before,.under main .step_list dl dd .tt::after{display: none;}
.under main .step_list dl dd .tt::after{display:none !important}
.under main .step_list dl dd p:has(img){margin-bottom: 2.2rem;}

.under main .pickup_box:not(:last-child){margin-bottom: 15rem;}
.under main .pickup_box{padding: 0 2.4rem 3rem;box-shadow: 0.6rem 0.6rem 1.6rem #E9E9E9;position: relative;background-color: #fff;}
.under main .pickup_en{font-size: 5.8rem;text-align: center;line-height: 1;margin-bottom: 2.6rem;font-weight: 300;font-family: var(--f-garamond);letter-spacing: -.35rem;color:#D8CFC3}
.under main .pickup_tt{font-size: 2.6rem;text-align: center !important;font-weight: 400;margin-bottom:1.5rem;font-family: var(--f-mincho);line-height: 1.4;padding: 0;color:var(--txt);}
.under main .pickup_tt:before,.under main .pickup_tt:after{display: none;}
.under main .pickup_box.pickup02 .heading_box::before{background-color: #E0F5DA;}
.under main .pickup_box.pickup02 .heading_box::after{border-color: #C2E2BA;}
.under main .pickup_box.pickup02 .pickup_en{color:#C2E2BA}
.under main .pickup_box.pickup03 .heading_box::before{background-color: #D8E1EF;}
.under main .pickup_box.pickup03 .heading_box::after{border-color: #BFCCDF;}
.under main .pickup_box.pickup03 .pickup_en{color:#BFCCDF}
.under main .pickup_box .heading_box{margin-bottom: 4rem;}


.under main .sec08_list{padding-top: 2rem;}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{margin-bottom: 4rem;padding: 3rem 2rem;background-color: #F5F3F1;box-shadow: 0.6rem 0.6rem 1.6rem #E9E9E9}
.under main .frame01 .list01 li:not(:last-child),.under main .faq_list .list01 li:not(:last-child){margin-bottom: 1.7rem;}
.under main .frame01 .list01 li::before,.under main .faq_list .list01 li::before{background-color: #E58F1F;width: 0.7rem;height: 0.7rem;top: 0.7rem;}
.under main .frame01 .list01 li,.under main .faq_list .list01 li{padding-left: 2.5rem;line-height: 1.5;}
.under main .list01 li .year{display: block;flex-shrink: 0;}
.under main .list01 li:has(.year){display: flex;gap: 1rem;}
.under main .u_col2{display: grid;grid-template-columns: repeat(2,1fr);gap: 2rem;}
.under main .btn_lg a{padding-right:2rem}
.under main .mb100{margin-bottom: 10rem;}

/* IFRAME BOX */
.under main .box_map{width:100%;height:30rem}
.under main .box_ytb{width: 90rem;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: 1rem;}

.under main .faq_list .dt h3{font-size:1.8rem;padding-bottom: 0;margin: 0;}
.under main .faq_list .dt h3::after{display: none;}
/* ===========  PAGINATION ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 3rem auto 0}
.under main .pagination li{margin: 0 0.5rem}
.under main .pagination li a{width:3.6rem;height: 3.6rem;text-align: center;border:1px solid  var(--scolor);background: #fff;display: flex;color: var(--scolor);justify-content: center;align-items: center;border-radius: 0.5rem;}
.under main .pagination li:hover a,
.under main .pagination li.active a{background: var(--scolor);color: #fff;}
.under main .pagination li.active a{pointer-events: none;}
.under main .pagination li.disabled {display: none}
.under main .pagination li.arrow a{width: inherit;border: none;background: none !important;}
.under main .category_list{display: flex;justify-content: center;gap:1rem;margin-bottom: 2.6rem;flex-wrap: wrap;}
.under main .category_list li{width: calc((100% - 3rem) / 4);}
.under main .category_list li a{text-align: center; display: flex; justify-content: center; align-items: center; height: 4.8rem; position: relative; border: 1px solid #ABA092; color: var(--scolor); font-weight: 400; font-family: var(--f-mincho); padding-top: 0.3rem; letter-spacing: 0.2rem;}
.under main .category_list li.active a{background-color: #ABA092; color: #FFF; cursor: default;}
.under main .news_item{padding:1.5rem;background-color:var(--mcolor);border-radius: 1rem;}
.under main .news_item:not(:last-child){margin-bottom: 3rem}
.under main .news_item .thumb{margin-bottom:1.5rem;overflow: hidden;border-radius:1rem;aspect-ratio: 392/242;}
.under main .news_item .thumb:not(.before-after){display: flex;justify-content: center;align-items: center;}
.under main .news_item .gr{justify-content: space-between;display: flex;margin-bottom: 1rem;}
.under main .news_item .post_cate{background-color: var(--scolor);color: #FFF;border-radius: 0.5rem;padding: 0.5rem 1rem 0.2rem;margin-right: 0.8rem;line-height: 1.4;}
.under main .news_item .post_date{font-weight: 400;}
.under main .news_item .post_tt a{font-size: 1.8rem;font-weight:bold;text-overflow:ellipsis; overflow:hidden;display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;display: inline-block;}

.under main .ovn_btn_box { display: flex; justify-content: center; gap: 1rem; }
.under main .ovn_btn_box .ovn_btn{width: calc((100% - 2rem) / 3);font-size: 1.5rem;text-align: center;display: flex;justify-content: center;align-items: center;height: 4.8rem;position: relative;border: 1px solid var(--mcolor);}
.under main .ovn_btn_box .ovn_btn:not(.viewPage)::before{content: "";position: absolute;width:0.8rem;height: 1.6rem;top: calc(50% - 0.8rem);background-color: #ABA092;}
.under main .ovn_btn_box .ovn_btn.nextPage::before{right: 1.5rem;clip-path: polygon(0 0, 0 0, 100% 50%, 0 100%);}
.under main .ovn_btn_box .ovn_btn.prevPage::before{left: 1.5rem;clip-path: polygon(100% 100%, 100% 0, 0 50%, 100% 100%);}
.under main .ovn_btn_box .ovn_btn.hidden { visibility: hidden; opacity: 0; }
.under main .ovn_btn_box .ovn_btn.nextPage{padding-right: 1.5rem;}
.under main .ovn_btn_box .ovn_btn.prevPage{padding-left: 1.5rem;}


.under main .caption{margin: -1rem 0 3rem;text-align: center;background-color: var(--mcolor);border-radius: 1rem;padding: 0.5rem 1rem 0.3rem;font-size: 1.4rem;}

.under main .list02{margin-bottom: 3rem;}
.under main .list02 li{counter-increment: li; padding-left: 3rem;position: relative;margin-bottom: 1rem;}
.under main .list02 li::before{ content: counter(li);position: absolute;width: 2.2rem;height: 2.2rem;display: flex;justify-content: center;align-items: center;border-radius: 50%;left: 0; top: 0.1rem; background-color: var(--mcolor);font-size: 1.2rem;font-weight: bold;color: #FFF;line-height: 2.2rem;}

/*==========================================================
                     EDITOR ovn
==========================================================*/
.u_editor::after { content: ""; display: table; clear: both; }
.u_editor div{font-size: 1.6rem;}
.u_editor .clearfix:not(:last-child){margin-bottom: 4rem;}
/* Blockquote */
.u_editor blockquote { border-left: 0.4rem solid #ccc; padding-left: 1em; margin: 1em 0; color: var(--txt); font-style: italic; }
.u_editor blockquote cite { display: block; font-style: normal; margin-top: 0.5em; color: #999; }
/* Horizontal line */
.u_editor hr { border: none; border-top: 1px solid #ccc; margin: 2em 0; }
.alignright, .alignleft{margin-bottom:3rem;max-width:30rem!important}
.aligncenter{display:block!important;margin:0 auto}

footer .ft_content{display: none;}
footer .ft_box02{padding-top:5.6rem}
/* 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}