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

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

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.c-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: calc(40 / var(--parent-font-size) * 1rem);
  max-width: 100%;
  margin-inline: auto;
  overflow: hidden;
}
@media only screen and (min-width: 1025px) {
  .c-flow {
    margin-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow {
    margin-top: calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-flow {
    margin-top: calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .c-flow {
    width: calc(305 / 1200 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow {
    width: 25rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow {
    width: 20rem;
  }
}
.c-flow__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-flow__item:last-child .c-flow__num::before {
  display: none;
}
.c-flow__item.is-active .c-flow__num {
  background-color: var(--color-accent);
}
.c-flow__num {
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
  background-color: var(--color-accent2);
  border-radius: 100px;
  margin-inline: auto;
  position: relative;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .c-flow__num {
    --target-font-size: 20;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow__num {
    --target-font-size: 20;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__num {
    --target-font-size: 18;
  }
}
@media only screen and (min-width: 1025px) {
  .c-flow__num {
    width: 3em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow__num {
    width: 2.8em;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__num {
    width: 3em;
  }
}
@media only screen and (min-width: 1025px) {
  .c-flow__num {
    height: 3em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow__num {
    height: 2.8em;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__num {
    height: 3em;
  }
}
.c-flow__num::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  height: 1px;
  background-color: var(--color-accent);
}
@media only screen and (min-width: 1025px) {
  .c-flow__num::before {
    width: 6em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow__num::before {
    width: 6em;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__num::before {
    width: 5em;
  }
}
.c-flow__ttl {
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  display: block;
  text-align: center;
  width: calc(44 / var(--parent-font-size) * 1rem);
  margin-top: 0.25em;
}
@media only screen and (min-width: 1025px) {
  .c-flow__ttl {
    --target-font-size: 14;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-flow__ttl {
    --target-font-size: 14;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow__ttl {
    --target-font-size: 11;
  }
}
.c-flow__ttl span {
  margin-inline: -2rem;
}

.p-contact {
  width: calc(1200 / 1440 * 100%);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .p-contact {
    width: calc(380 / 428 * 100%);
  }
}
.p-contact__intro .c-text {
  line-height: 1.8;
}
.p-contact__form .c-form__inner {
  max-width: 700px;
  width: calc(1100 / 1300 * 100%);
  margin-inline: auto;
}
@media only screen and (min-width: 1441px) {
  .p-contact__form .c-form__inner {
    max-width: 800px;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact__form .c-form__inner {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact__thanks {
    margin-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact__thanks {
    margin-top: calc(30 / var(--parent-font-size) * 1rem);
  }
}
.p-contact__thanks .c-title {
  margin-bottom: calc(30 / var(--parent-font-size) * 1rem);
}
.p-contact__thanks .c-title__jp {
  line-height: 1.5;
}
.p-contact__thanks .c-btn {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-contact__thanks .c-btn {
    margin-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-contact__thanks .c-btn {
    margin-top: calc(30 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-contact__thanks .c-btn {
    width: 320px;
  }
}
@media only screen and (max-width: 767px) {
  .p-contact__thanks .c-btn {
    width: calc(100% - 1rem);
  }
}
.p-contact__thanks .c-btn a {
  width: 100%;
}

@media only screen and (min-width: 1025px) {
  .c-form__group:not(:first-child) {
    margin-top: calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-form__group:not(:first-child) {
    margin-top: calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-form__group:not(:first-child) {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 1025px) {
  .c-form__group--small {
    max-width: calc(320 / 700 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-form__group--small {
    max-width: calc(300 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-form__group--small {
    max-width: 100%;
  }
}
.c-form__label {
  display: block;
}
.c-form__label + .c-form__label {
  margin-top: 0.75em;
}
.c-form__title {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  color: var(--color-acc2);
}
@media only screen and (min-width: 1025px) {
  .c-form__title {
    padding-bottom: 0.25em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-form__title {
    padding-bottom: 0.5em;
  }
}
@media only screen and (max-width: 767px) {
  .c-form__title {
    padding-bottom: 0.25em;
  }
}
@media only screen and (min-width: 1025px) {
  .c-form__title {
    --target-font-size: 17;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-form__title {
    --target-font-size: 16;
  }
}
@media only screen and (max-width: 767px) {
  .c-form__title {
    --target-font-size: 16;
  }
}
.c-form__title .c-form__required {
  color: var(--color-alert);
  margin-left: 0.5em;
  font-weight: 400;
  font-size: 80%;
}
.c-form__title .c-form__required.is-hidden {
  display: none;
}
.c-form__val {
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .c-form__val {
    --target-font-size: 14;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-form__val {
    --target-font-size: 14;
  }
}
@media only screen and (max-width: 767px) {
  .c-form__val {
    --target-font-size: 14;
  }
}
.c-form__notice {
  color: var(--color-alert);
  margin-top: 0.25em;
  display: block;
  font-size: 100%;
}
@media only screen and (max-width: 767px) {
  .c-form__notice {
    font-size: 80%;
  }
}
.c-form__notice.center {
  text-align: center;
}
.c-form__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .c-form__submit {
    margin-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-form__submit {
    margin-top: calc(30 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .c-form__submit .c-btn {
    width: 320px;
  }
}
@media only screen and (max-width: 767px) {
  .c-form__submit .c-btn {
    width: calc(100% - 1rem);
  }
}
.c-form__submit .c-btn button {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-form__submit .c-btn:only-child {
    width: 85%;
  }
}
@media only screen and (min-width: 768px) {
  .c-form__submit .c-btn + .c-btn {
    margin-left: calc(20 / 1200 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .c-form__submit .c-btn + .c-btn {
    margin-left: 1rem;
  }
}

.c-input,
.c-textarea,
select {
  appearance: none;
  width: 100%;
  border: 1px solid var(--color-gray-7);
  background-color: var(--color-gray-ca) !important;
  display: block;
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .c-input,
  .c-textarea,
  select {
    padding: 1em 1em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-input,
  .c-textarea,
  select {
    padding: 1.5em 1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-input,
  .c-textarea,
  select {
    padding: 1.25em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .c-input,
  .c-textarea,
  select {
    --target-font-size: 14;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-input,
  .c-textarea,
  select {
    --target-font-size: 13;
  }
}
@media only screen and (max-width: 767px) {
  .c-input,
  .c-textarea,
  select {
    --target-font-size: 13;
  }
}
.c-input::placeholder,
.c-textarea::placeholder,
select::placeholder {
  color: var(--color-gray-7);
}

.c-textarea[name="message"] {
  min-height: calc(280 / var(--parent-font-size) * 1rem);
}
@media only screen and (min-width: 1025px) {
  .c-textarea[name="message"] {
    min-height: calc(280 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-textarea[name="message"] {
    min-height: calc(230 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-textarea[name="message"] {
    min-height: calc(200 / var(--parent-font-size) * 1rem);
  }
}
