#sec1 {
  padding: 35px 0 70px;
}
#sec1 .title {
  margin: 0 0 25px;
}
#sec1 .info dl {
  border-top: 1px solid;
  padding: 15px 0 14.5px 10px;
}
#sec1 .info dl:last-of-type {
  border-bottom: 1px solid;
}
#sec1 .info dl dt {
  font-weight: bold;
  margin-bottom: 15px;
}
#sec1 .info dl dd .txt {
  letter-spacing: 0.05em;
}
#sec1 .info dl dd .txt + .txt {
  margin-top: 25px;
}
#sec1 .info dl dd ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 22px;
}
#sec1 .info dl dd ul li .stt {
  width: 75px;
  border-radius: 20px;
  text-align: center;
  letter-spacing: 0.05em;
  background: #002c58;
  color: #fff;
  margin-right: 20px;
  line-height: 20px;
  padding: 2px 0 0;
}
#sec1 .info dl dd ul li + li {
  margin-top: 8px;
}
#sec1 .btn-link {
  margin: 40px 6.7% 0;
}
#sec1 .btn-link a {
  text-decoration: none;
  display: block;
  text-align: center;
  font-size: 17px;
  line-height: 1.5;
  padding: 32px 0;
  color: #fff;
  background: #002c58;
  position: relative;
}
#sec1 .btn-link a::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  background: url("../img/shared/arrow.png") no-repeat center right/100% auto;
  width: 16px;
  left: calc(50% + 79px);
}

#sec2 {
  padding: 50px 4vw;
  background: #f4f4f4;
  text-align: center;
}

#sec3 {
  padding: 45px 0 94px;
}
#sec3 .flex .col + .col {
  margin-top: 65px;
}
#sec3 .flex .col .title {
  margin: 0 0 30px;
}
#sec3 .flex .col dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid;
  padding: 16px 0 14px 10px;
}
#sec3 .flex .col dl:last-of-type {
  border-bottom: 1px solid;
}
#sec3 .flex .col dl dt {
  width: 90px;
  font-weight: bold;
}
#sec3 .flex .col dl dd {
  width: calc(100% - 90px);
}

@media screen and (min-width: 768px) {
  #sec1 {
    padding: 97px 0 124px;
  }
  #sec1 .title {
    margin: 0 0 46px;
  }
  #sec1 .info {
    width: 940px;
    margin: 0 auto;
  }
  #sec1 .info dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 0 14.5px 16px;
  }
  #sec1 .info dl dt {
    width: 207px;
    margin-bottom: 0;
  }
  #sec1 .info dl dd {
    width: calc(100% - 207px);
  }
  #sec1 .info dl dd .txt {
    letter-spacing: 0;
  }
  #sec1 .info dl dd .txt + .txt {
    margin-top: 30px;
  }
  #sec1 .btn-link {
    margin: 76px auto 0;
    width: 680px;
  }
  #sec1 .btn-link a {
    font-size: 24px;
    padding: 47px 0;
  }
  #sec1 .btn-link a::before {
    width: 22px;
  }
  #sec1 .btn-link a:hover {
    opacity: 0.8;
  }

  #sec2 {
    padding: 100px 20px 100px;
  }

  #sec3 {
    padding: 104px 0 142px;
  }
  #sec3 .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto;
    width: 940px;
  }
  #sec3 .flex .col {
    width: 441px;
  }
  #sec3 .flex .col + .col {
    margin-top: 0;
  }
  #sec3 .flex .col .title {
    margin: 0 0 51px;
  }
  #sec3 .flex .col dl {
    padding: 16px 0 14px 16px;
  }
  #sec3 .flex .col dl dt {
    width: 123px;
  }
  #sec3 .flex .col dl dd {
    width: calc(100% - 123px);
  }
}
