@charset "utf-8";

/* media query */
.sp_only {
  display: block;
}
.pc_only {
  display: none;
}
@media screen and (min-width: 751px) {
  .sp_only {
    display: none;
  }
  .pc_only {
    display: block;
  }
}
/* end media query */

/* reset */
header {
  opacity: 0;
  visibility: hidden;
  transition: all .1s ease-out;
}
header.is-active {
  opacity: 1;
  visibility: visible;
}
#footer {
  opacity: 0;
  visibility: hidden;
  transition: all .1s ease-out;
}
#footer.is-active {
  opacity: 1;
  visibility: visible;
}
#pagetop {
  display: none;
}
#pagetop.is-active {
  display: block;
}
.breadcrumbs {
  background-color: #FFF;
}
.holdingstore .inner {
  max-width: 1019.41px;
}
main {
  opacity: 0;
  visibility: hidden;
  transition: all 1s ease-out;
}
main.is-active {
  opacity: 1;
  visibility: visible;
}
[class*='point-'] .content {
  padding: 50px 16px 30px;
}
.gallery-b .row-sm-w,
.gallery-b .caption {
  padding: 0 1%;
}
.c-product_ec .product__btn {
  font-size: 12px;
  margin: 20px auto 0;
  background: #fff;
  color: #ca0000;
  border: 2px solid #ca0000;
  padding: 16px 8px;
  border-radius: 30px;
  max-width: 300px;
  width: 100%;
  font-weight: bold;
  text-align: center;
  display: block;
}
.holdingstore .headinginner {
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  [class*='point-'] .content {
    padding: 50px 24px 30px;
  }
  [class*='products-'] .item::after {
    content: none;
  }
}
@media screen and (min-width: 1025px) {
  .c-product_ec .product__btn {
    font-size: 14px;
    width: 90%;
  }
}
/* end reset */

/* bg */
.bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.bg__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* end bg */

/* fv */
.fv {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 750px) {
    .fv {
      min-height: calc(var(--vh, 1vh) * 100 - 150px);
    }
}
@media screen and (min-width: 751px) {
  .fv {
    height: 87vh;
  }
}
@media screen and (min-width: 1025px) {
  .fv {
    height: 82vh;
  }
}
.fv__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fv__swiper {
  width: 100%;
  height: 100%;
}
.fv__swiper__wrapper {
  width: 100%;
  height: 100%;
}
.fv__main {
  display: block;
}
.fv__main img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.fv__title {
  position: absolute;
  z-index: 1;
}
.fv__title.top_left {
  top: 4%;
  left: 4%;
}
.fv__title.top_center {
  top: 4%;
  left: 50%;
  transform: translate(-50%, 0);
}
.fv__title.top_right {
  top: 4%;
  right: 4%;
}
.fv__title.center_left {
  top: 50%;
  left: 4%;
  transform: translate(0, -50%);
}
.fv__title.center_center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.fv__title.center_right {
  top: 50%;
  right: 4%;
  transform: translate(0, -50%);
}
.fv__title.bottom_left {
  bottom: 4%;
  left: 4%;
}
.fv__title.bottom_center {
  bottom: 4%;
  left: 50%;
  transform: translate(-50%, 0);
}
.fv__title.bottom_right {
  bottom: 4%;
  right: 4%;
}
.fv__title picture {
  display: block;
  width: 100%;
}
/* end fv */

/* opening */
.opening {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 3s ease-out;
}
.opening img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.opening.is-show {
  opacity: 1;
  visibility: visible;
}
.opening.is-active {
  animation: hidden 1s 3s ease-out forwards;
}
@keyframes hidden {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/* end opening */

/* componentWrap */
.componentWrap {
  margin: 72px auto;
  width: 90%;
  max-width: 1400px;
}
/* end componentWrap */