@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.post_content {
	h2 {
		color: #000000;
	}
}

/* コンタクトフォーム */
/* コンテナ全体 */
.wpcf7-form {
  max-width: 500px;
  margin: 2em auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 18px rgba(0,0,0,0.06);
  padding: 32px 24px 28px 24px;
}

/* ラベル */
.wpcf7-form label {
  font-size: 1.07em;
  font-weight: bold;
  margin-bottom: 7px;
  display: block;
  color: #262626;
  letter-spacing: 0.02em;
}

/* 入力欄・テキストエリア */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  padding: 11px 14px 11px 14px;
  border: 1.5px solid #dcdcdc;
  border-radius: 8px;
  font-size: 1em;
  background: #f9f9f9;
  box-sizing: border-box;
  transition: border-color .2s, background .2s;
  margin-bottom: 19px;
  color: #333;
  resize: vertical;
}

/* フォーカス時 */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: #1976d2;
  background: #fff;
  outline: none;
}

/* 必須マーク */
.wpcf7-form .wpcf7-required {
  color: #e24d3b;
  margin-right: 2px;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"] {
  width: 100%;
  background: linear-gradient(90deg, #1976d2 0%, #1da9c5 100%);
  color: #fff;
  padding: 12px 18px;
  border: none;
  border-radius: 8px;
  font-size: 1.12em;
  font-weight: bold;
  box-shadow: 0 2px 6px rgba(30,60,150,0.07);
  transition: background .15s;
  cursor: pointer;
  margin-top: 12px;
  letter-spacing: 0.04em;
}

.wpcf7-form input[type="submit"]:hover {
  background: linear-gradient(90deg, #1555a7 0%, #0196bb 100%);
}

/* 確認・送信完了メッセージ */
.wpcf7-response-output {
  border-radius: 8px;
  color: #1976d2;
  background: #f4f9fd;
  border: 1px solid #b5dde7;
  padding: 14px 16px;
  margin-top: 20px;
  text-align: center;
  font-size: 1.05em;
}

/* エラーメッセージ */
span.wpcf7-not-valid-tip {
  color: #e24d3b;
  font-size: 0.97em;
  margin-top: 2px;
  margin-bottom: 6px;
  display: block;
}

/* モバイル対応 */
@media (max-width: 599px) {
  .wpcf7-form {
    padding: 19px 7vw;
  }
	
	/* Contact Form 7 承諾確認チェックボックス表示最適化 */
.wpcf7-form .wpcf7-acceptance,
.wpcf7-form .wpcf7-acceptance span {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  accent-color: #1976d2; /* チェック色 modern browser対応 */
  border-radius: 4px;
  border: 1.5px solid #dcdcdc;
  vertical-align: middle;
}

/* チェックボックス横のラベル */
.wpcf7-form .wpcf7-acceptance-label {
  font-size: 1em;
  color: #444;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
}

/* エラー(未承認時) */
.wpcf7-form .wpcf7-acceptance .wpcf7-not-valid-tip {
  color: #e24d3b;
  font-size: 0.97em;
  margin-left: 6px;
}
}
