/*============================================
  Top CSS
  ============================================*/
.top-first{
  padding: 5vw 0 7vw;
}
.top-first .inner{
  width: 860px;
  max-width: 100%;
}
.top-first .top-first-ttl{
  text-align: center;
  font-size: max(2.6vw, 1.3em);
  font-weight: 800;
  line-height: 1.6;
}
.top-first .top-first-sub{
  text-align: center;
  font-size: max(1.4vw, 1.1em);
  font-weight: 600;
  margin: 1em 0;
  padding: 2px 0;
  letter-spacing: .04em;
}
.top-first .top-first-sub span{
  border: 1px solid #192244;
  padding: 2px 20px 4px 20px;
}
.top-first .top-first-sub strong{
  color: #224e8a;
}
.top-first .img{
  text-align: center;
  padding: 1.5em 0 .6em;
}
.top-first .img img{
  width: 90%;
}
.top-first p{
  font-size: max(1.1vw, .85em);
  line-height: 2.2;
}
.top-service{
  padding: 1em 0 8vw;
}
.top-service__txt h2{
  font-size: max(1.8vw, 1.4em);
  line-height: 1.6;
  padding: 0 14% 0 0;
}
.top-service__txt h2 span{
  color: #224e8a;
}
.top-service__txt p{
  padding: 1em 14% .6em 0;
}
.top-service-btn{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 1em 14% 0 0;
  margin-left: -4px;
}
.top-service-btn li{
  width: 49%;
  text-align: center;
  font-size: .9em;
  background: #fff;
  position: relative;
  list-style-type: none;
}
.top-service-btn li::after {
  content: "";
  position: absolute;
  top: 42%;
  right: 24px;
  width: 8px;
  height: 8px;
  border-top: 3px solid #224e8a;
  border-right: 3px solid #224e8a;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.top-service-btn li a{
  padding: 20px 0;
  border: 2px solid #224e8a;
  display: block;
  color: #224e8a;
  border-radius: 500px;
}
.top-service-btn li a:hover{
  padding: 20px 0;
  background: #224e8a;
  color: #fff;
  border-radius: 500px;
}
@media (min-width:992px) {
  .top-service__img{
    width: 50%;
  }
  .top-service__txt{
    width: 45%;
  }
}

.top-no1{
  background: url(../img/top-no1-bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 6em 0;
  display: block;
  color: #fff;
}
.top-no1 a:hover{
  background-color: rgba(32,77,139,0.2);
  text-decoration: none;
  color: #fff;
}
.top-no1 .ttl{
  font-size: 3.8em;
  margin: 0;
  line-height: 1.2;
  -webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.top-no1 .box{
  width: 680px;
  max-width: 100%;
}
.top-no1 h3{
  font-size: max(1.4vw, 1.2em);
  padding: .4em 0 .6em 0;
}
.top-no1 p{
  font-size: max(1vw, .8em);
  padding-bottom: 1em;
}
.top-no1 .btn{
  text-align: right;
  margin: 2.5em 0 0;
}
.top-no1 .btn a{
  position: relative;
  display: inline-block;
  padding: 0 80px 0 16px;
  color: #fff;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.top-no1 .btn a::before,
.top-no1 .btn a::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.top-no1 .btn a::before{
  width: 60px;
  height: 60px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
}
.top-no1 .btn a::after {
  right: 26px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #3a5393;
  border-right: 3px solid #3a5393;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 991px) {
  .top-service__txt{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .top-service__txt h2,.top-service__txt p,.top-service-btn{
    padding-right: 0;
  }
}