@charset "UTF-8";
* {
  box-sizing: border-box;
}

body, html {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

body {
  overflow-x: hidden;
}

article {
  margin-top: 0;
}

section {
  margin-top: initial;
}

.en-title {
  font-family: "Oswald", sans-serif;
}

.pcb {
  display: block;
}
@media screen and (max-width: 767px) {
  .pcb {
    display: none;
  }
}

.spb {
  display: none;
}
@media screen and (max-width: 767px) {
  .spb {
    display: block;
  }
}

.pci {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pci {
    display: none;
  }
}

.spi {
  display: none;
}
@media screen and (max-width: 767px) {
  .spi {
    display: inline-block;
  }
}

.hero {
  background: url(../img/bg.jpg) no-repeat 50% 50%;
  background-size: cover;
  height: 200vh;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .hero {
    height: auto;
    background: none;
  }
}
.hero .scroll-icon {
  position: fixed;
  top: calc(100vh - 95px);
  z-index: 2;
  left: 50%;
  transform: translateX(-50%);
}
.hero .scroll-icon p {
  margin-bottom: 10px;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
}
.hero .scroll-icon div {
  width: 1px;
  height: 70px;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 100%;
  animation: line-keyframe 2s ease infinite;
}
@media screen and (max-width: 767px) {
  .hero .scroll-icon {
    display: none;
  }
}

@keyframes line-keyframe {
  0% {
    height: 70px;
    top: 100%;
  }
  50% {
    height: 70px;
    top: 300%;
  }
  51% {
    height: 0;
    top: 100%;
  }
  100% {
    height: 70px;
  }
}
.hero__front {
  position: sticky;
  top: 0;
}
@media screen and (max-width: 767px) {
  .hero__front {
    position: relative;
    height: 100vh;
  }
}
.hero__front .hero-video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .hero__front .hero-video {
    width: auto;
  }
}
.hero__front .overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  -webkit-clip-path: inset(0% 0 0 0);
          clip-path: inset(0% 0 0 0);
  margin-left: 0;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .hero__front .overlay {
    display: block;
  }
}
.hero__front .video-mask {
  position: absolute;
  top: 0;
  left: 0;
  height: 150vh;
  width: 150vw;
  z-index: 2;
}
.hero__front .video-mask img {
  width: 200%;
}
@media screen and (max-width: 767px) {
  .hero__front .video-mask img {
    width: auto;
    height: 100%;
  }
}
.hero__front .video {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 150vh;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .hero__front .video {
    position: relative;
    width: auto;
  }
}
.hero__front .hero-text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 19.635%;
  min-width: 320px;
  max-width: 473px;
  transform: translate(-50%, -50%);
  margin-left: 0;
  transition: all 0.3s ease;
}
.hero__front .hero-text .hero-title {
  position: static;
  width: 100%;
  top: inherit;
  text-shadow: #000 15px 0 20px;
}
.hero__front .hero-read {
  font-size: 54px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 10px;
  text-shadow: #000 15px 0 20px;
}
.hero__front .hero-read span {
  font-size: 38px;
  color: #fff;
  font-weight: 700;
}
.hero__front .hero-read i {
  font-style: normal;
  font-size: 54px;
  color: #fff;
  font-weight: 700;
  font-family: "Oswald", sans-serif;
}

.hero__bottom {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100vh;
  opacity: 0;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .hero__bottom {
    opacity: 1;
    display: block;
    height: auto;
    background: url(../img/bg.jpg) no-repeat 50% 50%;
    background-size: cover;
    padding: 40px 2.5%;
  }
}
.hero__bottom--textArea {
  width: 70%;
  margin-right: 9.3%;
}
@media screen and (max-width: 767px) {
  .hero__bottom--textArea {
    width: 100%;
    margin: 0;
  }
}
.hero__bottom--textArea figure {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .hero__bottom--textArea figure {
    margin: 15px 0;
  }
  .hero__bottom--textArea figure img {
    width: 100%;
  }
}
.hero__bottom .en-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .hero__bottom .en-title {
    font-size: 12px;
  }
}
.hero__bottom h2 {
  color: #fff;
  font-weight: 500;
}
.hero__bottom h2 .large {
  font-size: 70px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .hero__bottom h2 .large {
    font-size: 40px;
  }
}
.hero__bottom h2 .middle {
  font-size: 50px;
  display: block;
  margin-left: 4em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .hero__bottom h2 .middle {
    font-size: 36px;
    margin-left: 2em;
  }
}
.hero__bottom h2 .small {
  font-size: 36px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .hero__bottom h2 .small {
    font-size: 28px;
  }
}
.hero__bottom--read {
  color: #fff;
  font-weight: 500;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .hero__bottom--read {
    margin-top: 15px;
    font-size: 14px;
  }
}
.hero__bottom--read span {
  color: #fff532;
}
.hero__bottom--movArea {
  position: relative;
  width: 30%;
  max-width: 375px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .hero__bottom--movArea {
    width: 80%;
    margin: 0 auto;
  }
}
.hero__bottom--movArea video {
  width: 100%;
  border-radius: 20px;
  vertical-align: bottom;
}
.hero__bottom--movArea .video-mask {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.hero__bottom--movArea .video-mask img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .hero__bottom--movArea .video-mask img {
    width: 100%;
    height: 100%;
  }
}
.hero__bottom--inner__text {
  width: 100%;
  padding: 0 8%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
}
.hero__bottom--inner__text .hero-read {
  font-size: 36px;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 5px;
  text-shadow: #000 15px 0 20px;
}
.hero__bottom--inner__text .hero-read span {
  color: #fff;
  font-weight: 700;
  font-size: 28px;
}
.hero__bottom--inner__text .hero-read i {
  font-size: 36px;
  color: #fff;
  font-weight: 700;
  font-style: normal;
  font-family: "Oswald", sans-serif;
}
.hero__bottom--inner__text .hero-title {
  position: static;
  display: block;
  width: 100%;
  text-shadow: #000 15px 0 20px;
}

.example {
  background: url(../img/bg2.jpg) no-repeat 50% 50%;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .example {
    padding-top: 30px;
  }
}
.example .en-title {
  font-size: min(18.22vw, 350px);
  color: #f1f1f1;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .example .en-title {
    font-size: 110px;
  }
}
.example h2 {
  text-align: center;
  font-size: min(2.604vw, 50px);
  color: #104094;
  font-weight: 700;
  margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
  .example h2 {
    margin-top: -20%;
    font-size: 36px;
  }
}
.example h2 span {
  font-size: min(2.604vw, 50px);
  color: #104094;
  font-family: "Oswald", sans-serif;
}
@media screen and (max-width: 767px) {
  .example h2 span {
    font-size: 26px;
    display: block;
  }
}
.example--tabArea {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 100px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .example--tabArea {
    padding-bottom: 50px;
  }
}
.example--tabArea .tab-arrow {
  background: #09152A;
  display: inline-block;
  position: absolute;
  top: 35%;
  left: 1.3%;
  transform: translateX(-50%);
  padding: 10px;
  z-index: 2;
  border: 1px solid #09152A;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .example--tabArea .tab-arrow {
    left: 0.7%;
  }
}
.example--tabArea .tab-arrow.tab-arrow-right {
  left: 97.7%;
}
@media screen and (max-width: 767px) {
  .example--tabArea .tab-arrow.tab-arrow-right {
    left: 95.7%;
  }
}
.example--tabArea .tab-arrow.tab-arrow-left {
  transform: rotate(180deg);
}
.example--tabArea .tab-arrow span {
  position: relative;
  display: inline-block;
  width: 7px;
  height: 11px;
}
.example--tabArea .tab-arrow span:after, .example--tabArea .tab-arrow span:before {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 8.6px;
  height: 1px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 0.5px) 50%;
}
.example--tabArea .tab-arrow span:after {
  transform: rotate(-49.4deg);
}
.example--tabArea .tab-arrow span:before {
  transform: rotate(49.4deg);
}
.example--tabArea .tab-arrow:hover {
  background: #fff;
}
.example--tabArea .tab-arrow:hover span:before, .example--tabArea .tab-arrow:hover span:after {
  background: #09152A;
}

.tab--content {
  display: none;
}
.tab--content .video {
  width: 100%;
}
.tab--content.tab-active {
  display: block;
}
.tab--content img {
  width: 100%;
}
.tab--menu {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .tab--menu {
    flex-wrap: wrap;
  }
}
.tab--menu li {
  margin: 0 20px;
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  border: 4px solid rgba(92, 92, 92, 0.5);
  border-radius: 5px;
  background: rgba(92, 92, 92, 0.5);
  background-clip: padding-box;
  padding: 5px 10px 7px;
  cursor: pointer;
  transition: all 0.3s;
}
.tab--menu li:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .tab--menu li {
    font-size: 16px;
    margin: 5px;
  }
}
.tab--menu li:first-child {
  margin-left: 0;
}
.tab--menu li:last-child {
  margin-right: 0;
}
.tab--menu li.tab-current {
  border: 4px solid;
  border-image-source: linear-gradient(162.87deg, #0BA3CF 7.28%, #11C0C0 51.27%, #A58DB1 97%);
  border-image-slice: 1;
  color: #104094;
  background: #fff;
}

.merit {
  background: url(../img/bg3.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: 100px 0 0;
}
@media screen and (max-width: 767px) {
  .merit {
    padding: 50px 0 0;
  }
}
.merit .en-title {
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .merit .en-title {
    font-size: 18px;
  }
}
.merit h2 {
  font-size: 40px;
  color: #fff;
  font-weight: 700;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .merit h2 {
    font-size: 32px;
  }
}
.merit h3 {
  font-family: "Oswald", sans-serif;
  font-size: 90px;
  color: #fff;
  font-weight: 700;
  text-align: right;
  line-height: 1;
  background: radial-gradient(80% 80% at 0% 20%, #72E2FF 0%, #FFFFFF 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .merit h3 {
    font-size: 65px;
    text-align: left;
  }
  .merit h3 + p {
    font-size: 24px;
    color: #fff;
    font-weight: 700;
  }
}
.merit .merit-item-read {
  font-size: 18px;
  color: #fff;
  font-weight: 500;
  line-height: 1.8;
  margin: 30px 0;
}
@media screen and (max-width: 767px) {
  .merit .merit-item-read {
    font-size: 14px;
    margin-top: 10px;
  }
}
.merit li {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .merit li {
    margin-bottom: 15px;
  }
}
.merit li img {
  width: 100%;
}
.merit .merit-item-left {
  width: 58.091%;
  max-width: 760px;
}
@media screen and (max-width: 767px) {
  .merit .merit-item-left {
    width: 100%;
  }
}
.merit .merit-item-middle {
  width: 40px;
  writing-mode: vertical-rl;
  margin: 0 25px 0 35px;
}
.merit .merit-item-middle p {
  font-size: 40px;
  color: #fff;
  font-weight: 500;
}
.merit .merit-item-right {
  width: 32.293%;
  max-width: 427px;
}
@media screen and (max-width: 767px) {
  .merit .merit-item-right {
    width: 100%;
  }
}
.merit .merit-item-right img {
  width: 100%;
}
.merit .merit-inner-bg {
  background: radial-gradient(12.15% 24.56% at 3.08% 3.01%, #296484 0%, #122F54 100%);
  padding: 25px;
}
@media screen and (max-width: 767px) {
  .merit .merit-inner-bg {
    padding: 10px;
  }
}
.merit .merit-offer {
  font-size: 10px;
  color: #fff;
  margin-top: 5px;
}
.merit .merit-offer a {
  font-size: 10px;
  color: #87c1ff;
  text-decoration: underline;
}
.merit .sticky_content {
  position: sticky;
  top: 0;
  background: url(../img/bg3.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.merit .sticky_inner {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 50px 2.5%;
}
@media screen and (max-width: 767px) {
  .merit .sticky_inner {
    display: block;
  }
}
.merit .merit-item-img {
  width: 60%;
  margin: 0 auto;
}
.merit .merit-item-img img {
  width: 100%;
}
.merit .merit-mov {
  position: relative;
}
.merit .merit-mov video {
  width: 100%;
  border-radius: 90px;
}
@media screen and (max-width: 767px) {
  .merit .merit-mov video {
    margin-bottom: 15px;
    border-radius: 50px;
  }
}
.merit .merit-mov figure {
  position: absolute;
  top: -4px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .merit .is-sticky-subtitle,
  .merit .is-sticky-maintitle {
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
}

.service {
  background: url(../img/bg2.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: 80px 0 200px;
}
@media screen and (max-width: 767px) {
  .service {
    padding: 40px 0;
  }
}
.service--feature {
  background: url(../img/bg.jpg) no-repeat 0 0;
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 50px 50px;
  border-radius: 120px 20px 120px 20px;
}
@media screen and (max-width: 767px) {
  .service--feature {
    padding: 20px 2.5% 30px;
    border-radius: 40px 5px 40px 5px;
  }
}
.service--feature h2 {
  font-size: 40px;
  color: #fff;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .service--feature h2 {
    font-size: 32px;
  }
}
.service--feature h2 img {
  width: 156px;
  vertical-align: text-top;
}
@media screen and (max-width: 767px) {
  .service--feature h2 img {
    display: block;
    margin: 0 auto 5px;
  }
}
.service--feature__points {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .service--feature__points {
    display: block;
  }
}
.service--feature .point {
  background: #fff;
  width: 31.3%;
  border-radius: 10px;
  padding: 10px 18px 20px;
}
@media screen and (max-width: 767px) {
  .service--feature .point {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 15px;
  }
  .service--feature .point .point-imgWrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
}
.service--feature .point-num {
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  background: #104094;
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
  border-radius: 50px;
  text-align: center;
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  .service--feature .point-num {
    width: 50px;
  }
}
.service--feature .point-img {
  height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .service--feature .point-img {
    width: 100%;
  }
}
.service--feature .point-img img {
  max-width: 100%;
}
.service--feature .point-title {
  margin-top: 10px;
  text-align: center;
  color: #104094;
  font-size: 24px;
}
.service--feature .point-read {
  font-weight: 500;
  margin-top: 5px;
  letter-spacing: 0.05em;
}
.service--location {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .service--location {
    margin-top: 50px;
    position: relative;
    z-index: 1;
  }
}
.service--location__cards {
  display: flex;
  justify-content: center;
  padding: 0 2.5%;
}
@media screen and (max-width: 1030px) {
  .service--location__cards {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .service--location__cards {
    display: block;
  }
}
.service--location .card {
  width: 25%;
  max-width: 346px;
  margin: 0 15px;
  padding: 250px 10px 10px 10px;
  border-radius: 20px;
}
@media screen and (max-width: 1030px) {
  .service--location .card {
    width: 48%;
    margin: 0 10px 15px;
  }
}
@media screen and (max-width: 767px) {
  .service--location .card {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 15px;
  }
}
.service--location .card:first-child {
  margin-left: 0;
  background: url(../img/location-img01.png) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 1030px) {
  .service--location .card:first-child {
    margin: 0 10px 15px;
  }
}
@media screen and (max-width: 767px) {
  .service--location .card:first-child {
    margin: 0 auto 15px;
  }
}
.service--location .card:nth-child(2) {
  background: url(../img/location-img02.png) no-repeat 50% 0;
  background-size: cover;
}
.service--location .card:nth-child(3) {
  background: url(../img/location-img03.png) no-repeat 50% 0;
  background-size: cover;
}
.service--location .card:last-child {
  margin-right: 0;
  background: url(../img/location-img04.png) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 1030px) {
  .service--location .card:last-child {
    margin: 0 10px 15px;
  }
}
@media screen and (max-width: 767px) {
  .service--location .card:last-child {
    margin: auto;
  }
}
.service--location .card-textArea {
  background: rgba(77, 65, 58, 0.74);
  border-radius: 10px;
  padding: 15px 20px;
}
.service--location .card-title {
  font-size: 24px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .service--location .card-title {
    font-size: 20px;
  }
}
.service--location .card-tag {
  font-size: 14px;
  color: #fff;
  text-align: center;
  margin: 5px 0 7px;
}
.service--location .card-read {
  color: #fff;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .service--location .card-read {
    font-size: 14px;
  }
}
.service--location .card-read:before {
  content: "";
  display: block;
  width: 15%;
  height: 2px;
  background: #fff;
  margin: 0 auto 10px;
}
.service--platform {
  width: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
  .service--platform {
    margin-bottom: 30px;
  }
}
.service--platform--outer {
  padding-top: 60px;
  padding-bottom: 30px;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .service--platform--outer {
    padding-bottom: 0;
    width: 95%;
  }
}
.service--platform--inner {
  width: 95%;
  max-width: 1100px;
  margin: 35px auto 0;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .service--platform--inner {
    display: block;
    padding: 30px 15px;
    margin: 0 auto;
    line-height: 1.3;
  }
}
.service--platform__text {
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .service--platform__text {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .service--platform__social {
    margin-top: 20px;
  }
  .service--platform__social img {
    width: 100%;
  }
}
.service--platform h3 {
  font-size: 24px;
  color: #104094;
}
@media screen and (max-width: 767px) {
  .service--platform h3 {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.service--platform p {
  color: #122051;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .service--platform p {
    font-size: 14px;
  }
}

.plan {
  background: #180d0d url(../img/bg4.jpg) no-repeat 50% 50%;
  background-size: cover;
  border-radius: 60px;
  margin-top: -100px;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .plan {
    border-radius: 30px;
    margin-top: -10%;
    padding: 50px 2.5%;
  }
}
.plan--topbox {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .plan--topbox {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .plan--topbox__left {
    display: flex;
    align-items: center;
  }
}
.plan--topbox__left .en-title {
  font-size: 140px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  background: radial-gradient(100% 50% at 0% 0%, #72E2FF 0%, #FFFFFF 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .plan--topbox__left .en-title {
    font-size: 89px;
  }
}
.plan--topbox__left h2 {
  font-size: 26px;
  color: #fff;
  font-weight: 500;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .plan--topbox__left h2 {
    font-size: 24px;
    padding-top: 5%;
    margin-left: 5%;
  }
}
.plan--topbox__right {
  background: #fff url(../img/bg5.png) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  max-width: 732px;
  border-radius: 120px 20px 120px 20px;
  padding: 10px 0 25px;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right {
    border-radius: 60px 10px 60px 10px;
    margin-top: 15px;
    padding: 5% 2.5%;
  }
}
.plan--topbox__right .cost-base {
  font-size: 40px;
  color: #104094;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-base {
    font-size: 23px;
  }
}
.plan--topbox__right .cost-num {
  font-family: "Oswald", sans-serif;
  font-size: 120px;
  color: #104094;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-num {
    font-size: 60px;
  }
}
.plan--topbox__right .cost-num span {
  font-size: 40px;
  line-height: 1.2;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-num span {
    font-size: 20px;
  }
}
.plan--topbox__right .cost-num i {
  display: inline-block;
  font-size: 24px;
  font-style: normal;
  text-align: center;
  line-height: 1.2;
  border: 3px solid #104094;
  border-radius: 5px;
  margin-left: 5px;
  padding: 10px;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-num i {
    font-size: 12px;
    padding: 7px;
  }
}
.plan--topbox__right .cost-unit {
  width: 100%;
  max-width: 573px;
  background: #104094;
  border-radius: 100px;
  margin: 20px auto 15px;
  padding: 5px 0;
  color: #fff;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-unit {
    font-size: 18px;
  }
}
.plan--topbox__right .cost-unit span {
  font-family: "Oswald", sans-serif;
  line-height: 1.3;
  color: #fff;
}
.plan--topbox__right .cost-unit span.large {
  font-size: 60px;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-unit span.large {
    font-size: 40px;
  }
}
.plan--topbox__right .cost-unit span.small {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-unit span.small {
    font-size: 16px;
  }
}
.plan--topbox__right .cost-option {
  width: 100%;
  max-width: 573px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-option tr, .plan--topbox__right .cost-option th, .plan--topbox__right .cost-option td {
    display: block;
  }
  .plan--topbox__right .cost-option tr {
    margin-bottom: 5px;
  }
}
.plan--topbox__right .cost-option th {
  border: 3px solid #104094;
  border-radius: 5px;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-option th {
    font-size: 18px;
    display: inline-block;
    margin-bottom: 5px;
  }
}
.plan--topbox__right .cost-option td {
  font-size: 18px;
  color: #104094;
  font-weight: 700;
  line-height: 1.9;
  padding-left: 10px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-option td {
    font-size: 14px;
  }
}
.plan--topbox__right .cost-option td span {
  font-family: "Oswald", sans-serif;
  font-size: 26px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .plan--topbox__right .cost-option td span {
    font-size: 20px;
  }
}
.plan--info {
  padding: 50px 25px;
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .plan--info {
    padding: 0;
    margin: 30px auto;
  }
}
.plan--info li {
  color: #fff;
  font-weight: 500;
  margin-bottom: 5px;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .plan--info li {
    font-size: 16px;
    text-align: left;
  }
}
.plan--info li a {
  color: #87c1ff;
  font-size: 20px;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .plan--info li a {
    font-size: 16px;
  }
}
.plan--bottombox {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .plan--bottombox {
    display: block;
  }
  .plan--bottombox .award-item-img {
    width: 70%;
    margin: 0 auto;
  }
  .plan--bottombox .award-item-img img {
    width: 100%;
  }
}
.plan--bottombox__left {
  margin-right: 20px;
  padding-top: 20px;
  letter-spacing: 0.05em;
}
.plan--bottombox__left p {
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .plan--bottombox__left {
    font-size: 14px;
  }
}
.plan--bottombox__left ul {
  background: #141834;
  border-radius: 10px;
  margin-top: 55px;
  padding: 20px 20px 10px;
}
.plan--bottombox__left li {
  margin-bottom: 10px;
  font-size: 14px;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .plan--bottombox__left li {
    display: flex;
    align-items: center;
  }
}
.plan--bottombox__left li:before {
  content: "ー";
  padding-right: 10px;
}
.plan--bottombox__right {
  filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.8));
}
.plan--flow {
  width: 100%;
  max-width: 1100px;
  margin: 120px auto 0;
}
@media screen and (max-width: 767px) {
  .plan--flow {
    margin: 50px auto 0;
  }
}
.plan--flow h2 {
  font-size: 40px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .plan--flow h2 {
    font-size: 32px;
  }
}
.plan--flow__inner {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .plan--flow__inner {
    margin-top: 10px;
  }
}
.plan--flow__index {
  width: 300px;
  height: 100%;
  margin-right: 2.5%;
  position: sticky;
  top: 0;
}
.plan--flow__index li {
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid;
  -o-border-image: linear-gradient(to right, #6db3ff 0%, #6db3ff 25%, #fff 26%, #fff 100%) 1;
     border-image: linear-gradient(to right, #6db3ff 0%, #6db3ff 25%, #fff 26%, #fff 100%) 1;
}
.plan--flow__index span {
  font-family: "Oswald", sans-serif;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  font-size: 20px;
  vertical-align: sub;
  padding-right: 15px;
}
.plan--flow__index li.flow-active {
  color: #87c1ff;
  border-bottom: 1px solid #87c1ff;
}
.plan--flow__index li.flow-active span {
  color: #87c1ff;
}
.plan--flow__contents li {
  background: rgba(20, 24, 52, 0.6);
  margin-bottom: 30px;
  padding: 20px 30px;
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li {
    border-radius: 10px;
  }
}
.plan--flow__contents li:last-child {
  margin-bottom: 0;
}
.plan--flow__contents li h3 {
  font-size: 24px;
  color: #87c1ff;
  font-weight: 700;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid;
  -o-border-image: linear-gradient(to right, #6db3ff 0%, #6db3ff 25%, #fff 26%, #fff 100%) 1;
     border-image: linear-gradient(to right, #6db3ff 0%, #6db3ff 25%, #fff 26%, #fff 100%) 1;
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li h3 {
    font-size: 20px;
    text-indent: -2.2em;
    padding-left: 2em;
    margin-bottom: 15px;
  }
}
.plan--flow__contents li span {
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  color: #87c1ff;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li span {
    font-size: 24px;
  }
}
.plan--flow__contents li span:last-child {
  font-size: 16px;
  color: #fff;
  margin-left: 20px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li span:last-child {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li .en-subTitle {
    font-size: 14px;
    display: block;
    padding-left: 2.8em;
  }
}
.plan--flow__contents li p {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .plan--flow__contents li p {
    font-size: 14px;
  }
}
.plan--flow__contents li .flow-offer {
  font-size: 12px;
}

.contact {
  width: 100%;
  max-width: 550px;
  margin: 85px auto;
}
@media screen and (max-width: 767px) {
  .contact {
    margin: 40px auto;
  }
}
.contact h2 {
  font-size: 50px;
  color: #104094;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact h2 {
    font-size: 32px;
  }
}
.contact .table_form {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .contact .table_form {
    width: 90%;
    margin: 15px auto 0;
  }
}
.contact .table_form tr, .contact .table_form td {
  display: block;
  font-size: 14px;
  font-weight: 500;
}
.contact .table_form tr {
  margin-bottom: 50px;
}
.contact .table_form td:first-child {
  margin-bottom: 5px;
}
.contact .table_form .input-nameArea {
  display: flex;
  justify-content: space-between;
}
.contact .table_form .input-nameArea div {
  width: 48%;
}
.contact .table_form input {
  width: 100%;
  background: #e4edf8;
  font-size: 16px;
  margin-top: 3px;
  padding: 10px 10px 12px;
}
.contact .table_form input::-moz-placeholder {
  color: #ccc;
}
.contact .table_form input::placeholder {
  color: #ccc;
}
.contact .table_form textarea {
  width: 100%;
  min-height: 220px;
  background: #e4edf8;
  margin-top: 3px;
}
.contact .table_form .check-privacy {
  font-size: 14px;
  color: #122051;
  text-align: center;
  margin: 20px 0 40px;
}
@media screen and (max-width: 767px) {
  .contact .table_form .check-privacy {
    margin: 0;
    text-align: left;
  }
}
.contact .table_form .check-privacy label {
  position: relative;
  display: flex;
  height: 3em;
  align-items: center;
}
.contact .table_form .check-privacy label span {
  padding-left: 10px;
}
.contact .table_form .check-privacy label:before {
  content: "";
  display: block;
  box-sizing: border-box;
  height: 21px;
  width: 21px;
  border: solid 1px #ddd;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .contact .table_form .check-privacy label:before {
    width: 29px;
  }
}
.contact .table_form .check-privacy label:after {
  content: "";
  display: block;
  box-sizing: border-box;
  border-radius: 50%;
  height: 12px;
  width: 12px;
  position: absolute;
  background: #fff;
  left: 5px;
  transition: 0.3s;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .contact .table_form .check-privacy label:after {
    left: 3.5px;
  }
}
.contact .table_form .check-privacy input[type=checkbox]:checked + label:before {
  background: #09152A;
}
.contact .table_form .check-privacy input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.contact .table_form .check-privacy input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contact .table_form .check-privacy a {
  color: #519bc6;
  text-decoration: underline;
}
.contact .table_form .btn-submit {
  width: 95%;
  max-width: 400px;
  margin: 0 auto;
}
.contact .table_form .btn-submit input {
  background: #d64242 url(../img/arrow-right-w.png) no-repeat 95% 50%;
  border-radius: 100px;
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  transition: all 0.3s;
}
.contact .table_form .btn-submit input:hover {
  opacity: 0.7;
}
.contact .table_form .btn-submit input:disabled {
  background: #999 url(../img/arrow-right-w.png) no-repeat 95% 50%;
}
.contact .table_form .btn-submit input:disabled:hover {
  opacity: 1;
}
.contact .table_form .req {
  font-size: 12px;
  color: #fff;
  font-weight: 500;
  background: linear-gradient(90.05deg, #467EC5 7.93%, #0C223E 85.76%);
  padding: 3px 5px 4px;
  margin-right: 7px;
}
.contact .validate-error {
  color: #d7170a;
}
.contact .validate-error.hidden {
  display: none;
}
.contact .privacy-error-text {
  text-align: center;
}

.faq {
  width: 95%;
  max-width: 1100px;
  margin: 130px auto;
}
@media screen and (max-width: 767px) {
  .faq {
    margin: 40px auto 120px;
  }
}
.faq h2 {
  font-size: 50px;
  color: #104094;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .faq h2 {
    font-size: 32px;
  }
}
.faq--acc {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .faq--acc {
    margin-top: 10px;
  }
}
.faq .acc__question {
  width: 100%;
  font-size: 24px;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  background: #131f42;
  margin-top: 5px;
  padding: 20px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .faq .acc__question {
    font-size: 16px;
    padding: 10px;
  }
}
.faq .acc__question:before {
  content: "Q1";
  display: flex;
  align-items: center;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .faq .acc__question:before {
    margin-right: 10px;
  }
}
.faq .acc__question:after {
  content: "";
  background: url(../img/arrow-circle.png) no-repeat 100% 50%;
  width: 57px;
  height: 44px;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .faq .acc__question:after {
    background-size: 22px 22px;
    margin-left: 10px;
  }
}
.faq .acc__question.acc-active:after {
  background: url(../img/arrow-circle.png) no-repeat 100% 50%;
  transform: scale(1, -1);
}
@media screen and (max-width: 767px) {
  .faq .acc__question.acc-active:after {
    background-size: 22px 22px;
    margin-left: 10px;
  }
}
.faq .acc__answer {
  background: #f2f2f3;
  padding: 20px 80px;
  letter-spacing: 0.04em;
  display: none;
}
@media screen and (max-width: 767px) {
  .faq .acc__answer {
    padding: 10px 50px;
  }
}
.faq .acc__answer.acc-active {
  display: block;
}
.faq .question02:before {
  content: "Q2";
}
.faq .question03:before {
  content: "Q3";
}
.faq .question04:before {
  content: "Q4";
}
.faq .question05:before {
  content: "Q5";
}
.faq .question06:before {
  content: "Q6";
}
.faq .question07:before {
  content: "Q7";
}

#vai-thanks .top_link {
  display: none;
}

.thanksPage {
  text-align: center;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .thanksPage {
    padding: 0 2.5%;
  }
}
.thanksPage h2 {
  font-size: 32px;
  color: #104094;
  padding-top: 100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .thanksPage h2 {
    font-size: 24px;
  }
  .thanksPage h2 + p {
    font-size: 14px;
    text-align: left;
  }
}
.thanksPage .btn-return {
  margin: 70px auto 25px;
  width: 95%;
  max-width: 400px;
}
.thanksPage .btn-return a {
  background: #104094 url(../img/arrow-left-w.png) no-repeat 5% 50%;
  border-radius: 100px;
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  transition: all 0.3s;
  padding: 14px 0;
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  .thanksPage .btn-return a {
    font-size: 18px;
  }
}
.thanksPage .btn-return a:hover {
  opacity: 0.7;
}
.thanksPage .return-serviceSite {
  margin-bottom: 140px;
}
.thanksPage .return-serviceSite a {
  text-decoration: underline;
  color: #104094;
}
.thanksPage .return-serviceSite a:hover {
  text-decoration: none;
  color: #d7170a;
}/*# sourceMappingURL=style.css.map */