@charset "UTF-8";
/*--- import -------------------------------------*/
/*------------------------------------- import ---*/
.box_in {
  max-width: 960px; }

.mv {
  background: url("../images/contaxt/mv_img.jpg") no-repeat;
  background-size: cover; }

@media screen and (max-width: 750px) {
  .mv {
    background: url("../images/contaxt/mv_img.jpg") no-repeat;
    background-size: cover; } }
#contact_form .box_in .intro_txt {
  text-align: left;
  background: #f2f2f2;
  padding: 20px; }
  #contact_form .box_in .intro_txt a {
    color: red;
    text-decoration: underline; }
#contact_form .box_in .tel_area {
  margin-top: 60px; }
  @media screen and (max-width: 480px) {
    #contact_form .box_in .tel_area {
      margin-top: 40px; } }
#contact_form .box_in .form_area {
  margin-top: 60px; }
  @media screen and (max-width: 480px) {
    #contact_form .box_in .form_area {
      margin-top: 40px; } }
#contact_form .box_in h3 {
  color: #2e9648;
  font-size: 22px;
  padding: 20px 0;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede; }
#contact_form .box_in #mailformpro {
  padding: 0; }
  #contact_form .box_in #mailformpro .mailform {
    width: 100%; }
    #contact_form .box_in #mailformpro .mailform ul {
      display: flex;
      border-top: solid 1px #ccc; }
      #contact_form .box_in #mailformpro .mailform ul:first-child {
        border-top: none; }
      #contact_form .box_in #mailformpro .mailform ul .ttl {
        margin: 0;
        text-align: left;
        font-weight: bold;
        width: 30%;
        padding: 30px 1em; }
      #contact_form .box_in #mailformpro .mailform ul .con {
        padding: 30px 1em;
        line-height: 1.5em;
        text-align: left;
        width: 80%;
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        #contact_form .box_in #mailformpro .mailform ul .con input {
          width: 100%; }
        #contact_form .box_in #mailformpro .mailform ul .con .adress_area input {
          width: 100% !important; }
        #contact_form .box_in #mailformpro .mailform ul .con .kome {
          display: block;
          width: 100%; }
    #contact_form .box_in #mailformpro .mailform .post_area .post_num {
      width: 100%; }
      #contact_form .box_in #mailformpro .mailform .post_area .post_num input {
        max-width: 150px;
        width: 100%; }
    #contact_form .box_in #mailformpro .mailform .post_area .adress_area {
      margin-top: 20px;
      width: 100%; }
@media screen and (max-width: 960px) {
  #contact_form .box_in #mailformpro .mailform ul {
    display: block; }
    #contact_form .box_in #mailformpro .mailform ul:first-child {
      border-top: none; }
    #contact_form .box_in #mailformpro .mailform ul .ttl {
      width: 100%;
      padding: 15px 1em 0; }
    #contact_form .box_in #mailformpro .mailform ul .con {
      padding: 1em;
      line-height: 1.5em;
      width: 100%; } }

@media screen and (max-width: 750px) {
  #contact_form {
    padding-top: 0vw;
    padding-bottom: 12vw; }
    #contact_form .box_in {
      margin-top: 10vw; }
      #contact_form .box_in #mailformpro .mailform {
        margin-top: 4vw; }
        #contact_form .box_in #mailformpro .mailform ul .con {
          padding: 1em 0.5em; } }
textarea {
  margin-top: 20px; }

select {
  max-width: 350px;
  width: 100%; }

.need {
  position: relative; }
  .need:after {
    content: '必須';
    background: #e00000;
    color: #fff;
    font-size: 13px;
    display: inline-block;
    padding: 0px 15px;
    position: absolute;
    right: 10px;
    font-weight: bold; }
  @media screen and (max-width: 960px) {
    .need:after {
      position: relative;
      right: auto;
      left: 10px; } }

.mail_confirm {
  margin-bottom: 5px; }

.kome {
  margin-top: 5px;
  font-size: 16px; }
  @media screen and (max-width: 750px) {
    .kome {
      font-size: 0.8rem; } }

.contact_box {
  text-align: center;
  margin-top: 20px;
  display: block; }
  .contact_box .tel_box {
    font-weight: bold;
    font-size: 33px;
    line-height: 1; }
    .contact_box .tel_box .num {
      font-size: 63px; }
  .contact_box .p1 {
    margin-top: 10px;
    background: #f2f2f2;
    padding: 20px;
    font-size: 14px;
    font-weight: bold; }

@media screen and (max-width: 750px) {
  .contact_box {
    padding: 20px; }
    .contact_box .tel_box {
      font-size: 28px; }
      .contact_box .tel_box .num {
        letter-spacing: 0;
        font-size: 48px; }
    .contact_box .p1 {
      margin-top: 10px; } }
@media screen and (max-width: 480px) {
  .contact_box {
    margin-top: 20px;
    padding: 20px 10px; }
    .contact_box .tel_box {
      font-size: 28px; }
      .contact_box .tel_box .num {
        font-size: 32px; }
    .contact_box .p1 {
      padding: 20px 10px;
      letter-spacing: 0;
      font-size: 14px; } }
