.p-form {
	margin-inline: auto;
	max-width: 780px;
	width: 100%;
}

.p-form__heading a {
	color: #345995;
	text-decoration: underline;
}

.p-form form {
	background: #EFEFEF;
	padding: 40px;
}

.p-form form dl {
	-webkit-margin-before: 0;
	margin-block-start: 0;
}

.p-form form input::-webkit-input-placeholder,
.p-form form textarea::-webkit-input-placeholder {
	color: #aaa;
	font-weight: 400;
}

.p-form form input::-moz-placeholder,
.p-form form textarea::-moz-placeholder {
	color: #aaa;
	font-weight: 400;
}

.p-form form input:-ms-input-placeholder,
.p-form form textarea:-ms-input-placeholder {
	color: #aaa;
	font-weight: 400;
}

.p-form form input::-ms-input-placeholder,
.p-form form textarea::-ms-input-placeholder {
	color: #aaa;
	font-weight: 400;
}

.p-form form input::placeholder,
.p-form form textarea::placeholder {
	color: #aaa;
	font-weight: 400;
}

.p-form form .wpcf7-radio {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	row-gap: 10px;
}

.p-form__label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 10px;
	-moz-column-gap: 10px;
	column-gap: 10px;
}

.p-form__label p {
	font-weight: 400;
}

.p-form__label span {
	background: #BD3B3B;
	color: #EFEFEF;
	font-size: 14px;
	font-weight: bold;
	padding: 5px 10px;
}

.p-form__radio {
	display: block;
	font-size: 14px;
}

.p-form__radio label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 5px;
	-moz-column-gap: 5px;
	column-gap: 5px;
}

.p-form__radio .wpcf7-list-item {
	-webkit-margin-start: 0;
	margin-inline-start: 0;
}

.p-form__radio .wpcf7-list-item-label {
	height: 41px;
	position: relative;
}

.p-form__radio .wpcf7-list-item-label::before {
	background: #fff;
	border: solid 1px #D5D5D5;
	border-radius: 999px;
	content: "";
	display: inline-block;
	height: 25px;
	left: -10px;
	position: absolute;
	position: relative;
	top: 50%;
	translate: -20% -60%;
	width: 25px;
}

.p-form__pp {
	-webkit-margin-before: 20px;
	font-size: 14px;
	margin-block-start: 20px;
	text-align: center;
}

.p-form__pp a {
	color: #345995;
	text-decoration: underline;
}

.p-form__pp .wpcf7-list-item {
	margin: 0;
}

.p-form__pp .wpcf7-list-item-label {
	height: 30px;
	position: relative;
}

.p-form__pp .wpcf7-list-item-label::before {
	background: #fff;
	border: solid 1px #D5D5D5;
	content: "";
	display: inline-block;
	height: 24px;
	left: 0;
	position: absolute;
	position: relative;
	top: 0;
	translate: -50% 25%;
	width: 24px;
}

.p-form input[type=radio],
.p-form input[type=checkbox] {
	opacity: 0;
}

.p-form input[type=radio]:checked + .wpcf7-list-item-label::before {
	background-color: #345995; /* お好みの色に */
	-webkit-box-shadow: inset 0 0 0 4px #fff;
	box-shadow: inset 0 0 0 4px #fff;
}

.p-form input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	border-bottom: solid 2px #345995;
	border-left: solid 2px #345995;
	content: "";
	height: 7px;
	left: -7px;
	position: absolute;
	rotate: -45deg;
	top: 50%;
	translate: 0 -55%;
	width: 16px;
}

.p-form__btn {
	-webkit-margin-before: 80px;
	margin-block-start: 80px;
	position: relative;
	text-align: center;
}

.p-form__btn input[type=submit] {
	background: transparent;
	border-color: #345995;
	border-radius: 100px;
	border-style: solid;
	border-width: 1px 1px 1px 10px;
	min-width: 300px;
	padding: 16px 20px;
	-webkit-transition: all 0.2s ease-in-out;
	color: #345995;
	font-weight: 700;
	transition: all 0.2s ease-in-out;
}

.p-form__btn .wpcf7-spinner {
	bottom: 0;
	left: 50%;
	margin-inline: 0;
	position: absolute;
	translate: -50% 110%;
}

.p-form.--confirm form dd {
	-webkit-padding-start: 16px;
	font-size: 14px;
	padding-inline-start: 16px;
}

.p-form.--confirm form .wpcf7-previous {
	background: transparent;
	border: none;
	color: #345995;
	cursor: pointer;
	font-size: 16px;
	text-decoration: underline;
}

.p-form.--confirm form input[type=submit] {
	-webkit-margin-before: 40px;
	margin-block-start: 40px;
}

.p-form.--thanks {
	max-width: 600px;
}

.p-form__thanks-head {
	color: #345995;
	font-family: "Oswald", sans-serif;
	font-size: 64px;
	font-weight: 100;
}

@media (any-hover: hover) {

.p-form__btn input[type=submit]:hover {
	background-color: #345995;
	color: #FFF;
	text-decoration: none !important;
}

.p-form.--confirm form .wpcf7-previous:hover {
	opacity: 0.8;
}

}

@media (max-width: 767px) {

.p-form form {
	padding: 20px;
}

.p-form__btn input[type=submit] {
	max-width: 300px;
	min-width: 200px;
	width: calc(100vw - 80px);
}

}

