@charset "utf-8";

/*===================================================
p-pageintro
*===================================================*/
.p-pageintro__block {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	background-color: #ffffff;
	border-radius: 10px;
}
.p-intro__catch {
	font-weight: bold;
	line-height: 1.6;
}
.p-intro__text {
	margin-top: 1rem;
}
@media only screen and (min-width:769px) {
	.p-pageintro__block {
		padding: 30px 80px;
		margin-bottom: 30px;
	}
	.p-intro__text {
		margin-top: 20px;
	}
	.p-intro__text .p-require {
		width: 40px;
		height: 20px;
	}
}

/*===================================================
formLayout
*===================================================*/
.p-form__inner {
	padding: 2rem 1.25rem 3.5rem;
	background-color: #ffffff;
	border: 2px solid #E3BE9A;
	border-radius: 10px;
}
.p-form__col + .p-form__col {
	margin-top: 1.75rem;
	padding-top: 1.75rem;
	border-top: 1px solid #a08e7a;
}
.p-form__heading {
	margin-bottom: 0.75rem;
	font-weight: bold;
}
.p-form__detail {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}
.p-form__detail--2col label {
	width: calc((100% - 1rem) / 2);
}
.p-radio__label {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	padding: 1rem 1rem 1rem calc(1rem + 20px);
	border: 2px solid #707070;
	border-radius: 999px;
}
.p-radio__label::before {
	position: absolute;
	top: 50%;
	left: 1rem;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	border: 2px solid #422715;
	border-radius: 50%;
	background: #fff;
	content: '';
}
input[type="radio"] {
	position: absolute;
	clip: rect(0, 0, 0, 0);
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}
.p-form__txt {
	position: relative;
	padding: 0 0 0 0.5rem;
	font-weight: bold;
}
.p-form__txt__small {
	font-size: 0.9375rem;
}
input[type="radio"]:checked + .p-form__txt::before {
	position: absolute;
	top: 50%;
	left: -15px;
	width: 12px;
	height: 12px;
	margin-top: -4px;
	border-radius: 50%;
	background: #d64202;
	content: "";
}
/*input[type="radio"]:checked + .p-form__txt::after {
	position: absolute;
	top: 5px;
	left: -.5rem;
	width: calc(100% + 1rem);
	height: 2rem;
	border-radius: 6px;
	background: rgba(232, 73, 3, 0.15);
	content: '';
}*/
.p-radio__label:has(input[type="radio"]:checked) {
	background: rgba(232, 73, 3, 0.15);
}
.p-text__label {
	width: 100%;
}
.p-form__text {
	width: 100%;
	padding: 1rem;
	font-size: 1.125rem;
	color: #422715;
	border: 2px solid #707070;
	border-radius: 4px;
	line-height: normal;
}
.p-select__label {
	width: 100%;
	position: relative;
}
.p-select__label::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #a08e79;
	border-right: 2px solid #a08e79;
	transform: rotate(135deg);
	position: absolute;
	top: 1.25rem;
	right: 1rem;
}
.p-form__selectbox {
	-webkit-appearance:none;
	appearance:none;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.45rem 0.5rem;
	color: #422715;
	font-weight: normal;
	line-height: normal;
	background-color: #ffffff;
	box-shadow: none;
	border: 2px solid #707070;
}
.p-form__textarea {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 200px;
	margin: 0;
	padding: 0.5rem 0.75rem;
	font-size: 1.125rem;
	color: #422715;
	font-weight: normal;
	line-height: 1.8;
	box-shadow: none;
	border: 2px solid #707070;
	border-radius: 4px;
	resize: none;
	overflow-y: auto;
}
.p-form__text:focus,
.p-form__textarea:focus,
.p-form__selectbox:focus  {
	border: solid 2px #E3BE9A;
	outline: none;
}
.p-form__attention {
	font-size: 1rem;
	white-space: nowrap;
	width: 100%;
}
@media only screen and (min-width:769px) {
	.p-form__inner {
		padding: 80px;
	}
	.p-form__col + .p-form__col {
		margin-top: 40px;
		padding-top: 40px;
	}
	.p-form__heading {
		margin-bottom: 20px;
	}
}
/* ======== 送信ボタンエリア ======= */
.p-submit__wrapper {
	padding: 0 1.35rem;
	margin: 2rem 0 0 0;
}
/* 未入力ボタン */
.p-submit__btn_inactive {
	display: flex;
	width: 100%;
	max-width: 337px;
	height: 80px;
	color: #cfcfcf;
  background-color: #878787;
  box-shadow: none;
  justify-content: center;
  align-items: center;
	border-radius: 6px;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0 auto;
}
/* 確認ボタン */
.p-submit__btn input[type="submit"] {
	display: none;
	width: 100%;
	height: 100%;
	color: #FFF;
	font-weight: bold;
	font-size: 1.375rem;
	line-height: 1.25;
	text-align: center;
}
.p-submit__btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 337px;
	height: 84px;
	margin: 0 auto;
	background-color: #d64202;
	box-shadow: inset 0px -4px 0px 0px rgba(0, 0, 0, 0.4);
	border-radius: 6px;
	outline: none;
	cursor: pointer;
}
.p-submit__btn:hover {
	position: relative;
	top: 4px;
	box-shadow: none;
}
.p-submit__btn__txt {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #FFF;
	font-weight: bold;
	font-size: 1.375rem;
	line-height: 1.25;
	text-align: center;
}
/* 戻るボタン */
.p-submit__btn.back input[type="submit"] {
	color: #5C4B39;
	font-weight: bold;
	font-size: 1.13rem;
	line-height: 1.25;
	text-align: center;
}
.p-submit__btn.back {
	width: 100%;
	max-width: 337px;
	height: 40px;
	background-color: #fff;
	padding-top: 0.1rem;
	border: 2px solid #a08e7a;
	box-shadow: 0 4px 0 0 rgba(0, 0, 0, .16);
}
.p-submit__btn.back:hover {
	box-shadow: none;
}
/* ==========================================
確認画面
========================================== */
.p-confirm .p-form__heading {
	padding-left: 2.5rem;
}
.p-confirm .p-form__num {
	margin-left: -2.5rem;
	display: inline-block;
	width: 2.5rem;
	font-weight: bold;
}
.p-confirm .p-form__col:nth-child(10) .p-form__num,
.p-confirm .p-form__col:nth-child(11) .p-form__num,
.p-confirm .p-form__col:nth-child(12) .p-form__num {
	width: 3rem;
}
.p-confirm .p-form__head__inner {
	font-weight: bold;
}
.p-confirm .p-form__detail {
	padding-left: 2.25em;
	font-weight: bold;
	color: #d64202;
}
.p-confirm .p-form__txtdetails .p-form__detail {
	white-space: pre-line;
	word-break: break-all;
	margin-top: -1.85rem;
}
.p-confirm .p-submit__wrapper {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.p-confirm .p-submit__btn input[type="submit"] {
	display: revert;
}
@media only screen and (min-width:769px) {
	.p-confirm .p-form__detail {
		padding-left: 2.5em;
	}
	.p-confirm .p-submit__wrapper {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row-reverse;
		width: 100%;
		margin-top: 3rem;
		gap: 2rem;
	}
	.p-confirm .p-submit__btn {
		margin: 0;
	}
	.p-confirm .p-submit__btn.back {
		height: 64px;
		font-size: 1.2rem;
	}
}
/* ==========================================
結果画面
========================================== */
.p-result .p-intro__catch {
	color: #d64202;
	font-size: 1.185rem;
}
.p-result__detail {
	margin-top: 1rem;
}
.p-result__text + .p-result__text {
	margin-top: 1.5rem;
}
.p-result__msg {
	margin-top: 2rem;
}
.p-goto-top {
	margin-top: 1rem;
	text-decoration: underline;
	display: inline-block;
}
.p-goto-top :hover {
	text-decoration: none;
}
@media only screen and (min-width:769px) {
	.p-thanks .wrap section {
		margin-bottom: 60px;
	}
	.p-result {
		padding: 50px;
	}
	.p-result .p-intro__catch {
		font-size: 1.375rem;
	}
	.p-result__detail {
		margin-top: 40px;
	}
	.p-result__text + .p-result__text {
		margin-top: 30px;
	}
	.p-result__msg {
		margin-top: 40px;
	}
	.p-goto-top {
		margin-top: 40px;
	}
	.p-goto-top:hover {
		text-decoration: none;
	}
}

/**********************************************************
holiday information
**********************************************************/
.p-holiday {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	background-color: #ffffff;
	border-radius: 10px;
}
.p-holiday__ttl {
	margin-bottom: 1rem;
	font-size: 1.1rem;
	font-weight: bold;
	color: #cf000e;
}
.p-holiday__ttlsub {
	font-weight: bold;
}
.p-holiday p {
	font-size: 0.95rem;
	line-height: 1.6;
}
.p-holiday p + p,
.p-holiday p + .p-holiday__ttlsub {
	margin-top: 1rem;
}
@media only screen and (min-width:769px) {
	.p-holiday {
		padding: 50px;
	}
	.p-holiday__ttl {
		font-size: 1.375rem;
	}
	.p-holiday p {
		font-size: 1rem;
	}
}
/*===============================================
p-privacypolicy
===============================================*/
.p-privacy {
	margin: 30px auto;
}
.p-privacy__txt {
	color: #333;
	font-size: 0.75rem;
	line-height: 1.4;
}
.p-privacy__txt__link {
	display: inline;
	color: #0d74cf;
	text-decoration: underline;
}
.p-privacy__txt__link:hover {
	text-decoration: none;
}
.p-privacy__txt__list {
	padding: 0 0 0 1em;
}
.p-privacy__txt__list li {
	color: #333;
	font-size: 0.75rem;
	line-height: 1.4;
	margin-bottom: .8em;
	list-style-type: disc;
}
.p-privacy__txt__list li a {
	display: inline-block;
}