/* ===============================================================================
Top
=============================================================================== */
/* top section
========================= */
/* top-sec-1 */
.top-sec-1 {
  background: url("../img/top/top_bg1.jpg") no-repeat center bottom/cover;
  overflow: hidden; }
  .top-sec-1__inner {
    height: 940px;
    max-width: 1920px;
    margin: 0 auto;
    position: relative; }
    .top-sec-1__inner::before, .top-sec-1__inner::after {
      position: absolute;
      content: "";
      display: block; }
    .top-sec-1__inner::before {
      width: 220px;
      height: 512px;
      background: url("../img/cmn/cmn_img3.png") no-repeat 0 0/cover;
      bottom: -94px;
      right: 826px; }
    .top-sec-1__inner::after {
      width: 252px;
      height: 521px;
      background: url("../img/cmn/cmn_img4.png") no-repeat 0 0/cover;
      bottom: -102px;
      right: 115px; }
  .top-sec-1 .blks-1 {
    position: absolute;
    left: 132px;
    top: 215px; }
    .top-sec-1 .blks-1 .heading {
      margin-bottom: 60px; }
      .top-sec-1 .blks-1 .heading h2 {
        color: #fff;
        letter-spacing: .1em;
        font-weight: 700; }
        .top-sec-1 .blks-1 .heading h2 > span {
          display: block;
          line-height: 1;
          letter-spacing: .1em; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) {
            font-size: 2.5rem;
            margin-bottom: 33px; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span {
              font-size: 3rem; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span:nth-child(2) {
                position: relative; }
                .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span:nth-child(2)::after {
                  position: absolute;
                  content: "";
                  display: block;
                  top: -60px;
                  left: 6px;
                  background: url("../img/top/top_img2.png") no-repeat 0 0/cover;
                  width: 159px;
                  height: 59px; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) {
            font-size: 2.5rem;
            margin-bottom: 37px; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span {
              font-size: 3rem;
              display: inline-block;
              position: relative; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span span {
                position: relative;
                z-index: 1;
                margin-right: 3px; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span::after {
                position: absolute;
                content: "";
                display: block;
                left: -5px;
                right: 2px;
                bottom: -10px;
                height: 26px;
                background: #f7ba00; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) {
            font-size: 3.333rem; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) span {
              font-size: 3.944rem; }
    .top-sec-1 .blks-1 .btn a {
      width: 459px;
      height: 134px;
      background: #FF6F00;
      border-radius: 40px;
      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;
      -webkit-transition: background .3s;
      -o-transition: background .3s;
      transition: background .3s; }
      .top-sec-1 .blks-1 .btn a > span {
        display: block; }
        .top-sec-1 .blks-1 .btn a > span span {
          color: #fff;
          font-weight: bold;
          display: block;
          line-height: 1;
          letter-spacing: .1em; }
          .top-sec-1 .blks-1 .btn a > span span:nth-child(1) {
            font-size: 1.111rem;
            margin-bottom: 7px; }
          .top-sec-1 .blks-1 .btn a > span span:nth-child(2) {
            font-size: 2.111rem;
            margin-bottom: 9px; }
          .top-sec-1 .blks-1 .btn a > span span:nth-child(3) {
            text-align: right;
            font-size: 1.111rem; }
      .top-sec-1 .blks-1 .btn a:hover {
        text-decoration: none;
        background: #FF9C00; }
  .top-sec-1 .blks-2 {
    position: absolute;
    top: 105px;
    right: 310px; }
    .top-sec-1 .blks-2 .list::after {
      position: absolute;
      content: "";
      display: block;
      width: 126px;
      height: 120px;
      bottom: -103px;
      left: 230px;
      background: url("../img/top/top_img1.png") no-repeat 0 0/cover; }
  .top-sec-1 .blks-3 {
    width: 366px;
    position: absolute;
    bottom: 40px;
    left: 204px; }
    .top-sec-1 .blks-3 .sns {
      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;
      width: 100%; }
      .top-sec-1 .blks-3 .sns li {
        width: 50px; }
        .top-sec-1 .blks-3 .sns li a:hover {
          opacity: 0.8; }
        .top-sec-1 .blks-3 .sns li a img {
          display: block; }
  @media screen and (max-width: 1920px) and (min-width: 769px) {
    .top-sec-1__inner {
      height: 48.96vw; }
      .top-sec-1__inner::before {
        width: 11.46vw;
        height: 26.67vw;
        bottom: -4.9vw;
        right: 43.02vw; }
      .top-sec-1__inner::after {
        width: 13.13vw;
        height: 27.14vw;
        bottom: -5.31vw;
        right: 5.99vw; }
    .top-sec-1 .blks-1 {
      left: 6.88vw;
      top: 11.2vw; }
      .top-sec-1 .blks-1 .heading {
        margin-bottom: 3.13vw; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) {
          font-size: 2.34vw;
          margin-bottom: 1.72vw; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span {
            font-size: 2.81vw; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span:nth-child(2)::after {
              top: -3.13vw;
              left: 0.31vw;
              width: 8.28vw;
              height: 3.07vw; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) {
          font-size: 2.34vw;
          margin-bottom: 1.93vw; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span {
            font-size: 2.81vw; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span span {
              margin-right: 0.16vw; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span::after {
              left: -0.26vw;
              right: 0.1vw;
              bottom: -0.52vw;
              height: 1.35vw; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) {
          font-size: 3.13vw; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) span {
            font-size: 3.7vw; }
      .top-sec-1 .blks-1 .btn a {
        width: 23.91vw;
        height: 6.98vw;
        border-radius: 2.08vw; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(1) {
          font-size: 1.04vw;
          margin-bottom: 0.36vw; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(2) {
          font-size: 1.98vw;
          margin-bottom: 0.47vw; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(3) {
          font-size: 1.04vw; }
    .top-sec-1 .blks-2 {
      top: 5.47vw;
      right: 16.15vw; }
      .top-sec-1 .blks-2 .list {
        width: 31.25vw;
        height: 29.38vw; }
        .top-sec-1 .blks-2 .list::after {
          width: 6.56vw;
          height: 6.25vw;
          bottom: -5.36vw;
          left: 11.98vw; }
        .top-sec-1 .blks-2 .list::before {
          width: 6.56vw;
          height: 6.25vw;
          top: 12.34vw;
          left: 12.76vw; }
        .top-sec-1 .blks-2 .list li a {
          width: 10.42vw;
          height: 10.42vw;
          border-radius: 5.21vw;
          font-size: 1.67vw;
          -webkit-box-shadow: 0 0.26vw 0.31vw rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.26vw 0.31vw rgba(0, 0, 0, 0.16); }
          .top-sec-1 .blks-2 .list li a span {
            padding-bottom: 0.42vw; }
        .top-sec-1 .blks-2 .list li:nth-child(1) {
          width: 10.42vw; }
          .top-sec-1 .blks-2 .list li:nth-child(1) a span {
            padding-top: 4.06vw;
            background: url("../img/cmn/cmn_ico3.png") no-repeat center top/4.22vw auto; }
        .top-sec-1 .blks-2 .list li:nth-child(2) {
          top: 7.14vw; }
          .top-sec-1 .blks-2 .list li:nth-child(2) a span {
            padding-top: 4.38vw;
            background: url("../img/cmn/cmn_ico4.png") no-repeat center top/4.17vw auto; }
        .top-sec-1 .blks-2 .list li:nth-child(3) {
          right: 3.91vw; }
          .top-sec-1 .blks-2 .list li:nth-child(3) a span {
            padding-top: 4.32vw;
            background: url("../img/cmn/cmn_ico5.png") no-repeat center top/4.43vw auto; }
        .top-sec-1 .blks-2 .list li:nth-child(4) {
          left: 4.22vw; }
          .top-sec-1 .blks-2 .list li:nth-child(4) a span {
            padding-top: 4.69vw;
            background: url("../img/cmn/cmn_ico6.png") no-repeat center top/4.27vw auto; }
        .top-sec-1 .blks-2 .list li:nth-child(5) {
          top: 7.14vw; }
          .top-sec-1 .blks-2 .list li:nth-child(5) a span {
            padding-top: 4.17vw;
            background: url("../img/cmn/cmn_ico7.png") no-repeat center top/2.76vw auto; }
    .top-sec-1 .blks-3 {
      width: 19.06vw;
      bottom: 2.08vw;
      left: 10.63vw; }
      .top-sec-1 .blks-3 .sns li {
        width: 2.6vw; } }
  @media screen and (max-width: 1240px) and (min-width: 769px) {
    .top-sec-1__inner {
      height: 627px; }
      .top-sec-1__inner::before {
        width: 147px;
        height: 341px;
        bottom: -63px;
        right: 551px; }
      .top-sec-1__inner::after {
        width: 168px;
        height: 347px;
        bottom: -68px;
        right: 77px; }
    .top-sec-1 .blks-1 {
      left: 88px;
      top: 143px; }
      .top-sec-1 .blks-1 .heading {
        margin-bottom: 40px; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) {
          font-size: 30px;
          margin-bottom: 22px; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span {
            font-size: 36px; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span:nth-child(2)::after {
              top: -40px;
              left: 4px;
              width: 106px;
              height: 39px; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) {
          font-size: 30px;
          margin-bottom: 25px; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span {
            font-size: 36px; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span span {
              margin-right: 2px; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span::after {
              left: -3px;
              right: 1px;
              bottom: -7px;
              height: 17px; }
        .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) {
          font-size: 40px; }
          .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) span {
            font-size: 47px; }
      .top-sec-1 .blks-1 .btn a {
        width: 306px;
        height: 89px;
        border-radius: 27px; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(1) {
          font-size: 13px;
          margin-bottom: 5px; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(2) {
          font-size: 25px;
          margin-bottom: 6px; }
        .top-sec-1 .blks-1 .btn a > span span:nth-child(3) {
          font-size: 13px; }
    .top-sec-1 .blks-2 {
      top: 70px;
      right: 207px; }
      .top-sec-1 .blks-2 .list {
        width: 400px;
        height: 376px; }
        .top-sec-1 .blks-2 .list::before {
          width: 84px;
          height: 80px;
          top: 158px;
          left: 163px; }
        .top-sec-1 .blks-2 .list::after {
          width: 84px;
          height: 80px;
          bottom: -69px;
          left: 153px; }
        .top-sec-1 .blks-2 .list li a {
          width: 133px;
          height: 133px;
          border-radius: 67px;
          font-size: 21px;
          -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 4px rgba(0, 0, 0, 0.16); }
          .top-sec-1 .blks-2 .list li a span {
            padding-bottom: 5px; }
        .top-sec-1 .blks-2 .list li:nth-child(1) {
          width: 133px; }
          .top-sec-1 .blks-2 .list li:nth-child(1) a span {
            padding-top: 52px;
            background: url("../img/cmn/cmn_ico3.png") no-repeat center top/54px auto; }
        .top-sec-1 .blks-2 .list li:nth-child(2) {
          top: 91px; }
          .top-sec-1 .blks-2 .list li:nth-child(2) a span {
            padding-top: 56px;
            background: url("../img/cmn/cmn_ico4.png") no-repeat center top/53px auto; }
        .top-sec-1 .blks-2 .list li:nth-child(3) {
          right: 50px; }
          .top-sec-1 .blks-2 .list li:nth-child(3) a span {
            padding-top: 55px;
            background: url("../img/cmn/cmn_ico5.png") no-repeat center top/57px auto; }
        .top-sec-1 .blks-2 .list li:nth-child(4) {
          left: 54px; }
          .top-sec-1 .blks-2 .list li:nth-child(4) a span {
            padding-top: 60px;
            background: url("../img/cmn/cmn_ico6.png") no-repeat center top/55px auto; }
        .top-sec-1 .blks-2 .list li:nth-child(5) {
          top: 91px; }
          .top-sec-1 .blks-2 .list li:nth-child(5) a span {
            padding-top: 53px;
            background: url("../img/cmn/cmn_ico7.png") no-repeat center top/35px auto; }
    .top-sec-1 .blks-3 {
      width: 244px;
      bottom: 27px;
      left: 136px; }
      .top-sec-1 .blks-3 .sns li {
        width: 33px; } }
  @media screen and (max-width: 768px) {
    .top-sec-1 {
      background: url("../img/top/top_bg1_sp.jpg") no-repeat center bottom/cover; }
      .top-sec-1__inner {
        height: 167.62vw; }
        .top-sec-1__inner::before {
          width: 25.95vw;
          height: 59.52vw;
          bottom: -15vw;
          right: auto;
          left: -0.71vw; }
        .top-sec-1__inner::after {
          width: 28.1vw;
          height: 60vw;
          bottom: -14.76vw;
          right: -2.38vw; }
      .top-sec-1 .blks-1 {
        left: 0;
        width: 100%;
        top: 12.38vw; }
        .top-sec-1 .blks-1 .heading {
          text-align: center;
          margin-bottom: 88.1vw; }
          .top-sec-1 .blks-1 .heading h2 {
            display: inline-block;
            text-align: left; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) {
              font-size: 5vw;
              margin-bottom: 4.29vw; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span {
                font-size: 5.95vw; }
                .top-sec-1 .blks-1 .heading h2 > span:nth-child(1) span:nth-child(2)::after {
                  top: -6.43vw;
                  left: 1.43vw;
                  width: 16.67vw;
                  height: 6.43vw; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) {
              font-size: 5vw;
              margin-bottom: 3.57vw; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span {
                font-size: 5.95vw; }
                .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span span {
                  margin-right: 0.71vw; }
                .top-sec-1 .blks-1 .heading h2 > span:nth-child(2) > span::after {
                  left: -0.71vw;
                  right: 0;
                  bottom: -0.95vw;
                  height: 2.86vw; }
            .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) {
              font-size: 6.43vw; }
              .top-sec-1 .blks-1 .heading h2 > span:nth-child(3) span {
                font-size: 7.62vw; }
        .top-sec-1 .blks-1 .btn a {
          width: 50.48vw;
          height: 15.95vw;
          border-radius: 9.52vw;
          margin: 0 auto; }
          .top-sec-1 .blks-1 .btn a > span span {
            text-align: center; }
            .top-sec-1 .blks-1 .btn a > span span:nth-child(1) {
              font-size: 2.62vw;
              margin-bottom: 0.95vw; }
            .top-sec-1 .blks-1 .btn a > span span:nth-child(2) {
              font-size: 4.05vw;
              margin-bottom: 0.95vw; }
            .top-sec-1 .blks-1 .btn a > span span:nth-child(3) {
              text-align: center;
              font-size: 2.62vw; }
          .top-sec-1 .blks-1 .btn a:hover {
            text-decoration: none;
            background: #f7ba00; }
      .top-sec-1 .blks-2 {
        top: 44.52vw;
        right: auto;
        left: 0;
        width: 100%; }
        .top-sec-1 .blks-2 .list::after {
          width: 12.38vw;
          height: 11.9vw;
          bottom: -5.95vw;
          left: 34.76vw; }
      .top-sec-1 .blks-3 {
        width: 45.24vw;
        padding-right: 2.86vw;
        bottom: 5vw;
        left: 0;
        right: 0;
        margin: 0 auto; }
        .top-sec-1 .blks-3 .sns li {
          width: 6.42vw; } }
