@charset "utf-8";
.contact-inner {
    max-width: 800px;
    margin: auto;
    background: #fff;
    padding: 30px 5%;
    display: block;
}
.contact-number {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 100%;
    align-items: flex-end;
}
.botnav_plate{
  width: 145px;
  margin: 20px auto;
  display: flex;
  justify-content: center;
  color: #fff;
}
a.botnav_plate:visited,a.botnav_plate:link{
  color: #fff;
}
.botnav_plate::after {
    position: absolute;
}
.con_bottext1 , .con_bottext2 {
    margin: 25px 0 0;
}
.pc-header {
    display: flex;
    justify-content: flex-start;
    padding: 20px 3%;
    margin: auto;
}
.mainvisual {
    background: url("../../common/img/mv-contact.png")  no-repeat center bottom;
	background-size:  cover;
}
.page-pankuzu {
    margin: 0 auto 30px;
    font-size: 1.4rem;
}
.pc_header {
    position: absolute;
    top: 0;
}
.ft_main {
    display: flex;
    justify-content: flex-start;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
input[type="text"], input[type="email"], input[type="password"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* for focus animation */
  -webkit-transition: all .3s;
  transition: all .3s;
  border-radius: 2px;
  border: 1px solid #ccc;
  padding: 5px;
    box-sizing: border-box;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, textarea:focus {
  box-shadow: 0 0 7px #aaaaff;
    box-sizing: border-box;
}
select {
  padding: 5px;
  border: 1px solid #ccc;
}
input[type="submit"], button {
    border-radius: 5px;
    background: #3eb034;
    padding: 20px 0px;
    color: #fff;
    width: 150px;
    font-weight: bold;
    margin: 10px 35px;
}
input.return{
  background: #cbcbcb;
}
input[type="reset"] {
    border-radius: 5px;
    background: #ffffff;
    padding: 20px 0px;
    color: #000;
    width: 150px;
    font-weight: bold;
    margin: 10px 35px;
}
input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
    opacity: .8;
}
input[type="submit"]:active, input[type="reset"]:active, button:active {
}


.msgarea {
  color:#ff0000;
  margin: 20px 0px;
  padding: 10px 20px 10px 20px;
}
p.errmsg {
  color:#ff0000;
  margin:0px;
}

.flow_img {
    text-align: center;
}
.indent {
    text-indent: -1.5em;
    padding-left: 1.5em;
}

.btn_box {
    display: flex;
    flex-wrap: wrap;
    margin: 50px auto 0;
    justify-content: center;
    align-items: center;
    background: #F2F2F2;
    padding: 30px 5%;
    max-width: 500px;
}
.btn_midashi {
    width: 100%;
    margin-bottom: 15px;
}
p.cont_text.center {
    margin: 50px 0;
}
a.under_line {
    color: #fff;
    padding: 10px 30px;
    background: #3eb034;
}
a.ul_link {
    border-radius: 5px;
    background: #3eb034;
    padding: 10px 20px;
    color: #fff;
    width: 150px;
    font-weight: bold;
    margin: 40px auto 0;
}

.w_all {width: 100%;}
.w_full {width: 75%;}
.w_half {width: 50%;}
.w_25pc {width: 25%;}

.mt20{
    margin-top: 20px;
}
.mt30{
    margin-top: 30px;
}
.mt45{
    margin-top: 45px;
}
.mt90{
    margin-top: 90px;
}
.required {
    color: red;
}




@media screen and (min-width: 767px) {
.root-container {
    max-width: 1024px;
    width: 100%;
    padding: 50px 5%;
    margin: auto;
    background: #fff;
    box-sizing: border-box;
}
  .form-element-container {
    display: table;
    width: 100%;
    margin: 20px auto 0;
    border-top: 2px solid #3eb034;
    border-bottom: 2px solid #3eb034;
}
  .form-field-input-pair {
    display: table-row;
  }
.form-field {
    display: table-cell;
    width: 240px;
    padding: 20px 10px;
    vertical-align: middle;
    border-bottom: 1px solid #3eb034;
    box-sizing: border-box;
    background: #F2F2F2;
}
  .form-input {
    display: table-cell;
    padding: 15px 10px;
    border-bottom: 1px solid #3eb034;
    box-sizing: border-box;
    vertical-align: middle;
}
  .form-input p {
    margin: 5px 0;
  }
}


@media screen and (max-width: 767px) {
.pc-header {
    display: none;
}
.root-container {
    width: 90%;
    margin: auto;
    background: #fff;
    padding: 20px 0;
    box-sizing: border-box;
}
.num_row {
    flex-direction: column;
    font-size: 2.4rem;
    margin-top: 15px;
}
.cont_midashi {
    font-size: 7vw;
}
  .form-element-container {
    border-top: 1px solid #3eb034;
}
  .form-field-input-pair {
  }
  .form-field {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    background: #F2F2F2;
}
  .form-input {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #3eb034;
    box-sizing: border-box;
}
	.ft_main {
    display: flex;
    justify-content: space-around;
}
}


@media print {
.root-container {
    max-width: 1024px;
    width: 100%;
    padding: 50px 5%;
    margin: auto;
    background: #fff;
    box-sizing: border-box;
}
  .form-element-container {
    display: table;
    width: 100%;
    margin: 20px auto 0;	/* 中央寄せ */
    border-top: 1px solid #161B59;
  }
  .form-field-input-pair {
    display: table-row;
  }
  .form-field {
    display: table-cell;
    width: 240px;
    padding: 20px 10px;
    vertical-align: middle;
    border-bottom: 1px solid #161B59;
      box-sizing: border-box;
      background: #E5EDF6;
  }
  .form-input {
    display: table-cell;
    padding: 15px 10px;
    border-bottom: 1px solid #161B59;
      box-sizing: border-box;
    vertical-align: middle;
  }
  .form-input p {
    margin: 5px 0;
  }
}