@charset "utf-8";

body {
	&:has(#contactform) {
		#autozip {
			display: none!important;
		}
	}
}

#contactform {
	.wrap {
		.contents {
			max-width:840px;
			& > p {
                margin-bottom: 3em;
			}
			dl {
				display:grid;
				font-size:1.7rem;
				grid-template-columns:15em 1fr;
				grid-row-gap:1.5em;
				margin-bottom:20px;
				dt,dd {
					line-height:1.66;
				}
				dt {
					display:grid;
					grid-template-columns:auto 1fr;
					align-items:start;
					grid-gap:.5em;
					padding-top:.66em;
					span {
						background-color:#C5C5C5;
						color:#FFFFFF;
						padding:.2em .5em .1em;
						font-size:.8em;
						&.required {
							background-color:#CE052C;
						}
						&.small {
							display: contents;
							color:inherit;
							a{
								color:#38B2E5;
							}
						}
					}
				}
				dd {
					display:flex;
					flex-wrap:wrap;
					align-items:center;
					& > span {
						width:100%;
						&.attachfile::after {
							content:'ファイル添付中';
							color:var(--color_main);
						}
					}
					input {
						&[type="text"],&[type="email"],&[type="tel"],&[type="date"],&[type="number"] {
							padding:1em;
							background-color:#f5f5f5;
							border:1px solid #C5BFBF;
							width:100%;
							font-size:16px;
						}
					}
					&.name {
						column-gap:.5em;
						input {
							width:10em;
						}
						span[data-name="yourname1"] {
							margin-right:1em;
						}
						& > span {
							width:auto;
						}
					}
					textarea {
						padding:.5em;
						background-color:#f5f5f5;
						border:1px solid #C5BFBF;
						width:100%;
						height:8em;
						font-size:16px;
					}
					p {
						font-size:1.5rem;
						line-height:1.5;
						color:#7B7B7B;
						margin-top:.5em;
						a {
							color:#2A86FF;
							text-decoration:underline;
						}
					}
					.wpcf7-list-item-label {
						a{
							color:var(--color_main);
							text-decoration:underline;
						}
					}
					.small {
						display: contents;
						color:inherit;
						a{
							color:var(--color_main);
							text-decoration:underline;
						}
					}
					.wpcf7-list-item {
						margin: 0 1em 0 0;
					}
					.wpcf7-checkbox {
						display:flex;
						flex-wrap:wrap;
						gap:5px 10px;
					}
				}
			}
			.btnwrap {
				position:relative;
				display:flex;
				flex-wrap:wrap;
				gap:.5em;
				flex-wrap:wrap;
				align-items:center;
				justify-content:center;
				margin-top:50px;
				input {
					font-size:1.6rem;
					color:#FFFFFF;
					padding:0 2.5em;
					font-weight:600;
					border:2px solid var(--color_main);
					display:grid;
					grid-template-columns:repeat(2,auto);
					justify-content:center;
					align-items:center;
					grid-gap:.66em;
					height:4em;
					width:100%;
					max-width:16em;
					background-color: var(--color_main);
					&.wpcf7-previous {
						border:none;
						background-color:#bababa;
						color:#FFFFFF;
					}
				}
				&.attachfile {
					opacity:.6;
					pointer-events:none;
				}
			}
			.wpcf7-spinner {
				position:absolute;
				bottom:-2em;;
				top:auto;
			}
		}
	}
	&.thanks {
		.wrap {
			.contents {
				max-width:1100px;
				p {
					margin-bottom:1em;
				}
				.btn {
					margin:30px auto 0;
				}
			}
		}
	}
	&.confirm {
		.wrap {
			.contents {
				dl {
					dt {
						padding-top:0;
					}
				}
			}
		}
	}
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--color_main);
}

@media screen and (max-width:1200px) {
}

@media screen and (max-width:1024px) {
	
}

@media screen and (max-width:768px) {

	#contactform,#entry {
		.wrap {
			padding-top:30px;
			.contents {
				p.entry{
					font-size:1.6rem;
				}
				dl {
					font-size:1.5rem;
					grid-template-columns:1fr;
					grid-row-gap:.66em;
					margin-bottom:15px;
					dt {
						padding-top:0;
					}
					dd {
						margin-bottom:10px;
						input {
							&[type="text"],&[type="email"],&[type="tel"],&[type="date"],&[type="number"] {
								padding:.5em;
							}
						}
						textarea {
							height:6em;
						}
						p {
							font-size:1.3rem;
						}
						&.name {
							input {
								width:6em;
							}
						}
						.wpcf7-list-item {
							/* margin:0; */
						}
						&.detail {
							.wpcf7-form-control {
								grid-template-columns:1fr;
							}
						}
						&.school {
							.wpcf7-form-control {
								grid-template-columns:repeat(2,auto);
							}
						}
					}
				}
				.btnwrap {
					margin-top:30px;
					input {
						font-size:1.4rem;
						padding:0 .5em;
						height:3.4em;
						max-width:11em;
					}
				}
				p {
					&.thanks {
						font-size:1.5rem;
					}
				}
			}
		}
	}
	
}


#contactform {
	&.jsconfirm {
		&:not(.confirm) {
			.confirm {
				display: none!important;
			}
		}
		&.confirm {
			.hideconfirm,.formcheck {
				display: none!important;
			}
			input[type="text"],input[type="email"],input[type="tel"]  {
				border:none!important;
				padding:0!important;
				background:none!important;
				background-color:transparent!important;
				pointer-events:none;
			}
			&.msg {
				text-align:center;
			}
			input[type="file"],input[type="checkbox"],input[type="radio"],textarea {
				display:none;
			}
			.wpcf7-list-item {
				&:has(input[type="radio"]),&:has(input[type="checkbox"]) {
  					display:none;
				}
				&:has(input[type="radio"]:checked),&:has(input[type="checkbox"]:checked) {
  					display:block;
				}
			}
		}
	}
}