@charset "UTF-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,select,p,blockquote,th,td { margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img { border:0;vertical-align:bottom;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after {content:'';}abbr,acronym { border:0;}
a{outline:none;text-decoration: none;}

body{font-family: 'Hiragino Sans',sans-serif;}
body *{-webkit-box-sizing: border-box;box-sizing: border-box;}

.wrapper{max-width: 690px;margin-right: auto;margin-left: auto;}

img{width: 100%;}

.header_cont h1{display: flex;justify-content: center;align-items: center;height: 60px;}
.header_cont h1 img{width: auto;height: 35px;}
.header_cont p.image{max-width: 750px;margin: 0 auto;}

section h2{line-height: 1;max-width: 750px;margin-right: auto;margin-left: auto;position: relative;}
section ul{margin-right: auto;margin-left: auto;}

.area_reason{background: #eeeeee;}
.area_reason .wrapper{padding-bottom: 62px;}
.area_reason ul{max-width: 690px;margin-top: -7.5px;}

.area_message{background: #eaf5fc;}
.area_message .wrapper p{max-width: 590px;margin-right: auto;margin-left: auto;}

.area_flow ul{max-width: 590px;}

.area_faq .wrapper{padding: 38px 0 90px;max-width: 696px;}
.area_faq h2{margin-bottom: 29px;line-height: 1;text-align: center;}
.area_faq h2 img{width: auto;height: 25px;}

.area_company .wrapper{padding: 48px 0 31px;}
.area_company h2{margin-bottom: 19px;line-height: 1;text-align: center;}
.area_company h2 img{width: auto;height: 25px;}


footer{background: #046eb8;color: #FFF;height: 68.5px;display: flex;align-items: center;}
footer p{text-align: center;font-size: 0.625rem;line-height: 1;}
footer a{color: #FFF;}
.privacy{margin-bottom: 13.5px;}


.area_contact{position: relative;background: #046eb8;padding-top: 49px;padding-bottom: 20px;}
.area_contact h2{position: absolute;top: -47px;left: 50%;transform: translateX(-50%);left: 50%;transform: translateX(-50%);width: 295px;height: 95px;}
.area_contact .wrapper{padding-top: 49px;}
.area_contact p{margin-right: auto;margin-left: auto;line-height: 1;font-size: 0;}
.area_contact .campaign_text{max-width: 690px;}
.area_contact .contact_btn{margin-bottom: 10px;max-width: 364px;}
.area_contact .lisence{line-height: 1;text-align: center;font-size: 0;}
.area_contact .lisence img{height: 13px;width: 273px;}

.area_contact.btn_only{padding-top: 0;}
.area_contact.btn_only .wrapper{padding-top: 18px;}


.fixed_contact.area_contact.btn_only{background: #046eb8;padding-bottom: 3px;}
.fixed_contact.area_contact.btn_only .wrapper{max-width: 364px;padding-top: 15px;}
.fixed_contact.area_contact.btn_only .contact_btn{margin-bottom: 0;}
.fixed_contact .appeal{max-width: 345px;}
.fixed_contact {position: fixed;left: 50%;transform: translateX(-50%);bottom: -80px;font-weight: bold;transition: bottom 0.3s ease, opacity 0.3s ease;opacity: 0;z-index: 999;width: 100%;}
.fixed_contact.active{bottom: 0;opacity: 1;}
.fixed_contact.bottom{position: relative;}



/*============================
#form
============================*/

.h2-form{margin-top: 0;background: #036eb7;width: 100%;max-width: none;padding: 35px 0;min-height: 160px;font-size: 2.25em;color: #fff;line-height: 1.2;
    margin: 0 auto 51px;font-weight: 800;position: relative;display: flex;align-items: center;justify-content: center;flex-direction: column;
}
.h2-form::after{content: "";width: 0;height: 0;border-top: 49px solid #036eb7;border-right: transparent solid 30px;border-left: transparent solid 30px;position: absolute;bottom: -49px;left: 50%;transform: translateX(-50%);}
.description{text-align: center;font-weight: bold;}
.form-area{padding: 0 3vw 5.288vw;}
.form-area .wrapper{width: 100%;background: #ebf6fd;max-width: 980px;padding: 4vw 20px 6vw;}
.colorRed{color: red;}
table.form-table{margin: 0 auto;width: 100%;max-width: 600px;}
table.form-table th{border-left: #036eb7 solid 4px;padding-left: 12px;font-size: 1.125em;font-weight: bold;display: block;text-align: left;margin: 30px auto 11px;box-sizing: border-box;}
table.form-table td{vertical-align: baseline;}
input[type=text],input[type=email],input[type=tel],select{max-width: 600px;width: 100%;height: 50px;display: block;box-sizing: border-box;padding: 5px 20px;font-size: 1em;}
select{max-width: 350px;background: #fff;}
textarea{max-width: 600px;width: 100%;height: 200px;display: block;margin: 0 auto;box-sizing: border-box;padding: 5px 20px;font-size: 0.875rem;line-height: 1.3;}
input[type=radio],input[type=checkbox],label{margin-right: 5px;}
.accordion--form__fieldset{border: 0;margin: 0 0 1px 0;padding: 0;min-inline-size: unset;}
.accordion--form__legend {background-color: #036eb7;color: #fff;display: block;margin: 0;padding: 5px 10px;width: 100%;box-sizing: border-box;font-size: 2em;}
.accordion--form__legend-active{background-color: #f39802;color: #ffffff;}
.accordion--form__wrapper{height: 0;overflow: hidden;}
.accordion--form__wrapper-active{height: auto;padding: 30px 0;}
.accordion--form__row{clear: both;width: 100%;max-width: 600px;text-align: left;margin: 0 auto 15px;}
.accordion--form__label{display: inline-block;margin-bottom: 5px;}
.accordion--form__text{color: #000;font-size: 14px;padding: 5px 10px;}
.accordion--form__textarea{color: #000;font-size: 14px;padding: 5px 10px;}
.accordion--form__invalid {color: #ff0000;font-size: 1.2em;display: none;margin: 20px 0;padding: 5px 10px;width: 100%;}
.submit-btn{max-width: 445px;width: 100%;height: 70px;line-height: 70px;border-radius: 7px;background: #036eb7;color: #fff;border: none;font-size: 1.375rem;font-weight: 700;margin: 40px auto 0;position: relative;text-decoration: none;display: block;font-family: "M PLUS 1p", sans-serif;}
.submit-btn:before{content: "";width: 20px;height: 20px;background: #fff;position: absolute;top: 50%;right: 30px;transform: rotate(45deg) translateY(-50%);}
.submit-btn:after{content: "";width: 20px;height: 20px;background: #036eb7;position: absolute;top: 50%;right: 33px;transform: rotate(45deg) translateY(-50%);}
.accordion--form__prev-btn {width: 445px;height: 70px;line-height: 70px;border-radius: 7px;background: #bbb;color: #fff;font-size: 2.25em;font-weight: 700;margin-top: 41px;position: relative;text-decoration: none;display: inline-block;}
.submit-btn:hover{opacity: 0.8;cursor: pointer;}
.left{text-align: left;max-width: 600px;margin: 0 auto;}
.sp{display: none;}


@media screen and (max-width: 767px){
    .h2-blue{font-size: 1.3em;}
    .h2-form{min-height: 80px;margin: 0 auto 25px;padding: 28px 0;}
    .h2-blue:after{border-right: transparent solid 12px;border-left: transparent solid 12px;border-top: 20px solid #036eb7;bottom: -20px;}

    .form-area .description{font-size: 0.9375rem;text-align: left;}
    input[type=text],input[type=email],input[type=tel]{margin: 0 auto;}
    table.form-table th, table.form-table td{width: 100%;display: block;}
    .submit-btn{height: 56px;line-height: 56px;margin-top: 20px;font-size: 1.1875rem;}
    .submit-btn::before{width: 12px;height: 12px;right: 30px;}
    .submit-btn::after{width: 12px;height: 12px;right: 33px;}
}

@media screen and (min-width: 500px) and (max-width: 750px){
    .wrapper,.campaign_text,.area_faq .wrapper,.area_company .wrapper{padding-right: clamp(0.938rem, 4.69vw, 1.875rem);padding-left: clamp(0.938rem, 4.69vw, 1.875rem);}
}

@media screen and (max-width: 500px){
    .wrapper,.area_contact .campaign_text,.area_reason ul{max-width: 345px;}
    .area_message .wrapper p,.area_flow ul{max-width: 295px;}
    .area_faq .wrapper{max-width: 348px;}
}