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

file name  : copy.css
author     : Abilive
style info : コピー
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.p-contact {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
  max-width: 700px;
}
@media only screen and (min-width: 1025px) {
  .p-contact {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-0);
  }
}
.p-contact__intro {
  margin-top: 4rem;
}
.p-contact__intro .txt span {
  color: red;
}
@media only screen and (min-width: 768px) {
  .p-contact__flow {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact__flow {
    margin-top: 2rem;
  }
}
.p-contact__flow ol {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 3rem;
}
.p-contact__flow ol li {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.p-contact__flow ol li span {
  width: 4rem;
  height: 4rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: lightgray;
  position: relative;
  color: white;
}
.p-contact__flow ol li.active {
  color: black;
}
.p-contact__flow ol li.active span {
  background-color: black;
  color: white;
}
.p-contact__flow ol li:not(:last-child) span:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: gray;
  position: absolute;
  right: -100%;
}

.p-contact-form {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
  padding: 4rem 0 10rem;
  max-width: 700px;
}
@media only screen and (min-width: 1025px) {
  .p-contact-form {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact-form {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact-form {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-0);
  }
}
.p-contact-form__td .list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-contact-form__td .list .p-contact-form__td__radio label {
  width: 100%;
  line-height: 1.6;
}
.p-contact-form__td ul {
  box-sizing: border-box;
  padding-left: 1.2rem;
}
.p-contact-form__td ul li {
  list-style-type: disc;
}
.p-contact-form__td ul.note {
  padding-left: 0;
  margin-top: 1rem;
}
.p-contact-form__td ul.note li {
  list-style-type: none;
  display: flex;
  gap: .25rem;
}
.p-contact-form__td ul.note li:before {
  content: "※";
}
.p-contact-form__td .h-adr {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-contact-form__td .h-adr .box_tr .box_th {
  font-size: calc(var(--abi-target-font-size) / var(--abi-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td .h-adr .box_tr .box_th {
    --abi-target-font-size: 16;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td .h-adr .box_tr .box_th {
    --abi-target-font-size: 17;
  }
}
.p-contact-form__td .h-adr .box_tr .box_td {
  margin-top: .5rem;
}
.p-contact-form__td__extra .note {
  padding-left: 0;
  margin-bottom: 2rem;
  width: 100% !important;
  margin-top: 0 !important;
}
.p-contact-form__td__extra fieldset {
  border-top: none;
}
.p-contact-form__submit {
  display: flex;
  gap: 1rem;
}
.p-contact-form__submit .c-btn--basic button svg {
  order: -1;
  transform: scale(-1);
}
.p-contact-form__inner {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__inner {
    gap: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__inner {
    gap: 2rem;
  }
}
.p-contact-form.check .p-contact-form__tr {
  border-bottom: 1px dotted gray;
}
@media only screen and (min-width: 768px) {
  .p-contact-form.check .p-contact-form__tr {
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form.check .p-contact-form__tr {
    padding-bottom: 2rem;
  }
}

body:has(.sp_nav_hide:focus) .c-fix-menu {
  display: none;
}

.c-error {
  color: red;
  font-weight: normal;
  width: 100%;
}

.c-required {
  font-weight: 400;
  color: red;
  line-height: 1;
  padding: .05em .25em .1em;
  font-size: calc(var(--abi-target-font-size) / var(--abi-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .c-required {
    --abi-target-font-size: 12;
  }
}
@media only screen and (max-width: 767px) {
  .c-required {
    --abi-target-font-size: 14;
  }
}

.c-checkbox {
  display: flex;
}
.c-checkbox .check-icon {
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid black;
  position: relative;
  margin-right: .5em;
  min-width: 1.5em;
  min-height: 1.5em;
  margin-top: .25em;
}
.c-checkbox input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  opacity: 0;
  position: absolute;
}
.c-checkbox input[type="checkbox"]:focus-visible + .c-checkbox__label .check-icon {
  border: 2px solid black;
}
.c-checkbox input[type="checkbox"]:disabled + .c-checkbox__label .check-icon {
  border: 2px solid black;
}
.c-checkbox input[type="checkbox"] + .c-checkbox__label .check-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 1em;
  background: url(../images/common/ic_check.svg) no-repeat center/100%;
  transition: opacity .2s ease;
  opacity: 0;
}
.c-checkbox input[type="checkbox"]:checked + .c-checkbox__label .check-icon {
  background-color: black;
}
.c-checkbox input[type="checkbox"]:checked + .c-checkbox__label .check-icon::before {
  opacity: 1;
}
.c-checkbox__label {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .c-checkbox__label {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__label {
    width: 100%;
  }
}
.c-checkbox__label .t {
  display: inline-block;
  line-height: 1.85;
}

.c-radio {
  margin-top: 0;
  margin-right: calc(15 / var(--abi-parent-font-size) * 1rem);
  display: inline-block;
  padding-left: 2em;
  font-size: calc(var(--abi-target-font-size) / var(--abi-parent-font-size) * 1rem);
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .c-radio {
    margin-top: calc(5 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-radio {
    margin-top: calc(16 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .c-radio {
    --abi-target-font-size: 14;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-radio {
    --abi-target-font-size: 14;
  }
}
@media only screen and (max-width: 767px) {
  .c-radio {
    --abi-target-font-size: 16;
  }
}
.c-radio.c-radio__vertical {
  display: block;
}
.c-radio__input:checked + .c-radio__label::before {
  color: #fff;
  border-color: red;
  background-color: red;
}
.c-radio__input:focus + .c-radio__label::before {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.3);
}
.c-radio__input:checked + .c-radio__label::after {
  transform: translateY(-50%) scale(1);
}
.c-radio__input:disabled + .c-radio__label {
  opacity: .5;
}
.c-radio__input:disabled + .c-radio__label::before {
  background-color: white;
}
.c-radio__input:disabled + .c-radio__label::after {
  content: none;
}
.c-radio__label {
  position: relative;
  vertical-align: middle;
}
.c-radio__label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2em;
  display: block;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  transform: translateY(-50%);
  pointer-events: none;
  background-color: #fff;
  border: 1px solid red;
  border-radius: 50%;
  transition: ease .3s all;
}
.c-radio__label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -2em;
  display: block;
  width: 1.25em;
  height: 1.25em;
  box-sizing: border-box;
  transform: translateY(-50%) scale(0);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
  transition: ease .3s all;
}

.c-select {
  position: relative;
}
.c-select::after {
  content: "";
  position: absolute;
  top: 50%;
  color: #444;
  transform: translateY(-50%);
  pointer-events: none;
  width: 1em;
  height: 1em;
  background: url(../images/common/ic_down.svg) no-repeat center/80%;
}
@media only screen and (min-width: 768px) {
  .c-select::after {
    right: 0.75em;
  }
}
@media only screen and (max-width: 767px) {
  .c-select::after {
    right: 0.5em;
  }
}

.p-contact-form {
  --th-width: calc(270 / var(--abi-parent-font-size) * 1rem);
}
.p-contact-form__policy {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
}
@media only screen and (min-width: 768px) {
  .p-contact-form__policy {
    margin-top: calc(60 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__policy {
    margin-top: 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__policy {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact-form__policy {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact-form__policy {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__policy {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-3);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__policy {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-1);
  }
}
.p-contact-form__policy .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
}
.p-contact-form__policy .c-checkbox {
  margin: 3em auto 0;
  align-items: center;
  justify-content: center;
  background-color: whitesmoke;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__policy .c-checkbox {
    padding: 2rem 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__policy .c-checkbox {
    padding: 2rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__policy .c-checkbox {
    width: fit-content;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__policy .c-checkbox {
    width: auto;
  }
}
.p-contact-form__policy .c-checkbox__label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-contact-form__policy a {
  position: relative;
  z-index: 2;
  text-decoration: underline;
  transition: ease .5s text-decoration;
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__policy a:hover {
    text-decoration: none;
  }
}
.p-contact-form__policy__txt {
  text-align: center;
}
.p-contact-form__policy__error {
  color: red;
  margin-top: 1em;
  text-align: center;
}
.p-contact-form__submit {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__submit {
    margin-top: calc(40 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__submit {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact-form__submit {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact-form__submit {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__submit {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) and (min-width: 768px) {
  .p-contact-form__submit {
    flex-direction: row;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .p-contact-form__submit {
    flex-direction: column-reverse;
  }
}

@media only screen and (min-width: 1025px) {
  .p-contact-form__submit .c-btn {
    width: calc(300 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__submit .c-btn {
    width: calc(250 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit .c-btn {
    width: 100%;
  }
}
.p-contact-form__submit .c-btn button {
  width: 100%;
  cursor: pointer;
  display: flex;
  gap: 1rem;
}
.p-contact-form__submit .c-btn button .c-btn__link__txt {
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit .c-btn--base {
    margin-top: 1.25em;
  }
}
.p-contact-form__submit .c-btn--rsv .o-icon {
  gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__submit .c-btn:nth-of-type(n+2) {
    margin-left: calc(20 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit .c-btn:nth-of-type(n+2) {
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__submit .c-btn:nth-of-type(n+2) {
    order: -1;
  }
}
.p-contact-form input:not(input[type="checkbox"]),
.p-contact-form select,
.p-contact-form textarea {
  border-radius: 0;
  border: 1px solid #bbbbbb;
  width: 100%;
  background-color: whitesmoke;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .p-contact-form input:not(input[type="checkbox"]),
  .p-contact-form select,
  .p-contact-form textarea {
    padding: 1.25em 1.2em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form input:not(input[type="checkbox"]),
  .p-contact-form select,
  .p-contact-form textarea {
    padding: 1em 0.75em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form input:not(input[type="checkbox"]),
  .p-contact-form select,
  .p-contact-form textarea {
    font-size: 16px;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form input:not(input[type="checkbox"]).size_m,
  .p-contact-form select.size_m,
  .p-contact-form textarea.size_m {
    max-width: calc(320 / var(--abi-parent-font-size) * 1rem);
  }
}
.p-contact-form input:not(input[type="checkbox"]),
.p-contact-form select {
  min-height: calc(40 / var(--abi-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-contact-form select {
    padding-right: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form select {
    padding-right: 1.25em;
  }
}
.p-contact-form input::placeholder {
  color: #c6c6c6;
}
.p-contact-form input::-ms-input-placeholder {
  color: #c6c6c6;
}
.p-contact-form input:-ms-input-placeholder {
  color: #c6c6c6;
}
.p-contact-form select {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.p-contact-form select::-ms-expand {
  display: none;
}
.p-contact-form textarea {
  width: 100%;
  resize: vertical;
}
@media only screen and (min-width: 768px) {
  .p-contact-form textarea {
    height: calc(240 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form textarea {
    height: 15em;
  }
}
.p-contact-form textarea::placeholder {
  color: #777;
}
.p-contact-form textarea::-ms-textarea-placeholder {
  color: #777;
}
.p-contact-form textarea:-ms-textarea-placeholder {
  color: #777;
}
.p-contact-form__inner {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__inner {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact-form__inner {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact-form__inner {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__inner {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__inner {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-1);
  }
}
@media only screen and (min-width: 1441px) {
  .p-contact-form__inner {
    max-width: 1200px;
  }
}
.p-contact-form__tr,
.p-contact-form fieldset {
  width: 100%;
}
.p-contact-form__tr {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: .5rem;
}
.p-contact-form__tr > .p-contact-form__tr {
  margin-top: 0 !important;
}
.p-contact-form__th {
  width: 100%;
  font-size: calc(var(--abi-target-font-size) / var(--abi-parent-font-size) * 1rem);
  line-height: 1.85;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__th {
    --abi-target-font-size: 16;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__th {
    --abi-target-font-size: 17;
  }
}
.p-contact-form__td {
  width: 100%;
}
.p-contact-form__td__about {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td__about {
    margin-top: calc(10 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td__about {
    margin-top: 1em;
  }
}
.p-contact-form__td__about .att_color {
  color: red;
}
.p-contact-form__td .c-error {
  width: 100%;
  line-height: 1.85;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td .c-error {
    margin-top: calc(10 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td .c-error {
    margin-top: 0.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td > .txt {
    line-height: 1.85;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td > input + .p-contact-form__td__radio {
    margin-top: .75em;
  }
}
.p-contact-form__td__extra {
  display: none;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td__extra {
    margin-top: calc(10 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td__extra {
    margin-top: 1em;
  }
}
.p-contact-form__td__extra__label {
  display: block;
  padding-bottom: .5em;
}
.p-contact-form__td__postcode {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td__postcode input {
    margin-left: 0.75em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td__postcode input {
    margin-left: 0.5em;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__td__postcode input {
    max-width: calc(300 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__td__postcode input {
    max-width: calc(250 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td__postcode input {
    max-width: 50%;
  }
}
.p-contact-form__td__add {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__td__add {
    margin-top: calc(10 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__td__add {
    margin-top: 1em;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__select.size_m {
    max-width: calc(550 / var(--abi-parent-font-size) * 1rem);
  }
}
.p-contact-form__radio {
  display: flex;
  align-items: baseline;
}
.p-contact-form__radio .c-radio {
  padding: .5em 0;
}
.p-contact-form__name {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__name {
    align-items: baseline;
    max-width: calc(550 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__name {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-contact-form__name__item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  --name-t-width: 3.5em;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__name__item {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__name__item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__name__item:nth-of-type(2n) {
    margin-left: 2%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__name__item {
    width: 100%;
  }
  .p-contact-form__name__item:nth-child(n+2) {
    margin-top: .75em;
  }
}
.p-contact-form__name__item input {
  max-width: calc(100% - var(--name-t-width));
}
.p-contact-form__name__item .t {
  display: inline-block;
  width: var(--name-t-width);
}
.p-contact-form__data {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
.p-contact-form__data__item {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__data__item {
    max-width: calc(150 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__data .c-select--year {
    width: 20%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__data .c-select--year {
    width: 24%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__data .c-select--year {
    width: 28%;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__data .c-select--month {
    width: 20%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__data .c-select--month {
    width: 24%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__data .c-select--month {
    width: 22%;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__data .c-select--day {
    width: 20%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__data .c-select--day {
    width: 24%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__data .c-select--day {
    width: 22%;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__data .t {
    padding: 0 1em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__data .t {
    padding: 0 0.5em;
  }
}
.p-contact-form__time {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .p-contact-form__time {
    margin-top: calc(30 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__time {
    margin-top: 1.5em;
  }
}
.p-contact-form__time__item {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 1025px) {
  .p-contact-form__time__item {
    width: 12%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-form__time__item {
    width: 14%;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__time__item {
    width: 25%;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__time__item {
    max-width: calc(95 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__time__item {
    margin-bottom: .75em;
    max-width: 90%;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-form__time .t {
    padding: 0 1em;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-form__time .t {
    padding: 0 0.75em;
  }
}

.p-contact-thanks {
  margin-right: auto;
  margin-left: auto;
  --abi-container-width: var(--abi-content-0);
  margin-top: 4rem;
  padding: 0 0 10rem;
}
@media only screen and (min-width: 1025px) {
  .p-contact-thanks {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-contact-thanks {
    max-width: calc(var(--abi-child-width) * 1px * ((15 + 1 + 1) / 15));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-contact-thanks {
    max-width: calc(var(--abi-child-width) * 1px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-thanks {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-thanks {
    width: calc(var(--abi-child-width) / var(--abi-container-width) * 100%);
    --abi-child-width: var(--abi-content-1);
  }
}
.p-contact-thanks .c-title span {
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .p-contact-thanks__text {
    margin-top: calc(20 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-thanks__text {
    margin-top: 1.5em;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact-thanks__text {
    text-align: center;
  }
}
.p-contact-thanks__btn {
  max-width: 320px;
}
@media only screen and (min-width: 768px) {
  .p-contact-thanks__btn {
    margin: calc(40 / var(--abi-parent-font-size) * 1rem) auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-thanks__btn {
    margin: 2em auto 0;
  }
}
.p-contact-thanks__btn .c-link-btn {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.p-contact-thanks__btn .c-btn__link {
  width: 100%;
}
.p-contact-thanks__tel {
  line-height: 1;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  font-size: calc(var(--abi-target-font-size) / var(--abi-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-contact-thanks__tel {
    margin-top: calc(40 / var(--abi-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-thanks__tel {
    margin-top: 1.5em;
  }
}
@media only screen and (min-width: 1025px) {
  .p-contact-thanks__tel {
    --abi-target-font-size: 24;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-contact-thanks__tel {
    --abi-target-font-size: 24;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact-thanks__tel {
    --abi-target-font-size: 36;
  }
}
.p-contact-thanks__tel a,
.p-contact-thanks__tel .tel {
  padding-left: .25em;
  text-decoration: none;
  letter-spacing: 0;
  transform: translateY(-0.05em);
  font-size: calc(100% * (24 / 16));
}

.c-file-input {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 1.5rem 2rem;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.c-file-input__input {
  display: none;
}
.c-file-input__label {
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .c-file-input__label {
    width: 100%;
    text-align: center;
  }
}
.c-file-input__button {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 1rem 3rem;
  font-size: 0.9rem;
  color: #333;
  transition: background-color 0.3s;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .c-file-input__button {
    display: inline-block;
  }
}
@media only screen and (max-width: 767px) {
  .c-file-input__button {
    display: block;
  }
}
.c-file-input__button:hover {
  background-color: #eee;
}
.c-file-input__filename {
  font-size: 0.9rem;
  color: #777;
}
