@charset "UTF-8";

/* ---------------------------------
  case_block
--------------------------------- */
.case_block h2 {
  font-size: 3.6rem;
  color: #0D8EB2;
  text-align: center;
  background-color: #FCF4D8;
  border-top: .2rem solid #0D8EB2;
  border-bottom: .2rem solid #0D8EB2;
  padding: 2rem 0;
  letter-spacing: -.2rem;
  font-weight: 300;
  margin-bottom: 4.6rem;
  position: relative;
}
.case_block h2::before,
.case_block h2::after {
  content: "";
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}
.case_block h2::before {
  background-color: #0D8EB2;
  width: 2rem;
  height: 1.4rem;
}
.case_block h2::after {
  background-color: #FCF4D8;
  width: 1.8rem;
  height: 1.2rem;
  bottom: .1rem;
}
.case_content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.case_content > div {
  width: calc(50% - 3rem);
}
.case_content .service_name {
  border-radius: 2.6rem;
  height: 17.2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  margin-bottom: 5.5rem;
}
.case_content .service_name::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
}
.case_content .asameshimae .service_name::before {
  background-image: url("/wp-content/themes/dhc_syokuji/assets/images/case/asameshimae_title_img.webp");
  width: 25.9rem;
  height: 17.7rem;
  left: 1.3rem;
  top: 0;
}
.case_content .saisyokuzen .service_name::before {
  background-image: url("/wp-content/themes/dhc_syokuji/assets/images/case/saisyokuzen_title_img.webp");
  width: 28.9rem;
  height: 17.5rem;
  left: 1rem;
  top: -.8rem;
}
.case_content .asameshimae .service_name {
  background-color: #FFE9D3;
  padding-left: 24rem;
}
.case_content .saisyokuzen .service_name {
  background-color: #F8FCD3;
  padding-left: 26rem;
}
.case_content .service_name span {
  font-weight: 500;
  font-size: 1.8rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: stretch;
  column-gap: 1rem;
}
.case_content .asameshimae .service_name span {
  margin-bottom: 1.4rem;
}
.case_content .saisyokuzen .service_name span {
  margin-bottom: 1rem;
}
.case_content .service_name span::before,
.case_content .service_name span::after {
  content: "";
  border: .2rem solid #000;
  width: .6rem;
  display: block;
}
.case_content .service_name span::before {
  border-right: 0;
}
.case_content .service_name span::after {
  border-left: 0;
}
.case_content .asameshimae .service_name h3 {
  color: #FF842B;
  font-size: 3.6rem;
  font-weight: 700;
}
.case_content .saisyokuzen .service_name h3 {
  color: #6BA759;
  font-size: 3.3rem;
  font-family: 'notoserifjp', serif;
  font-weight: 700;
  letter-spacing: 0.5rem;
}
.service_list {
  padding-bottom: 1.5rem;
}
.service_list li {
  border: .3rem solid #fff;
  box-shadow: 0 .3rem 1rem rgba(0, 0, 0, .4);
}
.service_list li:not(:last-child) {
  margin-bottom: 5rem;  
}
.service_list li a {
  display: flex;
  align-items: center;
  position: relative;
}
.asameshimae .service_list li a {
  background-color: #FDF6EF;
}
.saisyokuzen .service_list li a {
  background-color: #FEFFF4;
}
.service_list li img {
  width: 25rem;
}
.service_list .service_text_block .hospital_name::after {
  content: "";
  width: 2.2rem;
  height: 3.2rem;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  top: .8rem;
  right: .8rem;
}
.asameshimae .service_list .service_text_block .hospital_name::after {
  background-color: #FFE1CB;
}
.saisyokuzen .service_list .service_text_block .hospital_name::after {
  background-color: #D7EDBE;
}
.service_list .service_text_block {
  font-weight: 500;
  padding: 0 2.5rem;
}
.service_list .service_text_block .hospital_name {
  margin-bottom: 2rem;
}
.asameshimae .service_list .service_text_block .hospital_name {
  color: #FF842B;
}
.saisyokuzen .service_list .service_text_block .hospital_name {
  color: #6BA759;
}
.service_list .service_text_block .copy_text {
  color: #58250E;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .case_block {
    padding: 0 1.6rem;
    background-image: url("/wp-content/themes/dhc_syokuji/assets/images/case/case_bg_sp.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
    margin-top: -2rem;
    padding-top: 2rem;
  }
  .case_block h2 {
    font-size: 2rem;
    border-top: .1rem solid #0D8EB2;
    border-bottom: .1rem solid #0D8EB2;
    padding: 1rem 0;
    letter-spacing: -.1rem;
    margin-bottom: 3.2rem;
  }
  .case_block h2::before {
    width: 1.7rem;
    height: 1.1rem;
  }
  .case_block h2::after {
    width: 1.6rem;
    height: 1rem;
  }
  .case_content {
    flex-direction: column;
  }
  .case_content > div {
    width: 100%;
  }
  .case_content .asameshimae {
    margin-bottom: 6rem;
  }
  .case_content .service_name {
    border-radius: 0;
    height: 11.8rem;
    margin-bottom: 3.8rem;
  }
  .case_content .asameshimae .service_name::before {
    width: 17.7rem;
    height: 12.1rem;
    left: .7rem;
  }
  .case_content .saisyokuzen .service_name::before {
    width: 18.8rem;
    height: 11.5rem;
    left: .4rem;
    top: -.3rem;
  }
  .case_content .asameshimae .service_name {
    padding-left: 16.5rem;
  }
  .case_content .saisyokuzen .service_name {
    padding-left: 18rem;
  }
  .case_content .service_name span {
    font-size: 1.4rem;
    column-gap: .5rem;
  }
  .case_content .asameshimae .service_name span,
  .case_content .saisyokuzen .service_name span {
    margin-bottom: 0;
  }
  .case_content .service_name span::before,
  .case_content .service_name span::after {
    border: .1rem solid #000;
    width: .3rem;
  }
  .case_content .service_name span::before {
    border-right: 0;
  }
  .case_content .service_name span::after {
    border-left: 0;
  }
  .case_content .asameshimae .service_name h3,
  .case_content .saisyokuzen .service_name h3 {
    font-size: 2.7rem;
  }
  .service_list {
    padding: 0 4.6rem;
  }
  .service_list li:not(:last-child) {
    margin-bottom: 3rem;  
  }
  .service_list li a {
    flex-flow: column;
    align-items: flex-start;
  }
  .service_list li img {
    width: 100%;
  }
  .service_list .service_text_block {
    padding: 2rem 1.3rem 2rem 2rem;
  }
  .service_list .service_text_block .hospital_name {
    margin-bottom: .7rem;
    position: relative;
    display: flex;
    align-items: center;
  }
  .service_list .service_text_block .hospital_name::after {
    top: 50%;
    right: -0.4rem;
    transform: translateY(-50%);
  }
}