html {
  scroll-behavior: smooth;
}

body {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  width: 100%;
  line-height: 1;
  letter-spacing: 0.5px;
  font-size: 13px;
  overflow-x: hidden;
  margin: 0 auto;
  transition: all 1.6s ease 0s;
  color: #fff;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .pcNone {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
  }
}

#fv_img {
  position: relative;
  height: 100svh;
  width: 100%;
}
#fv_img .fv_box {
  position: fixed;
  width: 100%;
  height: 100svh;
  animation-name: fadeInAnime2;
  animation-duration: 4s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
#fv_img h1 {
  position: absolute;
  text-align: center;
  top: 7svh;
  z-index: 10;
  left: 50%;
  transform: translate(-50%, 0%);
  font-family: "scotch-modern", serif !important;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  letter-spacing: 1px;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  #fv_img h1 {
    top: 11vh;
  }
}
#fv_img .kaori {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0%);
  top: 36svh;
  width: 35%;
}
@media screen and (min-width: 769px) {
  #fv_img .kaori {
    top: 39vh;
    width: 150px;
  }
}
#fv_img .note {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0%);
  top: 83svh;
  width: 77%;
}
@media screen and (min-width: 769px) {
  #fv_img .note {
    top: 81vh;
    width: 24%;
  }
}

@media screen and (max-width: 768px) {
  #fv_img:before {
    content: "";
    position: fixed;
    top: 0;
    z-index: -999;
    width: 100%;
    height: 100svh;
    background: url("../images/fv_sp.jpg") no-repeat center;
    background-size: cover;
    opacity: 0;
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
  }
}
@media screen and (min-width: 769px) {
  #fv_img:before {
    content: "";
    position: fixed;
    top: 0;
    left: 50%;
    transform: translate(-50%, 3%);
    z-index: -999;
    width: 100%;
    height: 100svh;
    background: url("../images/fv_pc.jpg") no-repeat center;
    background-size: cover;
    opacity: 0;
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
  }
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInAnime2 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#container {
  position: relative;
  z-index: 100;
  background: #fff;
  padding-top: 25px;
}
@media screen and (min-width: 769px) {
  #container {
    padding-top: 100px;
    margin: 0 auto;
  }
}

.img-slide-box {
  position: relative;
}
.img-slide-box .slide-img-wrap {
  position: relative;
  overflow: hidden;
}

.btn-credit {
  position: absolute;
  bottom: 10%;
  right: 15%;
}
@media screen and (min-width: 769px) {
  .btn-credit {
    right: 71px;
    bottom: 66px;
  }
}

.b_9 {
  bottom: 8% !important;
}
@media screen and (min-width: 769px) {
  .b_9 {
    bottom: 6% !important;
  }
}

.slick-active .btn-credit {
  pointer-events: auto;
}

.btn-credit::after {
  content: "";
  background-image: url(../images/credit_btn.svg);
  background-size: contain;
  background-position: center;
  width: 25px;
  height: 25px;
  position: absolute;
}
@media screen and (min-width: 769px) {
  .btn-credit::after {
    width: 30px;
    height: 30px;
    position: absolute;
  }
}

@media screen and (min-width: 769px) {
  .pb {
    padding-bottom: 20% !important;
  }
}
.show .btn-credit::after {
  content: "";
  background-image: url(../images/credit_btn_02.svg);
  width: 20px;
  height: 20px;
  position: absolute;
  z-index: 50;
}
@media screen and (min-width: 769px) {
  .show .btn-credit::after {
    width: 25px;
    height: 25px;
    position: absolute;
  }
}

.credit {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 23% 7%;
  width: 100%;
  height: 100%;
  transform: translateY(40%);
  transition: all 0.3s linear 0.1s !important;
  opacity: 0;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(10, 10, 10, 0.47);
}
@media screen and (min-width: 769px) {
  .credit {
    padding: 5% 0;
    justify-content: end;
  }
}
@media screen and (min-width: 769px) {
  .credit li {
    justify-content: flex-start;
    display: flex;
    margin-left: 8%;
  }
}
.credit a:hover {
  opacity: 0.5;
}
.credit .credit_li {
  display: flex;
  justify-content: space-between;
  padding-bottom: 15px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .credit .credit_li {
    font-size: 14px;
    width: 460px;
  }
}
.credit .credit_li img {
  width: 41px;
}
@media screen and (min-width: 769px) {
  .credit .credit_li img {
    margin-right: 17%;
  }
}
@media screen and (min-width: 769px) {
  .credit .credit_li p {
    width: 370px;
  }
}

.shop_btn {
  width: 70px !important;
}

.coming_btn {
  width: 74px !important;
}

.show .credit {
  opacity: 1;
  pointer-events: inherit;
  transform: translateY(0);
  z-index: 9;
}

.w_90 {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .w_90 {
    width: 90%;
  }
}
@media screen and (min-width: 769px) {
  .w_90 {
    width: 41%;
  }
}

.img_p {
  margin-top: 75px;
  width: 80%;
}
@media screen and (min-width: 769px) {
  .img_p {
    margin-top: 100px;
    margin-left: 26%;
    width: 39%;
  }
}

.img_p2 {
  width: 50%;
  margin: 75px auto;
}
@media screen and (min-width: 769px) {
  .img_p2 {
    width: 26%;
    margin-left: 44%;
    margin-bottom: 150px;
  }
}

.img_p5 {
  width: 50%;
  margin: 75px auto;
}
@media screen and (min-width: 769px) {
  .img_p5 {
    width: 26%;
    margin: 150px auto 0;
  }
}

.img_p6 {
  width: 50%;
  margin: 75px auto;
}
@media screen and (min-width: 769px) {
  .img_p6 {
    width: 26%;
    margin-bottom: 150px;
  }
}

.img_p7 {
  width: 50%;
  margin: 74px auto;
}
@media screen and (min-width: 769px) {
  .img_p7 {
    width: 26%;
    margin: 150px auto;
  }
}

.img_p3 {
  width: 90%;
  margin: 0 auto 15px;
}
@media screen and (min-width: 769px) {
  .img_p3 {
    width: 41%;
  }
}

.img_p4 {
  width: 50%;
  margin: 75px auto;
}

@media screen and (max-width: 768px) {
  .mb_5 {
    margin-bottom: 5px !important;
  }
}

.mt_5 {
  margin-top: 5px !important;
}
@media screen and (min-width: 769px) {
  .mt_5 {
    margin-top: 10px !important;
  }
}

.mt_25 {
  margin-top: 25px;
}

.mt_75 {
  margin-top: 75px;
}
@media screen and (min-width: 769px) {
  .mt_75 {
    margin-top: 150px;
  }
}

.footer {
  position: relative;
  text-align: center;
}
.footer .online {
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .footer .online {
    top: 25%;
  }
}
.footer .online p {
  position: absolute;
  text-decoration: underline !important;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 17px;
}
@media screen and (min-width: 769px) {
  .footer .online p {
    font-size: 21px;
  }
}

.staff {
  font-size: 13px;
  line-height: 2.3;
  white-space: nowrap;
  margin: 125px auto 175px;
  color: #000;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .staff {
    font-size: 16px;
    line-height: 2.3;
    margin: 150px auto 250px;
  }
}

.logo {
  position: absolute;
  display: flex;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 250px;
  width: 60%;
  justify-content: space-around;
}
@media screen and (min-width: 769px) {
  .logo {
    width: 20%;
    top: 50%;
  }
}
.logo img {
  width: 30px;
}
@media screen and (min-width: 769px) {
  .logo img {
    width: 35px;
  }
}

.galante {
  position: absolute;
  display: flex;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 380px;
  width: 32%;
}
@media screen and (min-width: 769px) {
  .galante {
    width: 10%;
    top: 75%;
  }
}

.copy {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 430px;
  white-space: nowrap;
  font-size: 10px;
}
@media screen and (min-width: 769px) {
  .copy {
    top: 85%;
  }
}/*# sourceMappingURL=style.css.map */