    body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color:#111; }
    .wrap { max-width: 860px; margin: 20px auto; padding: 0 14px; }
    .card { background:#fff; padding: 16px; }
    h1 { font-size: 18px; margin: 0 0 12px; }
    .tabbar { display:flex; gap: 8px; margin: 0 0 12px; }
    .tabbar .tab { flex:1; text-align:center; text-decoration:none; padding: 12px 10px; border:1px solid #005693; color:#1d5aa8; background:#fff; font-weight: 700; }
    .tabbar .tab.is-active { background:#005693; color:#fff; }
    .panel { display:none; }
    .panel.is-show { display:block; }

    .form-row { margin: 12px 0; }
    label { display:block; font-weight: 700; margin-bottom: 6px; }
    .req { color:#c00; margin-left: 6px; font-weight: 700; }
    input[type="text"], input[type="email"], textarea {
      width: 100%;
      box-sizing: border-box;
      border: 1px solid #d8dbe3;
      border-radius: 6px;
      padding: 10px 12px;
      font-size: 16px;
      background: #f3f4f6;
    }
    textarea { min-height: 130px; resize: vertical; }
    .btns { display:flex; justify-content:center; margin-top: 14px; }
    .btn-primary {
      width: 100%;
      border: 0;
      background: #555;
      color:#fff;
      font-weight: 800;
      padding: 12px 10px;
      border-radius: 6px;
      cursor: pointer;
    }
    .note { font-size: 13px; color:#555; margin-top: 8px; }
    .hr { height:1px; background:#e6e8ee; margin: 12px 0; }
    .tel-banner{
      background: #005693;
      color: #fff;
      padding: 12px 10px;
      font-weight: 400;
      text-align:center;
      margin:20px 0;
      letter-spacing: 2px;
    }
    .contact-banana{
      max-width: 760px; margin: 60px auto; padding: 0 14px;
    }
    .tel-number{
      font-weight: 900;
      font-size:40px;
      text-align: center;
      margin-top:15px;
      letter-spacing: 4px;
    }
    .tel-number span{
      font-weight: 300;
      font-size:16px;
      margin-right:10px;
    }
    .opening-hours{
      font-size:13px;
      text-align: center;
      margin-bottom:60px;
    }
  .sitasen{
    border-bottom: solid 1px #12335f;
    letter-spacing: 2px;
    margin-top:45px;
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .runrunrun{
    margin-top:15px;
  }
  .kuroin{
    margin-left:25px;
    font-size:13px;
  }
  .uepouepo{
    font-size:13px;
    margin:30px 0 45px 0;
  }
  .sitauepo{
    margin:30px 0;
    font-size:13px;
  }

  .sitauepo21{
    margin:60px 0 30px 0;
    font-size:13px;
  }
  .garagarapom{
    font-size:18px;
    text-align: center;
    margin:30px 0;
    letter-spacing: 2px;
  }

  .choice-group { margin-top: 6px; }
  .choice-title { font-weight: 700; margin-bottom: 8px; }

  .choice{
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    line-height: 1.4;
    margin: 8px 0;
  }

  /* input は見えなくする */
  .choice > input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  /* □ を描く（checkboxっぽい見た目） */
  .choice::before{
    content: "";
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    border: 2px solid #b8bcc7;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    display: inline-block;
  }

  /* チェック時：レ点を表示 */
  .choice:has(> input:checked)::before{
    border-color: #1d5aa8;
    background: #1d5aa8;
  }

  /* レ点（✓） */
  .choice:has(> input:checked)::after{
    content: "";
    position: absolute;
    margin-left: 5px;
    width: 4px;
    height: 6px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(45deg);
  }

  /* フォーカス時（キーボード操作対応） */
  .choice:has(> input:focus-visible)::before{
    outline: 3px solid rgba(29,90,168,0.25);
    outline-offset: 2px;
  }
.koukaku-group{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.koukaku-group .choice{
  margin: 0;
}

.koukaku-group2{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.koukaku-group2 .choice{
  margin: 0;
}
.choice-group{
  margin:15px 0 50px 0;
}
.puromisu{
  margin:0 0 30px 0;
}

.puromisu2{
  margin:30px 0;
}

.puromisu3{
  margin:50px 0;
}

.btn-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 18px 70px;
  background: #f36b1c;   /* オレンジ */
  color: #fff !important;
  text-decoration: none;

  border-radius: 4px;    /* 角丸いらなければ 0 */
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;

  transition: opacity .15s ease, transform .15s ease;
}

.btn-link:hover{
  opacity: .9;
  transform: translateY(-1px);
}

.btn-link:active{
  transform: translateY(0);
}

.btn-link:focus-visible{
  outline: 3px solid rgba(243,107,28,.35);
  outline-offset: 3px;
}
.btn-wrap{ 
  text-align:center;
  margin:50px 0;
}
.pc99{
  display:block;
}
.sp99{
  display:none;
}

/* ここがポイント：□と文章を2カラムで固定する */
.choice{
  position: relative;
  display: grid;
  grid-template-columns: 22px 1fr; /* 左：□ / 右：文章 */
  column-gap: 12px;
  align-items: start;
  cursor: pointer;
  user-select: none;
  line-height: 1.5;
  margin: 10px 0;
}

/* 文章側がちゃんと折り返せるように */
.choice-text{ min-width: 0; }
.choice-text .main{ display:block; font-weight:700; }
.choice-text .sub{
  display:block;
  margin-top: 4px;
}

/* □（既存の見た目を使うならそのまま） */
.choice::before{
  content:"";
  width: 17px;
  height: 17px;
  border: 1px solid #cfcfcf;
  background: #e9e9e9;
  margin-top: 2px; /* 1行目に揃える微調整 */
}

/* チェック時の色（既存のルールがあるならそれでOK） */
.choice:has(> input:checked)::before{
  background: #0b4f8a;
  border-color: #0b4f8a;
}

/* チェックマーク（既存のやつがあるならそれでOK） */
.choice:has(> input:checked)::after{
content: "";
    position: absolute;
    left: -2px;
    top: 7px;
    width: 11px;
    height: 6px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(45deg);
}
.contact-obiwan {
  background-color: #003865;
  color: #fff;
  padding: 24px 10px;
  letter-spacing: 0.15em;
}
.contact-obiwan h2{
  font-size: 32px;
  max-width: 1080px;
  margin:0 auto;
  font-weight: 900;
}
.contact-obiwan span{
font-size: 16px;
font-weight: 400;
}


.confirm-table {
  width: 100%;
  border-collapse: collapse;
}


/* ラベル（上の青文字） */
.confirm-table th {
  display: block;
  width: 100%;
  padding: 20px 0 4px;
  font-size: 14px;
  font-weight: 700;
  color: #0060b6;
  text-align: left;
    border-bottom: 1px solid #0060b6;
}

/* 内容（下の黒文字） */
.confirm-table td {
  display: block;
  width: 100%;
  padding: 0 0 12px;
  font-size: 14px;
  color: #333;
}

/* 不要なら table の外枠などは消しておく */
.confirm-table,
.confirm-table th,
.confirm-table td {
  border-top: none;
  border-left: none;
  border-right: none;
}

.gureicad{
  margin:40px auto 70px auto;
  padding:40px 0;
  background: #646464;
  max-width: 500px;
}
.gureicad h3{
  font-size:22px;
  color: #fff;
  text-align: center;
}
.aosen{
  background: #005693;
  padding:3px 5px;
  color: #fff;
}

.paten-ap{
  margin:5px 0 15px 0;
}

/* ボタン全体の並び */
.btns {
  display: flex;
  justify-content: center;  /* 中央寄せ */
  gap: 24px;                /* ボタン同士の間隔 */
  margin: 40px 0;
}

/* 共通デザイン（高さ・文字など） */
.btn-pill,
.btn-pill2 {
  min-width: 220px;
  padding: 16px 40px;
  border: none;
  font-size: 16px;
  text-align: center;
  cursor: pointer;
  color: #fff;
  background: #f0641e;   /* デフォルトは送信ボタンと同じオレンジ */
}

/* 左側：戻る（グレー） */
.btn-pill2 {
  background: #cccccc;
  color: #333;
}

/* 右側：送信（オレンジ） */
.btn-pill {
  background: #f0641e;
  color: #fff;
}

.kurkurutokei{
  margin:70px auto;
  max-width: 500px;
}

.arigatou{
  text-align: center;
  letter-spacing: 2px;
  font-size:18px;
  line-height: 2;
}

.topics .aosen2{
  display: inline-block;
  margin-bottom: 10px;
}
.aoaoao{
  color: #0075c2 !important;
  border-bottom: solid 1px #0075c2;
}

.kuuhaku{
  width:100%;
  height:50px;
}
 .aosen2{
  margin: 5px 0;
}
/* スマホでは縦並びのほうが良ければ */
@media (max-width: 768px) {
  .btns {
    flex-direction: column;
    align-items: center;
  }

  .btn-pill,
  .btn-pill2 {
    width: 100%;
    max-width: 320px;
  }
}
@media screen and (max-width: 768px) {
.tel-number {
    font-size: 32px;
    letter-spacing: 2px;
}
.pc99{
  display:none;
}
.sp99{
  display:block;
}
.card {
    background: #fff;
    padding: 16px 0;
}
.sitauepo {
    margin: 30px 0;
    font-size: 11px;
}
.sitauepo21 {
    margin: 60px 0 30px 0;
    font-size: 11px;
}
.koukaku-group2{
  display: block;
}
.contact-obiwan h2 {
    font-size: 20px;
    margin: 0 10px;
}
.contact-obiwan span {
    font-size: 12px;
    font-weight: 400;
}
}