.pc_space {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pc_space {
      display: block;
      height: 20px; } }

#sec1-1 {
  position: relative;
  padding: 10vw 0 16vw; }
  #sec1-1:after {
    content: "";
    position: absolute;
    top: -10vw;
    left: 10px;
    right: 10px;
    bottom: -23px;
    border: 1px solid #8b8c8b;
    border-top: none;
    transform: skewY(-10deg); }
  #sec1-1 h2 {
    margin: 0 auto 7vw;
    width: 95%; }
  @media only screen and (min-width: 768px) {
    #sec1-1 {
      text-align: center;
      padding: 0 0 95px; }
      #sec1-1:after {
        top: -200px;
        left: 22px;
        right: 22px;
        bottom: -55px;
        border-width: 2px;
        transform: skewY(-5deg); }
      #sec1-1 h2 {
        margin: -48px auto 50px;
        width: 572px; } }

#sec1-2 {
  position: relative;
  z-index: 0;
  padding-bottom: 24vw; }
  #sec1-2:before {
    content: "";
    position: absolute;
    bottom: -4vw;
    left: 3.6%;
    width: 26.5%;
    height: 75vw;
    background: url("../img/index/sec1_deco.png");
    transform: skewY(-10deg); }
  #sec1-2:after {
    content: "";
    position: absolute;
    bottom: -43vw;
    left: 18%;
    width: 1px;
    height: 100vh;
    background: #3e3e3e;
    transform: rotate(-64deg);
    z-index: -1; }
  #sec1-2 .sec1-img {
    margin: 0 10px 0 auto;
    width: 78.3%; }
  #sec1-2 .wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  #sec1-2 h3 {
    position: absolute;
    top: -6vw;
    right: 5%;
    font-size: 7vw;
    line-height: 1.9;
    font-weight: 500;
    letter-spacing: 0.3em;
    z-index: 0;
    padding: 0 1vw; }
    #sec1-2 h3:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      background: url("../img/shared/bg_sp.jpg");
      width: 100%;
      height: 10vw;
      z-index: -1;
      transform: skewY(-10deg); }
    #sec1-2 h3 span {
      font-weight: 700;
      display: block;
      font-size: 110%; }
  #sec1-2 .sec1-label {
    background: url("../img/index/sec1_label_sp.png") no-repeat top center/100% 100%;
    font-size: 4vw;
    line-height: 1.8;
    width: 32.9vw;
    height: 18vw;
    box-sizing: border-box;
    padding-bottom: 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 10%;
    top: 25vw; }
  @media only screen and (min-width: 768px) {
    #sec1-2 {
      padding-bottom: 130px; }
      #sec1-2:before {
        left: calc(50% - 727px);
        width: 578px;
        height: 552px;
        transform: skewY(-6deg);
        bottom: -21px; }
      #sec1-2:after {
        bottom: -570px;
        left: 713px;
        height: 2000px; }
      #sec1-2 .sec1-img {
        margin: 0 15px 0 auto;
        width: 75%; }
        #sec1-2 .sec1-img img {
          width: 100%;
          height: auto; }
      #sec1-2 .wrap {
        width: 1000px;
        left: calc(50% - 500px); }
      #sec1-2 h3 {
        top: -27px;
        right: -43px;
        font-size: 47px;
        line-height: 1.9;
        letter-spacing: 0.2em;
        padding: 0 10px; }
        #sec1-2 h3:before {
          height: 50px;
          transform: skewY(-5deg); }
        #sec1-2 h3 span {
          font-size: 53px;
          letter-spacing: 3px; }
      #sec1-2 .sec1-label {
        background: url("../img/index/sec1_label.png") no-repeat top center/100% 100%;
        font-size: 20px;
        width: 275px;
        height: 66px;
        padding-bottom: 13px;
        left: 297px;
        top: 194px; } }
  @media only screen and (min-width: 768px) and (max-width: 1370px) {
    #sec1-2 {
      margin-top: 21px; }
      #sec1-2 h3 {
        right: 50px; }
      #sec1-2 .sec1-label {
        top: 120px; } }

#sec2 {
  background: url("../img/index/sec2_bg_sp.jpg") no-repeat center/cover;
  padding-bottom: 16vw;
  position: relative;
  z-index: 1; }
  #sec2 .sec2-logo {
    margin: 0 auto;
    width: 20.5%;
    transform: translateY(-50%); }
  #sec2 h2 {
    margin: 0 auto 7vw;
    width: 92%; }
  #sec2 .btn-link {
    margin-top: 9vw; }
  @media only screen and (min-width: 768px) {
    #sec2 {
      background: url("../img/index/sec2_bg.jpg") no-repeat center/cover;
      padding-bottom: 140px; }
      #sec2 .sec2-logo {
        width: 133px; }
      #sec2 h2 {
        margin: 5px 0 49px -17px;
        width: 546px; }
      #sec2 .sec2-txt {
        margin-left: -17px; }
      #sec2 .btn-link {
        margin-top: 0;
        position: absolute;
        bottom: 8px;
        right: -25px; } }
  @media only screen and (min-width: 768px) and (max-width: 1150px) {
    #sec2 .wrap {
      padding: 0 50px; }
    #sec2 .btn-link {
      right: 30px; } }

#sec3 {
  position: relative;
  z-index: 0;
  padding: 19vw 0 13vw; }
  #sec3:after, #sec3:before {
    content: "";
    position: absolute; }
  #sec3:after {
    z-index: -1;
    top: 0;
    left: 10px;
    right: 10px;
    bottom: 0;
    border-left: 1px solid #8b8c8b;
    border-right: 1px solid #8b8c8b; }
  #sec3:before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 69vw);
    background: #f7f7f7;
    z-index: 0; }
  #sec3 h2 {
    margin: 0 -2.5%;
    position: relative;
    z-index: 1; }
  #sec3 .sec3-group {
    position: relative;
    margin-top: -3vw; }
  #sec3 .sec3-txt {
    position: absolute;
    left: 4%;
    right: 4%;
    top: 62vw; }
  #sec3 .sec3-btn {
    display: block;
    margin: -18vw auto 0;
    width: 65%; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      z-index: 1;
      padding: 133px 0 82px; }
      #sec3:after {
        left: 21px;
        right: 21px;
        bottom: auto;
        top: 0;
        height: 498px;
        border-left: 2px solid #8b8c8b;
        border-right: 2px solid #8b8c8b; }
      #sec3:before {
        height: calc(100% - 498px);
        width: calc(100% - 60px); }
      #sec3 h2 {
        margin: 0 auto;
        width: 608px; }
      #sec3 .sec3-group {
        margin-top: -38px; }
      #sec3 .sec3-txt {
        text-align: center;
        left: auto;
        right: 0;
        top: 217px;
        width: 400px; }
      #sec3 .sec3-btn {
        margin: -134px auto 0;
        width: 298px; } }

#sec4 {
  padding-top: 13vw;
  position: relative;
  margin-bottom: 12vw; }
  #sec4:before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 45vw;
    background: url("../img/index/sec1_deco.png");
    top: 0;
    left: 82%; }
  #sec4:after {
    content: "";
    position: absolute;
    bottom: -40vw;
    left: 18%;
    width: 1px;
    height: 100vh;
    background: #3e3e3e;
    transform: rotate(-48deg);
    z-index: -1; }
  #sec4 .wrap {
    padding: 0 3.2%; }
  #sec4 a {
    display: block;
    margin-bottom: 6vw;
    position: relative;
    transition: ease 0.3s; }
    #sec4 a:before {
      content: "";
      position: absolute;
      top: 5px;
      left: 5px;
      bottom: 5px;
      right: 5px;
      border: 1px solid rgba(255, 255, 255, 0.4);
      z-index: 1;
      pointer-events: none; }
    #sec4 a dl {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      text-align: center;
      width: 100%; }
      #sec4 a dl dt {
        font-size: 4.8vw;
        font-weight: 500;
        line-height: 1.2; }
        #sec4 a dl dt span {
          display: block;
          margin: 0 auto;
          width: 23vw; }
      #sec4 a dl dd {
        font-weight: 600;
        font-size: 7.4vw;
        letter-spacing: 0.06em; }
        #sec4 a dl dd span {
          font-size: 3vw;
          font-weight: 300;
          display: block;
          letter-spacing: 0.12em; }
    #sec4 a .click-btn {
      position: absolute;
      bottom: 3vw;
      right: 8%;
      width: 18%; }
    #sec4 a:hover {
      text-decoration: none;
      opacity: 0.8; }
  @media only screen and (min-width: 768px) {
    #sec4 {
      padding-top: 158px;
      padding-bottom: 140px;
      margin-bottom: 0; }
      #sec4:before {
        height: calc(100% + 627px);
        top: auto;
        bottom: -100px;
        left: calc(50% + 210px); }
      #sec4:after {
        bottom: -570px;
        left: 713px;
        height: 2000px; }
      #sec4 .wrap {
        padding: 0;
        max-width: 1314px; }
      #sec4 a {
        width: calc(50% - 15px);
        display: block;
        margin-bottom: 0; }
        #sec4 a:before {
          top: 10px;
          left: 10px;
          bottom: 10px;
          right: 10px; }
        #sec4 a dl dt {
          font-size: 30px;
          line-height: 1.2;
          margin-bottom: 22px; }
          #sec4 a dl dt span {
            width: 23%; }
        #sec4 a dl dd {
          font-size: 46px; }
          #sec4 a dl dd span {
            font-size: 16px;
            margin-top: 15px; }
        #sec4 a .click-btn {
          position: absolute;
          bottom: 3vw;
          right: 8%;
          width: 18%; }
        #sec4 a:hover {
          text-decoration: none;
          opacity: 0.8; } }

#footer_access {
  overflow: hidden;
  text-align: center;
  clip-path: polygon(0 22%, 100% 0, 100% 100%, 0% 100%);
  position: relative; }
  #footer_access h2 {
    background: rgba(255, 255, 255, 0.6);
    text-align: center;
    width: 44%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 28%;
    z-index: 1;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-size: 7.9vw; }
    #footer_access h2 span {
      display: block;
      font-weight: 300;
      font-size: 2.5vw;
      line-height: 1.2; }
  @media only screen and (min-width: 768px) {
    #footer_access .bg_parallax {
      height: 510px; }
    #footer_access h2 {
      width: 330px;
      left: calc(50% - 165px);
      font-size: 50px;
      line-height: 1;
      padding-top: 128px;
      letter-spacing: 8px; }
      #footer_access h2 span {
        font-size: 16px;
        margin-top: 22px;
        letter-spacing: 2.5px; } }


.text_box {
   width: 700px;
   margin: 20px auto 80px auto;
   padding: 20px 0;
   border: solid 2px #dd471f;
}

.text_box p.ttl {
   font-size: 20px;
   margin-bottom: 8px;
   letter-spacing: 2px;
   text-align: center;
   line-height: 40px;
   color: #fff;
   font-weight: bold;
}

.text_box p.txt {
   text-align: center;
   font-size: 17px;
   line-height: 32px;
   color: #fff;
}
.text_box .botan a {
   width: 400px;
   margin: 20px auto 5px auto;
   padding: 10px 0;
   display: block;
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
   text-align: center;
   text-decoration: none;
   font-size: 17px;
   border: 1px solid #fff;
   box-sizing: border-box;
}

@media (max-width: 768px) {
.text_box {
      width: 95%;
      margin: 20px auto 20px auto;
      padding: 20px 0;
      border: solid 2px #dd471f;
   }

.text_box p.ttl {
      font-size: 20px;
      margin-bottom: 8px;
      letter-spacing: 2px;
      text-align: center;
      line-height: 40px;
      color: #fff;
      font-weight: bold;
   }

.text_box p.txt {
      text-align: center;
      font-size: 14px;
      line-height: 30px;
      color: #fff;
   }
.text_box .botan a {
   width: 90%;
   margin: 20px auto 5px auto;
   padding: 10px 0;
   display: block;
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
   text-align: center;
   text-decoration: none;
   font-size: 14px;
   border: 1px solid #fff;
   box-sizing: border-box;
}
	}