@charset "utf-8";


.wpcf7-spinner{
    display: none;
}
.hidden{
    display: none!important;
}
/* secForm */

.gro input:where(:not([type=checkbox],[type=radio])),

.gro select{

    -webkit-appearance: auto;

    -moz-appearance: auto;

    appearance: auto;

}

.gro input[type=date],

.gro input[type=email],

.gro input[type=number],

.gro input[type=password],

.gro input[type=tel],

.gro input[type=text],

.gro input[type=url],

.gro select,

.gro textarea{

    margin: 0;

}

.gro .secForm .formWrapper{

    width: 980px;

    margin: 70px auto 200px;

    background: #fff;

    z-index: 10;

}

.gro .secForm .topBox{

    text-align: center;

}

.gro .secForm .topTxt{

    font-size: 18px;

    text-align: center;

    font-weight: 700;

    letter-spacing: 1.5px;

}

/* step */

.gro .secForm .stepList{

    margin-top: 48px;

    display: inline-flex;

    justify-content: center;

    position: relative;

}

.gro .secForm .stepList::after{

    position: absolute;

    content: "";

    width: calc(100% - 40px);

    height: 1px;

    left: 20px;

    top: 20px;

    background: rgb(0, 7, 80);

}

.gro .secForm .stepItem{

    margin-right: 40px;

    text-align: center;

    position: relative;

    z-index: 10;

}

.gro .secForm .stepNum{

    width: 40px;

    height: 40px;

    border-radius: 50%;

    background: rgb(0, 7, 80);

    border: none;

    padding: 1px;

}

.gro .secForm .bgStepNum{

    background: #fff;

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

}

.gro .secForm .active .bgStepNum{

    background: transparent;

}

.gro .secForm .stepItem:last-child{

    margin-right: 0;

}

.gro .secForm .stepTxt{

    font-size: 14px;

    margin-top: 15px;

    font-weight: 500;

}

@media only screen and (max-width:767px){

    .gro .secForm .bgBox{

        padding-bottom: 0;

    }

    .gro .secForm .formWrapper{

        width: 92%;

        margin: 30px auto 0;

        padding: 27px 0 60px;

    }

    .gro .secForm .topTxt{

        font-size: 12px;

        line-height: 1.66;

        letter-spacing: normal;

    }

    /* step */

    .gro .secForm .stepList{

        margin-top: 19px;

    }

    .gro .secForm .stepList::after{

        width: calc(100% - 8px);

        left: 4px;

        top: 15px;

    }

    .gro .secForm .stepItem{

        margin-right: 25px;

    }

    .gro .secForm .stepNum{

        width: 31px;

        height: 31px;

    }

    .gro .secForm .stepNum img{

        height: 10px;

        width: auto;

    }

    .gro .secForm .stepTxt{

        font-size: 12px;

        margin-top: 10px;

    }

}



.gro .secForm .tableIn{

    width: 980px;

    margin: 50px auto 0;

}

.gro .secForm .tableIn:last-child{

    margin-top: 30px;

}

/* secFormTable */

.gro .secFormTable{

    margin: 0 auto;

    width: 100%;

    display: block;

    border-top: 1px solid #e6e6e6;

}

.gro .secFormTable tbody{

    width: 100%;

    display: block;

}

.gro .secFormTable tr{ 

    border-bottom: 1px solid #e6e6e6;

    display: flex;

}

.gro .secFormTable tr:last-child{

    border-bottom: none;

}

.gro .secFormTable th{
    width: 250px;
    padding: 29px 40px 29px 26px;
}
.gro .secFormTable th p{
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.gro .secFormTable th.start{
    padding-top: 45px;
}
.gro .secFormTable th.start p{
    align-items: flex-start;
}

.gro .secFormTable th.pt01 {padding: 32px 0 12px;}

.gro .secFormTable .must,.gro .secFormTable .noMust{
    width: 46px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(0, 7, 80);
    color: #fff;
    font-size: 11px;
    margin-top: -1px;

}

.gro .secFormTable .noMust{

    background: #3e3a39;

}

.gro .secFormTable td{

    width: calc(100% - 250px);

    font-size: 16px;

    padding: 30px 0;

    position: relative;

    vertical-align: top;

}

.gro .secFormTable .flBox{

    display: -webkit-flex;

    display: flex;

    align-items: center;

    -webkit-align-items: center;

}

.gro .secFormTable .spanValue{

    position: relative;

    bottom: -3px;

    font-size: 16px;

    letter-spacing: 2px;

    font-weight: 500;

    display: inline-block;

}

/* input */

.gro .secFormTable input[type="text"], 

.gro .secFormTable input[type="tel"], 

.gro .secFormTable input[type="email"], 

.gro .secFormTable input[type="number"], 

.gro .secFormTable input[type="password"], 

.gro .secFormTable select{

    height: 51px;

    border: 1px solid #e5e5e5;

    font-size: 16px;

    letter-spacing: 0.5px;

    padding: 0 5px 0 15px;

    background: #fafafa;

    font-family: inherit !important;

    border-radius: 2px;

}

_:-ms-lang(x)::-ms-backdrop, .gro .secFormTable select{

    padding-right: 0;

}

.gro .secForm textarea{

    height: 140px;

    border: 1px solid #e5e5e5;

    font-size: 16px;

    letter-spacing: 0.5px;

    padding: 15px;

    background: #fafafa;

    font-family: inherit !important;

    width:100%;

    resize: none;

    border-radius: 2px;

}

/* address */

.gro .secFormTable .spanAddress{
    position: relative;
    bottom: -3px;
}

.gro .secFormTable .btnZip{

    display: inline-block;

    width: 120px;

    line-height: 37px;

    background: #3e3a39;

    text-decoration: none;

    text-align: center;

    border-radius: 18.5px;

    margin-left: 6px;

    color: #fff;

    font-size: 12px;

    letter-spacing: 0.5px;

}

.gro .secFormTable .boxZip{

    font-size: 0;

    margin-top: 10px;

    display: flex;

}

/* txtError */

/* .gro .secForm .txtError {
    color: #f00;
    font-size: 12px;
    background: url(../img/common/iconError.png) left 2px no-repeat;
    background-size: 14px;
    padding: 0 0 0 17px;
    margin-top: 10px;
    line-height: 1.5;
    text-align: left;
}
.isDesktopIpad .gro .secForm .txtError{
    background-position: left top 6px;
} */

.gro .secFormTable .ml4  { margin-left: 4px;}

.gro .secFormTable .ml7  { margin-left: 7px;}

.gro .secFormTable .ml10  { margin-left: 10px;}

.gro .secFormTable .ml25 { margin-left: 25px;}

.gro .secFormTable .mr7 { margin-right: 7px;}

.gro .secFormTable .mr10 { margin-right: 10px;}

.gro .secFormTable .mt10 { margin-top:10px;}

.gro .secFormTable .mt16 { margin-top:16px;}

.gro .secFormTable .w76 { width: 76px;}

.gro .secFormTable .w80 { width: 80px;}

.gro .secFormTable .w132 { width: 132px;}

.gro .secFormTable .w140 { width: 140px;}

.gro .secFormTable .w160 { width: 160px;}

.gro .secFormTable .w200 { width: 200px;}

.gro .secFormTable .w370 { width: 370px;}

.gro .secFormTable .w580 { width: 580px;}

.gro .secFormTable .w730 { width: 730px;}

.gro .secFormTable .mx100{

    max-width: 100%;

}

/* boxRadio */

.gro .secFormTable .boxRadio{
    padding: 29px 0;
}
.gro .secFormTable .wpcf7-radio{
    display: flex;
    flex-wrap: wrap;
}
.gro .secFormTable .wpcf7-radio .wpcf7-list-item{
    width: 302px;
    font-size: 16px;
    letter-spacing: 1px;
}
.gro .secFormTable .wpcf7-radio .wpcf7-list-item:nth-child(n+3){
    margin-top: 17px;
}

/* .gro .secFormTable .labelRadio{
    position: relative;
    display: inline-block;
} */
.gro .secFormTable input[type="radio"]{
    /* visibility: hidden;
    position: absolute;*/
    width: 27px;
    height: 27px;
    margin: 0;
    vertical-align: middle;
}
.isDesktopIpad .gro .secFormTable .wpcf7-radio .wpcf7-list-item{
    font-size: 13px;
}
/* ▼編集後 */
.gro .secFormTable .topRadio .wpcf7-radio .wpcf7-list-item{
    width: auto;
    margin-right: 60px;
    margin-top: 0;
}
.gro .secFormTable .topRadio .wpcf7-radio .wpcf7-list-item:last-child{
    margin-right: 0;
}

/* privacy */

.gro .secForm .boxPrivacy{

    border-top: solid 1px #e1e1e1;

    padding-top: 30px;

}

.gro .secForm .bgPrivacy{

    background-image: linear-gradient( 90deg, rgba(64,209,121,0.05) 0%, rgba(7,122,206,0.05) 100%);

    padding: 43px 0 40px;

    text-align: center;

}

.gro .secForm .privacyTxt{

    font-size: 14px;

    letter-spacing: 1px;

    font-weight: 700;

}

.gro .secForm .linkPriacy{

    color: #00baff;

}

.gro .secForm .labelCheck{

    width: 300px;
    height: 54px;
    background: #fff;
    margin: 19px auto 0;
    border-radius: 27px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;

}

.gro .secForm .labelCheck input[type="checkbox"] {
    /* visibility: hidden;
    position: absolute;
    margin: 0; */
    margin: 0;
    margin-right: 10px;
    width: 22px;
    height: 22px;
    vertical-align: -6px;
}

.gro .secForm .txtCheck{
    display: inline-flex;
    align-items: center;
    user-select: none;
    font-size: 14px;
    letter-spacing: 1px;
    position: relative;
}

/* .gro .secForm .txtCheck::before{

    content: "";

    width: 22px;

    height: 22px;

    background: #fafafa;

    margin-right: 10px;

    border: 1px solid #e5e5e5;

    border-radius: 5px;

} */

/* .gro .secForm input[type="checkbox"].inputRequired:checked + .txtCheck.lazyloaded::before {

    background: url(../img/saiyou/iconCheck.png) center center / 14px auto no-repeat #c60080;

} */

/* .gro .secForm .boxPrivacy .txtError{

    text-align: center;

    display: inline-block;

} */

.gro .secFormTable .mailTxt{

    font-size: 12px;

    line-height: 1.5;

    color: #ff4c4c;

    margin-top: 10px;

}

/* secCmnFormBtn */

.gro .secCmnFormBtn{
    width: 540px;
    margin: 40px auto 0;
    overflow: h;
}
.gro .secCmnFormBtn label{
    position: relative;
    width: 100%;
    display: block;
    border-radius: 45px;
    overflow: hidden;
}
.gro .secCmnFormBtn .btnForm{
    background: none;
    border: none;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 45px;
    font-size: 22px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.gro .secCmnFormBtn label::after{
    position: absolute;
    content: "";
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: 10;
    background: -webkit-gradient(linear, left top, right top, from(rgb(7,122,206)), color-stop(rgb(64,209,121)), to(rgb(7,122,206)));
    background: -webkit-linear-gradient(left, rgb(7,122,206), rgb(64,209,121), rgb(7,122,206));
    background: -o-linear-gradient(left, rgb(7,122,206), rgb(64,209,121), rgb(7,122,206));
    background: linear-gradient(90deg, rgb(7,122,206), rgb(64,209,121), rgb(7,122,206));
}

.gro .secCmnFormBtn label::before{
    position: absolute;
    content: "";
    width: 17px;
    height: 7px;
    top: calc(50% - 3.5px);
    right: 40px;
    z-index: 20;
}

.gro .secCmnFormBtn.lazyloaded .label::before{
    background: url(../img/common/iconformBtn.png) center top / cover;
}

.gro .secCmnFormBtn label:hover::after{
    left: 0;
}

.gro .secCmnFormBtn .btnForm{
    position: relative;
    z-index: 100;
}

/* secCmnFormBack */

.gro .secCmnFormBack{
    width: 380px;
    margin: 30px auto 0;
}

.gro .secCmnFormBack .btnFormBack{

    width: 100%;

    height: 80px;

    font-size: 20px;

    color: #3e3a39;

    text-decoration: none;

    border-radius: 40px;

    border: solid 1px #3e3a39;

    display: flex;

    align-items: center;

    justify-content: center;

    box-shadow: inset 0px -7px 0px 0px rgba(0, 0, 0, 0.07);

}

@media only screen and (max-width: 767px){

    .gro .secForm .tableIn{

        width: 100%;

        margin: 29px auto 0;

    }

    .gro .secForm .tableIn:last-child{

        margin-top: 10px;

    }

    .gro .secForm .tableTit{

        font-size: 13px;

        padding: 17px 11px 15px;

    }

    /* secFormTable */

    .gro .secFormTable{

        display: block;

        margin: 5px auto 0;

        width: 100%;

    }

    .gro .secFormTable tr{

        display: block;

    }

    .gro .secFormTable th{
        padding: 17px 0 0;
        width: 100%;
        display: block;
    }
    .gro .secFormTable th p{
        font-size: 13px;
        line-height: 1.5;
        width: 100%;
    }

    .gro .secFormTable td{
        font-size: 13px;
        padding: 12px 0 20px;
        letter-spacing: normal;
        display: block;
        width: 100%;

    }

    .gro .secFormTable .must, .gro .secFormTable .noMust {

        width: 40px;

        height: 19px;

        margin-top: 0;

    }

    .gro .secFormTable input[type="text"], .gro .secFormTable input[type="tel"], .gro .secFormTable input[type="email"], .gro .secFormTable input[type="number"], .gro .secFormTable input[type="password"], .gro .secFormTable select {

        height: 41px;

        font-size: 16px;

        padding-left: 7px;

    }

    .gro .secForm textarea{

        border-radius: 0;

        line-height: 1.73;

        padding: 7px;

    }

    .gro .secFormTable .mrs7{margin-right: 7px;}

    .gro .secFormTable .mls6{margin-left: 6px;}

    .gro .secFormTable .mls10{margin-left: 10px;}

    .gro .secFormTable .mls13{margin-left: 13px;}

    .gro .secFormTable .mts10{margin-top: 10px;}

    .gro .secFormTable .ws60{width: 60px;}

    .gro .secFormTable .wst60{width: 60px;}

    .gro .secFormTable .ws63{width: 63px;}

    .gro .secFormTable .ws88{width: 88px;}

    .gro .secFormTable .ws130{width: 130px;}

    .gro .secFormTable .ws160{width: 160px;}

    .gro .secFormTable .ws80p{width: 80%;}

    .gro .secFormTable .ws100p{width: 100%;}

    .gro .secFormTable .flexbox{

        display: block;

    }

    /* adress */

    .gro .secFormTable .spanAddress{
        font-size: 13px;
    }

    .gro .secFormTable .boxZip{

        margin-top: 10px;

        display: block;

    }

    .gro .secFormTable .btnZip{

        border-radius: 15px;

        margin-left: 6px;

        width: 100px;

        line-height: 31px;

        font-size: 10px;

    }

    /* boxRadio */

    .gro .secFormTable .boxRadio{

        padding: 12px 0 18px;

    }

    .gro .secFormTable .wpcf7-radio .wpcf7-list-item{

        width: 100%;

    }

    .gro .secFormTable .wpcf7-radio .wpcf7-list-item:nth-child(n+2){

        margin-top: 8px;

    }

    .gro .secFormTable input[type="radio"]{
        width: 20px;
        height: 20px;
    }

    .isDesktopIpad .gro .secFormTable .wpcf7-radio .wpcf7-list-item{

        font-size: 13px;

        letter-spacing: 0.5px;

    }

    /* boxRadio topRadio */

    .gro .secFormTable .topRadio .wpcf7-radio .wpcf7-list-item{min-width: 110px;margin-right: 0;margin-top: 0;}
    .gro .secFormTable .topRadio .wpcf7-radio .wpcf7-list-item:nth-child(n+3){

        margin-top: 8px;

    }

    /* privacy */

    .gro .secForm .boxPrivacy{

        width: 100%;

        margin: 0 auto;

    }

    .gro .secForm .bgPrivacy{

        padding: 18px 0 20px;

    }

    .gro .secForm .privacyTxt{

        font-size: 12px;

        line-height: 1.83;

    }

    .gro .secForm .labelCheck{

        width: 165px;

        height: 44px;

        margin: 9px auto 0;

        border-radius: 22px;

        font-size: 12px;

    }

    .gro .secForm .labelCheck input[type="checkbox"] {width: 20px;height: 20px;vertical-align: -5px;}

    .gro .secForm .txtCheck{

        font-size: 12px;

    }

    .gro .secForm .txtCheck::before{

        width: 20px;

        height: 20px;

        margin-right: 9px;

    }

    .gro .secForm input[type="checkbox"].inputRequired:checked + .txtCheck.lazyloaded::before {

        background: url(../img/index/iconCheck.png) center center / 10px auto no-repeat #c60080;

    }

    .gro .secFormTable th.start{

        padding-top: 17px;

    }

    .gro .secFormTable .mailTxt{

        font-size: 10px;

        line-height: 1.4;

        margin-top: 14px;

        padding-right: 25px;

    }

   /* secCmnFormBtn */

    .gro .secCmnFormBtn{

        width: 91.305%;

        margin: 30px auto 0;

    }

    .gro .secCmnFormBtn .btnForm{
        height: 74px;
        border-radius: 37px;
        font-size: 16px;
    }

    .gro .secCmnFormBtn .btnForm::before{

        right: 20px;

    }

    /* secCmnFormBack */

    .gro .secCmnFormBack{

        width: 80%;

        margin: 30px auto 0;

    }

    .gro .secCmnFormBack .btnFormBack{

        width: 100%;

        height: 66px;

        font-size: 16px;

        border-radius: 33px;

        box-shadow: inset 0px -3px 0px 0px rgba(0, 0, 0, 0.07);

    }

    .gro .secFormTable .spanValue{

        bottom: 0;

        font-size: 13px;

        letter-spacing: normal;

    }

}



@media only screen and (max-width: 374px){

    .gro .secFormTable .ws130{

        width: 120px;

    }

}

@media only screen and (max-width: 359px){

    .gro .secFormTable .w160{

        width: 140px;

    }

    .gro .secFormTable .btnZip{

        width: 90px;

    }

    .gro .secFormTable .ws130{

        width: 100px;

    }

    .gro .secForm .topTxt {

        font-size: 11px;

    }

    .gro .secFormTable .ws80p{width: 75%;}

    .gro .secFormTable .ws60{width: 50px;}

    .gro .secFormTable .ws88{width: 78px;}

}



/* co */

.gro.co .secFormTable tr{

    align-items: center;

}

.gro.co .secFormTable th{

    vertical-align: middle;

    padding: 30px 40px 30px 26px;

}

.gro.co .secFormTable td{
    padding: 30px 0;
    vertical-align: middle;
}
.gro.co .secFormTable td p{
    line-height: 1.5;
}

.gro.co .secFormTable .spanAddress{
    bottom: 0;
}

.gro.co .tableIn:last-child tr:last-child{

    border-bottom: 1px solid #e1e1e1;

}

.gro.co .secCmnFormBtn{

    margin-top: 60px;

}

@media only screen and (max-width: 767px){

    .gro.co .secFormTable th {

        padding: 17px 0 0;

    }

    .gro.co .secFormTable td{
        padding: 12px 0 20px;
    }

    .gro.co .secCmnFormBtn{

        margin-top: 40px;

    }

}

/* ok */

.gro .secForm .okTxt{

    text-align: center;

    font-size: 16px;

    line-height: 2;

    margin-top: 30px;

}

.gro.ok .cmnTitJpn{

    margin-top: 94px;

}

.gro.ok .cmnTitEng::before{

    bottom: -38px;

}

.gro.ok .cmnTitEng::after {

    bottom: -38px;

}

@media only screen and (max-width: 767px){

    .gro .secForm .okTxt{

        font-size: 12px;

        padding: 0 15px;

        text-align: left;

    }

    .gro.ok .cmnTitJpn{

        margin-top: 45px;

    }

    .gro.ok .cmnTitEng::before{

        bottom: -20px;

    }

    .gro.ok .cmnTitEng::after {

        bottom: -21px;

    }

    .gro.ok .cmnTitEng img{

        height: 30px;

    }
    .gro.ok .secCmnEntryTit{
        order: unset;
    }
    .gro.ok .secForm .formWrapper{
        margin-top: 0;
    }
}