/* お問い合わせ */

.contact {
	margin:80px 0 100px;
}
.contact__ttl {
	margin:0 5%;
	padding-bottom:0.2em;
	font-size:30px;
	font-weight:700;
	color:#009d96;
	text-align:center;
	border-bottom:1px solid #009d96;
}
.contact__content {
	margin:40px 5% 0;
	font-size:90%;
}
.contact__content p {
	margin-bottom:2em;
}
@media screen and (min-width: 960px) {
	.contact {
		margin:80px auto 120px;
		width:960px;
	}
	.contact__ttl {
		margin:60px 5% 20px;
		font-size:30px;
	}
	.contact__content {
		margin:40px 0 0;
		padding:0 5%;
	}
}

.contact__formWrap {
	margin:0 auto;
	width:100%;
}
.contact__formWrap dl {
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.contact__formWrap dl dt {
	width:100%;
	margin-bottom:10px;
}
.contact__formWrap dl dd {
	width:100%;
	margin-bottom:20px;
}
@media screen and (min-width: 960px) {
	.contact__formWrap {
		margin:0 auto;
		width:80%;
	}
	.contact__formWrap dl {
	    flex-direction: row;
	}
	.contact__formWrap dl dt {
		width:25%;
		margin-bottom:20px;
	}
	.contact__formWrap dl dd {
		width:75%;
		margin-bottom:20px;
	}
}

.contact__formWrap input ,
.contact__formWrap textarea {
	padding:7px;
}
.contact__formWrap .width100 {
	width: calc(100% - 14px);
}

.contact__formWrap-checkbox{
    display: flex;
}
.contact__formWrap-checkbox label {
	margin-right:30px;
}

.contact__formWrap-checkbox input {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}

.contact__formWrap-checkbox--name {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: #666;
    position: relative;
}

.contact__formWrap-checkbox--name:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #666;
    border-radius: 3px;
    margin-right: 6px;
    flex-shrink: 0;
}

.contact__formWrap-checkbox input:checked + .contact__formWrap-checkbox--name {
    color: rgb(33, 150, 243);
}

.contact__formWrap-checkbox input:checked + .contact__formWrap-checkbox--name:before {
    border: 1px solid rgb(33, 150, 243);
    background-color: rgb(33, 150, 243);
}

.contact__formWrap-checkbox input:checked + .contact__formWrap-checkbox--name:after {
    content: "";
    position: absolute;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    left: 0.4em;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0.4em;
    height: 0.65em;
    transform: translateY(-1px) rotate(45deg);
}

.contact__formWrap-checkbox input:focus-visible + .contact__formWrap-checkbox--name .contact__formWrap-checkbox--text {
    background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

.contact__formWrap-btn {
	display:flex;
	justify-content: center;
	margin-top:30px;
}
.contact__formWrap-btn--submit {
    margin:0 10px;
    width: 10em;
    padding: 8px;
    border: none;
    border-radius: 40px;
    background-color: #009d96;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.contact__formWrap-btn--submit:hover {
    background-color: #00c6b7;
}

.contact__formWrap-btn--submit:focus {
    outline: 0;
    background-color: #00c6b7;
    border: 2px solid rgb(33, 150, 243);
}
.contact__formWrap-btn--reset {
    margin:0 10px;
    width: 10em;
    padding: 8px;
    border: none;
    border-radius: 40px;
    background-color: #fff;
    color: #666;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid #ccc;
}

.contact__formWrap-btn--reset:hover {
    background-color: #eee;
}

.contact__formWrap-btn--reset:focus {
    outline: 0;
    background-color: #eee;
    border: 2px solid rgb(33, 150, 243);
}

@media screen and (min-width: 960px) {
	.contact__formWrap input ,
	.contact__formWrap textarea {
		padding:7px;
	}
	.contact__formWrap .width100 {
		width:100%;
	}

}

.contact__check-read {
	margin-bottom:50px;
	font-size:120%;
	text-align:center;
}
.contact__error-txt {
	margin:100px 0;
	font-size:120%;
	text-align:center;
}
.contact__thanks-txt {
	margin:100px 0;
	font-size:120%;
	text-align:center;
}
.contact__return-txt {
	text-align:center;
}
.contact__return-txt a {
	color:#009D96;
	text-decoration: none;
}
.contact__return-txt a:hover {
	text-decoration: underline;
}
