@charset "utf-8";

/* placeholderの色指定 */
::placeholder{
    color:rgba(34, 34, 34, 0.4);
}

/*-----------------------------------------------
    LPフォーム
-----------------------------------------------*/
.secForm{
    margin: 9rem 0 0;
	position: relative;
	z-index: 2;
}
.secForm .contactEn,
.secForm .contactJa,
.secForm .contactLead,
.secForm .contactNote{
    text-align:center;
}
.secForm .contactEn{
    color:var(--keyColor);
    font-size: var(--pcFontSize120);
    line-height:1;
}
.secForm .contactJa{
    margin-top: 2.2rem;
    font-size: var(--pcFontSize20);
	letter-spacing: 0.05em;
}
.secForm .contactLead{
    margin-top: 5.8rem;
    font-size: var(--pcFontSize15);
}
.secForm .contactNote{
    margin-top: 2rem;
    color:var(--errorColor);
    font-size: var(--pcFontSize15);
}
/* arrowBox */
.secForm .arrowBox{
    position:relative;
    display:flex;
	gap: 6.6rem;
    justify-content:center;
    margin: 4.5rem auto 3.6rem;
}
.secForm .arrowBox::before{
    content:"";
    position:absolute;
	width: 23rem;
    top: 3.5rem;
    left: calc(50% - 11.5rem);
    height: 0.2rem;
    background:var(--keyColor);
}
.secForm .arrow{
    position:relative;
    z-index:1;
    color:var(--colorBlack);
    font-size: var(--pcFontSize15);
	font-weight: 700;
    text-align:center;
}
.secForm .step{
    display:block;
    font-size: var(--pcFontSize13);
	color: var(--colorBlack02);
	font-weight: 400;
}
.secForm .dot{
    display:block;
    width: 2rem;
    height: 2rem;
    margin: 1.3rem auto 1.6rem;
    background: var(--colorWhite);
    border:0.1rem solid var(--colorBlack);
    border-radius:50%;
}
.secForm .arrow.active,
.secForm .arrow.active .step{
    color:var(--keyColor);
}
.secForm .arrow.active .dot{
    background:var(--keyColor);
    border-color:var(--keyColor);
}
@media only screen and (max-width:1215px){
	.secForm{
		margin: 6rem 0 0;
	}
	.secForm .contactEn{
		font-size: var(--spFontSize50);
	}
	.secForm .contactJa{
		margin-top: 1.5rem;
		font-size: var(--spFontSize15);
	}
	.secForm .contactLead{
		margin-top: 3rem;
		font-size: var(--spFontSize13);
	}
	.secForm .contactNote{
		margin-top: 2rem;
		font-size: var(--spFontSize13);
	}
	/* arrowBox */
	.secForm .arrowBox{
		gap: 6.5rem;
		margin: 3rem auto 3.6rem;
	}
	.secForm .arrowBox::before{
		top: 3.5rem;
	}
}

/* formBox */
.secForm .formBox{
    width: 108rem;
    max-width:calc(100% - 4rem);
    margin: 6rem auto 0;
	padding: 7rem 8rem;
	border-radius: 0.5rem;
	box-shadow: 0px 0px 18px 2px rgba(0, 0, 0, 0.1);
}
.secForm .topTit{
    padding: 1.7rem 2rem;
    background:var(--bgGray);
    color:var(--colorWhite);
    font-size: var(--pcFontSize16);
    font-weight:700;
    text-align:center;
}
.secForm table{
    width:100%;
    border-collapse:separate;
	margin-top: 6.5rem;
}
.secForm tr{
	display: flex;
}
.secForm tr:last-child{
	border-bottom: 0.1rem solid var(--borderColor);
}
.secForm th,
.secForm td{
    vertical-align:middle;
    border-top:0.1rem solid #e1e1e1;
}
.secForm th{
    position:relative;
    width: 33rem;
    padding: 3.5rem 3rem 3.5rem 0;
    font-size: var(--pcFontSize15);
	line-height: calc(30 / 15);
    text-align:left;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.secForm td{
    width: 59rem;
    padding: 3.5rem 0 3.5rem 3rem;
	position: relative;
}
.secForm td::before{
    content: "";
    position: absolute;
    top: 3.5rem;
    left: 0;
    width: 0.1rem;
    height: calc(100% - 7rem);
    background: var(--borderColor);
}
.secForm td.checkListTd::before{
	top: 3rem;
	height: calc(100% - 6rem);
}
.secForm .fRed,
.secForm .fBlue{
	width: 5rem;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--pcFontSize14);
	border-radius: 0.3rem;
	border: 0.1rem solid var(--colorRed);
	color: var(--colorRed);
}
.secForm .fBlue{
    border-color:var(--colorBlue);
    color:var(--colorBlue);
}
.secForm .w100{width:100%;}
.secForm .w380{width:38rem;}
.secForm input,
.secForm select,
.secForm textarea{
    border:0.1rem solid var(--formBorderColor);
    background:var(--colorWhite);
}
.secForm input[type="text"],
.secForm input[type="email"],
.secForm input[type="tel"],
.secForm input[type="number"],
.secForm select{
    height: 4.5rem;
    padding: 0 2rem;
	font-size: var(--pcFontSize15);
	font-weight: 500;
}
.secForm input,
.secForm textarea{
    font-family:inherit;
}
.secForm textarea{
    height:17rem;
    padding: 2rem;
    line-height:1.5;
}
.secForm .otherInput{
    display:block;
    margin-top:1rem;
}
.secForm .colorForm,
.secForm textarea.colorForm{
    border:0.1rem solid var(--formBorderColor_must);
    background:var(--formBgColor_must);
}
.secForm .checkList li + li{
    margin-top:1rem;
}
/* チェックボックス */
.secForm .checkListTd{
	padding: 3rem 0 3rem 3rem;
}
.secForm .checkList label{
	position: relative;
}
.secForm input[type="checkbox"]{
	position: absolute;
    width: 2rem;
    height: 2rem;
    left: 0;
    top: 0;
    margin: 0;
    visibility: hidden;
}
.secForm .textCheck{
    position: relative;
    padding-left: 3rem;
    font-size: var(--pcFontSize15);
	line-height: calc(21 / 15);
	font-weight: 500;
}
.secForm .textCheck::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.3rem;
    background: var(--colorWhite);
    border: 0.1rem solid var(--formBorderColor);
}
.secForm input[type="checkbox"]:checked + .textCheck::after{
	content: "";
    position: absolute;
    width: 1rem;
    height: 0.6rem;
    border-bottom: solid 0.1rem;
    border-left: solid 0.1rem;
    border-color: var(--textColor);
    top: 0.6rem;
    left: 0.5rem;
    transform: rotate(-45deg);
}
/* boxPrivacy */
.secForm .boxPrivacy{
	margin-top: 6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.secForm .boxPrivacy a{
    color:var(--colorLink);
    text-decoration:underline;
}
.secForm .btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width: 30rem;
    max-width:100%;
    height: 6rem;
    margin: 3.5rem auto 0;
    border-radius: 3rem;
    font-size: var(--pcFontSize16);
	background: var(--keyColor);
	color: var(--colorWhite);
	font-weight: 700;
}
@media only screen and (max-width:1215px){
	.secForm .formBox{
		width: 89.334%;
		max-width: 100%;
		margin: 3.5rem auto 0;
		padding: 0;
		border-radius: 0.5rem;
		box-shadow: none;
	}
	.secForm .topTit{
		padding: 0.8rem 1rem;
		font-size: var(--spFontSize12);
		line-height: calc(22 / 12);
	}
	.secForm table{
		width:100%;
		border-collapse:separate;
		margin-top: 2rem;
	}
	.secForm tr{
		display: block;
	}
	.secForm th{
		position:relative;
		width: 100%;
		padding: 2rem 0 0;
		font-size: var(--spFontSize14);
		line-height: calc(22 / 14);
		display: flex;
		align-items: flex-start;
	}
	.secForm td{
		width: 100%;
		padding: 2.1rem 0 2rem;
		position: relative;
		border:none;
		display: block;
	}
	.secForm td::before{
		display: none;
	}
	.secForm .fRed,
	.secForm .fBlue{
		width: 4rem;
		height: 2.5rem;
		font-size: var(--spFontSize12);
		position: relative;
		top: -0.3rem;
	}
	.secForm .w380{width:100%;}
	.secForm input[type="text"],
	.secForm input[type="email"],
	.secForm input[type="tel"],
	.secForm input[type="number"],
	.secForm select{
		padding: 0 2rem;
		font-size: var(--spFontSize16);
	}
	.secForm input,
	.secForm textarea{
		font-family:inherit;
	}
	.secForm textarea{
		height: 20rem;
	}
	.secForm .otherInput{
		display:block;
		margin-top:1rem;
	}
	/* チェックボックス */
	.secForm .checkListTd{
		padding: 1rem 0 2rem;
	}
	.secForm .checkList li + li{
		margin-top: 1.5rem;
	}
	.secForm .textCheck{
		position: relative;
		padding-left: 3.3rem;
		font-size: var(--spFontSize14);
		line-height: calc(22 / 14);
	}
	.secForm .textCheck::before{
		top: -0.1rem;
	}
	.secForm input[type="checkbox"]:checked + .textCheck::after{
		top: 0.5rem;
	}
	/* boxPrivacy */
	.secForm .boxPrivacy{
		margin-top: 2rem;
	}
	.secForm .btn{
		width: 30rem;
		max-width:100%;
		height: 6rem;
		margin: 3.5rem auto 0;
		padding:0;
		border-radius: 3rem;
		font-size: var(--spFontSize16);
	}
}
/* PHPエラー文 */
.secForm .txtError{
    display:inline-block;
    margin-top:1.5rem;
    padding:1rem 0 0 1.7rem;
	background: url(../img/common/iconError.png) left top 0.1rem / 1.4rem auto no-repeat;
    padding: 0 0 0 1.7rem;
    color:#f00;
    font-size: var(--pcFontSize12);
	line-height: calc(18 / 12);
    text-align:left;
}

/*-----------------------------------------------
    確認・完了
-----------------------------------------------*/
.secForm .txtPrev{
    font-size:1.3rem;
    letter-spacing:0.05rem;
    line-height:2;
    text-align:center;
}
.secForm .txtPrev a{
    text-decoration:underline;
}
.secForm .txtPrev a:hover{
    opacity:0.8;
}
.secForm .boxTxt p{
    margin-top:5rem;
    font-size:1.3rem;
    line-height:2.2;
    text-align:center;
}
.secForm.co td{
	font-size: var(--pcFontSize15);
    line-height: calc(30 / 15);
	display: flex;
	align-items: center;
}

@media only screen and (max-width:1215px){
	.secForm　.txtPrev{
		font-size: var(--spFontSize13);
		line-height: calc(22 / 13);
	}
	.secForm　.boxTxt p{
		margin-top:5rem;
		font-size:1.3rem;
		line-height:2.2;
		text-align:center;
	}
	.secForm.co td {
		font-size: var(--spFontSize14);
        line-height: calc(22 / 14);
	}
}