@charset "UTF-8";
/* =================================
 診療 / 手術の流れ
================================= */

@media screen and (min-width: 769px) {
  #price01 {
    margin-top: -120px;
    padding-top: 120px;
  }
  .p-page_key-clinic .p-page_key-clinic_inner {
    text-align: center;
    margin: 0 auto;
    padding: 40px 0 40px;
  }
  .p-page_key-clinic .p-page_key-clinic_inner .c-tit {
    margin-top: 10px;
    margin-bottom: 2px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .p-page_key-clinic .p-page_key-clinic_inner .c-sb-tit {
    font-family: "Noto Serif JP";
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.11em;
    line-height: 34px;
    text-align: center;
    color: #1a1311;
    margin-top: 0;
    margin-bottom: 0;
  }
  .p-price_link_top {
    padding: 0 0 0;
  }
  .price .p-price_sec,
  .price2 .p-price_sec,
  .price3 .p-price_sec,
  .price4 .p-price_sec {
    margin-top: 0;
  }
  .price .p-price_sec .tab_link ul,
  .price2 .p-price_sec .tab_link ul,
  .price3 .p-price_sec .tab_link ul,
  .price4 .p-price_sec .tab_link ul {
    display: flex;
  }
  .price .p-price_sec .tab_link ul li,
  .price2 .p-price_sec .tab_link ul li,
  .price3 .p-price_sec .tab_link ul li,
  .price4 .p-price_sec .tab_link ul li {
    width: 50%;
  }
  .price .p-price_sec .tab_link ul li a,
  .price2 .p-price_sec .tab_link ul li a,
  .price3 .p-price_sec .tab_link ul li a,
  .price4 .p-price_sec .tab_link ul li a {
    border-top: 4px solid #fafafa;
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #AAAAAA;
    padding: 20px 0;
    text-align: center;
    background: #fafafa;
  }
  .price .p-price_sec .tab_link ul li a:hover,
  .price2 .p-price_sec .tab_link ul li a:hover,
  .price3 .p-price_sec .tab_link ul li a:hover,
  .price4 .p-price_sec .tab_link ul li a:hover {
    border-top: 4px solid #B28575;
    display: block;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #b28575;
    padding: 20px 0;
    text-align: center;
    background: #fff;
  }
  .price .p-price_sec .tab_link ul li.active a,
  .price2 .p-price_sec .tab_link ul li.active a,
  .price3 .p-price_sec .tab_link ul li.active a,
  .price4 .p-price_sec .tab_link ul li.active a {
    border-top: 4px solid #B28575;
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #b28575;
    padding: 20px 0;
    text-align: center;
    background: #fff;
  }
  .p-price_sec .tab_link ul li a.border_right {
    border-right: 1px solid #ededed;
  }

  .p-price_link ul {
    width: 880px;
    margin: 0 auto;
    padding: 5px 0;
  }
  .p-price_link ul li {
    padding: 5px 0.6%;
  }
  .p-price_link ul li a {
    font-weight: 500;
    padding: 0 10px;
    border: 1px solid #B28575;
    border-radius: 25px;
    color: #B28575;
  }
  .p-price_link ul li a:hover {
    color: #fff;
    background: #B28575;
  }
  .p-price_link ul li .link-current_price {
    color: #fff;
    background: #B28575;
  }
  .p-price_link .accordion-tab {
    border-bottom: 1px solid #EDEDED;
  }
  .p-price_link .accordion-tab ul .l-row {
    display: block;
    position: relative;
    height: 50px;
    cursor: pointer;
  }
  .p-price_link .accordion-tab ul .l-row::before {
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #B28575;
    border-right: 1px solid #B28575;
    transform: rotate(45deg);
  }
  .p-price_link .accordion-tab .price_tab {
    position: absolute;
    top: 50%;
    left: 0;
    color: #B28575;
    transform: translateY(-50%) translateX(0%);
    opacity: 0;
  }
  .p-price_link .accordion-tab .price_tab .link-current_price {
    opacity: 1;
  }
  .p-price_link .accordion-content ul {
    width: 880px;
    margin: 0 auto;
    padding: 20px 0 15px;
  }

  .c-tbl_priceMain .ttl {
    font-weight: 500;
  }
  .c-tbl_priceMain th, .c-tbl_priceMain td {
    padding: 28px 48px 0 48px;
    border-right: 1px solid #EAEAEA;
    vertical-align: top;
  }
  .c-tbl_priceMain tbody:first-child th {
    padding: 8px 48px;
    text-align: center;
    color: #BE9C91;
  }
  .c-tbl_priceMain tr:only-child td {
    padding: 28px 48px !important;
  }
  .c-tbl_priceMain tr:not(:first-child) td {
    padding: 10px 48px 0 48px;
  }
  .c-tbl_priceMain tr td {
    line-height: 24px;
  }
  .c-tbl_priceMain tr:last-child td {
    padding: 10px 48px 28px 48px;
  }
  .c-tbl_priceMain th.treatment,
.c-tbl_priceMain td.treatment {
    width: 391px;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.detail,
.c-tbl_priceMain td.detail {
    width: 456px;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.course,
.c-tbl_priceMain td.course {
    width: 84px;
    box-sizing: border-box;
    text-align: center;
    padding: 30px 20px 0 20px;
  }
  .c-tbl_priceMain th.course.widebox,
  .c-tbl_priceMain td.course.widebox {
    width: 84px;
    box-sizing: border-box;
    text-align: center;
    padding: 10px 20px 0px 20px;
  }
  .c-tbl_priceMain tr:last-child td.course {
    width: 84px;
    box-sizing: border-box;
    text-align: center;
  }
  .c-tbl_priceMain th.fee,
.c-tbl_priceMain td.fee {
    width: 213px;
    box-sizing: border-box;
  }
  .partition td {
    padding-top: 40px !important;
  }
}
@media screen and (max-width: 768px) {
  .p-price_link {
    padding: 0 0 0;
    overflow-x: scroll;
  }
  .p-page_key-clinic .p-page_key-clinic_inner {
    text-align: center;
    margin: 0 auto;
    padding: 20px 0 20px;
  }
  .p-page_key-clinic .p-page_key-clinic_inner .c-tit {
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .p-page_key-clinic .p-page_key-clinic_inner .c-tit img {
    width: 68px;
  }
  .p-page_key-clinic .p-page_key-clinic_inner .c-sb-tit {
    font-family: "Noto Serif JP";
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.11em;
    line-height: 1.4;
    text-align: center;
    color: #1a1311;
    margin-top: 5px;
    margin-bottom: 0;
  }
  .p-price_link_top li .link-current_price {
    color: #fff;
    background: #B28575;
  }
  .price .p-price_sec,
  .price2 .p-price_sec,
  .price2 .p-price_sec {
    margin-top: 0;
  }
  .price .p-price_sec .tab_link ul,
  .price2 .p-price_sec .tab_link ul,
  .price3 .p-price_sec .tab_link ul,
  .price4 .p-price_sec .tab_link ul {
    display: flex;
  }
  .price .p-price_sec .tab_link ul li,
  .price2 .p-price_sec .tab_link ul li,
  .price3 .p-price_sec .tab_link ul li,
  .price4 .p-price_sec .tab_link ul li {
    width: 50%;
  }
  .price .p-price_sec .tab_link ul li a,
  .price2 .p-price_sec .tab_link ul li a,
  .price3 .p-price_sec .tab_link ul li a,
  .price4 .p-price_sec .tab_link ul li a {
    border-top: 4px solid #fafafa;
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #AAAAAA;
    padding: 15px 0;
    text-align: center;
    background: #fafafa;
  }
  .price .p-price_sec .tab_link ul li a:hover,
  .price2 .p-price_sec .tab_link ul li a:hover,
  .price3 .p-price_sec .tab_link ul li a:hover,
  .price4 .p-price_sec .tab_link ul li a:hover {
    border-top: 4px solid #B28575;
    display: block;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #b28575;
    padding: 15px 0;
    text-align: center;
    background: #fff;
  }
  .price .p-price_sec .tab_link ul li.active a,
  .price2 .p-price_sec .tab_link ul li.active a,
  .price3 .p-price_sec .tab_link ul li.active a,
  .price4 .p-price_sec .tab_link ul li.active a {
    border-top: 4px solid #B28575;
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 24px;
    text-align: left;
    color: #b28575;
    padding: 15px 0;
    text-align: center;
    background: #fff;
  }
  .p-price_sec .tab_link ul li a.border_right {
    border-right: 1px solid #ededed;
  }

  .p-price_link ul {
    width: auto;
    margin: 0 auto;
    padding: 15px 26px;
  }
  .p-price_link ul li {
    padding: 5px 0.6%;
  }
  .p-price_link ul li a {
    font-size: 12px;
    font-weight: 500;
    padding: 0 10px;
    border: 1px solid #B28575;
    border-radius: 25px;
    color: #B28575;
    transition: 0s;
  }
  .p-price_link ul li a:hover {
    color: #fff !important;
    background: #B28575;
    opacity: 1;
  }
  .p-price_link ul li a.link-current_price {
    color: #fff !important;
  }
  .p-price_link ul li .link-current_price {
    color: #fff;
    background: #B28575;
  }
  .p-price_link .accordion-tab {
    border-bottom: 1px solid #EDEDED;
    position: relative;
  }
  .p-price_link .accordion-tab ul.l-row {
    display: block;
    position: relative;
    height: 50px;
    cursor: pointer;
    border-bottom: 0px solid #EDEDED;
  }
  .p-price_link .accordion-tab ul.l-row::before {
    content: "";
    position: absolute;
    top: 46%;
    right: 26px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #B28575;
    border-right: 1px solid #B28575;
    transform: rotate(135deg);
    transition: transform 0.3s;
  }
  .p-price_link .accordion-tab ul.on::before {
    top: 50%;
    transform: rotate(-45deg);
    transition: transform 0.3s;
  }
  .p-price_link .accordion-tab ul .price_tab {
    position: absolute;
    top: 8px;
    left: 26px;
    opacity: 0;
  }
  .p-price_link .accordion-tab ul .price_tab.link-current_price {
    opacity: 1;
  }
  .p-price_link .accordion-content ul {
    width: 100%;
    margin: 0 auto;
    padding: 15px 26px;
    border-bottom: 1px solid #EDEDED;
  }
  .price2 .p-price_link ul,
  .price3 .p-price_link ul,
  .price4 .p-price_link ul {
    width: auto;
  }
  .p-price_cont_block:last-child {
    margin-bottom: 100px;
  }
  .c-tbl_priceMain {
    table-layout: fixed;
  }
  .c-tbl_priceMain .ttl {
    font-weight: 500;
  }
  .c-tbl_priceMain td,
.c-tbl_priceMain th {
    font-size: 12px;
    line-height: 20px;
  }
  .c-tbl_priceMain tr:not(:first-child) td {
    padding-top: 5px;
  }
  .c-tbl_priceMain th.treatment,
.c-tbl_priceMain td.treatment {
    width: 33%;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.detail,
.c-tbl_priceMain td.detail {
    width: 31%;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.course,
.c-tbl_priceMain td.course {
    width: 12.5%;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.fee,
.c-tbl_priceMain td.fee {
    width: 23.5%;
    box-sizing: border-box;
  }
  .c-tbl_priceMain th.treatment {
    padding-left: 20px !important;
    text-align: left !important;
  }
  .c-tbl_priceMain td.detail {
    padding-left: 10px !important;
    padding-right: 0px !important;
  }
  .c-tbl_priceMain td.course {
    padding-left: 14px !important;
    padding-right: 14px !important;
    text-align: center;
  }
  .c-tbl_priceMain td.fee {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .partition td {
    padding-top: 15px !important;
  }
}


/* 20231130 */
/* .p-price_cont_block {
  margin-bottom: 60px;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-price_cont_block {
    margin-bottom: 40px;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
} */
.c-tbl_priceMain tr:last-child td.course.wide{
  padding: 18px 25px 30px 25px;
  line-height: 1.4;
}
.c-tbl_priceMain th.fee ,
.c-tbl_priceMain td.fee {
  position: relative;
}
.c-tbl_priceMain th.fee .info,
.c-tbl_priceMain td.fee .info {
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 24px;
  text-align: left;
  color: #aaa;
  position: absolute;
  left: 15px;
  top: 36px;
}
.c-tbl_priceMain td.fee .info_only {
  font-weight: normal;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 24px;
  text-align: left;
  color: #aaa;
  position: absolute;
  left: 45px;
  top: 56px;
}
@media screen and (max-width: 768px) {
  .c-tbl_priceMain td.course.wide {
    padding: 20px 0px 6px 0 !important;
  }
  .c-tbl_priceMain tr:last-child td.course.wide {
    padding: 13px 0 30px 0 !important;
    line-height: 20px;
  }
  .c-tbl_priceMain th.fee .info,
  .c-tbl_priceMain td.fee .info {
    display: inline-block;
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 20px;
    text-align: left;
    color: #aaa;
    position: relative;
    left: 0;
    top: -8px;
  }
  .c-tbl_priceMain td.fee .info_only {
    display: inline-block;
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 20px;
    text-align: left;
    color: #aaa;
    position: relative;
    left: 0;
    top: -8px;
  }
}
@media screen and (max-width: 767px) {
.p-price_cont_block {
    margin-bottom: 40px;
    margin-top: 0;
    padding-top: 0;
}
}