@charset "UTF-8";
.bl_form {
    background: #203644;
    padding: 25px 0;
}
.bl_form ul{
    list-style:none;
    padding:0;
    margin:0;
}

.bl_form dd {
    margin: 0;
    padding: 0;
}
.bl_form .bl_question_item {
    background: #fff;
    margin: 0 20px 30px;
    border-radius: 16px;
    padding: 24px 0 30px;
}

.bl_form .bl_question_item dt {
    margin-bottom: 22px;
    text-align: center;
}

.bl_form .bl_question_item dt label {
    font-size: 17px;
    font-weight: bold;
    color: #123b84;
    line-height: 1;
}

.bl_form .bl_question_item dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    padding: 0 15px;
}
.bl_form .bl_question_item dd ul li {
    width: calc( (100% - 15px) / 2 );
}
.bl_form .bl_question_item dd ul li:last-child:empty{
    display:none;
}

.bl_form .bl_question_item dd ul li input[type=radio] {
    display: none;
}

.bl_form .bl_question_item dd ul li input[type=radio]:checked+label {
    background: #ed602b;
    border: 3px solid #ed602b;
    border-radius: 16px;
    color: #fff;
}
.bl_form .bl_question_item dd ul li label {
    cursor: pointer;
    display: inline-block;
    width: 100%;
    border: 4px solid #c8c8c8;
    border-radius: 16px;
    padding: 16px 0;
    font-size: 15px;
    font-weight: bold;
    font-feature-settings: "palt";
    color: #123b84;
    text-align: center;
}

.bl_form .bl_form_text {
    font-size: 16px;
    color: #fff;
    line-height: 1.53;
    font-feature-settings: "palt";
    margin: 0 35px 12px;
}

.bl_form .bl_default_form {
    padding: 0 25px;
}
.bl_form .bl_default_form dt label {
    position: relative;
    color: #fff;
    font-size: 19px;
}
.bl_form .bl_default_form dt label::after
 {
    content: "必須";
    background: #ed6136;
    font-size: 18px;
    padding: 5px;
    text-align: center;
    line-height: 1;
    margin-left: 10px;
}

.bl_form .bl_default_form dd input {
    width: 100%;
    background: #fff;
    margin-top: 16px;
    font-size: 18px;
    padding: 14px 16px 14px;
    border: 2px solid #979797;
}

.bl_form .bl_default_form dt {
    margin-top: 35px;
}

.error_txt {
    margin-top: 14px;
    color: #ff0000;
    border: solid 1px;
    padding: 7px;
    background: #fff;
    border-radius: 5px;
}
.bl_form .bl_question_item .error_txt {
    margin: 0;
}

.bl_form .bl_plicy_sendBtn {
    font-size: 16px;
    color: #fff;
    padding: 15px 35px 0;
}

p.bl_plicy_sendBtn a {
    color: #fff;
    text-decoration: underline;
}
.token_error {
    padding: 0 30px;
}



button.bl_send_btn.bl_form_confirmBtn {
  /* リセットベース（破綻回避のため明示リセット型） */
  all: unset;
  display: inline-block;
  text-align: center;
  cursor: pointer;

  /* 見た目の構成 */
  padding: 20px 0;
  border-radius: 9999px;
  background: linear-gradient(to bottom, #ff8a00, #ff5000);
  color: #fff;
  font-weight: bold;
  font-size: 28px;
  line-height: 1.4;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);

  /* テキストを中央に */
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}

button.bl_send_btn.bl_form_confirmBtn:hover {
  opacity: 0.9;
}

.bl_send_btn_w {
    text-align: center;
    padding: 15px 15px 0;
}

.bl_form_ttl_c {
    color: #fff;
    text-align: center;
    line-height: 1;
    font-weight: bold;
}

.bl_form_ttl_cw {
    padding-bottom: 25px;
}

.bl_form_ttl {
    font-size: 52px;
}

.bl_form_ttl_sub2 {
    font-size: 36px;
    margin-bottom: 7px;
}

.bl_form_ttl_sub1 {
    font-size: 20px;
    margin-bottom: 7px;
}

div#main_w {
    min-height: 100svh;
    background: #203644;
    padding: 20px;
}

footer.tp-footer {
    padding: 0 20px;
}

p.thanks_ttl {
    font-size: 28px;
    color: #fff;
    line-height: 1.3;
    font-weight: bold;
}

p.thanks_desc {
    font-size: 22px;
    font-weight: bold;
    color: #203644;
}

.thanks_back_btn a {
    all: unset;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    padding: 1em 2em;
    border-radius: 10px;
    background: linear-gradient(to bottom, #ff8a00, #ff5000);
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
}

.thanks_desc_w {
    font-size: 15px;
    font-weight: bold;
    border-radius: 10px;
    padding: 25px 15px;
    background: #fff;
    margin: 30px 0 40px;
}

.thanks_back_btn {
    text-align: center;
    margin-top: 30px;
}
p.bl_recaptcha_txt {
    padding: 15px 35px 25px;
    font-size: 11px;
    color: #fff;
}

p.bl_recaptcha_txt a {
    text-decoration: underline;
    color: #fff;
}