@charset "utf-8";
@import "/fonts/fonts.css";

.eyecatch {
  position: relative;
  display: flex;
  width: 100vw; /* ビューポートを参照し、100%に設定 */
  max-width: 1150px;
  left: 50%; /* 親要素関係なく、中央に配置する */
  transform: translateX(-50%); /* 親要素関係なく、中央に配置する */
  height: 620px;
  /* align-content: center; */
  justify-content: center; /* 横方向中央揃え */
  margin-bottom: 1rem;
}

.eyecatch__image {
  position: relative;
  top: 0%;
  left: 0;
  max-width: 800px;
  height: auto;
  z-index: 1;
}
.eyecatch__image img {
  border-radius: 9999px /*辺が短い方に合わせて、最大の丸みをつける*/
}

.eyecatch__text {
  position: absolute;
  bottom: 0%;
  right: 1%;
  width: 580px;
  height: auto;
  padding: 24px 16px;
  border-radius: 5px;
  background: #ffffff;
  z-index: 2; /* テキストが前面 */
  text-align: center;
  line-height: 1.6;
  font-size: clamp(1.2rem, 2.5vw, 1.4rem);
  font-family: var(--font-zen-maru-gothic);
  font-style: normal
}
.eyecatch__sup-text {
  font-size: clamp(1rem, 2.0vw, 1.2rem);
  font-weight: 400;
}
.eyecatch__text p {
  margin: 0;
  word-break: keep-all; /* 単語内で改行しない */
}

/* モバイル対応 */
@media (max-width:767px) {
  .eyecatch {
    display: flex;
    flex-direction: column;
    height: auto;
    margin: 1.1rem 0 2rem 0;
    overflow-x: clip;/*はみでた部分を隠す*/
  }
  .eyecatch__image, .eyecatch__text {
  }
  .eyecatch__image {
    position: relative;
  }
  .eyecatch__image img {
    border-radius: 9999px;
    width: 130vw;
    max-width: unset;
    justify-self: center;
  }
  .eyecatch__text {
    position: relative;
    align-self: flex-end;
    width:100vw;
    right: 0%;
    margin-top: -20px; /* 上に重ねる */
    padding: 3% 16px;
    border-radius: 0px;
    background-color: #ffffff;

    /*display: block !important; /* hvr-grow1のinline-blockを上書き */
    /*vertical-align: unset !important; /* hvr-grow1のvertical-alignを無効化 */
  }
}