@charset "UTF-8";
:root {
  --inner-scale: 1;
  --fz-ratio: 1;
  --pcw: 1200px;
  --sw: 1;
  --sw1: 1;
  --vw-base: calc(1200 / var(--inner-scale));
}
@media screen and (min-width: 1921px) {
  :root {
    --vw-base: calc(1920 / var(--inner-scale));
    --pcw: 1920px;
    --sw: -1;
    --sw1: 1;
  }
}
@media screen and (max-width: 1920px) and (min-width: 1201px) {
  :root {
    --vw-base: calc(1200 / var(--inner-scale));
    --pcw: 1200px;
    --sw: 1;
    --sw1: -1;
  }
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  :root {
    --vw-base: calc(1200 / var(--inner-scale));
    --pcw: 1200px;
    --sw: -1;
    --sw1: 1;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --fz-ratio: 1.0;
    --inner-scale: 1;
    --vw-base: 375;
    --sw: -1;
    --sw1: 1;
  }
}

/* ===============================
  トップページ
=============================== */
img {
  display: block;
}

main {
  width: 100%;
  overflow: hidden;
}

@media screen and (min-width: 1200px) and (max-width: 1920px) {
  .main_wrap {
    width: 1920px;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .main_wrap {
    margin-left: 50%;
    transform: translateX(-50%);
    width: 160vw;
  }
}

.sec01 {
  position: relative;
}
.sec01 .cta {
  position: absolute;
  top: 89.2%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .sec01 .cta {
    top: 92.2%;
  }
}

.sec03 {
  position: relative;
}
.sec03 .mov {
  position: absolute;
  top: 37.9%;
  left: 50%;
  width: 42%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .sec03 .mov {
    top: 35.2%;
    width: 80%;
  }
}
.sec03 .mov iframe {
  width: 100%;
  aspect-ratio: 800/451;
  height: auto;
}

.sec04 {
  position: relative;
}
.sec04 .cta {
  position: absolute;
  top: 87.3%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24.2%;
}
@media (max-width: 767px) {
  .sec04 .cta {
    position: absolute;
    top: 89.1%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 86.2%;
  }
}

.sec05 {
  position: relative;
}
.sec05 .cta {
  position: absolute;
  top: 96.9%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24.2%;
}
@media (max-width: 767px) {
  .sec05 .cta {
    position: absolute;
    top: 97.4%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 86.2%;
  }
}

.sec09 {
  position: relative;
}
.sec09 .cta {
  position: absolute;
  top: 93%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25.2%;
}
@media (max-width: 767px) {
  .sec09 .cta {
    position: absolute;
    top: 95.3%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85.6%;
  }
}

.sec10 {
  position: relative;
}
.sec10 .cta01,
.sec10 .cta02,
.sec10 .cta03 {
  aspect-ratio: 554/129;
}
.sec10 .cta01 {
  position: absolute;
  top: 88.5%;
  left: 37.9%;
  transform: translate(-50%, -50%);
  width: 14.6%;
}
.sec10 .cta01::before {
  background: #8AA5B6;
}
.sec10 .cta02 {
  position: absolute;
  top: 88.5%;
  left: 53.4%;
  transform: translate(-50%, -50%);
  width: 14.6%;
}
.sec10 .cta02::before {
  background: #000549;
}
.sec10 .cta03 {
  position: absolute;
  top: 88.5%;
  left: 68.9%;
  transform: translate(-50%, -50%);
  width: 14.6%;
}
.sec10 .cta03::before {
  background: #BC8329;
}
@media (max-width: 767px) {
  .sec10 .table-wrap {
    position: absolute;
    top: 21%;
    left: 50%;
    transform: translate(-50%, 0%);
    overflow: scroll;
    width: max(335 * 100vw / var(--vw-base) * var(--sw1), 335/var(--vw-base) * var(--pcw) * var(--sw));
    height: max(615 * 100vw / var(--vw-base) * var(--sw1), 615/var(--vw-base) * var(--pcw) * var(--sw));
    aspect-ratio: unset;
  }
  .sec10 .table-wrap .table {
    width: max(624 * 100vw / var(--vw-base) * var(--sw1), 624/var(--vw-base) * var(--pcw) * var(--sw));
    max-width: unset;
  }
  .sec10 .cta01 {
    position: absolute;
    top: 89.7%;
    left: 50.3%;
    transform: translate(-50%, -50%);
    width: 48.2%;
  }
  .sec10 .cta02 {
    position: absolute;
    top: 89.7%;
    left: 105.1%;
    transform: translate(-50%, -50%);
    width: 48.2%;
  }
  .sec10 .cta03 {
    position: absolute;
    top: 89.7%;
    left: 159.4%;
    transform: translate(-50%, -50%);
    width: 48.2%;
  }
}

.sec11 {
  position: relative;
}
.sec11 .cta {
  position: absolute;
  top: 90.7%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25.2%;
}
@media (max-width: 767px) {
  .sec11 .cta {
    position: absolute;
    top: 91.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 86%;
  }
}

.sec12 {
  background: #F7F7F7;
  padding: 4.3% 0 12.8%;
  position: relative;
}
@media (max-width: 767px) {
  .sec12 {
    padding: 8.3% 0 35.8%;
  }
}
.sec12 .cta {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -109%);
  width: 26.5%;
}
@media (max-width: 767px) {
  .sec12 .cta {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -77%);
    width: 86.5%;
  }
}
.sec12 .img01 {
  width: 12.5%;
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .sec12 .img01 {
    width: 40.5%;
  }
}
.sec12 .qa__items {
  border-radius: max(10 * 100vw / var(--vw-base) * var(--sw1), 10/var(--vw-base) * var(--pcw) * var(--sw));
  overflow: hidden;
  width: max(730 * 100vw / var(--vw-base) * var(--sw1), 730/var(--vw-base) * var(--pcw) * var(--sw));
  margin: 2.4% auto 0;
  display: flex;
  flex-direction: column;
  gap: max(18.5 * 100vw / var(--vw-base) * var(--sw1), 18.5/var(--vw-base) * var(--pcw) * var(--sw)) 0;
}
@media (max-width: 767px) {
  .sec12 .qa__items {
    width: 90%;
    margin-top: 11%;
  }
}
.sec12 .qa__q,
.sec12 .qa__a {
  background: #FFFFFF;
}
.sec12 .qa__q {
  font-weight: bold;
  font-size: max(20 * 100vw / var(--vw-base) * var(--sw1), 20/var(--vw-base) * var(--pcw) * var(--sw));
  color: #0B1B2C;
  padding: 1.3em 3em 1.1em;
  position: relative;
  cursor: pointer;
}
.sec12 .qa__q::after {
  content: "";
  position: absolute;
  background: url(../img/qa_q.svg) no-repeat center center/100%;
  aspect-ratio: 29/37;
  transform: translate(0%, -50%);
  width: 1.5em;
  left: 0.9em;
  top: 2em;
}
@media (max-width: 767px) {
  .sec12 .qa__q {
    font-size: max(15 * 100vw / var(--vw-base) * var(--sw1), 15/var(--vw-base) * var(--pcw) * var(--sw));
    padding: 0.7em 0.3em 1em 3.3em;
    min-height: max(55 * 100vw / var(--vw-base) * var(--sw1), 55/var(--vw-base) * var(--pcw) * var(--sw));
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sec12 .qa__q::after {
    width: 1.9em;
    left: 0.9em;
    top: 1.9em;
  }
}
.sec12 .qa__a {
  position: relative;
  font-weight: 500;
  font-size: max(16 * 100vw / var(--vw-base) * var(--sw1), 16/var(--vw-base) * var(--pcw) * var(--sw));
  color: #000E1E;
  padding: 1em 1.4em 0.7em 4em;
  line-height: 1.6;
}
.sec12 .qa__a::before {
  content: "";
  position: absolute;
  background: #000000;
  height: max(1 * 100vw / var(--vw-base) * var(--sw1), 1/var(--vw-base) * var(--pcw) * var(--sw));
  width: 95%;
  transform: translateX(-50%);
  left: 50%;
  top: 0em;
}
@media (max-width: 767px) {
  .sec12 .qa__a {
    font-size: max(13 * 100vw / var(--vw-base) * var(--sw1), 13/var(--vw-base) * var(--pcw) * var(--sw));
    padding: 0.8em 1em 1.1em 1em;
    line-height: 1.5;
  }
}

.sec13 {
  position: relative;
}
.sec13 .cta {
  position: absolute;
  top: 86.8%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25.2%;
}
@media (max-width: 767px) {
  .sec13 .cta {
    position: absolute;
    top: 89.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 86%;
  }
}

.sec14 {
  color: #fff;
  background: #0B1B2C;
  height: max(85 * 100vw / var(--vw-base) * var(--sw1), 85/var(--vw-base) * var(--pcw) * var(--sw));
  padding-top: max(20 * 100vw / var(--vw-base) * var(--sw1), 20/var(--vw-base) * var(--pcw) * var(--sw));
}
@media (max-width: 767px) {
  .sec14 {
    height: auto;
    padding: max(50 * 100vw / var(--vw-base) * var(--sw1), 50/var(--vw-base) * var(--pcw) * var(--sw)) 0 max(20 * 100vw / var(--vw-base) * var(--sw1), 20/var(--vw-base) * var(--pcw) * var(--sw));
    margin-bottom: max(70 * 100vw / var(--vw-base) * var(--sw1), 70/var(--vw-base) * var(--pcw) * var(--sw));
  }
}
.sec14 .link {
  display: flex;
  justify-content: center;
  gap: 0 max(50 * 100vw / var(--vw-base) * var(--sw1), 50/var(--vw-base) * var(--pcw) * var(--sw));
}
@media (max-width: 767px) {
  .sec14 .link {
    flex-direction: column;
    gap: max(30 * 100vw / var(--vw-base) * var(--sw1), 30/var(--vw-base) * var(--pcw) * var(--sw)) 0;
    align-items: center;
  }
}
.sec14 .link a {
  font-size: max(14 * 100vw / var(--vw-base) * var(--sw1), 14/var(--vw-base) * var(--pcw) * var(--sw));
}
.sec14 .copy {
  font-size: max(14 * 100vw / var(--vw-base) * var(--sw1), 14/var(--vw-base) * var(--pcw) * var(--sw));
  text-align: center;
  margin-top: 2em;
}
@media (max-width: 767px) {
  .sec14 .copy {
    margin-top: 4em;
  }
}

.float {
  position: fixed;
  z-index: 500;
  bottom: 40px;
  right: 0;
  width: max(388 * 100vw / var(--vw-base) * var(--sw1), 388/var(--vw-base) * var(--pcw) * var(--sw));
}
@media (max-width: 767px) {
  .float {
    aspect-ratio: 375/70;
    width: 100%;
    bottom: 0;
    background: rgba(52, 55, 103, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .float a {
    width: 75%;
    transform: translateY(5%);
  }
}

.c-btn::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 45%;
  left: 0;
  border-radius: max(50 * 100vw / var(--vw-base) * var(--sw1), 50/var(--vw-base) * var(--pcw) * var(--sw));
  -webkit-animation: anime 2s ease-out infinite;
          animation: anime 2s ease-out infinite;
}
.c-btn img {
  position: relative;
  z-index: 10;
}

@-webkit-keyframes anime {
  0% {
    transform: translateY(-50%) scale(0.8);
    opacity: 1;
  }
  90% {
    opacity: 0.12;
  }
  100% {
    transform: translateY(-50%) scale(1.1); /* 画像の場合は縦横比を崩さないよう等倍拡大がおすすめ */
    opacity: 0;
  }
}

@keyframes anime {
  0% {
    transform: translateY(-50%) scale(0.8);
    opacity: 1;
  }
  90% {
    opacity: 0.12;
  }
  100% {
    transform: translateY(-50%) scale(1.1); /* 画像の場合は縦横比を崩さないよう等倍拡大がおすすめ */
    opacity: 0;
  }
}
/*# sourceMappingURL=top.css.map */