/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

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

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  /* margin-bottom: 4rem; */
  margin-bottom: 0;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}
/*
.carousel-inner {
    overflow: visible;
}
*/
/* Declare heights because of positioning of img element */
.carousel-item {
  /* height: 32rem; */
  height: auto;
  background-position: center center; /* 背景のセンタリング */
}

.carousel-item > a {
  display: block;
  width: 100%;
  height: auto;
}
.carousel-item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  /* height: 32rem; */
  height: auto;
}

.carousel-item > a img {
  vertical-align: top;　/* imgの隙間を無くす */
}

.carousel-indicators li {
        box-sizing: content-box;
        flex: 0 1 auto;
        width: 6.5px;
        height: 6.5px;
        margin-right: 1.25px;
        margin-left: 1.25px;
        text-indent: -999px;
        cursor: pointer;
        background-color: transparent;
        border: 1px solid #222;
        border-radius: 50%;
        opacity: .9;
}
.carousel-indicators li.active {
        background-color: #222;
        border: 1px solid #222;
        opacity: 1;
}

@media (min-width: 768px) {
    .carousel-indicators li {
            width: 13px;
            height: 13px;
            margin-right: 3.5px;
            margin-left: 3.5px;
    }
}

.carousel-control-next, 
.carousel-control-prev {
    width: 8.5%;
    opacity: 1;
    transition: opacity .15s ease;
}

.carousel-control-next:focus, 
.carousel-control-next:hover, 
.carousel-control-prev:focus, 
.carousel-control-prev:hover {
    outline: 0;
    opacity: .5;
}

@media (min-width: 768px) {
    .carousel-control-next, 
    .carousel-control-prev {
        width: 10vw;
    }
}

.carousel-control-next-icon, 
.carousel-control-prev-icon {
    width: 16px;
    height: 16px;
}

@media (min-width: 768px) {
    .carousel-control-next-icon, 
    .carousel-control-prev-icon {
        width: 50px;
        height: 50px;
    }
}

#right_icon {
background-image:url("img/right_arrow.svg")
}
/* 矢印アイコンをsvgに */

#left_icon {
background-image:url("img/left_arrow.svg")
}
/* 矢印アイコンをsvgに */

/*  個別の指定 */

.top-carousel-wrap .carousel-item {
    /* padding: 0 calc(10vw - 3px); */
}
    
@media (min-width: 576px) {
    .top-carousel-wrap .carousel-item {
        /* padding: 0 calc(10vw - 3px); */
    }
    .top-carousel-wrap .carousel-control-next {
        /* right: 15px; */
        right: 0;
        width: 9.6875vw;
    }
    .top-carousel-wrap .carousel-control-prev {
        /* left: 15px; */
        left: 0;
        width: 9.6875vw;
    }
}

@media (min-width: 1200px) {
    .top-carousel-wrap .carousel-item {
        /* padding: 0 142px; */
    } 
    .top-carousel-wrap .carousel-control-next {
        /* right: calc(50vw - 710px); */
        right: 6.8vw;
        width: 9.6875vw;
    }
    .top-carousel-wrap .carousel-control-prev {
        /* left: calc(50vw - 710px); */
        left: 6.8vw;
        width: 9.6875vw;
    }
}

.fa-carousel-wrap .carousel-item {
    padding-top: 25px;
    padding-bottom: 38px;
    /* border-top: 1px #bbb solid; */
}

.fa-carousel-wrap .carousel-indicators {
    /* display: none; */
    bottom: -50px;
}

.fa-carousel-wrap .carousel-control-next-icon, 
.fa-carousel-wrap .carousel-control-prev-icon {
    width: 32px;
    height: 32px;
}

@media (min-width: 768px) {
    .fa-carousel-wrap .carousel-item {
        /* border-bottom: 1px #bbb solid; */
    }
    .fa-carousel-wrap .carousel-control-next-icon, 
    .fa-carousel-wrap .carousel-control-prev-icon {
        width: 50px;
        height: 50px;
    }
    .fa-carousel-wrap .carousel-indicators {
        display: flex;
        bottom: -50px;
    }
    .fa-carousel-wrap .carousel-control-next {
        right: -9.6875vw;
        width: 9.6875vw;
    }
    .fa-carousel-wrap .carousel-control-prev {
        left: -9.6875vw;
        width: 9.6875vw;
    }
}
@media (min-width: 992px) {
    .fa-carousel-wrap .carousel-item {
        padding-top: 40px;
        padding-bottom: 55px;
    }
}

@media (min-width: 1420px) {
    .fa-carousel-wrap .carousel-control-next {
        right: -9.6875vw;
        width: 9.6875vw;
    }
    .fa-carousel-wrap .carousel-control-prev {
        left: -9.6875vw;
        width: 9.6875vw;
    }
}
					
/* 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;
  }
}
