/*
Theme Name: swell-child
Template: swell
*/

/***********************************************************************
共通設定
************************************************************************/
.width800,
.width880,
.width960,
.width1040,
.width1120,
.width1280 {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.width800 {
  max-width: 800px;
}

.width880 {
  max-width: 880px;
}

.width960 {
  max-width: 960px;
}

.width1040 {
  max-width: 1040px;
}

.width1120 {
  max-width: 1120px;
}

.width1280 {
  max-width: 1280px;
}

@media screen and (min-width: 782px) {

  .width800,
  .width880,
  .width960,
  .width1040,
  .width1120 {
    padding-left: 40px;
    padding-right: 40px;
  }
  
  .width1280 {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* flex
  <div class="flexbox flexbox-col2 flex-">
    <div class="flex-item">

    </div>< !-- .flex-item end -->

    <div class="flex-item">
    </div>< !-- .flex-item end -->
  </div>< !-- .flexbox end -->
*/
.flexbox {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 0rem;
}

.flex-item {
  margin: 0;
}

.flexbox-col2 .flex-item,
.flexbox-col3 .flex-item {
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}

.flexbox-col4 .flex-item {
  -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
}

@media screen and (min-width: 540px) {
  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

@media screen and (min-width: 782px) {
  .flexbox {
    gap: 0rem;
  }

  .flexbox-col2 .flex-item,
  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
  }
}

@media screen and (min-width: 980px) {
  .flexbox {
    gap: 0rem;
  }

  .flexbox-col2 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
  }

  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
    flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
  }
}

/* iframe */
/*
iframeで埋め込むEmbedな動画を画面いっぱいにCSSだけでレスポンシブ対応で表示
*/
.embed-container {
  padding-top: 56.25%;
  position: relative;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Image*/
/*
  CSS だけで画像縦横比を維持したレスポンシブ対応
  <div class="aspect-group">
    <div class="aspect-bgimage" style="background-image: url(画像のURL)"></div>
  </div><!-- .aspect-group end -->
*/
.aspect-group-tate {
  margin: 0 auto;
  max-width: 280px;
  text-align: center;
}

.aspect-bgimage {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  /*padding-top: 62.5%;*/
  /* 8:5(黄金比) */
  /*padding-top: 57.14%;*/
  /* 7:4(白銀比) */
  /*padding-top: 33.33%;*/
  /* 9:3(青銅比) */
  /*padding-top: 75%;*/
  /* 4:3 */
  padding-top: 66.66%;
  /* 3:2 */
  /*padding-top: 56.25%;*/
  /* 16:9 */
  /*padding-top: 50%;*/
  /* 2:1 */
  /*padding-top: 100%;*/
  /* 1:1 */
  width: 100%;
}

.aspect-group-tate .aspect-bgimage {
  padding-top: 150%;
  /* 2:3 */
}

@media screen and (min-width: 540px) {
  .aspect-group-tate {
    max-width: 90%;
  }
}

@media screen and (min-width: 782px) {
  .aspect-group-tate {
    max-width: 80%;
  }
}

@media screen and (min-width: 980px) {
  .aspect-group-tate {
    max-width: 70%;
  }
}

.sp-block {
  display: block;
}

.pc-block {
  display: none;
}

@media screen and (min-width: 540px) {
  .sp-block {
    display: none;
  }

  .pc-block {
    display: block;
  }
}
/***********************************************************************
見出し
************************************************************************/
.post_content h2.custom_h2 {
  background: transparent;
  padding: 16px;
  color: var(--color_htag);
  border-bottom: solid 1px var(--color_htag);
}
.post_content h2.custom_h2::before {
  position: static;
  display: block;
  pointer-events: none;
  content: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  border-top: none;
  border-bottom: none;
}
.post_content h3.custom_h3 {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.4;
  margin: 1.8em 0 1em;
  position: static;
  text-align: center;
  padding: 0;
  color: #367777;
}
/***********************************************************************
トップページ
************************************************************************/
.top #content {
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.top .l-article {
  width: 100%;
  max-width: 100%;
}
.top .post_content {
  padding: 0;
}
.section-top-about,
.section-top-recruit {
  padding: 50px 0;
}
.section-top-menu {
  padding: 50px 0px 0px;
  margin-bottom: 0 !important;
}
.section-top-contact {
  padding: 0px 0 0px;
}
/* ボタン */
.btn {
  margin-top: 24px;
}
.btn a {
  margin: 3.2rem 0 0;
  padding: .6rem 2.4rem;
  display: inline-block;
  min-width: calc(240px - 50px);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
  border: solid 1px #367777;
  background-color: #367777;
  color: #fff;
  border-radius: 50px;
  transition: .4s;
}
.btn a:hover {
  border: solid 1px #367777;
  background-color: #fff;
  color: #367777;
}

/* NEWS */
.p-postSlider__title {
  font-family: "Josefin Sans", serif;
  color: #367777;
  font-size: 300%;
  font-weight: 400;
}

/* ABOUT */
.post_content .flex-item-top-about {
  padding: 24px;
}
.post_content .section-top-about h2 {
  background-color: transparent;
  color: #367777;
  border-bottom: none;
  padding: 0px 0px 16px 0px;
  margin-bottom: 16px;
}
.post_content .section-top-about h2::before,
.post_content .section-top-about h2::after {
  border: none;
}


/* MENU */
@media screen and (min-width: 980px) {
  .section-top-menu .flexbox-col2 .flex-item {
      -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(0px / 6)* 4));
      flex-basis: calc(calc(100% / 2) - calc(calc(0px / 6)* 4));
  }
}
.flex-item-top-menu-bg01 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/01/image-004.jpg);
}
.flex-item-top-menu-bg02 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/01/image-003.jpg);
}
.flex-item-top-menu-bg03 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/01/image-011.jpg);
}
.flex-item-top-menu-bg {
  position: relative;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  height: 420px;
}
.flex-item-top-menu-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: .3s;
  background: rgba(0, 0, 0, 0.6);
}
.flex-item-top-menu-overlay:hover {
  background: rgba(0, 0, 0, 0.4);
}
.flex-item-top-menu-bginner {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 0;
  width: 80%;
  text-align: left;
}
.flex-item-top-menu-bginner p {
  color: #fff;
}
.flex-item-top-menu-bginner p.flex-item-top-menu-title {
  font-size: 24px;
}
.flex-item-top-menu-bginner p.flex-item-top-menu-titleen {
  font-family: "Josefin Sans", serif;
  font-weight: 400;
}

/* RECRUIT */
.post_content .section-top-recruit {
  background-color: #367777;
  text-align: center;
  padding: 100px 0;
  margin-bottom: 0;
}
.post_content .section-top-recruit h2 {
  background-color: transparent;
  color: #fff;
  border-bottom: none;
  padding: 0px 0px 0px 0px;
  margin-bottom: 8px;
  font-family: "Josefin Sans", serif;
  font-size: 2em;
}
.post_content .section-top-recruit h2::before,
.post_content .section-top-recruit h2::after {
  border: none;
}
.post_content .section-top-recruit h3 {
  font-size: 1.1em;
  font-weight: 400;
  margin: 0em 0 1em;
  position: static;
  text-align: center;
  padding: 0;
  color: #fff;
}
.post_content .section-top-recruit p {
  color: #fff;
}
.post_content .section-top-recruit .btn a {
  margin: 3.2rem 0 0;
  padding: .6rem 2.4rem;
  display: inline-block;
  min-width: calc(240px - 50px);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px;
  border: solid 1px #fff;
  background-color: #367777;
  color: #fff;
  border-radius: 50px;
  transition: .4s;
}
.post_content .section-top-recruit .btn a:hover {
  border: solid 1px #367777;
  background-color: #fff;
  color: #367777;
}
/* CONTACT */
@media screen and (min-width: 980px) {
  .section-top-menu-contact .flexbox-col3 .flex-item {
      -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(0px / 6)* 4));
      flex-basis: calc(calc(100% / 3) - calc(calc(0px / 6)* 4));
  }
}
.flex-item-top-menu-contact-bg01 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/05/image-016.jpg);
}
.flex-item-top-menu-contact-bg02 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/05/image-020.jpg);
}
.flex-item-top-menu-contact-bg03 {
  background-image: url(https://tohokaihatsu.com/wp-content/uploads/2025/05/image-018.jpg);
}
.flex-item-top-menu-contact-bg {
  position: relative;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  height: 280px;
}
.flex-item-top-menu-contact-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: .3s;
  background: rgba(0, 0, 0, 0.6);
}
.flex-item-top-menu-contact-overlay:hover {
  background: rgba(0, 0, 0, 0.4);
}
.flex-item-top-menu-contact-bginner {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 0;
  width: 80%;
  text-align: left;
}
.flex-item-top-menu-contact-bginner p {
  color: #fff;
}
.flex-item-top-menu-contact-bginner p.flex-item-top-menu-contact-title {
  font-size: 24px;
}
.flex-item-top-menu-contact-bginner p.flex-item-top-menu-contact-titleen {
  font-family: "Josefin Sans", serif;
  font-weight: 400;
}

/***********************************************************************
フッター
************************************************************************/
.l-footer__foot {
  background-color: #367777;
}
.copyright {
  color: #fff !important;
}
/***********************************************************************
固定ページ 共通
************************************************************************/
.l-content {
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 4em;
}
.l-mainContent__inner>.post_content {
  padding: 0;
}
.p-breadcrumb.-bg-on {
  background-color: #fff;
}
.-body-solid .p-breadcrumb.-bg-on {
  box-shadow: none;
}
/***********************************************************************
固定ページ 会社概要
************************************************************************/
.section-page-about {
  margin-bottom: 100px;
}
.flex-page-point-inner {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding: 40px 16px;
}
.circle_number {
  width: 50px;
  height: 50px;
  padding-top: 13px;
  background-color: #367777;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  margin: 0 auto;
  line-height: 1.4;
}
.post_content .section-page-about h2 {
  margin-bottom: 24px;
  padding-left: 0px;
}
.post_content .section-page-about-point h3.custom_h3 {
  margin: 1.2em 0 1em;
}
.post_content .section-page-about-point h3.custom_h3 span {
  font-size: 18px;
}
/***********************************************************************
固定ページ 代表挨拶
************************************************************************/
.post_content .section-page-message p {
  margin-bottom: 16px;
}
.post_content .message-name {
  text-align: right;
}
@media screen and (min-width: 980px) {
.post_content .section-page-message .aspect-bgimage {
  padding-top: 100%;
}
}
/***********************************************************************
固定ページ 品質基準
************************************************************************/
.post_content .section-page-quality h2 {
  padding-left: 0px;
}
.post_content .flex-page-quality h3.custom_h3 {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.6;
  margin: 1.8em 0 1em;
  position: static;
  text-align: left;
  padding: 30px 0 0;
  color: #367777;
}
.post_content .flex-page-quality p {
  margin-bottom: 24px;
}
.flex-page-quality {
  margin-bottom: 60px;
}
.flex-page-quality-reverse .flex-item:nth-child(1) {
  -webkit-order:1;
  order:1;
}
.flex-page-quality-reverse .flex-item:nth-child(2) {
  -webkit-order:2;
  order:2;
}
@media screen and (min-width: 782px) {
  .flex-page-quality-reverse .flex-item:nth-child(1) {
    -webkit-order:2;
    order:2;
  }
  .flex-page-quality-reverse .flex-item:nth-child(2) {
    -webkit-order:1;
    order:1;
  }
}
.post_content div.flex-page-quality-flow-inner {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding: 32px 24px;
  margin-bottom: 32px !important;
}
.flex-page-quality-flow-inner .circle_number {
  width: 50px;
  height: 50px;
  padding-top: 13px;
  background-color: #367777;
  color: #fff;
  border-radius: 0%;
  text-align: center;
  box-sizing: border-box;
  margin: 0;
  line-height: 1.4;
}
.post_content .flex-page-quality-flow h3.custom_h3 {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.6;
  margin: 1em 0 1em;
  position: static;
  text-align: left;
  padding: 0px 0 0;
  color: #367777;
}

/***********************************************************************
固定ページ 施工実績
************************************************************************/
.works-inner {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding: 30px 24px;
}
.post_content .works-inner h2 {
  background-color: transparent;
  color: #367777;
  border-bottom: solid 1px #367777;
  padding: 0px 0px 16px 0px;
  margin-bottom: 24px;
}
.post_content .works-inner h2::before,
.post_content .works-inner h2::after {
  border: none;
}
.post_content .works-inner ul {
  padding: 0 0.5em;
  position: relative;
}

.post_content .works-inner ul li {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 2em;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
}

.post_content .works-inner ul li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";/*アイコン種類*/
  position: absolute;
  left : 0.5em; /*左端からのアイコンまで*/
  top: 0.6em;
  color: #367777; /*アイコン色*/
  font-weight: bold;
}

.post_content .works-inner ul li:last-of-type {
  border-bottom: none;
}
.works-notice {
  margin-bottom: 24px;
  text-align: center;
}
.works-notice .works-notice-p {
  margin-top: 8px;
  color: #666;
}
.flex-works2 {
  margin-top: 32px;
}
.section-works .flexbox-col2 .flex-item {
  margin-bottom: 24px;
}
@media screen and (min-width: 980px) {
    .section-works .flexbox-col2 .flex-item {
        -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(20px / 4) * 2));
        flex-basis: calc(calc(100% / 2) - calc(calc(20px / 4) * 2));
        margin-bottom: 16px;
    }
}
.works-inner-list a {
  display: block;
  padding: 24px;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border: solid 1px #367777;
  background-color: #367777;
  color: #fff;
  font-weight: bold;
  text-align: center;
  transition: .3;
}
.works-inner-list a:hover {
  background-color: #fff;
  color: #367777;
}
/***********************************************************************
固定ページ 社会貢献活動
************************************************************************/
@media screen and (min-width: 980px) {
  .flex-page-social-contribution-activities-gallery .flex-item {
      -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(10px / 6) * 4));
      flex-basis: calc(calc(100% / 3) - calc(calc(10px / 6) * 4));
  }
}

/***********************************************************************
固定ページ 法人の方はこちら
************************************************************************/
.partner-text {
  padding: 40px 24px;
  border: solid 1px #eee;
  background-color: #fbfbfb;
  margin-bottom: 40px;
}
.partner-text-title {
  padding-bottom: 12px;
  margin-bottom: 12px;
  font-weight: bold;
  border-bottom: solid 1px #e8e8e8;
}
/*=========================================================
 Contact Form7
==========================================================*/
/* Plugins
------------------------------------------------------------ */
/* Contact Form 7 */
/* Table */
@media screen and (min-width: 640px) {
  .wpcf7 table {
    table-layout: fixed;
  }

  .wpcf7 table th {
    width: 35%;
  }
}
.wpcf7 p
{
  font-size: 15px !important;
}
/* Form */
.wpcf7 input,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="password"],
.wpcf7 input[type="search"],
.wpcf7 textarea,
.wpcf7 select {
  margin: 0;
  padding: 0.8rem;
  max-width: 100%;
  width: 100%;
  font-size: 14px !important;
}

.wpcf7 select {
  border-radius: 0;
}
#y-know .wpcf7-list-item {
  display: block;
}
.wpcf7 #y-know input {
  width: auto;
}
.wpcf7 input[type="submit"] {
  margin: 0 auto .4rem;
  padding: 1.6rem 2.4rem;
  min-width: 240px;
  font-size: 100%;
  line-height: 0.2;
  font-weight: bold;
  border-radius: 0;
  border: solid 1px #367777;
  background-color: #367777;
  color: #fff;
}
.wpcf7 input[type="submit"]:hover {
  opacity: .8;
}

/* 必須・任意 */
.required,
.optional {
  margin: 0;
  margin-left: 4px;
  padding: 0.4rem 0.8rem;
  display: inline-block;
  text-align: center;
  font-weight: normal;
  vertical-align: baseline;
  font-size: 85%;
  line-height: 1;
}

/* 必須のカラー */
.required {
  background-color: rgba(202, 92, 98, 1);
  /* #CA5C62 */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* 任意のカラー */
.optional {
  background-color: rgba(72, 185, 74, 1);
  /* #48b94a */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* フォーム入力に関するヒントのテキスト */
.form-hinttext {
  margin: 0;
  padding: 0.4rem 0.4rem 0;
  display: block;
  color: rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 90%;
  line-height: 1.4;
}

/* 必須項目に入力が無いときのinputの下に表示されるエラーメッセージ */
span.wpcf7-not-valid-tip {
  margin-top: 0.4rem;
  padding: 0.4rem 0.8rem;
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
  font-size: 90%;
}

.your-msg .wpcf7-not-valid-tip {
  margin-top: -0.2rem;
}

/* 送信前のご注意 */
.submit-caution {
  margin-bottom: 2.4rem;
  padding: 1.6rem 0rem;
  //background-color: rgba(242, 222, 222, 1);
}

.submit-caution h3 {
  margin-bottom: 0.8rem;
  font-size: 105%;
}

.submit-caution ul {
  margin: 0;
}
.submit-caution a {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .submit-caution ul {
    margin-left: 0rem;
  }
}

/* Checkbox */
.submit-acceptance {
  padding-top: 0.8rem;
  //border-top: dotted 1px rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 100%;
}

.submit-acceptance .wpcf7-form-control-wrap {
  display: block;
}

.submit-acceptance .wpcf7-list-item {
  margin: 0;
}

.submit-acceptance input[type=checkbox] {
  display: none;
}

.submit-acceptance .wpcf7-list-item-label {
  padding-left: 2rem;
  position: relative;
  font-weight: bold;
}

.submit-acceptance .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 1.3rem;
  height: 1.3rem;
  border: 1px solid rgba(153, 153, 153, 1);
  /* #999999 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label {
  color: rgba(17, 17, 17, 1);
  /* #111111 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 7px;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
  border-bottom: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
  border-right: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) デフォルトデザイン*/
.wpcf7 form .wpcf7-response-output {
  margin: 0 auto;
  padding: 0.8rem;
  background-color: rgba(222, 222, 242, 1);
  /* #dedef2 */
  border-color: rgba(191, 191, 227, 1);
  /* #bfbfe3 */
  color: rgba(74, 72, 185, 1);
  /* #4a48b9 */
  font-size: 105%;
}

/* 送信結果のメッセージ文章(送信ボタンの下) エラーの時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) 送信成功の時 */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: rgba(222, 242, 222, 1);
  /* #def2de */
  border-color: rgba(191, 227, 191, 1);
  /* #bfe3bf */
  color: rgba(72, 185, 74, 1);
  /* #48b94a */
}

.wpcf7-spinner {
  visibility: hidden;
  display: block !important;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 24px auto !important;
  position: relative;
  text-align: center;
}
.wpcf7 .required,
.wpcf7 .optional {
  margin: 0 0.4rem 0.4rem 0;
  font-size: 90%;
  line-height: 1;
}

.form-p label {
  font-weight: bold;
}

.wpcf7 .form-p br {
  display: none;
}
.select_wrapper {
  position: relative;
}


.wpcf7 select {
  width: 100% !important;
  max-width: 100% !important;
  -webkit-appearance: none;
  appearance: none;
  padding: 0.8rem !important;
}
.wpcf7 select::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
}

.fileformat ul,
.submit-caution ul {
  list-style: disc;
}
.wpcf7 .submit-acceptance .wpcf7-list-item-label 
{
  line-height: 2.2;
}
.post_content .submit-caution h3
{
  font-size: 20px;
  margin-bottom: 16px;
}
.form-p {
  margin-bottom: 16px;
}
.wpcf7 input[type="submit"] {

}
#autozip {
  display: none !important;
}

/*=========================================================
 フッター
==========================================================*/
.logo-hummer-footer {
  width: 50%;
}