@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* ======================================================================
 common
====================================================================== */
html {
  font-size: 0.6666666666666667vw;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 1.3333333333333335vw;
  }
}

body {
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', serif;
  color: #333;
  letter-spacing: .05rem;
  font-weight: 500;
}

a {
  text-decoration: none;
  color: #333;
}

img {
  width: 100%;
  vertical-align: bottom;
}

main {
  overflow: hidden;
  padding: 9rem 0 15rem;
}

@media screen and (max-width: 768px) {
  main {
    padding: 9.2rem 0 15rem;
  }
}

.anchor {
  display: block;
  position: relative;
  top: -9rem;
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  .anchor {
    top: -9.2rem;
  }
}

.inner {
  width: calc(100% - 50rem);
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 768px) {
  .inner {
    width: 92%;
  }
}

.sm {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .sm {
    display: block !important;
  }
  .md {
    display: none !important;
  }
}

.trans {
  opacity: 1;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

@media screen and (max-width: 768px) {
  .trans {
    -webkit-transition: none;
    transition: none;
  }
}

.trans:hover,
.trans:hover img {
  opacity: .6;
}

@media screen and (max-width: 768px) {
  .trans:hover,
  .trans:hover img {
    opacity: 1;
  }
}

.sec__ttl {
  font-weight: 900;
  text-align: center;
  font-size: 3.6rem;
}

@media screen and (max-width: 768px) {
  .sec__ttl {
    font-size: 4rem;
    line-height: 1.4;
  }
}

.sec__btn {
  cursor: pointer;
  border: none;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', serif;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 4rem;
  font-size: 2.6rem;
  width: 45rem;
  height: 8rem;
  background: #008bcd;
  color: #FFF;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .sec__btn {
    width: 60rem;
    height: 10.7rem;
    font-size: 3.47rem;
    border-radius: 5.35rem;
  }
}

.sec__numlist {
  margin: 0 9rem;
}

@media screen and (max-width: 768px) {
  .sec__numlist {
    margin: 0 4%;
  }
}

.sec__numlist li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  .sec__numlist li {
    display: block;
    margin-bottom: 7rem;
  }
}

.sec__numlist li:nth-child(2n) {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.sec__numlist li:nth-child(2n) .sec__numlist--desc {
  right: inherit;
  left: 0;
}

.sec__numlist li:nth-child(2n) .sec__numlist--num {
  right: inherit;
  left: 5rem;
}

@media screen and (max-width: 768px) {
  .sec__numlist li:nth-child(2n) .sec__numlist--num {
    right: 3rem;
    left: auto;
  }
}

.sec__numlist--img {
  overflow: hidden;
  border-radius: .5rem;
  width: 78rem;
}

@media screen and (max-width: 768px) {
  .sec__numlist--img {
    position: relative;
    width: 100%;
  }
}

.sec__numlist--desc {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFF;
  border-radius: .5rem;
  width: 65rem;
  padding: 8rem 5rem;
  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
  bottom: -5rem;
  right: 0;
}

@media screen and (max-width: 768px) {
  .sec__numlist--desc {
    position: relative;
    bottom: inherit;
    right: inherit;
    z-index: 1;
    margin: -3rem auto 0;
    width: 89.85507246376811%;
    padding: 6rem 3rem 3rem;
  }
}

.sec__numlist--num {
  color: #008bcd;
  font-size: 9rem;
  position: absolute;
  top: -4rem;
  right: 5rem;
}

.sec__numlist--ttl {
  font-weight: 900;
  font-size: 3rem;
  margin-bottom: 4rem;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sec__numlist--ttl {
    text-align: center;
    font-size: 3.6rem;
    line-height: 1.5;
    margin-bottom: 4rem;
  }
}

.sec__numlist--txt {
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .sec__numlist--txt {
    font-size: 2.4rem;
  }
}

.sec__table {
  width: 100%;
}

.sec__table--ttl {
  font-weight: 900;
  text-align: center;
  color: #FFF;
  background: #008bcd;
  font-size: 1.6rem;
  padding: 1.5rem 0;
}

@media screen and (max-width: 768px) {
  .sec__table--ttl {
    font-size: 2.6rem;
    padding: 2rem 0;
  }
}

.sec__table td, .sec__table th {
  border-bottom: 1px solid #EEE;
  padding: 1.5rem;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sec__table td, .sec__table th {
    font-size: 2.4rem;
    padding: 2rem;
  }
}

.sec__table th {
  width: 20%;
}

.sec__table thead th {
  font-weight: 900;
  border: none;
  background: #008bcd;
  color: #FFF;
  text-align: center;
}

.sec__table thead th:not(:first-child) {
  width: auto;
}

.sec__table tbody th {
  text-align: center;
}

.sec__table--cap {
  line-height: 1.7;
  font-size: 1.4rem;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .sec__table--cap {
    font-size: 2rem;
  }
}

/* ======================================================================
 header
====================================================================== */
.header {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.07);
          box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.07);
  padding: 1rem 3rem 2rem;
}

.header__logo {
  width: 16rem;
}

.header__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1rem;
}

.header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

@media screen and (max-width: 768px) {
  .header__btn {
    -webkit-box-ordinal-group: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
}

.header__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 2.5rem;
  font-size: 1.68rem;
  width: 18rem;
  height: 5rem;
}

@media screen and (max-width: 768px) {
  .header__btn a {
    font-size: 1.8rem;
    width: 20rem;
    height: 5.2rem;
    border-radius: 2.6rem;
    margin-right: 1rem;
    letter-spacing: 0;
  }
}

.header__btn a:not(:last-child) {
  margin-right: 1rem;
}

.header__btn--c01 {
  background: #008bcd;
  color: #FFF;
}

.header__btn--c02 {
  border: 1px solid #e8e8e8;
  background: #FFF;
  color: #008bcd;
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .header__nav {
    display: none;
    position: absolute;
    z-index: 999;
    top: 9rem;
    left: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: rgba(0, 139, 205, 0.9);
    padding: 2rem 0;
  }
}

.header__nav a {
  font-weight: 900;
  font-size: 1.6rem;
  margin-right: 3rem;
}

@media screen and (max-width: 768px) {
  .header__nav a {
    display: block;
    color: #FFF;
    text-align: center;
    padding: 3rem 0;
    font-size: 3rem;
  }
}

.header__hamburger {
  display: block;
  width: 5rem;
  height: 5rem;
  cursor: pointer;
  text-align: center;
  position: relative;
  top: .7rem;
}

.header__hamburger.active span:nth-child(1) {
  top: 1.6rem;
  left: .6rem;
  background: #333;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header__hamburger.active span:nth-child(2), .header__hamburger.active span:nth-child(3) {
  top: 1.6rem;
  background: #333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header__hamburger span {
  display: block;
  position: absolute;
  width: 100%;
  height: .4rem;
  left: .6rem;
  background: #333;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.header__hamburger span:nth-child(1) {
  top: 0;
}

.header__hamburger span:nth-child(2) {
  top: 1.5rem;
}

.header__hamburger span:nth-child(3) {
  top: 2.8rem;
}

/* ======================================================================
 footer
====================================================================== */
.footer__user {
  background: #008bcd;
  padding: 3rem 0 6rem;
}

@media screen and (max-width: 768px) {
  .footer__user {
    padding: 4rem 0 7rem;
  }
}

.footer__user--ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #FFF;
  font-weight: 900;
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .footer__user--ttl {
    font-size: 3.8rem;
  }
}

.footer__user--ttl img {
  width: 16rem;
  margin-right: .5rem;
}

@media screen and (max-width: 768px) {
  .footer__user--ttl img {
    width: 20rem;
  }
}

.footer__user--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .footer__user--list {
    display: block;
  }
}

.footer__user--list a {
  background: #FFF;
  width: 32%;
}

@media screen and (max-width: 768px) {
  .footer__user--list a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.footer__user--list a:not(:last-child) {
  margin-right: 2%;
}

@media screen and (max-width: 768px) {
  .footer__user--list a:not(:last-child) {
    margin: 0 0 2rem;
  }
}

@media screen and (max-width: 768px) {
  .footer__user--list-img {
    width: 32%;
  }
}

.footer__user--list-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #008bcd;
  font-weight: 900;
  font-size: 1.8rem;
  height: 5rem;
}

@media screen and (max-width: 768px) {
  .footer__user--list-ttl {
    width: 68%;
    height: auto;
    text-align: center;
    font-size: 3.6rem;
    line-height: 1.3888888888888888;
  }
}

.footer__cv {
  background: -webkit-gradient(linear, left top, right top, from(#c8e8ff), to(#8aefcc));
  background: linear-gradient(to right, #c8e8ff 0%, #8aefcc 100%);
  padding-top: .5rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .footer__cv {
    padding-top: 7rem;
  }
}

.footer__cv .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .footer__cv .inner {
    padding-bottom: 4rem;
    display: block;
  }
}

.footer__cv--img {
  width: 31.5rem;
  margin-left: -3rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--img {
    margin-left: 0;
    width: 34.2rem;
    position: absolute;
    z-index: 1;
    left: -5%;
    bottom: -2%;
  }
}

.footer__cv--desc {
  margin-left: -1.5rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--desc {
    margin-left: 0;
  }
}

.footer__cv--desc-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .footer__cv--desc-top {
    display: block;
  }
}

.footer__cv--desc-img {
  width: 30rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--desc-img {
    width: 50%;
    margin: 0 0 2rem 45%;
  }
}

.footer__cv--desc-ttl {
  font-weight: 900;
  color: #006acd;
  font-size: 4rem;
  line-height: 1.25;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--desc-ttl {
    text-align: center;
    font-size: 6rem;
  }
}

.footer__cv--txt {
  text-align: center;
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1.6666666666666667;
  margin: 2rem 0 3rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--txt {
    font-size: 2.2rem;
  }
}

.footer__cv--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  .footer__cv--btn {
    display: block;
    margin-left: 37%;
    position: relative;
    z-index: 2;
  }
}

.footer__cv--btn a {
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 3.1rem;
  font-size: 2.48rem;
  width: 31.5rem;
  height: 6.2rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--btn a {
    width: 44.6rem;
    height: 10.7rem;
    font-size: 3.5rem;
    border-radius: 5.35rem;
  }
}

.footer__cv--btn a:not(:last-child) {
  margin-right: 2rem;
}

@media screen and (max-width: 768px) {
  .footer__cv--btn a:not(:last-child) {
    margin: 0 0 2rem;
  }
}

.footer__cv--btn-c01 {
  background: #008bcd;
  color: #FFF;
}

.footer__cv--btn-c02 {
  background: #FFF;
  color: #008bcd;
}

.footer__menu {
  padding: 5rem 0;
}

@media screen and (max-width: 768px) {
  .footer__menu {
    padding: 2rem 0;
  }
}

.footer__menu--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .footer__menu--list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .footer__menu--list li {
    width: 50%;
  }
}

.footer__menu--list li a {
  display: block;
  font-size: 1.2rem;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .footer__menu--list li a {
    font-size: 2.2rem;
    line-height: 2.5;
  }
}

.footer__menu--list li a:first-child {
  font-weight: 900;
  color: #008bcd;
}

.footer__btm {
  background: #008bcd;
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.2rem;
  padding: 2rem 5rem;
}

@media screen and (max-width: 768px) {
  .footer__btm {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    padding: 3rem;
  }
}

.footer__btm--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .footer__btm--box {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .footer__btm--txt {
    margin: 1rem 0 3rem;
  }
}

.footer__btm--logo {
  width: 15.5rem;
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  .footer__btm--logo {
    display: block;
    width: 23.8rem;
    margin: 0 auto;
  }
}

/* ======================================================================
 top
====================================================================== */
.top__kv {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#c8e8ff), to(#8aefcc));
  background: linear-gradient(to right, #c8e8ff 0%, #8aefcc 100%);
  height: 50rem;
}

@media screen and (max-width: 768px) {
  .top__kv {
    height: 70rem;
    margin-bottom: 52rem;
  }
}

.top__kv--logo {
  position: absolute;
  left: 16rem;
  top: 6.6rem;
  width: 39.7rem;
}

@media screen and (max-width: 768px) {
  .top__kv--logo {
    width: 37.2rem;
    top: 2.7rem;
    left: 3.4rem;
  }
}

.top__kv--mark {
  position: absolute;
  right: 3rem;
  bottom: 1rem;
  width: 28.8rem;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top__kv--mark {
    bottom: inherit;
    top: 3.4rem;
  }
}

.top__kv--ttl {
  font-weight: 900;
  font-size: 2.3rem;
  line-height: 1.4;
  letter-spacing: 0;
  position: absolute;
  z-index: 2;
  bottom: 13rem;
  left: 16rem;
}

@media screen and (max-width: 768px) {
  .top__kv--ttl {
    font-size: 2.76rem;
    bottom: inherit;
    top: 23.2rem;
    line-height: 1.7;
    left: 2.8rem;
    letter-spacing: .05rem;
  }
}

.top__kv--ttl span {
  font-size: 3rem;
}

.top__kv--ttl-fc {
  color: #006acd;
}

.top__kv--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 5rem;
  left: 29.3rem;
}

@media screen and (max-width: 768px) {
  .top__kv--btn {
    display: block;
    bottom: -42.3rem;
    left: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 7.5rem;
  }
}

.top__kv--btn a {
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 2.6rem;
  font-size: 2.08rem;
  width: 26.3rem;
  height: 5.2rem;
}

@media screen and (max-width: 768px) {
  .top__kv--btn a {
    width: 100%;
    height: 10.7rem;
    font-size: 3.5rem;
    border-radius: 5.35rem;
  }
}

.top__kv--btn a:not(:last-child) {
  margin-right: 2rem;
}

@media screen and (max-width: 768px) {
  .top__kv--btn a:not(:last-child) {
    margin: 0 0 3rem;
  }
}

.top__kv--btn-c01 {
  background: #008bcd;
  color: #FFF;
}

.top__kv--btn-c02 {
  background: #FFF;
  color: #008bcd;
}

@media screen and (max-width: 768px) {
  .top__kv--btn-c02 {
    border: 1px solid #e8e8e8;
  }
}

.top__kv--pc {
  position: absolute;
  top: 5rem;
  left: 55rem;
  width: 38.5rem;
}

@media screen and (max-width: 768px) {
  .top__kv--pc {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    top: inherit;
    left: 0;
    bottom: -13rem;
    padding: 0 6rem;
    z-index: 2;
  }
}

.top__kv--people {
  position: absolute;
  bottom: 0;
  right: 18rem;
  width: 38.5rem;
}

@media screen and (max-width: 768px) {
  .top__kv--people {
    right: -5rem;
  }
}

.top__about {
  background: #f5fafe;
  padding: 8rem 0;
}

.top__about .sec__numlist {
  margin: 7rem 9rem 12rem;
}

@media screen and (max-width: 768px) {
  .top__about .sec__numlist {
    margin: 7rem 4% 0;
  }
}

.top__feature {
  padding: 8rem 0;
}

.top__feature--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5rem 9rem 0;
}

@media screen and (max-width: 768px) {
  .top__feature--list {
    display: block;
    margin: 7rem 4% 0;
  }
}

.top__feature--list li {
  width: 30.8%;
  margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
  .top__feature--list li {
    width: 100%;
  }
}

.top__feature--list li:not(:nth-child(3n)) {
  margin-right: 3.799999999999997%;
}

@media screen and (max-width: 768px) {
  .top__feature--list li:not(:nth-child(3n)) {
    margin: 0 0 6rem;
  }
}

.top__feature--list li a {
  display: block;
}

.top__feature--list-img {
  overflow: hidden;
  border-radius: .5rem;
}

.top__feature--list-ttl {
  font-weight: 900;
  color: #008bcd;
  text-align: center;
  font-size: 2rem;
  margin: 3rem 0;
}

@media screen and (max-width: 768px) {
  .top__feature--list-ttl {
    font-size: 3.6rem;
    margin: 4rem 0;
  }
}

.top__feature--list-txt {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .top__feature--list-txt {
    font-size: 2.4rem;
    line-height: 2;
  }
}

.top__system {
  background: #f5fafe;
  padding: 8rem 0;
}

.top__system--txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  margin: 5rem 0 8rem;
}

@media screen and (max-width: 768px) {
  .top__system--txt {
    text-align: left;
    font-size: 2.4rem;
    line-height: 2;
  }
}

.top__system--txt span {
  font-size: 1.2rem;
}

.top__system--flow {
  position: relative;
  border: 1px solid #008bcd;
  margin: 5rem 5rem 0;
}

@media screen and (max-width: 768px) {
  .top__system--flow {
    margin: 5rem 0 0;
  }
}

.top__system--flow-ttl {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  z-index: 1;
  left: 50%;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #008bcd;
  background: #FFF;
  color: #008bcd;
  width: 20rem;
  height: 5rem;
  font-size: 2.4rem;
  top: -2.5rem;
  margin-left: -10rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-ttl {
    font-size: 3.6rem;
    width: 25rem;
    height: 8rem;
    margin-left: -12.5rem;
    top: -4rem;
  }
}

.top__system--flow-box {
  padding: 5rem 6rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-box {
    padding: 6rem 2rem 4rem;
  }
}

.top__system--flow-btn {
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 3rem;
  font-size: 2rem;
  width: 37rem;
  height: 6rem;
  color: #FFF;
  margin: 0 2rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-btn {
    line-height: 1.3;
    width: 100%;
    height: 10.7rem;
    font-size: 3rem;
    border-radius: 5.35rem;
  }
}

.top__system--flow-c01 {
  background: #2c8bf7;
}

.top__system--flow-c02 {
  background: #9968ea;
}

.top__system--flow-c03 {
  background: #0dcbed;
}

.top__system--flow-c04 {
  background: #39c972;
}

.top__system--flow-c05 {
  background: #d7b015;
}

.top__system--flow-c06 {
  background: #f25396;
}

.top__system--flow-c07 {
  background: #f47c48;
}

.top__system--flow-line {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top__system--flow-line:not(:last-child) {
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line:not(:last-child) {
    margin-bottom: 6rem;
  }
}

.top__system--flow-line:before, .top__system--flow-line:after {
  content: "";
  display: block;
  position: absolute;
  background: #c8e8ff;
  z-index: -1;
}

.top__system--flow-line01:after {
  width: 1rem;
  height: 4rem;
  bottom: -4rem;
  left: 50%;
  margin-left: -10rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line01:after {
    height: 6rem;
    bottom: -6rem;
  }
}

.top__system--flow-line02:before {
  width: 1rem;
  height: 4rem;
  bottom: -4rem;
  right: 50%;
  margin-right: -10rem;
}

.top__system--flow-line02:after {
  width: 4rem;
  height: 1rem;
  bottom: 45%;
  left: 47.3%;
}

.top__system--flow-line03:before {
  width: 1rem;
  height: 2rem;
  top: -2rem;
  left: 50%;
  margin-left: -19rem;
}

.top__system--flow-line03:after {
  width: 28rem;
  height: 1rem;
  top: -2.5rem;
  left: 25%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line03:after {
    width: 29rem;
    left: 20.6%;
  }
}

.top__system--flow-line04:before {
  width: 1rem;
  height: 4rem;
  bottom: -4rem;
  left: 50%;
  margin-left: -15rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line04:before {
    height: 6rem;
    bottom: -6rem;
  }
}

.top__system--flow-line04:after {
  width: 1rem;
  height: 4rem;
  bottom: -4rem;
  left: 50%;
  margin-left: -10rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line04:after {
    height: 6rem;
    bottom: -6rem;
  }
}

.top__system--flow-line05:after {
  width: 1rem;
  height: 4rem;
  top: -4rem;
  right: 50%;
  margin-right: -10rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-line05:after {
    height: 6rem;
    top: -6rem;
  }
}

.top__system--flow-txt {
  position: absolute;
  color: #008bcd;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt {
    font-size: 2.4rem;
  }
}

.top__system--flow-txt01 {
  bottom: -2.5rem;
  left: 22%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt01 {
    bottom: -4rem;
    left: 5%;
  }
}

.top__system--flow-txt02 {
  bottom: -2.5rem;
  left: 45%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt02 {
    bottom: -4rem;
    left: 40%;
  }
}

.top__system--flow-txt03 {
  top: -2.7rem;
  left: 13%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt03 {
    top: -4rem;
    left: 0;
  }
}

.top__system--flow-txt04 {
  top: -2.7rem;
  right: 25%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt04 {
    top: -4rem;
    right: 12%;
  }
}

.top__system--flow-txt05 {
  bottom: -2.5rem;
  left: 14%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt05 {
    bottom: -5.5rem;
    left: 4%;
  }
}

.top__system--flow-txt06 {
  bottom: -2.5rem;
  left: 40%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt06 {
    bottom: -4rem;
  }
}

.top__system--flow-txt07 {
  top: -2.9rem;
  right: 14%;
}

@media screen and (max-width: 768px) {
  .top__system--flow-txt07 {
    top: -5.2rem;
    right: 8%;
  }
}

.top__system--flow-other {
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 7rem;
}

.top__faq {
  padding: 8rem 0 0;
}

.top__faq .faq__list {
  margin: 5rem 0 8rem;
}

/* ======================================================================
 under
====================================================================== */
.under__kv {
  background: #c8e8ff;
  padding-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  .under__kv {
    padding-bottom: 8rem;
  }
}

.under__kv--zaimu {
  background: #e6edf5;
}

.under__kv--zaimu .under__kv--ttl {
  color: #2c8bf7;
}

.under__kv--keiei {
  background: #e4f3f6;
}

.under__kv--keiei .under__kv--ttl {
  color: #0dcbed;
}

.under__kv--kyuyo {
  background: #e6f1ea;
}

.under__kv--kyuyo .under__kv--ttl {
  color: #39c972;
}

.under__kv--breadcrumb {
  color: #008bcd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.2rem;
  padding-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .under__kv--breadcrumb {
    font-size: 1.8rem;
  }
}

.under__kv--breadcrumb a {
  color: #008bcd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.under__kv--breadcrumb a:after {
  content: ">";
  -webkit-transform: scale(0.5, 1);
          transform: scale(0.5, 1);
  margin: 0 .25rem;
}

.under__kv--ttl {
  font-weight: 900;
  text-align: center;
  color: #008bcd;
  font-size: 3.6rem;
  margin: 6rem 0 5rem;
}

@media screen and (max-width: 768px) {
  .under__kv--ttl {
    margin: 5rem 0;
  }
}

.under__kv--txt {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .under__kv--txt {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}

.under__kv--txt span {
  font-size: 1.2rem;
}

.under__box .inner {
  position: relative;
  z-index: 1;
  margin-top: -6rem;
  border-radius: .5rem;
  background: #FFF;
  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
}

/* ======================================================================
 faq
====================================================================== */
.faq__list li {
  position: relative;
  border-bottom: 1px solid #d7d7d7;
  padding: 2rem 0;
}

.faq__list--top {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .faq__list--top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.faq__list--top.active .faq__list--ttl span:before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.faq__list--top.active .faq__list--ttl span:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.faq__list--btm {
  display: none;
  margin-top: 1rem;
}

.faq__list--ico {
  width: 4.5%;
  margin-right: 1%;
}

@media screen and (max-width: 768px) {
  .faq__list--ico {
    width: 9.420289855072465%;
    margin-right: 3%;
  }
}

.faq__list--ico span {
  background: #008bcd;
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2rem;
  height: 4.5rem;
}

@media screen and (max-width: 768px) {
  .faq__list--ico span {
    height: 6.5rem;
    font-size: 3rem;
  }
}

.faq__list--ttl {
  position: relative;
  font-weight: 900;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #008bcd;
  width: 94.5%;
  font-size: 2rem;
  line-height: 1.3;
  padding-right: 5rem;
}

@media screen and (max-width: 768px) {
  .faq__list--ttl {
    width: 86.57971014492753%;
    font-size: 3rem;
    line-height: 1.2666666666666666;
    padding-right: 3rem;
  }
}

.faq__list--ttl span {
  position: absolute;
  width: 2rem;
  height: 2rem;
  top: 50%;
  right: 0;
  margin-top: -1rem;
}

@media screen and (max-width: 768px) {
  .faq__list--ttl span {
    width: 3rem;
    height: 3rem;
    margin-top: -1.5rem;
  }
}

.faq__list--ttl span:before, .faq__list--ttl span:after {
  content: "";
  position: absolute;
  background-color: #CCC;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.faq__list--ttl span:before {
  top: 0;
  left: 50%;
  width: .2rem;
  height: 100%;
  margin-left: -.1rem;
}

.faq__list--ttl span:after {
  top: 50%;
  left: 0;
  width: 100%;
  height: .2rem;
  margin-top: -.1rem;
}

.faq__list--txt {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .faq__list--txt {
    font-size: 2.4rem;
    line-height: 2;
  }
}

.faq__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5rem 3rem;
}

@media screen and (max-width: 768px) {
  .faq__menu {
    padding: 2rem 2rem .8rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.faq__menu a {
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  background: #008bcd;
  -webkit-box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
          box-shadow: 0 -0.4rem 0 0 rgba(0, 0, 0, 0.25) inset;
  border-radius: 4rem;
  width: 18rem;
  height: 5rem;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .faq__menu a {
    width: 20.8rem;
    height: 5.8rem;
    border-radius: 2.9rem;
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}

.faq__menu a:not(:last-child) {
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  .faq__menu a:not(:last-child) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .faq__menu a:not(:nth-child(3n)) {
    margin-right: 1.2rem;
  }
}

.faq__box {
  padding-top: 7rem;
}

.faq__box .sec__ttl {
  color: #008bcd;
  font-size: 3rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .faq__box .sec__ttl {
    font-size: 3.6rem;
  }
}

/* ======================================================================
 about
====================================================================== */
.about__box {
  padding: 5rem;
}

.about__box--ttl {
  font-weight: 900;
  text-align: center;
  color: #008bcd;
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .about__box--ttl {
    font-size: 4rem;
    line-height: 1.3;
  }
}

.about__box--txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  margin: 3rem 0 5rem;
}

@media screen and (max-width: 768px) {
  .about__box--txt {
    font-size: 2.4rem;
  }
}

.about__box--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .about__box--list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.about__box--list li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 3px solid #c8e8ff;
  width: 21rem;
  padding: 3rem 1rem;
}

@media screen and (max-width: 768px) {
  .about__box--list li {
    width: 49%;
    margin-bottom: 1rem;
  }
}

.about__box--list-txt {
  font-weight: 900;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.625;
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .about__box--list-txt {
    font-size: 2.4rem;
  }
}

.about__numlist {
  padding-top: 8rem;
}

.about__numlist .sec__ttl {
  color: #008bcd;
}

@media screen and (max-width: 768px) {
  .about__numlist .sec__ttl {
    line-height: 1.4;
  }
}

.about__numlist .sec__numlist {
  margin: 6rem 9rem 15rem;
}

@media screen and (max-width: 768px) {
  .about__numlist .sec__numlist {
    margin: 6rem 4%;
  }
}

.about__certificate {
  background: #f5fafe;
  padding: 7rem 0;
}

.about__certificate--txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 2;
  margin: 5rem 0;
}

@media screen and (max-width: 768px) {
  .about__certificate--txt {
    font-size: 2.4rem;
    text-align: left;
  }
}

.about__certificate--box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: .5rem;
  background: #FFF;
  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
  padding: 5rem;
}

.about__certificate--box-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .about__certificate--box-top {
    display: block;
  }
}

.about__certificate--box-btm {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #008bcd;
  padding: 4rem 3rem 3rem;
  margin-top: 4rem;
}

.about__certificate--box-ttl {
  font-weight: 900;
  color: #008bcd;
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .about__certificate--box-ttl {
    font-size: 3.4rem;
    line-height: 1.4;
  }
}

.about__certificate--box-txt {
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .about__certificate--box-txt {
    font-size: 2.4rem;
  }
}

.about__certificate--img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 18.5rem;
}

@media screen and (max-width: 768px) {
  .about__certificate--img {
    width: 30rem;
    margin: 0 auto;
  }
}

.about__certificate--table {
  width: 50rem;
  margin-right: 5rem;
}

@media screen and (max-width: 768px) {
  .about__certificate--table {
    width: 100%;
  }
}

.about__certificate--table th, .about__certificate--table td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  border-bottom: 1px solid #dcdcdc;
  padding: 2rem 1rem;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .about__certificate--table th, .about__certificate--table td {
    font-size: 2.4rem;
  }
}

/* ======================================================================
 system
====================================================================== */
.system__menu {
  border-top: 1px solid #008bcd;
  padding: 5rem 0 0;
  margin-bottom: -5rem;
}

.system__menu--ttl {
  font-weight: 900;
  text-align: center;
  color: #008bcd;
  font-size: 3rem;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .system__menu--ttl {
    font-size: 4rem;
  }
}

.system__menu--list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .system__menu--list li {
    display: block;
    font-size: 2.4rem;
  }
}

.system__menu--list li:not(:last-child) {
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .system__menu--list li:not(:last-child) {
    margin-bottom: 3rem;
  }
}

.system__menu--list-ttl {
  font-weight: 900;
  color: #008bcd;
  width: 9.799999999999997%;
}

@media screen and (max-width: 768px) {
  .system__menu--list-ttl {
    width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }
}

.system__menu--list-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90.2%;
}

@media screen and (max-width: 768px) {
  .system__menu--list-btn {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.system__menu--list-btn a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-style: solid;
  border-width: 1px;
  border-radius: .5rem;
  width: 21.5rem;
  height: 4.8rem;
}

@media screen and (max-width: 768px) {
  .system__menu--list-btn a {
    text-align: center;
    width: 24.6%;
    height: 8rem;
    line-height: 1.3;
  }
}

.system__menu--list-btn a:not(:last-child) {
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  .system__menu--list-btn a:not(:last-child) {
    margin-right: 0.5333333333333314%;
  }
}

.system__menu--list-c01 {
  border-color: #2c8bf7;
  color: #2c8bf7;
}

.system__menu--list-c02 {
  border-color: #9968ea;
  color: #9968ea;
}

.system__menu--list-c03 {
  border-color: #0dcbed;
  color: #0dcbed;
}

.system__menu--list-c04 {
  border-color: #39c972;
  color: #39c972;
}

.system__menu--list-c05 {
  border-color: #d7b015;
  color: #d7b015;
}

.system__menu--list-c06 {
  border-color: #f25396;
  color: #f25396;
}

.system__menu--list-c07 {
  border-color: #f47c48;
  color: #f47c48;
}

/* ======================================================================
 form
====================================================================== */
.form__box {
  padding: 4rem 5rem 0;
}

@media screen and (max-width: 768px) {
  .form__box {
    padding: 4%;
  }
}

.form__box li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  .form__box li {
    display: block;
    margin-bottom: 4rem;
  }
}

.form__box--ttl {
  position: relative;
  font-size: 1.4rem;
  width: 30%;
  margin-right: 4%;
  padding-top: 1.4rem;
}

@media screen and (max-width: 768px) {
  .form__box--ttl {
    font-weight: 900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 2.6rem;
    width: 100%;
    margin: 0 0 1rem;
    padding-top: 0;
  }
}

.form__box--input {
  width: 66%;
}

@media screen and (max-width: 768px) {
  .form__box--input {
    width: 100%;
  }
}

.form__box--input input, .form__box--input textarea {
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', serif;
  border: 1px solid #CCC;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .form__box--input input, .form__box--input textarea {
    font-size: 2.6rem;
  }
}

.form__box--input input[type=text], .form__box--input textarea {
  width: 100%;
  padding: .6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .form__box--input input[type=text], .form__box--input textarea {
    padding: 1rem;
  }
}

.form__box--input textarea {
  height: 15rem;
}

@media screen and (max-width: 768px) {
  .form__box--input textarea {
    height: 30rem;
  }
}

.form__box--input-ttl {
  font-weight: 900;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .form__box--input-ttl {
    font-size: 2.6rem;
  }
}

.form__box--input-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-size: 1.4rem;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .form__box--input-check {
    font-size: 2.4rem;
  }
}

.form__box--input-check input {
  margin: 0 .5rem 0 0;
  border: 1px solid #008bcd;
  width: 2rem;
  height: 2rem;
}

@media screen and (max-width: 768px) {
  .form__box--input-check input {
    width: 4rem;
    height: 4rem;
  }
}

.form__box--input-check + .form__box--input-ttl {
  margin-top: 3rem;
}

.form__box--input-zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .form__box--input-zip {
    font-size: 2.6rem;
  }
}

.form__box--input-zip input {
  width: 10rem !important;
  margin-left: .5rem;
}

@media screen and (max-width: 768px) {
  .form__box--input-zip input {
    width: 20rem !important;
  }
}

.form__box--tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #c40018;
  color: #FFF;
  font-size: 1.2rem;
  width: 4.4rem;
  height: 2rem;
  position: absolute;
  right: 0;
  top: .9rem;
}

@media screen and (max-width: 768px) {
  .form__box--tag {
    top: 0;
    font-size: 2rem;
    width: 8rem;
    height: 4rem;
    position: static;
  }
}

.form__box--policy {
  overflow-y: scroll;
  border: 1px solid #CCC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 90rem;
  height: 25rem;
  margin: 0 auto;
  padding: 3rem;
  font-size: 1.4rem;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .form__box--policy {
    font-size: 2.4rem;
    width: 92%;
    height: 50rem;
  }
}

.form__box--policy-top {
  font-weight: 900;
  text-align: center;
  margin-bottom: 2rem;
}

.form__box--policy-list {
  list-style-type: decimal;
  margin-left: 1rem;
}

.form__box--policy-ttl {
  font-weight: 900;
}

.form__box--policy-txt {
  margin-bottom: 2rem;
}

.form__box--policy-check {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #c8e8ff;
  width: 90rem;
  margin: 2rem auto;
  padding: 1.5rem 0;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .form__box--policy-check {
    text-align: center;
    width: 92%;
    font-size: 2.4rem;
    display: block;
    font-size: 2.6rem;
  }
}

.form__box--policy-check-box {
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .form__box--policy-check-box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 2.6rem;
  }
}

.form__box--policy-check-box input {
  margin: 0 .5rem 0 0;
  border: 1px solid #008bcd;
  width: 2rem;
  height: 2rem;
}

@media screen and (max-width: 768px) {
  .form__box--policy-check-box input {
    width: 4rem;
    height: 4rem;
  }
}

.form__box--policy-check-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #c40018;
  color: #FFF;
  font-size: 1.2rem;
  width: 4.4rem;
  height: 2rem;
  margin: 0 1.5rem;
}

@media screen and (max-width: 768px) {
  .form__box--policy-check-tag {
    font-size: 2.4rem;
    width: 8rem;
    height: 4rem;
    margin: 1rem auto;
  }
}

.form__box--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 90rem;
  margin: 0 auto;
  padding-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .form__box--btn {
    width: 92%;
  }
}

.form__box--btn .sec__btn {
  margin-top: 2rem;
}

.form__box--btn-reset {
  background: #999;
}

/* ======================================================================
 product
====================================================================== */
.product__box {
  padding: 5rem;
}

.product__box--ttl {
  font-weight: 900;
  text-align: center;
  color: #008bcd;
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .product__box--ttl {
    font-size: 4rem;
    line-height: 1.3;
  }
}

.product__box--txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  margin: 3rem 0 5rem;
}

@media screen and (max-width: 768px) {
  .product__box--txt {
    font-size: 2.4rem;
  }
}

.product__box--list li {
  margin-top: 5rem;
}

.product__box--list-ttl {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
  border-radius: .5rem;
  border: 1px solid #008bcd;
  background: #008bcd;
  color: #FFF;
  font-size: 2.2rem;
  height: 6rem;
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  .product__box--list-ttl {
    font-size: 3rem;
    height: 8rem;
  }
}

.product__box--list-ttl span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #FFF;
  color: #008bcd;
  width: 6rem;
  height: 6rem;
  font-size: 3rem;
  margin-right: 1.5rem;
}

@media screen and (max-width: 768px) {
  .product__box--list-ttl span {
    font-size: 3.4rem;
    width: 8rem;
    height: 8rem;
  }
}

.product__box--list-box01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  .product__box--list-box01 {
    display: block;
  }
}

.product__box--list-box01 .product__box--list-img {
  width: 48.3%;
  margin-right: 4.2%;
}

@media screen and (max-width: 768px) {
  .product__box--list-box01 .product__box--list-img {
    width: 100%;
    margin: 0 0 2rem;
  }
}

.product__box--list-box01 .product__box--list-desc {
  width: 47.5%;
}

@media screen and (max-width: 768px) {
  .product__box--list-box01 .product__box--list-desc {
    width: 100%;
  }
}

.product__box--list-box02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .product__box--list-box02 {
    display: block;
  }
}

.product__box--list-box03 {
  width: 48.3%;
}

@media screen and (max-width: 768px) {
  .product__box--list-box03 {
    width: 100%;
  }
}

.product__box--list-box03:not(:nth-child(2n)) {
  margin-right: 3.4%;
}

@media screen and (max-width: 768px) {
  .product__box--list-box03:not(:nth-child(2n)) {
    margin: 0 0 5rem;
  }
}

.product__box--list-subttl {
  font-weight: 900;
  text-align: center;
  color: #008bcd;
  font-size: 2.2rem;
  margin: 2rem 0;
}

@media screen and (max-width: 768px) {
  .product__box--list-subttl {
    font-size: 3rem;
    margin: 3rem 0;
  }
}

.product__box--list-txt {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .product__box--list-txt {
    font-size: 2.4rem;
  }
}

.product__spec {
  padding: 10rem 0 15rem;
}

.product__spec-ttl {
  font-weight: 900;
  color: #008bcd;
  text-align: center;
  font-size: 3.6rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .product__spec-ttl {
    font-size: 4rem;
  }
}

.product__spec-txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .product__spec-txt {
    font-size: 2.4rem;
  }
}

.product__spec-txt a {
  color: #008bcd;
  text-decoration: underline;
}

.product__spec .sec__table {
  margin-top: 5rem;
}

/* ======================================================================
 features
====================================================================== */
.features__box {
  padding: 1rem 0 7rem;
  margin-bottom: 15rem;
}

.features__top {
  padding: 0 5rem 5rem;
}

.features__top:first-child {
  padding-top: 5rem;
}

.features__top-ttl {
  font-weight: 900;
  text-align: center;
  line-height: 1.3333333333333333;
  font-size: 3rem;
}

.features__top-ttl-c01 {
  color: #2c8bf7;
}

.features__top-ttl-c02 {
  color: #9968ea;
}

.features__top-ttl-c03 {
  color: #0dcbed;
}

.features__top-ttl-c04 {
  color: #39c972;
}

.features__top-ttl-c05 {
  color: #d7b015;
}

.features__top-ttl-c07 {
  color: #f47c48;
}

.features__top-ttl-c08 {
  color: #f25396;
}

.features__top-txt {
  text-align: center;
  margin: 3rem 0 0;
  line-height: 1.75;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .features__top-txt {
    font-size: 2.4rem;
  }
}

.features__list-c01 .features__list-ttl {
  color: #2c8bf7;
}

.features__list-c01 .features__list-img:after {
  background-color: #2c8bf7;
}

.features__list-c02 .features__list-ttl {
  color: #9968ea;
}

.features__list-c02 .features__list-img:after {
  background-color: #9968ea;
}

.features__list-c03 .features__list-ttl {
  color: #0dcbed;
}

.features__list-c03 .features__list-img:after {
  background-color: #0dcbed;
}

.features__list-c04 .features__list-ttl {
  color: #39c972;
}

.features__list-c04 .features__list-img:after {
  background-color: #39c972;
}

.features__list-c05 .features__list-ttl {
  color: #d7b015;
}

.features__list-c05 .features__list-img:after {
  background-color: #d7b015;
}

.features__list-c06 .features__list-ttl {
  color: #f25396;
}

.features__list-c06 .features__list-img:after {
  background-color: #f25396;
}

.features__list-c07 .features__list-ttl {
  color: #f47c48;
}

.features__list-c07 .features__list-img:after {
  background-color: #f47c48;
}

.features__list-c08 .features__list-ttl {
  color: #f25396;
}

.features__list-c08 .features__list-img:after {
  background-color: #f25396;
}

.features__list-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.features__list-02 .features__list-box {
  width: 49.44444444444444%;
}

@media screen and (max-width: 768px) {
  .features__list-02 .features__list-box {
    width: 100%;
  }
}

.features__list-03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.features__list-03 .features__list-box {
  width: 32.55555555555556%;
}

@media screen and (max-width: 768px) {
  .features__list-03 .features__list-box {
    width: 100%;
  }
}

.features__list-img {
  position: relative;
  background: #000;
}

.features__list-img:after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  background-image: url(/img/common/zoom.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.5rem;
  width: 4rem;
  height: 4rem;
}

.features__list-img img {
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  opacity: .75;
}

.features__list-ttl {
  font-weight: 900;
  text-align: center;
  font-size: 1.6rem;
  margin-top: 1.5rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  .features__list-ttl {
    font-size: 2.6rem;
  }
}

.features__list-txt {
  line-height: 1.7142857142857142;
  font-size: 1.4rem;
  margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .features__list-txt {
    font-size: 2.4rem;
  }
}

.features__list-box {
  margin-top: 3rem;
}

.features__list-box:hover img {
  opacity: 1;
}

.features__list-box-none .features__list-img img {
  opacity: 1;
}

.features__list-box-none .features__list-img:after {
  display: none;
}

.features__list-cap {
  margin-top: 3rem;
  font-size: 1.4rem;
  line-height: 1.7142857142857142;
}

@media screen and (max-width: 768px) {
  .features__list-cap {
    font-size: 2.4rem;
  }
}

.features__list-cap a {
  color: #008bcd;
  text-decoration: underline;
}

.features__sec01 {
  padding: 7rem 0;
  margin-top: 7rem;
}

.features__sec01-c01 {
  background: #e6edf5;
}

.features__sec01-c01 .sec__ttl {
  color: #2c8bf7;
}

.features__sec01-c01 .features__sec01-ttl {
  border-color: #2c8bf7;
  background: #2c8bf7;
}

.features__sec01-c01 .features__sec01-ttl span {
  color: #2c8bf7;
}

.features__sec01-c01 .features__sec01-numlist-list li {
  border-color: #2c8bf7;
}

.features__sec01-c01 .features__sec01-numlist-ttl {
  color: #2c8bf7;
}

.features__sec01-c03 {
  background: #e4f3f6;
}

.features__sec01-c03 .sec__ttl {
  color: #0dcbed;
}

.features__sec01-c03 .features__sec01-ttl {
  border-color: #0dcbed;
  background: #0dcbed;
}

.features__sec01-c03 .features__sec01-ttl span {
  color: #0dcbed;
}

.features__sec01-c03 .features__sec01-numlist-list li {
  border-color: #0dcbed;
}

.features__sec01-c03 .features__sec01-numlist-ttl {
  color: #0dcbed;
}

.features__sec01-c04 {
  background: #e6f1ea;
}

.features__sec01-c04 .sec__ttl {
  color: #39c972;
}

.features__sec01-c04 .features__sec01-ttl {
  border-color: #39c972;
  background: #39c972;
}

.features__sec01-c04 .features__sec01-ttl span {
  color: #39c972;
}

.features__sec01-c04 .features__sec01-numlist-list li {
  border-color: #39c972;
}

.features__sec01-c04 .features__sec01-numlist-ttl {
  color: #39c972;
}

.features__sec01-c07 {
  background: #fdf4f0;
}

.features__sec01-c07 .sec__ttl {
  color: #f47c48;
}

.features__sec01-c07 .features__sec01-ttl {
  border-color: #f47c48;
  background: #f47c48;
}

.features__sec01-c07 .features__sec01-ttl span {
  color: #f47c48;
}

.features__sec01-c07 .features__sec01-numlist-list li {
  border-color: #f47c48;
}

.features__sec01-c07 .features__sec01-numlist-ttl {
  color: #f47c48;
}

.features__sec01-c08 {
  background: #f9ecf2;
  margin-top: 0;
}

.features__sec01-c08 .sec__ttl {
  color: #f25396;
}

.features__sec01-c08 .features__sec01-ttl {
  border-color: #f25396;
  background: #f25396;
}

.features__sec01-c08 .features__sec01-ttl span {
  color: #f25396;
}

.features__sec01-c08 .features__sec01-numlist-list li {
  border-color: #f25396;
}

.features__sec01-c08 .features__sec01-numlist-ttl {
  color: #f25396;
}

.features__sec01-ttl {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
  border-radius: .5rem;
  border-width: 1px;
  border-style: solid;
  color: #FFF;
  font-size: 2.2rem;
  height: 6rem;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .features__sec01-ttl {
    line-height: 1.3;
    font-size: 2.6rem;
    height: 8rem;
  }
}

.features__sec01-ttl span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #FFF;
  width: 6rem;
  height: 6rem;
  font-size: 3rem;
  margin-right: 1.5rem;
}

@media screen and (max-width: 768px) {
  .features__sec01-ttl span {
    font-size: 3.4rem;
    width: 8rem;
    height: 8rem;
  }
}

.features__sec01-txt {
  line-height: 1.75;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .features__sec01-txt {
    font-size: 2.4rem;
  }
}

.features__sec01-numlist > li {
  margin-top: 5rem;
}

.features__sec01-numlist-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.features__sec01-numlist-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-radius: .5rem;
  background: #FFF;
  padding: 3rem;
  width: 48.5%;
  margin-top: 3%;
}

.features__sec01-numlist-list li:not(:nth-child(2n)) {
  margin-right: 3%;
}

.features__sec01-numlist-ttl {
  font-weight: 900;
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.4166666666666667;
}

@media screen and (max-width: 768px) {
  .features__sec01-numlist-ttl {
    font-size: 2.6rem;
  }
}

.features__sec01-numlist-txt {
  line-height: 2;
  font-size: 1.4rem;
  margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .features__sec01-numlist-txt {
    font-size: 2.4rem;
    line-height: 1.75;
  }
}

.features__sec02 {
  padding: 7rem 0;
}

.features__sec02-c02 {
  background: #f8f5fc;
}

.features__sec02-c02 .sec__ttl {
  color: #9968ea;
}

.features__sec02-c05 {
  background: #f5f3ea;
}

.features__sec02-c05 .sec__ttl {
  color: #d7b015;
}

.features__sec02-c08 {
  background: #f9ecf2;
}

.features__sec02-c08 .sec__ttl {
  color: #f25396;
}

.features__sec02-c08 .features__sec02-box {
  margin-top: 0;
}

.features__sec02-box {
  margin-top: 5rem;
  padding: 5rem;
  border-radius: .5rem;
  background: #FFF;
  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.1);
}

.features__spec {
  padding: 7rem 0 15rem;
}

.features__spec .sec__ttl {
  color: #008bcd;
  margin-bottom: 5rem;
}

.features__spec .sec__table + .sec__ttl {
  margin-top: 7rem;
}
/*# sourceMappingURL=style.css.map */