body {
  font-family: "Noto Sans", sans-serif;
  color: #333333;
}

main {
  width: 100%;
  background-image: url(img/visa/back_visa.png);
  background-repeat: repeat-y;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.page-template-page-noheader main {
  background-image: none;
}

.content {
  max-width: 1020px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 15px;
  margin: auto;
}
@media screen and (min-width: 750px) {
  .content {
    padding: 0;
  }
}

.bg-white {
  background-color: rgba(255, 255, 255, 0.9);
}

.bg-green {
  background-color: #F2F7DE;
}

.line-bg {
  height: 1px;
  background-color: #C4E07E;
}

.title-bg {
  background-image: url(img/lp/visa_eng_title_base.png);
  background-repeat: no-repeat;
  background-size: contain;
}

img.rev {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}

.future-section {
  padding: 30px 0 50px;
  margin-top: 25px;
}
@media screen and (min-width: 750px) {
  .future-section {
    padding: 50px 50px 100px 50px;
    margin-top: 40px;
  }
}
.future-section h1 {
  padding: 0 10px;
}
@media screen and (min-width: 750px) {
  .future-section h1 {
    padding: 0;
    margin-top: 10px;
  }
}
.future-section .description {
  margin-top: 20px;
  font-size: clamp(19px, calc(15.5px + 0.00875 * 100vw), 26px);
  font-weight: bold;
  line-height: 1.7em;
  text-align: center;
}
@media screen and (min-width: 750px) {
  .future-section .description {
    margin-top: 40px;
    line-height: 1.6em;
  }
}
.future-section .map {
  width: 100%;
  max-width: 100%;
  padding: 0 4px;
  margin-top: 20px;
}
@media screen and (min-width: 750px) {
  .future-section .map {
    padding: 0;
    margin-top: 30px;
  }
}
.future-section .regional {
  width: 95%;
  padding: 16px 15px 20px;
  margin: 20px auto 0;
  border-radius: 12px;
  background: transparent -webkit-gradient(linear, left top, right top, color-stop(10%, rgba(218, 231, 152, 0.8)), color-stop(11%, rgba(219, 232, 155, 0.8078431373)), color-stop(19%, rgba(232, 240, 182, 0.8784313725)), color-stop(27%, rgba(242, 246, 203, 0.9294117647)), color-stop(35%, rgba(249, 251, 218, 0.968627451)), color-stop(43%, rgba(253, 254, 226, 0.9921568627)), color-stop(50%, #FFFFE6), color-stop(57%, rgba(253, 254, 226, 0.9921568627)), color-stop(65%, rgba(249, 251, 218, 0.968627451)), color-stop(73%, rgba(242, 246, 203, 0.9294117647)), color-stop(81%, rgba(232, 240, 182, 0.8784313725)), color-stop(89%, rgba(219, 232, 155, 0.8078431373)), color-stop(90%, rgba(218, 231, 152, 0.8))) 0% 0% no-repeat padding-box;
  background: transparent -webkit-linear-gradient(left, rgba(218, 231, 152, 0.8) 10%, rgba(219, 232, 155, 0.8078431373) 11%, rgba(232, 240, 182, 0.8784313725) 19%, rgba(242, 246, 203, 0.9294117647) 27%, rgba(249, 251, 218, 0.968627451) 35%, rgba(253, 254, 226, 0.9921568627) 43%, #FFFFE6 50%, rgba(253, 254, 226, 0.9921568627) 57%, rgba(249, 251, 218, 0.968627451) 65%, rgba(242, 246, 203, 0.9294117647) 73%, rgba(232, 240, 182, 0.8784313725) 81%, rgba(219, 232, 155, 0.8078431373) 89%, rgba(218, 231, 152, 0.8) 90%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, rgba(218, 231, 152, 0.8) 10%, rgba(219, 232, 155, 0.8078431373) 11%, rgba(232, 240, 182, 0.8784313725) 19%, rgba(242, 246, 203, 0.9294117647) 27%, rgba(249, 251, 218, 0.968627451) 35%, rgba(253, 254, 226, 0.9921568627) 43%, #FFFFE6 50%, rgba(253, 254, 226, 0.9921568627) 57%, rgba(249, 251, 218, 0.968627451) 65%, rgba(242, 246, 203, 0.9294117647) 73%, rgba(232, 240, 182, 0.8784313725) 81%, rgba(219, 232, 155, 0.8078431373) 89%, rgba(218, 231, 152, 0.8) 90%) 0% 0% no-repeat padding-box;
}
@media screen and (min-width: 750px) {
  .future-section .regional {
    width: 100%;
    padding: 20px;
    margin-top: 50px;
    border-radius: 20px;
  }
}
.future-section .regional p {
  font-size: clamp(16px, calc(14px + 0.005 * 100vw), 20px);
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.4px;
}
.future-section .regional-list {
  padding-top: 9px;
  margin: 6px auto 0;
  -webkit-columns: 3;
     -moz-columns: 3;
          columns: 3;
  border-top: #FFFFE6 1px solid;
}
@media screen and (min-width: 750px) {
  .future-section .regional-list {
    padding-right: 20px;
    padding-left: 30px;
    -webkit-columns: 5;
       -moz-columns: 5;
            columns: 5;
  }
}
.future-section .regional-item {
  position: relative;
  padding: 5px 0 1px clamp(10px, calc(9px + 0.0025 * 100vw), 12px);
  font-size: clamp(12px, calc(9px + 0.0075 * 100vw), 18px);
  font-weight: bold;
  line-height: 1.2em;
}
@media screen and (min-width: 750px) {
  .future-section .regional-item {
    padding: 5px 0 2px clamp(10px, calc(9px + 0.0025 * 100vw), 12px);
  }
}
.future-section .regional-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: black;
}

.intro-section {
  padding: 24px 20px 30px;
}
@media screen and (min-width: 750px) {
  .intro-section {
    padding: 75px 50px 80px;
  }
}
@media screen and (min-width: 750px) {
  .intro-section .intro-section-inner {
    max-width: 800px;
    margin: auto;
  }
}
@media screen and (min-width: 750px) {
  .intro-section .intro-section-inner .profile-box {
    max-width: 640px;
    margin: auto;
  }
}
.intro-section h2 {
  color: #555555;
  font-size: clamp(22px, calc(18px + 0.01 * 100vw), 30px);
  text-align: center;
}
@media screen and (min-width: 750px) {
  .intro-section h2 {
    text-align: left;
  }
}
.intro-section .clients {
  margin: 18px 0 23px 4px;
  font-size: clamp(18px, calc(15px + 0.0075 * 100vw), 24px);
}
@media screen and (min-width: 750px) {
  .intro-section .clients {
    margin: 35px 0 42px;
  }
}
.intro-section .clients p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  line-height: 1.2em;
}
.intro-section .clients p + p {
  margin-top: 16px;
}
.intro-section .clients p img {
  width: clamp(16px, calc(12px + 0.01 * 100vw), 24px);
}
.intro-section .profile, .intro-section .location {
  text-align: center;
}
@media screen and (min-width: 750px) {
  .intro-section .profile, .intro-section .location {
    text-align: left;
  }
}
.intro-section .profile h3, .intro-section .location h3 {
  display: inline-block;
  position: relative;
  color: #288C78;
  font-size: clamp(21px, calc(17.5px + 0.00875 * 100vw), 28px);
  font-weight: 600;
}
.intro-section .profile h3::after, .intro-section .location h3::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 0;
  bottom: 2px;
  height: 2px;
  background-color: #DCE696;
  width: 102%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 750px) {
  .intro-section .profile h3::after, .intro-section .location h3::after {
    left: 0;
    bottom: -2px;
    -webkit-transform: initial;
            transform: initial;
    width: 100%;
  }
}
.intro-section .profile p, .intro-section .location p {
  font-size: clamp(15px, calc(12.5px + 0.00625 * 100vw), 20px);
  font-weight: 600;
}
.intro-section .profile {
  margin-top: 20px;
}
@media screen and (min-width: 750px) {
  .intro-section .profile {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    height: 320px;
    margin-top: 50px;
  }
}
@media screen and (min-width: 750px) {
  .intro-section .profile h3 {
    margin-top: -8px;
  }
}
.intro-section .profile .details {
  margin-top: 20px;
  text-align: left;
}
@media screen and (min-width: 750px) {
  .intro-section .profile .details {
    margin-top: 24px;
  }
}
.intro-section .profile .details p.name {
  font-size: clamp(20px, calc(17px + 0.0075 * 100vw), 26px);
}
.intro-section .profile .details p.name + p {
  font-size: clamp(14px, calc(12px + 0.005 * 100vw), 18px);
  margin-top: 5px;
  margin-bottom: 23px;
}
@media screen and (min-width: 750px) {
  .intro-section .profile .details p.name + p {
    margin-bottom: 32px;
  }
}
.intro-section .profile .details .dtails-bottom p {
  margin: 9px 0;
}
.intro-section .profile .picture-box {
  height: auto;
}
.intro-section .profile img {
  max-width: 230px;
  margin: 18px auto 0;
}
@media screen and (min-width: 750px) {
  .intro-section .profile img {
    max-width: 240px;
    margin: 0 0 0 auto;
  }
}
.intro-section .location {
  margin-top: 13px;
}
@media screen and (min-width: 750px) {
  .intro-section .location {
    margin-top: 20px;
    margin-bottom: 12px;
  }
}
.intro-section .location .details {
  margin-top: 15px;
  text-align: left;
}
@media screen and (min-width: 750px) {
  .intro-section .location .details {
    margin-top: 24px;
  }
}
.intro-section .location .details p {
  margin: 7px 0;
}
@media screen and (min-width: 750px) {
  .intro-section .location .details p {
    margin: 5px 0;
  }
}
@media screen and (min-width: 750px) {
  .intro-section .location .details .contact-tel, .intro-section .location .details .contact-fax {
    display: inline-block;
  }
}
@media screen and (min-width: 750px) {
  .intro-section .location .details .contact-fax {
    margin-left: 20px;
  }
}

.service-section {
  padding: 22px 0 0;
}
@media screen and (min-width: 750px) {
  .service-section {
    padding: 100px 50px 0;
  }
}
.service-section .service-section-inner {
  max-width: 800px;
  margin: auto;
}
.service-section h2 {
  display: inline-block;
  padding: 3px 40px 15px;
  color: #3cb371;
  font-size: clamp(21px, calc(17.5px + 0.00875 * 100vw), 28px);
  font-weight: 600;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 750px) {
  .service-section h2 {
    padding: 5px 60px 15px;
  }
}
.service-section .service-menu {
  max-width: 750px;
  padding: 0 20px;
  margin: 5px auto 0;
}
.service-section .service-menu .service-title {
  margin-top: 13px;
  text-align: center;
}
.service-section .service-menu .service-list-title {
  margin-top: 15px;
  font-size: clamp(22px, calc(18px + 0.01 * 100vw), 30px);
  color: #555555;
  font-weight: bold;
}
@media screen and (min-width: 750px) {
  .service-section .service-menu .service-list-title {
    margin-top: 42px;
  }
}
.service-section .service-menu ul {
  list-style: none;
  padding: 0;
  margin-top: 18px;
}
@media screen and (min-width: 750px) {
  .service-section .service-menu ul {
    margin-top: 35px;
  }
}
.service-section .service-menu ul li {
  margin: 8px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(16px, calc(12px + 0.01 * 100vw), 24px);
}
@media screen and (min-width: 750px) {
  .service-section .service-menu ul li {
    margin: 13px 0;
  }
}
.service-section .service-menu ul li img {
  margin: 8px 10px auto 12px;
  width: clamp(16px, calc(12px + 0.01 * 100vw), 24px);
}
@media screen and (min-width: 750px) {
  .service-section .service-menu ul li img {
    margin: 0 10px 0 0;
  }
}
.service-section .service-review {
  padding: 0 10px;
  margin-top: 35px;
}
@media screen and (min-width: 750px) {
  .service-section .service-review {
    padding: 0;
    margin-top: 94px;
  }
}
.service-section .service-review h2 {
  padding: 5px 54px 18px;
}
@media screen and (min-width: 750px) {
  .service-section .service-review h2 {
    padding: 5px 60px 15px;
  }
}
.service-section .service-review .review-title {
  margin-top: 13px;
  text-align: center;
}
.service-section .case-list {
  margin-top: 15px;
  margin-bottom: 40px;
  display: grid;
  gap: 13px;
}
@media screen and (min-width: 750px) {
  .service-section .case-list {
    gap: 30px;
    margin-top: 44px;
    margin-bottom: 65px;
  }
}
.service-section .case-container {
  position: relative;
  border: 3px solid #BEDCD6;
  border-radius: 15px;
  padding: 57px 20px 20px;
  max-width: 800px;
  background-color: #ffffff;
}
@media screen and (min-width: 750px) {
  .service-section .case-container {
    padding: 75px 35px 35px;
  }
}
.service-section .case-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.service-section .case-header h3 {
  position: absolute;
  top: -1px;
  left: -2px;
  color: #288C78;
  margin: 0;
  padding: 8px 0 10px 20px;
  width: 200px;
  margin: 0;
  margin-bottom: 10px;
  font-size: clamp(17px, calc(14.5px + 0.00625 * 100vw), 22px);
  font-weight: 700;
  background-image: url(img/lp/visa_eng_case.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 750px) {
  .service-section .case-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 45px;
  }
}
.service-section .case-content p {
  color: #000000;
  line-height: 1.8em;
}
@media screen and (min-width: 750px) {
  .service-section .case-content p {
    line-height: 1.7em;
  }
}
.service-section .case-content > img {
  max-width: 132px;
  margin: auto;
}
@media screen and (min-width: 750px) {
  .service-section .case-content > img {
    max-width: 100%;
    margin-top: 5px;
  }
}
.service-section .case-content .case-text {
  margin-top: 20px;
  font-size: clamp(12px, calc(10px + 0.005 * 100vw), 16px);
}
@media screen and (min-width: 750px) {
  .service-section .case-content .case-text {
    margin-top: 0;
  }
}
.service-section .user-review {
  padding: 13px 11px 14px 11px;
  margin-top: 4px;
  background-color: #E9F3F1;
}
@media screen and (min-width: 750px) {
  .service-section .user-review {
    padding: 19px 10px 14px 20px;
    margin-top: 14px;
  }
}
.service-section .user-review p {
  margin-top: 5px;
  font-size: clamp(11px, calc(9.5px + 0.00375 * 100vw), 14px);
}
.service-section .user-review img {
  max-width: 103px;
}
@media screen and (min-width: 750px) {
  .service-section .user-review img {
    max-width: 100%;
  }
}

.contact-section {
  padding: 30px 10px 50px;
}
@media screen and (min-width: 750px) {
  .contact-section {
    padding: 30px 50px 100px;
  }
}
.contact-section .contact-inner {
  background-color: #DCE696;
  padding: 30px 10px 0;
}
@media screen and (min-width: 750px) {
  .contact-section .contact-inner {
    max-width: 700px;
    padding: 50px 40px 30px;
    margin: 0 auto;
  }
}
.contact-section .contact-title {
  position: relative;
  height: 60px;
  padding: 0;
  background-image: url(img/lp/title_futo_sp_0.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 750px) {
  .contact-section .contact-title {
    height: 72px;
    background-image: url(img/lp/title_futo_pc_1.png);
  }
}
.contact-section .contact-title h2 {
  position: absolute;
  left: 20px;
  top: 46%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #288C78;
}
@media screen and (min-width: 750px) {
  .contact-section .contact-title h2 {
    top: 45%;
  }
}
.contact-section .contact-text {
  margin-top: 8px;
  text-align: center;
}
.contact-section .wpcf7 p {
  margin-top: 10px;
}
.contact-section .wpcf7 p .tag-title {
  font-weight: bold;
}
.contact-section .wpcf7 input {
  width: 100%;
  max-width: 400px;
  margin-top: 2px;
}
.contact-section .wpcf7 textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
}
.contact-section .wpcf7 .wpcf7-submit {
  display: block;
  width: 200px;
  margin: 30px auto 10px;
  background-color: #479678;
  border: none;
  border-radius: 6px;
  color: white;
  line-height: 40px;
}
.contact-section .wpcf7 .wpcf7-spinner {
  display: block;
  margin: auto;
}
.contact-section .wpcf7 .wpcf7-response-output {
  margin-top: 0;
}
.contact-section .wpcf7 .privacy-link-text {
  color: #555555;
  text-underline-offset: 5px;
}

.contact-link {
  position: relative;
}
.contact-link a {
  position: absolute;
  left: 17%;
  bottom: 17%;
  font-size: clamp(15px, calc(9.5px + 0.01375 * 100vw), 26px);
  text-align: center;
  color: white;
  text-decoration: none;
}
@media screen and (min-width: 750px) {
  .contact-link a {
    left: 27%;
    bottom: 24%;
  }
}
.contact-link.contact-link-1 {
  margin-top: 28px;
}
@media screen and (min-width: 750px) {
  .contact-link.contact-link-1 {
    margin: 0;
  }
}

footer {
  background-color: #5A9682;
}
footer p {
  padding: 10px 0;
  margin: 0;
  color: white;
  font-size: clamp(9px, calc(6.5px + 0.00625 * 100vw), 14px);
  text-align: center;
}

.is-sp {
  display: block;
}
@media screen and (min-width: 750px) {
  .is-sp {
    display: none;
  }
}

.is-pc {
  display: none;
}
@media screen and (min-width: 750px) {
  .is-pc {
    display: block;
  }
}/*# sourceMappingURL=lp.css.map */