@charset "UTF-8"; html {
  font-size: 62.5%;
}

#lookBook_230201 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#lp230201 *::before, #lp230201 *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#lp230201 a {
  /* overflow: visible; */
}

#lp230201 {
  width: 100%;
  margin: 0 auto;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  /* font-family: noto-sans-cjk-jp, sans-serif; */
  font-weight: 400;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.02em;
  /* color: #333333; */
}

/* base */
#lp230201 {
  font-family: 'Poppins', sans-serif;
  overflow: hidden;
}

#lp230201 img, #lp230201 picture img, #lp230201 picture source {
  width: 100%;
  height: auto;
}

#lp230201 .slick-slide {
  height: auto;
}

@media only screen and (max-width: 560px) {
  #lp230201 .sp_only {
      display: block;
  }

  #lp230201 .pc_only {
      display: none;
  }
}

@media only screen and (min-width: 561px) {
  #lp230201 .sp_only {
      display: none;
  }

  #lp230201 .pc_only {
      display: block;
  }
}

/* frame Contents */
#lp230201 {
  position: relative;
}

#lp230201 .frameWrap {
  pointer-events: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  z-index: 10;
}

#lp230201 .frameWrap .frameWrapper {
  position: relative;
  /* width: fit-content; */
  margin: auto;
}

#lp230201 .frameWrap .txtTtl {
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: #223757;
}

@media only screen and (max-width: 560px) {
  #lp230201 .frameWrap {
      width: calc(100vw - (6 * (100vw / 390)));
      height: calc(100svh - (calc(100 * (100vw / 750)) + (5 * (100vw / 390))));
      height: calc(100dvh - calc((60 * (100vw / 750)) + (100 * (100vw / 750)) + (5 * (100vw / 390))));
      border: solid calc(3 * (100vw / 390)) #223757;
      text-align: center;
  }

  #lp230201 .frameWrapper .logo .imgbox {
      width: calc(130 * (100vw / 390));
      height: auto;
      margin: calc(30 * (100vw / 390)) auto calc(12.4 * (100vw / 390));
  }

  #lp230201 .frameWrapper .txtTtl {
      transition: font-size 0.5s;
      font-size: calc(24 * (100vw / 390));
      line-height: 2.25;
      font-weight: 500;
      letter-spacing: 0.04em;
  }

  #lp230201 .frameWrapper {
      position: absolute;
      top: calc(31 * (100vw / 390));
      left: 50%;
      transform: translateX(-50%);
      z-index: 5;
  }

  #lp230201 .logo .imgBox {
      transition: width 0.5s, margin 0.5s;
      width: calc(125 * (100vw / 390));
      height: auto;
      margin: calc(0 * (100vw / 390)) auto calc(2 * (100vw / 390));
  }

  #lp230201 .frameWrapper.onView {
    top: calc(-15 * (100vw / 390));
  }
  #lp230201 .frameWrapper.onView .logo .imgBox {
      width: calc(80 * (100vw / 390));
      margin: calc(31 * (100vw / 390)) auto calc(8 * (100vw / 390));
  }

  #lp230201 .frameWrapper.onView .txtTtl {
      font-size: calc(18 * (100vw / 390));
      margin-top: calc(-7 * (100vw / 390));
  }
}

@media only screen and (min-width: 561px) {
  #lp230201 .frameWrap {
      width: 100%;
      height: calc(var(--frameHeight) + calc(10 * (100vw / 1920)));
      outline: calc(5 * (100vw / 1920)) solid #223757;
      outline-offset: calc(-5 * (100vw / 1920));
      box-shadow: 0px 20px 0 #fff;
      text-align: center;
  }

  #lp230201 .frameWrap .frameWrapper {
      width: fit-content;
      margin: calc(41 * (100vw / 1920)) auto 0 calc(41 * (100vw / 1920));
      text-align: left;
  }

  #lp230201 .frameWrap .logo .imgBox {
      transition: width 0.5s;
      width: calc(160 * (100vw / 1920));
      height: auto;
      margin: auto;
  }

  #lp230201 .frameWrap .txtTtl {
      transition: font-size 0.5s;
      margin: calc(17 * (100vw / 1920)) auto 0;
      font-size: calc(40 * (100vw / 1920));
      font-weight: 500;
      line-height: 1.35;
      color: #1C375A;
  }

  #lp230201 .frameWrap .frameWrapper.onView .logo .imgBox {
      width: calc(130 * (100vw / 1920));
  }

  #lp230201 .frameWrap .frameWrapper.onView .txtTtl {
      font-size: calc(24 * (100vw / 1920));
  }
}

/* mainVisual */
#lp230201 .mainVisual img, #lp230201 .mainVisual picture img, #lp230201 .mainVisual picture source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: auto;
}

#lp230201 .mainVisual .txtTtl {
  font-feature-settings: "palt";
  font-size: calc(24 * (100vw / 390));
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: #1C375A;
}

#lp230201 .mainVisual .lineInner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

@keyframes arrowlong01 {
  0% {
      transform: translateY(-100%);
  }

  100% {
      transform: translateY(100%);
  }
}

/* SP */
@media only screen and (max-width: 560px) {
  #lp230201 .mainVisual .imgBox {
      width: auto;
      height: calc(100svh - (calc(90 * (100vw / 750)) + (6 * (100vw / 390))));
      height: calc(100dvh - (calc(90 * (100vw / 750)) + (6 * (100vw / 390))));
  }

  #lp230201.mvAnimation .frameWrapper, #lp230201.mvAnimation .mainVisual .mvSlider .imgBox {
      transition: opacity 0.5s, top 0.5s;
      opacity: 0;
  }

  #lp230201.mvAnimation.onView .frameWrapper {
      opacity: 1;
  }

  #lp230201.mvAnimation.onView .frameWrapper.none {
      opacity: 0;
  }

  #lp230201 .mainVisual .lineCont {
      position: absolute;
      /* right: calc((41 * (100vw / 390))); */
      left: calc(20 * (100vw / 390));
      bottom: calc(70* (100vw / 390));
      width: 1px;
      height: calc(60 * (100vw / 390));
      background: #C9C9C9;
      transition: all 1.4s;
      overflow: hidden;
  }

  #lp230201 .mainVisual .lineCont::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: calc((1 * (100vw / 390)));
      height: calc((40 * (100vw / 390)));
      background: #000;
      -webkit-animation: arrowlong01 3s ease infinite;
      animation: arrowlong01 3s ease infinite;
  }

  #lp230201 .mainVisual .scrollTxt {
      width: calc(8 * (100vw / 390));
      position: absolute;
      bottom: calc(20* (100vw / 390));
      /* right: calc((37 * (100vw / 390))); */
      left: calc(17 * (100vw / 390));
  }
}

/* PC */
@media only screen and (min-width: 561px) {
  #lp230201 .mainVisual .mvSlider {
      display: flex;
      flex-wrap: nowrap;
  }

  #lp230201 .mainVisual .mvSlider .imgBox {
      width: calc(100vw / 3);
      height: calc(var(--frameHeight) + calc(25 * (100vw / 1920)));
  }

  #lp230201.mvAnimation .frameWrapper, #lp230201.mvAnimation .mainVisual .mvSlider .imgBox {
      transition: opacity 0.5s;
      opacity: 0;
  }

  #lp230201.mvAnimation.onView .frameWrapper {
      opacity: 1;
  }

  #lp230201.mvAnimation.onView .mainVisual .mvSlider .imgBox:nth-of-type(1) {
      transition-delay: 0.3s;
      opacity: 1;
  }

  #lp230201.mvAnimation.onView .mainVisual .mvSlider .imgBox:nth-of-type(2) {
      transition-delay: 0.6s;
      opacity: 1;
  }

  #lp230201.mvAnimation.onView .mainVisual .mvSlider .imgBox:nth-of-type(3) {
      transition-delay: 0.9s;
      opacity: 1;
  }

  #lp230201 .mainVisual .lineCont {
      position: absolute;
      /* right: calc((41 * (100vw / 1920))); */
      left: calc(41 * (100vw / 1920));
      bottom: calc(125* (100vw / 1920));
      width: 1px;
      height: calc(80 * (100vw / 1920));
      background: #C9C9C9;
      transition: all 1.4s;
      overflow: hidden;
  }

  #lp230201 .mainVisual .lineCont::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: calc((1 * (100vw / 1920)));
      height: calc((80 * (100vw / 1920)));
      background: #000;
      -webkit-animation: arrowlong01 3s ease infinite;
      animation: arrowlong01 3s ease infinite;
  }

  #lp230201 .mainVisual .scrollTxt {
      width: calc(10.08 * (100vw / 1920));
      position: absolute;
      bottom: calc(60* (100vw / 1920));
      /* right: calc((37 * (100vw / 1920))); */
      left: calc(37 * (100vw / 1920));
  }
}

/* lookBook */
#lookBook {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 560px) {
  #lookBook {
      position: relative;
      width: calc(350 * (100vw / 390));
      margin: calc(57 * (100vw / 390)) auto 0;
  }

  #lookBook::after {
      content: "";
      display: block;
      pointer-events: none;
      position: absolute;
      bottom: calc(20.3 * (100vw / 390));
      right: 0;
      width: calc(167 * (100vw / 390));
      height: calc(250 * (100vw / 390));
      background: url(../img/list-image-22.svg) center/100% no-repeat;
  }

  #lookBook .bookWrapper {
      width: calc(167 * (100vw / 390));
      margin-bottom: calc(20.3 * (100vw / 390));
  }

  #lookBook .bookWrapper .creditWrap {
      display: none;
  }
}

/* Tab */
@media only screen and (min-width: 561px) {
  #lookBook {
      width: calc(1120 * (100vw / 1920));
      margin: calc(187 * (100vw / 1920)) auto 0;
  }

  #lookBook .bookWrapper {
      position: relative;
      width: calc(320 * (100vw / 1920));
      margin-bottom: calc(80 * (100vw / 1920));
  }

  #lookBook .bookWrapper::before {
      transition-duration: 1.2s;
      position: absolute;
      content: "";
      display: block;
      bottom: 0;
      left: 0;
      max-height: 85px;
      width: 100%;
      height: calc(85 * (100vw / 1920));
      background: linear-gradient(180deg, rgba(121,121,121,0) 0%, rgba(121,121,121,0.9) 100%);
      background-repeat: no-repeat;
      background-position: bottom;
      pointer-events: none;
      opacity: 0;
      z-index: 1;
  }

  #lookBook .bookWrapper:hover::before {
      opacity: 1;
  }

  #lookBook .bookWrapper .creditWrap {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 5;
  }

  #lookBook .bookWrapper .creditWrap .credit {
      padding: 0 calc(12 * (100vw / 1920)) calc(8 * (100vw / 1920));
      text-align: left;
  }

  #lookBook .bookWrapper .creditWrap .credit a {
      transition: transform 0.8s, opacity 0.8s;
      transform: translateY(20%);
      opacity: 0;
      display: inline-block;
      margin: 0 calc(14 * (100vw / 1920)) calc(0 * (100vw / 1920)) 0;
      font-size: calc(11 * (100vw / 1920));
      font-weight: 400;
      line-height: 1;
      letter-spacing: 0.04em;
      color: #fff;
  }

  #lookBook .bookWrapper:hover .creditWrap .credit a {
      transition-duration: 1.2s;
      transform: translateY(0);
      opacity: 1;
  }
}

/* PC */
@media only screen and (min-width: 1920px) {
  #lookBook {
      width: 1120px;
      margin: 187px auto 0;
  }

  #lookBook .bookWrapper {
      width: 320px;
      margin-bottom: 80px;
  }

  #lookBook .bookWrapper::before {
      max-height: 85px;
      width: 100%;
      height: 85px;
  }

  #lookBook .bookWrapper .creditWrap .credit {
      padding: 0 12px 8px;
  }

  #lookBook .bookWrapper .creditWrap .credit a {
      margin: 0 14px 0px 0;
      font-size: 11px;
  }
}

/* Modal animation */
@media only screen and (max-width: 560px) {
  #modalBook.modalBookWrap {
      pointer-events: none;
      position: fixed;
      top: 48.5%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      transition: opacity 0.8s 0.5s;
      box-shadow: calc(3 * (100vw / 390)) calc(3 * (100vw / 390)) calc(10 * (100vw / 390)) 0 rgb(0 0 0 / 16%);
      opacity: 0;
      z-index: 999999;
  }

  #modalBook.modalBookWrap.onView {
      pointer-events: all;
      opacity: 1;
  }

  #modalBook .modal-bg.modal-close {
      transition: opacity 0.6s 0.4s;
      pointer-events: none;
      opacity: 0;
  }

  #modalBook.onView .modal-bg.modal-close {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 150vw;
      height: 150vh;
      pointer-events: all;
      background-color: #fff;
      opacity: 0.7;
      z-index: 0;
  }

  #modalBook .modal-close {
      position: absolute;
      top: calc(10 * (100vw / 390));
      right: calc(10 * (100vw / 390));
      font-size: 0;
      width: calc(21 * (100vw / 390));
      cursor: pointer;
      z-index: 100;
  }

  #modalBook .mordalSlider {
      overflow: hidden;
      overflow-y: scroll;
      display: block;
      width: calc(350 * (100vw / 390));
      height: calc(611 * (100vw / 390));
      background-color: #fff;
  }

  #modalBook .mordalSlider .creditWrap {
      width: calc(100% - (40 * (100vw / 390)));
      padding: calc(23 * (100vw / 390)) calc(20 * (100vw / 390)) calc(20 * (100vw / 390));
  }

  #modalBook .mordalSlider .creditWrap .credit {
      line-height: 1;
  }

  #modalBook .mordalSlider .creditWrap .credit a {
      display: inline-block;
      padding-right: calc(16 * (100vw / 390));
      margin-bottom: calc(8 * (100vw / 390));
      text-decoration: underline;
      white-space: nowrap;
      font-size: calc(11 * (100vw / 390));
      letter-spacing: 0.04em;
      line-height: 1;
      color: #231815;
  }

  #modalBook .mordalSlider .bookWrapper.sp_only {
      display: none;
  }

  /* Slick arrow */
  .slick-arrow::before, .slick-arrow::after {
      display: none;
  }

  #modalBook .slick-prev {
      display: block;
      position: absolute;
      top: 41.5%;
      transform: translateY(-50%);
      left: calc(13 * (100vw / 390));
      width: calc(13 * (100vw / 390));
      height: calc(24.5 * (100vw / 390));
      z-index: 99;
  }

  #modalBook .slick-next {
      display: block;
      position: absolute;
      top: 41.5%;
      transform: translateY(-50%);
      right: calc(13 * (100vw / 390));
      z-index: 99;
      width: calc(13 * (100vw / 390));
      height: calc(24.5 * (100vw / 390));
  }
}

@media only screen and (min-width: 561px) {
  #modalBook {
      display: none!important;
  }
}

@media only screen and (max-width: 560px) {
  .allBtn {
      width: calc(300 * (100vw / 390));
      height: calc(50 * (100vw / 390));
      margin: calc(61 * (100vw / 390)) auto 0;
  }
}

@media only screen and (min-width: 561px) {
  .allBtn {
      max-width: 370px;
      max-height: 60px;
      width: calc(370 * (100vw / 1400));
      height: calc(60 * (100vw / 1400));
      margin: calc(15 * (100vw / 1400)) auto calc(68 * (100vw / 1400));
  }
}

@media only screen and (min-width: 1400px) {
  .allBtn {
      max-width: 370px;
      max-height: 60px;
      width: 370px;
      height: 60px;
      margin: 15px auto 68px;
  }
}

.frameWrapper.onView {
}

/*========================================================
breadcrumb
========================================================*/
/* ----------[ breadcrumb SP ]---------- */
#lp230201 .cateList {
  width: 90%;
  margin: calc(78 * (100vw / 390)) auto 0;
  padding: 0 0 calc(15 * (100vw / 390));
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: calc(10 * (100vw / 390));
  letter-spacing: 0.01em;
  line-height: calc(20 * (100vw / 390));
  color: #4d4d4d;
  /* white-space: nowrap; */
  text-align: left;
}

/* ----------[ breadcrumb table ]---------- */
@media only screen and (min-width: 560px) {
  #lp230201 .cateList {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      -webkit-box-align: center;
      -ms-flex-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: calc(1280 * (100vw / 1400));
      max-width: 1280px;
      height: calc(50 * (100vw / 1400));
      max-height: 50px;
      margin: calc(80 * (100vw / 1400)) auto 0;
      padding: 0 calc(40 * (100vw / 1400)) calc(24 * (100vw / 1400)) 0;
      font-size: calc(13 * (100vw / 1400));
      letter-spacing: 0.01em;
      line-height: normal;
      color: #4d4d4d;
  }

  #lp230201 .cateList span {
      padding: 0 calc(5 * (100vw / 1400));
  }
}

/* ----------[ breadcrumb PC ]---------- */
@media only screen and (min-width: 1400px) {
  #lp230201 .cateList {
    margin: auto;
    padding: 0 40px 20px 0;
    font-size: 13px;
    height: 50px;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-style: normal;
    font-weight: normal;
  }
  
  #lp230201 .cateList span {
      padding: 0 5px;
  }
}

:root {
  height: frameHeight;
}


#lp230201 .frameWrap .txtTtl {
  font-weight: 500;
}

@media only screen and (min-width: 561px) {
  #lp230201 .mainVisual .scrollTxt {
    bottom: calc(48* (100vw / 1920));
    left: calc(30 * (100vw / 1920));
  }
  #lp230201 .mainVisual .lineCont {
    left: calc(36 * (100vw / 1920));
    bottom: calc(110* (100vw / 1920));
  }
}
@media only screen and (min-width: 1400px) {
  #lp230201 .mainVisual .scrollTxt {
    bottom: 48px;
    left: 30px;
  }
  #lp230201 .mainVisual .lineCont {
    left: 36px;
    bottom: 110px;
  }

}