@charset "UTF-8";

/* -----------------------------------------------
mv
----------------------------------------------- */
.mv__wrap {
  position: relative;
}
.mv__wrap::after {
  content: "";
  background: url(../images/common/mv_mask.svg) 50% 100% / contain no-repeat;
  display: block;
  position: absolute;
  bottom: -1px;
}
.mv__inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mv__inner .mv__cap {
  color: #fff;
}
.mv__inner .mv__cap h1 {
  font-weight: normal;
  text-shadow: 0px 0px 5px rgba(0,0,0,1),0px 0px 10px rgba(0,0,0,1);
}

@media (max-width: 767px) {
  .mv__wrap {
    aspect-ratio: 750 / 360;
    background: url(../images/common/contact_mv_sp.jpg) 50% 0 / cover no-repeat;
    width: 100%;
    height: auto;
  }
  .mv__wrap::after {
    aspect-ratio: 250 / 30;
    width: 66.67%;
    right: -17%;
  }
  .mv__inner {
    width: 84%;
    height: 100%;
    margin: 0 auto;
  }
  .mv__inner .mv__cap h1 {
    font-size: min(calc(var(--vw) * 22px),22px);
    letter-spacing: .05em;
    line-height: 1.66;
  }
  
}
@media (min-width: 768px) {
  .mv__wrap {
    aspect-ratio: 1440 / 360;
    background: url(../images/common/contact_mv_pc.jpg) 50% 0 / cover no-repeat;
    width: 100%;
    height: auto;
  }
  .mv__wrap::after {
    aspect-ratio: 824 / 102;
    max-width: 824px;
    width: 57.23%;
    right: -17%;
  }
  .mv__inner {
    width: 91.12%;
    height: 100%;
    margin: 0 auto;
  }
  .mv__inner .mv__cap h1 {
    font-size: 38px;
    letter-spacing: .1em;
  }

}

.bg__wrap {
  background: #FBFAF5;
}


/* -----------------------------------------------
contact__cap
----------------------------------------------- */
.contact__cap {
  text-align: center;
}
.contact__cap p a {
  text-decoration: underline;
}

@media (max-width: 767px) {
 
  .contact__cap {
    margin-bottom: 40px;
  }
  .contact__cap p {
    font-size: min(calc(var(--vw) * 14px),14px);
    line-height: 2.14;
    letter-spacing: 0;
  }

}
@media (min-width: 768px) {

  .contact__cap {
    margin-bottom: 58px;
  }
  .contact__cap p {
    font-size: 16px;
    line-height: 2.5;
  }

}



/* -----------------------------------------------
form
----------------------------------------------- */
.form__wrap {
  margin-inline: auto;
}
.mfp_buttons {
  text-align: center;
}
.mfp_buttons button {
  background: #3A7322;
  border-radius: 50vh;
  color: #fff;
  text-align: center;
  position: relative;
  display: inline-block;
  border: 0;
}
.mfp_buttons button::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  background: #fff;
  width: 1em;
  height: 2px;
}
.form__item.req > label:after {
  content: '必須';
  color: #fff;
  background: #3A7322;
  border-radius: 50vh;
  display: inline-block;
}
.form__item:not(.req) > label:after {
  content: '任意';
  color: #fff;
  background: #AAAAAA;
  border-radius: 50vh;
  display: inline-block;
}
.mfp_buttons button {
  text-shadow: none;
}
.mfp_buttons button:hover {
  background: #3A7322;
}

@media (max-width: 767px) {
  .bg__wrap {
    position: relative;
  }
  .bg__wrap:before {
    content: "";
    background: #FBFAF5;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  form {
    padding: 30px 0px !important;
    position: relative;
  }
  .form__wrap {
    max-width: 1000px;
  }
  .form__wrap .form__item {
    margin-bottom: 20px;
  }
  .form__wrap .form__item:not(.check__row) {
    border-bottom: 1px solid #97A791;
  }
  .form__item > label {
    margin: 0 !important;
  }
  .form__wrap .form__item > label {
    font-size: min(calc(var(--vw) * 16px),16px);
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    margin: 0;
    padding-inline: 3%;
  }
  .form__wrap .form__item:not(.check__row) > label {
    padding-block: 8px;
  }
  .form__wrap .form__item.check__row > label {
    padding-top: .25em;
  }
  .form__item > label:after {
    font-size: min(calc(var(--vw) * 14px),14px);
    line-height: 32px;
    padding-inline: 1.44em;
    margin-left: 1em;
  }
  .form__wrap .form__item .input {
    flex: 1;
    font-size: min(calc(var(--vw) * 16px),16px);
    margin-bottom: 20px;
  }
  .form__item .input input[type=text],
  .form__item .input input[type=email],
  .form__item .input input[type=tel],
  .form__item .input textarea {
    font-size: min(calc(var(--vw) * 16px),16px);
    padding: 0 .5em;
    width: 100%;
    height: 3em;
    border: 0;
  }
  .form__item .input select {
    height: 65px;
    padding: 0 2em;
    font-size: min(calc(var(--vw) * 16px),16px);
  }
  .form__item .input textarea {
    width: 100% !important;
    min-height: 255px;
    padding: 1em 2em;
  }

  ul.check__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    line-height: 1;
  }
  ul.check__list li {
    margin-right: 1em;
  }
  .form__item.check__row {
    text-align: center;
  }
  .form__item.check__row a {
    text-decoration: underline;
  }

  .check__list input[type=radio],
  .check__list input[type=checkbox] {
    display: none;
  }
  .check__list label {
    cursor: pointer;
    padding-left: 2em;
    position: relative;
  }
  .check__list label::before,
  .check__list label::after {
    content: "";
    display: block;
    position: absolute;
  }
  .check__list label::before {
    border: 1px solid #aaa;
    background-color: #fff;
    border-radius: 50vh;
    width: 1.5em;
    height: auto;
    aspect-ratio: 1 / 1;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
  }
  .check__list label::after {
    opacity: 0;
    aspect-ratio: 1 / 1;
    background: #000;
    border-radius: 50vh;
    width: 1em;
    height: auto;
    top: calc(50% - 0.5em);
    left: .25em;
  }
  .check__list input:checked + label::after,
  .check__list input:checked + * + label::after {
    opacity: 1;
  }
  .check__list label span {
    line-height: 2.29em;
  }
  .check__list li:last-child > div  {
    margin-top: 1em;
  }

  div#mfp_phase_confirm h4 {
    font-size: 3rem;
  }
  #mfp_thanks {
    font-size: 1.6em;
  }
  div.mfp_err {
    background-position: 0px 50%;
  }


 .mfp_buttons button {
    font-size: min(calc(var(--vw) * 16px),16px);
    line-height: 3;
    padding: 0 2.24em;
  }

}

@media (min-width: 768px) {

  form {
    padding: 52px 0px !important;
  }
  .form__wrap {
    max-width: 1000px;
  }
  .form__wrap .form__item {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .form__wrap .form__item:not(.check__row) {
    border-bottom: 1px solid #97A791;
  }
  .form__item > label {
    margin: 0 !important;
  }
  .form__wrap .form__item > label {
    width: 28.57%;
    font-size: 18px;
    display: -webkit-flex !important;
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin: 0;
  }
  .form__wrap .form__item:not(.check__row) > label {
    padding-block: 8px 0;
  }
  .form__wrap .form__item.check__row > label {
    padding-top: .25em;
  }
  .form__item > label:after {
    font-size: 16px;
    line-height: 32px;
    padding-inline: 1.44em;
    margin-right: 1em;
  }
  .form__wrap .form__item .input {
    flex: 1;
    font-size: 16px;
    margin-bottom: 20px;
  }
  .form__item .input input[type=text],
  .form__item .input input[type=email],
  .form__item .input input[type=tel],
  .form__item .input textarea {
    font-size: 16px;
    padding: 0 2em;
    width: 100%;
    height: 48px;
    border: 0;
  }
  .form__item .input select {
    height: 65px;
    padding: 0 2em;
    font-size: 16px;
  }
  .form__item .input textarea {
    width: 100% !important;
    min-height: 255px;
    padding: 1em 2em;
  }

  ul.check__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    line-height: 1;
  }
  ul.check__list li {
    margin-right: 1em;
  }
  .form__item.check__row {
    text-align: center;
  }
  .form__item.check__row a {
    text-decoration: underline;
  }

  .check__list input[type=radio],
  .check__list input[type=checkbox] {
    display: none;
  }
  .check__list label {
    cursor: pointer;
    padding-left: 2em;
    position: relative;
    display: inline-block;
  }
  .check__list label::before,
  .check__list label::after {
    content: "";
    display: block;
    position: absolute;
  }
  .check__list label::before {
    border: 1px solid #aaa;
    background-color: #fff;
    border-radius: 50vh;
    width: 1.5em;
    height: auto;
    aspect-ratio: 1 / 1;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
  }
  .check__list label::after {
    opacity: 0;
    aspect-ratio: 1 / 1;
    background: #000;
    border-radius: 50vh;
    width: 1em;
    height: auto;
    top: calc(50% - 0.5em);
    left: .25em;
  }
  .check__list input:checked + label::after,
  .check__list input:checked + * + label::after {
    opacity: 1;
  }
  .check__list label span {
    line-height: 2.29em;
  }
  .check__list li:last-child > div  {
    margin-top: 1em;
  }

  div#mfp_phase_confirm h4 {
    font-size: 3rem;
  }
  #mfp_thanks {
    font-size: 1.6em;
  }
  div.mfp_err {
    background-position: 0px 50%;
  }
  .mfp_buttons button {
    font-size: 16px;
    line-height: 48px;
    padding: 0 2.5em;
  }

}


.thanks .mfp_thanks  {
  text-align: center;
}
.thanks .mfp_thanks > p {
  margin-bottom: 1em;
}

/*

<div class="thanks">
          <div class="mfp_thanks">
            <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/assets/form/mfp.statics/thanks.js"></script>
            <p>ご記入いただいた情報は無事送信されました。<br>確認のため、自動返信メールをお送りいたしました。</p>
            <dl>
              <dt>佐々木木材防腐株式会社</dt>
              <dd>群馬県前橋市下大島町577-2番地<br>
                TEL / 027-266-1324 <br class="sp__only">FAX / 027-266-1180<br>
              </dd>
            </dl>

          </div>
*/