@charset "utf-8";
/* -----------------------------------------------
  KvArea
----------------------------------------------- */
.kv-slider-wrap {
  position: relative;
}
.kv-slider-wrap :is(picture, img) {
  width: 100%;
  height: auto;
}
.kv-slider-wrap p {
  position: absolute;
  font-weight: bold;
}
.kv-slider-wrap p.screen  { mix-blend-mode: screen; }
.kv-slider-wrap p.lighten { mix-blend-mode: lighten; }
.kv-slider-wrap p.dodge   { mix-blend-mode: color-dodge; }
.kv-slider-wrap p.none    { mix-blend-mode: normal; }
.kv-lead strong {
  font-weight: bold;
  display: block;
}
.kv-cap h1 {
  line-height: 1;
}
.kv-cap h1 p em {
  font-weight: bold;
}
.kv-cap h1 strong {
  font-weight: bold;
}
.kv-cap a {
  background: #1a1a1a;
  font-weight: bold;
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
  margin-inline: auto;
}
.kv-cap a span {
  color: #fff;
}
.kv-cap a:hover {
  background: #4c4c4c;
}

@media only screen and (max-width:640px) {
  .kv-slider-wrap p {
    color: #666666;
    width: 90.7%;
    font-size: 5.58vw;
    line-height: 1.42;
    letter-spacing: 0.22em;
    top: 4.65vw;
    left: 50%;
    translate: -50% 0;
    display: flex;
    justify-content: flex-end;
  }
  .kv-lead {
    padding: 17px 0 12px;
  }
  .kv-lead strong {
    font-size: min(5.12vw, 22px);
    line-height: 1.55;
    margin-bottom: 10px;
  }
  .kv-lead p {
    font-size: min(3.72vw, 16px);
    line-height: 2.125;
  }
  .kv-cap h1 {
    margin-bottom: 1px;
  }
  .kv-cap h1 p {
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 2px;
  }
  .kv-cap h1 strong {
    font-size: 20px;
  }
  .kv-cap > p {
    font-size: 14px;
  }
  .kv-cap p.note {
    line-height: 1.5;
    margin-top: 1em;
  }
  .kv-cap a {
    font-size: 16px;
    max-width: 406px;
    height: 56px;
    margin-top: 19px;
  }
}

@media only screen and (min-width:641px) {
  .kvArea {
    margin-bottom: 68px;
  }
  .kv-slider-wrap p {
    color: #666666;
    width: 100%;
    font-size: 42px;
    line-height: 1.42;
    letter-spacing: 0.18em;
    top: 1em;
    left: 50%;
    translate: -50% 0;
    text-align: center;
  }
  .kv-lead {
    padding: 54px 0 40px;
    text-align: center;
  }
  .kv-lead strong {
    font-size: 28px;
    line-height: 1.55;
    letter-spacing: 0.1em;
    margin-bottom: 22px;
  }
  .kv-lead p {
    font-size: 20px;
    line-height: 1.68;
    letter-spacing: 0.08em;
  }
  .kv-cap {
    text-align: center;
  }
  .kv-cap h1 {
    margin-bottom: 6px;
  }
  .kv-cap h1 p {
    font-size: 24px;
    line-height: 1.58;
    margin-bottom: 8px;
  }
  .kv-cap h1 strong {
    font-size: 50px;
  }
  .kv-cap > p {
    font-size: 24px;
  }
  .kv-cap p.note {
    line-height: 1.5;
    margin-top: 1em;
  }
  .kv-cap a {
    font-size: 16px;
    max-width: 406px;
    height: 56px;
    margin-top: 24px;
  }
}

/* -----------------------------------------------
  movie-wrap
----------------------------------------------- */

@media only screen and (max-width:640px) {
  .movie-content {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}

@media only screen and (min-width:641px) {
  .movie-wrap {
    background-color: #F0F0F0;
  }
  
}

/* -----------------------------------------------
  feature-wrap
----------------------------------------------- */
.feature-wrap li a {
  display: block;
  position: relative;
}
.feature-wrap li a:hover {
  opacity: 0.75;
}
.feature-wrap li a img:hover {
  opacity: 1;
}
.feature-wrap li .text {
  color: #fff;
}
.feature-wrap li .text h3 {
  font-family: DIN Regular, san-serif;
}

@media only screen and (max-width:640px) {
  .feature-wrap ul {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .feature-wrap li .text {
    width: 90.7%;
    position: absolute;
    bottom: min(5.12vw, 22px);
    left: 50%;
    translate: -50% 0;
  }
  .feature-wrap li:nth-child(even) .text {
    text-align: right;
  }
  .feature-wrap li .text::before {
    content: '';
    height: 100%;
    background-color: rgba(255,255,255,.65);
    position: absolute;
    top: 0;
    left: -4.65vw;
    width: min(1.4vw, 6px);
  }
  .feature-wrap li:nth-child(even) .text::before {
    right: -4.65vw;
    left: auto;
  }
  .feature-wrap li .text h3 {
    font-size: min(8.37vw, 36px);
    margin-bottom: 0;
    font-weight: normal;
  }
  .feature-wrap li .text p {
    font-size: min(3.72vw, 16px);
    line-height: 1.5;
  }
}

@media only screen and (min-width:641px) {
  .feature-wrap {
    background-color: #F0F0F0;
  }
  .feature-wrap li a {
    display: flex;
    position: relative;
  }
  .feature-wrap li a::before {
    content: '';
    width: 100%;
    height: 25px;
    background: linear-gradient(to bottom,  #666666 0%,#ffffff 100%);
    opacity: .6;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
  }
  .feature-wrap li:nth-child(odd) a {
    flex-direction: row-reverse;
  }
  .feature-wrap li picture {
    width: 50%;
  }
  .feature-wrap li .text {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .feature-wrap li:nth-child(1) .text {
    background-color: #B45F4C;
  }
  .feature-wrap li:nth-child(2) .text {
    background-color: #AFAFAD;
  }
  .feature-wrap li:nth-child(3) .text {
    background-color: #3B3E43;
  }
  .feature-wrap li .text-inner {
    display: flex;
  }
  .feature-wrap li .text h3 {
    font-size: min(4.98vw, 68px);
    margin-bottom: 0;
    font-weight: normal;
    letter-spacing: -0.02em;
    color: rgba(255,255,255,.5);
  }
  .feature-wrap li .text h3 span {
    color: rgba(255,255,255,1);
    font-weight: bold;
  }
  .feature-wrap li .text p {
    font-size: min(1.61vw, 22px);
    line-height: 1.72;
    padding-top: min(4.39vw, 60px);
    padding-left: 5px;
    position: relative;
  }
  .feature-wrap li .text p::after {
    content: '';
    width: 1px;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    rotate: 30deg;
  }
}

.sticky_area {
  opacity: 1;
  pointer-events: initial;
  background: rgba(255,255,255,.9);
  border-top: 1px solid #ccc;
  bottom: 0;
  /*pointer-events: none;*/
  left: 0;
  padding: 1em 0;
  position: fixed;
  width: 100%;
  z-index: 96;
  /*opacity: 0;*/
  /*transition: opacity .5s;*/
}
.sticky_area a.buy {
  font-weight: bold;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
  background: #000;
  border: 1px solid transparent;
  color: #fff;
  margin: auto;
}

@media only screen and (max-width: 640px) {

  .exceptionWrap {
    padding-bottom: 250px;
    margin-top: 100px;
  }
  .inner_wrap {
    /* max-width: 1280px; */
    width: 87.2%;
  }
  .sp_only {
    display: block;
  }
  .pc_only {
    display: none;
  }
  .sticky_area a.buy {
    font-size: 16px;
    width: 87.2%;
    height: 56px;
  }

  .header:has(#productNav.sticky) ~ #luxy {
    margin-top: 55.38px;
  }

}

@media only screen and (min-width: 641px) {


.product-nav li {
  padding: 0 4px;
}
  .inner_wrap {
    max-width: 1280px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .sp_only {
    display: none;
  }
  .pc_only {
    display: block;
  }
  .sticky_area a.buy {
    font-size: 16px;
    width: 406px;
    height: 56px;
  }
  .sticky_area a.buy:hover {
    background: #4c4c4c;
  }

  .header:has(#productNav.sticky) ~ #luxy {
    margin-top: 48px;
  }

  #page-footer {
    /*padding-bottom: 250px !important;*/
  }

}

