*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul[role="list"],ol[role="list"]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

*:focus {
  outline: none;
}

body,a,p,h1,h2,h3,h4{
  font-family: yu-mincho-pr6n, serif;
  color: #000;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.8;
}
body{
  position: relative;
  -webkit-overflow-scrolling: touch;
}
ul{
  padding: 0;
  margin: 0 auto;
}
li{
  list-style: none;
}
a{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
img{
  width: 100%;
}

.pc{
  display: block;
}
.sp{
  display: none;
}


.fadeinDown{
  animation: fadeinDown;
  animation-duration: 1.4s;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeinDown{
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -80px, 0);
    -ms-transform: translate3d(0, -80px, 0);
    transform: translate3d(0, -80px, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.mvZoom{
  animation: mvZoom;
  animation-duration: 1.8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes mvZoom{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.fadeUp-box{
  overflow: hidden;
}
.fadeUp{
  animation: fadeUp;
  animation-duration: 1.8s;
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUp{
  0% {
    opacity: 0;
    -webkit-transform: translateY(80px);
    -ms-transform: translateY(80px);
    transform: translateY(80px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.slide-box{
  overflow: hidden;
}
.slide{
  animation: slide;
  animation-duration: 1s;
  animation-timing-function: ease;
  animation-delay: 2.1s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  opacity: 0;
  z-index: 2;
}
@keyframes slide{
  0% {
    opacity: 0;
    -webkit-transform: translateX(-180px);
    -ms-transform: translateX(-180px);
    transform: translateX(-180px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    height: 100%;
  }
}

.fadeUp02{
  opacity: 0;
}
.fadeUp02.active{
  animation: fadeinUp;
  animation-duration: 1.4s;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  transition: ease-out;
  opacity: 0;
  z-index: 2;
}
@keyframes fadeinUp{
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.fadeLeft{
  opacity: 0;
}
.fadeLeft.active{
  animation: fadeinLeft;
  animation-duration: 1.2s;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  transition: ease-out;
  opacity: 0;
}
@keyframes fadeinLeft{
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeRight{
  opacity: 0;
}
.fadeRight.active{
  animation: fadeinRight;
  animation-duration: 1.4s;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
  transition: ease-out;
  opacity: 0;
  z-index: 1;
}
@keyframes fadeinRight{
  0% {
    opacity: 0;
    transform: translate(50px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

/* header */
header{
  position: relative;
}
header .mv_photo{
  width: 100%;
  overflow: hidden;
}
header .logo{
  position: absolute;
  top: 1.5vw;
  left: 2vw;
  width: 4.5%;
}
header .mv_title{
  position: absolute;
  top: 26%;
  right: 14%;
  width: 37vw;
  margin: auto;
  z-index: 2;
}
header .mv_title01{
  width: 84%;
  margin-bottom: 5%;
  padding-left: 1.5%;
  animation-delay: 1.6s;
}
header .mv_title02{
  width: 99%;
  margin-bottom: 5%;
  animation-delay: 2s;
}
header .mv_title03{
  position: absolute;
  top: 3.4vw;
  right: 11%;
  width: 43%;
  z-index: 1;
}
header .mv_line{
  margin-bottom: 5%;
  animation-duration: 0.6s;
  animation-delay: 2s;
}
header .mv_title04{
  width: 99%;
}
header .mv_title04 img{
  animation-delay: 2.6s;
}

/* lead */
.lead{
  margin: 4% auto 8%;
  text-align: center;
}
.lead .lead_text{
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.1rem;
  line-height: 2.4;
  font-family: "YuMincho", 'Yu Mincho', serif;
}

/* item_box共通 */
.item_box{
  position: relative;
  width: 80%;
  max-width: 1600px;
  margin: 0 auto calc(14% + 3.75vw);
}
.item_box ul{
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
.item_box .photo_box{
  position: relative;
  width: 50rem;
}
.item_box .photo_box .photo_bgi{
  position: absolute;
  top: 3.75vw;
  left: -2.25vw;
  z-index: -1;
}
.item_box .photo_box .photo_bgi.active{
  animation-delay: 0s;
}
.item_box ul li.text_box{
  width: 46rem;
  padding: 0 8%;
}
.item_box .title01{
  height: 8vw;
  width: auto;
  max-width: 190px;
  margin: 18% 0 10% -6%;
}
.item_box .title02{
  margin-bottom: 2%;
  line-height: 1.8;
  font-size: min(1.9vw, 26px);
  font-family: yu-mincho-pr6n, serif;
  letter-spacing: 0.1rem;
}
.item_box .title03{
  margin: 0 0 8% auto;
}
.item_box .text{
  margin-bottom: 16%;
  text-align: justify;
  font-size: 1rem;
  font-size: min(1.3vw, 16px);
  letter-spacing: 0.01rem;
}

/* #style01 */
#style01 .title01{
  margin-top: 37%;
}
#style01 .title03{
  width: 74%;
  margin: -4% -7.5em 8% auto;
  mix-blend-mode: multiply;
}
#style01 .photo_box{
  mix-blend-mode: multiply;
}
#style01 .main .btn{
  background: #7b94bb;
}

/* #style02 */
#style02.item_box ul{
  justify-content: flex-start;
}
#style02 .photo_box .photo_bgi{
  left: auto;
  right: -2.25rem;
}
#style02 .title01{
  margin-top: 27%;
}
#style02 .title03{
  width: 76%;
  margin: 0 -12% 8% auto;
}
#style02 .main .btn{
  background: #9cacac;
}

/* style03 */
#style03{
  margin-bottom: 8%;
}
#style03 .inner{
  position: relative;
}
#style03 .photo_box{
  width: 58%;
  margin: auto;
  z-index: 0;
}
#style03 .photo_box .photo{
  position: relative;
  margin-top: -3rem;
  mix-blend-mode: multiply;
  z-index: 1;
}
#style03 .photo_bgi{
  position: absolute;
  top: 8.5vw;
  left: calc( 21% + 0.25rem);
  width: 58%;
  margin: 0 auto 0 2.25rem;
  z-index: -1;
}
#style03 .title_box{
  position: absolute;
  top: calc(8.25vw + 3%);
  left: calc(50% + 1.25em);
  width: 25.5%;
  z-index: 2;
}
#style03 .title01{
  position: relative;
  max-width: calc(190px + 22%);
  margin: 0 auto;
  padding-left: 22%;
  z-index: 1;
  mix-blend-mode: multiply;
}
#style03 .title02{
  margin-bottom: 0;
  color: #fff;
}
#style03 .title03{
  margin: -0.5vw auto 0 1em;
  width: 100%;
}
#style03 .title03.active{
  animation-delay: 0.8s;
}
#style03 ul{
  display: flex;
  width: 66%;
  margin: 6.05vw auto 0;
}
#style03 ul li{
  width: 50%;
}
#style03 ul li:first-child{
  padding: 0 1%;
}
#style03 ul li:last-child{
  padding: 0.15em 0 0 8%;
}
#style03 .link-box.active{
  animation-delay: 1s;
}
#style03 .main .btn{
  background: #eba1a7;
}

/* #style04 */
#style04{
  margin-bottom: 14%;
}
#style04 .title02{
  margin-bottom: 8%;
}
#style04 .title03{
  position: absolute;
  top: 3%;
  left: 6%;
  width: 54%;
  z-index: 2;
}
#style04 .photo2{
  position: relative;
  min-width: calc(100% + 10rem);
  z-index: 2;
}
#style04 .text{
  margin-bottom: 22%;
}
#style04 .link-box{
  width: 58%;
  min-width: 360px;
  margin: 20% auto 0 18%;
}
#style04 .main .btn{
  background: #8cb7bf;
}

/* #style05 */
#style05 .title01{
  margin-top: 32%;
}
#style05 .title02{
  margin-bottom: 8%;
}
#style05 .title03{
  position: absolute;
  top: 29%;
  left: -15%;
  width: 45%;
  z-index: 2;
}
#style05 .main .btn{
  background: #eea1a7;
}

/* カート */
.link-box .main{
  padding-bottom: 3%;
  border-bottom: 1px solid #231815;
}
.link-box .mix{
  padding-top: 3%;
}
.link-box p{
  text-align: left;
  line-height: 1.8;
}
.cart-btm{
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.3s ease-in-out;
}
.cart-title{
  width: 100%;
  position: relative;
  letter-spacing: 0.1rem;
  font-size: 0.95rem;
  font-family: yu-mincho-pr6n, serif;
  text-transform: uppercase;
}
.cart-yen{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.05rem;
  letter-spacing: 0.06rem;
  font-family: "YuMincho", 'Yu Mincho', serif;
  white-space: nowrap;
}
.cart-yen img{
  width: 16px;
  margin: 0 0.5rem 1px 0;
}
.cart-yen.price img{
  margin-right: 1.075rem;
}
.cart-yen span{
  font-size: 0.7rem;
  margin: 0 0 -4px 5px;
}
.cart-btm .btn{
  padding: 1.2% 4% 1.3%;
  margin: 0 0 0 10px;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1em;
  font-family: "Arial", "メイリオ", Arial, sans-serif;
}
.mix .cart-btm .btn{
  box-sizing: border-box;
  border: 1px solid #808080;
  background: #fff;
  color: #808080;
}
.btn-arrow{
  position: relative;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
}
.btn-arrow span {
  display: inline-block;
  position: relative;
  font-family: "Arial",sans-serif;
  letter-spacing: 0.02rem;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  will-change: transform;
}
.btn-arrow img{
  position: absolute;
  width: 1.1em;
  right: 0px;
  right: 0rem;
  opacity: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  will-change: right, opacity;
}
.cart-btm:hover .btn-arrow span {
  -webkit-transform: translate3d(-.5rem, 0, 0);
  transform: translate3d(-.5rem, 0, 0);
}
.btn-arrow img{
  position: absolute;
  width: 1.1em;
  right: 0px;
  right: 0rem;
  opacity: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  will-change: right, opacity;
}
.btn-arrow img *{
  stroke-width: 5;
  stroke-color: transparent;
}
.cart-btm:hover .btn-arrow img {
  opacity: 1;
  right: -1rem;
}

.all_btn{
  margin-bottom: 4%;
  text-align: center;
}
.all_btn a{
  position: relative;
  display: inline-block;
  margin: auto;
  padding: 1.5em 12em;
  background: #000;
  color: #fff;
  font-family: "YuMincho", 'Yu Mincho', serif;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  transition: 0.6s ease-in-out;
}
.all_btn a::before{
  content: url(../img/btn_arrow.svg);
  display: block;
  position: absolute;
  top: 1.25em;
  right: 2em;
  width: 3em;
  transition: 0.6s ease-in-out;
}
.all_btn a:hover{
  opacity: 0.8;
}
.all_btn a:hover::before{
  right: 1em;
}

/* creater */
.creater{
  margin-bottom: 6%;
}
.creater p{
  text-align: center;
  font-size: 14px;
  font-family: 'EB Garamond', serif;
}

.comingsoon{
  width: 54%;
  max-width: 670px;
  min-width: 670px;
  margin: 0 auto 10%;
  text-align: center;
}
.comingsoon p{
  position: relative;
  margin-top: 1%;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.1rem;
  font-family: meno-banner, serif;
  font-style: italic;
}
.comingsoon .title{
  margin-bottom: 3%;
  font-size: 1.6rem;
}
.comingsoon .title::after{
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  margin: auto;
  background: #000;
}
.comingsoon ul{
  display: flex;
  justify-content: space-between;
}
.comingsoon ul li{
  width: 49.5%;
}
.comingsoon a{
  display: block;
  overflow: hidden;
}
.comingsoon img{
  transition: 0.6s ease-in-out;
}
.comingsoon a:hover img{
  transform: scale(1.06);
  transition: 0.6s ease-in-out;
}


/*banner-block*/
.banner-block{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
.c-btn01{
  width: 70%;
  margin: 0 auto 2% auto;
  border: 1px solid #ccc;
  display: block;
}
.c-btn01:hover{
  border: 1px solid #000;
}

#pagetop{
  position: fixed;
  right: 15px;
  bottom: 20px;
  width: 35px;
  z-index: 99;
}

.end-box{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 4% auto;
}
.end-box .txt{
  font-size: 12px;
  letter-spacing: 1px;
  line-height: 2.5em;
  text-align: center;
  color: #595757;
  font-family: 'EB Garamond', serif;
}

.footer {
  color: #000;
  letter-spacing: 0.3em;
  padding: 0 0 2% 0;
  position: relative;
  text-align: center;
}
.footer .insta{
  display: block;
  width: 450px;
  border: 1px solid #eee;
  margin: 0 auto 3% auto;
  transition: .3s;
}
.footer .insta:hover{
  border: 1px solid #000;
  transition: .3s;
}
.footer_sns {
  margin: 26px 0 0;
}
.footer_snsNode {
  display: inline-block;
  margin: 0 10px;
  width: 30px;
}
.f-ow {
  width: 120px;
  margin: 25px auto 0 auto;
}
.footer_copyright {
  font-family: "Helvetica",serif;
  font-size: 10px;
  letter-spacing: 0.02em;
  margin: 34px 0 0;
}

@media screen and (min-width:1040px) and (max-width:1400px){
  body, a, p, h1, h2, h3, h4{
    font-size: 14px;
  }
  .item_box{
    width: 92%;
  }
  .cart-yen{
    font-size: 1.15vw;
  }
  .cart-yen span{
    font-size: 9px;
    margin-bottom: 0;
  }
  .cart-btm .btn{
    font-size: 0.9vw;
  }
}
@media screen and (min-width:920px) and (max-width:1039px){
  .item_box{
    width: 100%;
  }
  .item_box .textarea .text, .cart-title{
    font-size: 1.2vw;
  }
  .cart-yen{
    font-size: 1.2vw;
  }
  .cart-yen span{
    margin-bottom: 0;
    font-size: 9px;
  }
  .cart-yen.price img{
    margin-right: 1rem;
  }
  .cart-btm .btn{
    font-size: 0.9vw;
  }

  #style04 .photo2{
    min-width: calc(100% + 8rem);
  }

  #style02.item_box .photo_box .photo_bgi{
    right: -2.25rem;
  }
  #style03 .title03{
    width: 82%;
  }
  #style03 .photo_bgi{
    top: 7.75vw;
  }
}
@media screen and (max-width:919px){
  .pc{
    display: none;
  }
  .sp{
    display: block;
  }
  .fadeinDown, .fadeinUp, .fadeLeft.active, .fadeRight.active, .fadeUp02.active, #style03 .title03.active,#style03 .link-box.active{
    animation-delay: 0s;
  }

  header{
    margin-bottom: 9%;
  }
  header .mv_title{
    top: auto;
    right: auto;
    bottom: 6.5%;
    left: 10%;
    width: 80%;
  }
  header .mv_title01{
    width: 90.25%;
  }
  header .mv_title02{
    width: 100%;
  }
  header .mv_title03{
    position: absolute;
    top: 5.6vw;
    right: 13%;
    width: 43.5%;
    z-index: 1;
  }
  header .mv_title04 img{
    animation-delay: 3s;
  }

  .lead{
    margin: 0 auto 20%;
    padding: 0;
  }
  .lead .header_logo{
    width: 18%;
    margin: 20% auto 14%;
  }
  .lead .lead_text{
    width: 80%;
    margin: auto;
    text-align: justify;
    font-size: 0.85rem;
    line-height: 2.2;
  }

  .item_box, .text_box{
    width: 100%;
  }
  .item_box{
    overflow: hidden;
  }
  .item_box, #style04, #style03{
    margin-bottom: 24%;
  }
  .item_box ul{
    flex-direction: column;
  }
  .item_box ul li.text_box,
  .item_box ul li.photo_box{
    width: 100%;
    padding: 0;
  }
  .item_box .text{
    width: 80%;
    margin: 0 auto 8%;
    padding-top: 2rem;
    font-size: 15px;
  }
  .item_box .title01{
    height: 20vw;
    margin: 0 auto 3% 6.5%;
  }
  .item_box .title02{
    width: 80%;
    margin: auto;
    font-size: 5.5vw;
  }
  .item_box .title03{
    margin: auto;
  }

  /* #style01 */
  #style01 .title01{
    margin: 0 auto 3% 6.5%;
  }
  #style01 .title03{
    width: 64%;
    margin: 0 6.5% 6% auto;
  }

  /* #style02 */
  #style02 .title01{
    margin: 0 10% -2% auto;
  }
  #style02 .title03{
    width: 63%;
    margin: -2% 6.5% 6% auto;
  }

  /* #style03 */
  #style03 .photo_box{
    width: 100%;
  }
  #style03 .photo_box .photo{
    margin-top: 0;
  }
  #style03 .title_box{
    position: static;
    width: 100%;
  }
  #style03 .title01{
    margin: 0 auto 3% 6.5%;
    padding-left: 0;
  }
  #style03 .title02{
    width: 78%;
    margin: auto;
    text-align: left;
    color: #000;
  }
  #style03 .title03{
    width: 66%;
    margin: 0 6.5% 6% auto;
  }
  #style03 ul, #style03 ul li{
    width: 100%;
    margin-top: 0;
  }
  #style03 ul li:last-child{
    padding: 0;
  }

  /* #style04 */
  #style04 .title01{
    max-width: inherit;
    margin: 0 6.5% 3% auto;
  }
  #style04 .title02{
    margin-bottom: 2%;
  }
  #style04 .title03{
    position: static;
    width: 68%;
    margin: 0 6.5% 6% auto;
  }
  #style04 .photo2{
    width: 80%;
    min-width: auto;
    margin: auto;
  }
  #style04 .text{
    margin-bottom: 2rem;
  }
  #style04 .link-box{
    width: 80%;
    min-width: auto;
    margin: 2rem auto 0;
  }

  /* #style05 */
  #style05 .title01{
    margin: 0 auto 3% 8%;
    padding-left: 0;
  }
  #style05 .title02{
    margin-bottom: 2%;
  }
  #style05 .title03{
    position: static;
    width: 60%;
    margin: 0 6.5% 6% auto;
  }

  .link-box{
    width: 80%;
    margin: auto;
  }
  .link-box .cart-btm{
    width: 100%;
    margin-bottom: 0.15rem;
  }
  .cart-title{
    font-size: 0.95rem;
    line-height: 2;
    letter-spacing: 0;
  }
  .cart-yen{
    font-size: 0.95rem;
    line-height: 1.2;
  }
  .cart-yen span{
    margin-left: 0.3em;
    margin-bottom: 0;
    font-size: 9px;
  }
  .cart-yen img{
    width: 0.95rem;
    margin: 0 0.5rem 0.15em;
  }
  .cart-yen.price img{
    margin-right: 1.07rem;
  }
  .cart-btm .btn{
    margin-left: 0.3em;
    font-size: 11px;
    line-height: 1em;
    padding: 1.2% 4% 1.3%;
    margin: 0 0 0 10px;
    font-family: "Arial", "メイリオ", Arial, sans-serif;
  }
  .link-line{
    margin: 4% 0;
  }

  .all_btn{
    width: 80%;
    margin: 30% auto 16%;
  }
  .all_btn a{
    width: 100%;
    padding: 2em 0;
    letter-spacing: 0.1rem;
  }
  .all_btn a::before{
    top: auto;
    bottom: 0.3em;
    right: 0.75em;
    width: 2em;
  }

  .creater{
    margin-bottom: 12%;
  }

  .comingsoon{
    position: relative;
    width: 100%;
    min-width: auto;
    margin: 0 auto 9%;
  }
  .comingsoon p{
    margin-bottom: 5%;
    font-size: 1.2rem;
  }
  .comingsoon .title{
    font-size: 1.5rem;
  }
  .comingsoon ul{
    flex-direction: column;
  }
  .comingsoon ul li{
    width: 70%;
    margin: 0 auto 3%;
  }

  .banner-block{
    margin-bottom: 10%;
  }
  .c-btn01{
    width: 79%;
  }

  #pagetop{
    bottom: 0;
    right: 0;
  }

  footer{
    margin-bottom: 3%;
  }

  .footer_snsList{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    margin-bottom: 6%;
  }
  .footer_snsNode{
    width: 9%;
    margin: 0 6%;
  }
  .f-ow{
    width: 32%;
  }

}
