main {
  margin-top: 0;
  background: none;
  padding-bottom: 80px;
}
.index-ontop .navbar>.container-fluid {
  border:none;
}
.index-ontop .navbar-brand .l-w {
  display: inline-block;
}
.index-ontop .navbar-brand .l-b {
  display: none;
}
.index-ontop .navbar.nav-site {
  background: transparent;
  backdrop-filter: unset;
}
.index-ontop .nav-site .nav-t-menu .nav-link {
  color:#fff;
}
.index-ontop .link-l1 a:after {
  background: #fff;
}

h2,.sec h2 {
  font-size: 2.4rem;
}
p, .desc {
  line-height: 1.9;
}

.sec-top {
  position: relative;
  background: #000;
  color:#fff;
  height: 100svh;
  max-height: 1000px;
  min-height: 740px;

  background: no-repeat center url(../img/index/hero-sample.jpg);
  background-size: cover;
}
.sec-top:before {
  content:"";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}
.top-wrap {
  position: relative;
  z-index: 2;
  padding:20px;
  width:100%;
  height: 100%;
  max-width: 1080px;
  margin:auto;
  display: flex;
  align-items: center;
}
#scene {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%!important;
}
.hero-cont {
  padding:60px 0 20px;
}
.hero-cont h1 {
  font-size: 2.9rem;
  margin-bottom: 4.6rem;
}
.sb-cont .t {
  font-weight: 600;
  font-size: var(--size-tt-ct2);
  line-height: 1.8;
  margin-bottom: 30px;
}
.sb-cont .next-btn {
  margin-top: 50px;
}
.sb-cont .next-btn a {
  display: inline-block;
  border:2px solid var(--main-color);
}
.sb-cont .next-btn a:first-child {
  margin-right: 2.2rem;
}
.sb-cont .next-btn a:hover {
  border-color:#fff;
}
.sec-intro {
  background: no-repeat center top url(../img/common/bg.svg);
  background-size: contain;
  padding:240px 0 160px;
}
.intro-wrap .ill {
  display: flex;
  align-items: center;
  height: 100%;
}
.intro-wrap .intro-cont {
}
.intro-cont h2 {
  margin-bottom: 25px;
}
.intro-cont ul li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 14px;
  line-height: 1.7;
}
.intro-cont ul li:before {
  content:"─ ";
  position: absolute;
  display: inline-block;
  left: 0;
  top:0;
}
.intro-cont .desc {
  font-weight: 600;
  font-size: var(--size-t4);
  line-height: 1.7;
  padding-top: 10px;
  margin-bottom: 40px;
}
.intro-cont .desc .b {
  font-weight: 700;
  font-size: var(--size-tt-ct1);
}
.bs-flow .desc {
  margin-bottom: 60px;
}
.flow-s {
  position: relative;
}
.flow-s:before {
  content:"";
  position: absolute;
  left: 0;
  top:50%;

  width: calc(80% - 40px);
  height: 4px;
  background: #000;
}
.flow-s .fl-box {
  position: relative;
  z-index: 2;
  border:4px solid #000;
  background: #fff;
  padding:10px;
  width: 166px;
  height: 166px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: var(--size-t2);
  font-weight: 600;
}
.flow-s .col:nth-child(4) .fl-box:before {
  content:"";
  position: absolute;
  z-index: 1;
  top:50%;
  right:-42px;
  background: no-repeat center bottom url(../img/common/ic-ov-drr-down.svg);
  background-size: 100%;
  transform: rotate(-90deg) translateX(50%);
  width: 38px;
  height: 40px;
}
.sec .wrap2 {
  padding-left: 20px;
}
.sec .wrap h2 {
  margin-bottom: 30px;
}
.sv-list .sv-row {
  display: flex;
  align-items: center;
  margin-bottom: 70px;
}
.sv-row .sn {
  font-size: 1.7rem;
  font-weight: 600;
  display: inline-block;
  border-right: 5px solid #000;
  padding-right: 25px;
  margin-right: 25px;

  min-width: 250px;
  text-align: right;
}
.strength .wrap .st {
  font-size: var(--size-t-sn);
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 30px;
}
.wrap2 .btn-def {
  font-size: var(--size-t2);
  padding:0.5rem 2rem;
}
.str-list .str-row {
  position: relative;
  padding-left: 118px;
  margin-bottom: 70px;
}
.str-list .str-row:before {
  content:"";
  position: absolute;
  left: 0;
  top:0;
  width: 77px;
  height: 80px;
}
.str-list .str-row.s1:before {
  background: no-repeat center url(../img/index/ico-01.svg);
}
.str-list .str-row.s2:before {
  background: no-repeat center url(../img/index/ico-02.svg);
}
.str-list .str-row.s3:before {
  background: no-repeat center url(../img/index/ico-03.svg);
}
.str-list .str-row.s4:before {
  background: no-repeat center url(../img/index/ico-04.svg);
}
.str-list .str-row:before {
  background-size: 100%!important;
}
.str-row .t1 {
  font-weight: 600;
  font-size: var(--size-t4);
  margin-bottom: 10px;
}

.works .more-l {
  text-align: center;
}

@media (max-width: 1199px) {
  .sec-top {
    height: 800px;
  }
  .hero-cont h1 {
    font-size: 2.6rem;
    margin-bottom: 3.8rem;
  }
  .sec-intro {
    padding:170px 0 130px;
  }
  .intro-wrap .ill img {
    max-width: 300px;
  }
  .flow-s .fl-box {
    width: 155px;
    height: 155px;
  }
}
@media (max-width: 992px) {
  .sec-top {
    min-height: unset;
    height: 600px;
  }
  .hero-cont h1 {
    font-size: 2.2rem;
    margin-bottom: 2.5rem;
  }
  .sb-cont .t {
    font-size: var(--size-t4);
  }
  .sb-cont .next-btn a {
    font-size: 1.1rem;
  }

  h2, .sec h2 {
    font-size: 2rem;
    margin-bottom: 40px;
  }

  .sec-intro {
    padding:120px 0 90px;
    background-size: 140%;
  }
  .intro-wrap .ill img {
    max-width: 220px;
  }

  .flow-s:before {
    top:20px;
    left: 0;
    right: 0;
    margin: auto;
    width: 4px;
    height: calc(70% - 20px);
  }
  .flow-s>.row>.col {
    flex: 0 0 auto;
    width: 100%;
  }
  .flow-s .fl-box {
    width: 260px;
    height: 100px;
    font-size: 1.1rem;
    margin:auto;
    margin-bottom: 2rem;
  }
  .flow-s .col:nth-child(4) .fl-box:before {
    transform: unset;
    right: 0;
    left: 0;
    margin: auto;
    top: auto;
    bottom: 0;
    transform: translateY(100%);
    height: 36px;
  }

  .cont-wrap .w1 {
    text-align: center;
    margin-bottom: 50px;
  }
  .cont-wrap .w1 p,
  .cont-wrap .w1 .st {
    text-align: center;
  }

  .services .more-l,
  .strength .more-l {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .navmenu-opened .index-ontop .navbar-brand .l-w {
    display: none;
  }
  .navmenu-opened .index-ontop .navbar-brand .l-b {
    display: inline-block;
  }
  .index-ontop .navbar-toggler .hbg-l {
    background-color: #fff;
  }
  .index-ontop .navbar-toggler.active .hbg-l {
    background-color: ;
  }
  .index-ontop .nav-site .nav-t-menu .nav-link {
    color:#000;
  }

  .sec-top {
    height: 100svh;
    background-position-x: 57%;
  }
  .hero-cont {
    padding-top: 25svh;
  }
  .hero-cont h1 {
    font-size: 1.8rem;
  }
  .sb-cont .t {
    font-size: var(--size-t2);
  }
  .sb-cont .next-btn {
    margin-top: 14svh;
  }
  .sb-cont .next-btn a:first-child {
    margin-right: 0;
    margin-bottom: 10px;
  }
  h2, .sec h2 {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  .more-l {
    text-align: center;
  }

  .sec-intro {
    padding: 100px 0 70px;
    background-size: 200%;
  }
  .intro-cont .desc {
    margin-bottom: 30px;
  }

  .flow-s .fl-box {
    height: 90px;
  }

  .sv-list .sv-row {
    display: block;
    margin-bottom: 40px;
  }
  .sec .wrap2 {
    padding-left: 0;
  }
  .sv-row .sn {
    font-size: 1.3rem;
    text-align: left;
    border-right: 0;
    border-bottom: 4px solid #000;
    padding:0 0 6px;
    margin:0 0 8px;
    min-width: unset;
  }
  .sv-row {
    display: block;
  }

  .cont-wrap .w1 .st {
    font-size: var(--size-t4);
  }

  .str-list .str-row {
    padding-left: 0;
    margin-bottom: 40px;
  }
  .str-list .str-row:before {
    content:none!important;
  }
  .str-row .t1 {
    position: relative;
    font-size: var(--size-t3);
    padding-left: 65px;
    margin-bottom: 15px;
  }

  .str-row .t1:before {
    content:"";
    position: absolute;
    left: 0;
    top:50%;
    transform: translateY(-50%);
    width: 45px;
    height: 50px;
  }
  .str-row.s1 .t1:before {
    background: no-repeat center url(../img/index/ico-01.svg);
  }
  .str-row.s2 .t1:before {
    background: no-repeat center url(../img/index/ico-02.svg);
  }
  .str-row.s3 .t1:before {
    background: no-repeat center url(../img/index/ico-03.svg);
  }
  .str-row.s4 .t1:before {
    background: no-repeat center url(../img/index/ico-04.svg);
  }
  .str-row .t1:before {
    background-size: 100%!important;
  }

}