td {
    vertical-align: top;
    padding: 10px;
    text-align: left;
    width: 400px;
}

td, th {
    
    margin-bottom: 90px;
}

th [class="font"]{
    border-bottom: 2px solid #000;
    display: 100px;
}

table {
     padding : 10px;
}



input[type="text"]:not(.namedate) {
    width: 100%;
    border: solid 1px; 
    border-color: rgb(206, 204, 202);
    height : 40px;
    padding: 8px 12px; /* ← ここで文字の周囲に余白を追加 */
    box-sizing: border-box; /* ← 必須：paddingを含めてwidthを調整 */
}

input[type="email"] {
    width: 100%; 
    border: solid 1px; 
    border-color: rgb(206, 204, 202);
}  

input[type="tel"] {
    width: 100%; 
    border: solid 1px; 
    border-color: rgb(206, 204, 202);
}



textarea {
    width: 100%; 
    height: 200px;
    border: solid 1px; 
    border-color: rgb(206, 204, 202);
}
 
.zipcode {
    display: flex;
    align-items: center;
    gap: 10px;
}

.namedate {
    width: 177px;
    padding: 6px 10px;
    font-size: 16px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    box-sizing: border-box;
}


 .terms-box {
    max-width: 100%;           /* 画面幅を超えない */
    width: 100%;               /* 親要素に対して幅いっぱい */
    max-height: 50vh;          /* 画面の高さの50%まで */
    padding: 15px 15px 15px 25px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    overflow-y: scroll;      /* 垂直スクロールを有効にする */
    line-height: 1.6;
    font-size: 14px;
}

input[type = submit] {
    border : solid 1.7px;
    padding : 7px 30px;
}

input[type="checkbox"] {
    transform: scale(1.3); /* 倍率を指定 */
    margin-right: 8px; /* ラベルとの余白（任意） */
}


span.mwform-checkbox-field-text {
    font-size: 20px;
    font-weight: bold;
}

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

  /* 各入力欄を少し小さくする */
  input[type="text"]:not(.namedate),
  input[type="email"],
  input[type="tel"],
  textarea {
    width: 85%;           /* 少し余白を作って横幅を縮める */
    font-size: 14px;
    padding: 6px 10px;
  }

  /* 郵便番号の入力欄だけ横並びを維持しつつ小さく */
  .zipcode {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .zipcode input[type="text"] {
    width: 60px;          /* 郵便番号の各欄をコンパクトに */
    font-size: 14px;
    padding: 6px 8px;
  }

  /* ラベル側の幅を狭くする（必要なら） */
  td,
  th {
    width: 200px;          /* 固定幅ではなく、内容に合わせる */
    padding: 5px 5px;
    font-size: 13px;
  }
}

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

body {
  display: flex;
  flex-direction: column;
}

main {
    flex : 1;
}

footer {
    background: #ccc;
    padding: 1em;
    text-align: center;
}

.confirm {
    padding-top: 140px;
    padding-bottom: 100px;
    padding-left : 85px;
    font-size: 150%;
}

@media  screen and (max-width: 600px) {
    .confirm {
        padding-top: 140px;
        padding-bottom: 100px;
        padding-left : 10px;
        font-size: 100%;
    }
    
}

a.c-btn {
position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}