@charset "UTF-8";
/*PC・タブレット・スマホ共通設定
 ---------------------------------------------------------------------------*/
/* mobile first*/
/* For Bootstrap4 Breakpoints  */
/* For Bootstrap4 Breakpoints  End */
/* ----
// * ex) @include text-stroke(2, #fff);
---- */
body {
  /*
    padding-top: 3rem;

     */
  padding-bottom: 3rem;
  color: #5a5a5a; }

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
/* Carousel base class */
.carousel {
  margin-bottom: 4rem; }

/* Since positioning the image, we need to help out the caption
.carousel-caption, .carousel-caption h1{
    top: 30%;
    z-index: 10;
    color: #224478;

}
*/
/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem; }
  @media (min-width: 1440px) {
    .carousel-item {
      height: 38rem; } }

/*
.carousel-item > img {
    position: absolute;
    top: -30%;
    left: 0;
    width: 100%;
   // height: 32rem;
    background-size: contain;
}
*/
.carousel-item .first,
.carousel-item .second,
.carousel-item .third {
  position: absolute;
  top: -30%;
  left: 30%;
  height: 100%;
  -webkit-transform: translate(-30%, 30%);
          transform: translate(-30%, 30%);
  /*
    @include screen-mq(xxl) {
        position: absolute;
        top: -60%;
        left: 0;
        width: 100%;
        height: unset;
        transform: translate( -60%, 0);
    }

 */ }
  @media (min-width: 992px) {
    .carousel-item .first,
    .carousel-item .second,
    .carousel-item .third {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: unset;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); } }
  @media (min-width: 1200px) {
    .carousel-item .first,
    .carousel-item .second,
    .carousel-item .third {
      position: absolute;
      top: -30%;
      left: 0;
      width: 100%;
      height: unset;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); } }

@media (min-width: 1200px) {
  .carousel-item img.first {
    top: -10%; } }

@media (min-width: 1440px) {
  .carousel-item img.first {
    top: -22%; } }

.carousel-control-prev-icon, .carousel-control-next-icon {
  height: 30px;
  width: 30px;
  outline: #a0caff;
  background-color: rgba(32, 71, 129, 0.8);
  background-size: 80%, 80%;
  border-radius: 50%; }
  @media (min-width: 544px) {
    .carousel-control-prev-icon, .carousel-control-next-icon {
      height: 50px;
      width: 50px; } }

.carousel-item figcaption {
  position: absolute;
  left: 50%;
  bottom: 40px;
  color: #044780;
  z-index: 10000;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 30px;
  padding: 4px 5px 2px 8px;
  font-size: 0.8rem;
  white-space: nowrap; }

/* MARKETING CONTENT
-------------------------------------------------- */
/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center; }

.marketing h2 {
  font-weight: 400; }

/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem; }

/* rtl:end:ignore */
/* Featurettes
------------------------- */
.featurette-divider {
  margin: 5rem 0;
  /* Space out the Bootstrap <hr> more */ }

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  /* rtl:remove */
  letter-spacing: -.05rem; }

/* RESPONSIVE CSS
-------------------------------------------------- */
@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4; }
  .featurette-heading {
    font-size: 50px; } }

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem; } }
