@charset "utf-8";

/* placeholderの色指定 */
::placeholder{
    color: var(--placeholderColor)!important;
    opacity: 1;
}
#main:has(.secForm) + #footer{
    margin-top: 0;
}
form{
    color: var(--Colorblack);
}
.secForm{
    background: var(--keyGradientColor);
    padding-top: 11.9rem;
    padding-bottom: 15rem;
}
.secForm .formtitbox{
    text-align: center;
}
.secForm .formtit{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_150);
    font-weight: bold;
    color: var(--Colorwhite);
}
.secForm .formtxt{
    text-align: center;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    color: var(--Colorwhite);
    margin-top: 4.6rem;
}
.secForm .formFlowlist{
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    margin-top: 6rem;
}
.secForm .formFlowItem{
    width: 27rem;
    height: 6rem;
    border-radius: 3rem;
    background: var(--Colorwhite);
    border: 0.1rem solid var(--borderColor);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize16);
}
.secForm .formFlowItem.on{
    background: var(--keyColor2);
    border-color: var(--keyColor2);
    color: var(--Colorwhite);
}
.secForm .FormIn{
    background-color: var(--Colorwhite);
    padding: 5.7rem 8rem 9rem;
}
.secForm .formFlowlist + .FormIn{
    margin-top: -3rem;
}
@media only screen and (max-width:1215px){
    .secForm{
        padding-top: 5rem;
        padding-bottom: 0;
    }
    .secForm .formtit{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_100);
    }
    .secForm .formtxt{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        margin-top: 2rem;
    }
    .secForm .formFlowlist{
        gap: 1rem;
        margin-top: 2.6rem;
    }
    .secForm .formFlowItem{
        width: 10.5rem;
        height: 4.5rem;
        border-radius: 2.25rem;
        font-size: var(--spFontSize16);
    }
    .secForm .FormIn{
        padding: 3rem 2rem 8rem;
    }
    .secForm .formFlowlist + .FormIn{
        margin-top: -2.25rem;
        padding-top: 3rem;
    }
}
/* txtError */
.txtError {
	color: var(--iconForm01);
	font-size: var(--pcFontSize12);
	line-height: var(--pcLineHeight12_15);
	background: url(../img/common/iconError.png) 0 2px / 14px auto no-repeat;
	padding: 0 0 0 17px;
	margin-top: 8px;
}
.secFormTable{
    width: 100%;
    margin: 0 auto;
    font-size: 0;
}
.secFormTable tr {
    border-bottom: dotted 1px var(--formBorderColor);
}
.secFormTable tr:first-child {
    border-top: dotted 1px var(--formBorderColor);
}
.secFormTable th,
.secFormTable td {
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_28);
}
.secFormTable th{
    position: relative;
    width: 25rem;
    font-weight: bold;
    vertical-align: top;
    padding-top: 4.8rem;
    padding-left: 6.3rem;
}
.co .secFormTable th{
    padding: 3rem 0 3rem 6.3rem;
}
.secFormTable .Formicon{
    position: absolute;
    width: 4.6rem;
    text-align: center;
    font-size: var(--pcFontSize12);
    color: var(--iconForm02);
    border: 1px solid var(--iconForm02);
    left: 0;
    top: 5rem;
}
.secFormTable .Formicon.must{
    color: var(--iconForm01);
    border-color: var(--iconForm01);
}
.secFormTable td {
    padding: 3rem 0;
    width: calc(100% - 25rem);
}
.secFormTable .boxPrivate{
    padding: 4.8rem 0;
}
@media only screen and (max-width:1215px){
    .secFormTable{
        width: 100%;
        margin: 0 auto;
        font-size: 0;
    }
    .secFormTable tr:first-child {
        border-top: none;
    }
    .secFormTable th,
    .secFormTable td {
        width: 100%;
        display: block;
        font-size: var(--pcFontSize16);
    }
    .secFormTable th{
        position: relative;
        width: 100%;
        padding-left: 0;
        vertical-align: top;
        padding-top: 2.1rem;
        font-size: var(--pcFontSize13);
        padding-right: 4.5rem;
    }
    .co .secFormTable th{
        padding: 1.7rem 0 1.7rem 0;
    }
    .secFormTable .Formicon{
        left: auto;
        right: 0;
        top: 2.2rem;
    }
    .secFormTable td{
        padding: 1.7rem 0 2rem;
        width: 100%;
    }
    .secFormTable .boxPrivate{
        padding: 1.7rem 0 2rem;
    }
}

/* 入力ボックス */
.secFormTable ::placeholder{
    color: var(--formPlaceholder);
}
.secFormTable input[type="text"], 
.secFormTable input[type="tel"], 
.secFormTable input[type="email"], 
.secFormTable input[type="number"], 
.secFormTable input[type="password"], 
.secFormTable select,
.secFormTable textarea {
    position: relative;
    height: 60px;
    border: 1px solid;
    border-color: var(--formBorderColor);
    font-size: var(--pcFontSize16);
    padding: 10px 17px;
    background: var(--Colorwhite);
    font-family: inherit;
    border-radius: 3px;
}
.secFormTable input[type="text"].inputRequired, 
.secFormTable input[type="tel"].inputRequired, 
.secFormTable input[type="email"].inputRequired, 
.secFormTable input[type="number"].inputRequired, 
.secFormTable input[type="password"].inputRequired, 
.secFormTable select.inputRequired,
.secFormTable textarea.inputRequired {
    background-color: var(--formInputMust);
}
.secFormTable textarea {
    width: 100%;
    height: 200px;
    padding: 20px;
    display: block;
}
.secFormTable .selectbox{
    position: relative;
}
.secFormTable .selectbox::after{
    content: "";
    position: absolute;
    width: 7px;
    height: 6px;
    background-color: var(--textColor);
    top: calc(50% - 3px);
    right:20px;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.secFormTable select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 30px;
}
@media only screen and (max-width:1215px){
    .secFormTable input[type="text"], 
    .secFormTable input[type="tel"], 
    .secFormTable input[type="email"], 
    .secFormTable input[type="number"], 
    .secFormTable input[type="password"], 
    .secFormTable select,
    .secFormTable textarea {
        height: 48px;
        padding: 5px 15px;
    }
    .secFormTable textarea {
        height: 150px;
        padding: 15px;
    }
    .secFormTable .selectbox::after{
        right: 15px;
    }
}
.secForm .fBox{
    display: flex;
    align-items: center;
}
.color_red{
    color: var(--iconForm01);
}
.secForm .txtNote{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_24);
    margin-top: 1.4rem;
}
@media only screen and (max-width:1215px){
    .secForm .txtNote{
        font-size: var(--pcFontSize11);
        margin-top: 11px;
    }
}
/* コンテンツ幅 */
.secForm .w100p{width: 100%;}
.secForm .w50{width: 50px;}
.secForm .w95{width: 95px;}
.secForm .w100{width: 100px;}
.secForm .w110{width: 110px;}
.secForm .w120{width: 120px;}
.secForm .w130{width: 130px;}
.secForm .w150{width: 150px;}
.secForm .w180{width: 180px;}
.secForm .w250{width: 250px;}
.secForm .w250{width: 250px;}
.secForm .w300{width: 300px;}
.secForm .w400{width: 400px;}
.secForm .w500{width: 500px;}
@media only screen and (max-width:1215px){
    .secForm .ws100p{width: 100%;}
    .secForm .ws100{width: 100px;}
    .secForm .ws50{width: 50px;}
    .secForm .ws70{width: 70px;}
    .secForm .ws80{width: 80px;}
    .secForm .ws180{width: 180px;}
    .secForm .ws200{width: 200px;}
    .secForm .ws250{width: 250px;}
    .secForm .ws270{width: 270px;}
}
/* zipContent */
.secForm #btnZip{
    width: 13rem;
    height: 4rem;
    border-radius: 2rem;
    text-align: center;
    display: block;
    border: 1px solid;
    border-color: var(--zipColor);
    background-color: var(--zipColor);
    color: var(--Colorwhite);
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_100);
    font-weight: bold;
    text-decoration: none;
    padding: 0.9rem 0;
    transition: 0.5s;
    margin-left: 1.5rem;
}
.secForm .ziptxt{
    font-size: var(--pcFontSize15);
    margin-right: 1rem;
}
.secForm .fBoxAddress{
    margin-top: 1.5rem;
}
.secForm .addbox{
    flex: 1;
    margin-left: 15px;
}
@media only screen and (min-width:768px){
    .secForm #btnZip:hover{
        background-color: var(--Colorwhite);
        color: var(--zipColor);
    }
}
@media only screen and (max-width:1215px){
    .secForm #btnZip{
        width: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--spFontSize11);
        padding: 0;
        margin-left: 10px;
    }
    .secForm .inputZip{
        max-width: 180px;
        width: calc(100% - 130px);
    }
    .secForm .fBoxAddress{
        margin-top: 8px;
        display: block;
    }
    .secForm .addbox{
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }
    .secForm .ziptxt{
        font-size: var(--spFontSize13);
        margin-right: 5px;
    }
}
/* チェックボックス */
.secFormTable .boxCheckList .Checkitem{
    width: 100%;
}
.secFormTable .boxCheckList + .Otherbox{
    margin-top: 10px;
}
.secFormTable .boxCheckList .Checkitem:nth-child(n+2){
    margin-top: 5px;
}
.secFormTable .boxCheckList.type02 .Checkitem:nth-child(n+2){
    margin-top: 20px;
}
.secFormTable .labelCheck{
    display: inline-block;
    position: relative;
}
.secFormTable .labelCheck input{
    position: absolute;
    width: 11px;
    height: 11px;
    left: 0;
    top: 4px;
    margin: 0;
    visibility: hidden;
}
.secFormTable .txtCheck{
    position: relative;
    padding-left: 32px;
}
.secFormTable .txtCheck::before{
    content: "";
    position: absolute;
    left: 0;
    top:calc(50% - 11.5px);
    width: 23px;
    height: 23px;
    border-radius: 3px;
    background: var(--Colorwhite);
    border: solid 1px;
    border-color: var(--checkBoxColor);
}
.secFormTable input[type="checkbox"]:checked + .txtCheck::before{
    border-color: var(--keyColor2);
    background-color: var(--keyColor2);
}
.secFormTable input[type="checkbox"]:checked + .txtCheck::after{
    content: "";
    position: absolute;
    width: 14px;
    height: 9px;
    border-bottom:solid 3px;
    border-left:solid 3px;
    border-color: var(--Colorwhite);
    top: calc(50% - 6.5px);
    left: 4px;
    transform: rotate(-45deg);
}
.secFormTable .boxCheckList .Checkitem.flItem{
    display: flex;
    align-items: center;
    margin-top: 0;
}
.secFormTable .boxCheckList .Checkitem.flItem .labelCheck{
    min-width: 100px;
}
.secFormTable .boxCheckList .Checkitem.flItem .loanRight .txt{
    margin-left: 10px;
}
@media only screen and (max-width:1215px){
    .secFormTable .boxCheckList{
        margin-top: -6px;
    }
    .secFormTable .boxCheckList .Checkitem{
        width: 100%;
    }
    .secFormTable .boxCheckList .Checkitem:nth-child(n+2),
    .secFormTable .boxCheckList.type02 .Checkitem:nth-child(n+2){
        margin-top: 2px;
    }
    .secFormTable .boxCheckList.type02 .Checkitem:nth-child(n+2){
        margin-top: 10px;
    }
    .secFormTable .labelCheck{
        display: inline-block;
        position: relative;
        line-height: 23px;
    }
    .secFormTable .txtCheck{
        padding-left: 29px;
        font-size: var(--pcFontSize13);
        display: inline-block;
    }
    .secFormTable .txtCheck::before{
        top: calc(0% - 1px);
    }
    .secFormTable input[type="checkbox"]:checked + .txtCheck::after{
        top: calc(0% + 4px);
        left: 4px;
    }
}
/* ラジオボックス */
.secFormTable .boxRadioList .Radioitem{
    width: 100%;
}
.secFormTable .boxRadioList .Radioitem:nth-child(n+2){
    margin-top: 4px;
}
.secFormTable .labelRadio{
    display: inline-block;
    position: relative;
    line-height: 23px;
}
.secFormTable .labelRadio input{
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top:0;
    visibility: hidden;
}
.secFormTable .txtRadio{
    position: relative;
    padding-left: 32px;
}
.secFormTable .txtRadio::before{
    content: "";
    position: absolute;
    left: 0;
    top: calc(50% - 11.5px);
    width: 23px;
    height: 23px;
    border-radius: 100%;
    background: var(--Colorwhite);
    border: solid 1px;
    border-color: var(--formBorderColor);
}
.secFormTable input[type="radio"]:checked + .txtRadio::before{
    border-color: var(--zipColor);
}
.secFormTable input[type="radio"]:checked + .txtRadio::after{
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background: var(--zipColor);
    top: calc(50% - 7.5px);
    left: 4px;
}
@media only screen and (max-width:1215px){
    .secFormTable .boxRadioList{
        margin-top: -4px;
    }
    .secFormTable .boxRadioList .Radioitem{
        width: 100%;
    }
    .secFormTable .boxRadioList .Radioitem:nth-child(n+2){
        margin-top: 1px;
    }
    .secFormTable .txtRadio{
        padding-left: 31px;
        font-size: var(--pcFontSize13);
    }
}
.secFormTable .privatelink{
    color: var(--linkColor);
    letter-spacing: var(--pcLetterSpacing15_100);
    position: relative;
    text-decoration: none;
    display: inline-block;
}
.secFormTable .privatelink::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 0.1rem;
    left: 0;
    bottom: 0.5rem;
    background-color: var(--linkColor);
}

.secForm .sendFormtxtbox{
    margin-top: 3rem;
    background-color: var(--pnkzBackColor);
    padding: 3.3rem 4rem;
}
.secForm .sendFormtxt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_27);
}
.secForm .btnForm{
    width: 50rem;
    height: 8rem;
    border-radius: 4rem;
    background: var(--keyColor2);
    border: 0.1rem solid var(--keyColor2);
    margin: 6rem auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--pcFontSize18);
    letter-spacing:var(--pcLetterSpacing18_150);
    color: var(--Colorwhite);
    font-weight: bold;
    text-decoration: none;
    transition: 0.5s;
}
@media only screen and (min-width:768px){
    .secForm .btnForm:hover{
        background-color: var(--Colorwhite);
        color: var(--keyColor2);
    }
}
@media only screen and (max-width:1215px){
    .secForm .sendFormtxtbox{
        margin-top: 20px;
        padding: 15px 15px 20px;
    }
    .secForm .sendFormtxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        letter-spacing: var(--spLetterSpacing12_50);
    }
    .secForm .btnForm{
        max-width: 30.5rem;
        width:100%;
        height: 6rem;
        margin-top: 2rem;
    }
    .secForm .sendFormtxtbox + .btnForm{
        margin-top: 2rem;
    }
    .secForm .btnFormtxt{
        font-size: var(--spFontSize15);
    }
}
/* ▼coPage */
.coPage .secFormTable th {
    padding: 30px 0;
    vertical-align: middle;
}
.coPage .secFormTable td {
    vertical-align: middle;
    padding: 20px 0px;
}
.btnSendCo.no_tap,
.btnSendCoBack.no_tap{
    opacity: 0.3!important;
    pointer-events: none!important;
    transition: none!important;
}
.btnSendCo.no_tap{
    background: url(../img/common/iconLoader.png) center center / 32px auto no-repeat,var(--Colorwhite)!important;
    font-size: 0!important;
}
.btnSendCo.no_tap .btnFormtxt{
    font-size: 0!important;
}
.secForm .btnForm + .btnForm{
    margin-top: 20px;
}
.secForm .btnSendCoBack{
    background-color: var(--Colorblack);
    border-color: var(--Colorblack);
    width: 300px;
    height: 60px;
}
@media only screen and (min-width:768px){
    .secForm .btnSendCoBack:hover{
        color: var(--Colorblack);
    }
}
@media only screen and (max-width:1215px){
    .coPage .secForm .FormIn{
        padding-top: 20px;
    }
    .coPage .secFormTable th {
        padding: 10px 0 0;
        vertical-align: middle;
    }
    .coPage .secFormTable td {
        padding: 5px 0px 10px;
        font-size: var(--pcFontSize13);
    }
    .secForm .btnSendCoBack{
        max-width: 300px;
        width: 92%;
        height: 50px;
    }
}
.coPage.ok .oktxt{
    text-align: center;
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_16);
    margin-top: 30px;
}
@media only screen and (max-width:1215px){
    .coPage.ok .secForm{
        padding-bottom: 100px;
    }
    .coPage.ok .oktxt{
        text-align: left;
        font-size: var(--spFontSize13);
    }
}
/* margin */
.mr40{
    margin-right: 40px;
}
.mr10{
    margin-right: 10px;
}
@media only screen and (max-width:1215px){
    .mbs10{
        margin-bottom: 10px;
    }
    .mr40{
        margin-right: 40px;
    }
    .mr10{
        margin-right: 5px;
    }
}
/* 250109 */
.secForm .daysBox{
    position: relative;
}
.secForm .daysBox::after{
    content: "";
    position: absolute;
    width: 7px;
    height: 6px;
    background-color: var(--formSelectColor);
    top: calc(50% - 3px);
    right: 20px;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.secForm .daysBox + .timebox{
    margin-left: 40px;
}
.secForm .timetxt{
    font-size:var(--pcFontSize15);
    font-weight: bold;
    margin-right: 11px;
}
.secForm .timebox{
    display: flex;
    align-items: center;
}
.secForm .formrighttxt{
    margin-left: 10px;
}
.secForm .formlefttxt{
    margin-right: 10px;
}
@media only screen and (min-width:768px){
    .secFormTable .childbox th,
    .secFormTable .type03 th{
        padding-top: 29px;
        padding-bottom: 20px;
    }
    .secFormTable .type03 .Formicon,
    .secFormTable .childbox .Formicon{
        top: 30px;
    }
}
@media only screen and (max-width:1215px){
    .secForm .fBox.block{
        display: block;
    }
    .secForm .daysBox{
        position: relative;
    }
    .secForm .daysBox::after{
        content: "";
        position: absolute;
        width: 7px;
        height: 6px;
        background-color: var(--formSelectColor);
        top: calc(50% - 3px);
        right: 20px;
        clip-path: polygon(0 0, 50% 100%, 100% 0);
    }
    .secForm .daysBox + .timebox{
        margin-left: 0;
        margin-top: 10px;
    }
    .secForm .timetxt{
        font-size:var(--pcFontSize13);
        margin-right: 4px;
    }
    .secForm .formrighttxt{
        margin-left: 5px;
        font-size:var(--pcFontSize13);
    }
    .secForm .formlefttxt{
        margin-right: 2px;
        font-size:var(--pcFontSize13);
    }
}

/* boxMore */
.secForm .boxMore{
    display: none;
    margin: 5px 0 20px;
}
@media only screen and (max-width:1215px){
    .secForm .boxMore{
        margin-bottom: 15px;
    }
}


.btnSendCo.no_tap,
.btnSendCoBack.no_tap{
    opacity: 0.3!important;
    pointer-events: none!important;
    transition: none!important;
}
.btnSendCo.no_tap{
    background: url(../img/common/iconLoader.png) center center / 32px auto no-repeat,var(--Colorwhite)!important;
    font-size: 0!important;
}
.btnSendCo.no_tap .btnFormtxt{
    font-size: 0!important;
}
.secForm .btnForm + .btnForm{
    margin-top: 2rem;
}
.secForm .btnSendCoBack{
    background-color: var(--textColor);
    border-color: var(--textColor);
    width: 30rem;
    height: 6rem;
}
.secForm .btnSendCoBack:hover{
    color: var(--textColor);
}
@media only screen and (max-width:1215px){
    .coPage .secForm .FormIn{
        padding-top: 20px;
    }
    .coPage .secFormTable th {
        padding: 10px 0 0;
        vertical-align: middle;
    }
    .coPage .secFormTable td {
        padding: 5px 0px 10px;
        font-size: var(--pcFontSize13);
    }
    .secForm .btnSendCoBack{
        max-width: 300px;
        width: 92%;
        height: 50px;
    }
}
.ok .oktxt{
    text-align: center;
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_27);
    color: var(--Colorwhite);
    margin-top: 30px;
}
@media only screen and (max-width:1215px){
    .ok .secForm{
        padding-bottom: 10rem;
    }
    .ok .oktxt{
        text-align: left;
        font-size: var(--spFontSize13);
    }
}

/* secCmnBack */
.secCmnBack{
    margin-top: 5rem;
}
.secCmnBack .backlink{
    width: 45rem;
    height: 8rem;
    margin: 0 auto;
    text-decoration: none;
    background: var(--Colorwhite);
    border: 1px solid var(--textColor);
    border-radius: 0.4rem;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    color: var(--textColor);
    font-weight: bold;
    font-size: var(--pcFontSize15);
    transition: 0.5s;
    position: relative;
}
.secCmnBack .backlink::before,
.secCmnBack .backlink::after{
    content: "";
    position: absolute;
    width: 0.8rem;
    height: 0.1rem;
    top: calc(50% - 0.5px);
    background-color: var(--textColor);
    left: 4rem;
    transition: 0.5s;
}
.secCmnBack .backlink::before{
    transform: rotate(45deg);
    top: calc(50% + 2px);
}
.secCmnBack .backlink::after{
    transform: rotate(-45deg);
    top: calc(50% - 4px);
}
.secCmnBack .backlink:hover{
    background: var(--textColor);
    color: var(--Colorwhite);
}
.secCmnBack .backlink:hover::before,
.secCmnBack .backlink:hover::after{
    background-color: var(--Colorwhite);
}
@media only screen and (max-width:1215px){
    .secCmnBack{
        margin-top: 3rem;
    }
    .secCmnBack .backlink{
        max-width: 30.5rem;
        width: 92%;
        height: 4.5rem;
        font-size: var(--spFontSize12);
    }
    .secCmnBack .backlink::before,
    .secCmnBack .backlink::after{
        width: 0.6rem;
        top: calc(50% - 0.05rem);
        left: 1.9rem;
    }
    .secCmnBack .backlink::before{
        top: calc(50% + 0.2rem);
    }
    .secCmnBack .backlink::after{
        top: calc(50% - 0.2rem);
    }
}