@charset "UTF-8";
/* ===================================================================
CSS information

file name  : contact.css
author     : Abilive
style info : お問い合わせ
=================================================================== */
/**
DartSass用
@use "settings" as *;
@use "sass:math";
@use "sass:map";
@use "sass:color";
@use "sass:selector";
@use "sass:meta";
@use "sass:list";
@use "sass:string";
*/
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
@keyframes FadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes FadeUp {
  0% {
    transform: translateY(-200%);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25);
  }
}
@media only screen and (min-width: 1025px) {
  .con_intro {
    padding-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_intro {
    padding-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_intro {
    padding-top: calc(120 / 960 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_intro .txt {
    margin-top: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_intro .txt {
    margin-top: 1em;
  }
}
@media only screen and (min-width: 768px) {
  .con_intro .box_tel {
    margin-top: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_intro .box_tel {
    margin-top: 1em;
  }
}
.con_intro .box_tel .txt_tel {
  text-align: center;
}
.con_intro .box_tel .txt_tel > a, .con_intro .box_tel .txt_tel .tel {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.25;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .con_intro .box_tel .txt_tel > a, .con_intro .box_tel .txt_tel .tel {
    font-size: 1.79rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_intro .box_tel .txt_tel > a, .con_intro .box_tel .txt_tel .tel {
    font-size: 1.92rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_intro .box_tel .txt_tel > a .sub, .con_intro .box_tel .txt_tel .tel .sub {
    font-size: 1.43rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_intro .box_tel .txt_tel > a .sub, .con_intro .box_tel .txt_tel .tel .sub {
    font-size: 1.6rem;
  }
}
.con_intro .box_tel .sub_txt {
  font-size: 0.86rem;
  text-align: center;
}

@media only screen and (min-width: 1025px) {
  .con_flow {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_flow {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_flow {
    margin-top: calc(120 / 960 * 100%);
  }
}
.con_flow dd ol li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  letter-spacing: .06em;
  line-height: 1.5;
  font-size: 1rem;
}
@media only screen and (min-width: 1025px) {
  .con_flow dd ol li {
    width: calc(80% / 3);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_flow dd ol li {
    width: calc(100% / 3);
  }
}
@media only screen and (max-width: 767px) {
  .con_flow dd ol li {
    width: calc(100% / 3);
  }
}
.con_flow dd ol li > * {
  display: block;
}
.con_flow dd ol li::after {
  content: "";
  display: block;
  position: relative;
  z-index: 1;
  margin: 1em auto 0;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  background: var(--color-gray2);
}
.con_flow dd ol li:not(:first-child):before {
  content: '';
  position: absolute;
  right: 50%;
  bottom: .4em;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  background: var(--color-gray2);
}
.con_flow dd ol li[aria-current="step"]::after {
  transform: scale(1.3);
  background: var(--color-main);
}
.con_flow dd ol li .txt_number {
  font-size: 1.71rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
.con_flow dd ol li .txt_label {
  margin-top: .8em;
}

@media only screen and (min-width: 1025px) {
  .con_form {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form {
    margin-top: calc(120 / 960 * 100%);
  }
}
.con_form .must,
.con_form .error {
  color: #c41820;
}
.con_form form .tbl_basic tr th, .con_form form .tbl_basic tr td {
  padding: 1em;
  border-top: 1px solid var(--color-gray2);
  letter-spacing: .06em;
  line-height: 1.86;
  vertical-align: top;
  box-sizing: border-box;
}
.con_form form .tbl_basic tr th {
  font-weight: 600;
  border-bottom: 2px solid var(--color-tbl-line);
}
@media only screen and (min-width: 768px) {
  .con_form form .box_submit .btn {
    width: 280px;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn {
    width: 85%;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .con_form form .box_submit .btn:only-child {
    width: 85%;
  }
}
.con_form form .box_submit .btn.back button .c-arrow {
  transform: scale(-1, 1);
}
@media only screen and (min-width: 768px) {
  .con_form form .box_submit .btn + .btn {
    margin-left: calc(20 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn + .btn {
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .box_submit .btn + .btn {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit .btn + .btn {
    margin-top: 0.5em;
  }
}

@media only screen and (min-width: 1025px) {
  .con_thanks {
    margin-top: calc(80 / 1920 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_thanks {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks {
    margin-top: calc(120 / 960 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_thanks .btn {
    max-width: 350px;
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .btn {
    width: 85%;
  }
}

.con_intro {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_intro {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_intro {
    max-width: calc(1000px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_intro {
    max-width: calc(1000px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_intro {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_intro {
    width: calc(360 / 428 * 100%);
  }
}
.con_intro .txt {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_intro .txt {
    text-align: center;
  }
}

.con_flow {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_flow {
    width: calc(1180 / 1440 * 100%);
    max-width: calc(1180px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_flow {
    max-width: calc(1180px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_flow {
    max-width: calc(1180px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_flow {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_flow {
    width: calc(390 / 428 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_flow {
    max-width: 960px;
  }
}
.con_flow dt {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.con_flow dd ol {
  display: flex;
  justify-content: center;
}

.con_form {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_form {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_form {
    max-width: calc(1000px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_form {
    max-width: calc(1000px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_form {
    width: calc(1180 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form {
    width: calc(360 / 428 * 100%);
  }
}
.con_form .error {
  display: block;
}
.con_form .txt_must {
  margin-bottom: 1em;
  letter-spacing: .06em;
  line-height: 1.5;
}
.con_form .txt_must .must {
  margin-right: .5em;
}
.con_form .txt_check {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_form .txt_check {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .con_form .txt_check + form {
    margin-top: calc(80 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form .txt_check + form {
    margin-top: calc(120 / 880 * 100%);
  }
}
.con_form form label,
.con_form form input[type="checkbox"],
.con_form form input[type="radio"],
.con_form form input[type="file"],
.con_form form select,
.con_form form button {
  cursor: pointer;
}
.con_form form .tbl_basic {
  width: 100%;
  border-bottom: 1px solid var(--color-gray2);
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr th, .con_form form .tbl_basic tr td {
    display: block;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr th {
    width: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr th {
    background: rgba(158, 158, 158, 0.15);
  }
}
.con_form form .tbl_basic tr th .must {
  font-size: 86%;
}
.con_form form .tbl_basic tr th .must span {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.con_form form .tbl_basic tr th span:not(.label) {
  font-size: 86%;
}
.con_form form .tbl_basic tr th .label {
  display: block;
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td {
    width: calc(100% - 230px);
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td .size_s {
    max-width: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .tbl_basic tr td .size_s {
    max-width: 40%;
  }
}
@media only screen and (min-width: 768px) {
  .con_form form .tbl_basic tr td .size_m {
    max-width: 500px;
  }
}
.con_form form .tbl_basic tr td input[type="text"],
.con_form form .tbl_basic tr td input[type="email"],
.con_form form .tbl_basic tr td input[type="tel"],
.con_form form .tbl_basic tr td input[type="checkbox"],
.con_form form .tbl_basic tr td input[type="radio"],
.con_form form .tbl_basic tr td textarea,
.con_form form .tbl_basic tr td select {
  border: 1px solid var(--color-gray2);
  padding: .8em 1em;
  background: none;
  border-radius: 0;
  box-sizing: border-box;
  font-size: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.con_form form .tbl_basic tr td input[type="text"],
.con_form form .tbl_basic tr td input[type="email"],
.con_form form .tbl_basic tr td input[type="tel"],
.con_form form .tbl_basic tr td textarea,
.con_form form .tbl_basic tr td select {
  appearance: none;
  width: 100%;
  background: #fff;
}
.con_form form .tbl_basic tr td input[type="text"]::placeholder,
.con_form form .tbl_basic tr td input[type="email"]::placeholder,
.con_form form .tbl_basic tr td input[type="tel"]::placeholder,
.con_form form .tbl_basic tr td textarea::placeholder,
.con_form form .tbl_basic tr td select::placeholder {
  color: var(--color-gray2);
}
.con_form form .tbl_basic tr td input[type="checkbox"],
.con_form form .tbl_basic tr td input[type="radio"] {
  width: .9em;
  height: .9em;
}
.con_form form .tbl_basic tr td textarea {
  height: 12em;
  resize: vertical;
}
.con_form form .tbl_basic tr td.wrp_address > div:not(:first-child),
.con_form form .tbl_basic tr td.wrp_address > p:not(:first-child), .con_form form .tbl_basic tr td.wrp_email > div:not(:first-child),
.con_form form .tbl_basic tr td.wrp_email > p:not(:first-child) {
  margin-top: 1em;
}
.con_form form .tbl_basic tr td.wrp_address > div > *,
.con_form form .tbl_basic tr td.wrp_address > p > *, .con_form form .tbl_basic tr td.wrp_email > div > *,
.con_form form .tbl_basic tr td.wrp_email > p > * {
  display: block;
}
.con_form form .tbl_basic tr td.wrp_address > div p, .con_form form .tbl_basic tr td.wrp_email > div p {
  font-size: 86%;
  margin-bottom: .3em;
}
.con_form form .tbl_basic tr td.wrp_check ul {
  display: flex;
  flex-wrap: wrap;
}
.con_form form .tbl_basic tr td.wrp_check ul li label {
  display: flex;
  align-items: center;
  margin-right: 1.5em;
}
.con_form form .tbl_basic tr td.wrp_check ul li label input {
  margin-right: .5em;
}
.con_form form .tbl_basic tr td.wrp_select > div {
  position: relative;
}
.con_form form .tbl_basic tr td.wrp_select > div:before {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  z-index: -1;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-width: .6em .4em 0 .4em;
  border-style: solid;
  border-color: #1E1E1E transparent transparent transparent;
}
.con_form form .tbl_basic tr td.wrp_select > div select {
  position: relative;
  z-index: 1;
  text-overflow: ellipsis;
  vertical-align: middle !important;
}
.con_form form .tbl_basic tr td.wrp_upload input {
  border: none;
  padding: 0;
}
.con_form form .box_submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .con_form form .box_submit {
    margin-top: calc(60 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit {
    margin-top: calc(90 / 880 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_form form .box_submit {
    display: block;
  }
}

.con_thanks {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_thanks {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_thanks {
    max-width: calc(1000px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_thanks {
    max-width: calc(1000px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_thanks {
    width: calc(1180 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks {
    width: calc(360 / 428 * 100%);
  }
}
.con_thanks .st {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .con_thanks .st {
    margin-bottom: calc(20 / 1260 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .st {
    margin-bottom: calc(30 / 880 * 100%);
  }
}
.con_thanks .txt {
  letter-spacing: .06em;
  line-height: 1.86;
}
@media only screen and (min-width: 768px) {
  .con_thanks .txt {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .con_thanks .btn {
    margin: calc(40 / 1260 * 100%) auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_thanks .btn {
    margin: calc(60 / 880 * 100%) auto 0;
  }
}
