@charset "UTF-8";
/* color
=================================================================== */
/* common
=================================================================== */
/* layout
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* vw
=================================================================== */
/* form
=================================================================== */
/* vw
================================================*/
/* vh
================================================*/
/* ========================================================================================================= contact Top */
.contactTop .contactTop__contents .column.column--2 > li {
  align-self: flex-start;
  margin-bottom: 30px; }
  .contactTop .contactTop__contents .column.column--2 > li > p {
    margin-top: 4px; }
  .contactTop .contactTop__contents .column.column--2 > li > aside {
    display: block;
    font-size: 14px;
    opacity: .6;
    margin-top: 11px;
    line-height: 1.4; }
.contactTop .contactTop__contents .contact--caution {
  position: relative;
  padding: 30px; }
  .contactTop .contactTop__contents .contact--caution:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    opacity: .5; }
.contactTop .faq__list > li > dl > dt > p {
  width: 100%; }

/* ========================================================================================================= contact */
.contact .contact__leader {
  padding-bottom: 30px; }
.contact form {
  /* IE */
  /* Edge */ }
  .contact form input, .contact form textarea, .contact form select {
    font-size: 16px;
    line-height: 2;
    color: #000;
    color: var(--colorB);
    background-color: #fff;
    background-color: var(--colorW); }
  .contact form select, .contact form textarea {
    padding: 15px 30px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    　-moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
    @media (prefers-color-scheme: light) {
      .contact form select, .contact form textarea {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2); } }
    @media (prefers-color-scheme: dark) {
      .contact form select, .contact form textarea {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2); } }
  @media (prefers-color-scheme: light) {
    .contact form textarea {
      border: 1px solid rgba(0, 0, 0, 0.2); } }
  @media (prefers-color-scheme: dark) {
    .contact form textarea {
      border: 1px solid rgba(255, 255, 255, 0.2); } }
  .contact form select {
    border-radius: 65px; }
  .contact form input {
    padding: 20px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    　-moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
    @media (prefers-color-scheme: light) {
      .contact form input {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2); } }
    @media (prefers-color-scheme: dark) {
      .contact form input {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2); } }
    .contact form input:focus {
      outline: none;
      border-bottom: 1px solid black; }
      @media (prefers-color-scheme: light) {
        .contact form input:focus {
          border-bottom: 1px solid black; } }
      @media (prefers-color-scheme: dark) {
        .contact form input:focus {
          border-bottom: 1px solid white; } }
  .contact form textarea:focus {
    outline: none;
    border: 1px solid black; }
    @media (prefers-color-scheme: light) {
      .contact form textarea:focus {
        border: 1px solid black; } }
    @media (prefers-color-scheme: dark) {
      .contact form textarea:focus {
        border: 1px solid white; } }
  .contact form input::placeholder {
    color: rgba(0, 0, 0, 0.4); }
  .contact form input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.4); }
  .contact form input::-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.4); }
  @media (prefers-color-scheme: light) {
    .contact form {
      /* IE */
      /* Edge */ }
      .contact form input::placeholder {
        color: rgba(0, 0, 0, 0.4); }
      .contact form input:-ms-input-placeholder {
        color: rgba(0, 0, 0, 0.4); }
      .contact form input::-ms-input-placeholder {
        color: rgba(0, 0, 0, 0.4); } }
  @media (prefers-color-scheme: dark) {
    .contact form {
      /* IE */
      /* Edge */ }
      .contact form input::placeholder {
        color: rgba(255, 255, 255, 0.4); }
      .contact form input:-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.4); }
      .contact form input::-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.4); } }
  .contact form .form__list > li {
    margin-bottom: 30px; }
    .contact form .form__list > li > dl {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .contact form .form__list > li > dl > dt {
        align-self: center;
        width: 305px;
        font-size: 17px;
        font-weight: 600; }
      .contact form .form__list > li > dl > dd {
        position: relative;
        width: calc(100% - 305px); }
        .contact form .form__list > li > dl > dd input {
          position: relative; }
        .contact form .form__list > li > dl > dd.select:after {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          width: 0;
          height: 0;
          left: auto;
          right: 30px;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          border-left: 4px solid transparent;
          border-right: 4px solid transparent;
          border-top: 8px solid #000;
          border-top: 8px solid var(--colorB); }
        .contact form .form__list > li > dl > dd.select select::-ms-expand {
          display: none; }
    .contact form .form__list > li.textarea {
      margin-top: 45px; }
      .contact form .form__list > li.textarea > dl {
        flex-direction: column; }
        .contact form .form__list > li.textarea > dl > dt, .contact form .form__list > li.textarea > dl > dd {
          width: 100%; }
        .contact form .form__list > li.textarea > dl > dt {
          margin-bottom: 15px; }
    .contact form .form__list > li.must > dl > dt:after {
      content: "必須";
      font-size: 12px;
      padding: 5px 13px;
      color: #fff;
      color: var(--colorW);
      background-color: #000;
      background-color: var(--colorB);
      border-radius: 23px;
      margin-left: 12px; }
  .contact form .checkbox--wrapper {
    text-align: center;
    margin-bottom: 35px; }
    .contact form .checkbox--wrapper .checkbox {
      display: inline-block;
      font-size: 17px;
      line-height: 25px; }
      .contact form .checkbox--wrapper .checkbox input {
        display: none; }
      .contact form .checkbox--wrapper .checkbox input[type="checkbox"]:checked + label::after {
        opacity: 1; }
      .contact form .checkbox--wrapper .checkbox input[type="checkbox"]:checked + label::before {
        border: 1px solid #000;
        border: 1px solid var(--colorB); }
      .contact form .checkbox--wrapper .checkbox label {
        position: relative;
        padding-left: 35px;
        display: block;
        cursor: pointer; }
        .contact form .checkbox--wrapper .checkbox label:before {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          height: 20px;
          width: 20px;
          border: 1px solid #b8b8b8;
          transition-duration: 0.3s;
          transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          -ms-transition-duration: 0.3s;
          -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          -webkit-transition-duration: 0.3s;
          -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          　-moz-transition-duration: 0.3s;
          -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); }
        .contact form .checkbox--wrapper .checkbox label:after {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          height: 20px;
          width: 20px;
          background: url("../img/contents/contact/icon--checkbox.svg") no-repeat center center;
          background-size: 15px auto;
          left: 1px;
          opacity: 0;
          transition-duration: 0.3s;
          transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          -ms-transition-duration: 0.3s;
          -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          -webkit-transition-duration: 0.3s;
          -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
          　-moz-transition-duration: 0.3s;
          -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); }
        @media (prefers-color-scheme: light) {
          .contact form .checkbox--wrapper .checkbox label:after {
            background: url("../img/contents/contact/icon--checkbox.svg") no-repeat center center;
            background-size: 15px auto; } }
        @media (prefers-color-scheme: dark) {
          .contact form .checkbox--wrapper .checkbox label:after {
            background: url("../img/contents/contact/icon--checkbox--w.svg") no-repeat center center;
            background-size: 15px auto; } }
  .contact form .form__btn {
    position: relative;
    width: 325px;
    margin: 0 auto; }
    .contact form .form__btn:after {
      content: " ";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      width: 11px;
      left: auto;
      right: 28px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 100% auto;
      background-image: url("../img/common/btnIcon--arrowW.svg"); }
    @media (prefers-color-scheme: light) {
      .contact form .form__btn:after {
        background-image: url("../img/common/btnIcon--arrowW.svg"); } }
    @media (prefers-color-scheme: dark) {
      .contact form .form__btn:after {
        background-image: url("../img/common/btnIcon--arrowB.svg"); } }
    .contact form .form__btn input {
      color: #fff;
      color: var(--colorW);
      background-color: #000;
      background-color: var(--colorB);
      border: 1px solid #000;
      border: 1px solid var(--colorB);
      text-align: center;
      font-size: 21px;
      font-weight: 600;
      padding: 16px 0;
      border-radius: 75px;
      cursor: pointer; }
      .contact form .form__btn input:hover, .contact form .form__btn input:active {
        background-color: rgba(0, 0, 0, 0.6); }
      @media (prefers-color-scheme: light) {
        .contact form .form__btn input:hover, .contact form .form__btn input:active {
          background-color: rgba(0, 0, 0, 0.6); } }
      @media (prefers-color-scheme: dark) {
        .contact form .form__btn input:hover, .contact form .form__btn input:active {
          background-color: rgba(255, 255, 255, 0.6); } }
    .contact form .form__btn input[type="submit"][disabled] {
      pointer-events: none;
      opacity: .15; }

/* ========================================================================================================= confirm */
.confirm form .form__list {
  margin-bottom: 45px; }
.confirm form .form__list > li > dl > dd {
  padding: 20px 0; }
  .confirm form .form__list > li > dl > dd:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 1px;
    top: auto;
    bottom: 0;
    background-color: #000;
    background-color: var(--colorB);
    opacity: .2; }
  .confirm form .form__list > li > dl > dd.select::after {
    display: none; }
.confirm form .form__list > li.textarea > dl > dd {
  padding: 15px 30px;
  border: 1px solid rgba(0, 0, 0, 0.2); }
  @media (prefers-color-scheme: light) {
    .confirm form .form__list > li.textarea > dl > dd {
      border: 1px solid rgba(0, 0, 0, 0.2); } }
  @media (prefers-color-scheme: dark) {
    .confirm form .form__list > li.textarea > dl > dd {
      border: 1px solid rgba(255, 255, 255, 0.2); } }
  .confirm form .form__list > li.textarea > dl > dd:before {
    display: none; }
.confirm .confirm__btn {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center; }
  .confirm .confirm__btn .form__btn--back {
    position: relative;
    align-self: center;
    margin-right: 25px;
    padding-left: 30px; }
    .confirm .confirm__btn .form__btn--back:after {
      content: " ";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      width: 11px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 100% auto;
      background-image: url("../img/common/icon__arrow--backB.svg");
      transition-duration: 0.5s;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
      -ms-transition-duration: 0.5s;
      -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
      -webkit-transition-duration: 0.5s;
      -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
      　-moz-transition-duration: 0.5s;
      -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
    @media (prefers-color-scheme: light) {
      .confirm .confirm__btn .form__btn--back:after {
        background-image: url("../img/common/icon__arrow--backB.svg"); } }
    @media (prefers-color-scheme: dark) {
      .confirm .confirm__btn .form__btn--back:after {
        background-image: url("../img/common/icon__arrow--backW.svg"); } }
    .confirm .confirm__btn .form__btn--back input {
      padding: 0;
      border-bottom: none;
      font-size: 17px;
      font-weight: 600;
      cursor: pointer; }
    .confirm .confirm__btn .form__btn--back:hover:after, .confirm .confirm__btn .form__btn--back:active:after {
      transform: translateX(-3px); }
  .confirm .confirm__btn .form__btn {
    margin: 0;
    margin-left: 25px; }

/* ========================================================================================================= complete */
.complete .contact__contents {
  min-height: 400px; }
