.np-main {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #5C1606;
  line-height: 1.5;
  overflow: hidden;
  /* slick */
  /* slick theme*/
  /* Arrows */
  /* Dots */
}
.np-main a {
  text-decoration: none;
  color: #5C1606;
}
.np-main img {
  max-width: 100%;
  height: auto;
}
.np-main strong {
  font-weight: bold;
}
.np-main .hover {
  transition: opacity 0.5s, color 0.5s;
}
.np-main .hover:hover {
  opacity: 0.4;
}
@media only screen and (max-width:768px) {
  .np-main .hover:hover {
    opacity: 1;
  }
}
.np-main .serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.np-main .contents-wrap {
  position: relative;
  width: 96%;
  max-width: 1000px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .np-main .contents-wrap {
    width: 89.3333333333vw;
  }
}
.np-main .sp-no {
  display: block;
}
.np-main br.sp-no {
  display: inline;
}
.np-main .pc-no {
  display: none;
}
.np-main br.pc-no {
  display: none;
}
@media only screen and (max-width:768px) {
  .np-main .pc-no {
    display: block;
  }
  .np-main br.pc-no {
    display: inline;
  }
  .np-main .sp-no {
    display: none;
  }
  .np-main br.sp-no {
    display: none;
  }
}
.np-main .kv {
  position: relative;
  background-color: #DB0A17;
}
@media only screen and (max-width:768px) {
  .np-main .kv {
    padding-bottom: 1.0666666667vw;
  }
  .np-main .kv::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1.0666666667vw;
    background: #B6722F;
    background: linear-gradient(90deg, rgb(182, 114, 47) 0%, rgb(252, 233, 191) 49.75%, rgb(194, 136, 73) 100%);
  }
}
.np-main .kv-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .np-main .np-navi {
    display: none;
  }
}
.np-main .np-navi-inner {
  padding: 30px 0;
}
.np-main .np-navi-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.np-main .np-navi-list-cnt {
  position: relative;
}
.np-main .np-navi-list-cnt .btn {
  width: 100%;
}
.np-main .np-navi-list-cnt .item {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.np-main .np-navi-list-cnt .item img {
  filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.5));
}
.np-main .np-navi-list .navi01 .item {
  width: 19.387755102%;
  left: 12.7551020408%;
}
.np-main .np-navi-list .navi02 .item {
  width: 24.4897959184%;
  left: 10.2040816327%;
}
.np-main #introduce .headline {
  text-align: center;
  background-color: #DB0A17;
}
.np-main #introduce .headline img {
  width: 100%;
  max-width: 1000px;
}
.np-main #introduce .movie-wrap {
  padding: min(100px, 10vw) 0;
}
@media only screen and (max-width:768px) {
  .np-main #introduce .movie-wrap {
    padding: 16.8vw 0 16vw;
  }
}
.np-main #introduce .movie-wrap .movie-title {
  text-align: center;
  color: #DB0A17;
  font-size: min(34px, 3.4vw);
  font-weight: 700;
  margin-bottom: min(51px, 5.1vw);
}
@media only screen and (max-width:768px) {
  .np-main #introduce .movie-wrap .movie-title {
    font-size: 7.4666666667vw;
    margin-bottom: 6.1333333333vw;
  }
}
.np-main #introduce .movie-wrap .movie-list {
  display: flex;
  justify-content: center;
  gap: 20px 2%;
}
@media only screen and (max-width:768px) {
  .np-main #introduce .movie-wrap .movie-list {
    flex-direction: column;
    gap: 8vw;
  }
}
.np-main #introduce .movie-wrap .movie-list li {
  width: 32%;
}
@media only screen and (max-width:768px) {
  .np-main #introduce .movie-wrap .movie-list li {
    width: 100%;
  }
}
.np-main #introduce .movie-wrap .movie-list li .fig {
  width: 100%;
}
.np-main #introduce .movie-wrap .movie-list li .fig img {
  width: 100%;
}
.np-main #introduce .movie-wrap .movie-list li p {
  text-align: center;
  color: #000;
  font-size: min(16px, 1.6vw);
  margin-top: 1em;
}
@media only screen and (max-width:768px) {
  .np-main #introduce .movie-wrap .movie-list li p {
    font-size: 4.2666666667vw;
  }
}
.np-main #product01 {
  background: #FDEEB8;
  background: linear-gradient(90deg, rgb(253, 238, 184) 0%, rgb(255, 252, 230) 14%, rgb(255, 252, 230) 86%, rgb(253, 238, 184) 100%);
  background-size: max(1400px, 100%) auto;
  background-position: center top;
  padding-bottom: min(100px, 10vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 {
    background-size: 100% auto;
    padding-bottom: 16vw;
  }
}
.np-main #product01 .product-head {
  background-color: #DB0A17;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  font-size: min(26px, 2.6vw);
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: min(32px, 3.2vw) 0;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-head {
    font-size: 4.8vw;
    padding: 4.5333333333vw 0;
  }
}
.np-main #product01 .product-head strong {
  font-size: min(34px, 3.4vw);
  font-weight: 700;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-head strong {
    font-size: 7.4666666667vw;
  }
}
.np-main #product01 .product-item {
  text-align: center;
  background-image: url("../imgs/product01_item_bg.webp");
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-item {
    background-image: none;
  }
}
.np-main #product01 .product-item img {
  width: min(700px, 70vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-item img {
    width: 100%;
  }
}
.np-main #product01 .product-kv {
  position: relative;
  width: 100%;
  height: min(750px, 75vw);
  background-color: #D90D19;
  overflow: hidden;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv {
    height: 186.6666666667vw;
  }
}
.np-main #product01 .product-kv-txt {
  position: absolute;
  top: min(71px, 7.1vw);
  left: calc(50% - min(426px, 42.6vw));
  width: min(910px, 91vw);
  z-index: 3;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-txt {
    top: 17.6vw;
    left: 11.2vw;
    width: 78.1333333333vw;
  }
}
.np-main #product01 .product-kv-txt img {
  width: 100%;
}
.np-main #product01 .product-kv-pkg {
  position: absolute;
  top: min(336px, 33.6vw);
  right: calc(50% + min(126px, 12.6vw));
  width: min(300px, 30vw);
  z-index: 4;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-pkg {
    top: 60.2666666667vw;
    right: auto;
    left: 28.8vw;
    width: 42.8vw;
  }
}
.np-main #product01 .product-kv-pkg img {
  width: 100%;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-pkg img {
    filter: drop-shadow(1.3333333333vw 1.3333333333vw 2.6666666667vw rgba(0, 0, 0, 0.5));
  }
}
.np-main #product01 .product-kv-pkg p {
  text-align: center;
  line-height: 1.28;
  color: #5C1606;
  font-size: min(14px, 1.4vw);
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: min(32px, 3.2vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-pkg p {
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 0;
    color: #fff;
    font-size: 3.7333333333vw;
    white-space: nowrap;
    margin-top: 4vw;
  }
}
.np-main #product01 .product-kv-img {
  position: absolute;
  bottom: min(10px, 1vw);
  right: 0;
  width: min(850px, 60.7142857143vw);
  z-index: 1;
}
@media only screen and (max-width: 1400px) {
  .np-main #product01 .product-kv-img {
    left: calc(50% - min(150px, 15vw));
    right: auto;
    width: 850px;
  }
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-img {
    top: 105.8666666667vw;
    left: 0;
    width: 100%;
  }
}
.np-main #product01 .product-kv-img img {
  width: 100%;
}
.np-main #product01 .product-kv-deco {
  position: absolute;
  top: min(607px, 60.7vw);
  left: 0;
  width: 100%;
  height: 210px;
  z-index: 2;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-kv-deco {
    top: 161.8666666667vw;
    height: 50.1333333333vw;
  }
}
.np-main #product01 .product-kv-deco img {
  object-fit: cover;
  object-position: top center;
  width: 100%;
  height: 100%;
}
.np-main #product01 .product-lead {
  padding-top: min(36px, 3.6vw);
  padding-bottom: min(100px, 10vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lead {
    padding-top: 0;
    padding-bottom: 14.9333333333vw;
  }
}
.np-main #product01 .product-lead-phrase p {
  text-align: center;
  line-height: 1.7;
  color: #5C1606;
  font-size: min(32px, 3.2vw);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lead-phrase p {
    font-size: 5.3333333333vw;
    letter-spacing: 0.1em;
  }
}
.np-main #product01 .product-lead-phrase p:not(:last-of-type) {
  margin-bottom: 1.7em;
}
.np-main #product01 .product-point-block {
  margin-bottom: min(80px, 8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block {
    margin-bottom: 16vw;
  }
}
.np-main #product01 .product-point-block .product-point-block-fig {
  width: 100%;
}
.np-main #product01 .product-point-block .product-point-block-fig img {
  width: 100%;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.1));
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block .product-point-block-fig img {
    filter: drop-shadow(0 0.5333333333vw 2.6666666667vw rgba(0, 0, 0, 0.1));
  }
}
.np-main #product01 .product-point-block .product-point-wrap + .product-point-block-fig {
  margin-top: min(50px, 5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block .product-point-wrap + .product-point-block-fig {
    margin-top: 10.6666666667vw;
  }
}
.np-main #product01 .product-point-block .product-point-block-fig + .product-point-block-fig {
  margin-top: min(80px, 8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block .product-point-block-fig + .product-point-block-fig {
    margin-top: 16vw;
  }
}
.np-main #product01 .product-point-block .product-point-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block .product-point-wrap {
    justify-content: center;
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.np-main #product01 .product-point-block .product-point-wrap .product-point-block-fig {
  width: 48%;
  margin: 0;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-point-block .product-point-wrap .product-point-block-fig {
    width: 100%;
  }
}
.np-main #product01 .product-lineup-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  margin-bottom: min(50px, 5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-title {
    margin-bottom: 4.5333333333vw;
  }
}
.np-main #product01 .product-lineup-title span {
  display: inline-block;
  color: #DB0A17;
  font-size: min(28px, 2.8vw);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-title span {
    font-size: 5.3333333333vw;
  }
}
.np-main #product01 .product-lineup-title::before, .np-main #product01 .product-lineup-title::after {
  content: "";
  width: 33.33%;
  height: 1px;
  background-color: #DB0A17;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-title::before, .np-main #product01 .product-lineup-title::after {
    width: 17.91%;
  }
}
.np-main #product01 .product-lineup-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list {
    gap: 13.3333333333vw 0;
  }
}
.np-main #product01 .product-lineup-list li {
  width: 24%;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list li {
    width: 42.6666666667vw;
  }
}
.np-main #product01 .product-lineup-list .msg {
  color: #DB0A17;
  font-size: min(16px, 1.6vw);
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: min(5px, 0.5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .msg {
    font-size: 3.4666666667vw;
    margin-bottom: -0.5333333333vw;
  }
}
.np-main #product01 .product-lineup-list .fig {
  width: 100%;
  margin-bottom: min(2px, 0.2vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .fig {
    margin-bottom: 3.2vw;
  }
}
.np-main #product01 .product-lineup-list .fig img {
  width: 100%;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.1));
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .fig img {
    filter: drop-shadow(0 0.8vw 2.6666666667vw rgba(0, 0, 0, 0.1));
  }
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .msg + .fig {
    margin-bottom: -1.8666666667vw;
  }
}
.np-main #product01 .product-lineup-list .tag {
  line-height: 1.5;
  font-size: min(14px, 1.4vw);
  margin-bottom: min(6px, 0.6vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .tag {
    line-height: 1.38;
    font-size: 3.4666666667vw;
    margin-bottom: 3.7333333333vw;
  }
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .msg + .fig + .tag {
    margin-bottom: 1.8666666667vw;
  }
}
.np-main #product01 .product-lineup-list .name-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2.6em;
  font-size: min(20px, 2vw);
}
.np-main #product01 .product-lineup-list .name {
  line-height: 1.3;
  font-size: min(20px, 2vw);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .name {
    font-size: 4.2666666667vw;
  }
}
.np-main #product01 .product-lineup-list .btn-detail {
  text-align: center;
  margin-top: min(20px, 2vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .btn-detail {
    margin-top: 3.2vw;
  }
}
.np-main #product01 .product-lineup-list .btn-detail a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(200px, 20vw);
  height: min(44px, 4.4vw);
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: min(14px, 1.4vw);
  font-weight: 500;
  background-color: #DB0A17;
  border-radius: 2px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-lineup-list .btn-detail a {
    width: 100%;
    height: 11.7333333333vw;
    font-size: 3.7333333333vw;
  }
}
.np-main #product01 .product-banner {
  text-align: center;
  margin-top: min(80px, 8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-banner {
    margin-top: 16vw;
  }
}
.np-main #product01 .product-banner img {
  width: min(600px, 60vw);
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.1));
}
@media only screen and (max-width:768px) {
  .np-main #product01 .product-banner img {
    width: 100%;
    filter: drop-shadow(0 0 1.6vw rgba(0, 0, 0, 0.1));
  }
}
.np-main #product02 {
  position: relative;
  background: #E9E9E5;
  background: linear-gradient(90deg, rgb(233, 233, 229) 0%, rgb(255, 255, 255) 19%, rgb(253, 255, 250) 81%, rgb(249, 254, 239) 100%);
  background-size: max(1400px, 100%) auto;
  background-position: center top;
}
@media only screen and (max-width:768px) {
  .np-main #product02 {
    background-size: 100% auto;
  }
}
.np-main #product02 .product-head {
  background-color: #790F0A;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  font-size: min(26px, 2.6vw);
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: min(23px, 2.3vw) 0 min(28px, 2.8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-head {
    font-size: 4.8vw;
    padding: 3.7333333333vw 0 4.2666666667vw;
  }
}
.np-main #product02 .product-head strong {
  font-size: min(34px, 3.4vw);
  font-weight: 700;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-head strong {
    font-size: 7.4666666667vw;
  }
}
.np-main #product02 .product-item {
  text-align: center;
  background-image: url("../imgs/product02_item_bg.webp");
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-item {
    background-image: none;
  }
}
.np-main #product02 .product-item img {
  width: min(700px, 70vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-item img {
    width: 100%;
  }
}
.np-main #product02 .product-kv {
  position: relative;
  width: 100%;
  height: min(779px, 77.9vw);
  overflow: hidden;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv {
    height: 224.8vw;
  }
}
.np-main #product02 .product-kv-txt {
  position: absolute;
  top: min(28px, 2.8vw);
  left: 50%;
  translate: -50% 0;
  width: min(798px, 79.8vw);
  z-index: 3;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-txt {
    top: 4.8vw;
    width: 89.3333333333vw;
  }
}
.np-main #product02 .product-kv-txt img {
  width: 100%;
}
.np-main #product02 .product-kv-pkg {
  position: absolute;
  top: min(367px, 36.7vw);
  left: calc(50% + min(50px, 5vw));
  width: min(450px, 45vw);
  z-index: 4;
}
@media only screen and (max-width: 1024px) {
  .np-main #product02 .product-kv-pkg {
    left: calc(50% + min(30px, 3vw));
  }
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-pkg {
    top: 150.9333333333vw;
    left: 16.6666666667vw;
    width: 66.6666666667vw;
  }
}
.np-main #product02 .product-kv-pkg img {
  width: 100%;
  filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.5));
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-pkg img {
    filter: drop-shadow(0.8vw 0.8vw 2.1333333333vw rgba(0, 0, 0, 0.5));
  }
}
.np-main #product02 .product-kv-pkg p {
  text-align: center;
  line-height: 1.28;
  color: #6E200E;
  font-size: min(14px, 1.4vw);
  letter-spacing: 0.08em;
  margin-top: min(24px, 2.4vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-pkg p {
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 0;
    font-size: 3.7333333333vw;
    white-space: nowrap;
    margin-top: 6.4vw;
  }
}
.np-main #product02 .product-kv-img {
  position: absolute;
  top: min(229px, 22.9vw);
  right: calc(50% - min(150px, 15vw));
  width: min(650px, 65vw);
  z-index: 1;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-img {
    top: 37.0666666667vw;
    right: 0;
    width: 100%;
    z-index: 3;
  }
}
.np-main #product02 .product-kv-img img {
  width: 100%;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-img img {
    filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.16));
  }
}
.np-main #product02 .product-kv-deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: min(305px, 30.5vw);
  z-index: 2;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-kv-deco {
    height: 62.1333333333vw;
  }
}
.np-main #product02 .product-kv-deco img {
  object-fit: cover;
  object-position: bottom center;
  width: 100%;
  height: 100%;
}
.np-main #product02 .product-lead {
  padding-top: min(102px, 10.2vw);
  padding-bottom: min(60px, 6vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lead {
    padding-top: 0;
    padding-bottom: 12.2666666667vw;
  }
}
.np-main #product02 .product-lead-phrase {
  text-align: center;
  color: #862C17;
}
.np-main #product02 .product-lead-phrase .title {
  line-height: 1.4;
  font-size: min(32px, 3.2vw);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: min(65px, 6.5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lead-phrase .title {
    line-height: 1.75;
    font-size: 5.3333333333vw;
    margin-bottom: 8.5333333333vw;
  }
}
.np-main #product02 .product-lead-phrase p {
  text-align: center;
  line-height: 2;
  font-size: min(24px, 2.4vw);
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lead-phrase p {
    line-height: 1.88;
    font-size: 4.5333333333vw;
    letter-spacing: 0.01em;
  }
}
.np-main #product02 .product-lead-phrase p:not(:last-of-type) {
  margin-bottom: 2em;
}
.np-main #product02 .product-point-block {
  margin-bottom: min(84px, 8.4vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-point-block {
    margin-bottom: 12.8vw;
  }
}
.np-main #product02 .product-point-block .product-point-block-fig {
  width: 100%;
  backdrop-filter: blur(20px);
  --webkit-backdrop-filter: blur(20px);
  background-color: rgba(255, 255, 255, 0.6);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-point-block .product-point-block-fig {
    backdrop-filter: blur(5.3333333333vw);
    --webkit-backdrop-filter: blur(calc(20 / 375 * 100vw));
  }
}
.np-main #product02 .product-point-block .product-point-block-fig img {
  width: 100%;
}
.np-main #product02 .product-point-block .product-point-block-fig + .product-point-block-fig {
  margin-top: min(60px, 6vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-point-block .product-point-block-fig + .product-point-block-fig {
    margin-top: 10.6666666667vw;
  }
}
.np-main #product02 .product-lineup-head {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-bottom: min(72px, 7.2vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-head {
    margin-bottom: 12.8vw;
  }
}
.np-main #product02 .product-lineup-head span {
  position: relative;
  display: inline-block;
  color: #862C17;
  font-size: min(40px, 4vw);
  font-weight: 700;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-head span {
    font-size: 7.4666666667vw;
  }
}
.np-main #product02 .product-lineup-head span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: min(401px, 40.1vw);
  height: min(84px, 8.4vw);
  background-image: url("../imgs/product02_head.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-head span::after {
    width: 78.6666666667vw;
    height: 14.6666666667vw;
    background-image: url("../imgs/product02_head_sp.png");
  }
}
.np-main #product02 .product-lineup-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  margin-bottom: min(10px, 1vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-title {
    margin-bottom: 0;
  }
}
.np-main #product02 .product-lineup-title span {
  display: inline-block;
  color: #862C17;
  font-size: min(22px, 2.2vw);
  font-weight: 700;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-title span {
    font-size: 4.8vw;
  }
}
.np-main #product02 .product-lineup-title::before, .np-main #product02 .product-lineup-title::after {
  content: "";
  width: 39%;
  height: 1px;
  background-color: #862C17;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-title::before, .np-main #product02 .product-lineup-title::after {
    width: 20.89%;
  }
}
.np-main #product02 .product-lineup-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 20px 1.3333333333%;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list {
    justify-content: center;
    gap: 0 4vw;
  }
}
.np-main #product02 .product-lineup-list li {
  width: 24%;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list li {
    width: 42.6666666667vw;
    margin-top: 8vw;
  }
  .np-main #product02 .product-lineup-list li:nth-child(-n+3) {
    margin-top: 0;
  }
}
.np-main #product02 .product-lineup-list .msg {
  color: #DB0A17;
  font-size: min(16px, 1.6vw);
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: min(5px, 0.5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .msg {
    font-size: 3.4666666667vw;
    margin-bottom: -0.5333333333vw;
  }
}
.np-main #product02 .product-lineup-list .fig {
  width: 100%;
  margin-bottom: min(4px, 0.4vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .fig {
    margin-bottom: 0;
  }
}
.np-main #product02 .product-lineup-list .fig img {
  width: 100%;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.1));
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .fig img {
    width: min(100%, 42.6666666667vw);
    filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.16));
  }
}
.np-main #product02 .product-lineup-list .tag {
  line-height: 1.5;
  color: #000;
  font-size: min(14px, 1.4vw);
  margin-bottom: min(5px, 0.5vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .tag {
    line-height: 1.38;
    font-size: 3.4666666667vw;
    margin-bottom: 3.7333333333vw;
    margin-top: -1.0666666667vw;
  }
}
.np-main #product02 .product-lineup-list .name {
  line-height: 1.2;
  color: #000;
  font-size: min(20px, 2vw);
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .name {
    font-size: 4.2666666667vw;
  }
}
.np-main #product02 .product-lineup-list .btn-detail {
  text-align: center;
  margin-top: min(28px, 2.8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .btn-detail {
    margin-top: 3.2vw;
  }
}
.np-main #product02 .product-lineup-list .btn-detail a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(200px, 20vw);
  height: min(44px, 4.4vw);
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: min(14px, 1.4vw);
  font-weight: 500;
  background-color: #862C17;
  border-radius: 2px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list .btn-detail a {
    width: min(100%, 42.6666666667vw);
    height: 11.7333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list li.type {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
  }
}
.np-main #product02 .product-lineup-list li.type .fig {
  margin-bottom: 0;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list li.type .fig img {
    width: 37.3333333333vw;
  }
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list li.sp-l {
    width: 100%;
  }
}
.np-main #product02 .product-lineup-list + .product-lineup-title {
  margin-top: min(64px, 6.4vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-lineup-list + .product-lineup-title {
    margin-top: 16vw;
  }
}
.np-main #product02 .product-banner {
  text-align: center;
  margin-top: min(80px, 8vw);
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-banner {
    margin-top: 16vw;
  }
}
.np-main #product02 .product-banner img {
  width: min(600px, 60vw);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.1));
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-banner img {
    width: 100%;
    filter: drop-shadow(0 0 1.6vw rgba(0, 0, 0, 0.1));
  }
}
.np-main #product02 .product-bg-wrap {
  position: relative;
  padding-bottom: min(100px, 10vw);
  z-index: 1;
}
@media only screen and (max-width:768px) {
  .np-main #product02 .product-bg-wrap {
    padding-bottom: 16vw;
  }
}
.np-main #product02 .product-bg-wrap .product-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
.np-main #product02 .product-bg-wrap .product-bg.is-fixed {
  position: fixed;
}
.np-main #product02 .product-bg-wrap .product-bg.is-bottom {
  position: absolute;
  top: auto !important;
  bottom: 0;
}
.np-main #product02 .product-bg-wrap .product-bg img {
  object-fit: cover;
  object-position: center bottom;
  width: 100%;
  height: 100%;
}
.np-main .np-fixed-navi {
  display: none;
}
@media only screen and (max-width:768px) {
  .np-main .np-fixed-navi {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    transition: translate 0.5s;
  }
  .np-main .np-fixed-navi.is-hide {
    translate: 0 100%;
  }
  .np-main .np-fixed-navi-inner {
    width: 100%;
    background-color: #fff;
    filter: drop-shadow(0 0 1.6vw rgba(0, 0, 0, 0.16));
    padding: 2.6666666667vw;
  }
  .np-main .np-fixed-navi-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4vw;
  }
  .np-main .np-fixed-navi-list li {
    flex: 1;
  }
  .np-main .np-fixed-navi-list li .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 16vw;
    text-align: center;
    color: #fff;
    background-color: #DB0A17;
    border-radius: 2.1333333333vw;
  }
  .np-main .np-fixed-navi-list li .btn p {
    font-size: 3.2vw;
    font-weight: 500;
  }
  .np-main .np-fixed-navi-list li .btn p strong {
    font-size: 4.2666666667vw;
    font-weight: 700;
  }
}
.np-main .slick-slider {
  position: relative;
  display: none;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  visibility: hidden;
}
.np-main .slick-slider.slick-initialized {
  display: block;
  visibility: visible;
}
.np-main .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.np-main .slick-list:focus {
  outline: none;
}
.np-main .slick-list.dragging {
  cursor: hand;
}
.np-main .slick-slider .slick-track,
.np-main .slick-slider .slick-list {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.np-main .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.np-main .slick-track:before,
.np-main .slick-track:after {
  display: table;
  content: "";
}
.np-main .slick-track:after {
  clear: both;
}
.np-main .slick-loading .slick-track {
  visibility: hidden;
}
.np-main .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  outline: none;
}
.np-main [dir=rtl] .slick-slide {
  float: right;
}
.np-main .slick-slide img {
  display: block;
}
.np-main .slick-slide.slick-loading img {
  display: none;
}
.np-main .slick-slide.dragging img {
  pointer-events: none;
}
.np-main .slick-initialized .slick-slide {
  display: block;
}
.np-main .slick-loading .slick-slide {
  visibility: hidden;
}
.np-main .slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.np-main .slick-arrow.slick-hidden {
  display: none;
}
.np-main .slick-loading .slick-list {
  background: #fff;
}
.np-main .slick-prev,
.np-main .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 100;
}
.np-main .slick-prev:hover,
.np-main .slick-prev:focus,
.np-main .slick-next:hover,
.np-main .slick-next:focus {
  color: transparent;
  outline: none;
  opacity: 0.7;
  filter: alpha(opacity=70);
}
.np-main .slick-prev {
  left: 30px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  rotate: -45deg;
}
.np-main .slick-next {
  right: 30px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  rotate: 45deg;
}
.np-main .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.np-main .slick-dots {
  position: absolute;
  bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 19px;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.np-main .slick-dots li {
  position: relative;
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
}
.np-main .slick-dots li button {
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 0;
  color: transparent;
  outline: none;
  background: #fff;
  border-radius: 50%;
  padding: 0;
}
.np-main .slick-dots li button:hover,
.np-main .slick-dots li button:focus {
  outline: none;
}
.np-main .slick-dots li.slick-active button {
  background-color: #C79E00;
}
.np-main .slick-dots li button:before {
  display: none;
}
@media only screen and (max-width:768px) {
  .np-main .slick-prev,
  .np-main .slick-next {
    width: 5.3333333333vw;
  }
  .np-main .slick-prev {
    left: 8vw;
  }
  .np-main .slick-next {
    right: 8vw;
  }
  .np-main .slick-dots {
    bottom: 5.3333333333vw;
    gap: 2.6666666667vw;
  }
  .np-main .slick-dots li {
    width: 2.6666666667vw;
  }
}

/*# sourceMappingURL=style.css.map */
