@charset "utf-8";
/* CSS Document */

.mb30{
	margin-bottom: 30px;
}

.mb50{
	margin-bottom: 50px;
}

.sp{
	display: none;
}

#contact_top{
	width: 100%;
	padding-top: 100px;
}

#contact_top img{
	width: 100%;
}

.contact-form {
	background: #FDFEE7;
	background: linear-gradient(90deg,rgba(253, 254, 231, 1) 0%, rgba(232, 244, 229, 1) 100%);
	padding-top: 100px;
	padding-bottom: 100px;
}

.form_wrapper{
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.form-mv h1{
	width: 100%;
}

.form-mv h1 img{
	width: 100%;
}

.form_head{
	text-align: center;
}

.form_head h2{
	font-size: 32px;
	margin-bottom: 30px;
}

.form_head p{
	margin-bottom: 50px;
}

.form-row {
	display: flex;
}

.form-label {
	width: 220px;
	background: #e6f3f6;
	padding: 15px;
	font-weight: bold;
	padding-top: 25px;
}

.form-input {
	background-color: #fff;
	flex: 1;
	padding: 15px;
}

.form-input input,
.form-input textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
}

.required {
	background: #4da3d4;
	color: #fff;
	font-size: 12px;
	padding: 2px 6px;
	margin-right: 8px;
	border-radius: 4px;
}

.form-submit {
	text-align: center;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}

.form-submit input{
	display: block;
	background: #006CB8;
	background: linear-gradient(90deg,rgba(0, 108, 184, 1) 0%, rgba(27, 184, 206, 1) 100%);
	text-align: center;
	color: #fff;
	font-size: 18px;
	padding: 20px 60px;
	border: none;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
}

.form-submit input:hover{
	opacity: 0.8;
}

/* CF7の結果メッセージをポップアップ表示 */
.wpcf7-response-output{
  position: fixed;
  left: 50%;
  top: 18%;
  transform: translateX(-50%);
  z-index: 99999;
  width: min(92vw, 720px);
  margin: 0 !important;
  padding: 18px 20px !important;
  border-radius: 12px;
  font-size: 16px;
  line-height: 1.6;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  background: #fff;
}

/* 成功・エラーの見た目を分ける（色は必要なら調整） */
.wpcf7 form.sent .wpcf7-response-output{
  border: 2px solid #2e7d32;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{
  border: 2px solid #c62828;
}

/* 送信結果が出た時だけ“薄い背景”を作る（送った感が出る） */
.wpcf7 form.sent::before,
.wpcf7 form.invalid::before,
.wpcf7 form.failed::before,
.wpcf7 form.aborted::before{
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 99998;
}

/* メッセージが空・未表示の時は邪魔しない */
.wpcf7-response-output:empty{
  display: none !important;
}

.wpcf7-response-output .cf7-msg{
  line-height: 1.8;
}

.wpcf7-response-output .cf7-close{
  display: block;
  width: fit-content;
  margin: 20px auto 0;
  padding: 10px 24px;
  background: #333;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  border: none;
}
.wpcf7-response-output .cf7-close:hover{
  opacity: .85;
}

.wpcf7-response-output {
  text-align: center;
}





@media screen and (max-width: 999px){

.mb30{
	margin-bottom: 20px;
}
	
.mb50{
	margin-bottom: 35px;
}
	
	.pc{
		display: none;
	}
	
	.sp{
		display: block;
	}

#contact_top{
	padding-top: 100px;
}

.contact-form {
	padding-top: 70px;
	padding-bottom: 70px;
}

.form_wrapper{
	width: 92%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.form_head h2{
	font-size: 24px;
	margin-bottom: 30px;
}

.form_head p{
	margin-bottom: 50px;
}

.form-row {
	display: block;
}

.form-label {
	width: 100%;
	padding: 15px;
	font-weight: bold;
	padding-top: 25px;
}

.form-input {
	background-color: #fff;
	flex: 1;
	padding: 15px;
	margin-bottom: 20px;
}

.required {
  background: #4da3d4;
  color: #fff;
  font-size: 12px;
  padding: 2px 6px;
  margin-right: 8px;
  border-radius: 4px;
}

.form-submit {
  text-align: center;
  margin-top: 40px;
}
	
	
	
}