@charset "UTF-8";
 /* ========================================
   @media screen and (min-width: 768px), print
 ======================================== */
@media screen and (min-width: 768px),print {
  /* fv
  -------------------------------------*/
  .fv {
    position: relative;
    max-width: 1920px;
    margin-inline: auto;
    width: 100%;
  }
  .fv::before {
    content: "";
    position: absolute;
    top: 12rem;
    left: 0;
    width: 42.438rem;
    height: 48.375rem;
    background: url(../images/contact/bg-deco.png) no-repeat;
    background-size: contain;
    z-index: 2;
  }
  .fv .inner {
    width: min(95%, 1600px);
    margin-left: auto;
    display: grid;
    /* align-items: center; */
    grid-template-columns: 32.5% 67.5%;
    padding: 2.8rem 0 0;
  }
  .fv .txt-box {
    background: #FFFFFF;
    /* padding: 3.6rem 5rem 4.1rem 7.1rem; */
    position: relative;
    left: 0;
    top: -1.6rem;
    width: 640px;
    z-index: 3;
    padding: 58px 80px 58px 114px;
    top: 59px;
    height: 585px;
  }
  .fv .txt-box::before {
    content: "";
    position: absolute;
    top: -5.6rem;
    left: -5.6rem;
    width: 21.563rem;
    height: 10rem;
    background: url(../images/contact/contact-en.svg) no-repeat;
    background-size: contain;
  }
  .fv .txt-box h2 {
    font-size: 24px;
    line-height: 1.6666666667;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 1.8rem;
  }
  .fv .txt-box .list {
    display: grid;
    gap: 1.05rem;
  }
  .fv .txt-box .list li {
    font-size: 18px;
    line-height: 2.2777777778;
    letter-spacing: 0.05em;
    font-weight: 500;
    position: relative;
  }
  .fv .txt-box .list li:nth-child(3) {
    line-height: 1.8888;
  }
  .fv .txt-box .list li::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: -1.4rem;
    width: 0.75rem;
    height: 0.82rem;
    background: url(../images/contact/check-icon.svg) no-repeat;
    background-size: contain;
    border-radius: 50%;
  }
  .fv .txt-box .list li span {
    border-bottom: 1px solid #A1A1A1;
    padding: 0 0 0.6rem;
  }

  /* form
  -------------------------------------*/
  .form-Box {
    position: relative;
    top: -7.8rem;
  }

   .tel-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.50rem;
    position: relative;
    padding: 4rem 0 1.6rem;
    margin: -5rem 0 8.8rem;
  }
   .tel-box::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #1A1A1A;
    width: 800px;
    height: 1px;
  }
   .tel-box .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.25;
  }
  .form-Box .form-box-inner {
    padding: 4.9rem 0 0;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1660px)
======================================== */
@media screen and (min-width:768px) and (max-width:1660px) {
  .fv::before {
    width: 40.904vw;
    height: 46.627vw;
  }
  .fv .txt-box {
    background: #FFFFFF;
    position: relative;
    left: 0;
    top: -1.6rem;
    width: 38.554vw;
    z-index: 3;
    padding: 3.494vw 4.819vw 3.494vw 6.867vw;
    top: 3.554vw;
    height: 36.241vw;
  }
  .fv .txt-box::before {
    left: -3.5rem;
    top: -6.5rem;
  }
  .fv .txt-box h2 {
    font-size: 1.446vw;
    line-height: 1.6666666667;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 1.8rem;
  }
  .fv .txt-box .list li {
    font-size: 1.084vw;
    line-height: 2.2777777778;
    letter-spacing: 0.05em;
    font-weight: 500;
    position: relative;
  }
  .fv .photo img {
    width: 100%;
  }

}



/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
 /* fv
  -------------------------------------*/
  .fv {
    position: relative;
    background: #FFFFFF;
    margin-top: 19vw;
  }
  .fv::before {
    content: "";
    position: absolute;
    bottom: -49vw;
    left: 0;
    width: 50vw;
    height: 57.1vw;
    background: url(../images/contact/bg-deco.png) no-repeat;
    background-size: contain;
    z-index: 2;
  }
  .fv .inner {display: grid;padding: 12vw 0 11vw;}
  .fv .txt-box {
    display: contents;
  }
  .fv .txt-box::before {
    content: "";
    position: absolute;
    top: -10.4vw;
    left: 50%;
    width: 48.2vw;
    height: 24.2vw;
    background: url(../images/contact/contact-en.svg) no-repeat;
    background-size: contain;
    transform: translateX(-50%);
  }
  .fv .txt-box h2 {
    font-size:5.314vw;
    line-height: 1.63636;
    letter-spacing: 0;
    font-weight: 700;
    margin-bottom: 6.6vw;
    order: 1;
    text-align: center;
  }
  .fv .txt-box .list {
    display: grid;
    gap: 1.2vw;
    order: 3;
    width: 81.7vw;
    margin-inline: auto;
  }
  .fv .txt-box .list li {
    font-size:3.382vw;
    line-height: 2.92857;
    letter-spacing: 0.05em;
    font-weight: 500;
    position: relative;
  }
  .fv .txt-box .list li:nth-child(3) {
    line-height: 1.7142857;
    margin: 2vw 0 2.2vw;
  }
  .fv .txt-box .list li::before {
    content: "";
    position: absolute;
    top: 3.5vw;
    left: -4.2vw;
    width: 2.416vw;
    height: 4.59vw;
    background: url(../images/contact/check-icon.svg) no-repeat;
    background-size: contain;
    border-radius: 50%;
  }
  .fv .txt-box .list li:nth-child(3)::before {
    top: 1.5vw;
  }
  .fv .txt-box .list li span {
    border-bottom: 1px solid #A1A1A1;
    padding: 0 0 1vw;
  }
  .fv .photo {
    order: 2;
    margin-bottom: 4.95vw;
  }

    /* form
  -------------------------------------*/
  .tel-box {
    display: grid;
    align-items: center;
    justify-content: center;
    gap: 2vw;
    position: relative;
    padding: 8vw 0 22vw;
  }
  .tel-box .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2.28571428;
    text-align: center;
  }
  .tel-box .tel img {
    width: 100%;
  }
}