/* =========================
   お問い合わせフォーム
========================= */

/* =========================
   お問い合わせページ全体
========================= */

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;
}

.contact-body {
  min-height: 100vh;
  font-family:
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;

  color: #4a3828;
  background: #fffaf2;
}

.contact-page {
  width: 100%;
}

/* =========================
   トップページへ戻るボタン
========================= */

.contact-top-nav {
  width: min(calc(100% - 40px), 900px);
  margin: 0 auto;
  padding-top: 30px;
}

.contact-top-nav a {
  display: inline-block;
  padding: 11px 20px;

  color: #5b4332;
  background: rgba(255, 255, 255, 0.92);

  border: 1px solid rgba(153, 119, 83, 0.4);
  border-radius: 999px;

  box-shadow: 0 4px 12px rgba(86, 62, 42, 0.1);

  font-size: 0.95rem;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;

  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.contact-top-nav a:hover {
  background: #fff4e3;
  box-shadow: 0 6px 16px rgba(86, 62, 42, 0.16);
  transform: translateY(-2px);
}

.contact-top-nav a:focus-visible {
  outline: 3px solid rgba(161, 124, 85, 0.35);
  outline-offset: 3px;
}

.contact-section {
  padding: 70px 20px;
  background: rgba(255, 250, 242, 0.88);
}

.contact-inner {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 45px 35px;
  box-sizing: border-box;

  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(153, 119, 83, 0.3);
  border-radius: 24px;

  box-shadow:
    0 10px 30px rgba(86, 62, 42, 0.12);
}

.contact-label {
  margin: 0 0 8px;

  color: #a17c55;
  font-size: 0.78rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
}

.contact-title {
  margin: 0 0 22px;

  color: #5b4332;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  text-align: center;
}

.contact-message {
  margin: 0 auto 24px;

  color: #55483f;
  font-size: 1rem;
  line-height: 1.9;
  text-align: center;
}

.contact-note {
  max-width: 700px;
  margin: 0 auto 32px;
  padding: 18px 22px;

  background: #fffaf3;
  border-left: 5px solid #c5a276;
  border-radius: 10px;

  color: #655548;
  font-size: 0.9rem;
  line-height: 1.8;
}

.contact-note p {
  margin: 0;
}

.contact-note p + p {
  margin-top: 8px;
}

/* Googleフォーム表示部分 */
/* Googleフォーム表示部分 */
.google-form-wrapper {
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
}

.google-form-wrapper iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 931px;
  min-height: 931px;
  border: none;
}

/* =========================
   スマートフォン表示
========================= */

@media screen and (max-width: 700px) {

  .contact-top-nav {
    width: calc(100% - 24px);
    padding-top: 18px;
  }

  .contact-top-nav a {
    padding: 10px 16px;
    font-size: 0.9rem;
  }

  .contact-section {
    padding: 45px 12px;
  }

  .contact-inner {
    padding: 32px 14px;
    border-radius: 18px;
  }

  .contact-message {
    font-size: 0.95rem;
    text-align: left;
  }

  .contact-note {
    padding: 15px 16px;
    font-size: 0.85rem;
  }

  .google-form-wrapper iframe {
    height: 1050px;
    min-height: 1050px;
  }

}