nav ul li a {
  color: #000000;
}

#nav-open span,
#nav-open span:before,
#nav-open span:after {
  background: #000000;
}

.page_contents {
  padding-top: 63px;
  display: block;
}

.pagetitle {
  border-bottom: 1px solid hsla(0, 0%, 78%, 0.5);
  padding: 0;
}

.pagetitle_inner {
  border-bottom: 1px solid #04384c;
  float: left;
  margin-bottom: -1px;
  padding: 0.25em 0.5em;
  display: block;
}
.post_contents {
  padding: 0 16px;
}

.posttitle {
  padding: 0 0.5em 0.5em;
  text-align: left;
  border-bottom: 3px solid #1e73be;
  margin-bottom: 2em;
}

.post_contents p {
  text-align: left;
  margin-bottom: 2em;
}
.m2 {
  margin: 3em 0 2em;
}

.postimg img {
  display: block;
  margin: 0 auto;
  max-width: 200px;
  height: auto;
}

.marking {
  display: inline;
  background: linear-gradient(transparent 64%, #ffddbc 64%);
  text-align: left;
  margin-bottom: 2em;
}

.markingarea {
  text-align: center;
  display: -webkit-box;
}

.check_box {
  position: relative;
  border: 2px solid #7bdc7b;
  padding: 28px 24px;
  margin: 40px 0;
  background: #fff;
}

nav ul li a {
  background: linear-gradient(#000000 0 0) bottom / var(--d, 0) 3px no-repeat;
}

.sp_logotitle a {
  text-decoration: none;
  color: #000;
}

/* 丸いチェック */
.check_box::before {
  content: "✓";
  position: absolute;
  top: -20px;
  left: 14px;
  width: 38px;
  height: 38px;
  background: #7bdc7b;
  color: #fff;
  border-radius: 50%;
  font-size: 28px;
  font-weight: bold;
  line-height: 38px;
  text-align: center;
}

.check_title {
  font-weight: bold;
  margin: 0 0 10px;
}

.check_box p {
  line-height: 1.8;
  margin-bottom: 0;
}

.contact_area {
  max-width: 900px;
  margin: 0 auto;
}

/* 青い見出し帯 */
.contact_heading {
  background: #2276bb;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  padding: 18px 24px;
  margin: 0 0 42px;

  border-top: 3px solid #f5e5b8;
  border-bottom: 3px solid #f5e5b8;
}

/* 下の文章 */
.contact_text {
  padding: 0 18px;
}

.contact_text p {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  line-height: 1.8;
  margin: 0;
}

/* オレンジのマーカー */
.contact_text span {
  display: inline;
  margin-left: 16px;
  background: linear-gradient(transparent 64%, #ffddbc 64%);
}

.mark_yellow {
  display: inline;
  background: linear-gradient(transparent 64%, #ffdc00 64%);
}

/* Contact Form 7 全体 */
#wpcf7-f16-o1 {
  padding: 40px 48px;
  max-width: 980px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* pタグの余白調整 */
#wpcf7-f16-o1 form p {
  margin: 0 0 28px;
}

/* ラベル */
#wpcf7-f16-o1 label {
  display: block;
  font-weight: 700;
  color: #111;
  line-height: 1.7;
}

/* 入力欄の外側 */
#wpcf7-f16-o1 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}

/* テキスト・メール入力欄 */
#wpcf7-f16-o1 input[type="text"],
#wpcf7-f16-o1 input[type="email"] {
  width: 520px;
  max-width: 100%;
  height: 44px;
  padding: 8px 10px;
  border: 1px solid #bbb;
  border-radius: 2px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
}

/* お問い合わせ内容 */
#wpcf7-f16-o1 textarea {
  width: 100%;
  max-width: 100%;
  height: 120px;
  padding: 10px;
  border: 1px solid #bbb;
  border-radius: 2px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
  resize: vertical;
}

/* 送信ボタン */
#wpcf7-f16-o1 input[type="submit"] {
  background: #0073aa;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}

#wpcf7-f16-o1 input[type="submit"]:hover {
  background: #005f8d;
}

/* スピナー位置調整 */
#wpcf7-f16-o1 .wpcf7-spinner {
  vertical-align: middle;
}

/* エラー文 */
#wpcf7-f16-o1 .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 13px;
  color: #d00;
}

/* 送信後メッセージ */
#wpcf7-f16-o1 .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px;
  border-radius: 3px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  #wpcf7-f16-o1 {
    padding: 28px 20px;
  }

  #wpcf7-f16-o1 input[type="text"],
  #wpcf7-f16-o1 input[type="email"],
  #wpcf7-f16-o1 textarea {
    width: 100%;
  }
}

/* 応募フォーム全体 */
#wpcf7-f17-o1,
form[action*="#wpcf7-f17-o1"] {
  box-sizing: border-box;
}

/* 各項目の余白 */
#wpcf7-f17-o1 form p,
form[action*="#wpcf7-f17-o1"] p {
  margin: 0 0 18px;
}

/* ラベル */
#wpcf7-f17-o1 label,
form[action*="#wpcf7-f17-o1"] label {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: #111;
  line-height: 1.6;
  margin-bottom: 5px;
}

/* 必須マークをCSSで追加 */
#wpcf7-f17-o1 p:has(.wpcf7-validates-as-required) > label::after,
form[action*="#wpcf7-f17-o1"]
  p:has(.wpcf7-validates-as-required)
  > label::after {
  content: " *";
  color: #e60000;
}

/* 入力欄の共通デザイン */
#wpcf7-f17-o1 input[type="text"],
#wpcf7-f17-o1 input[type="email"],
#wpcf7-f17-o1 input[type="tel"],
form[action*="#wpcf7-f17-o1"] input[type="text"],
form[action*="#wpcf7-f17-o1"] input[type="email"],
form[action*="#wpcf7-f17-o1"] input[type="tel"] {
  width: 400px;
  height: 40px;
  padding: 3px 6px;
  border: 1px solid #ccc;
  border-radius: 0;
  background: #fff;
  font-size: 12px;
  box-sizing: border-box;
}

/* 住所だけ横長・高さあり */
#wpcf7-f17-o1 input[name="jyuusyo"],
form[action*="#wpcf7-f17-o1"] input[name="jyuusyo"] {
  max-width: 100%;
  width: 400px;
  height: 40px;
}

/* ご質問欄 */
#wpcf7-f17-o1 textarea[name="your-message"],
form[action*="#wpcf7-f17-o1"] textarea[name="your-message"] {
  width: 100%;
  height: 150px;
  min-height: 28px;
  padding: 4px 6px;
  border: 1px solid #ccc;
  border-radius: 0;
  background: #fff;
  font-size: 12px;
  box-sizing: border-box;
  resize: vertical;
}

/* チェックボックスを縦並びに */
#wpcf7-f17-o1 .wpcf7-checkbox,
form[action*="#wpcf7-f17-o1"] .wpcf7-checkbox {
  display: block;
  margin-top: 4px;
}

#wpcf7-f17-o1 .wpcf7-list-item,
form[action*="#wpcf7-f17-o1"] .wpcf7-list-item {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
}

/* チェックボックスの大きさ */
#wpcf7-f17-o1 input[type="checkbox"],
form[action*="#wpcf7-f17-o1"] input[type="checkbox"] {
  width: 12px;
  height: 12px;
  margin: 0 6px 0 0;
  vertical-align: middle;
}

/* チェックボックス横の文字 */
#wpcf7-f17-o1 .wpcf7-list-item-label,
form[action*="#wpcf7-f17-o1"] .wpcf7-list-item-label {
  font-size: 12px;
  vertical-align: middle;
}

/* 送信ボタン */
#wpcf7-f17-o1 input[type="submit"],
form[action*="#wpcf7-f17-o1"] input[type="submit"] {
  background: #0073aa;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}

#wpcf7-f17-o1 input[type="submit"]:hover,
form[action*="#wpcf7-f17-o1"] input[type="submit"]:hover {
  background: #005f8d;
}

/* エラー文 */
#wpcf7-f17-o1 .wpcf7-not-valid-tip,
form[action*="#wpcf7-f17-o1"] .wpcf7-not-valid-tip {
  font-size: 11px;
  margin-top: 4px;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
  #wpcf7-f17-o1 input[type="text"],
  #wpcf7-f17-o1 input[type="email"],
  #wpcf7-f17-o1 input[type="tel"],
  #wpcf7-f17-o1 input[name="jyuusyo"],
  #wpcf7-f17-o1 textarea[name="your-message"],
  form[action*="#wpcf7-f17-o1"] input[type="text"],
  form[action*="#wpcf7-f17-o1"] input[type="email"],
  form[action*="#wpcf7-f17-o1"] input[type="tel"],
  form[action*="#wpcf7-f17-o1"] input[name="jyuusyo"],
  form[action*="#wpcf7-f17-o1"] textarea[name="your-message"] {
    width: 100%;
  }
}
