@charset "UTF-8";
html {
  font-size: 62.5%;
}
@media (min-width: 768px) and (max-width: 1400px) {
  html{
    font-size: 0.7142857143vw;
  }
}

.FR241121holiday {
  --font-yuMincho: "游明朝", "YuMincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --font-hiragino: "ヒラギノ明朝 ProN W3", serif;
  --font-didot: "linotype-didot", serif;
  --color-gray: #58595B;
  --color-white: #fff;
  --color-black: #000;
  --color-red: #87132C;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --full-width: 100%;
  min-height: calc(var(--vh, 1vh) * 100);
  font-feature-settings: "palt"; 
  overflow: clip;
  -webkit-font-smoothing: antialiased;  /* Chrome、Safari */
  -moz-osx-font-smoothing: grayscale;  /* Firefox */
}
/*========================================
▼共通デザイン
==========================================*/
.FR241121holiday picture {
  width: 100%;
  display: block;
  height: 100%;
}
.FR241121holiday img {
  display: block;
  width: 100%;
  height: auto;
}
.FR241121holiday {
  text-rendering: geometricPrecision;
}
.FR241121holiday svg {
  display: block;
  width: 100%;
  height: auto;
  -webkit-font-smoothing: antialiased; /* Chrome、Safari用 */
  -moz-osx-font-smoothing: grayscale; /* Firefox用 */
}

.FR241121holiday .model {
  position: relative;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .FR241121holiday {
    --width-primary: 140rem;
    --fz-text_fv_title: 1.8rem;
    --fz-text_fv_lead: 1.4rem;
    --fz-text_sec_title: 3.6rem;
    --fz-text_sec_lead: 1.3rem;
    --fz-text_sec_number: 3.7rem;
    --fz-text_credit: 1.2rem;
    --fz-text_btn: 2rem;
    --fz-text_staff: 1.2rem;
  }
  .FR241121holiday .sp_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .FR241121holiday {
    --width-primary: calc(750*100vw/750);
    --fz-text_fv_title: calc(30*100vw/750);
    --fz-text_fv_lead: calc(26*100vw/750);
    --fz-text_sec_title: calc(55*100vw/750);
    --fz-text_sec_lead: calc(24*100vw/750);
    --fz-text_sec_number: calc(57*100vw/750);
    --fz-text_credit: calc(22*100vw/750);
    --fz-text_btn: calc(36*100vw/750);
    --fz-text_staff: calc(24*100vw/750);
  }
  .FR241121holiday .pc_only {
    display: none !important;
  }
}

.FR241121holiday figure[data-bg="bg-white"] {
  position: relative;
  z-index: 2;
}
.FR241121holiday figure[data-bg="bg-white"]::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  z-index: -1;
  pointer-events: none;
}
.FR241121holiday .bg-white {
  position: relative;
  z-index: 2;
}
.FR241121holiday .bg-white::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  z-index: -1;
  pointer-events: none;
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - text
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .firstview_title {
  font-size: var(--fz-text_fv_title);
  line-height: 1.9;
  letter-spacing: 0.16em;
  font-family: var(--font-yuMincho);
  font-weight: var(--fw-semibold);
  color: var(--color-gray);
}
.FR241121holiday .firstview_lead {
  font-size: var(--fz-text_fv_lead);
  line-height: 2.2;
  letter-spacing: 0.16em;
  font-family: var(--font-yuMincho);
  font-weight: var(--fw-regular);
  color: var(--color-gray);
}
.FR241121holiday .section_title {
  font-size: var(--fz-text_sec_title);
  letter-spacing: 0.06em;
  font-family: var(--font-didot);
  font-weight: var(--fw-bold);
}
.FR241121holiday .number_txt {
  font-size: var(--fz-text_sec_number);
  letter-spacing: 0;
  font-family: var(--font-didot);
  font-weight: var(--fw-bold);
}
.FR241121holiday .model_lead {
  font-size: var(--fz-text_sec_lead);
  line-height: 2;
  letter-spacing: 0.16em;
  font-family: var(--font-yuMincho);
  font-weight: var(--fw-regular);
  line-break: strict;
}
.FR241121holiday .model_credit {
  font-size: var(--fz-text_credit);
  line-height: 1.8958333333;
  letter-spacing: 0.06em;
  font-family: var(--font-didot);
  font-weight: var(--fw-regular);
  color: var(--color-gray);
}
.FR241121holiday .c-text_btn {
  width: fit-content;
  margin-inline: auto;
  font-size: var(--fz-text_btn);
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-family: var(--font-didot);
  font-weight: var(--fw-regular);
  color: var(--color-black);
  border-bottom: 0.3rem double var(--color-gray);
  padding-bottom: 1rem;
}
.FR241121holiday .c-text_staff {
  font-size: var(--fz-text_staff);
  line-height: 1.75;
  letter-spacing: 0.06em;
  font-family: var(--font-didot);
  font-weight: var(--fw-regular);
  color: var(--color-gray);
}

@media screen and (max-width: 767px) {
  .FR241121holiday .firstview_title {
    letter-spacing: 0.14em;
    font-family: var(--font-hiragino);
  }
  .FR241121holiday .firstview_lead {
    line-height: 2.1;
    letter-spacing: 0.14em;
    font-family: var(--font-hiragino);
  }
  .FR241121holiday .model_lead {
    letter-spacing: 0.14em;
    font-family: var(--font-hiragino);
  }
  .FR241121holiday .model_credit {
    line-height: 1.75;
  }
  .FR241121holiday .c-text_btn {
    line-height: 1.2;
    border-bottom: calc(6*100vw/750) double var(--color-gray);
    padding-bottom: calc(21* 100vw / 750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - img
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model__img0101 { width: 32rem;}
.FR241121holiday .model__img0102 { width: 48rem;}
.FR241121holiday .model__img0201 { width: 62rem;}
.FR241121holiday .model__img0202 { width: 32rem;}
.FR241121holiday .model__img0301 { width: 59.2rem;}
.FR241121holiday .model__img0302 { width: 22rem;}
.FR241121holiday .model__img0303 { width: 20rem;}
.FR241121holiday .model__img0401 { width: 35rem;}
.FR241121holiday .model__img0402 { width: 44rem;}
.FR241121holiday .model__img0501 { width: 64rem;}
.FR241121holiday .model__img0502 { width: 39rem;}
.FR241121holiday .model__img0503 { width: 39rem;}
.FR241121holiday .model__img0601 { width: 22rem;}

  @media screen and (max-width: 767px) {
    .FR241121holiday .model__img0101 {width: calc(520*(100vw / 750));}
    .FR241121holiday .model__img0102 { width: calc(630*(100vw / 750));}
    .FR241121holiday .model__img0201 { width: calc(750*(100vw / 750));}
    .FR241121holiday .model__img0202 { width: calc(520*(100vw / 750));}
    .FR241121holiday .model__img0301 { width: calc(680*(100vw / 750));}
    .FR241121holiday .model__img0302 { width: calc(440*(100vw / 750));}
    .FR241121holiday .model__img0303 { width: calc(428*(100vw / 750));}
    .FR241121holiday .model__img0401 { width: calc(450*(100vw / 750));}
    .FR241121holiday .model__img0402 { width: calc(620*(100vw / 750));}
    .FR241121holiday .model__img0501 { width: calc(750*(100vw / 750));}
    .FR241121holiday .model__img0502 { width: calc(564*(100vw / 750));}
    .FR241121holiday .model__img0503 { width: calc(564*(100vw / 750));}
    .FR241121holiday .model__img0601 { width: calc(350*(100vw / 750));}
  }


/*
//////////////////////////////////////////////////////////////////////////////////////////////
firstview
//////////////////////////////////////////////////////////////////////////////////////////////
*/

.FR241121holiday .firstview {
  width: 120rem;
  margin: 0 auto;
}
.FR241121holiday .firstview .firstview__wrap {
  position: relative;
}
.FR241121holiday .firstview .firstview__img {
  width: var(--full-width);
  margin: 0 auto;
}
.FR241121holiday .firstview .firstview__main_txt {
  width: 39.6rem;
  position: absolute;
  left: 5.2rem;
  bottom: 5.9rem;
  z-index: 5;
}
.FR241121holiday .firstview .firstview__main_txt .main_txt_pc01 {
  width: 39.6rem;
  height: 15.6rem;
}
.FR241121holiday .firstview .firstview__main_txt .main_txt_pc02 {
  width: 21.4rem;
  height: 7.1rem;
  margin-top: 3.2rem;
}
.FR241121holiday .firstview .firstview__main_txt .main_txt_pc01 .st0 {
  fill: #1C324C;
}
.FR241121holiday .firstview .firstview__main_txt .main_txt_pc02 .st0 {
  fill: #1C324C;
  -webkit-filter: drop-shadow(0px calc(4*(100vw / 750)) calc(8*(100vw / 750)) rgba(255, 255, 255, 0.6)); 
  filter: drop-shadow(0px calc(4*(100vw / 750)) calc(8*(100vw / 750)) rgba(255, 255, 255, 0.6));
}
/* .FR241121holiday .firstview .firstview__main_txt .svg_size {
  width: 39.6rem;
  height: 25.9rem;
} */

.FR241121holiday .firstview h3 {
  text-align: center;
  margin-top: 5.7rem;
}
.FR241121holiday .firstview p {
  text-align: center;
  margin-top: 2.8rem;
}
.FR241121holiday .model_credit > li {
  display: inline-block;
}

.FR241121holiday .text_anim {
  position: absolute;
  bottom: 5.9rem;
  left: 5rem;
}
.FR241121holiday .text_anim p {
  font-size: 5.4rem;
  letter-spacing: 0.04em;
  line-height: 1.005172413793;
  margin: 0;
  text-align: left;
  color: #1c324c;
}
.FR241121holiday .text_anim span {
  opacity: 0;
  display: inline-block;
  transform: translateY(0.5rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
  font-family: var(--font-didot);
  font-weight: 400;
  font-style: normal;
  position: relative;
  z-index: 10;
}
.FR241121holiday .text_anim p:nth-child(4) {
  padding-top: 0.9rem;
}

.FR241121holiday .text_anim p:nth-child(n+4) {
  font-size: 2.1rem;
  letter-spacing: 0.04em;
  margin-top: 1.2rem;
  line-height: 0.7;
}

@media screen and (max-width: 767px) {
  .FR241121holiday .firstview {
    width: var(--width-primary);
  }
  .FR241121holiday .firstview .firstview__main_txt {
    width: calc(426*(100vw / 750));
    left: calc(36*(100vw / 750));
    bottom: calc(90*(100vw / 750));
  }
  .FR241121holiday .firstview h3 {
    margin-top: calc(107*(100vw / 750));
  }
  .FR241121holiday .firstview p {
    margin-top: calc(48*(100vw / 750));
  }
  .FR241121holiday .firstview .st0 {
    -webkit-filter: drop-shadow(0px calc(4*(100vw / 750)) calc(8*(100vw / 750)) rgba(0, 0, 0, 0.3)); /* SafariなどのWebkitブラウザ用 */
    filter: drop-shadow(0px calc(4*(100vw / 750)) calc(8*(100vw / 750)) rgba(0, 0, 0, 0.3)); 
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
common
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model__inner {
  width: 140rem;
  margin: 0 auto;
}
.FR241121holiday .model__grid {
  position: relative;
}
.FR241121holiday .model__title {
  position: absolute;
  z-index: 5;
}
.FR241121holiday .pc_only {
  display: block;
}
.FR241121holiday .sp_only {
  display: none;
}
.FR241121holiday .bk-line {
  content: "";
  width: 1px;
  height: var(--full-width);
  background-color: var(--color-black);
}
.FR241121holiday .bk-line2 {
  content: "";
  width: var(--full-width);
  height: 1px;
  background-color: var(--color-black);
}

@media screen and (max-width: 767px) {
  .FR241121holiday .model__inner {
    width: var(--width-primary);
  }
  .FR241121holiday .pc_only {
    display: none;
  }
  .FR241121holiday .sp_only {
    display: block;
  }
  .FR241121holiday .bk-line {
    width: calc(2*(100vw / 750));
  }
  .FR241121holiday .bk-line2 {
    height: calc(2*(100vw / 750));
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
model01
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model01 {
  margin-top: 11.1rem;
  background-color: var(--color-red);
  padding: 15rem 0 16rem 0;
}
.FR241121holiday .model01 .model__grid {
  width: 96rem;
  height: 85rem;
  margin-left: 21rem;
  position: relative;
}
.FR241121holiday .model01 .model__wrapper01 {
  width: 32rem;
  margin-left: 64rem;
  position: relative;
  z-index: 5;
}
.FR241121holiday .model01 .model__wrapper02 {
  width: 90.1rem;
  display: flex;
  justify-content: space-between;
  row-gap: 10.1rem;
  position: absolute;
  bottom: 0;
}
.FR241121holiday .model01 .model_txt {
  width: 32rem;
  margin-top: 22.5rem;
}
.FR241121holiday .model01 .model__title_box {
  width: fit-content;
  -moz-transform: rotate( 90deg );  /* Firefox用 */
  -webkit-transform: rotate( 90deg );  /* Chrome,Safari,新しいOpera用 */
  transform: rotate( 90deg );  /* CSS3の書き方 */
}
.FR241121holiday .model01 .model__title {
  width: 12rem;
  right: -38rem;
  bottom: -7.3rem;
}
.FR241121holiday .model01 .section_title {
  color: var(--color-white);
}
.FR241121holiday .model01 .deco-line01 {
  height: 60rem;
  position: absolute;
  right: 40rem;
  bottom: 0;
}
.FR241121holiday .model01 .bk-line {
  background-color: var(--color-white);
}
.FR241121holiday .model01 .model_lead {
  color: var(--color-white);
}
.FR241121holiday .model01 .model_credit {
  color: var(--color-white);
  margin-top: 1.7rem;
}
@media screen and (max-width: 767px) {
  .FR241121holiday .model01 {
    margin-top: calc(165*(100vw / 750));
    padding: calc(200*(100vw / 750)) 0 calc(190*(100vw / 750)) 0;
  }
  .FR241121holiday .model01 .model__grid {
    width: calc(710*(100vw / 750));
    height: fit-content;
    margin-left: calc(40*(100vw / 750));
  }
  .FR241121holiday .model01 .model__wrapper01 {
    width: calc(52*(100vw / 750));
    margin-left: calc(190*(100vw / 750));
  }
  .FR241121holiday .model01 .model__wrapper02 {
    width: calc(670*(100vw / 750));
    flex-direction: column;
    row-gap: 0;
    position: static;
    margin-top: calc(81*(100vw / 750));
  }
  .FR241121holiday .model01 .model_txt {
    width: calc(590*(100vw / 750));
    margin: 0 auto;
    margin-top: calc(68*(100vw / 750));
  }
  .FR241121holiday .model01 .model__title {
    width: calc(181*(100vw / 750));
    right: initial;
    bottom: initial;
    left: calc(-1*(100vw / 750));
    top: calc(40*(100vw / 750));
  }
  .FR241121holiday .model01 .model_lead {
    width: calc(596*(100vw / 750));
  }
  .FR241121holiday .model01 .deco-line01 {
    height: calc(730*(100vw / 750));
    right: initial;
    bottom: initial;
    left: calc(-26*(100vw / 750));
    top: calc(-2*(100vw / 750));
  }
  .FR241121holiday .model01 .model_credit {
    margin-top: calc(44*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
model02
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model02 {
  margin: 15rem 0 16rem 0;
}
.FR241121holiday .model02 .model__grid {
  width: 108rem;
  margin-left: 18rem;
  display: grid;
  grid-template-columns: 8rem 38rem;
  grid-template-rows: 16rem 34.5rem;
}
.FR241121holiday .model02 .model__wrapper01 {
  width: 62rem;
  grid-column: 3;
  grid-row: 1 / 4;
}
.FR241121holiday .model02 .model_txt {
  width: 46rem;
  grid-column: 1 / 3;
  grid-row: 2;
  position: relative;
}
.FR241121holiday .model02 .model_txt .model__title {
  width: 12rem;
  left: 0;
  top: 0.1rem;
}
.FR241121holiday .model02 .model_txt .deco-line01 {
  width: 46rem;
  position: absolute;
  left: 0;
  top: 4.4rem;
}
.FR241121holiday .model02 .model_txt .model_credit {
  margin-top: 1.6rem;
}
.FR241121holiday .model02 .model__wrapper02 {
  width: 32rem;
  grid-column: 2 / 3;
  grid-row: 3;
}
@media screen and (min-width: 768px) {
  .FR241121holiday .model02 .model_txt .model_lead {
    width: 35.1rem;
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .FR241121holiday .model02 {
    margin: calc(200*(100vw / 750)) 0 calc(201*(100vw / 750)) 0;
  }
  .FR241121holiday .model02 .model__grid {
    width: var(--width-primary);
    margin-left: 0;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .FR241121holiday .model02 .model__wrapper01 {
    width: var(--full-width);
    display: block;
  }
  .FR241121holiday .model02 .model_txt {
    width: calc(670*(100vw / 750));
    margin-top: calc(75*(100vw / 750));
    margin-left: calc(80*(100vw / 750));
  }
  .FR241121holiday .model02 .model_txt .model__title {
    width: calc(185*(100vw / 750));
    left: 0;
    top: calc(0*(100vw / 750));
  }
  .FR241121holiday .model02 .model_txt .deco-line01 {
    width: calc(670*(100vw / 750));
    left: calc(0*(100vw / 750));
    top: calc(66*(100vw / 750));
  }
  .FR241121holiday .model02 .model_txt .model_lead {
    width: calc(590*(100vw / 750));
    margin-top: calc(114*(100vw / 750));
  }
  .FR241121holiday .model02 .model_txt .model_credit {
    margin-top: calc(42*(100vw / 750));
  }
  .FR241121holiday .model02 .model__wrapper02 {
    width: calc(520*(100vw / 750));
    display: block;
    margin-top: calc(134*(100vw / 750));
    margin-left: calc(190*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
model03
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model03 {
  background-color: var(--color-red);
  padding: 15rem 0 16rem 0;
}
.FR241121holiday .model03 .model__grid {
  width: 118.7rem;
  margin-left: 11.8rem;
  display: grid;
  grid-template-columns: 67.2rem;
  grid-template-rows: 9.3rem;
}
.FR241121holiday .model03 .model__wrapper01 {
  width: 59.2rem;
  grid-column: 1;
  grid-row: 1 / 3;
}
.FR241121holiday .model03 .flex_box {
  width: 51.5rem;
  height: 55.5rem;
  grid-column: 2;
  grid-row: 2;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.FR241121holiday .model03 .model__wrapper02 {
  width: 22rem;
  margin-left: 14rem;
}
.FR241121holiday .model03 .model__wrapper03 {
  width: 51.2rem;
  display: flex;
  justify-content: space-between;
}
.FR241121holiday .model03 .model_img_box {
  width: 20rem;
}
.FR241121holiday .model03 .model__title_box {
  width: fit-content;
  -moz-transform: rotate( 90deg );  /* Firefox用 */
  -webkit-transform: rotate( 90deg );  /* Chrome,Safari,新しいOpera用 */
  transform: rotate( 90deg );  /* CSS3の書き方 */
}
.FR241121holiday .model03 .model_txt {
  width: 27.2rem;
  margin-top: 2.1rem;
}
.FR241121holiday .model03 .model__title {
  width: 12rem;
  top: 3.2rem;
  left: -0.1rem;
}
.FR241121holiday .model03 .deco-line01 {
  position: absolute;
  height: 30.5rem;
  top: 9.3rem;
  left: 79.2rem;
}
.FR241121holiday .model03 .section_title {
  color: var(--color-white);
}
.FR241121holiday .model03 .bk-line {
  background-color: var(--color-white);
}
.FR241121holiday .model03 .model_lead {
  width: var(--full-width);
  color: var(--color-white);
}
.FR241121holiday .model03 .model_credit {
  margin-top: 1.8rem;
  white-space: nowrap;
  color: var(--color-white);
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .FR241121holiday .model03 {
    padding: calc(200*(100vw / 750)) 0 calc(200*(100vw / 750)) 0;
  }
  .FR241121holiday .model03 .model__grid {
    width: calc(750*(100vw / 750));
    height: calc(2453*(100vw / 750));
    margin-left: 0;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
  }
  .FR241121holiday .model03 .model__wrapper01 {
    width: calc(680*(100vw / 750));
    height: calc(1577*(100vw / 750));
    position: relative;
  }
  .FR241121holiday .model03 .model_txt {
    width: calc(592*(100vw / 750));
    margin-top: calc(66*(100vw / 750));
    margin-left: calc(80*(100vw / 750));
  }
  .FR241121holiday .model03 .model_credit {
    margin-top: calc(42*(100vw / 750));
  }  
  .FR241121holiday .model03 .flex_box {
    width: calc(640*(100vw / 750));
    height: calc(1055*(100vw / 750));
    position: absolute;
    left: calc(70*(100vw / 750));
    top: calc(1397*(100vw / 750));
  }
  .FR241121holiday .model03 .model__wrapper02 {
    width: calc(440*(100vw / 750));
    height: calc(550*(100vw / 750));
    margin-left: calc(200*(100vw / 750));
    position: relative;
    z-index: 5;
  }
  .FR241121holiday .model03 .model__wrapper03 {
    width: calc(428*(100vw / 750));
    display: block;
    position: absolute;
    left: calc(0*(100vw / 750));
    bottom: calc(0*(100vw / 750));
  }
  .FR241121holiday .model03 .model_img_box {
    width: 100%;
  }
  .FR241121holiday .model03 .model__title {
    width: calc(185*(100vw / 750));
    top: initial;
    left: calc(1396*(100vw / 750));
    bottom: calc(51*(100vw / 750));
  }
  .FR241121holiday .model03 .model_lead {
    width: calc(601*(100vw / 750));
  }
  .FR241121holiday .model03 .deco-line01 {
    height: calc(727*(100vw / 750));
    top: initial;
    left: calc(39*(100vw / 750));
    bottom: calc(0*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
model04
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model04 {
  margin-top: 15rem;
  height: 98rem;
}
.FR241121holiday .model04 .model__grid {
  width: 95rem;
  height: 72rem;
  margin-left: 24rem;
  position: relative;
}
.FR241121holiday .model04 .model__wrapper01 {
  width: 35rem;
}
.FR241121holiday .model04 .model__title_box {
  width: fit-content;
  -moz-transform: rotate( 90deg );  /* Firefox用 */
  -webkit-transform: rotate( 90deg );  /* Chrome,Safari,新しいOpera用 */
  transform: rotate( 90deg );  /* CSS3の書き方 */
}
.FR241121holiday .model04 .model__title {
  width: 13rem;
  left: 25.3rem;
  bottom: 2.2rem;
}
.FR241121holiday .model04 .deco-line01 {
  height: 37rem;
  position: absolute;
  left: 7.2rem;
  bottom: 0;
}
.FR241121holiday .model04 .model__wrapper02 {
  width: 84rem;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  position: absolute;
  top: 27rem;
  left: 11rem;
}
.FR241121holiday .model04 .model_txt {
  width: 32.2rem;
  margin-top: 28.7rem;
}
.FR241121holiday .model04 .model_credit {
  margin-top: 1.7rem;
}
@media screen and (max-width: 767px) {
  .FR241121holiday .model04 {
    margin-top: calc(200*(100vw / 750));
    height: calc(1852*(100vw / 750));
  }
  .FR241121holiday .model04 .model__grid {
    width: var(--width-primary);
    height: fit-content;
    margin-left: 0;
  }
  .FR241121holiday .model04 .model__wrapper01 {
    width: calc(450*(100vw / 750));
  }
  .FR241121holiday .model04 .model__wrapper02 {
    width: calc(660*(100vw / 750));
    flex-direction: column;
    top: calc(374*(100vw / 750));
    left: calc(90*(100vw / 750));
  }
  .FR241121holiday .model04 .model__title_box {
    width: fit-content;
    -moz-transform: rotate( 0 );  /* Firefox用 */
    -webkit-transform: rotate( 0 );  /* Chrome,Safari,新しいOpera用 */
    transform: rotate( 0 );  /* CSS3の書き方 */
  }
  .FR241121holiday .model04 .model__title {
    width: calc(185*(100vw / 750));
    position: static;
    margin-top: calc(20*(100vw / 750));
  }
  .FR241121holiday .model04 .bk-line {
    width: calc(660*(100vw / 750));
    height: calc(2*(100vw / 750));
  }
  .FR241121holiday .model04 .deco-line01 {
    height: fit-content;
    position: static;
    margin-top: calc(7*(100vw / 750));
  }
  .FR241121holiday .model04 .model_txt {
    width: calc(574*(100vw / 750));
    margin-top: calc(56*(100vw / 750));
  }
  .FR241121holiday .model04 .model_lead {
    margin-top: calc(48*(100vw / 750));
  }
  .FR241121holiday .model04 .model_credit {
    margin-top: calc(42*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
model05
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model05 {
  margin-top: 0;
  background-color: var(--color-red);
  padding-bottom: 16rem;
}
.FR241121holiday .model05 .model__grid {
  width: 109rem;
  margin-left: 16rem;
  padding-top: 15rem;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.FR241121holiday .model05 .model__wrapper01 {
  width: 64rem;
}
.FR241121holiday .model05 .model__wrapper02 {
  width: 45rem;
  margin-top: 25.4rem;
}
.FR241121holiday .model05 .model_txt {
  width: 45.2rem;
  margin-top: 6.2rem;
  margin-left: 9.6rem;
}
.FR241121holiday .model05 .model__title {
  width: 12rem;
  position: static;
  color: var(--color-white);
}
.FR241121holiday .model05 .bk-line {
  width: 45rem;
  height: 1px;
  background-color: var(--color-white);
}
.FR241121holiday .model05 .deco-line01 {
  position: absolute;
  left: 0;
  top: 44.7rem;
}
.FR241121holiday .model05 .model__img0502 {
  margin-top: 2.6rem;
}
.FR241121holiday .model05 .model__img0503 {
  margin-top: 1rem;
}
.FR241121holiday .model05 .model_lead {
  line-break: strict;
  color: var(--color-white);
}
.FR241121holiday .model05 .model_credit {
  margin-top: 1.8rem;
  color: var(--color-white);
}

@media screen and (max-width: 767px) {
  .FR241121holiday .model05 {
    padding-bottom: calc(189*(100vw / 750));
  }
  .FR241121holiday .model05 .model__grid {
    width: var(--width-primary);
    margin-left: 0;
    padding-top: calc(200*(100vw / 750));
    flex-direction: column;
  }
  .FR241121holiday .model05 .model__wrapper01 {
    width: 100%;
  }
  .FR241121holiday .model05 .model__wrapper02 {
    width: var(--width-primary);
    margin-top: calc(100*(100vw / 750));
  }
  .FR241121holiday .model05 .model__title_box {
    width: fit-content;
    -moz-transform: rotate( 90deg );  /* Firefox用 */
    -webkit-transform: rotate( 90deg );  /* Chrome,Safari,新しいOpera用 */
    transform: rotate( 90deg );  /* CSS3の書き方 */
  }
  .FR241121holiday .model05 .model__title {
    width: calc(185*(100vw / 750));
    position: absolute;
    top: calc(-665*(100vw / 750));
    right: calc(-186*(100vw / 750));
  }
  .FR241121holiday .model05 .bk-line {
    width: calc(2*(100vw / 750));
    height: calc(772*(100vw / 750));
  }
  .FR241121holiday .model05 .deco-line01 {
    position: absolute;
    left: initial;
    top: calc(1100*(100vw / 750));
    right: calc(154*(100vw / 750));
  }
  .FR241121holiday .model05 .model__img0502 {
    margin-top: 0;
  }
  .FR241121holiday .model05 .model__img0503 {
    margin-top: calc(20*(100vw / 750));
  }
  .FR241121holiday .model05 .model_txt {
    width: calc(597*(100vw / 750));
    margin: 0 auto;
    margin-top: calc(68*(100vw / 750));
  }
  .FR241121holiday .model05 .model_credit {
    margin-top: calc(44*(100vw / 750));
    padding-left: calc(4*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
model06
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model06 {
  margin-top: 18rem;
}
.FR241121holiday .model06 .model__inner {
  width: 81rem;
  height: 39.8rem;
  margin: 0 auto;
  background-color: #EFEEED;
  padding-top: 0.8rem;
}
.FR241121holiday .model06 .model__grid {
  width: 79.2rem;
  height: 38.8rem;
  margin: 0 auto;
  border: solid 1px var(--color-red);
  display: flex;
  justify-content: space-between;
  row-gap: 6.2rem;
}
.FR241121holiday .model06 .model__wrapper01 {
  width: 22rem;
}
.FR241121holiday .model06 .model__img0601 {
  margin-left: 7.5rem;
  margin-top: 3rem;
}
.FR241121holiday .model06 .model__wrapper02 {
  width: 43.4rem;
  margin-top: 9.6rem;
}
.FR241121holiday .model06 .novelty_txt {
  width: 29.5rem;
  height: 2.6rem;
}
.FR241121holiday .model06 .novelty_line {
  display: block;
  width: 3rem;
  height: 2.2rem;
  border-bottom: solid 1px var(--color-red);
}
.FR241121holiday .model06 .novelty_lead {
  font-size: 1.2rem;
  font-family: var(--font-yuMincho);
  font-weight: var(--fw-medium);
  letter-spacing: 0.16em;
  line-height: 2;
  color: var(--color-red);
  margin-top: 2.4rem;
}
.FR241121holiday .model06 .novelty_lead span {
  display: inline-block;
}
.FR241121holiday .model06 .novelty_kome {
  font-size: 1.1rem;
  font-family: var(--font-yuMincho);
  font-weight: var(--fw-medium);
  letter-spacing: 0.16em;
  color: var(--color-red);
  margin-top: 1.9rem;
}

@media screen and (max-width: 767px) {
  .FR241121holiday .model06 {
    margin-top: calc(223*(100vw / 750));
  }
  .FR241121holiday .model06 .model__inner {
    width: calc(640*(100vw / 750));
    height: calc(1254*(100vw / 750));
    padding-top: calc(18*(100vw / 750));
  }
  .FR241121holiday .model06 .model__grid {
    width: calc(600*(100vw / 750));
    height: fit-content;
    border: solid calc(2*(100vw / 750)) var(--color-red);
    flex-direction: column;
    row-gap: calc(0*(100vw / 750));
    padding-bottom: calc(92*(100vw / 750));
  }
  .FR241121holiday .model06 .model__wrapper01 {
    width: calc(350*(100vw / 750));
    margin: 0 auto;
  }
  .FR241121holiday .model06 .model__img0601 {
    margin: 0 auto;
    margin-top: calc(53*(100vw / 750));
  }
  .FR241121holiday .model06 .model__wrapper02 {
    width: calc(562*(100vw / 750));
    margin: 0 auto;
    margin-top: calc(67*(100vw / 750));
  }
  .FR241121holiday .model06 .novelty_txt {
    width: calc(443*(100vw / 750));
    margin: 0 auto;
  }
  .FR241121holiday .model06 .novelty_line {
    width: calc(50*(100vw / 750));
    height: calc(51*(100vw / 750));
    border-bottom: solid calc(2*(100vw / 750)) var(--color-red);
    margin: 0 auto;
  }
  .FR241121holiday .model06 .novelty_lead {
    font-size: calc(24*(100vw / 750));
    font-family: var(--font-hiragino);
    font-weight: var(--fw-regular);
    letter-spacing: 0.12em;
    margin-top: calc(38*(100vw / 750));
    text-align: center;
  }
  .FR241121holiday .model06 .novelty_kome {
    font-size: calc(20*(100vw / 750));
    font-family: var(--font-hiragino);
    font-weight: var(--fw-regular);
    letter-spacing: 0.12em;
    margin-top: calc(38*(100vw / 750));
    text-align: center;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                                                                SLICK
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .model__slider .slick-list img {
  width: 100%;
}
.FR241121holiday .slick-dots {
  position: absolute;
  margin: 0;
  bottom: 1rem;
  left: 0.4rem;
}
.FR241121holiday .slick-dots li button {
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid var(--color-black);
  border-radius: 50%;
}
.FR241121holiday .slick-dots li.slick-active button {
  background: var(--color-black);
}
.FR241121holiday .slick-dots li {
  margin: 0 0.6rem;
}
@media screen and (max-width: 767px) {
  .FR241121holiday .slick-dots {
    bottom: calc(20*100vw/750);
    left: initial;
    right: calc(8*100vw/750);
  }
  .FR241121holiday .slick-dots li button {
    width: calc(10*100vw/750);
    height: calc(10*100vw/750);
  }
  .FR241121holiday .slick-dots li { 
    margin: 0 calc(11*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                                                                      endview
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR241121holiday .endview {
  padding-block: 15.9rem 13.6rem;
  border-bottom: 0.1rem solid var(--color-black);
  text-align: center;
}
.FR241121holiday .endview_btn {
  width: 12.3rem;
  margin: 0 auto;
}
.FR241121holiday .endview .block_ch {
  display: inline-block;
}
.FR241121holiday .endview_inner {
  --row: 13.5rem;
}
.FR241121holiday .c-text_staff {
  margin-top: 13.7rem;
}
@media screen and (max-width: 767px) {
  .FR241121holiday .endview {
    padding-block: calc(182* 100vw / 750) calc(152* 100vw / 750);
    border-bottom: 0;
  }
  .FR241121holiday .endview_btn {
    width: calc(221*(100vw / 750));
  }
  .FR241121holiday .endview_inner {
    --row: calc(149*100vw/750);
  }
  .FR241121holiday .c-text_staff {
    margin-top: calc(152*(100vw / 750));
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                                                                Animation
//////////////////////////////////////////////////////////////////////////////////////////////
*/

/* その場でフェードイン */
.FR241121holiday .fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
  
@keyframes fadeInAnime{
  from {
      opacity: 0;
  }
  
  to {
      opacity: 1;
  }
}
.FR241121holiday .fadeInTrigger{
  opacity: 0;
}

.FR241121holiday .zoom{
  overflow: hidden;
}
.FR241121holiday .zoomIn{
  animation-name:zoomInAnime;
  opacity: 1;
  transition: 1s;
}
@keyframes zoomInAnime{
  0% {
      opacity: 0;
      transform: scale(1.1, 1.1);
      transition: 1s all;
  }

  100% {
      opacity: 1;
      transition: 1s all;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.FR241121holiday .zoomInTrigger{
  opacity: 0;
  transition: 1s linear;
  transition: transform 1s linear;
  transition: transform 1s linear, 1s linear;
  animation-duration: 2s;
  animation-fill-mode: both;
}
/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
  overflow: hidden;
  display: inline-block;
}
.title-size {
  width: fit-content;
  height: fit-content;
}

.slide-in_inner {
  display: block;
}

/*左右のアニメーション*/
.leftAnime{
  opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}


@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

/*上下のアニメーション*/
.topAnime{
  opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeTopBottom {
  animation-name:slideTextY100;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextY100 {
  from {
  transform: translateY(-100%); /*要素を左の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateY(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

.slideAnimeBottomTop {
  animation-name:slideTextY-100;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}


@keyframes slideTextY-100 {
  from {
  transform: translateY(100%);/*要素を右の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateY(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

/*下上のアニメーション*/
.bottomAnime{
  opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeHeadFoot {
  animation-name:slideTextYb;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextYb {
  from {
  transform: translateY(100%); /*要素を左の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateY(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

.slideAnimeFootHead {
  animation-name:slideTextY-b;
  animation-duration:1.2s;
  animation-fill-mode:forwards;
  opacity: 0;
}


@keyframes slideTextY-b {
  from {
  transform: translateY(-100%);/*要素を右の枠外に移動*/
  opacity: 0;
  }

  to {
  transform: translateY(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}

.FR241121holiday .js-txtFade span {
  opacity: 0;
  transform: translate3d(0, 5px, 0);
}
.FR241121holiday .js-txtFade.is-active span {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.FR241121holiday .js-txtFade path {
  opacity: 0;
  transform: translate3d(0, 5px, 0);
}
.FR241121holiday .js-txtFade.is-active path {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.FR241121holiday .js-fade .js-fade_left {
  opacity: 0;
  transition-duration: 2s;
  transform: translate(-30px, 0);
}
.FR241121holiday .js-fade.show .js-fade_left {
  transform: translate(0, 0);
  opacity: 1;
}
.FR241121holiday .js-fade .js-fade_right {
  opacity: 0;
  transition-duration: 2s;
  transform: translate(30px, 0);
}
.FR241121holiday .js-fade.show .js-fade_right {
  transform: translate(0, 0);
  opacity: 1;
}

.FR241121holiday .js-fade .js-fade_top {
  opacity: 0;
  transition-duration: 2s;
  transform: translate(0, -50px);
}
.FR241121holiday .js-fade.show .js-fade_top {
  transform: translate(0, 0);
  opacity: 1;
}

.FR241121holiday .js-fade .js-fade_down {
  opacity: 0;
  transition-duration: 2s;
  transform: translate(0, 50px);
}
.FR241121holiday .js-fade.show .js-fade_down {
  transform: translate(0, 0);
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .archive {
      padding-bottom: calc(97* 100vw / 750) !important;
  }
}