/* CSS Document */
#key {
  width: 90%;
  margin: 0 auto;
  overflow: visible !important; }
  #key .tit {
    color: #000;
    position: absolute;
    top: 18%;
    transform: translateY(-50%);
    right: -5%;
    text-align: right;
    font-weight: bold;
    font-size: 7vw;
    letter-spacing: 5px;
    z-index: 11;
    line-height: 5vw; }
    #key .tit span {
      color: #fff; }

#sec1 {
  padding-top: 13%;
  padding-bottom: 15%; }
  #sec1 h2 {
    font-size: 6vw;
    line-height: 1.8;
    letter-spacing: 0.18em;
    padding-bottom: 15%;
    position: relative; }
    #sec1 h2:before {
      content: "";
      position: absolute;
      bottom: 10%;
      left: 50%;
      height: 10vw;
      width: 1px;
      background: #000; }
  #sec1 .img {
    width: 90%;
    margin: 0 auto; }
  #sec1 .txt {
    padding-top: 8%; }

#sec2 {
  padding-top: 10%;
  padding-bottom: 5%;
  background: #f5f4f2; }
  #sec2 h2 {
    font-size: 7vw;
    letter-spacing: 0.1em;
    line-height: 1.5; }
    #sec2 h2 small {
      display: block;
      font-size: 5vw;
      position: relative; }
      #sec2 h2 small:before {
        content: "";
        position: absolute;
        bottom: -75%;
        left: 35%;
        right: 35%;
        border-bottom: 2px solid #000; }
  #sec2 .set1 {
    padding-top: 10%;
    padding-bottom: 15%; }
    #sec2 .set1 dl {
      display: table;
      padding: 0 5%; }
      #sec2 .set1 dl dt, #sec2 .set1 dl dd {
        display: table-cell; }
      #sec2 .set1 dl dt {
        width: 55%; }
      #sec2 .set1 dl dd {
        font-size: 4.3vw;
        padding-left: 8%;
        font-weight: bold;
        vertical-align: middle; }
        #sec2 .set1 dl dd .numb {
          background: #000;
          color: #fff;
          font-size: 4vw;
          width: 8vw;
          height: 8vw;
          border-radius: 50%;
          display: inline-block;
          text-align: center;
          margin-right: 6%;
          font-weight: bold; }
    #sec2 .set1 .txt {
      padding-top: 8%; }
  #sec2 .set2 dl {
    display: table;
    padding-right: 5%; }
    #sec2 .set2 dl dt, #sec2 .set2 dl dd {
      display: table-cell; }
    #sec2 .set2 dl dt {
      font-size: 4.3vw;
      font-weight: bold;
      letter-spacing: -0.01em;
      text-align: center;
      vertical-align: middle; }
      #sec2 .set2 dl dt .numb {
        background: #000;
        color: #fff;
        font-size: 4vw;
        width: 8vw;
        height: 8vw;
        border-radius: 50%;
        display: block;
        text-align: center;
        margin-right: 6%;
        font-weight: bold;
        margin: 0 auto 3%; }
    #sec2 .set2 dl dd {
      width: 55%; }
  #sec2 .set2 .txt {
    padding-top: 8%; }
  #sec2 .set3 {
    padding-top: 10%;
    padding-bottom: 15%; }
    #sec2 .set3 dl {
      display: table;
      padding-left: 5%; }
      #sec2 .set3 dl dt, #sec2 .set3 dl dd {
        display: table-cell; }
      #sec2 .set3 dl dt {
        width: 55%; }
      #sec2 .set3 dl dd {
        font-size: 4.3vw;
        font-weight: bold;
        letter-spacing: -0.01em;
        text-align: center;
        vertical-align: middle; }
        #sec2 .set3 dl dd .numb {
          background: #000;
          color: #fff;
          font-size: 4vw;
          width: 8vw;
          height: 8vw;
          border-radius: 50%;
          display: block;
          text-align: center;
          margin-right: 6%;
          font-weight: bold;
          margin: 0 auto 3%; }
    #sec2 .set3 .txt {
      padding-top: 8%; }

#sec3 {
  padding-top: 15%;
  padding-bottom: 15%; }
  #sec3 .img {
    width: 90%;
    margin: 0 auto; }
  #sec3 h2 {
    padding-top: 8%;
    font-size: 5vw;
    line-height: 1.5;
    letter-spacing: 0.18em;
    padding-bottom: 10%;
    position: relative; }
    #sec3 h2:before {
      content: "";
      position: absolute;
      bottom: 13%;
      left: 35%;
      right: 35%;
      border-bottom: 2px solid #000; }
  #sec3 .txt {
    padding-top: 5%; }

#sec4 {
  position: relative;
  padding-bottom: 15%; }
  #sec4:before {
    content: "";
    position: absolute;
    top: 25%;
    bottom: 0;
    left: 0;
    right: 0;
    background: #f5f4f2; }
  #sec4 .img {
    position: relative;
    width: 90%;
    margin: 0 auto; }
    #sec4 .img .note {
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 3;
      color: #fff;
      letter-spacing: 0.1em; }
  #sec4 h2 {
    text-align: center;
    font-size: 10vw;
    letter-spacing: 0.1em;
    line-height: 2;
    padding-top: 5%;
    padding-bottom: 10%;
    position: relative;
    z-index: 2; }
    #sec4 h2 small {
      font-size: 5vw;
      display: block;
      position: relative;
      letter-spacing: 0.18em; }
      #sec4 h2 small:before {
        content: "";
        position: absolute;
        bottom: -123%;
        left: 35%;
        right: 35%;
        border-bottom: 2px solid #000; }
  #sec4 .txt {
    padding-top: 5%;
    position: relative;
    z-index: 2; }

#sec5 {
  padding-top: 10%;
  padding-bottom: 15%; }
  #sec5 h2 {
    font-size: 10vw;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.18em; }
    #sec5 h2 small {
      font-size: 16px;
      display: block;
      position: relative; }
      #sec5 h2 small:before {
        content: "";
        position: absolute;
        bottom: -80%;
        left: 40%;
        right: 40%;
        border-bottom: 1px solid #000; }
  #sec5 .note {
    padding-top: 5%; }
  #sec5 .set1 {
    padding-top: 18%; }
    #sec5 .set1 .slider1 {
      width: 90%;
      margin: 0 auto; }
    #sec5 .set1 dl {
      font-size: 5vw;
      line-height: 1.5;
      font-weight: 600;
      padding-top: 5%; }
    #sec5 .set1 .txt {
      padding-top: 5%; }
    #sec5 .set1 .bnr {
      padding-top: 8%; }
  #sec5 .set2 {
    padding-top: 18%; }
    #sec5 .set2 .slider {
      width: 90%;
      margin: 0 auto; }
      #sec5 .set2 .slider .slick-list {
        overflow: visible; }
      #sec5 .set2 .slider .slick-arrow {
        top: 60vw; }
      #sec5 .set2 .slider .box {
        border: 1px solid #b5b5b5;
        margin-top: 10%;
        position: relative; }
        #sec5 .set2 .slider .box h3 {
          font-size: 22px;
          text-align: center;
          font-weight: 600;
          letter-spacing: 0.1em;
          position: absolute;
          top: -4vw;
          left: 50%;
          transform: translateX(-50%);
          background: #fff;
          width: 30%; }
        #sec5 .set2 .slider .box ul {
          text-align: center;
          padding: 8% 0; }
      #sec5 .set2 .slider.slider-nav {
        padding-top: 8%; }
        #sec5 .set2 .slider.slider-nav .slick-track {
          transform: none !important;
          display: flex; }
        #sec5 .set2 .slider.slider-nav .slick-list {
          padding: 0 !important; }
        #sec5 .set2 .slider.slider-nav .slick-slide:nth-child(2) {
          margin: 0 1%; }
        #sec5 .set2 .slider.slider-nav .slick-current li {
          position: relative; }
          #sec5 .set2 .slider.slider-nav .slick-current li:before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(255, 255, 255, 0.6); }
  #sec5 .set3 {
    padding-top: 18%; }
    #sec5 .set3 .img {
      width: 90%;
      margin: 0 auto; }
    #sec5 .set3 dl {
      font-size: 5vw;
      line-height: 1.5;
      font-weight: 600;
      padding-top: 5%; }
    #sec5 .set3 .bnr {
      padding-top: 8%; }
    #sec5 .set3 .box {
      border: 1px solid #b5b5b5;
      position: relative;
      width: 90%;
      margin: 15% auto 0; }
      #sec5 .set3 .box h3 {
        font-size: 22px;
        font-weight: 600;
        background: #fff;
        position: absolute;
        top: -4vw;
        left: 50%;
        transform: translateX(-50%);
        width: 26%;
        text-align: center; }
      #sec5 .set3 .box .txt {
        padding: 9% 5% 12%; }
  #sec5 .set4 {
    padding-top: 15%; }
    #sec5 .set4 .img {
      width: 90%;
      margin: 0 auto; }
    #sec5 .set4 dl {
      font-size: 5vw;
      line-height: 1.5;
      font-weight: 600;
      padding-top: 5%; }
    #sec5 .set4 .bnr {
      padding-top: 8%; }
    #sec5 .set4 .tabs-switch {
      padding-top: 10%; }
      #sec5 .set4 .tabs-switch .tab-link {
        display: flex;
        justify-content: center; }
        #sec5 .set4 .tabs-switch .tab-link li {
          width: 25%;
          text-align: center;
          border: 1px solid #626262;
          border-bottom: 0;
          margin: 0 1%;
          font-weight: bold; }
          #sec5 .set4 .tabs-switch .tab-link li.active {
            background: #626262;
            color: #fff; }
      #sec5 .set4 .tabs-switch .tab-content {
        border: 1px solid #626262;
        width: 90%;
        margin: 0 auto; }
        #sec5 .set4 .tabs-switch .tab-content .txt {
          padding-top: 5%;
          padding-bottom: 5%; }
