 /*==========================================================

                        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 .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
 }
 .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-family: var(--f-yumin);
   font-weight: 600;
   letter-spacing: 0.04em;
   line-height: 1.73;
 }
 .under main .inner {
   padding: 0 20px
 }
 .under main p {
   font-weight: 400;
   line-height: 1.8;
   letter-spacing: .05em
 }
 .under .un_page_ttl {
   font-size: 26px;
   padding: 0;
   letter-spacing: .05em;
   line-height: 1.5;
   width: 100%;
   font-family: var(--f-yumin);
   font-weight: 700
 }
 .under h2.un_page_ttl {
   margin-bottom: 0
 }
 .under main .un_ttl2, .under main .wp_content h2 {
   font-size: 26px;
   position: relative;
   margin-bottom: 26px;
   line-height: 1.5;
   letter-spacing: .04em;
   border-top: 1px #BBB solid;
   padding-top: 16px
 }
 .under main .un_ttl2::before, .under main .wp_content h2::before {
   position: absolute;
   content: "";
   width: 100px;
   height: 1px;
   background: #AEA078;
   left: 0;
   top: -1px
 }
 .under main .un_ttl2::after {
   background-color: #ccc;
   width: 100%
 }
 .under main .un_ttl3, .under main .wp_content h3 {
   margin-bottom: 16px;
   position: relative;
   font-size: 20px;
   line-height: 1.5;
   padding-left: 14px;
   font-family: var(--f-yumin);
   font-size: 20px;
   letter-spacing: .05em;
   color: #333
 }
 .under main .un_ttl3.sm {
   font-size: 18px;
   margin-bottom: 10px
 }
 .under main .un_ttl3::before, .under main .wp_content h3::before {
   position: absolute;
   content: "";
   width: 4px;
   left: 0
 }
 .under main .un_ttl3::before, .under main .wp_content h3::before {
   height: calc(100% - 7px);
   background: #aea078;
   top: 3px
 }
 .under main .un_ttl4, .under main .wp_content h4 {
   font-size: 18px;
   border-bottom: 1px #aea078 solid;
   padding-bottom: 9px;
   margin-bottom: 15px;
   letter-spacing: .05em;
   color: #243d47;
   line-height: 1.5;
   font-weight: 600
 }
 .under main .un_ttl5, .under main .wp_content h5 {
   margin-bottom: 15px;
   font-weight: 600;
   font-size: 16px;
   letter-spacing: .05em;
   line-height: 24px;
   text-align: left;
   color: #aea078
 }
 .under main .un_ttl6, .under main .wp_content h6 {
   position: relative;
   margin-bottom: 13px;
   font-weight: 700;
   font-size: 16px;
   letter-spacing: .05em;
   line-height: 2;
   border-bottom: 1px #AEA078 solid
 }
 .under main .step_img {
   position: relative;
   margin-bottom: 15px
 }
 /*==========================================================

                      MAIN - CONTENT

==========================================================*/
 .under main #content {
   padding: 0 0 120px
 }
 .under .content {
   position: relative;
   padding-bottom: 85px
 }
 .under main section {
   padding: 0 0 50px;
   margin-bottom: 0;
   background: none
 }
 .under main section:last-child {
   padding: 0
 }
 .under main ol li {
   list-style: decimal
 }
 .under main .link {
   text-decoration: underline;
   color: #AEA078;
 }
 /*============ TOP INFO ============ */
 .under main #top_info {
   height: 135px;
   width: 100%;
   max-width: 1920px;
   margin: 0 auto 9px;
   color: #fff;
   background: #40210f
 }
 .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: 23px
 }
 .under main #topic_path ul {
   display: block;
   padding: 0
 }
 .under main #topic_path li {
   display: inline;
   position: relative;
   letter-spacing: .04em;
   font-size: 14px
 }
 .under main #topic_path li:not(:last-child)::after {
   content: "/";
   position: relative;
   display: inline-block;
   margin: 0 1px 0 3px;
   top: 1px;
   pointer-events: none
 }
 .under main #topic_path li:last-child {
   text-decoration: underline;
   text-underline-offset: 2px
 }
 .under main #topic_path li a {
   text-decoration: none;
   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
 }
 .under main .list_anchor.mt01 .btn a::before {
   background: url(../images/icon_arrow_down.svg) no-repeat center;
   width: 5px;
   height: 20px;
   top: calc(50% - 10px);
   right: 22px
 }
 .under main .list_anchor .btn {
   margin: 0 0 20px;
   width: 100%
 }
 .under main .list_anchor:last-child {
   margin-bottom: -15px
 }
 .under main .list_anchor.mt01 {
   justify-content: center;
   max-width: 400px;
   margin: 56px auto -15px
 }
 /*==========================================================
                        T A B L E
==========================================================*/
 table {
   margin-bottom: 30px
 }
 table.td_top td {
   vertical-align: top
 }
 table.tb_fix {
   table-layout: fixed
 }
 table.mb0 {
   margin-bottom: 0
 }
 table td {
   border-color: #AEA078
 }
 table th, table td {
   padding: 12px 10px 8px;
   border: none;
   letter-spacing: .05em;
   line-height: 1.8
 }
 table td {
   padding: 14px 10px
 }
 table img {
   display: block;
   margin: auto
 }
 table th {
   text-align: left;
   font-family: var(--f-yumin);
   line-height: 1.8;
   border-top: 1px #AEA078 solid;
   border-bottom: none;
   font-weight: 400
 }
 table th.center {
   text-align: center
 }
 table.center th {
   text-align: center
 }
 table:not(.tb_block) tr th {
   border-top: 1px #AEA078 solid
 }
 table:not(.tb_block) tr td {
   border-top: 1px #AEA078 solid
 }
 table:not(.tb_block) tr:last-child th {
   border-bottom: 1px #AEA078 solid
 }
 table:not(.tb_block) tr:last-child td {
   border-bottom: 1px #AEA078 solid
 }
 table.tb_block tr {
   display: flex;
   flex-direction: column
 }
 table.tb_block td + td {
   border-top: none
 }
 table.tb01 tr:first-child th, table.tb01 tr:first-child td {
   border-top: none
 }
 table.tb01 tr th {
   padding: 12px 8px 8px
 }
 table.tb_block th, table.tb_block td {
   width: 100%;
   padding: 12px 12px 9px;
   line-height: 1.8;
   font-size: 16px
 }
 table.tb_block td {
   padding-bottom: 15px
 }
 .under table.tb_price th {
   background: #fff
 }
 /*============ LIST ============ */
 /* LIST01 */
 .under main .wp_content ul, .under main .list01 {
   margin-bottom: 20px
 }
 .under main .list01.mt1 {
   margin-top: 10px
 }
 .under main .wp_content ul li, .under main .list01 li {
   display: block;
   padding-left: 18px;
   margin-bottom: 8px;
   position: relative;
   letter-spacing: .05em;
   background: url(../images/icon_list.svg) no-repeat left top 9px;
   color: #343434;
   line-height: 1.8
 }
 .under main .frame03 .list01 li {
   font-weight: 700
 }
 .under main .list01 li.flex_list {
   display: flex
 }
 .under main .list01 li.flex_list > span {
   flex-shrink: 0;
   margin-right: 10px
 }
 .under main .list01 li.pl1 {
   margin-left: 20px
 }
 .under main .wp_content ul li a, .under main .list01 li a {
   position: relative;
   margin-left: -20px;
   padding-left: 20px
 }
 .under main .list01.list_f {
   display: flex;
   flex-wrap: wrap
 }
 .under main .list01.list_f li {
   flex-shrink: 0
 }
 .under main .list01.list_f li:not(:last-child) {
   margin-right: 30px
 }
 /* LIST02 */
 .under main .wp_content ol, .under main .list02 {
   margin-bottom: 30px
 }
 .under main .wp_content ol li {
   list-style: none
 }
 .under main .wp_content ol li, .under main .list02 > li {
   counter-increment: li;
   padding-left: 30px;
   position: relative;
   margin-bottom: 10px;
   font-weight: 700;
   letter-spacing: .05em
 }
 .under main .wp_content table th, .under main .wp_content table td {
   font-size: 16px
 }
 .under main .wp_content ol li::before, .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: 3px;
   background-color: var(--mcolor);
   font-size: 12px;
   font-weight: 700;
   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;
   font-weight: 700;
   letter-spacing: .05em
 }
 .under main .list_check li::before {
   content: '';
   display: block;
   position: absolute;
   top: 6px;
   left: 5px;
   width: 7px;
   height: 15px;
   border: solid var(--mcolor);
   border-width: 0 2px 2px 0;
   transform: rotate(45deg)
 }
 .under .list_faq dd span:not(.bold) {
   background: #D6B456
 }
 /* LIST STEP */
 .under main .list_step {
   position: relative;
   margin-left: 20px
 }
 .under main .list_step.no_img dt {
   margin-bottom: 0
 }
 .under main .list_step dl {
   margin-bottom: 50px;
   position: relative
 }
 .under main .list_step dl::before {
   position: absolute;
   content: "";
   width: 1px;
   height: calc(100% - 50px);
   border-left: 2px #aea078 solid;
   top: 50px;
   left: 4px
 }
 .under main .list_step dl:last-child {
   padding-bottom: 0;
   margin-bottom: 0
 }
 .under main .list_step dt {
   display: flex;
   align-items: flex-start;
   margin-bottom: 20px
 }
 .under main .list_step dt .icon {
   width: 50px;
   height: 50px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-family: var(--f-yumin);
   font-size: 20px;
   font-weight: 700;
   margin-right: 0;
   flex-shrink: 0;
   top: 0;
   position: relative;
   flex-direction: column;
   letter-spacing: .1em;
   left: -20px;
   background: #aea078;
   line-height: 1;
   padding-top: 6px
 }
 .under main .list_step dt .icon .txt {
   font-size: 10px;
   letter-spacing: .1em;
   border-bottom: 1px #fff solid;
   padding-bottom: 3px
 }
 .under main .list_step dt .icon .num {
   font-size: 20px;
   font-weight: 600;
   line-height: 1.5
 }
 .under main .list_step dt .tt {
   font-size: 18px;
   font-weight: 700;
   line-height: 2em;
   letter-spacing: .03em;
   position: relative;
   align-self: center;
   font-family: var(--f-yumin);
   line-height: 1.5
 }
 .under main .list_step dd {
   padding-left: 50px;
   position: relative
 }
 .under main .list_step dd, .under main .list_step dd p {
   line-height: 1.8;
   letter-spacing: .05em
 }
 /* FRAME */
 .under main .frame01 {
   padding: 27px 19px;
   margin-bottom: 50px;
   background: #fff;
   box-shadow: 0 0 6px rgba(0, 0, 0, 0.16)
 }
 .under main .frame01.mb20, .under main .list01.mb20, .under main .list02.mb20 {
   margin-bottom: 20px
 }
 .under main .list02.mb15 {
   margin-bottom: 15px
 }
 .under main .frame02 {
   background: #FFF6E9;
   padding: 13px 15px 56px
 }
 .under main .frame03 {
   background: #f3f3f3;
   padding: 25px 27px
 }
 .under main .frame_link {
   background: #fff;
   border: 1px solid #c7c7c7;
   padding-bottom: 3px
 }
 .under main .frame03 .list01 li {
   margin-bottom: 5px;
   background-position: left top 10px
 }
 .under main .un_tt1 {
   background: #505050;
   color: #fff;
   text-align: center;
   font-family: var(--f-yumin);
   font-size: 18px;
   padding: 10px 10px 9px;
   margin-bottom: 18px
 }
 /* LIST LINK */
 .under main .list_link {
   padding: 0 19px
 }
 .under main .list_link li {
   position: relative;
   font-weight: 700;
   font-size: 16px;
   letter-spacing: .05em;
   line-height: 1.8;
   color: #343434;
   margin-bottom: 17px;
   border-bottom: 1px #707070 solid
 }
 .under main .list_link li a {
   background: url(../images/icon_list_anchor.svg) no-repeat left top 9px;
   padding-left: 22px;
   display: block
 }
 /* FRAME PICK */
 .under main .frame_pick {
   padding: 0 20px 40px;
   margin-bottom: 50px;
   position: relative;
   width: calc(100% + 40px);
   left: -20px;
   box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
   background: url(../images/frame_pick_bg.png)#fff no-repeat right top
 }
 .under main .pick_ttl_en {
   width: 115px;
   height: 50px;
   background: #aea078;
   font-family: var(--f-yumin);
   font-weight: 400;
   font-size: 20px;
   letter-spacing: .1em;
   color: #fff;
   text-align: center;
   line-height: 50px;
   position: relative;
   left: -20px;
   margin-bottom: 20px
 }
 .under main .frame_pick .pick_ttl {
   font-size: 30px;
   font-weight: 700;
   text-align: center;
   position: relative;
   padding-bottom: 10px;
   margin-bottom: 20px;
   line-height: 1.8;
   letter-spacing: 0
 }
 .under main .frame_pick .un_ttl2, .under main .frame_pick .un_ttl3, .under main .frame_pick .un_ttl4, .under main .frame_pick .un_ttl5, .under main .frame_pick .un_ttl6 {
   padding-right: 85px
 }
 /* OTHER */
 .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
 }
 /* WP */
 .under main .list_ovn {}
 .under main .list_ovn li {
   padding-bottom: 15px;
   margin-bottom: 25px;
   border-bottom: 2px solid var(--color-red)
 }
 .under main .list_ovn li .big {
   max-height: 60px;
   text-overflow: ellipsis;
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   font-weight: 700
 }
 .under main .wp_content .label {
   background: var(--mcolor);
   color: #fff;
   padding: 5px 10px 3px;
   color: #fff;
   width: 100%;
   text-align: center;
   margin-bottom: 15px;
   display: block
 }
 .under main .wp_content .label:last-child {
   margin-bottom: 0
 }
 .under main .wp_content p a {
   text-decoration: underline;
   color: var(--mcolor)
 }
 .under main .wp_content img {
   max-height: 202px;
   width: auto;
   margin: 0 auto;
   display: table
 }
 .under main .wp_content del {
   text-decoration: line-through
 }
 .under main .btn_list {
   display: flex;
   flex-direction: column
 }
 .under main .btn_list .btn:not(:last-child) {
   margin-bottom: 30px
 }
 .under main .btn_list .is_prev a {
   justify-content: flex-end;
   text-align: right;
   padding-left: 0;
   padding-right: 20px
 }
 .under main .btn_list .is_prev a::before {
   left: 0;
   right: inherit;
   transform: rotate(180deg)
 }
 .under main .btn_list .is_none a {
   text-align: center;
   justify-content: center
 }
 .under main .btn_list .is_none a::before {
   display: none
 }
 .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
 }
 .under main .un_ttl7 {
   text-align: center;
   font-weight: 700;
   font-size: 24px;
   color: #333;
   margin-bottom: 20px;
   font-family: var(--f-yumin)
 }
 .under main .btn_acc dl dt {
   height: 55px;
   text-align: center;
   color: #fff;
   font-size: 20px;
   margin: 0 auto 5px;
   font-family: var(--f-yumin);
   line-height: 58px;
   background: linear-gradient(135deg, rgba(67, 153, 167, 1) 0%, rgba(102, 167, 68, 1) 100%)
 }
 .under main .box_step_tt, .under main .un_ttl8 {
   font-size: 16px;
   font-weight: 600;
   border-bottom: 1px #AEA078 solid;
   margin-bottom: 20px;
   font-family: var(--f-yumin)
 }
 .under main .box_step_img {
   text-align: center
 }
 .under main .box_step_img img { /*max-height:203px;*/ width: auto
 }
 .under main .box_step > li {
   position: relative
 }
 .under main .box_step > li:not(:last-child) {
   margin-bottom: 42px
 }
 .under main .box_step > li:not(:last-child)::before {
   position: absolute;
   content: "";
   background: url(../images/arrow_step.svg) no-repeat center top;
   width: 43px;
   height: 25px;
   left: 0;
   right: 0;
   margin: 0 auto;
   bottom: -44px
 }
 .under main .btn_acc .un_ttl3 {
   margin-bottom: 15px
 }
 .under main .red_txt {
   font-size: 10px;
   color: red;
   font-weight: 700;
   margin-bottom: 9px;
   text-align: right
 }
 .under main .mailform .red_txt {
   font-size: 14px;
   display: block;
   margin-top: 10px
 }
 .under main .doctor_tt2 {
   display: flex;
   flex-direction: column;
   align-items: center;
   font-weight: 700;
   position: relative;
   margin-bottom: 9px;
   font-family: var(--f-yumin)
 }
 .under main .doctor_tt2 .sm {
   font-size: 18px;
   margin-bottom: -3px
 }
 .under main .doctor_tt2 .lg {
   font-size: 25px
 }
 .under main .doctor_img {
   margin-bottom: 15px
 }
 .under main .flex1 {
   display: flex;
   margin-bottom: 0
 }
 .under main .flex1 span {
   width: 120px;
   flex-shrink: 0;
   text-align: right;
   margin-right: 10px
 }
 .under main .un_bnr li {}
 .under main .un_bnr li a {
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 22px;
   text-align: center;
   height: 130px;
   font-weight: 700;
   background: url(../images/frame_pick_bg.png) no-repeat right center/contain;
   position: relative;
   z-index: 1;
   font-family: var(--f-yumin)
 }
 .under main .un_bnr li:not(:last-child) {
   margin-bottom: 30px
 }
 .under main .un_bnr li.un_bnr1 {
   background: var(--mcolor)
 }
 .under main .un_bnr li.un_bnr2 {
   background: #40210F
 }
 .under main .center.bor15 {
   margin-bottom: 15px
 }
 .under main .un_ttl9 {
   background: #FFF6E9;
   font-weight: 700;
   line-height: 1.8;
   margin-bottom: 17px;
   font-size: 16px;
   color: var(--mcolor);
   padding: 12px 12px 8px
 }
 .under main .mb1 {
   margin-bottom: 16px
 }
 .under main .cta_under .cta_contact_mail a {
   font-size: 17px;
   padding-right: 0
 }
 .under main .cta_under .cta_contact_tel {
   position: relative
 }
 .under main .cta_under .cta_contact_tel .tel_txt {
   color: #fff;
   position: absolute;
   left: 0;
   right: 0;
   top: 10px;
   margin: 0 auto;
   text-align: center;
   background: none;
   padding-left: 0;
   font-weight: 700
 }
 .under main .cta_under .cta_contact_tel a {
   padding-top: 30px;
   padding-left: 0
 }
 .under main .cta_under.frame02 {
   padding: 25px 15px
 }
 .under main .list01.list_left li {
   text-align: left
 }
 .under main .space1 {
   display: flex
 }
 .under main .space1 > span {
   flex-shrink: 0;
   width: 84px
 }
 .under main .info_box {
   display: flex;
   justify-content: space-between
 }
 .under main .info_box .cate {
   background: #3B3B3B;
   height: 27px;
   line-height: 28px;
   min-width: 70px;
   text-align: center;
   font-size: 12px;
   margin-right: 11px;
   padding-left: 2px;
   letter-spacing: .05em;
   color: #fff
 }
 .under main .info_box .date {
   font-size: 15px;
   font-weight: 700;
   letter-spacing: 0
 }
 .under main .btn.active a {
   background-color: var(--mcolor);
   color: #fff;
   pointer-events: none
 }
 .under .content {
   word-break: break-all
 }
 .under main .box_step_txt, .under main .ovn_cap {
   padding: 20px;
   background: #fff6e9
 }
 .under main .ovn_img li .img {
   text-align: center
 }
 .under main .ovn_img li:not(:last-child) {
   margin-bottom: 30px
 }
 .under main .ovn_img li .img img {
   max-height: 300px;
   max-width: 100%;
   display: table;
   margin: 0 auto
 }
 .under main .ovn_img {
   margin-bottom: 30px
 }
 .under main .column_wrap {
   max-width: 400px;
   margin: 0 auto
 }
 .un_acc dl dd table.tb_block th {
   background: #F5F5F5
 }
 .under main .box_his .sec03_box ul li:before {
   background: #AEA078
 }
 .under main .box_his .sec03_box_tt:before {
   top: 1px
 }
 .under main .sec10 {
   position: relative;
   width: calc(100% + 40px);
   left: -20px;
   margin-bottom: 50px;
   height: auto;
   padding-bottom: 104px
 }
 .under main .sec10:before {
   z-index: -1;
   height: 100%;
   background-size: cover
 }
 .under main .sec10 .ttl {
   padding-top: 104px;
   margin-bottom: 30px
 }
 .under.news_page main .sec10 {
   min-height: 635px
 }
 .under main .sec10_txt {
   padding: 0 20px
 }
 .under main .un_img_full {
   position: relative;
   width: calc(100% + 40px);
   left: -20px
 }
 .under main .un_img_full img {
   width: 100%
 }
 .under main .list_3anchor {
   display: flex;
   justify-content: center;
   width: 100%;
   margin: 15px auto 0
 }
 .under main .list_3anchor li {
   flex: 1;
   height: 50px;
   position: relative
 }
 .under main .list_3anchor li a {
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   transition: all .3s;
   position: relative;
   color: #333;
   letter-spacing: .09em
 }
 .under main .list_3anchor li.active a:after {
   position: absolute;
   content: "";
   width: 0;
   height: 0;
   border-style: solid;
   border-right: 5px solid transparent;
   border-left: 5px solid transparent;
   border-top: 5px solid #fff;
   border-bottom: 0;
   left: 0;
   right: 0;
   margin: 0 auto;
   bottom: 8px
 }
 .under main .list_3anchor li:before, .under main .list_3anchor li:first-child:after {
   position: absolute;
   content: "";
   width: 1px;
   height: 50px;
   background: #888;
   right: 0;
   top: 0
 }
 .list_3anchor li:first-child:after {
   left: 0;
   right: auto
 }
 .under main .list_3anchor li.active a {
   background: #333;
   pointer-events: none;
   color: #fff
 }
 /*.under main .list_news li{background:#fff;padding:19px 19px 15px;border:1px #707070 solid}*/
 .under main .list_news {
   max-width: 400px;
   margin: 0 auto
 }
 .under main .list_news li {
   border-bottom: #707070 solid 1px;
   padding: 0 0 30px;
 }
 .under main .list_news li.link_post {
   cursor: pointer
 }
 .under main .list_news li:not(:last-child) {
   margin-bottom: 40px
 }
 .under main .list_news li .img {
   height: 270px;
   margin-bottom: 20px
 }
 .under main .list_news li .img img {
   width: 100%;
   height: 100%;
   object-fit: cover
 }
 .under main .list_news li .info {
   display: flex;
   margin-bottom: 6px
 }
 .under main .list_news li .info p {
   margin-bottom: 0
 }
 .under main .list_news li .info .cate {
   background: #333;
   color: #fff;
   height: 30px;
   line-height: 31px;
   min-width: 85px;
   text-align: center;
   flex-shrink: 0;
   margin-right: 12px;
   padding: 0 5px
 }
 .under main .list_news li .link {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden
 }
 .under main .list_news li .link {
   text-decoration: none
 }
 .news_page .cta_btn li.cta_mail {
   margin-bottom: 15px
 }
 .news_post .content {
   padding-bottom: 0
 }
 .under.news_post main .sec10 {
   margin-bottom: 0
 }
 .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: 50px;
   height: 50px;
   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 .3s;
   padding: 5px 10px 3px;
   border: 1px #333 solid;
   font-size: 16px
 }
 .under main .wp_pagination a {
   color: #232323
 }
 .under main .wp_pagination > span, .under main .wp_pagination a:hover {
   background: #333;
   color: #fff
 }
 .under main .news_btn li:not(:last-child) {
   margin-bottom: 20px
 }
 .under main .news_btn li.btn.prevPage a::before {
   left: 14px;
   right: auto;
   transform: scaleX(-1)
 }
 .under main .news_btn li.btn.btn_back a::before {
   display: none
 }
 .translated-ltr .under main .list_link li a, .translated-ltr table.tb_block th {
   text-transform: capitalize;
 }
 .translated-ltr .under main .un_bnr li a {
   flex-direction: column;
 }
 /* ========== blog_case_tab shortcode only（sec02と同構造・同レイアウト・同色・クラスはすべて bc_tab_* で index に影響なし）========== */
 /* 親ラッパー（幅・白背景） */
 .bc_tab_sec_parent {
   width: calc(100% + 40px);
   margin-left: -20px;
   background: #fff;
   box-sizing: border-box;
 }
 /* 色: #40210f=茶, #D6B456=ゴールド, #333=タブ黒, #232323=見出し英, #e3e3e3=タブ区切り, #cecece=リスト下線, #fff */
 .bc_tab_sec {
   padding: 40px 20px;
   border-top: 2px #40210f solid;
   background: #fff;
   margin-top: 1em;
   isolation: isolate;
   position: relative;
   box-sizing: border-box;
 }
 /* sec02::before と同様（左上 100px×5px のアクセントバー）。z-index で前面に表示 */
 .bc_tab_sec::before {
   position: absolute;
   content: "";
   width: 100px;
   height: 5px;
   background: #40210f;
   left: 0;
   top: 0;
   pointer-events: none;
   box-sizing: border-box;
   z-index: 1;
 }
 .bc_tab_sec .bc_tab_inner {
   width: var(--site_size, 440px);
   margin: 0 auto;
   max-width: 100%;
   padding: 104px 20px 30px;
   position: relative;
   background: #fff;
 }
 .bc_tab_sec .bc_tab_ttl {
   margin-bottom: 33px;
   display: flex;
   flex-direction: column;
 }
 .bc_tab_sec .bc_tab_ttl_en {
   font-weight: 400;
   font-size: 40px;
   line-height: 1;
   color: #232323;
   margin-bottom: 9px;
 }
 .bc_tab_sec .bc_tab_ttl_ja {
   font-family: var(--f-yumin, "Yu Mincho", serif);
   font-weight: 400;
   font-size: 18px;
   letter-spacing: .05em;
   line-height: 2;
   color: #333;
 }
 .bc_tab_sec .bc_tab_tab {
   display: flex;
   justify-content: center;
   width: 100%;
   margin: 0 auto 31px;
   list-style: none;
   padding: 0;
 }
 .bc_tab_sec .bc_tab_tab li {
   height: 50px;
   flex: 1;
   position: relative;
   max-width: 50%;
 }
 .bc_tab_sec .bc_tab_tab li::before {
   position: absolute;
   content: "";
   width: 1px;
   height: 50px;
   background: #e3e3e3;
   right: 0;
   top: 0;
 }
 .bc_tab_sec .bc_tab_tab li a {
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   transition: all .3s;
   position: relative;
   color: #333;
   letter-spacing: .09em;
 }
 .bc_tab_sec .bc_tab_tab li a.active {
   background: #333;
   pointer-events: none;
   color: #fff;
 }
 .bc_tab_sec .bc_tab_tab li a.active::before {
   position: absolute;
   content: "";
   width: 0;
   height: 0;
   border-style: solid;
   border-right: 5px solid transparent;
   border-left: 4px solid transparent;
   border-top: 5px solid #fff;
   border-bottom: 0;
   left: 0;
   right: 0;
   margin: 0 auto;
   bottom: 8px;
 }
 .bc_tab_sec .bc_tab_tab li a:hover {
   background: #333;
   color: #fff;
 }
 .bc_tab_sec .bc_tab_wrap {
   background: #fff;
   width: 100%;
   margin: 0 auto;
   min-height: 120px;
 }
 /* 約3記事分の高さでリストのみスクロール（10件取得時用）。ボタンは下に固定 */
 .bc_tab_sec .bc_tab_box .bc_tab_load {
   max-height: 320px;
   overflow-y: auto;
   overflow-x: hidden;
 }
 .bc_tab_sec .bc_tab_wrap .bc_tab_btn {
   margin-top: 20px;
 }
 .bc_tab_sec .bc_tab_wrap .bc_tab_btn:first-of-type {
   margin-top: 50px;
 }
 .bc_tab_sec .bc_tab_btn.bc_tab_btn_center a {
   margin: 0 auto;
 }
 .bc_tab_sec .bc_tab_btn a {
   width: 100%;
   max-width: 400px;
   height: 60px;
   display: flex;
   align-items: center;
   font-size: 16px;
   color: #333;
   padding-top: 2px;
   position: relative;
   border: 1px solid #333;
   justify-content: center;
   letter-spacing: .09em;
   text-decoration: none;
   box-sizing: border-box;
 }
 .bc_tab_sec .bc_tab_btn a::before {
   position: absolute;
   content: "";
   width: 20px;
   height: 5px;
   background: url(../images/icon_arrow.svg) no-repeat center;
   right: 14px;
   top: calc(50% - 2px);
   z-index: 9;
   transition: all ease .3s;
 }
 .bc_tab_sec .bc_tab_btn a:hover {
   opacity: .85;
 }
 .bc_tab_sec .bc_tab_load dl {
   display: flex;
   flex-direction: column;
   padding-bottom: 20px;
   margin-bottom: 25px;
   align-items: flex-start;
   background-image: repeating-linear-gradient(90deg, #cecece, #cecece 4px, transparent 4px, transparent 6px);
   background-position: left bottom;
   background-repeat: repeat-x;
   background-size: 100% 1px;
 }
 .bc_tab_sec .bc_tab_load dl dt {
   display: flex;
   margin-bottom: 7px;
 }
 .bc_tab_sec .bc_tab_load dl dt .bc_tab_date {
   letter-spacing: .08em;
 }
 .bc_tab_sec .bc_tab_load dl dt .bc_tab_cate {
   height: 28px;
   line-height: 26px;
   padding: 1px 10px 0;
   margin-right: 10px;
   flex-shrink: 0;
   text-align: center;
   font-size: 14px;
   letter-spacing: .09em;
   color: #fff;
 }
 .bc_tab_sec .bc_tab_load dl dt .bc_tab_cate_blog {
   background: #D6B456;
 }
 .bc_tab_sec .bc_tab_load dl dt .bc_tab_cate_case {
   background: #40210f;
 }
 .bc_tab_sec .bc_tab_load dl dd {
   width: 100%;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   line-height: 1.5;
   letter-spacing: .05em;
 }
 .bc_tab_sec .bc_tab_load dl dd a {
   text-decoration: underline;
   text-underline-offset: 2px;
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }
 .bc_tab_sec .bc_tab_load dl dd a:hover {
   text-decoration: underline;
 }
 /* implant new */
 .under main #top_info.implant_main {
   background: url("../images/main_implant03.png") center top no-repeat;
   background-size: cover;
   margin-bottom: 30px;
   min-height: 780px;
   height: auto;
   position: relative;
   z-index: 1;
   font-family: var(--f-yumin);
    color: #000000;
     padding: 50px 15px 30px;
     display: flex;
    flex-direction: column;
     overflow: hidden;
 }
.under main #top_info.implant_main:before {
    position: absolute;
    top:0;
    right: 20px;
    content: '';
    display: block;
    background: url("../images/implant_en_top.png") no-repeat;
    background-size: 100% auto;
    width: 10px;
    height: 100%;
    z-index: -1;
}
.under .implant_main .implant_box01 {
  position: relative;
  background: #fff;
  display: inline-block;
  height: 188px;
  margin-left: -15px;
  width: 200px;
  border-radius: 0 10px 10px 0;
  box-sizing: border-box;
  padding: 20px;
  z-index: 1;
  font-weight: bold;
}
.under .implant_main .implant_box01:before {
  content: "";
  position: absolute;
  top: 24px;
  right: -60px;
  width: 140px;
  height: 140px;
  background: #ffffff;
  transform: rotate(45deg);
  border-radius: 12px;
  z-index: -1;
  
}

.under .implant_main .implant_box01:after {
  content: "";
  position: absolute;
  left: 30px;
  top: 100%;
  width: 1px;
  height: 500px;
  display: block;
  background: #ffffff;
opacity: 0.6;
}

.under main .implant_main .implant_box01 p {
    line-height: 1.4em;
    margin-right: -70px;
    font-size: min(3.5vw,14px);
}
.under main .implant_main .implant_box01 .imp_main_tit01 {
    font-size: min(4.8vw,18px);
    margin-bottom: 10px;
    font-weight: bold;
}
.under main .implant_main .implant_box01 .imp_main_tit01.center {
   margin-right: -40px;
}
.under main .implant_main .imp_main_tit02 {
    width: calc(100% - 50px);
    margin: 120px -15px 0 auto;
    text-align: center;
    padding: 20px 10px;
    background: #ffffff;
    font-size: min(3.5vw,14px);
    font-weight: bold;
    border-top: #000 4px double;
    border-bottom: #000 4px double;
}

.under .imp_main_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    position: relative;
    z-index: 1;
}

.under .imp_main_list li {
    width: calc((100% - 20px) / 3 );
    background: #40210f;
    color: #ffffff;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    line-height: 1.4em;
    border-radius: 10px;
    font-weight: normal;
}

.under .imp_main_list li.w50 {
   width: calc((100% - 10px) / 2 ) 
}

 .under .implant_list01:not(:last-child) {
   margin-bottom: 30px;
 }
 .under .implant_list01 .item_list {
   margin-bottom: 25px;
   background: #ffffff;
   padding: 20px;
   border-radius: 20px;
 }
 .under .implant_list01 .item_list:last-child, .under main .implant_list01 p:last-child {
   margin: 0;
 }
 /*.under .implant_list01 .item_list h3 {
    color: var(--mcolor);
    border-bottom: #ccc 1px dotted;
    padding-bottom: 10px;
    margin-bottom: 20px;
}*/
 .under main .txt_link {
   display: flex;
 }
 .under main .txt_link:before {
   clip-path: polygon(100% 50%, 0 0, 0 100%);
   content: '';
   margin-right: 10px;
   margin-top: 9px;
   flex-shrink: 0;
   width: 10px;
   height: 10px;
   background: var(--scolor);
 }
 .under main .txt_link a {
   text-decoration: underline;
   color: var(--mcolor);
 }
 .under main .implant_slide {
   padding: 20px;
   background: #fff;
 }
 .under main .implant_slide .imp_img {
   margin-bottom: 20px;
   min-height: 196px;
 }
 .under main .implant_slide .imp_img img {
   max-width: 100%;
   height: auto;
 }
 .under main .implant_slide .imp_tit_slide {
   font-weight: bold;
   margin-bottom: 20px;
 }
 .under main .implant_slide .slick-prev::before, .under main .implant_slide .slick-next::before {
   display: none;
 }
 .under main .implant_slide .slick-arrow {
   left: -10px;
   background: url("../images/arrow_prev.svg") center center no-repeat rgba(174, 160, 120, 0.8);
   background-size: 50% auto;
   width: 30px;
   height: 30px;
 }
 .under main .implant_slide .slick-next {
   background: url("../images/arrow_next.svg") center center no-repeat rgba(174, 160, 120, 0.8);
   background-size: 50% auto;
   left: auto;
   right: -10px;
 }
 .under main .implant_slide .slick-slide {
   margin: 0 10px !important;
 }
 .under main .list_faq dd p:empty {
   display: none;
 }
 .under .implant_frame01 {
   background: url("../images/implant_bg01.jpg") center center no-repeat;
   background-size: cover;
   padding: 50px;
   text-align: center;
   color: #ffffff;
 }
 .under .implant_tit01 {
   font-weight: bold;
   font-size: 120%;
 }
 .under .list_img {
   display: flex;
   gap: 5px;
   text-align: center;
 }
 .under .list_img:not(:last-child), .under main .frame03:not(:last-child), .under .tb_scroll:not(:last-child) {
   margin-bottom: 20px;
 }
 .under .tb_scroll {
   overflow: auto;
 }
 .under .tb_scroll table {
   width: 800px;
 }
 .under .tb_scroll table th {
   text-align: center;
 }
 .under .txt_note {
   font-size: 12px;
   opacity: 0.6;
 }
 .under .implant_list02 {}
 .under .implant_list02 dl {
   display: flex;
   border-radius: 10px;
   overflow: hidden;
   margin-bottom: 20px;
   background: #ffffff;
 }
 .under .implant_list02 dl:last-child {
   margin-bottom: 0;
 }
 .under .implant_list02 dt {
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   background: var(--scolor);
   color: #ffffff;
   font-family: var(--f-yumin);
   font-weight: 400;
   padding: 10px;
   width: 30%;
   flex-shrink: 0;
 }
 .under .implant_list02 dd {
   padding: 10px;
 }
 .under main .list01.clr_white li {
   color: #ffffff;
 }
#implant-test main .list_check li {
    font-weight: normal;
}
#implant-test main .list_check li .bold {
    font-weight: bold;
}

































