@charset "UTF-8";
/* ============================
ナローコンテンツ用
============================ */
/* ----- フォーム関連 ----- */
.text-reqired {
  color: var(--c-text-alert);
  margin-block-end: var(--space-2);
  font-weight: 500;
  font-size: 0.833rem;
}

:where(input, select, textarea):focus-visible {
  outline: 2px solid var(--c-primary);
  border-color: var(--c-primary);
}

.form-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-0_5);
}

.consent-field {
  margin-block: var(--space-3);
}

.consent-field .form-legend {
  margin-bottom: 0.5em;
}

.consent-field .consent * {
  font-size: 1rem;
  cursor: pointer;
}

.consent-field .wpcf7-list-item {
  margin: 0;
}

label {
  display: inline-flex;
  font-weight: 700;
  font-size: 0.833rem;
  gap: var(--space-0_5);
}

.form-reqired {
  color: var(--c-text-alert);
}

input[type="text"],
input[type="tel"],
input[type="email"] {
  padding: var(--space-1_5);
  font-size: 1rem;
  width: 100%;
  border: 1px solid var(--c-border-dark);
  border-radius: var(--radius-md);
  background-color: var(--c-bg-lightgray);
}

input[type="text"].wpcf7-not-valid,
input[type="tel"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid {
  border-color: var(--c-text-alert);
  background-color: var(--c-bg-alert);
}

/* ----- フォーム項目のアラート表示 ----- */
.wpcf7-not-valid .wpcf7-list-item-label {
  color: var(--c-text-alert);
}

textarea {
  width: 100%;
  padding: var(--space-1_5);
  border: 1px solid var(--c-border-dark);
  border-radius: var(--radius-md);
  font-size: 1rem;
}

textarea.wpcf7-not-valid {
  border-color: var(--c-text-alert);
  background-color: var(--c-bg-alert);
}

.form-row + .form-row {
  margin-top: clamp(var(--space-2), 1.6666666667vw, var(--space-3));
}

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: var(--space-1) 2.5em var(--space-1) var(--space-1);
  background: none;
  width: 100%;
  font-size: 1rem;
  border: 1px solid var(--c-border-dark);
  border-radius: var(--radius-md);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%2318191B' d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem auto;
  line-height: 1.5;
}

.form-select.wpcf7-not-valid {
  border: 1px solid var(--c-text-alert);
  border-width: 2px;
}

.wpcf7-not-valid-tip {
  color: var(--c-text-alert);
  font-size: 0.833rem;
}

.required {
  color: var(--c-text-alert);
  background-color: var(--c-bg-alert);
  display: inline-block;
  padding: 1px 4px;
  font-size: 0.694rem;
  text-align: center;
  border-radius: var(--radius-sm);
}

.form-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: clamp(var(--space-3), 3.8888888889vw, var(--space-7));
}

input[type="submit"] {
  font-size: clamp(1rem, 1.3333333333vw, 1.2rem);
  padding-block: clamp(var(--space-2), 1.6vw, var(--space-3));
  padding-inline: clamp(var(--space-3), 3vw, var(--space-5));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  border-radius: var(--space-5);
  background: var(--c-primary);
  color: #fff;
  font-weight: 700;
  outline: none;
  border: none;
  width: min(340px, 100% - var(--space-4));
  transition: filter var(--transition-normal);
}

input[type="submit"]:hover {
  filter: brightness(1.06) saturate(1.05);
}

.wpcf7-spinner {
  display: block;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: var(--c-bg-alert);
  color: var(--c-text-alert);
  border-color: var(--c-bg-alert);
  font-weight: 500;
}
.bl_recaptcha {
	text-align: center;
	font-size: .875rem;
	margin: 35px 0 0;
}
.bl_recaptcha a {
    margin: 0 5px;
    border-bottom: 1px solid #00a1e9;
    color: #00a1e9;
	padding-bottom: 2px;
}
.bl_recaptcha a:hover {
    border-bottom: 1px solid #005bac;
    color: #005bac;
}
@media screen and (max-width: 767px) {
	.bl_recaptcha {
		text-align: left;
	}
}
/* ----- フォーム確認画面 ----- */
div#wpcf7cpcnf table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

div#wpcf7cpcnf tr {
  display: block;
  padding: 0.875rem 0;
  border-top: 1px solid var(--c-border-light);
}

div#wpcf7cpcnf tr:first-child {
  border-top: 0;
}

div#wpcf7cpcnf th,
div#wpcf7cpcnf td {
  display: block;
  padding: 0;
  text-align: left;
  line-height: 1.6;
}

div#wpcf7cpcnf th {
  font-weight: 700;
  color: var(--c-text-dark);
  margin-bottom: var(--space-1_5);
  font-size: 0.833rem;
}

div#wpcf7cpcnf td {
  color: var(--c-text-dark);
  word-break: break-word;
}

div#wpcf7cpcnf .wpcf7cp-btns {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 1.25rem;
}

.wpcf7cp-btns button {
  cursor: pointer;
  margin: 0;
  padding-block: clamp(var(--space-2), 1.6vw, var(--space-3));
  padding-inline: clamp(var(--space-3), 3vw, var(--space-5));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--transition-normal);
  font-size: clamp(0.875rem, 1.3333333333vw, 1.2rem);
}

button.wpcf7cp-cfm-edit-btn {
  border: 0;
  background: transparent;
  position: relative;
  display: block;
}

button.wpcf7cp-cfm-edit-btn::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentcolor;
  border-left: 2px solid currentcolor;
  transform: rotate(-45deg);
  margin-right: 0.5em;
  vertical-align: middle;
}

button.wpcf7cp-cfm-edit-btn:hover {
  opacity: 0.7;
}

button.wpcf7cp-cfm-edit-btn:hover::before {
  opacity: 0.7;
}

.wpcf7cp-cfm-submit-btn {
  border-radius: var(--space-5);
  background: var(--c-primary);
  color: #fff;
  font-weight: 700;
  outline: none;
  border: none;
  transition: opacity var(--transition-normal);
}

.wpcf7cp-cfm-submit-btn:hover {
  filter: brightness(1.06) saturate(1.05);
}

.wpcf7 form.sent .wpcf7-response-output {
  border: none;
  background-color: var(--c-bg-form-sent);
  color: var(--c-text-form-sent);
}

/* ----- フォーム同業他社向け注意文言 ----- */
.form_disclaimer {
  font-size: clamp(0.875rem, 1.1111111111vw, 1rem);
  color: var(--c-text-alert);
  margin-bottom: var(--space-2);
  background-color: var(--c-bg-alert);
  padding: var(--space-1) var(--space-2);
}

/* ----- 404ページ用の指定 ----- */
.error-title-wrapper {
  text-align: center;
  margin-block-end: clamp(var(--space-3), 4.4444444444vw, var(--space-8));
}

.error-title-wrapper .text-404 {
  font-size: clamp(2rem, 3.8888888889vw, 3.5rem);
  line-height: 1;
  font-family: var(--font-en);
  color: var(--c-primary);
}

.error-title-wrapper .text-large {
  font-size: clamp(6rem, 11.1111111111vw, 10rem);
  line-height: 1;
}

.error-text-container p + p {
  margin-top: 1em;
}
