/*
 Theme Name: Arkhe Child
 Template:   arkhe
*/

/*
2026-xx-xx

Details:
(none)

Path:
root
*/

/*
2026-01-09
Add hospital director's message to front page

Details:
(none)

Path:
root
*/
.home-greeting {
  margin-block: 8px 0;
  padding-inline: 16px;
  padding-block: 16px;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  @media (width >= 768px) {
    gap: 32px;
    flex-direction: row;
    padding-inline: 32px;
    padding-block: 32px;
  }
}

.home-greeting__text {
  @media (width >= 768px) {
    width: 70%;
  }
  p + p {
    margin-block: 32px 0;
  }
}

.home-greeting__paragraph--signature {
  text-align: right;
}



/*
2026-07-03
お子さまの近視進行を抑える治療のご案内
*/

.mec-section-content {
  margin-top: 40px;
}

.mec-section-title {
  font-size: 1.3em;
  padding-left: 8px;
  border-left: 5px solid #3fb2e2;
  border-radius: 2px;
}

.mec-section-title + p {
  margin-top: 1em;
}

.mec-flex {
  display: flex;
  flex-direction: row;
}

.mec-flex--reverse {
  flex-direction: row-reverse;
}

.mec-flex__text {
  flex: 1;
}

.mec-flex__img {
  flex-shrink: 0;
  width: 360px;
}

.mec-flex__img img {
  max-width: 100%;
  height: auto;
  display: block;
}

.myopia-flex {
  gap: 30px;
  margin-top: 16px;
  align-items: center;
}

.myopia-flex__center {
  align-items: start;
}


.mec-faq-section-content {
  margin-top: 80px;
}

.mec-faq {
  counter-reset: faq;
  margin-top: 32px;
}

.mec-faq dt {
  position: relative;
  padding-left: 56px;
  margin-top: 50px;
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.1;
}

.mec-faq dt:first-of-type {
  margin-top: 0;
}

.mec-faq dt::before {
  counter-increment: faq;
  content: "Q" counter(faq, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
  top: 0;

  color: #3fb2e2;
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.1;
}

.mec-faq dd {
  margin: 16px 0 0 56px;
  line-height: 2;
}

.mec-faq-title {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}

.mec-faq-title:before {
  content: '';
  position: absolute;
  bottom: -20px;
  display: inline-block;
  width: 60px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #3fb2e2;
  border-radius: 2px;
}

.mec-faq-title__inner {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mec-flex {
    display: block;
  }

  .mec-flex__img {
    width: 100%;
    margin-top: 8px;
  }

  .mec-faq dd {
    margin: 8px 0 0 0;
  }

  .mec-faq dt::before {
    font-size: 1em;
  }

  .myopia-text {
    margin-top: 16px;
  }
}

/*
2026-07-03
トップページの「院長あいさつ」レイアウトをコンポーネント化
*/
.horizontal-card {
  margin-block: 8px 0;
  padding-inline: 16px;
  padding-block: 16px;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;

  @media (width >=768px) {
    gap: 32px;
    flex-direction: row;
    padding-inline: 32px;
    padding-block: 32px;
  }
}

.horizontal-card__text {
  @media (width >=768px) {
    width: 70%;
  }

  p+p {
    margin-block: 32px 0;
  }
}

.horizontal-card__paragraph--signature {
  text-align: right;
}

.horizontal-card {

  margin-block: 8px 0;
  padding-inline: 16px;
  padding-block: 16px;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;

  @media (width >=768px) {
    gap: 32px;
    flex-direction: row;
    padding-inline: 32px;
    padding-block: 32px;
  }
}

.horizontal-card__text {
  @media (width >=768px) {
    width: 70%;
  }

  p+p {
    margin-block: 32px 0;
  }
}

.horizontal-card__paragraph--signature {
  text-align: right;
}

.horizontal-card__a {
  text-align: right;
  margin: 40px 0 20px 0;

  a {
    text-decoration: none;
  }
}

.horizontal-card__a:hover {
  opacity: .7;
}

.horizontal-card__a_text {
  background: #3fb2e2;
  color: #ffffff;
  padding: 16px 32px;
  border-radius: 70px;
  font-weight: bold;
}

.horizontal-card__a_text::after {
  content: ' →';
}

.horizontal-card figure {
  margin: auto;
}

