@charset "utf-8";
/* Top CSS */

/* MAIN
--------------------------------------------------------------------------------------*/
#main_cont .frame_box {
  line-height: 0;
}

h2 {
  margin-bottom: 0;
}

.main_img {
  width: 100%;
}

/* Carousel
*************************************** */
.owl-carousel {
  margin: 0 auto;
  width: 100%;
}

.owl-carousel a {
  display: block;
}

.owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
  display: block;
}

.owl-theme .owl-nav {
  margin: 0;
}

.owl-theme .owl-nav [class*=owl-] {
  margin-top: 50px;
  z-index: 120;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  display: block;
  position: absolute;
  bottom: -50px;
  overflow: hidden;
  width: 30px;
  height: 30px;
  background-color: #666666;
  border: 2px solid #666666;
  border-radius: 50%;
  transition: all .5s ease-in-out;
  z-index: 110;
}

.owl-prev span,
.owl-next span {
  display: none;
}

.owl-prev {
  left: 0;
}

.owl-next {
  right: 0;
}

.owl-prev::before,
.owl-next::before {
  content: "";
  position: absolute;
  top: 7.5px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.owl-prev::before{
  right: 7px;
  transform: rotate(225deg);
}

.owl-next::before {
  left: 7px;
  transform: rotate(45deg);
}

.owl-dots {
  position: absolute;
  bottom: -40px;
  width: calc(100% - 10px);
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background-color: #33af0d;
}

/* Section
*************************************** */

/* Info
*************************************** */
#info {
  padding-bottom: 60px;
}

/* Experience
*************************************** */
#experience, #bento, #facility {
  background-color: #fcf7e1;
}

.wave {
  position: relative;
  padding-bottom: 60px;
}

.wave picture {
  position: absolute;
  top: -5.5vw;
  right: 0;
  left: 0;
  width: 100%;
  z-index: -10;
}

.wave picture img {
  width: 100%;
}

#experience .frame_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 10px;
}

.detail_box {
  width: 48%;
  max-width: 400px;
  margin: 10px;
}

.product_box {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  text-align: left;
  transition: all .5s ease-in-out;
}

.product_box:hover {
  opacity: .7;
}

.jacket_box {
  width: 400px;
  height: 400px;
  margin: 0 auto 15px;
  background-color: #fff;
  border: solid 1px;
}

.jacket {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 400px;
  max-height: 400px;
}

.jacket .image {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}

#experience h3 {
  font-weight: bold;
  line-height: 1.4;
}

#experience .title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 5px;
  font-size: 2rem;
}

#experience .title::before {
  top: 3px;
}

#experience .point {
  font-size: 1.4rem;
}

#experience .attention {
  margin-top: 5px;
  color: #c6000b;
  font-size: 1.2rem;
}

/* Carousel Box
*************************************** */
.carousel_box .frame_box {
  padding-top: 10px;
}

.carousel_box .owl-carousel {
  max-width: 1200px;
}

.carousel_box .owl-carousel .owl-nav button.owl-prev,
.carousel_box .owl-carousel .owl-nav button.owl-next {
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}

.carousel_box .owl-carousel .owl-nav button.owl-prev {
  left: -30px;
}

.carousel_box .owl-carousel .owl-nav button.owl-next {
  right: -30px;
}

.owl-carousel .owl-item img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.carousel_box .product_box {
  max-width: 275px;
}

.carousel_box .jacket_box {
  width: 275px;
  height: 275px;
}

.carousel_box .jacket {
  max-width: 275px;
  max-height: 275px;
}

.carousel_box .more_btn {
  margin: 45px auto 25px;
}

/* Access
*************************************** */
#access h2 {
  padding-bottom: 15px;
}

#access .frame_box {
  width: 100%;
  max-width: 100%;
}

.access_text {
  padding: 20px 0;
  font-size: 1.6rem;
  text-align: center;
}

.access_text strong {
  font-weight: bold;
  font-size: 2rem;
  line-height: 2;
}

.access_text p {
  font-size: 1.4rem;
}

/* Link
*************************************** */
#link {
  padding-bottom: 15px;
  background-color: #fcf7e1;
}

#link .link {
  margin: 15px auto 0;
}

#link .link a {
  min-width: 200px;
  padding: 5px 30px;
}



/* -------------------- for SP (480px) ---480px以下
----------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  /* MAIN
  --------------------------------------------------------------------------------------*/

  /* Section
  *************************************** */

  /* Experience & Carousel
  *************************************** */
  #experience .frame_box, .carousel_box .frame_box {
    padding: 10px 0 50px;
  }

  .product_box, .carousel_box .product_box {
    width: 43vw;
  }

  .jacket_box {
    width: 83vw;
    height: 83vw;
  }

  .carousel_box .jacket_box {
    width: 43vw;
    height: 43vw;
  }

  .carousel_box .jacket {
    max-width: 205px;
    max-height: 205px;
  }

  .carousel_box .owl-carousel .owl-nav button.owl-prev,
  .carousel_box .owl-carousel .owl-nav button.owl-next {
    top: auto;
    bottom: -40px;
  }

  .carousel_box .owl-carousel .owl-nav button.owl-prev {
    left: -10px;
  }

  .carousel_box .owl-carousel .owl-nav button.owl-next {
    right: -10px;
  }
  
  .detail_box {
    width: 100%;
    margin: 10px 0;
  }

  /* Link
  *************************************** */
  #link .link {
    display: block;
  }

}
/* (max-width: 480px) end */


/* -------------------- for Tablet (481px) and (1023px) ---481から1023px以内
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 481px) and (max-width: 1023px) {
  /* MAIN
  --------------------------------------------------------------------------------------*/
  main {
    margin: 75px auto 0;
  }

  /* Product
  *************************************** */
  .product_box {
    width: 35vw;
  }

  .jacket_box {
    width: 35vw;
    height: 35vw;
    max-width: 400px;
    max-height: 400px;
  }

  /* Carousel Box
  *************************************** */
  .carousel_box .frame_box {
    width: 85%;
  }

  .carousel_box .product_box {
    width: 25vw;
    max-width: 250px;
  }

  .carousel_box .jacket_box {
    width: 25vw;
    height: 25vw;
    max-width: 250px;
    max-height: 250px;
  }

  .carousel_box .jacket {
    max-width: 250px;
    max-height: 250px;
  }

  .carousel_box .owl-carousel .owl-nav button.owl-prev {
    left: -35px;
  }

  .carousel_box .owl-carousel .owl-nav button.owl-next {
    right: -35px;
  }

  .detail_box {
    width: 48vw;
    min-width: 400px;
  }

  /* Link
  *************************************** */


}
/* (min-width: 481px) and (max-width: 1023px) end */
