@charset "UTF-8";

/*========== フォーム共通css ==========*/

.form_base table{width: 100%;border-collapse: collapse;margin: 60px 0;}
.form_base table.table2{margin: 20px 0 60px;}
.form_base table *:-webkit-autofill {box-shadow: 0 0 0 1000px #f2f2f2 inset !important;}
.form_base table th,
.form_base table td{font-size: 16px;line-height: 1.5em;text-align: left;overflow-wrap: anywhere;word-break: normal;line-break: strict;padding: 15px 0;}
.form_base table label{display: block;}
.form_base table input,
.form_base table textarea,
.form_base table select{height: 50px;font-size: 16px;font-weight: 500;border: none;border-radius: 10px;background-color: #f2f2f2;padding: 13px;box-sizing: border-box;}
.form_base table textarea{resize: vertical;}
.form_base table th{width: 267px;font-weight: 700;box-sizing: border-box;position: relative;}
.form_base table th:has(.required){padding-right: 93px;}
.form_base table th .required{width: 53px;font-size: 14px;line-height: 25px;color: #3e9de1;text-align: center;margin-top: -12px;border: solid 1px #3e9de1;border-radius: 3px;box-sizing: border-box;display: block;position: absolute;top: 50%;right: 30px;}
.form_base table .postal_wrap {display: flex;flex-wrap: wrap;padding-bottom: 17px;position: relative;}
.form_base table .postal_wrap::before{content: "〒";font-weight: 700;position: absolute;top: 13px;left: 20px;}
.form_base table .postal_wrap:has(.err)::before{top: 69px;}
.form_base table #ZIP1a{padding-left: 38px;}
.form_base table #put_addr_button1a{font-size: 16px;font-weight: 700;color: #fff;border: none;border-radius: 10px;background-color: #45ac95;padding: 0 39px;vertical-align: bottom;cursor: pointer;transition: background-color 0.3s;}
.form_base table .item_wrap {display: flex;flex-wrap: wrap;}
.form_base label:has(input[type="checkbox"]){font-weight: 500;padding: 3px 1em 3px 36px;margin: 10px 30px 10px 0;cursor:pointer;position: relative;}
.form_base label:has(input[type="checkbox"])::before{content: "";width: 30px;height: 30px;background-color: #f2f2f2;border-radius: 5px;position: absolute;left: 0;top: 0;}
.form_base label:has(input[type="checkbox"])::after{content: "";width: 16px;height: 10px;border-style: solid;border-color: #45ac95;border-width: 0 0 5px 5px;transform: scale(0) rotate(-45deg);opacity: 0;transition: all .3s;display: block;position: absolute;top: 12%;left: 4px;}
.form_base label:has(input[type="checkbox"]:checked)::after{transform: scale(1) rotate(-45deg);opacity: 1;}
.form_base label input[type="checkbox"]{display: none;}
.form_base .contact_btn #to_conf_btn_df1,
.form_base #submit_btn,
.form_base #return_btn{color: #fff;font-weight: 700;line-height: 2.8em;text-decoration: none;display: inline-block;border-radius: 1.4em;border: none;box-sizing: border-box;cursor:pointer;transition: opacity .3s;}
.form_base .contact_btn #to_conf_btn_df1,
.form_base #submit_btn{font-size: 25px;padding: 0 5.5em;background: linear-gradient(90deg, rgba(62, 157, 225, 1) 0%, rgba(69, 172, 149, 1) 50%, rgba(27, 145, 226, 1.00) 100%);background-size: 200% 100%;}
.form_base #return_btn{font-size: 16px;background: #999;margin-top: 36px;padding: 0 2.5em;}
.form_base .err {width: 100%;font-size: 16px;line-height: 1.5em;font-weight: 700;color: #3e9de1;display: block;}
.form_base .err:last-of-type {margin-bottom: 0.5em;}
.form_base .w100p{width: 100%;}
.form_base .w238{width: 238px;}
.form_base .h200{height: 200px;}
.form_base .mr20{margin-right: 20px;}

@media screen and (min-width:768px) {
  .form_base table *:focus {outline: solid 2px #3e9de1;}
  .form_base table #put_addr_button1a:hover{background: #70C5B2;}
  .form_base .contact_btn #to_conf_btn_df1:hover,
  .form_base #submit_btn:hover{background-position: 100% 0;transition: background-position 0.3s;}
  .form_base #return_btn:hover{opacity: 0.7;}
}

@media screen and (max-width:999px) {
  /*.form_base table th, 
  .form_base table td{width: 100%;font-size: 15px;display: block;}*/
  .form_base table th{padding-bottom: 0;}
  .form_base table th:has(.required){padding-right: 0;}
  .form_base table th .required{width: 42px;font-size: 12px;}
  .form_base table input, 
  .form_base table textarea, 
  .form_base table select{font-size: 15px;height: 46px;}
  .form_base table #put_addr_button1a{font-size: 15px;padding: 0 22px;}
  .form_base table .postal_wrap{padding-bottom: 10px;}
  .form_base table .item_wrap{/*justify-content: center;*/}
  /*.form_base .err{text-align: left;display: flex;justify-content: center;}*/
  .form_base .mr20{margin-right: 10px;}
}

@media screen and (max-width:767px) {
  .form_base table th, 
  .form_base table td{width: 100%;display: block;}
  .form_base table td{border-bottom: 1px solid #999;}
  .form_base table tr:last-child td{border-bottom: 0;}
  .form_base table th .required{top: 22px;right: 0;}
  .form_base table th, 
  .form_base table td,
  .form_base table select,
  .form_base table #put_addr_button1a{font-size: 14px;}
  .form_base table #put_addr_button1a{width: 150px;height: 40px;font-size: 13px;padding: 0;margin-top: 3px;}
  .form_base table input, 
  .form_base table textarea{font-size: 16px;}
  .form_base #ZIP1a{width: calc(100% - 160px);}
  .form_base .err{font-size: 14px;}
  .form_base .contact_btn #to_conf_btn_df1{font-size: min(25px, 5.5vw);padding: 0 2.5em;}
  .form_base #submit_btn{font-size: min(25px, 5.5vw);padding: 0 4.5em;}
  .form_base #return_btn{font-size: min(16px, 3.5vw);}
}

/*確認画面*/

.form_base #mform:has(#confirm){display: flex;flex-direction: column;align-items: center;}
.form_base #confirm{width: 100%;}
.form_base #confirm table th, 
.form_base #confirm table td{padding: 20px 0;}
.form_base #confirm table tr:not(:last-child) th, 
.form_base #confirm table tr:not(:last-child) td{border-bottom: 1px solid #999;}
.form_base .transmit{font-size: 16px;text-align: left;line-height: 1.5em;padding-bottom: 36px;display: flex;justify-content: center;}

@media screen and (max-width:999px) {
  /*.form_base #confirm table th{padding: 20px 0 5px;}*/
  /*.form_base #confirm table tr:not(:last-child) th{border-bottom: none;}*/
  .form_base #confirm table tr th{position: relative;}
  /*.form_base #confirm table tr th::before{content: "";width: 0.8em;height: 0.4em;clip-path: polygon(0 0, 100% 0, 50% 100%);background-color: #3e9de1;margin-left: -0.4em;position: absolute;bottom: -0.7em;left: 50%;}
  .form_base #confirm table tr td{display: flex;justify-content: center;}*/
  .form_base .transmit {font-size: 15px;}
}

@media screen and (max-width:767px) {
  .form_base #confirm table th{padding: 20px 0 0;}
  .form_base #confirm table td{padding: 8px 0 20px;}
  .form_base #confirm table tr:not(:last-child) th{border-bottom: none;}
  .form_base .transmit{font-size: 14px;padding-bottom: 20px;}
  .form_base #return_btn{margin-top: 20px;}
}

/*完了画面*/
.form_base #regist{padding: 60px 0 0;}
.form_base #regist dt>span,
.form_base #regist dd>span{display: inline-block;}
.form_base #regist dt{font-size: min(25px, 5.5vw);font-weight: 600;line-height: 1.5em;color: #3e9de1;padding-bottom: 1em;}
.form_base #regist dd{font-size: 16px;line-height: 2em;}

@media screen and (max-width:999px) {
  .form_base #regist dd{font-size: 15px;}  
}

@media screen and (max-width:767px) {
  .form_base #regist{padding: 50px 0 0;}  
  .form_base #regist dd{font-size: 14px;}  
}
.agree_box .item_wrap{padding-bottom: 70px;display: flex;flex-direction: column;align-items: center;}
.agree_box .item_wrap .agree_txt{font-size: 16px;color: #000;text-align: left;line-height: 1.5em;padding-bottom: 36px;}
.agree_box .item_wrap .agree_txt a{font-size: 16px;color: #000;line-height: 1.5em;text-decoration: underline;transition: color .3s;}
.agree_box .item_wrap .ck{font-size: 16px;font-weight: 700;line-height: 1.5em;text-align: left;margin-right: 0;}
.contact_btn{padding-bottom: 50px;}
.contact_btn .contact_btn_txt{font-size: 16px;font-weight: 700;line-height:1.5em;text-align: center;padding-bottom: 20px;}
.contact_btn .contact_btn_txt>span{font-size: 1.5em;padding-top: 10px;display: block;}
.tel_box{width: 100%;max-width: 623px;background-color: #f2f2f2;margin: 0 auto;padding: 34px;box-sizing: border-box;}
.tel_box .tex_box_txt{font-size: 24px;font-weight: 700;line-height: 1.5em;padding-bottom: 1em;}
.tel_box .tel_num{color: #3e9de1;display: flex;justify-content: center;align-items: center;}
.tel_box .tel_num .ff_e{font-size: 39px;}
.tel_box .tel_num .open_time{font-size: 14px;line-height: 16px;font-weight: 500;text-align: left;padding-left: 1em;}

@media screen and (min-width:768px) {
  .agree_box .item_wrap .agree_txt a:hover{color: #45ac95;}
}

@media screen and (max-width:999px) {
  .agree_box .item_wrap .agree_txt,
  .agree_box .item_wrap .agree_txt a{font-size: 15px;}
  .agree_box .err{padding-bottom: 0.5em;}
  .contact_btn .contact_btn_txt{font-size: 15px;}
  .form_base table .w238:has(select){width: 100%;}
}

@media screen and (max-width:767px) {
  .agree_box .item_wrap{padding-bottom: 20px;}
  .agree_box .item_wrap .agree_txt,
  .agree_box .item_wrap .agree_txt a{font-size: 14px;}
  .agree_box .item_wrap .agree_txt{padding-bottom: 20px;}
  .agree_box .item_wrap .ck{width: auto;font-size: 15px;}
  .form_base table{margin: 50px 0 20px;}
  .form_base table.table2{margin: 10px 0 20px;}
  .form_base label:has(input[type="checkbox"]){width: 100%;margin: 5px 0;box-sizing: border-box;}
  .contact_btn{padding-bottom: 20px;}
  .contact_btn .contact_btn_txt{font-size: 14px;}
  .contact_btn .contact_btn_txt>span{font-size: min(25px, 6vw);}
  .contact_btn #to_conf_btn_df1{font-size: min(25px, 5.5vw);padding: 0 2.5em;}
  .tel_box{padding: 20px;}
  .tel_box .tex_box_txt{font-size: min(24px, 5vw);padding-bottom: 0.5em;}
  .tel_box .tel_num{flex-direction: column;}
  .tel_box .tel_num .ff_e{font-size: min(39px, 10vw);padding-bottom: 5px;}
  .tel_box .tel_num .open_time{text-align: center;padding-left: 0;}
  .form_base table th>br{display: none;}
}

@media screen and (max-width:374px) {
  .form_base table .item_wrap{flex-direction: column;}
}