@charset "utf-8";

.main section {
  padding: 4rem 0;
}
.mw-3 {
  max-width: 320px;
}

/* font */
@media screen and (min-width: 992px) {
  .main .h2 {
    font-size: 2.25rem;
  }
  .main .h6 {
    font-size: 1.0625rem;
  }
  .main p {
    font-size: 1.0625rem;
  }
  .main .small {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .main .h2 {
    font-size: 1.75rem;
  }
  .main p {
    font-size: .9375rem;
  }
}

/* eyecatch */
.eyecatch {
  position: relative;
  background-color: #f5f3ec;
  background-image: linear-gradient(to bottom, #fffdf8, #eeece3);
}
.eyecatch .h1 {
  margin-top: 1.2em;
  font-size: 2.375rem;/*38px*/
  line-height: 1.5;
}
.eyecatch p {
  margin-top: 1em;
  font-size: 1.125rem;/*18px*/
  line-height: 1.7;
}
@media screen and (max-width: 1100px) {
  .eyecatch .h1 {
    font-size: 2.25rem;/*36px*/
  }
  .eyecatch p {
    font-size: 1.0625rem;/*17px*/
  }
}
@media screen and (max-width: 1020px) {
  .eyecatch .h1 {
    margin-top: 1em;
    font-size: 2.125rem;/*34px*/
  }
}
@media screen and (max-width: 970px) {
  .eyecatch .h1 {
    font-size: 2rem;/*32px*/
  }
  .eyecatch p {
    font-size: 1rem;/*16px*/
  }
}
@media screen and (max-width: 920px) {
  .eyecatch .h1 {
    font-size: 1.875rem;/*30px*/
  }
  .eyecatch p {
    font-size: .9375rem;/*15px*/
  }
}
@media screen and (max-width: 870px) {
  .eyecatch .h1 {
    margin-top: .5em;
    font-size: 1.75rem;/*28px*/
  }
  .eyecatch p {
    font-size: .875rem;/*14px*/
  }
}
@media screen and (max-width: 767px) {
  .eyecatch .h1 {
    font-size: 1.625rem;/*26px*/
  }
  .eyecatch img {
    padding-top: 2em;
  }
}
@media screen and (max-width: 720px) {
  .eyecatch .h1 {
    font-size: 1.5rem;/*24px*/
  }
}
@media screen and (max-width: 680px) {
  .eyecatch .h1 {
    font-size: 1.375rem;/*22px*/
  }
  .eyecatch p {
    font-size: .75rem;/*12px*/
  }
  .eyecatch img {
    padding-top: 4em;
  }
}
@media screen and (max-width: 610px) {
  .eyecatch .h1 {
    font-size: 1.25rem;/*20px*/
  }
  .eyecatch p {
    font-size: .6875rem;/*11px*/
  }
}
@media screen and (max-width: 575px) {
  .eyecatch .h1 {
    font-size: 1.875rem;/*30px*/
  }
  .eyecatch p {
    font-size: .9375rem;/*15px*/
  }
  .eyecatch br {
    display: block;
  }
  .eyecatch img {
    padding-bottom: 3em;
    margin-top: -4em;
  }
}
@media screen and (max-width: 460px) {
  .eyecatch .h1 {
    font-size: 1.875rem;/*30px*/
  }
  .eyecatch p {
    font-size: .875rem;/*14px*/
  }
  .eyecatch img {
    margin-top: -3em;
  }
}
@media screen and (max-width: 440px) {
  .eyecatch .h1 {
    font-size: 1.625rem;/*26px*/
  }
}
@media screen and (max-width: 400px) {
  .eyecatch .h1 {
    font-size: 1.5rem;/*24px*/
  }
  .eyecatch img {
    margin-top: -5em;
  }
}
@media screen and (max-width: 380px) {
  .eyecatch .h1 {
    font-size: 1.375rem;/*22px*/
  }
  .eyecatch p {
    font-size: .8125rem;/*13px*/
  }
}
.eyecatch .cta {
  position: absolute;
  bottom: 2em;
  left: 0;
  padding: 0 1.5em;
}
@media screen and (max-width: 1140px) { .eyecatch .cta { bottom: 1em; } }
@media screen and (max-width: 680px) { .eyecatch .cta { bottom: 0; } }

/* carousel */
.carousel {
  max-width: 1000px;
  margin: 0 auto;
}
.carousel-caption {
  top: 0;
  padding: 0;
  color: #464a4c;
}
.carousel-control-prev,
.carousel-control-next {
  width: 50px;
  background-color: #b2b2b2;
  margin: 10% 0;
}
.carousel-control-prev { left: -80px; }
.carousel-control-next { right: -80px; }
@media screen and (max-width: 1200px) {
  .carousel-control-prev { left: 0; }
  .carousel-control-next { right: 0; }
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background-image: none;
}
@media screen and (max-width: 576px) {
  .carousel-control-prev,
  .carousel-control-next {
    width: 25px;
  }
}
.carousel-control-prev-icon::before,
.carousel-control-prev-icon::after,
.carousel-control-next-icon::before,
.carousel-control-next-icon::after {
  position: absolute;
  width: 150%;
  height: 150%;
  margin: auto;
  vertical-align: middle;
  content: "";
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 576px) {
  .carousel-control-prev-icon::before,
  .carousel-control-prev-icon::after,
  .carousel-control-next-icon::before,
  .carousel-control-next-icon::after {
    width: 100%;
    height: 100%;
  }
}
.carousel-control-prev-icon::before {
  left: 6px;
  border-bottom: 3px solid #fff;
  border-left: 3px solid #fff;
}
.carousel-control-next-icon::before {
  right: 6px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
.carousel-indicators {
  bottom: -50px;
}
.carousel-indicators li {
  max-width: 14px;
  height: 14px;
  margin-right: 7px;
  margin-left: 7px;
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 50%;
}
.carousel-indicators .active {
  background-color: rgba(0, 0, 0, .3);
}

/* simulation */
.sim-user {
  font-family: inherit;
}
.form-control {
  border-color: rgba(0, 0, 0, .3);
  color: #464a4c;
}
.form-control:focus {
  color: #555;
}
.sim-user {
  width: 250px;
}
.sim-101 a:focus,
.sim-101 a:hover {
  text-decoration: none;
}

/* trial */
.trial-link {
  position: fixed;
  right: 15px;
  bottom: 10px;
  z-index: 100;
  width: 250px;
  background: #fff;
  outline: 6px solid #BFE3DA;
}
@media screen and (min-width: 1500px) {
  .trial-link {
    right: 30px;
  }
}

/* animated */
.animated {
  -webkit-animation: 1s both;
  -moz-animation: 1s both;
  animation: 1s both;
}
@-webkit-keyframes slideInUp {
  0% {
    visibility: visible;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  0% {
    visibility: visible;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
.fade-up {
  -webkit-transition: transform .7s, opacity .7s;
  transition: transform .7s, opacity .7s;
}
.late1 {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}
.late2 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}