@charset "UTF-8";

/* ------------------------------------------------
                      CONTACT
--------------------------------------------------- */


/*---------- フォーム ----------*/
.sec-contact {
	width: 100%;
}
.sec-contact .cont-inn {
	max-width: 890px;
}
.contact-sec-ttl {
	margin-bottom: 35px;
	color: var(--color-black);
	text-align: center;
	font-size: 2.3rem;
    font-weight: 500;
}
.contact-sec-txt {
	width: 100%;
	max-width: 660px;
	margin: 0 auto 80px;
	color: var(--color-txt-gray);
}

/* form wrap */
.txt-red {
	color: #FF0000;
}
.contact-form-notice {
	margin-bottom: 25px;
}


/* form */
.contact-form-box-wrap {
	justify-content: space-between;
}
.contact-form-box-ttl {
	width: 100%;
	margin-bottom: 17px;
	font-size: 1.9rem;
	font-weight: 400;
	color: var(--color-txt-darkgray);
}
.contact-form-box-ttl .txt-notice {
	margin-left: 20px;
	font-size: 1.4rem;
	color: var(--color-txt-gray);
}
.contact-form-box-cont {
	width: 100%;
	margin-bottom: 17px;
	border-bottom: 1px solid rgba(68, 68, 68, 0.2);
	font-size: 1.9rem;
    font-weight: 600;
}
.contact-form-box-cont:last-of-type {
	border-bottom: none;
}
.contact-form-box-cont.box-half {
	width: 48%;
}

@media (max-width: 768px) {
	.sec-contact {
		width: 100%;
	}
	.contact-sec-ttl {
		margin-bottom: 9.33vw;
		font-size: var(--fs-sp-23);
	}
	.contact-sec-txt {
		width: 100%;
		max-width: initial;
		margin: 0 auto 21.33vw;
	}
	

	/* form wrap */
	.contact-form-notice {
		margin-bottom: 6.66vw;
	}


	/* form */
	.contact-form-box-wrap {
		justify-content: space-between;
	}
	.contact-form-box-ttl {
		width: 100%;
		margin-bottom: 5.33vw;
		font-size: var(--fs-sp-19);
	}
	.contact-form-box-ttl .txt-notice {
		margin-left: 0;
		font-size: var(--fs-sp-14);
	}
	.contact-form-box-cont {
		width: 100%;
		margin-bottom: 5.33vw;
	}
	.contact-form-box-cont:last-of-type {
		border-bottom: none;
	}
	.contact-form-box-cont.box-half {
		width: 100%;
		margin-bottom: 5.33vw;
	}
    
}


/* 入力ページのテキスト */

.for-inquiry {
	width: 100%;
	padding: 30px;
	margin: 20px auto 40px;
	border: 1px solid rgba(112, 112, 112, 0.2);
}
.for-inquiry-ttl {
	color: var(--color-txt-green);
	font-weight: 600;
	margin-bottom: 20px;
}
.for-inquiry-txt {
	margin-bottom: 10px;
	color: var(--color-txt-gray);
}
.for-inquiry-txt:last-of-type {
	margin-bottom: 0;
}


.privacy-box {
	width: 100%;
	padding: 30px;
	margin: 20px auto 40px;
	border: 1px solid rgba(112, 112, 112, 0.2);
}
.privacy-ttl {
	display: inline-block;
	padding: 8px 9px;
	background: var(--color-green);
	color: #fff;
	font-weight: 600;
	line-height: 1;
}
.privacy-txt {
	margin-top: 20px;
	color: var(--color-txt-gray);
}
.privacy-txt .bold {
	font-weight: 600;
	color: var(--color-black);
}

@media (max-width: 768px) {

	.for-inquiry {
		width: 100%;
		padding: 8vw;
		margin: 5.33vw auto 10.66vw;
	}
	.for-inquiry-ttl {
		margin-bottom: 5.33vw;
	}
	.for-inquiry-txt {
		margin-bottom: 2.66vw;
	}


	.privacy-box {
		width: 100%;
		padding: 8vw;
		margin: 5.33vw auto 10.66vw;
	}
	.privacy-ttl {
		padding: 2.13vw 2.4vw;
	}
	.privacy-txt {
		margin-top: 5.33vw;
	}
	
}


/*--- form reset ---*/
input[type="text"],input[type="number"],input[type="email"],textarea,select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
input[type="radio"], 
input[type="checkbox"] {
	opacity: 0;
	position: absolute;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

/*--- form input共通 ---*/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select{
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 10px;
    background: #FFF;
    /* border: 1px solid #DBDBDB; */
	font-size: 1.9rem;
	font-weight: 600;
}
select{
    color: #000;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="number"]::placeholder,
textarea::placeholder{
    color: rgba(0, 0, 0, 0.2);
}
textarea{
    height: 210px;
	border: 1px solid rgba(68, 68, 68, 0.2);
}


/*--- チェックボックス ---*/
ul.form-check-wrap {
	display: block;
}
ul.form-check-wrap li{
    width: 100%;
    margin: 0 0 10px;
	display: flex;
	align-items: center;
}
ul.form-check-wrap li:last-child{
    margin: 0 0 17px;
}

.form-check-item span {
	display: inline-block;
    position: relative;
    padding-left: 52px;
	font-size: 1.7rem;
    font-weight: 600;
}
.form-check-item input[type="checkbox"],
.form-check-item input[type="radio"]{
    vertical-align: middle;
}
.form-check-item input[type="checkbox"] + span::before,
.form-check-item input[type="radio"] + span::before {
    position: absolute;
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #707070;
    top: 6px;
    left: 0;
	box-sizing: border-box;
}

.form-check-item input[type="checkbox"] + span::after, 
.form-check-item input[type="radio"] + span::after{
    position: absolute;
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-blue);
    top: 11px;
    left: 5px;
    opacity: 0;
    transition: .3s;
}

.form-check-item input[type="checkbox"]:checked + span::after, 
.form-check-item input[type="radio"]:checked + span::after {
    opacity: 1;
}


/*--- ppチェックボックス ---*/
.contact-form-agreement {
	text-align: center;
}
.contact-form-agreement .form-check-item span {
    padding-left: 42px;
	color: #FF0000;
	font-size: 1.9rem;
    font-weight: 400;
}

/*--- submitボタン ---*/
.btn-form-submit {
	width: 90%;
	max-width: 300px;
	margin: 40px auto 0;
	display: block;
	position: relative;
}
.btn-form-submit.is-disabled {
	opacity: 0.5;
	pointer-events: none;
}
.btn-form-submit::after {
	content: '';
	width: 22px;
	height: 6px;
	background: url("../../img/common/icon_arrow_w.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 3px);
	right: 20px;
}
.btn-form-submit .submit-button{
    width: 100%;
	margin: 0 auto;
    padding: 20px 44px 20px 23px;
    display: block;
	border-radius: 80px;
    color: #fff;
    background-color: var(--color-green);
	text-align: center;
	font-size: 1.4rem;
    font-weight: 700;
}

.btn-form-submit .submit-button.back{
    padding: 20px 23px;
    background: #fff;
	border: 1px solid var(--color-txt-gray);
    color: var(--color-txt-gray);
}
#contact .contact-submit-btn .submit-button:disabled{
    opacity: 0.5;
	pointer-events: none;
}


@media (max-width: 768px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	textarea,
	select{
		font-size: var(--fs-sp-19);
		padding: 0 0 2.66vw;
	}
	textarea{
		height: 50vw;
	}

	/*--- チェックボックス ---*/
	ul.form-check-wrap li{
		width: 100%;
		margin: 0 0 2.66vw;
	}
	ul.form-check-wrap li:last-child{
		margin: 0 0 5.33vw;
	}

	.form-check-item span {
		padding-left: 8vw;
		font-size: var(--fs-sp-17);
	}
	.form-check-item input[type="checkbox"], 
	.form-check-item input[type="radio"]{
		vertical-align: middle;
	}
	.form-check-item input[type="checkbox"] + span::before, 
	.form-check-item input[type="radio"] + span::before{
		position: absolute;
		content: '';
		display: block;
		width: 5vw;
		height: 5vw;
		border-radius: 50%;
		background: #fff;
		border: 1px solid #707070;
		top: 1.66vw;
		left: 0;
		box-sizing: border-box;
	}

	.form-check-item input[type="checkbox"] + span::after, 
	.form-check-item input[type="radio"] + span::after {
		position: absolute;
		content: '';
		display: block;
		width: 3vw;
		height: 3vw;
		border-radius: 50%;
		background: var(--color-blue);
		top: calc(1.66vw + 5px);
		left: 1vw;
		opacity: 0;
		transition: .3s;
	}

	.form-check-item input[type="checkbox"]:checked + span::after, 
	.form-check-item input[type="radio"]:checked + span::after {
		opacity: 1;
	}


	/*--- ppチェックボックス ---*/
	.contact-form-agreement {
		text-align: center;
	}
	.contact-form-agreement .form-check-item span {
		padding-left: 8vw;
	}

    
	.btn-form-submit {
		width: 90%;
		max-width: initial;
		margin: 10.66vw auto 0;
		display: block;
		position: relative;
	}
	.btn-form-submit::after {
		content: '';
		width: 6vw;
		height: 2vw;
		background: url("../../img/common/icon_arrow_w.svg") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: calc(50% - 1vw);
		right: 4vw;
	}
	.btn-form-submit .submit-button{
		width: 100%;
		margin: 0 auto;
    	padding: 5.33vw 10.66vw 5.33vw 5.33vw;
		display: block;
		border-radius: 12vw;
		font-size: var(--fs-sp-14);
	}

	.btn-form-submit .submit-button.back{
		padding: 5.33vw;
	}
}
