/* font color */

p a {
  color: #01B5D0;
  text-decoration: underline;
}

.txt_1_25 {
  font-size: 1.25rem;
  font-weight: bold;
}

.txt_1 {
  font-size: 1rem;
}

/* font color end */

/* utility */
/* center */
.contents_center {
  width: 90%;
  margin: 0 auto;
  max-width: 998px;
}

.center_txt {
  text-align: center;
}

/* center end */
/* margin */
.bottom_90 {
  margin-bottom: 90px;
}

.bottom_50 {
  margin-bottom: 50px;
}

.bottom_30 {
  margin-bottom: 30px;
}

.bottom_20 {
  margin-bottom: 20px;
}

.p_top_160 {
  padding-top: 160px;
}

.h_100 {
  height: 70vh;
  padding-top: 160px;
}

/* margin end */
/* utility end */

/* h2 */
.ttl_section {
  font-family: 'Oswald';
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 2.25px;
  color: #13768D;
  padding-top: 240px;
  font-weight:400;
}

.line_horizontal {
  background: transparent linear-gradient(90deg, #00A9C6 0%, rgba(0, 0, 0, 0)) 0% 0% no-repeat padding-box;
  border: none;
  margin: 18px auto;
  width: 500px;
  height: 2px;
}

.sub_ttl_section {
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: 5px;
  color: #01B5D0;
  padding-bottom: 50px;
}

.sla_col {
  display: none;
}

/* h2 end*/

/* form */
.form_txt {
  border: 1px solid #707070;
  width: 100%;
  padding: 0.5em;
}

.form_txt_postalcode {
  border: 1px solid #707070;
  padding: 0.5em;
  margin-bottom: 1em;
}

/* プルダウン */
.form_select {
  background-color: #F3F3F3;
  color: #595757;
  padding: 0.5em 30px 0.5em 0.5em;
  height: 50px;
}

select {
  background-image: url(/assets/image/ico_arrow_02_no.png);
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 0.8em;
}

/* プルダウン end */

/* 必須項目 */
.required {
  background-color: #13768D;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.2em 0.5em;
  float: right;
}

/* 必須項目 end*/
/* 任意項目 */
.option {
  background-color: #707070;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.2em 0.5em;
  float: right;
}

/* 任意項目 end */


.confirmation_btn {
  background-color: #13768D;
  color: #fff;
  width: 298px;
  height: 59px;
  margin-right: 25px;
}

.reset_btn {
  background-color: #707070;
  color: #fff;
  width: 298px;
  height: 59px;
}

/* 確認画面用 */
.back_btn {
  background-color: #707070;
  color: #fff;
  width: 298px;
  height: 59px;
  margin-right: 20px;
}

.send_btn {
  background-color: #13768D;
  color: #fff;
  width: 298px;
  height: 59px;
}

.sec_ttl {
  padding-bottom: 30px;
  font-size: 1.375rem;
}

/* 確認画面用 end */
/* form end*/

table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  margin-bottom: 30px;
}

table.formTable td,
table.formTable th {
  border: solid #ffff;
  border-width: 20px 0px 20px 0px;
  vertical-align: middle;
}

table.formTable td {
  padding-left: 30px;
}

table.formTable td input {
  height: 50px;
}

table.formTable th {
  width: 33%;
  font-weight: normal;
  background: #E1F1F5;
  text-align: left;
  padding: 0 10px;
  height: 70px;
}

.invalid-feedback p {
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc3545;
}

/* check button */
input[type="checkbox"] {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

input[type="checkbox"]+span::before {
  display: inline-block;
  content: '';
  width: 1rem;
  height: 1rem;
  border: 1px solid #595757;
  margin-right: 0.3rem;
}

input[type="checkbox"]:checked+span::before {
  background-image: url("/assets/image/ico_check_01.svg");
  background-repeat: no-repeat;
  background-size: 90%;
}

/* check button end */

/* SP */
@media screen and (max-width: 768px) {

  /* center */
  .contents_center {
    width: 95%;
  }

  /* center end */

  /* form */
  table.formTable {
    margin-bottom: 30px;
  }
    table.formTable tr:last-of-type td{
        margin-bottom:15px;
    }
  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
    border: 0;
    word-break: break-all;
  }

  table.formTable th {
    margin-bottom: 15px;
    height: auto;
    padding: 1rem 10px 1rem 15px;
  }

  table.formTable td {
    margin-bottom: 2em;
    padding: 0px;
  }

  form input[type="text"],
  form textarea {
    padding: 5px;
  }

  form input[type="submit"],
  form input[type="reset"],
  form input[type="button"] {
    display: block;
  }


  .form_txt_postalcode {
    width: 50%;
  }

  .form_select {
    width: 100%;
  }

  .address_sp {
    font-size: 0.875rem;
  }

  /* form end */
  
  /* タイトル */
  .ttl_section_box {
    width: auto;
  }
  .ttl_section_box .sub_ttl_section {
    text-align: center;
  }
  .sla_col {
    display: inline-block;
  }
  /* タイトル end */
}