@charset "utf-8";


/* ----------------- */
.hero-top {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0px auto;
}
.hero-box {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-height: 36vw;
  margin: 10px auto;
}
.hero-bg {
  display: block;
  position: absolute;
  width: 100%;
  height: 36vw;
  top: 0px;
  left: 0px;
  background-image: url("../img/sg_Individual_sp@2x.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
}
.hero-box .hero_logo {
  position: relative;
  width: 120px;
  margin: 0px auto;
  padding-top: calc(250px - (768px - 100%) * 0.36);
}
.hero-sg {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: calc(100% - 50px);
  margin: 10px 25px;
}
.hero-sg h2 {
  position: relative;
  margin-top: 40px;
}
.hero-sg p {
  position: relative;
  margin-top: 50px;
  margin-bottom: 90px;
}


/* ----------------- */
main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: 100%;
  min-width: 360px;
  margin-top: 0px;
  background-color:#e0f1fc;
}
.main-top {
  display: block;
  position: relative;
  width: 100%;
  height: 340px;
  margin-top: -100px;
  z-index: -1;
  overflow: hidden;
}
.main-top ._topbg {
  position: absolute;
  width: 110%;
  height: calc(340 / 1024 * 100vw);
  left: -5%;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  background-color:#e0f1fc;
}
.main-bg {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: -260px auto 0px;
}
.main-bg h1 {
  margin-top: 20px;
  text-align: center;
}

.main-bg h2 {
  margin-bottom: 20px;
  text-align: center;
}
.main-bg h2 span._stitle {
  display: inline-block;
  position: relative;
  letter-spacing:0.1em;
}
.main-bg h2 span._stitle::before {
  content: url("../img/cross.svg");
  position: absolute;
  width: 12px;
  height: 12px;
  top: 0px;
  left: -1.5em;
}
.main-bg h2 span._stitle::after {
  content: url("../img/cross.svg");
  position: absolute;
  width: 12px;
  height: 12px;
  top: 0px;
  right: -1.5em;
}




/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------ */

@media (min-width: 768px) {

  .hero-box {
    width: 100%;
    max-width: 540px;
    min-height: 172px;
    margin: 10px auto;
  }
  .hero-bg {
    width: 633px;
    height: 157px;
    top: 0px;
    left: 0px;
    background-image: url("../img/sg_Individual_tb@2x.png");
    background-size: 633px 157px;
    background-position: top left;
  }
  .hero-box .hero_logo {
    padding-top: 90px;
  }
  .hero-sg {
    width: 540px;
    margin: 10px auto;
  }
  main {
    margin-top: 20px;
  }
  .main-top {
    margin-top: -170px;
  }
  .main-top ._topbg {
    height: calc(340 / 1024 * 100vw);
  }
  .main-bg {
    margin: -260px auto 0px;
  }

}




@media (min-width: 1024px) {

  .hero-box {
    width: calc(100% - 44px);
    max-width: 1024px;
    min-height: 172px;
    margin: 10px 22px;
  }
  .hero-bg {
    width: 100%;
    height: 172px;
    top: 0px;
    left: 130px;
    background-image: url("../img/sg_Individual_pc@2x.png");
    background-size: 856px 172px;
    background-position: top left;
  }
  .hero-box .hero_logo {
    padding-top: 100px;
  }

  main {
    margin-top: 160px;
  }
  .main-top {
    margin-top: -280px;
  }
  .main-top ._topbg {
    height: calc(340 / 1024 * 100vw);
  }
  .main-bg {
    margin: -280px auto 0px;
  }


}




