@charset "utf-8";
/****************************************
 センター病院 - 腎臓内科 style-nephrology.css
*****************************************/
/* 変数（カスタムプロパティ）の定義 */
:root {
    --flex-gap: 1.25rem;
    --flex-gap-sp: 1rem;
    --flex-gap-inner: .75rem;
    --flex-gap-inner-sp: .5rem;
    --padding-inner: .75rem;
    --padding-top: .75rem;
    --color-primary: #234a8f;
    --color-bg: #cadff780;
}

a {
  overflow-wrap: break-word;
  word-break: break-all;
}

.flex-wrap {
  display: flex;
  gap: var(--flex-gap);
}
.flex-box {
  flex: 1;
  border: 1px solid #cccccc;
  border-radius: 3px;
  padding: var(--padding-inner);
  box-sizing: border-box;
  margin: 0;
  background-color: #ffffff;
  z-index: 1;
}
.flex-box-emphasis {
  border: none;
  background-color: var(--color-bg);
}

.article .txtbox li.flex-box {
  margin: 0;
}

.text-title {
  font-weight: bold;
  color: var(--color-primary);
}

dl.flex-box > dt + dd, li.step_item dl.step_content > dd {
  margin-inline-start: 0;
  margin-top: var(--padding-top);
}

/* 訪日患者向け短期入院プログラム */
.text-guidance {
  padding-right: 16rem; 
  background-image: url("/s006/core/img/090/guidance.png");
  background-repeat: no-repeat;
  background-position: right 3rem center;
}
.flex-wrap.about-ckd {
  flex-wrap: wrap;
}
.flex-wrap.about-ckd .flex-box {
  width: calc((100% - var(--flex-gap)) / 2);
}
.flex-wrap.about-ckd .flex-box.flex-box-emphasis {
  width: 100%;
  flex: initial;
}

.flex-wrap.plan .plan-title {
  font-weight: bold;
  color: var(--color-primary);
  font-size: 1.2em;
}

.flex-wrap.plan .price {
  font-weight: bold;
  font-size: 1.75em;
}

.flex-wrap.plan .price-description {
  font-weight: bold;
}

.flex-wrap.plan .price-description .text-price-note {
  font-weight: normal;
}

.flex-wrap.plan .term {
  font-weight: bold;
  color: var(--color-primary);
}

.flex-wrap.hospitalization-flow {
  position: relative;
  counter-reset: number 0;
  padding-left: 0;
}

.flex-wrap.hospitalization-flow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed var(--color-primary);
}

.flex-wrap.hospitalization-flow .flex-box {
  list-style: none;
}
.flex-wrap.hospitalization-flow .flex-box .flow-title {
  position: relative;
  padding-left: 1rem;
  font-weight: bold;
  color: var(--color-primary);
}

.flex-wrap.hospitalization-flow .flex-box .flow-title::before {
  position: absolute;
  display: block;
  counter-increment: number 1;
  content: counter(number) ".";
  top: 0;
  left:0;
}

.flex-wrap.additional-charges > .flex-box {
  border: none;
}

.flex-wrap.additional-charges, .flex-wrap.medical-treatment {
  flex-wrap: wrap;
  gap: var(--flex-gap-inner);
}
.flex-wrap.additional-charges  > .flex-box, .flex-wrap.medical-treatment > .flex-box {
  width: calc((100% - var(--flex-gap)) / 2);
  flex: initial;
}

.flex-wrap.additional-charges  > .flex-box.private-room {
  width: 100%;
}
.flex-box.private-room .private-room-description {
  margin-left: var(--padding-inner);
}

.flex-box.subject {
  padding: 0;
}

.subject-box, .article .txtbox .step .step_item {
  padding: var(--padding-inner);
  box-sizing: border-box;
  border-radius: 3px;
  background-color: var(--color-bg);
}

.article .txtbox .step .step_title {
  font-weight: bold;
  font-size: 1.2em;
  color: var(--color-primary);
}
.article .txtbox .step .step_item::before {
  bottom: -40px;
}

.flex-wrap.medical-treatment .price-add {
  font-weight: bold;
}

.inquiry-title, .inquiry-means {
  text-align: center;
  font-size: 1.2em;
}
.inquiry-means {
  margin-bottom: .5rem;
}
.inquiry-break-means {
  display: none;
}
.inquiry-slash {
  padding: var(--padding-inner);
}

/* 診療実績 */
.doctor-name {
  font-weight: bold;
  margin-bottom: 0.5em;
}

.award-treatment {
  display: flex;
  gap: var(--flex-gap-inner);
}
.award-treatment_year {
  width: 52px;
  min-width: 52px;
}
.award-treatment_year,
.award-treatment_content {
  padding: 0;
}
.award-treatment_year p,
.award-treatment_content p {
  margin-bottom: 0;
}
.award-treatment_year p + p,
.award-treatment_content p + p {
  margin-top: 0.5em;
}

.award-ob_label {
  position: relative;
  font-weight: bold;
}
.award-ob_label::before {
  position: absolute;
  display: block;
  content: '';
  width: 0.9em;
  height: 0.9em;
  top: 0.3em;
  left: -1.2em;
  background: #ffc40f;
}

.update-date {
  text-align: right;
  padding-right: var(--padding-inner);
}

.medical-results_th {
  width: 25%;
}
.medical-results_td {
  width: 75%;
}

.figure-image {
  width: fit-content;
  margin: 0 auto;
}
.figure-image_caption {
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.figure-image_img {
  margin-bottom: 0.5em;
}

.caption-text {
  font-weight: bold;
  margin-bottom: 0.5em;
  text-align: center;
}

.method-difference_th {
  width: 22%;
}
.method-difference_hd {
  width: 32%;
}
.method-difference_ckrt {
  width: auto;
}

/*------------------------
スマホ対応
------------------------*/
@media screen and (max-width: 768px){
  .text-guidance {
    padding-right: 0;
    padding-top: 6rem;
    background-position: top center;
  }
  .flex-wrap {
    gap: var(--flex-gap-sp);
    flex-wrap: wrap;
  }
  .flex-box {
    width: calc((100% - var(--flex-gap-sp)) / 2);
    flex: initial;
  }
  .flex-wrap.hospitalization-flow .flex-box {
    width: 100%;
  }
  .flex-wrap.additional-charges {
    flex-direction: column;
  }
  .flex-wrap.additional-charges > .flex-box {
    width: 100%;;
  }
  .flex-wrap.hospitalization-flow::after {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - 2px);
    border-right: 1px dashed var(--color-primary);
  }
  .inquiry-title, .inquiry-means {
    text-align: left;
  }
  .inquiry-break-title {
    display: none;
  }
   .inquiry-break-means {
    display: inline-block;
  }
  .inquiry-slash {
    display: none;
  }
}

@media screen and (max-width: 484px) {
  .flex-wrap.plan {
    flex-direction: column;
  }
  .flex-wrap.plan .flex-box {
    width: 100%;
  }

  .article .txtbox table th.medical-results_th,
  .article .txtbox table td.medical-results_td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .article .txtbox table.medical-results tr:first-child th.medical-results_th {
    border-width: 0 0 1px 0;
  }
  .article .txtbox table.medical-results tr + tr th.medical-results_th {
    border-width: 1px 0 1px 0;
  }
  .article .txtbox table.medical-results td.medical-results_td {
    border-width: 0 0 0 0;
  }

  .method-difference {
    width: 498px;
    min-width: 498px;
  }
}