.sec50{
    position: relative;
    width: 100%;
    height: 50vh;
}
.sec50 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec50 h4{
    position: absolute;
    font-size: 30px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/* sec51 */
.sec51 {
    max-width: 1000px;
    margin: 0 auto;
    color: #000;
    padding: 50px 15px;
}
.sec51>h5{
    color: #fff;
    font-size: 20px;
    text-align: center;
}
.wpcf7-not-valid-tip {
    font-size: 12px;
    background-color: #e5e5e5;
}

.wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
}

/************************************
** お問い合わせフォームの入力
************************************/
/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:100%;
	margin:0 auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr{
    border-top: 5px solid #e5e5e5;
    background-color: #fff;
}
table.CF7_table tr td{
    background-color: #fff;
    width: 100%;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
    border: 1px solid #d8d8d8;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #0000ff;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
    padding-left: 10px;
    text-align: left;
    vertical-align: middle;
    width:30%;/*横幅*/
    color: #000;
	background-color:#e5e5e5;/*ブルーグレー*/
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:100%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
    background-color:#e5e5e5;
    color: #000;
    text-align: left;
    padding-left: 10px;
    box-sizing: border-box;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#0000ff;
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
    margin:0 auto;
    padding: 5px 20px;
    border-radius: 25px;
    cursor: pointer;
}

.CF7_btn{
	text-align:center;
	margin:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

@media screen and (max-width: 580px){
    .sec51 h4 {
        font-size: 29px;
    }
}

/* チェックボックス横並び＆テキスト整列 */
.CF7_table .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 5px;
}

.CF7_table .wpcf7-checkbox label {
  display: flex;
  align-items: center;
  padding: 4px 10px;
  background-color: #f5f5f5;
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.4;
  transition: background-color 0.2s;
}

.CF7_table .wpcf7-checkbox label:hover {
  background-color: #e0e0e0;
}

.CF7_table .wpcf7-checkbox input[type="checkbox"] {
  margin-right: 6px;
  width: 16px;
  height: 16px;
}

.CF7_table select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}

.sec51_content{
	color: #fff;
    text-align: center;
    margin: 20px 0;
    line-height: 20px;
}

.sec51 .wpcf7-response-output{
    color: #fff;
}