/* ===== contact Hero ===== */

.contact-hero {

  position: relative;

  height: 100vh;

  display: flex;

  align-items: center;

  justify-content: flex-start;

  background-size: cover;

  background-position: center;

  background-image: url('../assets/contact.png');

}



.contact-info {

  position: relative; /* absoluteの基準 */

  overflow: hidden;   /* 円のはみ出しを切るなら */

}



/* コンテンツ幅 */

.contact-hero__content {

  position: relative;

  z-index: 2;

  margin: 0 auto;

  width: 100%;

}



/* タイトル */

.contact-hero__title {

  font-family: 'Noto Sans JP', sans-serif;

  font-size: 35px;

  font-weight: 700;

  letter-spacing: 10.85px;

  color: #575757;

  animation: contact-hero-fadeInUp 1s ease-out;

  margin-top: -80px;

  padding-left: 7%;

}



/* 仕切り線 */

.contact-hero__divider {

  display: inline-block;

  width: 40%;

  height: 1px;

  background-color: #fff;

  animation: contact-hero-fadeInUp 1s ease-out 0.3s both;

}

.green-circle {

  position: absolute;

  top: 30%;                /* セクション中央に寄せる */

  right: -150px;           /* はみ出し感を出すためにマイナス値 */

  transform: translateY(-50%);

  width: 860px;            /* Figmaで確認したサイズ */

  height: 860px;           /* SVGのviewBoxに合わせる */

  z-index: 1;              /* 背景にするなら小さめ、テキスト前なら大きめ */

  pointer-events: none;    /* クリックをブロックしない */

}



.blue-circle {

  position: absolute;

  top: 50%;                /* セクション中央に寄せる */

  left: -150px;           /* はみ出し感を出すためにマイナス値 */

  transform: translateY(-50%);

  width: 58.33vw;            /* Figmaで確認したサイズ */

  height: 58.33vw;           /* SVGのviewBoxに合わせる */

  z-index: 0;              /* 背景にするなら小さめ、テキスト前なら大きめ */

  pointer-events: none;    /* クリックをブロックしない */

}


.contact-contact {

  position: relative;

  background: #fff;

  overflow: hidden;

}



.contact-wave {

  bottom: 0;

  left: 0;

  transform: translateY(5%);

}



@media(max-width:1024px){

  .blue-circle{

    top: 70%;

    width: 100vw;

    height: 100vw;

  }

}



/* レスポンシブ */

@media (max-width: 768px) {

  .index-contact { padding: 72px 0; }

  .index-contact__content { padding: 40px 24px; }

  .index-contact__button { padding: 16px 32px; }

  .contact-wave {

    transform: translateY(10%);

  }

}



/* フェードイン */

@keyframes contact-hero-fadeInUp {

  from { opacity: 0; transform: translateY(30px); }

  to   { opacity: 1; transform: translateY(0); }

}



/* レスポンシブ */

@media (max-width: 768px) {

  .contact-hero__content { padding: 0 24px; }

  .contact-hero__title {

    font-size: 28px;

    letter-spacing: 6px;

  }

}

