/* ========================================
   対応症状（/symptoms/{スラッグ}/ 共通。初版は発熱ページ）
   ======================================== */
.symptom-section {
  padding-top: 10rem;
}

.symptom-title .sub-heading__ja {
  line-height: 7.6rem;
}

.symptom-page__intro {
  margin-top: 2.8rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

/* HERO */
.symptom-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  padding-block: 2.2rem 0;
}

.symptom-hero__content {
  padding: 1.2rem 2rem 0 var(--sub-content-edge);
}

.symptom-hero__label {
  display: table;
  padding: .7rem 3.15rem;
  border-radius: 100vmax;
  background: #0281cd;
  color: #fff;
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 3.5rem;
}

.symptom-hero__heading {
  margin: 2rem 0 0;
  color: #172c57;
  font-size: 5.3rem;
  font-weight: 500;
  line-height: 7.6rem;
}

.symptom-hero__text {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-hero__points {
  display: flex;
  gap: 3.2rem;
  margin: .8rem 0 0;
  padding: 0;
  list-style: none;
}

.symptom-hero__points li {
  display: flex;
  align-items: center;
  gap: .9rem;
  color: #3f3f3f;
  font-size: 2.1rem;
}

.symptom-hero__points span {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #349ad6;
}

.symptom-hero__points img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
}

.symptom-hero__buttons {
  display: flex;
  gap: 1.1rem;
  margin-top: 3.4rem;
}

.symptom-hero__button {
  display: flex;
  flex: 0 0 27.8rem;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  min-height: 5rem;
  border-radius: 100vmax;
  background: #0281cd;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 500;
  text-decoration: none;
}

.symptom-hero__button--reserve {
  background: #172c57;
}

.symptom-hero__button img {
  width: 2.4rem;
  height: 2.4rem;
  object-fit: contain;
}

.symptom-hero__button--reserve img {
  filter: brightness(0) invert(1);
}

.symptom-hero__photo img {
  width: 100%;
  aspect-ratio: 960 / 576;
  object-fit: cover;
  border-radius: 3rem 0 0 3rem;
}

/* ABOUT */
.symptom-about {
  position: relative;
  margin-top: -2.5rem;
}

.symptom-about .sub-inner {
  position: relative;
  z-index: 1;
}

.symptom-about__text {
  max-width: 60rem;
  margin-top: 5.6rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-about__photo {
  position: absolute;
  top: calc(var(--sub-wave) - 9.8rem);
  right: 3.28125vw;
  width: 45.0520833333vw;
  aspect-ratio: 865 / 577;
  object-fit: cover;
}

/* GUIDANCE */
.symptom-trouble {
  margin-top: -2.6rem;
  padding-top: 0;
}

.symptom-hours {
  padding-top: 12.4rem;
}

.symptom-section:has(.symptom-tests) {
  padding-top: 12rem;
}

.symptom-trouble__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin: 6.5rem 0 0;
  padding: 0;
  list-style: none;
}

.symptom-trouble__list li {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 8.7rem;
  padding: 1rem 2rem 1rem 12.6rem;
  border: 1px solid #349ad6;
  border-radius: 1rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
}

.symptom-trouble__list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 1rem;
  background: #0281cd;
  transform: translateY(-50%);
}

.symptom-trouble__list li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 6.4rem;
  width: 2.2rem;
  height: 1.1rem;
  border-bottom: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: translateY(-70%) rotate(-45deg);
}

.symptom-trouble__answer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  min-height: 8.7rem;
  margin-top: 2rem;
  padding-right: 8.2rem;
  border: 1px solid #0281cd;
  border-radius: 1rem;
  background: #f2f8fc;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.symptom-trouble__answer img {
  width: 6rem;
  height: 6rem;
}

/* HOURS */
.symptom-hours__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.8rem;
  margin-top: 4.3rem;
}

.symptom-hours__name {
  margin: 0 0 1.9rem;
  padding-left: 5.4rem;
  background: url("../images/pages/area/location-blue.png") left center / 4.6rem no-repeat;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.8rem;
}

.symptom-hours__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #172c57;
  font-size: 1.6rem;
  text-align: center;
}

.symptom-hours__table th,
.symptom-hours__table td {
  height: 5.4rem;
  padding: 0;
  border: 1px solid #e4e4e4;
  border-inline: 1px solid #e4e4e4;
  font-weight: 400;
}

.symptom-hours__table thead th {
  background: rgb(2 129 205 / 10%);
}

.symptom-hours__table tr > th:first-child {
  width: 14.2rem;
  border-left: 0;
  background: rgb(2 129 205 / 10%);
  font-size: 1.8rem;
}

.symptom-hours__table tr > *:last-child {
  border-right: 0;
}

.symptom-hours__open {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #0281cd;
  vertical-align: middle;
}

.symptom-hours__note {
  min-height: 3.2rem;
  margin-top: .8rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-hours__today {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  min-height: 8.7rem;
  margin-top: 1.4rem;
  border: 1px solid #0281cd;
  border-left-width: 5px;
  border-radius: 1rem;
  background: #f2f8fc;
  color: #172c57;
  font-size: 1.6rem;
  font-weight: 700;
}

.symptom-hours__today strong {
  font-size: 2.4rem;
  font-weight: 700;
}

.symptom-hours__button {
  width: 54.6rem;
  max-width: 100%;
  margin: 4rem auto 0;
  padding-inline: 1rem 5.6rem;
}

/* FLOW */
.symptom-flow__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 7.5rem 0 0;
  padding: 0;
  list-style: none;
}

.symptom-flow__list li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 34.3rem;
  padding: 4rem 1.5rem 2rem;
  border: 1px solid #349ad6;
  border-radius: 1rem;
  background: #fff;
  color: #172c57;
}

.symptom-flow__number {
  position: absolute;
  top: -4rem;
  left: 50%;
  display: grid;
  place-items: center;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #0281cd;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 3.6rem;
  transform: translateX(-50%);
}

.symptom-flow__list img {
  width: 16rem;
  height: 16rem;
  object-fit: contain;
}

.symptom-flow__list h3 {
  margin: 1.2rem 0 .8rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3rem;
  text-align: center;
  white-space: nowrap;
}

.symptom-flow__list p {
  width: 100%;
  font-size: 1.8rem;
  line-height: 3.2rem;
}

.symptom-flow__note {
  margin-top: 3.2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-flow__button {
  width: 26.6rem;
  margin: 2.2rem auto 0;
  padding-inline: 1rem 5.6rem;
}

/* LOCATION */
.symptom-location {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 5.8rem;
}

.symptom-location__card {
  display: flex;
  flex-direction: column;
  min-height: 87.4rem;
  padding: 1.8rem 1rem 3.8rem;
  border: 1px solid #349ad6;
  border-radius: 1rem;
}

.symptom-location__card h3 {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: 0 0 1.2rem 2rem;
  padding-left: 2.8rem;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.4rem;
  background: radial-gradient(circle at .75rem center, #0281cd .75rem, transparent .8rem);
}

.symptom-location__card h3 span {
  color: #3f3f3f;
  font-size: 1.6rem;
  font-weight: 400;
}

.symptom-location__map {
  width: 100%;
  border-radius: 1rem;
}

.symptom-location__detail {
  margin: 3rem 0 0;
  padding: 0 1.6rem 3rem 2.9rem;
  border-bottom: 1px solid #e4e4e4;
  font-size: 1.6rem;
  line-height: 4rem;
}

.symptom-location__detail > div {
  display: grid;
  grid-template-columns: 13.5rem minmax(0, 1fr);
}

.symptom-location__detail dt {
  padding-left: 3.5rem;
  background: url("../images/pages/area/hospital.png") left center / 2.5rem no-repeat;
  color: #0281cd;
}

.symptom-location__detail .is-address dt {
  background-image: url("../images/pages/area/location-blue.png");
}

.symptom-location__detail dd {
  margin: 0;
}

.symptom-location__station {
  flex: 1;
  padding: 2.6rem 1.6rem 2rem 3.2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-location__station h4 {
  margin: 0 0 1rem;
  padding-left: 3.1rem;
  background: radial-gradient(circle at .75rem center, #0281cd .75rem, transparent .8rem);
  color: #0281cd;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 3.2rem;
}

.symptom-location__station p {
  padding-left: 3.1rem;
}

.symptom-location__button {
  width: 32.2rem;
  margin-inline: auto;
  padding-inline: 1rem 5.6rem;
}

.symptom-reassure {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 18.7rem;
  margin-top: 2rem;
  padding: 1.6rem 2rem 1.6rem 34.6rem;
  border: 1px solid #0281cd;
  border-radius: 1rem;
  background: #f2f8fc;
}

/* 画像の上下には透明な余白があるため、中央に置くとイラストは箱の中に収まる。 */
.symptom-reassure img {
  position: absolute;
  top: 50%;
  left: 5.1rem;
  width: 24.2rem;
  height: 24.2rem;
  transform: translateY(-50%);
}

.symptom-reassure h3 {
  margin: 0;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4rem;
}

.symptom-reassure p {
  font-size: 1.6rem;
  line-height: 3.2rem;
}

/* TESTS */
.symptom-tests {
  margin-top: 5.4rem;
}

.symptom-tests__note {
  margin-top: 2.6rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

/* お子さま */
.symptom-child {
  position: relative;
  margin-top: 3rem;
  padding-top: calc(var(--sub-wave) - 15.4rem);
}

.symptom-child__content {
  position: relative;
  z-index: 1;
  max-width: 55.8rem;
  margin-left: 4.2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-child__content h2 {
  margin: 0 0 .4rem;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.8rem;
}

.symptom-child__photo {
  position: absolute;
  top: 2.1rem;
  right: 15.1vw;
  width: 38.0208333333vw;
  aspect-ratio: 730 / 488;
  object-fit: cover;
}

/* VOICE */
.symptom-voice-section {
  padding-top: 0;
}

.symptom-voice {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.3rem;
  margin: 6rem 0 0;
  padding: 0;
  list-style: none;
}

.symptom-voice li {
  min-height: 27.5rem;
  padding: 2.3rem 2.8rem;
  border: 1px solid #349ad6;
  border-left-width: 5px;
  border-radius: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-voice__head {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}

.symptom-voice__head img {
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 50%;
  object-fit: cover;
}

.symptom-voice__head strong {
  display: block;
  color: #172c57;
  font-size: 1.8rem;
}

/* 救急 */
.symptom-emergency-section {
  padding-top: 5rem;
}

.symptom-emergency {
  padding: 4.9rem 5rem 5rem;
  border-radius: 3rem 0;
  background: #fdf0f0;
  color: #172c57;
}

.symptom-emergency__top {
  display: flex;
  align-items: flex-start;
  gap: 9.9rem;
  padding-left: 6.7rem;
}

.symptom-emergency__top > img {
  flex: 0 0 19.2rem;
  width: 19.2rem;
  height: 19.2rem;
}

.symptom-emergency__title {
  margin: 0 0 1rem;
  color: #fb0b09;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 3rem;
}

.symptom-emergency__text {
  margin-top: 1.4rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-emergency__title--center {
  margin: 4.4rem 0 2.2rem;
  text-align: center;
}

.symptom-emergency__consults {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.symptom-emergency__consults li {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 21.1rem;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
}

.symptom-emergency__consults .sub-tel {
  margin-top: 0;
  font-size: 3.6rem;
}

.symptom-emergency__consults .sub-tel img {
  width: 3.5rem;
  height: 3.5rem;
}

.symptom-emergency__consults h3 {
  margin: 1.6rem 0 .4rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.2rem;
}

.symptom-emergency__consults p {
  color: #3f3f3f;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

/* PRICE */
.symptom-price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 4.8rem;
}

.symptom-price article {
  min-height: 34rem;
  padding: 4rem 3.8rem;
  border: 1px solid #349ad6;
  border-radius: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}

.symptom-price h3 {
  margin: 0;
  color: #172c57;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 4.8rem;
}

.symptom-price__amount {
  margin-block: 5rem 3.4rem;
  padding-left: 10.3rem;
  color: #0281cd;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3rem;
}

.symptom-price__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 36rem;
  margin: 1.5rem 0 0 -.2rem;
  padding: 0;
  list-style: none;
}

.symptom-price__pills li {
  padding: .3rem 2.4rem;
  border: 1px solid #0281cd;
  border-radius: 2rem;
  color: #0281cd;
}

.symptom-price__button {
  width: 32.2rem;
  max-width: 100%;
  margin: 4.5rem auto 0;
  padding-inline: 1rem 5.6rem;
}

/* FAQ */
.symptom-faq {
  margin-top: 6.4rem;
}

/* RELATED */
.symptom-related {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;
  margin: 6.5rem 0 0;
  padding: 0;
  list-style: none;
}

.symptom-related li {
  position: relative;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0 5px rgb(0 0 0 / 16%);
}

.symptom-related li::after {
  content: "";
  position: absolute;
  top: 2.4rem;
  right: 2.4rem;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: #172c57 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cpath d='M8 5.5l5 5-5 5' fill='none' stroke='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
}

.symptom-related a {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 28.5rem;
  padding: 5.6rem 1rem 2rem;
  color: inherit;
  text-decoration: none;
  text-align: center;
}

.symptom-related img {
  width: auto;
  height: 8.6rem;
}

.symptom-related h3 {
  margin: 3.5rem 0 .8rem;
  color: #0281cd;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
}

.symptom-related p {
  font-size: 1.6rem;
  line-height: 2rem;
}

.symptom-related__button {
  width: 29.3rem;
  margin: 5.6rem auto 0;
  padding-inline: 1rem 5.6rem;
}

.symptom-related-section {
  padding-bottom: 10rem;
}

@media (hover: hover) {
  .symptom-hero__button,
  .symptom-related a {
    transition: opacity .2s;
  }
  .symptom-hero__button:hover,
  .symptom-related a:hover {
    opacity: .75;
  }
}

@media (min-width: 768px) and (max-width: 1056.25px) {
  .symptom-hero__heading {
    font-size: 3.6rem;
    line-height: 1.45;
  }

  .symptom-hero__label {
    font-size: 1.5rem;
    padding-inline: 1.4rem;
  }

  .symptom-hero__buttons {
    flex-wrap: wrap;
  }

  .symptom-hero__button {
    flex: 1 1 22rem;
  }

  .symptom-flow__list h3 {
    font-size: 2rem;
    white-space: normal;
  }

  .symptom-flow__list p {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }

  .symptom-hours__grid {
    gap: 2rem;
  }

  .symptom-hours__table tr > th:first-child {
    width: 11rem;
    font-size: 1.5rem;
  }

  .symptom-hours__today {
    flex-direction: column;
    gap: .2rem;
  }

  .symptom-hours__today strong {
    font-size: 2rem;
  }

  .symptom-reassure {
    padding-left: 22rem;
  }

  .symptom-reassure img {
    left: 1rem;
    width: 19rem;
    height: 19rem;
  }

  .symptom-emergency__top {
    gap: 4rem;
    padding-left: 0;
  }

  .symptom-emergency {
    padding-inline: 2.4rem;
  }

  .symptom-price__pills {
    gap: 1rem;
  }
}

@media (max-width: 767px) {
  .symptom-section,
  .symptom-hours,
  .symptom-section:has(.symptom-tests) {
    padding-top: 6rem;
  }

  .symptom-title .sub-heading__ja {
    line-height: 1.5;
  }

  .symptom-page__intro {
    margin-top: 1.6rem;
    font-size: 1.5rem;
    line-height: 2;
  }

  .symptom-hero {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2.4rem 3.8461538462vw 3rem;
  }

  .symptom-hero__content {
    display: contents;
  }

  .symptom-hero__label {
    order: 1;
    display: block;
    padding: .5rem 1rem;
    font-size: 1.3rem;
    line-height: 1.7;
    text-align: center;
  }

  .symptom-hero__heading {
    order: 2;
    margin: 0;
    font-size: 2.8rem;
    line-height: 1.5;
  }

  .symptom-hero__photo {
    order: 3;
  }

  .symptom-hero__photo img {
    border-radius: 1.5rem;
  }

  .symptom-hero__text {
    order: 4;
    margin: 0;
    font-size: 1.5rem;
  }

  .symptom-hero__points {
    order: 5;
    gap: 2.4rem;
    margin: 0;
  }

  .symptom-hero__points li {
    font-size: 1.6rem;
  }

  .symptom-hero__points span {
    width: 4.4rem;
    height: 4.4rem;
  }

  .symptom-hero__points img {
    width: 3.4rem;
    height: 3.4rem;
  }

  /* 親が中身の幅に縮む配置なので、ボタン列は横幅いっぱいに広げて2列にする */
  .symptom-hero__buttons {
    order: 6;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: stretch;
    gap: .8rem;
    margin: 0;
  }

  .symptom-hero__button {
    flex: none;
    gap: .6rem;
    min-width: 0;
    font-size: 1.6rem;
    white-space: nowrap;
  }

  .symptom-hero__button img {
    width: 2rem;
    height: 2rem;
  }

  .symptom-about {
    margin-top: 0;
  }

  .symptom-about__text {
    max-width: none;
    margin-top: 1.6rem;
    font-size: 1.5rem;
    line-height: 2;
  }

  .symptom-about__photo {
    position: static;
    display: block;
    width: 92.3076923077%;
    margin: 2rem auto 0;
    border-radius: 1.5rem;
  }

  .symptom-trouble {
    padding-top: 2rem;
  }

  .symptom-trouble__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-top: 2rem;
  }

  .symptom-trouble__list li {
    min-height: 6.4rem;
    padding: 1rem 1rem 1rem 6.4rem;
    font-size: 1.5rem;
  }

  .symptom-trouble__list li::before {
    left: 1.4rem;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: .8rem;
  }

  .symptom-trouble__list li::after {
    left: 2.3rem;
    width: 1.6rem;
    height: .8rem;
    border-width: 3px;
  }

  .symptom-trouble__answer {
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.4rem;
    font-size: 1.6rem;
  }

  .symptom-trouble__answer img {
    width: 4.4rem;
    height: 4.4rem;
  }

  .symptom-hours__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
    margin-top: 2rem;
  }

  .symptom-hours__table {
    font-size: 1.3rem;
  }

  .symptom-hours__table th,
  .symptom-hours__table td {
    height: 4.6rem;
  }

  .symptom-hours__table tr > th:first-child {
    width: 9.4rem;
    font-size: 1.2rem;
  }

  .symptom-hours__open {
    width: 1.1rem;
    height: 1.1rem;
  }

  .symptom-hours__note {
    min-height: 0;
    margin-top: .8rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }

  .symptom-hours__today {
    gap: 1.2rem;
    min-height: 6.4rem;
    margin-top: 1rem;
    font-size: 1.4rem;
  }

  .symptom-hours__today strong {
    font-size: 1.7rem;
  }

  .symptom-hours__button {
    margin-top: 2.4rem;
    padding: 1rem 4.8rem 1rem 1rem;
    font-size: 1.5rem;
  }

  .symptom-flow__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2rem;
    margin-top: 2.4rem;
  }

  .symptom-flow__list li {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    column-gap: 1.2rem;
    min-height: 0;
    padding: 1.4rem;
  }

  .symptom-flow__number {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
    transform: none;
  }

  .symptom-flow__list img {
    grid-row: 1 / 3;
    width: 8rem;
    height: 8rem;
  }

  .symptom-flow__list h3 {
    margin: 0;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: left;
  }

  .symptom-flow__list p {
    font-size: 1.5rem;
    line-height: 1.7;
  }

  .symptom-flow__note {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-flow__button {
    width: 32rem;
    max-width: 100%;
    margin-top: 2rem;
  }

  .symptom-location {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2rem;
    margin-top: 2.4rem;
  }

  .symptom-location__card {
    min-height: 0;
    padding: 1.4rem .8rem 2rem;
  }

  .symptom-location__card h3 {
    gap: 1rem;
    margin-left: .8rem;
    font-size: 2rem;
  }

  .symptom-location__card h3 span {
    font-size: 1.4rem;
  }

  .symptom-location__detail {
    margin-top: 1.6rem;
    padding: 0 .8rem 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-location__detail > div {
    grid-template-columns: 11rem minmax(0, 1fr);
    padding-block: .3rem;
  }

  .symptom-location__detail dt {
    padding-left: 3rem;
    background-position: left .1rem;
    background-size: 2.2rem;
  }

  .symptom-location__station {
    padding: 1.6rem .8rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-location__station h4 {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin-bottom: .4rem;
  }

  .symptom-location__button {
    width: 100%;
    max-width: 32.2rem;
  }

  .symptom-reassure {
    flex-direction: column;
    gap: .8rem;
    margin-top: 1.2rem;
    padding: 1.6rem;
    text-align: center;
  }

  .symptom-reassure img {
    position: static;
    width: 14rem;
    height: 14rem;
    transform: none;
  }

  .symptom-reassure h3 {
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .symptom-reassure p {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-reassure br {
    display: none;
  }

  .symptom-tests {
    margin-top: 2rem;
  }

  .symptom-tests__note {
    margin-top: 1.4rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-child {
    margin-top: 2rem;
    padding-top: calc(var(--sub-wave) + 1rem);
  }

  .symptom-child__content {
    max-width: none;
    margin-left: 0;
    font-size: 1.5rem;
    line-height: 2;
  }

  .symptom-child__content h2 {
    font-size: 2rem;
    line-height: 1.6;
  }

  .symptom-child__photo {
    position: static;
    display: block;
    width: 92.3076923077%;
    margin: 1.6rem auto 0;
    border-radius: 1.5rem;
  }

  .symptom-voice-section {
    padding-top: 2rem;
  }

  .symptom-voice {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-top: 2.4rem;
  }

  .symptom-emergency-section {
    padding-top: 2rem;
  }

  .symptom-emergency {
    padding: 2.4rem 1.4rem;
    border-radius: 2rem 0;
  }

  .symptom-emergency__top {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    padding-left: 0;
  }

  .symptom-emergency__top > img {
    flex-basis: auto;
    width: 10rem;
    height: 10rem;
  }

  .symptom-emergency__title {
    font-size: 1.9rem;
    line-height: 1.5;
    text-align: center;
  }

  .symptom-emergency__text {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .symptom-emergency__title--center {
    margin: 3rem 0 1.4rem;
  }

  .symptom-emergency__consults {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .symptom-emergency__consults li {
    min-height: 0;
    padding: 1.6rem 1rem;
  }

  .symptom-emergency__consults .sub-tel {
    font-size: 2.8rem;
  }

  .symptom-emergency__consults .sub-tel img {
    width: 2.8rem;
    height: 2.8rem;
  }

  .symptom-emergency__consults h3 {
    margin: .6rem 0 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .symptom-emergency__consults p {
    font-size: 1.4rem;
    line-height: 1.7;
  }

  .symptom-price {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2rem;
    margin-top: 2.4rem;
  }

  .symptom-price article {
    min-height: 0;
    padding: 2rem 1.6rem;
    font-size: 1.5rem;
    line-height: 1.8;
  }

  .symptom-price h3 {
    font-size: 2rem;
    line-height: 1.6;
    text-align: center;
  }

  .symptom-price__pills {
    justify-content: center;
    gap: .8rem;
  }

  .symptom-price__pills li {
    padding: .2rem 1.6rem;
    font-size: 1.4rem;
  }

  .symptom-faq {
    margin-top: 2.4rem;
  }

  .symptom-related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.4rem;
  }

  .symptom-related li::after {
    top: 1rem;
    right: 1rem;
  }

  .symptom-related a {
    min-height: 0;
    padding: 2.4rem .8rem 1.6rem;
  }

  .symptom-related img {
    height: 6rem;
  }

  .symptom-related h3 {
    margin: 1.2rem 0 .4rem;
    font-size: 1.6rem;
  }

  .symptom-related p {
    font-size: 1.3rem;
    line-height: 1.6;
  }

  .symptom-related__button {
    width: 32rem;
    max-width: 100%;
    margin-top: 2.4rem;
  }

  .symptom-related-section {
    padding-bottom: 8rem;
  }
}

/* XDの指定 */
.symptom-hero__text,
.symptom-page .sub-heading__en {
  color: #000;
}

.symptom-section:has(.symptom-location) {
  padding-top: 12.1rem;
}

.symptom-section:has(.symptom-price) {
  padding-top: 12.3rem;
}

.symptom-flow {
  padding-top: 11.6rem;
}

.symptom-price article:nth-child(2) {
  padding-left: 4.6rem;
}

@media (max-width: 767px) {
  .symptom-flow,
  .symptom-section:has(.symptom-location),
  .symptom-section:has(.symptom-price) {
    padding-top: 6rem;
  }
  .symptom-trouble {
    margin-top: 0;
  }
  .symptom-trouble__answer {
    padding-right: 1.4rem;
  }
  .symptom-price__amount {
    padding-left: 0;
    text-align: center;
  }
  .symptom-price__pills {
    max-width: none;
    margin-left: 0;
  }
  .symptom-price article:nth-child(2) {
    padding-left: 1.6rem;
  }
}

@media (min-width: 768px) {
  .symptom-hero__button:not(.symptom-hero__button--reserve) {
    padding-right: 1.6rem;
  }
  .symptom-emergency__consults p {
    margin-top: .8rem;
  }
  .symptom-price__pills li:nth-child(1) {
    min-width: 22rem;
  }
  .symptom-price__pills li:nth-child(3) {
    min-width: 15.2rem;
  }
  .symptom-section:has(.symptom-faq) {
    padding-top: 12.3rem;
  }
  .symptom-related-section {
    padding-top: 11.8rem;
  }
}

@media (max-width: 767px) {
  .symptom-price__amount {
    margin-block: 1rem 2rem;
  }
  .symptom-hours__name {
    margin-bottom: .4rem;
  }
  .symptom-price__pills {
    margin-top: .8rem;
  }
  .symptom-related h3 {
    margin-top: 1.2rem;
  }
}

/* XDのドロップシャドウ（X0 Y0 ぼかし5px 黒16%） */
.symptom-trouble__answer,
.symptom-hours__today,
.symptom-reassure,
.symptom-emergency__consults li {
  box-shadow: 0 0 5px rgb(0 0 0 / 16%);
}

/* 休診日（page-symptom.js が is-closed を付ける） */
.symptom-hours__today.is-closed {
  border-color: #7e7e7e;
  background: #eee;
}
