* { box-sizing: border-box; }

    html, body {
      margin: 0;
      padding: 0;
      min-height: 100%;
    }

    body {
      /* font-family: "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif; */
      color: #fff;
      background: #0f0a14;
      overflow-x: hidden;
    }

    .bg-stage {
      position: fixed;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .bg-image {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      will-change: transform;
      pointer-events: none;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      user-select: none;
      max-width: none;
    }

    .bg-image-pc {
      display: block;
    /* width: auto; */
    height: auto;
    padding: 0;
    min-height: 120vh;
    }

    .bg-image-sp {
      display: none;
      height: 120vh;
      width: auto;
      min-width: 100vw;
    }

    .bg-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(6, 4, 10, 0.28) 0%, rgba(6, 4, 10, 0.62) 100%),
        radial-gradient(circle at top, rgba(255, 108, 196, 0.18), transparent 42%);
    }

    .page {
height: 100vh;
    flex: initial;
    position: relative;
    z-index: 2;
    /* min-height: 100vh; */
    display: grid;
    place-items: center;
    padding: 24px;
    /* width: 100%; */
    max-width: 100%;
    align-items: start;
    align-content: stretch;
    }

    .page form{
          /* position: absolute; */
    margin-top: 100px;
    }

    .card {
      width: min(100%, 560px);
      padding: 36px 28px 30px;
      border-radius: 24px;
      background: rgba(18, 12, 24, 0.72);
      border: 1px solid rgba(255, 255, 255, 0.16);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.34);
      text-align: center;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
    }

    .eyebrow {
      display: inline-block;
      margin-bottom: 14px;
      padding: 7px 12px;
      border-radius: 999px;
      font-size: 12px;
      letter-spacing: 0.08em;
      background: rgba(255,255,255,0.10);
      border: 1px solid rgba(255,255,255,0.12);
    }

    h1 {
      margin: 0 0 14px;
      font-size: clamp(28px, 4vw, 42px);
      line-height: 1.2;
      font-weight: 700;
    }

    .lead {
      margin: 0 auto 14px;
      font-size: 16px;
      line-height: 1.9;
      color: rgba(255,255,255,0.92);
    }

    .notice {
      margin: 0 0 28px;
      font-size: 13px;
      line-height: 1.8;
      color: rgba(255,255,255,0.72);
    }

    .actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 16px;
    }

    .btn {
      appearance: none;
      border: 0;
      border-radius: 14px;
      padding: 4px 18px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .btn:hover {
      transform: translateY(-1px);
    }

    .btn-yes {
      color: #fff;
      background: none;
      /* box-shadow: 0 10px 24px rgba(202, 80, 255, 0.28); */
    }

    .btn-no {
      color: #fff;
      background: none;
      /* border: 1px solid rgba(255,255,255,0.14); */
    }

    .subtext {
      font-size: 12px;
      line-height: 1.8;
      color: rgba(255,255,255,0.62);
    }

    .page h3{
          background: #e73e78;
    font-size: 24px;
    text-align:center;
        padding: 0 10px;
    }

    .page h2{
        font-size: 40px;
 font-family: "LINE Seed JP", sans-serif;
  color: rgb(245, 130, 160);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  text-shadow: 0px 0px 13.58px rgba(0, 0, 0, 1);
    }

    .white{
      color:white;
    }

    .mini{
      font-size:30px;
    }

    .top_logo{
      width: 25%;
      max-width: 300px;
    }
    @media screen and (min-width: 1024px) {
    .top_logo {
        width: 45%;
        max-width: 300px;
        margin: 0 auto;
    }
}


    @media (max-width: 768px) {
.page h3{
      font-size: 18px;
}

    .page h2{
        font-size: 26px;
    }

    .mini{
      font-size:14px;
    }
    .top_logo{
      width: 60%;
      margin: 0 auto;
    }

      .bg-image-pc {
        display: none;
      }

      .bg-image-sp {
        display: block;
      }

      .page {
        padding: 18px;
      }

      .card {
        padding: 28px 20px 22px;
        border-radius: 20px;
      }

      .actions {
        grid-template-columns: 1fr;
      }

      .btn {
        width: 100%;
      }
    }

    @media (max-width: 768px){
.bg-image-sp {
  display: block;
width: 100vw;
height: auto;
padding: 0;
min-height: 120vh;
    }
}
@media screen and (min-width: 768px) {

.top_logo {
    width: 70%;
    max-width: 500px;
    margin: 0 auto;
}
.buttons{
  text-align: center;
}

}