@charset "UTF-8";
:root {
  --font: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --font_en: "poppins", sans-serif;
}

* > .main-area {
  font-weight: var(--fontweight-medium);
  font-feature-settings: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: unset;
  min-width: auto;
}

/* ▼ -----------可変設定---------- ▼ */
.lp_variable {
  --pc-width: 1400; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 395; /*SP共通デザイン幅*/
  --sp-artboard-width: 750; /*PC共通デザイン幅*/
  --formula: calc(var(--variable) * var(--ratio)); /*SP→PC 可変設定*/
  --formula_pc: calc(var(--variable) * 1); /*PC 1400以上は固定*/
}

/* PC画面幅 1400px以上 固定 */
@media (min-width: 1401px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width));
    /*--variable: 1px;  固定値（可変しない）*/
  }
}
/* PC画面幅 768～1400px 可変 */
@media (min-width: 768px) and (max-width: 1400px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  .lp_variable {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
/* ▲ -----------可変設定---------- ▲ */

.spOnly {
  display: none;
}
@media screen and (max-width: 767px) {
  .spOnly {
    display: block;
  }
  .pcOnly {
    display: none;
  }
}

.main-area * {
  box-sizing: border-box;
}
.main-area img {
  height: auto;
  opacity: 1;
  width: 100%;
}
.main-area a {
  text-decoration: none;
}
.main-area picture {
  display: block;
}
.main-area p, .main-area ul, .main-area ol, .main-area dl {
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .main-area .pc_only {
    display: none;
  }
  .main-area .sp_only {
    display: block;
  }
}

@media only screen and (min-width: 768px) {
  .main-area .pc_only {
    display: block;
  }
  .main-area .sp_only {
    display: none;
  }
}

#FR251208christmas {
  --fw-thin: 100;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --color-red: #7a0224;
  font-feature-settings: "palt";
  overflow: clip;
  font-family: var(--font);
  background-color: var(--color-red);
}
#FR251208christmas .contents__bottom {
  padding-bottom: calc(200 * var(--formula));
}
#FR251208christmas .mv-inner {
  width: 100%;
  position: relative;
}
#FR251208christmas .mv_txt {
  width: calc(733 * var(--formula));
  position: absolute;
  bottom: calc(42 * var(--formula));
  left: 50%;
  transform: translate(-50% , 0);
  z-index: 5;
}

@media only screen and (min-width: 768px) {
  .footer {
    width: 100%;
  }
  .archive {
    border-top: 1px solid #58595b;
  }
  #FR251208christmas {
    --header-container-height: 120px;
    display: flex;
    width: 100%;
    margin-bottom: 5.6rem;
  }
  #FR251208christmas::-webkit-scrollbar {
    display: none;
  }
  #FR251208christmas .contents__left {
    position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
    height: calc(100vh - (var(--header-container-height, 0px)));
    top: var(--header-container-height, 0);
  }
  #FR251208christmas .product__block--mv {
    width: auto;
    height: calc(100vh - (var(--header-container-height, 0px)));
    overflow: hidden;
  }
  #FR251208christmas .product__block--mv .mv-inner {
    width: 100%;
    height: 100%;
    position: relative;
  }
  #FR251208christmas .product__block--mv .mv_img {
    width: 100%;
    height: 100%;
  }
  #FR251208christmas .product__block--mv .mv_img a {
    display: block;
    width: 100%;
    height: 100%;
  }
  #FR251208christmas .product__block--mv .mv_img a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 80% top;
  }
  #FR251208christmas .product__block--mv .mv_img picture {
    width: 100%;
    height: 100%;
  }
  #FR251208christmas .product__block--mv .title_box {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      pointer-events: none;
      z-index: 1;
  }
  #FR251208christmas .mv_txt {
    width: calc(450 * (100vw / 1400));
    bottom: 5dvh;
  }
  #FR251208christmas .contents__right {
    width: calc(395* (100vw /1400));
    margin: 0 auto;
    position: relative;
    overflow: clip;
  }
}

/* 共通 スタイル */
.FR251208christmas img {
  width: 100%;
  height: 100%;
}

.credit > a {
  display: inline-block;
}

/* フェードイン */
.js-fade {
  opacity: 0;
  transition: opacity 1.5s linear .2s;
}
.js-fade.is-active {
  opacity: 1;
}
.delay01 {
  transition-delay: 0.2s;
  animation-delay: 0.2s;
}
.delay02 {
  transition-delay: 0.6s;
  animation-delay: 0.6s;
}
.delay03 {
  transition-delay: 0.8s;
  animation-delay: 0.8s;
}

/* ズームアウト */
.js-zoom-out img {
  opacity: 0;
  transition: 3s;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transform: scale(1.2);
}
.js-zoom-out.is-active img {
  transform: none;
  opacity: 1;
}
.zoom_img {
  overflow: hidden;
}

/* フェードアップ */
.js-fade-up {
  opacity: 0;
  transform: translateY(calc(20* var(--formula)));
  transition: ease-in, opacity 1000ms, transform 1000ms;
}
.js-fade-up.is-active {
  transform: translateY(0);
  opacity: 1;
}

/* トリガー */
.js-trigger .fade_trigger_on {
  opacity: 0;
  transform: translateY(calc(30* var(--formula)));
  transition: ease-in, opacity 1000ms, transform 1000ms;
}
.js-trigger.is-active .fade_trigger_on {
  opacity: 1;
  transform: translateY(0);
}
.js-trigger .fade_trigger_on.delay01 {
  transition-delay: 1s;
  animation-delay: 1s;
}

.js-trigger .fade_trigger_2 {
  opacity: 0;
  transition: opacity 1.5s linear .2s;
}
.js-trigger.is-active .fade_trigger_2 {
  opacity: 1;
}
.js-trigger .fade_trigger_2.delay01 {
  transition-delay: 0.5s;
}
.js-trigger .fade_trigger_2.delay02 {
  transition-delay: 1s;
}

/* フェードアップ */
.js-fade-up {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: all 1.25s ease;
}
.js-fade-up.is-active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* 左からフェードイン */
.js-left-fade {
  transform: translate3d(-20px, 0, 0);
  opacity: 0;
  transition: all 1.25s ease;
}
.js-left-fade.is-active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* 右からフェードイン */
.js-right-fade {
  transform: translate3d(20px, 0, 0);
  opacity: 0;
  transition: all 1.25s ease;
}
.js-right-fade.is-active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}


/* ===========### FR251208christmas ###=========== */
.top_main_lead_box {
  padding-top: calc(108* var(--formula));
  margin-bottom: calc(188* var(--formula));
}
.top_main_lead {
  text-align: center;
  color: #fff;
  font-size: calc(26* var(--formula));
  line-height: 2;
  letter-spacing: 0.025em;
  text-align: center;
}
.top_main_lead.second_lead {
  margin-top: calc(34* var(--formula));
}

/* style_block01 */
.style_block {
  padding-bottom: calc(190* var(--formula));
}
.style_block01_img01 {
  width: calc(690* var(--formula));
  margin-bottom: calc(100* var(--formula));
}
.style_block01_img02 {
  width: calc(570* var(--formula));
  margin-left: auto;
  margin-right: calc(60* var(--formula));
  position: relative;
}
.style_block01_img02_text {
  position: absolute;
  top: 0;
  left: calc(-90* var(--formula));
  width: calc(60* var(--formula));
}
.credit_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 calc(12* var(--formula));
  color: #fff;
  margin-top: calc(52* var(--formula));
  text-transform: uppercase;
}
.credit_wrap.credit_wrap01 {
  width: calc(510* var(--formula));
}
.credit_text {
  font-size: calc(20* var(--formula));
  line-height: 1.9;
  letter-spacing: 0.03em;
  font-family: "poppins", sans-serif;
  font-weight: 400;
}

/* style_block02 */
.style_block02_img01 {
  width: 100%;
  margin-bottom: calc(100* var(--formula));
}
.style_block02_img02 {
  width: calc(630* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap02 {
  width: calc(510* var(--formula));
  justify-content: center;
  margin-inline: auto;
}

/* style_block03 */
.style_block03_top {
  width: calc(628* var(--formula));
  margin: 0 auto calc(80* var(--formula));
}
.style_block03_img01 {
  width: calc(528* var(--formula));
  margin: 0 auto calc(40* var(--formula));
}
.style_block03_img02 {
  width: calc(528* var(--formula));
  margin: 0 auto calc(40* var(--formula));
}
.style_block03_img03 {
  width: calc(528* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap03 {
  width: calc(410* var(--formula));
  justify-content: center;
  margin-inline: auto;
}

/* style_block04 */
.style_block04_img01 {
  width: calc(690* var(--formula));
  margin-left: auto;
  margin-bottom: calc(100* var(--formula));
}
.style_block04_img02 {
  width: calc(510*var(--variable)*var(--ratio));
  margin-left: calc(60* var(--formula));
  position: relative;
}
.style_block04_img02_text {
  width: calc(60* var(--formula));
  position: absolute;
  top: calc(0* var(--formula));
  right: calc(-90* var(--formula));
}
.credit_wrap.credit_wrap04 {
  width: calc(420* var(--formula));
}

/* style_block05 */
.bg_white {
  background-color: #f2efe9;
}
.style_block05_top {
  width: calc(627* var(--formula));
  padding-top: calc(150* var(--formula));
  margin: 0 auto calc(60* var(--formula));
}
.style_block05_img01 {
  width: calc(630* var(--formula));
  margin: 0 auto calc(40* var(--formula));
}
.style_block05_img02 {
  width: calc(630* var(--formula));
  margin: 0 auto;
}
.credit_wrap.text_red {
  color: #a40834;
}
.credit_wrap.credit_wrap05 {
  width: calc(460* var(--formula));
}

/* style_block06 */
.style_block06_img01 {
  width: 100%;
  margin-bottom: calc(100* var(--formula));
}
.style_block06_img02 {
  width: calc(570* var(--formula));
  margin: 0 auto;
  position: relative;
}
.credit_wrap.credit_wrap06 {
  width: calc(420* var(--formula));
}
.js-sliderImage .slick-dots {
  position: absolute;
  bottom: calc(20 * var(--formula));
  right: calc(15 * var(--formula));
  margin: 0 auto;
}
.js-sliderImage .slick-dots li {
  margin: 0 3px;
}
.js-sliderImage .slick-dots li button {
  width: calc(10* var(--formula));
  height: calc(10* var(--formula));
  border: 1px solid #a40834;
}
.js-sliderImage .slick-dots li.slick-active button {
  background-color: #a40834;
}

/* style_block07 */
.style_block07_img01 {
  width: calc(690* var(--formula));
  margin-left: auto;
  margin-bottom: calc(100* var(--formula));
  padding-top: calc(150* var(--formula));
}
.style_block07_img02 {
  width: calc(600* var(--formula));
  position: relative;
}
.style_block07_img02_text {
  width: calc(60* var(--formula));
  position: absolute;
  top: calc(0* var(--formula));
  right: calc(-90* var(--formula));
}
.credit_wrap.credit_wrap07 {
  width: calc(440* var(--formula));
  margin-left: calc(30* var(--formula));
}

/* style_block08 */
.style_block08_top {
  width: calc(750* var(--formula));
  margin: 0 auto calc(30* var(--formula));
}
.style_block08_img01 {
  width: 100%;
  margin-bottom: calc(100* var(--formula));
}
.style_block08_img02 {
  width: calc(660* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap08 {
  width: calc(410* var(--formula));
  justify-content: center;
  margin-inline: auto;
}

/* style_block09 */
.style_block09_top {
  width: calc(628* var(--formula));
  padding-top: calc(150* var(--formula));
  margin: 0 auto calc(80* var(--formula));
}
.style_block09_img01 {
  width: calc(690* var(--formula));
  margin-bottom: calc(80* var(--formula));
} 
.style_block09_img02 {
  width: calc(630* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap09 {
  width: calc(410* var(--formula));
}

/* style_block10 */
.style_block010_img01 {
  width: 100%;
  margin-bottom: calc(100* var(--formula));
}
.style_block010_img02 {
  width: calc(630* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap10 {
  width: calc(410* var(--formula));
  justify-content: center;
  margin-inline: auto;
}

/* style_block11 */
.style_block11_img01 {
  width: 100%;
  margin-bottom: calc(100* var(--formula));
}
.style_block11_img02 {
  width: calc(570* var(--formula));
  margin: 0 auto;
}
.credit_wrap.credit_wrap11 {
  width: calc(430* var(--formula));
  justify-content: center;
  margin-inline: auto;
}

/* end_section */
.end_section {
  width: 100%;
  height: calc(1000* var(--formula));
  position: relative;
}
.end_section_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.all_items_block {
  width: fit-content;
  height: fit-content;
  position: absolute;
  top: 47.5%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.all_items_block .all_items {
  position: relative;
  display: block;
  width: calc(446* var(--formula));
  /* height: calc(121* var(--formula)); */
}
.all_items_block.js-trigger .all_items::after {
  content: '';
  position: absolute;
  bottom: calc(47* var(--formula));
  left: calc(58* var(--formula));
  width: calc(333* var(--formula));
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 1s;
  transition-delay: 0.5s;
  opacity: 0.85;
}
.all_items_block.js-trigger.is-active .all_items::after {
  transform: scale(1, 1);
}
.end_credit_block {
  width: calc(550* var(--formula));
  height: fit-content;
  position: absolute;
  bottom: calc(35* var(--formula));
  left: 50%;
  transform: translate(-50%, 0);
}
.end_credit {
  font-size: calc(20* var(--formula));
  line-height: 2;
  letter-spacing: 0.05em;
  font-family: "poppins", sans-serif;
  font-weight: 400;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  position: relative;
  left: calc(5* var(--formula));
}

.archive {
  border-top: none !important;
}