@charset "utf-8";

/*
===== contacts_index ===========================*/

/* footer
--------------------*/
footer .p-contact,
footer .nav_torikumi {
    display: none;
}

footer .footer_inner {
    padding-top: 64px;
}

footer .p-cans ul {
    margin-top: 0;
}

@media (max-width: 768px) {
    footer .footer_inner {
        padding-top: 48px;
    }

    .c-bread_crumbs {
        margin-top: 0;
    }

    footer .p-cans ul {
        margin-top: 32px;
    }
}

/* p-form_input
--------------------*/
#contacts_input .p-form_input {
	position: relative;
    padding: 64px 0 112px;
}

#contacts_input .p-form_input .l-inner {
    max-width: 1064px;
}

#contacts_input .p-form_input dl {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 32px 24px;
	border-bottom: 1px solid #A48635;
}

#contacts_input .p-form_input dl:nth-of-type(1) {
    border-top: 1px solid #A48635;
}

#contacts_input .p-form_input dt {
	width: 244px;
    padding: 9px 0 0;
	font-weight: 700;
}

#contacts_input .p-form_input .your_name dt {
	padding: 44px 0 0;
}

#contacts_input .p-form_input dt span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 52px;
	height: 27px;
	margin: 0 12px 0 0;
	padding: 0 0 1px;
	background: #029E62;
	border-radius: 4px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	vertical-align: 0.5px;
}

#contacts_input .p-form_input dd {
	flex: 1;
}

#contacts_input .p-form_input .textfield {
    position: relative;
	display: flex;
	align-items: center;
    width: 100%;
	max-width: 624px;
	height: 45px;
	padding: 0 20px;
    background: #F7E5B7;
	border: 1px solid #ADA080;
	border-radius: 4px;
}

#contacts_input .p-form_input dd .wrap {
	display: flex;
	align-items: center;
	gap: 24px;
    width: 100%;
	max-width: 624px;
}

#contacts_input .p-form_input dd .wrap > div {
    flex: 1;
}

#contacts_input .p-form_input dd .wrap .textfield {
	width: 100%;
}

#contacts_input .p-form_input dd .wrap p {
	margin: 0 0 16px;
    font-size: 14px;
}

#contacts_input .p-form_input .textfield input {
    position: relative;
	width: 100%;
	padding: 0;
	background: none;
	border: none;
	outline: none;
    z-index: 2;
}

#contacts_input .p-form_input .textarea {
    position: relative;
	width: 100%;
	max-width: 624px;
	height: 200px;
	padding: 12px 12px 12px 24px;
    background: #F7E5B7;
	border: 1px solid #ADA080;
	border-radius: 4px;
}

#contacts_input .p-form_input .textarea textarea {
    position: relative;
	width: 100%;
	height: 174px;
	padding: 0;
	background: none;
	border: none;
    line-height: 1.6;
	outline: none;
	resize: none;
    z-index: 2;
}

#contacts_input .selectbox {
    position: relative;
    width: 330px;
    height: 45px;
    background: #F7E5B7;
	border: 1px solid #ADA080;
    border-radius: 4px;
    z-index: 1;
}

#contacts_input .selectbox:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 18px;
    height: 10px;
    background: url(/assets/img/common/bullet_arrow_06_b.svg) no-repeat 50% 50%;
    background-size: 18px auto;
}

#contacts_input select {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 24px;
    background: none;
    border: none;
    color: #000000;
    font-size: 16px;
    outline: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: 2;
}

#contacts_input .p-nav_submit {
    width: fit-content;
	margin: 48px auto 0;
}

#contacts_input .p-nav_submit button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 303px;
    height: 80px;
    padding: 0 12px;
    background: #029E62 url(/assets/img/common/bullet_arrow_01_w.svg) no-repeat right 24px center;
    background-size: 8px auto;
    border: 4px solid #029E62;
    border-radius: 10px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    transition: .3s all;
    outline: none;
    cursor: pointer;
}

#contacts_input .error {
    border: none !important;
}

#contacts_input .error:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 4px solid #D62B1F;
    border-radius: 4px;
}

#contacts_input .error_text {
    display: none;
    margin: 8px 0 0;
    color: #D62B1F;
    font-size: 14px;
}

/* index_error.html: .error 付きフィールド直後の error_text を表示 */
#contacts_input .error + .error_text {
    display: block;
}

@media (min-width: 769px) {
	#contacts_input .p-nav_submit button:hover {
		background: #F1E2B0 url(/assets/img/common/bullet_arrow_01_g.svg) no-repeat right 24px center;
		background-size: 8px auto;
		color: #029E62;
	}
}

@media (max-width: 768px) {
    #contacts_input .p-form_input {
        padding: 56px 0;
    }

    #contacts_input .p-form_input dl {
        display: block;
        padding: 24px 0;
    }

    #contacts_input .p-form_input dt {
        width: 100%;
        padding: 0;
    }

    #contacts_input .p-form_input .your_name dt {
        padding: 0;
    }

    #contacts_input .p-form_input dd {
        margin: 16px 0 0;
    }

    #contacts_input .p-form_input dd .wrap {
        display: block;
    }

    #contacts_input .p-form_input dd .wrap > div + div {
        margin: 16px 0 0;
    }

    #contacts_input .p-form_input dd .wrap p {
        margin: 0 0 8px;
    }

    #contacts_input .selectbox {
        width: 100%;
	    max-width: 624px;
    }

    #contacts_input .p-form_input .textarea {
        height: 120px;
    }

    #contacts_input .p-form_input .textarea textarea {
        height: 94px;
    }

    #contacts_input .p-nav_submit {
        margin: 32px auto 0;
    }
}