/**
 * Convert font-size from px to rem with px fallback
 *
 * @param $size - the value in pixel you want to convert
 *
 * e.g. p {@include fontSize(12px);}
 * 
 */
img {
  width: 100%;
}

/* ============================================================================================== */
/* home                                                                                           */
/* ============================================================================================== */
.main-wrapper {
  padding-top: clamp(2.5rem, 1.6477272727rem + 3.7878787879vw, 5.625rem) !important;
}

.main-contents {
  overflow: hidden;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.w-state {
  width: 100%;
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
}

.kv__logo {
  margin-top: 0;
  margin-bottom: clamp(1.25rem, 0.9090909091rem + 1.5151515152vw, 2.5rem);
}
.kvAllWrap {
  text-align: center;
}
.kv__msg {
  font-weight: 600;
  letter-spacing: 0.3rem;
  line-height: 1.4;
  font-size: clamp(1.5rem, 1.3636363636rem + 0.6060606061vw, 2rem);
  color: var(--color-primary);
  margin-bottom: clamp(1.875rem, 1.5340909091rem + 1.5151515152vw, 3.125rem);
}
.kv__img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: clamp(1.5625rem, 1.3068181818rem + 1.1363636364vw, 2.5rem);
  overflow: hidden;
}

.contents {
  text-align: center;
}
.contents section {
  margin-top: clamp(1.875rem, 1.5340909091rem + 1.5151515152vw, 3.125rem);
}

.sectionHeader {
  text-align: center;
}
.sectionHeader__ttl {
  font-weight: 600;
  font-size: 24px;
  margin-bottom: 10px;
}
.sectionHeader__txt {
  margin: 0;
}

.btn {
  color: #fff;
  font-size: clamp(1.125rem, 0.9545454545rem + 0.7575757576vw, 1.75rem);
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: var(--color-link);
  border-radius: 10px;
  list-style: 1.2;
  padding-top: clamp(1.25rem, 0.9090909091rem + 1.5151515152vw, 2.5rem);
  padding-bottom: clamp(1.25rem, 0.9090909091rem + 1.5151515152vw, 2.5rem);
  letter-spacing: 0.12rem;
}
.btnWrap {
  max-width: 560px;
  text-align: center;
  width: 100%;
  margin-bottom: clamp(1.25rem, 0.9090909091rem + 1.5151515152vw, 2.5rem);
  margin-right: auto;
  margin-left: auto;
}
.btn .icon svg {
  width: 32px;
  height: 32px;
}

.reception .sectionBody__txtWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  text-align: center;
}
.reception .sectionBody .txt--tel, .reception .sectionBody .txt--fax {
  font-weight: 600;
  margin: 0;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.reception .sectionBody .txt--tel {
  font-size: clamp(2.5rem, 2.1590909091rem + 1.5151515152vw, 3.75rem);
}
.reception .sectionBody .txt--tel .iconImg {
  width: clamp(2.5rem, 2.0909090909rem + 1.8181818182vw, 4rem);
  height: clamp(2.5rem, 2.0909090909rem + 1.8181818182vw, 4rem);
}
.reception .sectionBody .txt--tel a {
  pointer-events: auto;
  text-decoration: none;
}
.reception .sectionBody .txt--fax {
  font-size: clamp(1.5rem, 1.2272727273rem + 1.2121212121vw, 2.5rem);
}
.reception .sectionBody .txt--fax > * {
  text-decoration: none !important;
  pointer-events: none;
}
.reception .sectionBody .txt--fax .iconImg {
  width: clamp(1.5rem, 1.2272727273rem + 1.2121212121vw, 2.5rem);
  height: clamp(1.5rem, 1.2272727273rem + 1.2121212121vw, 2.5rem);
}
@media (min-width: 46.25em) {
  .reception .sectionBody .txt--tel a {
    pointer-events: none;
  }
}

.medicalSubject .sectionBody__txtWrap {
  text-align: center;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  padding: 10px 0;
}
.medicalSubject .sectionBody__txt {
  margin: 0;
}

.medicalHoursTbl {
  border-left: 1px solid var(--color-line);
  text-align: center;
  font-size: clamp(0.75rem, 0.6477272727rem + 0.4545454545vw, 1.125rem);
  width: 100%;
  border-collapse: collapse;
}
.medicalHoursTbl th, .medicalHoursTbl td {
  padding: clamp(0.3125rem, 0.2272727273rem + 0.3787878788vw, 0.625rem);
  font-weight: 500;
}
.medicalHoursTbl th {
  font-weight: 500;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  border-right: 1px solid var(--color-line);
}
.medicalHoursTbl td {
  border-bottom: 1px solid var(--color-line);
  border-right: 1px solid var(--color-line);
}
.medicalHoursTbl td.hour {
  width: 9em;
  line-height: 1.4;
}
.medicalHoursTbl td.hour small {
  color: rgba(0, 0, 0, 0.5);
}
.medicalHours .sectionBody__txtWrap {
  text-align: center;
  font-size: clamp(0.6875rem, 0.6022727273rem + 0.3787878788vw, 1rem);
}
.medicalHours .sectionBody__txt {
  margin: 0;
}
@media (min-width: 61.25em) {
  .medicalHoursTbl td.hour {
    width: 12em;
  }
}