html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  /* overflow: hidden; */
}

body {
  font-family: Futura, "Yu Gothic", "YuGothic", Avenir, sans-serif;
  background-color: #00172C;
  color: white;
}

.bg-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /* z-index: 0; */
  pointer-events: none;
}

#onecolumn-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* ページ全体調整 */
.page-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* 白カード部分 */
.contact-content-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 3rem 1rem;
}

.contact-content {
  width: 90%;
  background: #fff;
  color: black;
  padding: 5rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  line-height: 1.8;
  z-index: 5;
}

h1 {
  margin-top: 5rem;
  font-size: 4rem;
}




/* ========================　レスポンシブ　========================= */

/* ========================　スマホ　========================= */

@media (max-width: 768px) {
  h1 {
    font-size: 3rem;
  }
  .contact-content-wrapper {
    width: 100%;
    padding: 3rem 0;
  }
  .contact-content {
    width: 95%;
    padding: 2rem 1rem;
    box-sizing: border-box;
  }
  /* .contact-content {
    padding: 3rem 1rem;
    width: 90%;
  } */
  .contact-content iframe {
    width: 100% !important;
    height: auto;
    min-height: 130rem; /* 必要なら調整 */
  }

@media (max-width: 1024px) and (min-width: 768px) {
  .contact-content iframe {
    min-height: 110rem;
  }
}
}