@charset "utf-8";

/* placeholderの色指定 */
::placeholder{
    color: rgb(132, 132, 132);
}

/* PHPエラー文 */
.secForm .txtError{
    color: #F00;
    font-size: var(--pcFontSize12);
    background: url(../img/common/iconError.png) left top / 1.4rem auto no-repeat;
    padding: 0 0 0 1.7rem;
    margin-top: 1.5rem;
    line-height: var(--pcLineHeight12_17);
}

.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,#fff!important;
    font-size: 0!important;
}

/* secForm */
.secForm{
    padding-top: 22rem;
    position: relative;
}
.secForm::after{
    position: absolute;
    content: "";
    width: 0.1rem;
    height: 10rem;
    left: calc(50% - 0.05rem);
    top: 6rem;
    background: var(--textColor);
}
/* formTitBox */
.secForm .formTitBox{
    text-align: center;
}
.secForm .formTit{
    font-size: var(--pcFontSize38);
    font-weight: bold;
}
.secForm .formEngTit{
    display: inline-block;
    width: 14rem;
    position: relative;
    margin-top: 3.5rem;
}
.secForm .formEngTit::after,
.secForm .formEngTit::before{
    position: absolute;
    content: "";
    width: 2rem;
    height: 0.1rem;
    top: calc(50% - 0.05rem);
    background: var(--textColor);
}
.secForm .formEngTit::after{
    left: -3.8rem;
}
.secForm .formEngTit::before{
    right: -3.8rem;
}
.secForm .formBox{
    margin-top: 5rem;
    background: var(--ColorWhite);
    border-radius: 15rem;
    box-shadow: 0rem 0rem 0.8rem 0.2rem rgba(0, 0, 0, 0.05);
    padding: 5rem 0 10rem;
}
.secForm .formBoxWrapper{
    width: calc(100% - 10rem);
    max-width: 128rem;
    margin: 0 auto;
}
.secForm .formTxt{
    font-size: var(--pcFontSize16);
    text-align: center;
}
.secForm .stepList{
    margin-top: 5rem;
    display: flex;
    justify-content: center;
}
.secForm .stepItem{
    width: 27rem;
    margin-right: 2.5rem;
    height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 3rem;
    font-size: var(--pcFontSize16);
    border: solid 0.1rem #e1e1e1;
    font-weight: bold;
}
.secForm .stepItem:last-child{
    margin-right: 0;
}
.secForm .stepItem.active{
    background: #22a9d9;
    border: solid 0.1rem #22a9d9;
    color: var(--ColorWhite);
}
@media only screen and (max-width:1215px){
    .secForm{
        padding-top: 13rem;
    }
    .secForm::after{
        height: 5rem;
        top: 5rem;
    }
    /* formTitBox */
    .secForm .formTit{
        font-size: var(--spFontSize24);
    }
    .secForm .formEngTit{
        width: 6.6rem;
        margin-top: 1.5rem;
    }
    .secForm .formEngTit::after,
    .secForm .formEngTit::before{
        width: 1rem;
    }
    .secForm .formEngTit::after{
        left: -2rem;
    }
    .secForm .formEngTit::before{
        right: -2rem;
    }
    .secForm .formBox{
        margin-top: 3rem;
        border-radius: 4rem;
        box-shadow: 0rem 0rem 0.8rem 0.2rem rgba(0, 0, 0, 0.05);
        padding: 2.6rem 0 7rem;
    }
    .secForm .formBoxWrapper{
        width: 89.334%;
        max-width: none;
    }
    .secForm .formTxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secForm .stepList{
        margin-top: 1.5rem;
    }
    .secForm .stepItem{
        width: 25.374%;
        margin-right: 2.986%;
        height: 3.5rem;
        border-radius: 1.75rem;
        font-size: var(--spFontSize12);
    }
}
.secFormTable{
    width: 100%;
    margin: 5rem auto 0;
    border-bottom: #e1e1e1 solid 0.1rem;
}
.secFormTable tr{
	border-top: #e1e1e1 solid 0.1rem;
	width: 100%;
}
.secFormTable th,
.secFormTable td{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
}
.secFormTable th{
	padding: 1.6rem 2rem 0 6.5rem;
    width: 24rem;
    position: relative;
    font-weight: bold;
}
.secFormTable td{
    width: calc(100% - 24rem);
    padding: 3rem 0;
    position: relative;
}
.secFormTable  .txtMust{
	position: absolute;
	width: 4.5rem;
	display: inline-block;
	text-align: center;
	font-size: var(--pcFontSize12);
	color: #dc0101;
	padding: 0.25rem 0;
	vertical-align: text-bottom;
    border-radius: 0.3rem;
	top: 4.4rem;
    left: 0;
    border: solid 0.1rem #dc0101;
}
.secFormTable  .txtMust.txtMust02{
	top: 3.2rem;
}
.secFormTable .txtMust.no_must{
    color: #949494;
    border: solid 0.1rem #949494;
}
.secFormTable input[type="text"],
.secFormTable input[type="tel"],
.secFormTable input[type="email"],
.secFormTable input[type="password"],
.secFormTable select{
	height: 5.5rem;
	background: var(--ColorWhite);
	border:#e1e1e1 solid 0.1rem;
    font-size: var(--pcFontSize16);
	padding: 0.5rem 2rem;
    font-family:'YakuHanJP_Narrow','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.secFormTable input[type="text"].colorRequired{
    background: #fffafa;
}
.secFormTable textarea{
	background:var(--ColorWhite);
	border:#e1e1e1 solid 0.1rem;
    font-size: var(--pcFontSize16);
	line-height: var(--pcLineHeight16_26);
	padding: 1.5rem 2rem;
	height: 25rem;
    display: block;
    font-family:'YakuHanJP_Narrow','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.secFormTable .txtNote{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_17);
	margin: 1rem 0 -0.3rem 2rem;
}
.secFormTable .txtRed{
    color: #dc0101;
}
.secFormTable .fBox{
    display: flex;
    align-items: center;
}
.secFormTable .fBoxAddress{
    margin-top: 0.5rem;
}
.secFormTable .addbox{
    flex: 1;
    margin-left: 0.5rem;
}
.secFormTable #btnZip{
    width: 10.5rem;
    height: 4rem;
    border-radius: 2rem;
    font-size: var(--pcFontSize12);
    font-weight: bold;
    text-align: center;
    display: block;
    background-color: var(--textColor);
    color: var(--ColorWhite);
    transition: 0.5s;
    margin-left: 0.5rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secFormTable .selectbox{
    position: relative;
}
.secFormTable .selectbox::after{
    content: "";
    position: absolute;
    width: 0.8rem;
    height: 0.6rem;
    background-color: var(--textColor);
    top: calc(50% - 0.3rem);
    right: 1.5rem;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.secFormTable select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 3rem;
}
.secFormTable .labelRadio input{
    position: absolute;
    width: 3rem;
    height: 3rem;
    left: 0;
    top: 0;
    visibility: hidden;
}
.secFormTable .checkItem{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
}
.secFormTable .checkItem .txtRadio{
    position: relative;
    padding-left: 4.4rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    display: inline-block;
}
.secFormTable .checkItem .txtRadio::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 100%;
    background: var(--Colorwhite);
    border: solid 0.1rem #e1e1e1;
}
.secFormTable .checkItem input[type="radio"]:checked + .txtRadio::after{
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    background: var(--textColor);
    top: 1rem;
    left: 1rem;
}
.secFormTable .checkItem:nth-child(n+2){
    margin-top: 1rem;
}
.secFormTable .labelBox{
    margin-top: 2rem;
}
.secFormTable .labelCheck{
    display: inline-block;
    position: relative;
}
.secFormTable .labelCheck input{
    position: absolute;
    width: 3rem;
    height: 3rem;
    left: 0;
    top: 0;
    margin: 0;
    visibility: hidden;
}
.secFormTable .txtCheck{
    position: relative;
    padding-left: 4.4rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    display: inline-block;
}
.secFormTable .txtCheck::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 0.3rem;
    background: var(--Colorwhite);
    border: solid 0.1rem #e1e1e1;
}
.secFormTable input[type="checkbox"]:checked + .txtCheck::after{
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 0.8rem;
    border-bottom: solid 0.3rem;
    border-left: solid 0.3rem;
    border-color: var(--textColor);
    top: 0.9rem;
    left: 0.8rem;
    transform: rotate(-45deg);
}
@media only screen and (max-width:1215px){
    .secFormTable{
        margin: 2rem auto 0;
    }
    .secFormTable tbody,
    .secFormTable tr{
        display: block;
    }
    .secFormTable th,
    .secFormTable td{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        display: block;
    }
    .secFormTable th{
        padding: 2rem 0 0;
        width: 100%;
    }
    .secFormTable td{
        width: 100%;
        padding: 0.7rem 0 2rem;
    }
    .secFormTable  .txtMust{
        width: 3.8rem;
        font-size: var(--spFontSize11);
        padding: 0.15rem 0;
        top: 2rem;
        left: auto;
        right: 0;
    }
    .secFormTable  .txtMust.txtMust02{
        top: 2rem;
    }
    .secFormTable input[type="text"],
    .secFormTable input[type="tel"],
    .secFormTable input[type="email"],
    .secFormTable input[type="password"],
    .secFormTable select{
        padding: 0.5rem 1.5rem;
    }
    .secFormTable textarea{
        padding: 1.5rem 1.5rem;
        height: 22rem;
    }
    .secFormTable .txtNote{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_16);
        margin: 1rem 0 -0.3rem 2rem;
    }
    .secFormTable .fBoxAddress{
        display: block;
        margin-top: 0.5rem;
    }
    .secFormTable .addbox{
        flex: 1;
        margin: 0.5rem 0 0;
    }
    .secFormTable #btnZip{
        width: 10.5rem;
        height: 3.5rem;
        border-radius: 1.75rem;
        font-size: var(--spFontSize11);
    }
    .secFormTable .selectbox::after{
        width: 0.7rem;
        height: 0.5rem;
        top: calc(50% - 0.25rem);
    }
    .secFormTable select{
        padding-right: 1.5rem;
    }
    .secFormTable .labelRadio input{
        width: 2.5rem;
        height: 2.5rem;
    }
    .secFormTable .checkItem{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    .secFormTable .checkItem .txtRadio{
        padding-left: 3.4rem;
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    .secFormTable .checkItem .txtRadio::before{
        width: 2.5rem;
        height: 2.5rem;
    }
    .secFormTable .checkItem input[type="radio"]:checked + .txtRadio::after{
        width: 0.9rem;
        height: 0.9rem;
        top: 0.8rem;
        left: 0.8rem;
    }
    .secFormTable .checkItem:nth-child(n+2){
        margin-top: 1.3rem;
    }
    .secFormTable .labelBox{
        margin-top: 1.8rem;
    }
    .secFormTable .labelCheck input{
        width: 2.5rem;
        height: 2.5rem;
    }
    .secFormTable .txtCheck{
        padding-left: 3.4rem;
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    .secFormTable .txtCheck::before{
        width: 2.5rem;
        height: 2.5rem;
    }
    .secFormTable input[type="checkbox"]:checked + .txtCheck::after{
        width: 1rem;
        height: 0.6rem;
        border-bottom: solid 0.3rem;
        border-left: solid 0.3rem;
        top: 0.9rem;
        left: 0.8rem;
        transform: rotate(-45deg);
    }
}
.secForm .btnForm{
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5rem;
    width: 50rem;
    height: 10rem;
    font-weight: bold;
    background: var(--ColorWhite);
    color: var(--textColor);
    font-size: var(--pcFontSize20);
    border: 1px solid;
    border-color: var(--textColor);
    margin: 4rem auto 0;
    position: relative;
}
.secForm .btnForm::after{
    position: absolute;
    content: "";
    width: 5rem;
    height: 5rem;
    right: 2.5rem;
    top: calc(50% - 2.5rem);
    border-radius: 50%;
    background: #f8f8f8;
}
.secForm.lazyloaded .btnForm::after{
    background: url(../img/kaitori/iconFormLink.png) center center / 1.6rem auto no-repeat #f8f8f8;
}
.secForm .btnForm.noSend{
    opacity: 0.3;
    pointer-events: none;
    cursor: none;
}
.secForm .btnForm.btnSecondForm{
    width: 45rem;
    height: 8rem;
    font-size: var(--pcFontSize18);
}
@media only screen and (max-width:1215px){
    .secForm .btnForm{
        border-radius: 3.5rem;
        width: 100%;
        height: 7rem;
        font-size: var(--spFontSize16);
        margin: 2.5rem auto 0;
    }
    .secForm .btnForm::after{
        width: 3.6rem;
        height: 3.6rem;
        right: 1.7rem;
        top: calc(50% - 1.8rem);
    }
    .secForm.lazyloaded .btnForm::after{
        background: url(../img/kaitori/iconFormLink.png) center center / 1.2rem auto no-repeat #f8f8f8;
    }
    .secForm .btnForm.btnSecondForm{
        width: 85%;
        height: 6rem;
        font-size: var(--spFontSize14);
    }
}
.secFormTable .w100p{width: 100%;}
.secFormTable .w200{width: 20rem;}
.secFormTable .w500{width: 50rem;}
@media only screen and (max-width:1215px){
    .secFormTable .ws100p{width: 100%;}
    .secFormTable .ws150{width: 15rem;}
}
/* secFormQuestionnaire */
.secFormQuestionnaire{
    margin-top: 5rem;
}
.secFormQuestionnaire .btnQuestionnaire{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 9rem;
    border-radius: 0.3rem;
    background: #0a9444;
    box-shadow: inset 0rem -0.4rem 0rem 0rem rgba(1, 1, 1, 0.15);
    color: var(--ColorWhite);
    font-size: var(--pcFontSize18);
    font-weight: bold;
    position: relative;
}
.secFormQuestionnaire .btnQuestionnaire span{
    position: absolute;
    width: 3.4rem;
    height: 3.4rem;
    right: 2.8rem;
    top: calc(50% - 1.7rem);
    border-radius: 50%;
    border: solid 0.1rem var(--ColorWhite);
}
.secFormQuestionnaire .btnQuestionnaire span::after,
.secFormQuestionnaire .btnQuestionnaire span::before{
    position: absolute;
    content: "";
    width: 1rem;
    height: 0.2rem;
    background: var(--ColorWhite);
    top: calc(50% - 0.1rem);
    left: calc(50% - 0.5rem);
}
.secFormQuestionnaire .btnQuestionnaire span::before{
    transform: rotate(-90deg);
}
.secFormQuestionnaire .btnQuestionnaire.on span::before{
    display: none;
}
.secFormQuestionnaire .boxQuestionnaire{
    display: none;
}
@media only screen and (max-width:1215px){
    .secFormQuestionnaire{
        margin-top: 2rem;
    }
    .secFormQuestionnaire .btnQuestionnaire{
        height: 5.5rem;
        border-radius: 0.3rem;
        font-size: var(--spFontSize14);
    }
    .secFormQuestionnaire .btnQuestionnaire span{
        width: 2.3rem;
        height: 2.3rem;
        right: 1.6rem;
        top: calc(50% - 1.15rem);
    }
    .secFormQuestionnaire .btnQuestionnaire span::after,
    .secFormQuestionnaire .btnQuestionnaire span::before{
        width: 0.7rem;
        height: 0.1rem;
        top: calc(50% - 0.05rem);
        left: calc(50% - 0.35rem);
    }
}
.secForm .boxPrivacy{
    margin: 5.8rem auto 0;
    max-width: 112rem;
}
.secForm .boxPrivacy .inlabel{
    text-align: center;
}
.secForm .boxPrivacy label{
    display: inline-block;
    position: relative;
}
.secForm .boxPrivacy .checkItem{
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
}
.secForm .boxPrivacy .privacytxt{
    position: relative;
    font-weight: bold;
    padding-left: 7rem;
    font-size: var(--pcFontSize16);
}
.secForm .boxPrivacy .privacytxt::before{
    content: "";
    position: absolute;
    left: 0;
    top: -1.5rem;
    width: 5rem;
    height: 5rem;
    border-radius: 100%;
    background: var(--Colorwhite);
    border: solid 0.1rem #e1e1e1;
}
.secForm .boxPrivacy .checkItem:checked + .privacytxt::after{
    content: "";
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 100%;
    background: var(--textColor);
    top: calc(50% - 0.9rem);
    left: 1.7rem;
}
.secForm .boxPrivacy .privacylink{
    display: inline-block;
    text-underline-offset: 0.3rem;
    text-decoration: underline;
    color: var(--textColor);
}
.secForm .boxPrivacy .privacypointtxt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_30);
    margin-top: 3.8rem;
}
@media only screen and (max-width:1215px){
    .secForm .boxPrivacy{
        margin: 5.2rem auto 0;
        max-width: 100%;
    }
    .secForm .boxPrivacy .privacytxt{
        padding-left: 5rem;
        font-size: var(--spFontSize14);
    }
    .secForm .boxPrivacy .privacytxt::before{
        left: 0;
        top: -1rem;
        width: 4rem;
        height: 4rem;
    }
    .secForm .boxPrivacy .checkItem:checked + .privacytxt::after{
        width: 1.2rem;
        height: 1.2rem;
        top: calc(50% - 0.55rem);
        left: 1.4rem;
    }
    .secForm .boxPrivacy .privacylink{
        text-underline-offset: 0.3rem;
    }
    .secForm .boxPrivacy .privacypointtxt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        margin-top: 2.8rem;
    }
}
/* co */
.secForm.co .secFormQuestionnaire .btnQuestionnaire span{
    display: none;
}
.secForm.co .secFormQuestionnaire .boxQuestionnaire {
    display: block;
}
.secForm.co .secFormTable th,
.secForm.co .secFormTable td{
    padding: 3rem 0;
}
.secForm.co .secFormTable td{
    vertical-align: middle;
}
@media only screen and (max-width:1215px){
    .secForm.co .secFormTable th{
        padding: 1.5rem 0 1rem;
    }
    .secForm.co .secFormTable td{
        padding: 0 0 1.5rem;
        vertical-align: top;
    }
}
.secForm.co .okTxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    text-align: center;
    margin-top: 4rem;
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .secForm.co .okTxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        text-align: left;
        margin-top: 3rem;
    }
}

.secFormQuestionnaire input[name="isQuestionnaire"]{
    visibility: hidden;
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: -1;
}

/* 追記0708 */
.txtErrorCover{
    text-align: center;
}
.txtErrorCover .txtError{
    display: inline-block;
}