/* CSS Document */
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color: #bbbbbb; }

.tel-num input, .zip input {
  background: #f8f8f8;
  border: none; }

div.wpcf7 .ajax-loader {
  display: none; }

input[type="number"] {
  -moz-appearance: textfield; }

br.sp {
  display: none; }
br.pc {
  display: block; }

.contact_section {
  padding: 50px 0 60px;
  text-align: center; }

.contact_section_hd {
  text-align: center;
  font-size: 3.2px;
  line-height: 1.5;
  margin-bottom: 30px; }

.contact_section_p01 {
  margin-bottom: 60px; }

.contact_section_p02 {
  font-size: 1.6px;
  margin: 16px 0 54px; }

.contact_section_p03 {
  margin-bottom: 50px; }

.contact_section_dl {
  background: #5ebf6f;
  max-width: 810px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 12px 16px; }
  .contact_section_dl dt {
    float: left; }
  .contact_section_dl .l-footer__telephone {
    padding: 12px 44px 12px 84px; }
    .contact_section_dl .l-footer__telephone::before {
      left: 24px;
      top: 19px; }
  .contact_section_dl .l-footer__info__reception {
    display: inline-block;
    border: 2px solid #fff;
    padding: 0 5px;
    font-size: 1.4px;
    margin-right: 10px; }
  .contact_section_dl dd {
    overflow: hidden;
    padding: 0px 15px 0;
    color: #fff; }
    .contact_section_dl dd p {
      margin-bottom: 0;
      text-align: left;
      letter-spacing: 0.02em; }

.contact_section_dl_p01 {
  display: flex;
  justify-content: space-between;
  line-height: 1.5;
  padding-top: 0.6px; }

.contact_section_table {
  max-width: 1100px;
  width: 92%;
  margin: 0 auto 60px;
  border: none;
  text-align: left;
  font-size: 16px; }
  .contact_section_table th, .contact_section_table td {
    box-sizing: border-box; }
  .contact_section_table th {
    width: 320px;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 30px 10px 0;
    vertical-align: middle; }
    .contact_section_table th span {
      float: right;
      color: #fff;
      display: flex;
      font-size: 14px;
      border-radius: 30px;
      background: #3996d1;
      justify-content: center;
      align-items: center;
      width: 80px;
      height: 30px; }
  .contact_section_table td {
    padding: 10px 0; }
  .contact_section_table input[type="text"], .contact_section_table input[type="email"], .contact_section_table input[type="tel"], .contact_section_table input[type="number"] {
    padding: 20px;
    border: none;
    background-color: #f5f5f5;
    font-size: 14px;
    display: inline-block;
    border-radius: 15px;
    outline: none; }
  .contact_section_table select, .contact_section_table textarea {
    padding: 20px;
    border: none;
    background-color: #f5f5f5;
    font-size: 14px;
    display: inline-block;
    border-radius: 15px;
    outline: none; }
  .contact_section_table input[type="checkbox"] {
    width: 25px;
    height: 25px;
    margin-right: 10px; }
  .contact_section_table textarea {
    min-height: 180px;
    display: block;
    font-size: 18px; }
  .contact_section_table .s01 {
    display: inline-block;
    margin-right: 6px; }
  .contact_section_table input.short {
    max-width: 300px; }
  .contact_section_table input + .s01 {
    margin-left: 30px; }
  .contact_section_table .s02 {
    display: block; }
  .contact_section_table input + .s02 {
    margin-top: 12px; }

.privacy_check {
  margin-bottom: 50px;
  text-align: center; }
  .privacy_check p {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.8; }
    .privacy_check p a {
      color: #01a0eb;
      text-decoration: underline; }
      .privacy_check p a:hover {
        text-decoration: none; }
  .privacy_check input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 5px; }

.btn_submit {
  width: 260px;
  margin: 0 auto;
  position: relative; }
  .btn_submit::after {
    content: "";
    width: 12px;
    height: 12px;
    pointer-events: none;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: calc(50% - 20px);
    right: 42px;
    z-index: 1;
    transform: rotate(45deg); }
  .btn_submit input[type="submit"] {
    width: 100%;
    height: 60px;
    font-size: 20px;
    letter-spacing: 0.05em;
    color: #fff;
    cursor: pointer;
    border: none;
    background-color: #01a0eb; }
    .btn_submit input[type="submit"]:hover {
      opacity: .8; }

@media screen and (max-width: 992px) {
  .contact_section {
    font-size: 16px; }

  .contact_section_dl .l-footer__telephone {
    padding: 12px 20px 12px 65px; }
  .contact_section_dl dd p {
    letter-spacing: 0; }

  .contact_section_table th {
    width: auto; }
  .contact_section_table input[type="text"].short {
    max-width: calc(100% - 50px); }
  .contact_section_table .s01 {
    display: inline-block;
    margin-right: 6px;
    width: 44px; }
  .contact_section_table input + .s01 {
    margin-left: 0;
    margin-top: 2.5px; } }
@media screen and (max-width: 768px) {
  .keireki-td .wpcf7-form-control-wrap {
    font-size: 1.1rem; }

  br.pc {
    display: none; }
  br.sp {
    display: block; }

  .contact_section {
    padding: 25px 0 30px;
    text-align: center; }

  .contact_section_hd {
    text-align: center;
    font-size: 2px;
    line-height: 1.5;
    margin-bottom: 15px;
    font-weight: bold; }

  .contact_section_p01 {
    margin-bottom: 30px;
    font-size: 1.3px; }

  .contact_section_p02 {
    font-size: 1.4px;
    margin: 15px 0 15px; }

  .contact_section_p03 {
    font-size: 1.4px;
    margin-bottom: 25px; }

  .contact_section_dl {
    background: #5ebf6f;
    max-width: 810px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 8px 10px; }
    .contact_section_dl dt {
      float: none; }
    .contact_section_dl .l-footer__telephone {
      padding: 12px 0;
      margin-bottom: 0; }
      .contact_section_dl .l-footer__telephone::before {
        left: 24px;
        top: 19px; }
    .contact_section_dl .l-footer__info__reception {
      display: inline-block;
      border: 2px solid #fff;
      padding: 0 5px;
      font-size: 14px;
      margin-right: 10px;
      margin-bottom: 0; }
    .contact_section_dl dd {
      overflow: hidden;
      padding: 0px 0px 0;
      color: #fff;
      margin-bottom: 0; }
      .contact_section_dl dd p {
        margin-bottom: 0;
        text-align: center; }

  .contact_section_dl_p01 {
    display: flex;
    justify-content: space-between;
    line-height: 1.5;
    padding-top: 0.6px; }

  .contact_section_table {
    margin-bottom: 30px;
    border: none;
    text-align: left;
    font-size: 14px; }
    .contact_section_table th, .contact_section_table td {
      border: none;
      box-sizing: border-box;
      display: block; }
    .contact_section_table th {
      width: auto;
      padding-bottom: 0; }
      .contact_section_table th span {
        float: right;
        color: #fff;
        display: flex;
        font-size: 12px;
        justify-content: center;
        align-items: center;
        width: 60px;
        height: 21px; }
    .contact_section_table td {
      padding: 0; }
    .contact_section_table input[type="text"], .contact_section_table input[type="email"], .contact_section_table input[type="number"] {
      font-size: 13px;
      font-weight: bold;
      height: 44px;
      display: inline-block; }
    .contact_section_table textarea {
      font-size: 13px;
      font-weight: bold;
      height: 44px;
      display: inline-block;
      min-height: 150px;
      display: block;
      margin: 0; }

  .privacy_check {
    margin-bottom: 8vw; }
    .privacy_check p {
      font-size: 4vw; }
    .privacy_check label {
      font-size: 5vw; }

  .btn_submit {
    width: 80vw; }
    .btn_submit::after {
      width: 10px;
      height: 10px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      top: calc(50% - 20px);
      right: 30px; }
    .btn_submit input[type="submit"] {
      height: 20vw;
      font-size: 6vw; } }
.screen-reader-response {
  display: none; }

.wpcf7-form-control-wrap {
  display: block;
  position: relative; }
  .wpcf7-form-control-wrap label {
    font-weight: bold;
    display: flex;
    align-items: center; }
  .wpcf7-form-control-wrap.your-message {
    display: block; }

.contact_section_table .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  top: -36px;
  color: #fff;
  background: #007fd0;
  font-weight: bold;
  font-size: 12px;
  width: 200px;
  padding: 4px;
  text-align: center;
  border-radius: 20px;
  z-index: 2; }
  .contact_section_table .wpcf7-not-valid-tip:before {
    display: block;
    position: absolute;
    bottom: -6px;
    margin: 0 auto;
    left: 0;
    right: 0;
    width: 12px;
    height: 12px;
    background: #007fd0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    z-index: -1; }

.wpcf7-response-output {
  width: 584px;
  margin: 0 auto !important;
  text-align: center;
  color: #ed6290;
  padding: 10px;
  box-sizing: border-box;
  font-weight: bold;
  background-color: #fff; }

@media screen and (max-width: 768px) {
  .wpcf7-not-valid-tip {
    top: -25px;
    right: 0;
    left: auto;
    font-size: 10px;
    width: 160px; }

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

  .wpcf7-response-output {
    width: 92%; } }
@media screen and (max-width: 374px) {
  .contact_section_p02 {
    font-size: 13px; }

  .contact_section_dl dd p {
    line-height: 1.5;
    font-size: 13px; }
    .contact_section_dl dd p.contact_section_dl_p01 {
      margin-bottom: 0.8px; } }
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] {
  display: block;
  font-size: 16px;
  max-width: 100%;
  padding: 1.5px 1.8px;
  width: 100%;
  box-sizing: border-box; }

textarea {
  display: block;
  font-size: 16px;
  max-width: 100%;
  padding: 1.5px 1.8px;
  width: 100%;
  box-sizing: border-box; }

.policy_area {
  width: 92%;
  height: 300px;
  overflow-y: scroll;
  border: #dedede 2px solid;
  margin: 0 auto 30px;
  padding: 30px;
  box-sizing: border-box; }
  .policy_area h3 {
    margin: 60px 0 25px;
    padding-bottom: 5px;
    font-size: 24px;
    font-weight: bold;
    border-bottom: 2px solid #181818; }
  .policy_area p {
    font-size: 16px;
    line-height: 1.8; }

.send input[type=button], .send input[type=submit] {
  width: 300px;
  height: 55px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.2em;
  cursor: pointer;
  color: #fff;
  display: block;
  border: none;
  border-radius: 50px;
  background-color: #3996d1;
  transition: all 0.3s ease 0s; }

@media screen and (max-width: 768px) {
  .policy_area {
    height: 60vw;
    margin-bottom: 6vw;
    padding: 4vw; }
    .policy_area h3 {
      margin: 8vw 0 4vw;
      font-size: 6vw; }
    .policy_area p {
      font-size: 4vw; } }
