/* 書籍購入フォーム（/textform2/） */
#tf_form{color:#444;line-height:1.7;}
#tf_form input[type="text"],#tf_form input[type="email"],#tf_form select{
  font-size:16px;padding:6px 8px;border:1px solid #bbb;border-radius:3px;box-sizing:border-box;background:#fff;color:#333;}
#tf_form input[type="text"],#tf_form input[type="email"]{width:100%;margin:2px 0;}
#tf_form input.tf_s{width:5em;}
#tf_form input.tf_err,#tf_form select.tf_err{border-color:#d33;background:#fff5f5;}

.tf_h2{font-size:1.15em;font-weight:bold;margin:30px 0 16px;padding:6px 12px;border-left:5px solid #4adaa5;background:#f4f4f4;}

.tf_goods{display:flex;gap:20px;list-style:none;margin:0 0 16px;padding:0;}
.tf_goods li{flex:1 1 0;display:flex;gap:16px;align-items:flex-start;border:1px solid #ddd;border-radius:6px;padding:16px;background:#fff;}
.tf_goods img{width:130px;height:auto;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.tf_goods_body span{display:block;}
.tf_type{font-size:.9em;color:#777;}
.tf_name{font-weight:bold;font-size:1.05em;}
.tf_price{color:#c00;font-weight:bold;margin-bottom:10px;}
.tf_qty{display:block;white-space:nowrap;}
#tf_form .tf_qty input{width:4em;text-align:right;margin:0 4px;}
.tf_sub{margin-top:6px;}

.tf_total{display:grid;grid-template-columns:auto auto;justify-content:end;gap:4px 16px;margin:0 0 24px;font-size:1.05em;}
.tf_total dt{font-weight:bold;}
.tf_total dd{margin:0;text-align:right;}
#tf_sum{font-size:1.2em;color:#c00;}

.tf_table{width:100%;border-collapse:collapse;margin-bottom:16px;}
.tf_table th,.tf_table td{border:1px solid #ccc;padding:10px 12px;vertical-align:top;text-align:left;}
.tf_table th{width:30%;background:#eee;font-weight:normal;}
.tf_req{display:inline-block;margin-left:6px;padding:0 5px;font-size:.75em;color:#fff;background:#e24;border-radius:3px;}
.tf_row{margin:0 0 6px;}
.tf_row label{display:block;}
.tf_note{margin:4px 0 0;font-size:.9em;color:#666;}
#tf_zipbtn{padding:5px 10px;font-size:.9em;cursor:pointer;}

.tf_hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.tf_errors{color:#c00;background:#fff5f5;border:1px solid #f0c0c0;border-radius:4px;padding:10px 12px 10px 30px;margin:0 0 16px;}

.tf_btns{text-align:center;margin:24px 0;}
.tf_btn{min-width:260px;padding:12px 20px;margin:4px 8px;font-size:16px;color:#fff;background:#0db577;border:none;border-radius:6px;cursor:pointer;letter-spacing:1px;}
.tf_btn:hover{opacity:.85;}
.tf_btn:disabled{opacity:.5;cursor:wait;}
.tf_btn_sub{background:#999;}

@media (max-width:640px){
  .tf_goods{flex-direction:column;}
  .tf_goods img{width:100px;}
  .tf_table th,.tf_table td{display:block;width:auto;border-top:none;}
  .tf_table tr:first-child th{border-top:1px solid #ccc;}
  .tf_btn{min-width:0;width:100%;margin:6px 0;}
}

/* アナウンス力検定フォーム（/anaken_form3/）で追加 */
.tf_goods_wrap{flex-wrap:wrap;}
.tf_goods_wrap li{flex:1 1 calc(50% - 10px);box-sizing:border-box;}
.tf_goods_wrap li.tf_goods_exam{flex-basis:100%;border-color:#0db577;}
.tf_radio{display:inline-block;margin:2px 20px 2px 0;cursor:pointer;}
.tf_radio input{margin-right:4px;}
.tf_radio_block{display:block;margin-right:0;}
#tf_form select[name="birth_m"],#tf_form select[name="birth_d"]{width:4.5em;}
.tf_radio_err{outline:2px solid #d33;outline-offset:2px;}
@media (max-width:640px){
  .tf_goods_wrap li,.tf_goods_wrap li.tf_goods_exam{flex-basis:auto;}
}
