/*--------------------------------------------------------------
# ページビジュアル
--------------------------------------------------------------*/
.page_visual {
  background: url(/assets/img/contact/page_visual.jpg) no-repeat center / cover;
}
/*--------------------------------------------------------------
# サイド
--------------------------------------------------------------*/
@media (min-width: 1200px) {
  .page_contact .page_content_wrap {
    background-image: url(/assets/img/common/side_flower_left.png),url(/assets/img/common/side_flower_right.png);
    background-position: top left, top right;
    background-repeat: repeat-Y;
    background-size: 6%, 7%;
  }
}
/*--------------------------------------------------------------
# イントロ
--------------------------------------------------------------*/
.page_contact .page_intro .inner {
  background-position: right 95% top 5%, right 84% top 17%, left 88% top 86%, left 97% top 97%;
  @media (min-width:768px) {
    background-position: right 94% top 14%, right 90% top 34%, left 93% top 68%, left 97% top 90%;
  }
}
/*--------------------------------------------------------------
# フォーム
--------------------------------------------------------------*/
.form_section {
  padding: 0 0 13rem;
  @media (min-width:768px) {
    padding: 0 0 18.4rem;
  }
}
.input_area .page_intro {
	padding-bottom: 6rem;
	@media (min-width:768px) {
		padding-bottom: 8rem;
	}
}
.input_area dl {
	margin-bottom: 5.6rem;
}
.confirm_area {
  display: none;
}
.confirm_area .block_title {
	text-align: center;
  margin-bottom: 1em;
}
.hissu {
	font-size: 1rem;
	margin-bottom: 1em;
	margin-right: 4px;
	color: #FFF;
	background-color: var(--accent-pink);
	padding: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.form_item {
	@media (min-width:768px) {
		display: flex;
	}

  & dt {
    font-size: clamp( 1.6rem, calc( 1.5142857142857142rem + 0.2380952380952381vw ), 1.8rem );
    @media (min-width:768px) {
      width: 25%;
			padding-top: 0.5em;
    }
    &::before {
      content: "必須";
      font-size: 1.4rem;
      color: #FFF;
      background-color: var(--accent-pink);
      padding: 0 0.5em;
      margin-right: .5em;
      border-radius: 0.4rem;
    }
  }
  dd {
    font-size: clamp( 1.6rem, calc( 1.5142857142857142rem + 0.2380952380952381vw ), 1.8rem );
    width: 100%;
		margin-bottom: 1.5em;
    padding: 0.5em;
    @media (min-width:768px) {
      width: 75%;
			margin-bottom: 0;
    }
  }
}
.form_item input,
.form_item textarea {
	font-size: inherit;
	padding: 0.5em;
	width: 100%;
	border-radius: 0.4rem;
	border: 0.2rem solid #D9D9D9;
}
.form_item input::placeholder,
.form_item textarea::placeholder {
  color: #D9D9D9;
	font-size: inherit;
}
.input_area .error_message {
	color: #ff0000;
}
.btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 5.6rem 0 2em;
	gap: 4%;
	position: relative;

	& input.confirm_button, 
	& input.submit_button {
		display: block;
		color: #fff;
		font-size: var(--fs-normal);
		width: min(48%,30rem);
		min-width: auto;
		background: var(--accent-blue);
		border: 0.2rem solid var(--accent-blue);
		cursor: pointer;
		transition-duration: 0.4s;

		&:hover {
			color: var(--accent-blue);
		}
	}
	& input.back_button {
		display: block;
		font-size: var(--fs-normal);
		width: min(48%,30rem);
		min-width: auto;
		background: #D9D9D9;
		border: 0.2rem solid #D9D9D9;
		cursor: pointer;
		transition-duration: 0.4s;

		&:hover {
			color: var(--fc-base);
			border-color: currentColor
		}
	}
	.wpcf7-spinner {
		position: absolute;
		top: 110%;
	}
}
