@charset "UTF-8"; /* 2025.04.04 */

/* headerfooter navカラーリング */
header #h-nav > li:nth-child(8) a {
  color: var(--main) !important;
}
footer .f-nav li:nth-child(8) a {
  color: #fff !important;
}
/* メインimage指定 */

.img_top {
  background-image: url("../images/contact/img_top_sp.jpg");
  color: #fff;
}
@media (min-width: 768px) {
  .img_top {
    background-image: url("../images/contact/img_top_pc.jpg");
  }
}
@media (min-width: 768px) {
  .img_top {
      padding-bottom: 50px;
      font-size: 7.2rem;
      height: 40vh;
  }
}

article {
  margin: 50px 0 100px;
}
@media (min-width: 768px) {
  .container-md {
    padding: 0 30px;
  }
  article {
    margin-top: min(5vw, 80px);
  }
  p, .txt {
    font-size: min(2vw, 2.2rem);
  }
}

.sub {
  background-color: var(--light);
  padding-bottom: 100px;
}

.ttl_02 {
  font-size: 1.7rem;
  padding-bottom: 10px;
  text-align: left;
}
@media (min-width: 768px) {
  .ttl_02 {
    font-size: min(2.2vw, 2.4rem);
  }
}
@media (min-width: 1600px) {
  .ttl_02 {
    font-size: 2.8rem;
  }
}


.need {
  position: relative;
}
.need::before {
  content: '必須';
  vertical-align: bottom;
  font-size: 1rem;
  width: 3em;
  height: 2em;
  color: #fff;
  background-color: #F00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width:768px) {
  .listBox {
    display: block;
    text-align: center;
  }
  .mod_btn {
    padding-right: 0;
  }
}
.table_01 th {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  font-weight: 500;
  vertical-align: top;
}
.table_01 td {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.table_01 td p {
  font-weight: 500;
  margin-bottom: 0;
}
.table_01 td input + p {
  margin-top: 1rem;
}
input::placeholder {
  color: #999;
}
label {
  margin-right: 2rem;
}
input[type="email"],
input[type="tel"],
input[type="text"] {
  width: 100%;
  border: 1px solid #ccc;
  padding: 1rem;
}
textarea {
  padding: 10px;
  width: 100%;
  border: 1px solid #ccc;
}
.privacy dd {
  margin-bottom: 0;
}
.privacy a {
  color: #444;
  text-decoration: underline;
}
.privacy a:hover {
  text-decoration: none;
}


form {
  padding: 20px 15px 50px;
  margin: 20px 0;
  background-color: #fff;
}

form .linkBox {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
form .linkBox .mod_btn {
  margin: 1rem;
}
form .linkBox input {
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  width: 27rem;
  padding: 2rem 1rem;
  display: block;
  position: relative;
  transition: .2s;
  margin-left: auto;
  margin-right: auto;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
}
form .linkBox input:hover {
  text-decoration: none;
  opacity: .7;
}
form .checkBox {
  padding-right: .5em;
  position: relative;
  display: inline-block;
}
form .checkBox input[type="checkbox"] {
  position: absolute;
  top: .6rem;
  left: -1em;
}

form .checkBox label {
  margin-right: 26px;
  position: relative;
  left: 2rem;
}
form .alert .msg {
  margin-bottom: 0;
}
.notes {
  padding: 20px;
  margin: 30px 0;
  background-color: #f5f5f5;
}
.tel {
  display: block;
  padding: 5px 0;
  font-size: min(8vw, 4rem);
  font-weight: bold;
  color: var(--main);
}
@media (min-width: 768px) {
  .notes {
    display: flex;
    justify-content: center;
    text-align: center;
  }
  .notes .ttl_02 {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .table_01 th, .table_01 td {
    padding: 1.5rem;
  }
}
@media (max-width: 575px) {
  form .checkBox span {
    display: block;
  }
}
form .linkBox input {
  color: #fff;
  background-color: var(--main);
  font-size: 1.6rem;
  text-align: center;
  width: 27rem;
  padding: 2rem 1rem;
  display: block;
  position: relative;
  transition: .2s;
  margin-left: auto;
  margin-right: auto;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
}


table {
  table-layout: fixed;
}
.table_01 {
  width: 100%;
  font-feature-settings: "palt";
}
.table_01 th, .table_01 td {
  line-height: 1.5;
  padding: 3rem 2rem;
  border-bottom: 1px solid #ccc;
}
.table_01 th {
  font-weight: 500;
  width: 26%;
}
@media only screen and (max-width:767px) {
  .table_01 th, .table_01 td {
    padding: 2rem;
  }
  .table_sp, .table_sp tr, .table_sp th, .table_sp td {
    width: 100% !important;
  }
  .table_sp tr, .table_sp th, .table_sp td {
    display: block;
  }
  .table_sp th {
    background: #f5f5f5;
  }
}

.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: #cc0000;
	font-weight: bold;
	display: block;
}

div.screen-reader-response{
  display: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
    border: 2px solid #00a0d2;
}
  
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
  
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
}
  
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #dc3232;
}
  
.wpcf7 form.spam .wpcf7-response-output {
    border-color: #f56e28;
}
  
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #ffb900;
}