/*******************
value 
*******************/
/*******************
mixin
*******************/
/*******************
common
*******************/
body {
  letter-spacing: 0.1em;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  line-height: 1.75;
}

.wrapper {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .wrapper {
    padding: 0 5vw;
  }
}
.centering {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .wrapper {
    max-width: 100%;
    width: 100%;
  }
}
/*******************
header
*******************/
.header {
  background: #fff;
  padding: 10px 0;
}
.header .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__logo {
  width: 170px;
}
.header__logo img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .header {
    display: block;
  }
  .header__logo {
    margin: 0 auto;
  }
}
.gnav__list {
  display: flex;
  gap: 40px;
}
.gnav__item a {
  padding: 10px 0;
  font-size: 15px;
  text-decoration: none;
  color: inherit;
}

@media screen and (max-width: 768px) {
  .gnav {
    display: none;
  }
}
/*******************
sec
*******************/
.ttl-lv2 {
  font-size: 32px;
  text-align: center;
  color: #0063b4;
  margin-bottom: 50px;
  font-weight: 500;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .ttl-lv2 {
    margin-bottom: 6vw;
  }
}
.sec__ttl {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 50px;
}
.sec + .sec {
  margin-top: 120px;
}
.sec.-center {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sec__ttl {
    margin-bottom: 4vw;
  }
}
.bg-gray {
  padding: 100px 0;
  background: linear-gradient(150deg, #fafafa, #f2f2f2);
}

@media screen and (max-width: 768px) {
  .bg-gray {
    padding: 12vw 0;
  }
}
.txt {
  font-size: 15px;
}

@media screen and (max-width: 768px) {
  .txt {
    font-size: 3.4vw;
  }
}
.table-df tr {
  border-bottom: 1px solid #dedede;
}
.table-df th, .table-df td {
  padding: 20px;
}

@media screen and (max-width: 768px) {
  .table-df th {
    width: 26%;
  }
}
.mainVisual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30vw;
  margin-bottom: 100px;
  background: url(../images/mainVisual.jpg) center/cover;
  text-align: center;
}
.mainVisual::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateY(50%);
  width: 1px;
  height: 80px;
  background: linear-gradient(to bottom, #fff 0%, #fff 50%, #0063b4 51%, #0063b4 100%);
  z-index: 3;
}
.mainVisual::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(150deg, #23d6cd, #0063b4);
  opacity: 0.7;
  z-index: 1;
}
.mainVisual__cont {
  position: relative;
  text-align: center;
  color: #fff;
  z-index: 2;
}
.mainVisual__ttl {
  margin-bottom: 48px;
  font-size: 42px;
  font-weight: 700;
}
.mainVisual__txt {
  max-width: 600px;
  margin: 0 auto;
  font-size: 15px;
}

@media screen and (max-width: 768px) {
  .mainVisual {
    height: 60vw;
  }
  .mainVisual__ttl {
    margin-bottom: 6vw;
    font-size: 6vw;
  }
  .mainVisual__txt {
    font-size: 12px;
    padding: 0 10vw;
  }
}
/*******************
footer
*******************/
.footer .copy {
  background: #0063b4;
  padding: 8px 0;
  text-align: center;
  color: #fff;
  font-size: 12px;
}/*# sourceMappingURL=common.css.map */