@charset "UTF-8";

/* ------------------------------
Common
------------------------------ */
html {
  font-size: 100% !important;
}
#freessl {
  font-size: 18px;
  color: #58595a;
}
#freessl small {
color: #9b9ea0;
font-size: 14px;
}
#freessl p {
  line-height: 1.8;
}
#freessl section {
  padding: 56px 0;
}
#freessl .inner {
  width: 960px;
  margin: 0 auto;
}
#freessl .c-hl {
  margin: 0 0 56px 0;
  padding: 0;
  background: none;
  text-align: center;
  color: #1a4573;
  font-size: 36px;
  line-height: 1.35;
}
#freessl .c-shl {
  border-left: 5px solid #ffa409;
  padding-left: 13px;
  margin-bottom: 34px;
  font-size: 28px;
}
#freessl .c-btn {
  display: block;
  margin: 56px auto 0 auto;
  width: 377px;
  height: 56px;
  background: #67abf5;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  font-size: 18px;
}
#freessl .c-btn:hover {
  text-decoration: none;
  background: #8ec4ff;
}
#freessl .c-btn:focus {
  text-decoration: none;
}
#freessl .c-btn.super {
  background: #f27088;
}
#freessl .c-btn.super:hover {
  background: #fb879d;
}
#freessl .c-btn.line {
  background: #fff;
  border: 1px solid #5aa0ea;
  color: #5aa0ea;
}
#freessl .c-btn.line:hover {
  border-color: #67abf5;
  background: #67abf5;
  color: #fff;
}
#freessl .sheet {
  margin-top: 54px;
  padding: 34px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
#freessl .sheet h3 {
  margin: 0 0 34px 0;
  padding-bottom: 21px;
  border-bottom: 3px solid #ffa409;
  font-size: 24px;
}

/* ------------------------------
Nav
------------------------------ */

#freessl nav#pagenav {
  background: #67abf5;
}
#freessl nav#pagenav.fixed {
  position: fixed;
  top: 0px;
  z-index: 9999;
  background: #67abf5;
  left: 0;
  width: 100%;
}
#freessl nav#pagenav ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 56px;
  width: 960px;
  margin: 0 auto;
}
#freessl nav#pagenav ul li a {
  color: #fff;
  font-size: 18px;
  line-height: 56px;
  display: block;
}
#freessl nav#pagenav ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#freessl nav#pagenav ul li a:link {
  text-decoration: none;
}
#freessl nav#pagenav ul li a:active {
  text-decoration: none;
}
#freessl nav#pagenav ul li a:visited {
  text-decoration: none;
}

/* ------------------------------
Hero
------------------------------ */

#freessl #hero {
  font-weight: bold;
  width: 100%;
  font-size: 80px;
  color: #103a71;
  background: url(../images/freessl/hero_bg.jpg) no-repeat #f7f7f7;
}

#freessl #hero img {
  width: 500px;
}

#freessl #hero h1 {
  margin: 0;
}

#freessl #hero .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 377px;
}

.hero-cta {
  margin-top: 40px;
  line-height: 1.5rem;
  text-align: center;
  width: 400px;
}

.hero-cta-text {
  color: #f80;
  display: flex;
  font-size: 16px;
  justify-content: center;
}

.hero-cta-text::before {
  content: "";
  border-right: 1px solid #f80;
  display: block;
  transform: rotate(-45deg);
  margin-right: 10px;
}

.hero-cta-text::after {
  content: "";
  border-left: 1px solid #f80;
  display: block;
  transform: rotate(45deg);
  margin-left: 10px;
}

.hero-cta-button {
  color: #fff;
  background: #f80;
  border-radius: 4px;
  display: block;
  font-size: 18px;
  padding: 20px;
  margin: 16px 0 0;
}

.hero-cta-button:hover,
.hero-cta-button:focus {
  color: #fff;
  text-decoration: none;
  opacity: 0.7;
}

@media (max-width: 1286px) {
  #freessl #hero {
    background-size: 1286px;
    background-position: 65% center;
  }
}

@media (min-width: 1287px) {
  #freessl #hero {
    background-size: cover;
    background-position: 100% 70%;
  }
}

@media all and (-ms-high-contrast:none) {
  .hero-cta-button {
    padding-top: calc(20px + 0.4rem);
  }
}

/* ------------------------------
Sec01
------------------------------ */

#freessl #sec01 ul {
  padding: 0 56px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto 34px auto;
  width: 880px;
}
#freessl #sec01 ul li figure img {
  width: 100%;
  max-width: 130px;
}
#freessl #sec01 ul li p {
  margin-top: 21px;
  text-align: center;
  font-size: 20px;
}
#freessl #sec01 .box {
  margin: 34px 0 34px 0;
  background: #fff3b6;
  -moz-border-radius: 8px;
  border-radius: 8px;
  color: #826c00;
}
#freessl #sec01 .box h4 {
  background: #ffe357;
  padding: 13px 21px;
  -moz-border-radius-topleft: 8px;
  border-top-left-radius: 8px;
  -moz-border-radius-topright: 8px;
  border-top-right-radius: 8px;
  font-weight: bold;
}
#freessl #sec01 .box p {
  padding: 2px 21px 13px 21px;
}
#freessl #sec01 aside {
  margin-top: 34px;
  padding: 13px 21px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: 3px dashed #67abf5;
}
#freessl #sec01 aside h4 {
  color: #67abf5;
  font-weight: bold;
  margin-bottom: 21px;
}
#freessl #sec01 aside p {
  font-size: 14px;
}
#freessl #sec01 small {
  display: block;
  margin-top: 21px;
}

/* ------------------------------
Sec02
------------------------------ */

#freessl #sec02 {
  background: #f9f8f6;
}
#freessl #sec02 .sheet {
  background: #fff;
}
#freessl #sec02 .sheet h3 {
  border-bottom: 3px solid #ffa409;
}
#freessl #sec02 hr {
  margin: 34px 0 24px 0;
  border-top: 1px solid #d6dade;
}
#freessl #sec02 .block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#freessl #sec02 .block p {
  width: calc(100% - 220px);
}
#freessl #sec02 .block figure img {
  width: 180px;
}
#freessl #sec02 h4 {
  margin: 34px 0 21px 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 22px;
  margin-bottom: 30px;
}
#freessl #sec02 h4 span {
  display: inline-block;
  background: #ffa409;
  color: #fff;
  padding: 5px 8px;
  margin-right: 8px;
  font-size: 12px;
}
#freessl #sec02 .gfx {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 34px;
}
#freessl #sec02 .gfx figure {
  width: 420px;
}
#freessl #sec02 .gfx img {
  width: 100%;
}
#freessl #sec02 .gfx figcaption {
  margin-top: 13px;
  text-align: center;
  font-size: 14px;
}
#freessl #sec02 .gfx .fa {
  font-size: 36px;
  color: #7cb6f5;
}
#freessl #sec02 .box {
  margin: 56px 0 8px 0;
  background: #f3f9ff;
  -moz-border-radius: 8px;
  border-radius: 8px;
}
#freessl #sec02 .box h4 {
  background: #67abf5;
  padding: 13px 21px;
  -moz-border-radius-topleft: 8px;
  border-top-left-radius: 8px;
  -moz-border-radius-topright: 8px;
  border-top-right-radius: 8px;
  font-weight: bold;
  color: #fff;
}
#freessl #sec02 .box ul {
  padding: 2px 21px 21px 21px;
}
#freessl #sec02 .box ul li {
  margin-bottom: 13px;
}
#freessl #sec02 .box ul li .fa {
  margin-right: 13px;
  color: #ffa409;
  font-size: 24px;
}

/* ------------------------------
Sec03
------------------------------ */

#freessl #sec03 .intro h4 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 21px;
  font-weight: bold;
}
#freessl #sec03 .intro .fa {
  font-size: 28px;
  margin-right: 8px;
}
#freessl #sec03 .intro .c-btn {
  margin: 34px auto 56px auto;
}
#freessl #sec03 .sheet ol li {
  margin-bottom: 13px;
}
#freessl #sec03 .sheet ul {
  margin-top: 56px;
  font-size: 14px;
}
#freessl #sec03 .sheet ul li {
  margin-bottom: 8px;
}
#freessl #sec03 div.sheet {
  background: #fff3b6;
  color: #826c00;
}
#freessl #sec03 div.sheet h3 {
  border-bottom: 3px solid #e6c000;
}
#freessl #sec03 aside.sheet {
  margin-bottom: 56px;
  background: #f3f9ff;
}
#freessl #sec03 aside.sheet h3 {
  border-bottom: 3px solid #adc3dc;
}
#freessl #sec03 .sheet h3 .fa {
  font-size: 28px;
  margin-right: 13px;
}
#freessl #sec03 table {
  width: 100%;
  margin-bottom: 21px;
}
#freessl #sec03 table tr {
  border-bottom: 1px solid #ccc;
}
#freessl #sec03 table tr:last-of-type {
  border-bottom: 0;
}
#freessl #sec03 table th {
  text-align: right;
  height: 56px;
  width: 50%;
  padding-right: 34px;
}
#freessl #sec03 table td {
  padding-left: 34px;
  border-left: 1px solid #ccc;
}
#freessl #sec03 small {
  display: block;
  margin-top: 21px;
}

/* ------------------------------
Sec04
------------------------------ */

#freessl #sec04 {
  background: #f9f8f6;
}
#freessl #sec04 h3 {
  margin-top: 36px;
}
#freessl #sec04 ul li {
  line-height: 2.0;
}
#freessl #sec04 aside {
  margin: 56px 0 13px 0;
  background: #fff;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 21px;
}
#freessl #sec04 aside h4 {
  text-align: center;
}
#freessl #sec04 aside ul {
  margin-top: 34px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0;
}
#freessl #sec04 li figure {
  min-height: 70px;
  line-height: 70px;
}
#freessl #sec04 aside ul li p {
  font-size: 14px;
  margin-top: 8px;
  text-align: center;
}
#freessl #sec04 small {
  display: block;
  margin-top: 21px;
}


/* ------------------------------
Upper
------------------------------ */

#upper {
  margin: 0 auto 0 auto;
  width: 960px;
  height: 30px;
  overflow: hidden;
  border-bottom: 0;
}
#upper ul {
  float: left;
}
#upper ul li {
  display: inline;
  font-size: 10px;
  line-height: 30px;
}
#upper ul li a {
  margin-right: 5px;
}
#upper p {
  float: right;
  margin: 0;
  color: #999;
  font-weight: normal;
  font-size: 10px;
  line-height: 30px;
}

#header {
  font-size: 14px;
}

#freessl .section-apply small {
  color: #fff;
  font-size: 12px;
}

#freessl .footer-contacts-area {
  padding: 21px 0;
}

#freessl .footer-contacts-area p {
  margin-bottom: 0;
}

#freessl .footer-contact-button_link:hover {
  color: #fff;
  text-decoration: none;
}

#freessl .footer-nav li {
  line-height: 1;
}

/* --------------------
bootstrap
-------------------- */
.breadcrumb {
  padding: 13px 0!important;
  margin-bottom: 0!important;
  list-style: none!important;
  background-color: #fff!important;
  border-radius: 0!important;
}
.breadcrumb>li+li:before {
  color: #333!important;
  padding: 0!important;
}

.breadcrumb-link:hover {
  color: #568cc5;
}

#header-menu {
  margin-bottom: 0;
}

.footer-contact-info {
  margin-bottom: 0!important;
  line-height: 1.75;
}

.section-apply-head {
  margin-top: 0!important;
}

.rs-header a:hover,
.footer-feature a:hover,
.section-apply a:hover {
  text-decoration: none!important;

}

.btn-apply:hover {
  color: #fff!important;
}

.footer-nav-item a:hover {
  color: #568cc5!important;
}

.section-apply_btn-apply:hover {
  color: #f80!important;
}

.btn-footer-contact:hover {
  color: #fff!important;
  text-decoration: none!important;
}