/*==========================================================
                        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 .wp_content h3,
.under main .wp_content h4,
.under main .wp_content h5,
.under main .wp_content h6{font-weight: bold;margin-bottom: 15px;font-family: var(--f-mincho);letter-spacing: 0.05em;}

.under main h2, .under main .wp_content  h2{font-size: 28px; line-height: 1.6em;margin: 0 -20px 27px;border-bottom: 2px solid var(--mcolor);padding: 0 20px 9px;color: var(--gray);}

.under main h3, .under main .wp_content h3{font-size: 25px;background: #c1c1c1;color: #000;padding: 9px 10px 6px;margin-bottom: 20px;}

.under main h4,.under main .wp_content h4{font-size: 18px;border-bottom: 2px solid #b5a996;color: var(--gray);padding: 0 0 7px;margin: 0 0 16px;}

.under main h5,.under main .wp_content h5{font-size: 18px;color: var(--brown-dark);margin: 0 0 16px;}

.under main h6,.under main .wp_content h6{font-size: 18px;position: relative;}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 100px}
.under main section{padding:0 0 60px;margin-bottom:0}
.under main section:last-child{padding:0}

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

/*============ TOP INFO ============ */
.under main #top_info{height:160px;width:100%;margin:0 auto;background:#c1c1c1;color: #000;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center; width:100%;height:100%}
.top_info_ttl { font-size: 28px; font-weight: 700; font-family: var(--f-mincho); line-height: 1.6em; }
.under main #top_info.top_2nd{background: #1A1311; height: 210px;color: #fff;}
.under main #top_info.top_2nd .top_info_ttl:before{content: '';position: relative;display: block;background: url("../images/under_top_info_icon.svg") no-repeat center center/100% auto;width: 165px;height: 35px;margin: 9px auto 15px;}
.under main #top_info.top_2nd .top_info_ttl { text-align: center; font-size: 20px;}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:23px}
.under main #topic_path ul{display:block;padding:17px 0}
.under main #topic_path li{display:inline;position: relative;letter-spacing: 0.04em;color: var(--gray);}
.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 a {color: var(--gray);}
.under main #topic_path li:last-child {text-decoration: underline;text-underline-offset: 2px;}

/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 30px;}
.under main .list_anchor .btn{margin: 0 3px 0 5px}
.under main .list_anchor:last-child{margin-bottom: -15px;}


/*==========================================================
                        T A B L E
==========================================================*/
.under main #content table.td_top td{vertical-align:top}
.under main #content table.tb_fix{table-layout: fixed;}

.under main #content table{margin-bottom: 30px;}
.under main #content table th{background:#F5F5F5;color:var(--brown-dark);font-weight:700;text-align: left;padding: 11px 10px 7px;line-height: 2.025em;}
.under main #content table td {padding: 12px 10px 15px;background: #fff;}
.under main #content table td, .under main table th{border: 1px solid #D6D6D6;border-left: none;border-right: none;}
.under main #content table img{display:block;margin:auto;}
.under main #content table.tb_block th,.under main #content table.tb_block td{border: none;}
.under main #content table.tb_price td {text-align: right;}
.under main #content table.center th, .under main table th.center {text-align: center;}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .wp_content ul{margin-bottom: 30px;}
.under main .list01 li,
.under main .wp_content ul li{display:block;padding-left:16px;margin-bottom:18px;position:relative;color: #343434;font-weight: 700;}
.under main .list01 li::before,
.under main .wp_content ul li::before{background:var(--brown-dark);width:6px;height:6px;position:absolute;top:10px;left:0;content:''}

/* LIST 02 */
.under main .list02, .under main .wp_content ol{margin-bottom: 30px;}
.under main .list02 li, .under main .wp_content ol li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 18px;font-weight: 700;color: #343434;}
.under main .list02 li::before, .under main .wp_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: 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:18px;position:relative;color: #343434;font-weight: 700;}
.under main .list_check li::before{content: ''; display: block; position: absolute; top: 4px; 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: 44px;}
.under main .list_faq dl{box-shadow: 0px 3px 6px 0px rgba(141,141,141,0.15);;margin-bottom: 44px;border: 1px solid #F6F2EB;}
.under main .list_faq dt{position: relative;padding: 20px 45px 24px 55px;font-family: var(--f-mincho);line-height: 1.8em;cursor: pointer;transition: all 0.3s;}
.under main .list_faq dt .num{width: 30px;height: 30px;font-weight: bold;text-align:center;line-height: 1em;background: var(--mcolor);color: #fff; display: flex;align-items: center;justify-content: center; position: absolute;left: 15px;top: 18px;}
.under main .list_faq dt:before, .under main .list_faq dt:after {content: '';position: absolute;width: 13px;height: 2px;background: #333;right: 20px;top: calc(50% - 1px);transition: all 0.3s;}
.under main .list_faq dt:after {transform: rotate(90deg);}
.under main .list_faq dt.active:before {transform: rotate(45deg);}
.under main .list_faq dt.active:after {transform: rotate(135deg);}
.under main .list_faq dd{position: relative;padding: 28px 45px 23px 55px;display: none;}
.under main .list_faq dd .num{width: 30px;height: 30px;font-weight: bold;text-align:center;line-height: 1em;background: var(--brown-dark);color: #fff; display: flex;align-items: center;justify-content: center; position: absolute;left: 15px;top: 24px;}
.under main .list_faq dd:before {content: '';position: absolute;width: calc(100% - 40px);height: 1px;background: #E1E1E1;left: 20px;top: 0;}

/* LIST STEP */
.under main .list_step dl{margin-bottom: 54px; position: relative;padding-left: 70px;}
.under main .list_step dl:before {content: '';position: absolute;background: url("../images/under_step_num1.png") no-repeat center center/100% auto;width: 38px;height: 47px;left: 0;top: 4px;}
.under main .list_step dl:after {content: '';position: absolute;width: 2px;height: calc(100% - 61px);left: 19px;top: 61px;background: var(--brown-dark);}
.under main .list_step dl:last-child{margin-bottom: 0}
.under main .list_step dt{font-size: 20px;color: #343434;letter-spacing: 0.05em;line-height: 1.5em;font-family: var(--f-mincho);font-weight: 700;margin: 0 0 21px;}
.under main .list_step dd:not(:last-child){margin-bottom: 20px;}
.under main .list_step dl:nth-child(2):before {background-image: url("../images/under_step_num2.png");}
.under main .list_step dl:nth-child(3):before {background-image: url("../images/under_step_num3.png");}
.under main .list_step dl:nth-child(4):before {background-image: url("../images/under_step_num4.png");}
.under main .list_step dl:nth-child(5):before {background-image: url("../images/under_step_num5.png");}
.under main .list_step dl:nth-child(6):before {background-image: url("../images/under_step_num6.png");}
.under main .list_step dl:nth-child(7):before {background-image: url("../images/under_step_num7.png");}
.under main .list_step dl:nth-child(8):before {background-image: url("../images/under_step_num8.png");}
.under main .list_step dl:nth-child(9):before {background-image: url("../images/under_step_num9.png");}
.under main .list_step dl:nth-child(10):before {background-image: url("../images/under_step_num10.png");}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{border:1px solid #C7C7C7;padding:25px 20px; margin-bottom: 20px;}

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

/* FRAME PICKUP */
.under main .frame_pick{border: 1px solid #000;padding: 25px;background: var(--scolor);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:300px;margin-bottom: 20px;}
.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 .box_ytb video{width:100%;height:auto;aspect-ratio: 16/9;}
/* ===========  OVERNOTE ===========  */
.under main .list_ovn {display: flex;flex-wrap: wrap;margin: 50px auto 0;width: 1200px;max-width: 100%;}
.under main .list_ovn li {padding: 10px;margin-bottom: 15px;position: relative;margin: 0 20px 20px 0;width: calc((100% - 40px) / 3);border: 1px solid var(--mcolor);}
.under main .list_ovn li .img {width: 100%;height: auto;aspect-ratio: 3/2;display: flex;align-items: center;justify-content: center;background: #efefef;}
.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 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;justify-content: space-between;margin: 10px 0 15px;}
.under main .list_ovn .info_box .cate{padding: 0 15px;background: var(--mcolor);color: #fff;border-radius: 5px;}
.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;}
.under main .list_ovn li:hover {background: #fdf4e0;}

/* ===========  OVERNOTE DETAIL ===========  */
.under main .wp_content p a {text-decoration: underline;color: var(--mcolor);}
.under main .wp_content img {max-height: 500px;}
.under main .wp_content .alignleft, .under main .wp_content .alignright, .under main .wp_content .aligncenter {float: none;display: block;margin: 0 auto 20px;}
.under main .wp_content blockquote {padding: 0 0 20px 30px;}
.under main .wp_content:not(:last-child) {margin-bottom: 30px;}

/* ===========  PAGINATION WP ===========  */
.under main .wp_pagination {display: flex;justify-content: center;flex-wrap: wrap;margin-top: 40px;}
.under main .wp_pagination > span,
.under main .wp_pagination a{min-width: 40px;height: 40px;display: flex;justify-content: center;align-items: center;text-decoration: none;color: #fff;margin: 5px;text-align: center;font-weight: 500;line-height: 1em;transition: all 0.3s;padding: 5px;border: 1px #ccc solid;font-size: 14px;background: #ccc;}
.under main .wp_pagination a{color: var(--txt)}
.under main .wp_pagination > span {background: var(--mcolor);border: 1px var(--mcolor) solid;color: #fff;}


.staff_name { font-size: 18px; font-family: var(--f-mincho); color: #343434; font-weight: 600;margin: 0 0 19px; }
.staff_name .lager {display: block;font-size: 155.56%;margin: 8px 0 0;}
.under_list_treatment dt { font-size: 18px; color: var(--gray); font-family: var(--f-mincho); font-weight: 600; border-bottom: 2px solid #b6aa97; padding: 0 0 5px; margin: 0 0 19px; }
.under_list_treatment dl {position: relative;}
.under_list_treatment dl:not(:last-of-type):after {position: absolute;content: ''; background: url("../images/under_arr.svg") no-repeat center center/100% auto;width: 43px;height: 20px;left: calc(50% - 22px);bottom: -39px;}
.under_list_treatment dl:not(:last-of-type) {margin-bottom: 56px;}
.under_list_treatment {margin-bottom: 40px;}
.under_main_treatment .more { height: 60px; cursor: pointer; display: flex; justify-content: center; align-items: center; text-align: center; position: relative; color: #000000; font-family: var(--f-mincho); letter-spacing: 0; transition: all 0.3s; margin: 0;}
.under_main_treatment .more:before, .under_main_treatment .more:after {content: '';position: absolute;width: 13px;height: 2px;background: #333;right: 20px;top: calc(50% - 1px);transition: all 0.3s;}
.under_main_treatment .more:after {transform: rotate(90deg);}
.under_main_treatment .more.active:before {transform: rotate(45deg);}
.under_main_treatment .more.active:after {transform: rotate(135deg);}
.under_main_treatment  {border: 1px solid #F6F2EB;box-shadow: 0px 3px 6px 0px rgba(141,141,141,0.15);}
.under_main_treatment_info{padding: 19px 25px 25px;display: none;}

.doctor_name { font-size: 25px; font-family: var(--f-mincho); line-height: 1.5em; color: #333333; font-weight: 600; }
.doctor_info dt { font-size: 18px; border-bottom: 2px solid #b5a996; color: var(--gray); padding: 0 0 5px; margin: 0 0 16px; font-family: var(--f-mincho); font-weight: 600; }
.doctor_info dd:not(:last-child) { margin: 0 0 21px; }
.under_point { margin: 0 -20px; background: #E8E2D7; position: relative; padding: 78px 20px 50px; }
.under_point:not(.no_en):before {background: url("../images/under_point.png") no-repeat center center/58px auto var(--mcolor);width: 115px;height: 50px;content: '';position: absolute;top: 0;left: 0;}
.under_point_ttl { font-size: 28px; line-height: 1.5em; font-family: var(--f-mincho); color: var(--gray); font-weight: 600; border-bottom: 1px solid var(--mcolor); padding: 0 0 7px; margin: 0 0 30px; }
.under_point.no_en {padding: 50px 20px;}

.under_anchor_ttl { display: flex; align-items: center; justify-content: center; gap: 29px;margin: 0 0 -8px; } 
.under_anchor_ttl:before, .under_anchor_ttl:after { flex: 1; height: 1px; content: ''; position: relative; display: inline-block; background: #c1c1c1; }
.under_anchor_list { border: 1px solid #c1c1c1; border-top: 0; padding: 30px 20px 25px; }
.under_anchor_list li a {position: relative;padding-left: 16px;color: #000;text-decoration: underline;text-underline-offset: 3px;display: inline-block;}
.under_anchor_list li a:before {content: '';position: absolute;width: 6px;height: 6px;background: #000;left: 0;top: 10px;}
.under_anchor_list li {font-weight: 700;margin-bottom: 18px;}
.under_anchor_list li:last-child {margin-bottom: 0;}

.under_bnr li {font-size: 20px;font-weight: 600;line-height: 1.5em;}
.under_bnr li a {background: #c1c1c1;color: #000;text-align: center;height: 100px;display: flex;justify-content: center;align-items: center;font-family: var(--f-mincho);position: relative;padding: 10px;}
.under_bnr li a:after {content: '';position: absolute;width: 10px;height: 10px;background: #000;right: 10px;bottom: 10px;clip-path: polygon(100% 0, 0% 100%, 100% 100%);transition: all 0.3s ease;}

.under_img_list { display: flex; flex-wrap: wrap; gap: 10px; }
.under_img_list li {width: calc((100% - 10px)/2);}
.under_img_list:not(:last-child) {margin-bottom: 1.25em;}

.tb_form input[type="text"], .tb_form input[type="tel"], .tb_form input[type="email"], .tb_form input[type="date"] {width: 100%;border: 1px solid #ccc;line-height: 1.5em;padding: 5px;}
.tb_form textarea {width: 100%!important;border: 1px solid #ccc;line-height: 1.5em;padding: 5px;height: 150px;min-height: 150px;}
.under main .wpcf7-spinner {display: block;margin: 0 auto;}
.tb_form .must { position: relative; display: inline-block; float: right; width: 40px; height: 25px; text-align: center; background: #f00; color: #fff; }
.tb_form .must:after {position: absolute; content: "必須"; left: 0; top: 0; width: 100%; height: 100%; text-indent: 0px; font-size: 12px; font-weight: normal; display: flex; align-items: center; justify-content: center;}
.under main #content table.tb_form th, .under main #content table.tb_form td {border-top: 1px solid #D6D6D6;border-bottom: 1px solid #D6D6D6;}
.form_btn_link input {width: 400px;max-width: 100%; height: 60px; display: flex; justify-content: center; align-items: center; background: url("../images/ic_btn.svg") no-repeat right 6px bottom 6px #fff;font-size: 16px; color: #000;text-decoration: none;border: 1px solid #F6F2EB;font-family: var(--f-mincho);letter-spacing: 0;position: relative;margin: 0 auto;box-shadow: 0px 3px 6px 0px rgba(141,141,141,0.15);padding: 2px 0 0;cursor: pointer;transition: all 0.3s;}
.tb_form .wpcf7-list-item label {cursor: pointer;}
.form_btn_link input:not(:last-child) {margin-bottom: 20px;}
.form_btn_link input.back:not(:hover) { background-color: var(--scolor); color: #fff;background-image: url("../images/ic_btn_hv.svg"); }

.price_note {font-size: 10px;color: #FF0000;font-weight: 700;margin-bottom: 8px;}
.info_cate { display: flex; gap: 10px; margin-bottom: 40px;}
.info_cate .btn {width: calc((100% - 10px)/2);margin: 0;}
.info_cate .btn a {width: 100%;}
.info_cate .btn.active a {background: var(--mcolor);color: #fff;cursor: default;}
.info_cate .btn.active a:after {background: #fff;}

.info_item { position: relative; margin: 0 0 30px; background: rgb(146 129 99 / 10%); padding: 20px;transition: all 0.3s; }
.info_item a {position: absolute;width: 100%;height: 100%;top: 0;left: 0;}
.info_item_img { height: 200px; background: #fff; display: flex; justify-content: center; align-items: center; overflow: hidden;margin-bottom: 20px; }
.info_item_img img {width: 100%; height: 100%;object-fit: cover;}
.info_item_ttl { font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 10px; }
.info_item_info { display: flex; justify-content: space-between; font-weight: 700; }
.info_item_info .cate { background: var(--gray); color: #fff; font-weight: 400; font-size: 85%; padding: 3px 10px 0; }
.info_item_img_move {margin-bottom: 20px;}

.under main .wpcf7 form .wpcf7-response-output {font-size: 13px;}

.doctor_info:not(:last-child) {margin-bottom: 20px;}
.implant_skill { display: flex; gap: 10px; flex-wrap: wrap;margin-bottom: 20px;}
.implant_skill li {width: calc((100% - 20px)/3);border: 1px solid #ccc;}

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