:root {
	--rem: calc(1rem / 16);
	--vw: calc(1rem / 16);
	--transition__base: 0.3s ease-in-out;
	/*アイコン*/
	--icon__arrow: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDggMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuOTcyOTcgNkwwIDEuNEwxLjUxMzUxIDBMOCA2TDEuNTEzNTEgMTJMMCAxMC42TDQuOTcyOTcgNloiIGZpbGw9ImJsYWNrIi8+PC9zdmc+");
	--icon__arrow-circle: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNF81NjQzKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTkgNy40TDEzLjYgMTJMOSAxNi42TDEwLjQgMThMMTYuNCAxMkwxMC40IDZMOSA3LjRaIiBmaWxsPSJibGFjayIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzRfNTY0MyI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==");
	--icon__send-wh: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMyAyMFY0TDIyIDEyTDMgMjBaTTUgMTdMMTYuODUgMTJMNSA3VjEwLjVMMTEgMTJMNSAxMy41VjE3WiIgZmlsbD0iI0Y4RkFGQyIvPjwvc3ZnPg==");
	--icon__send-bk: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMyAyMFY0TDIyIDEyTDMgMjBaTTUgMTdMMTYuODUgMTJMNSA3VjEwLjVMMTEgMTJMNSAxMy41VjE3WiIgZmlsbD0iYmxhY2siLz48L3N2Zz4=");
}
html {
	margin-top: 0 !important;
}
body a {
	transition: var(--transition__base);
}
body {
	@media (min-width: 780px) {
		position: relative;
		&::before {
			content: "";
			display: inline-block;
			z-index: -1;
			width: 100vw;
			height: 100vh;
			position: fixed;
			top: 0;
			background-image: 
				url('../images/common/bg-item_wave.png'),
				url('../images/common/bg-item_wave-reverse.png'),
				url('../images/common/bg-item_wave.png');
			background-repeat: no-repeat, no-repeat, no-repeat;
			background-position: 
				-98px -40px,
				right -40px top 97px,
				center bottom -40px;
			background-size: auto, auto, auto;
		}
	}
}
p {
	line-height: 1.75;
}
.wp-block-fpd-org-blocks-layout-global {
	.area-right {
		background: rgba(48, 48, 57, 0.75);
		backdrop-filter: blur(2.5px);
	}
}
.wp-block-fpd-org-blocks-base-section {
	.wrap {
		@media (min-width: 780px) {
			padding-inline: 1rem;
		}
		@media (min-width: 1200px) {
			padding-inline: 1.5rem;
		}
	}
}

.wp-block-fpd-org-blocks-main-visual {
	&.mv-type__top {
		.read-copy {
			@media (min-width: 780px) {
				padding-inline: 1rem;
			}
			@media (min-width: 1200px) {
				padding-inline: 1.5rem;
			}
		}
	}
}
.wp-block-fpd-org-blocks-main-visual {
	&.mv-type__top {
		.main-area {
			.catch-copy {
				@media (max-width: 779px) {
					font-size: clamp(20px, calc(1rem + 2vw), 36px);
				}
			}
		}
	}
}
.wp-block-template-part {
	margin-block-start: 0;
}
/*
* フォント
＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.has-small-font-size {
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.has-medium-font-size {
	letter-spacing: 0.04em;
	line-height: 1.7;
}

.has-large-font-size {
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.has-x-large-font-size {
	letter-spacing: 0.04em;
	line-height: 1.75;
}
.has-break-spaces {
	white-space: break-spaces;
}

/*
* contact form 7
＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.wpcf7-response-output,
.wpcf7-not-valid-tip {
	display: none;
}
.contact-form-wrap {
	.form-item {
		&:not(:first-child) {
			margin-block-start: 2.5rem;
		}
		.form-item-name {
			margin-block-start: 0;
			display: flex;
			align-items: center;
			gap: calc(8 * var(--rem));
			font-weight: 700;
			.required {
				color: var(--wp--preset--color--custom-theme-accent);
				border: 1px solid var(--wp--preset--color--custom-theme-accent);
				display: inline-block;
				padding: calc(4 * var(--rem)) calc(8 * var(--rem));
				border-radius: calc(4 * var(--rem));
			}
		}
		.form-contents-item {
			margin-block-start: .5rem;
			.wpcf7-form-control-wrap {
				input[type="text"],
				input[type="email"],
				input[type="tel"],
				textarea {
					border: none;
					padding: calc(8 * var(--rem));
					font-size: 1rem;
					border-radius: calc(4 * var(--rem));
					width: calc(100% - 1rem);
					display: block;
				}
				textarea {
					resize: vertical;
				}
				.wpcf7-list-item {
					label {
						display: flex;
						justify-content: center;
						gap: .5rem;
					}
				}
				input[type="checkbox"] {
					--box-size: calc(24 * var(--rem));
					border: none;
					width: var(--box-size);
					height: var(--box-size);
					margin: 0;
				}
			}
		}
		/*同意チェック*/
		&#agree-policy {
			.agree-policy-info {
				width: fit-content;
				margin-inline: auto;
			}
			.form-contents-item {
				margin-block-start: 1rem;
				.wpcf7-form-control-wrap {
					.wpcf7-checkbox {
						display: block;
						width: fit-content;
						margin-inline: auto;
						.wpcf7-list-item {
							margin-inline-start: 0;
						}
					}
				}
			}
		}
		/*送信ボタン*/
		&#submit-btn {
			.form-contents-submit {
				position: relative;
				input[type="submit"] {
					border: none;
					width: 100%;
					font-size: 1rem;
					background-color: var(--wp--preset--color--custom-main-link);
					color: var(--wp--preset--color--custom-theme-black);
					background-image: var(--icon__send-bk);
					background-repeat: no-repeat;
					background-position: right 1rem center;
					border-radius: calc(4 * var(--rem));
					padding: 1rem 0;
					font-weight: 700;
					cursor: pointer;
					transition: var(--transition__base);
					&:disabled {
						background-color: var(--wp--preset--color--custom-main-disabled);
						background-image: var(--icon__send-wh);
						color: var(--wp--preset--color--custom-main-txt);
						cursor: no-drop;
					}
					&:not(:disabled):hover {
						background-color: var(--wp--preset--color--custom-main-hover);
						background-position: right calc(12 * var(--rem)) center;
					}
				}
				.wpcf7-spinner {
					position: absolute;
					right: 0;
					margin: 1rem;
				}
			}
			.submit-alert {
				text-align: center;
				color: var(--wp--preset--color--custom-theme-accent);
			}
		}
	}
}
/*
* google forms
＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.google-forms-box {
	form {
		.contact-form-wrap {
			.form-item {
				.form-contents-item {
					input[type="text"],
					input[type="email"],
					input[type="tel"],
					textarea {
						border: none;
						padding: calc(8 * var(--rem));
						font-size: 1rem;
						border-radius: calc(4 * var(--rem));
						width: calc(100% - 1rem);
						display: block;
					}
					textarea {
						resize: vertical;
					}
				}
				&#agree-policy {
					.form-info {
						color: var(--wp--preset--color--custom-main-description);
						border: 1px solid var(--wp--preset--color--custom-main-description);
						padding: 1rem;
						border-radius: 1rem;
						p {
							margin-block-start: 0;
						}
					}
					.form-contents-item {
						width: fit-content;
						margin-inline: auto;
						display: flex;
						gap: .5rem;
						input[type="checkbox"] {
							--box-size: calc(24 * var(--rem));
							border: none;
							width: var(--box-size);
							height: var(--box-size);
							margin: 0;
						}
					}
				}
				/*送信ボタン*/
				&#submit-btn {
					position: relative;
					.form-contents-submit {
						margin-block-end: calc(-26 * var(--rem));
						button {
							position: relative;
							border: none;
							width: 100%;
							font-size: 1rem;
							background-color: var(--wp--preset--color--custom-main-link);
							color: var(--wp--preset--color--custom-theme-black);
							background-image: var(--icon__send-bk);
							background-repeat: no-repeat;
							background-position: right 1rem center;
							border-radius: calc(4 * var(--rem));
							padding: 1rem 0;
							font-weight: 700;
							cursor: pointer;
							transition: var(--transition__base);
							&:disabled {
								background-color: var(--wp--preset--color--custom-main-disabled);
								background-image: var(--icon__send-wh);
								color: var(--wp--preset--color--custom-main-txt);
								cursor: no-drop;
							}
							&:not(:disabled):hover {
								background-color: var(--wp--preset--color--custom-main-hover);
								background-position: right calc(12 * var(--rem)) center;
							}
						}
						.form-spinner {
							--icon-size: calc(24* var(--rem));
							visibility: hidden;
							display: inline-block;
							background-color: #23282d;
							opacity: 0.75;
							width: var(--icon-size);
							height: var(--icon-size);
							border: none;
							border-radius: 100%;
							padding: 0;
							margin: 1rem;
							position: absolute;
							right: 0;
							top: 0;
							&::before {
								content: '';
								position: absolute;
								background-color: #fbfbfc;
								top: 4px;
								left: 4px;
								width: 6px;
								height: 6px;
								border: none;
								border-radius: 100%;
								transform-origin: 8px 8px;
								animation-name: spin;
								animation-duration: 1000ms;
								animation-timing-function: linear;
								animation-iteration-count: infinite;
							}
						}
					}
				}
			}
		}
	}
}