@charset "UTF-8";
@media only screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857143vw;
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
setting - custom property
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine {
  --color-black: #000000;
  --color-white: #ffffff;
  --color-gray: #58595B;
  --color-red: #B00131;
  --font-lato: "Lato", serif;
  --font-yu-gothic: "游ゴシック体", YuGothic, "游ゴシック re--fw-regular", "Yu Gothic re--fw-regular", "游ゴシック", "Yu Gothic";
  --font-hiragino: "Hiragino Kaku Gothic ProN";
  --font-monte: "montecarlo", sans-serif;
  --font-en: var(--font-lato), sans-serif;
  --font-ja: var(--font-yu-gothic), sans-serif;
  --font-main: var(--font-lato), var(--font-yu-gothic), sans-serif;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  font-feature-settings: "palt"; 
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .FR250129Valentine {
    --width-primary: 140rem;
    --fz-text_fv_lead: 1.3rem;
    --fz-text_fv_accordion_btn: 1.4rem;
    --fz-text_fv_accordion_lead: 1.2rem;
    --fz-text_style_credit: 1.2rem;
    --fz-text_btn: 2rem;
    --fz-text_staff: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .FR250129Valentine {
    --width-primary: calc(750*100vw/750);
    --fz-text_fv_lead: calc(25* 100vw / 750);
    --fz-text_fv_accordion_btn: calc(26* 100vw / 750);
    --fz-text_fv_accordion_lead: calc(24*100vw/750);
    --fz-text_style_credit: calc(22*100vw/750);
    --fz-text_btn: calc(40*100vw/750);
    --fz-text_staff: calc(24*100vw/750);
  }
}
.FR250129Valentine img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - grid
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine [class*="c-grid_column"] {
  display: grid;
  grid-template-columns: repeat(var(--columns , 1), 1fr);
  gap: var(--row, 0) var(--column, 0);
}
.FR250129Valentine [class*="grid_column-1"] {--columns: 1;}
.FR250129Valentine [class*="grid_column-2"] {--columns: 2;}
.FR250129Valentine [class*="grid_column-3"] {--columns: 3;}
.FR250129Valentine [class*="p-style_wrap"] {
  position: relative;
  width: fit-content;
  height: fit-content;
}
.FR250129Valentine .c-position {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .FR250129Valentine [class*="c-pc_grid_column"] {
    display: grid;
    grid-template-columns: repeat(var(--columns , 1), 1fr);
    gap: var(--row, 0) var(--column, 0);
  }
  .FR250129Valentine .c-pc_position {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .FR250129Valentine [class*="c-sp_grid_column"] {
    display: grid;
    grid-template-columns: repeat(var(--columns , 1), 1fr);
    gap: var(--row, 0) var(--column, 0);
  }
  .FR250129Valentine .c-sp_position {
    position: absolute;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - text
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .c-text_fv_lead {
  margin-top: 3.6rem;
  font-size: var(--fz-text_fv_lead);
  line-height: 2.1;
  letter-spacing: 0.16em;
  font-family: var(--font-ja);
  font-weight: var(--fw-regular);
  color: var(--color-black);
  text-align: center;
}
.FR250129Valentine .c-text_fv_lead._02 {
  margin-top: 0;
}
.FR250129Valentine .c-text_fv_lead._03 {
  margin-top: 2.5rem;
  font-size: 1.2rem;
  color: var(--color-gray);
}
.FR250129Valentine .font_family_en {
  font-family: var(--font-en);
}
.FR250129Valentine .p-firstview_text_accordion::before {
  position: absolute;
  bottom: 2.8rem;
  left: 0;
  width: 100%;
  height: 2rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 1));
  content: "";
  z-index: 3;
}
.FR250129Valentine .p-firstview_text_accordion.is-open{
  margin-top: 0;
}
.FR250129Valentine .p-firstview_text_accordion.is-open::before {
  display: none;
}
.FR250129Valentine .c-text_fv_accordion_btn {
  position: relative;
  display: block;
  width: fit-content;
  margin-inline: auto;
  font-size: var(--fz-text_fv_accordion_btn);
  line-height: 2.5;
  letter-spacing: 0.05em;
  font-family: var(--font-en);
  font-weight: var(--fw-light);
  color: var(--color-black);
  top: 1.9rem;
  left: 0.7rem;
  cursor: pointer;
}
.FR250129Valentine .c-text_fv_accordion_btn::before,
.FR250129Valentine .c-text_fv_accordion_btn::after {
  position: absolute;
  content: "";
  background-color: var(--color-gray);
  width: 0.7rem;
  height: 0.1rem;
  top: 1.8rem;
  left: -1.2rem;
}
.FR250129Valentine .c-text_fv_accordion_btn::after {
  width: 0.1rem;
  height: 0.7rem;
  left: -0.9rem;
  top: 1.5rem;
}
.FR250129Valentine .c-text_fv_accordion_btn.is-open {
  top: 2.2rem;
}

.FR250129Valentine .c-text_fv_accordion_btn.is-open::before,
.FR250129Valentine .c-text_fv_accordion_btn.is-open::after {
  top: 1.8rem;
}
.FR250129Valentine .c-text_fv_accordion_btn.is-open::after{
  top: 1.5rem;
}
.FR250129Valentine .c-text_fv_accordion_btn.is-open::after {
  transform: rotate(90deg);
  transition: transform 0.2s ease;
  /* display: none; */
}
.FR250129Valentine .c-text_fv_accordion_lead {
  margin-bottom: 2.2rem;
  font-size: var(--fz-text_fv_accordion_lead);
  line-height: 2.1666666667;
  letter-spacing: 0.16em;
  font-family: var(--font-ja);
  font-weight: var(--fw-regular);
  color: var(--color-black);
}
.FR250129Valentine .c-text_style_credit {
  font-size: var(--fz-text_style_credit);
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  color: var(--color-gray);
}
.FR250129Valentine .c-text_style_credit > li {
  display: inline-block;
}
/* .FR250129Valentine .c-text_btn {
  width: fit-content;
  margin-inline: auto;
  font-size: var(--fz-text_btn);
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  color: var(--color-black);
  border-bottom: 0.3rem double var(--color-gray);
  padding-bottom: 0.3rem;
} */
.FR250129Valentine .c-text_staff {
  font-size: var(--fz-text_staff);
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  color: var(--color-gray);
}
@media screen and (min-width: 768px) {
  .FR250129Valentine .c-bg_color_white {
    background-color: var(--color-white);
  }
  .FR250129Valentine .c-text_style_credit span {
    display: inline-block;
    margin-right: 0.3rem;
  }
  .FR250129Valentine .c-text_staff span {
    display: inline-block !important;
  }
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .c-text_fv_lead {
    margin-top: calc(55* 100vw / 750);
    line-height: 2;
    letter-spacing: 0.14em;
  }
  .FR250129Valentine .c-text_fv_lead._02 {
    margin-top: calc(0* 100vw / 750);
  }
  .FR250129Valentine .c-text_fv_lead._03 {
    margin-top: calc(33*(100vw / 750));
    font-size: calc(23*(100vw / 750));
  }
  .FR250129Valentine .c-text_fv_accordion_btn {
    line-height: 1.25;
    left: calc(12* 100vw / 750);
    top: calc(37* 100vw / 750);
  }
  .FR250129Valentine .c-text_fv_accordion_btn::before,
  .FR250129Valentine .c-text_fv_accordion_btn::after {
    width: calc(12* 100vw / 750);
    height: calc(1* 100vw / 750);
    top: calc(16* 100vw / 750);
    left: calc(-21* 100vw / 750);
  }
  .FR250129Valentine .c-text_fv_accordion_btn::after {
    width: calc(1* 100vw / 750);
    height: calc(12* 100vw / 750);
    top: calc(12* 100vw / 750);
    left: calc(-16* 100vw / 750);
  }
  .FR250129Valentine .c-text_fv_accordion_btn.is-open {
    top: calc(46*(100vw / 750));
  }
  .FR250129Valentine .c-text_fv_accordion_btn.is-open::before,
  .FR250129Valentine .c-text_fv_accordion_btn.is-open::after {
    top: calc(16* 100vw / 750);
  }
  .FR250129Valentine .c-text_fv_accordion_btn.is-open::after{
    top: calc(12* 100vw / 750);
    /* display: none; */
  }
  .FR250129Valentine .c-text_fv_accordion_lead {
    margin-bottom: calc(20*(100vw / 750));
    line-height: 2;
    letter-spacing: 0.12em;
    font-weight: var(--fw-light);
    font-family: var(--font-hiragino);
  }
  .FR250129Valentine .c-text_style_credit {
    line-height: 1.75;
  }
  /* .FR250129Valentine .c-text_btn {
    line-height: 1.25;
    letter-spacing: 0.04em;
    border-bottom: calc(6*100vw/750) double var(--color-gray);
    padding-bottom: calc(10*100vw/750);
  } */
  .FR250129Valentine .c-text_style_credit span {
    display: inline-block !important;
    margin-right: calc(5*(100vw / 750));
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -common
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style_inner {
  width: var(--width-primary);
  margin-inline: auto;
}

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

.FR250129Valentine .firstview {
  width: 120rem;
  margin: 0 auto;
}
.FR250129Valentine .firstview .firstview__img {
  width: var(--full-width);
  margin: 0 auto;
}
.FR250129Valentine .firstview .firstview__day {
  font-family: var(--font-en);
  font-weight: 400;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  margin-top: 11rem;
  line-height: 2;
}
.FR250129Valentine .firstview .firstview__title {
  font-family: var(--font-en);
  font-weight: 400;
  text-align: center;
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  margin-top: 5rem;
  color: var(--color-red);
}
.FR250129Valentine .firstview .firstview__txt {
  font-family: var(--font-ja);
  font-weight: var(--fw-regular);
  text-align: center;
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: 0.16em;
  margin-top: 5.7rem;
}
.FR250129Valentine .firstview .firstview__txt span {
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .firstview {
    width: var(--basic-width-sp);
  }
  .FR250129Valentine .firstview .firstview__day {
    font-size: calc(26*(100vw / 750));
    margin-top: calc(158*(100vw / 750));
  }
  .FR250129Valentine .firstview .firstview__title {
    font-size: calc(52*(100vw / 750));
    margin-top: calc(80*(100vw / 750));
  }
  .FR250129Valentine .firstview .firstview__txt {
    font-size: calc(26*(100vw / 750));
    line-height: 2;
    letter-spacing: 0.14em;
    margin-top: calc(110*(100vw / 750));
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
project-firstview
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-firstview {
  margin-top: 12.7rem;
}
.FR250129Valentine .p-firstview_inner {
  width: 140rem;
  margin: 0 auto;
}
.FR250129Valentine .p-firstview_wrapper {
  position: relative;
}
.FR250129Valentine .p-firstview_title {
  width: 15.4rem;
  height: 34.2rem;
  position: absolute;
  top: 8.9rem;
  right: 31.7rem;
  z-index: 5;
}

.FR250129Valentine .p-firstview .line__box {
  width: 73.2rem;
  height: 52.2rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -1.6rem;
  z-index: 10;
  pointer-events: none;
}
.FR250129Valentine .p-firstview .line__box svg {
  width: 100%;
  height: auto;
}
.FR250129Valentine .p-firstview .p-firstview__img {
  width: 70rem;
  margin: 0 auto;
}
.FR250129Valentine .p-firstview .p-firstview__img img {
  position: relative;
  z-index: 0;
}

.FR250129Valentine .line_pc {
  stroke: #b00131;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  fill: none;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  fill-opacity: 0;
}
.FR250129Valentine .line_pc.is-active {
  stroke-dashoffset: 0;
  fill-opacity: 1;
  animation: fill 1.5s linear 1;
}
.FR250129Valentine .line_sp {
  stroke: #b00131;
  stroke-miterlimit: 10;
  stroke-width: 3px;
  fill: none;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  fill-opacity: 0;
}
.FR250129Valentine .line_sp.is-active {
  stroke-dashoffset: 0;
  fill-opacity: 1;
  animation: fill 1.5s linear 1;
}
@keyframes fill {
  0% {
    stroke-dashoffset: 2000;
    fill-opacity: 0;
    /* fill: transparent; */
  }
  70% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
  }
  85% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
  }
}

.FR250129Valentine .product_box {
  margin-top: 7.4rem;
  position: relative;
}

.FR250129Valentine .product_box .product_title {
  font-family: var(--font-en);
  font-weight: 400;
  text-align: center;
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  color: var(--color-red);
}

@media screen and (max-width: 767px) {
  .FR250129Valentine .p-firstview {
    margin-top: calc(142*(100vw / 750));
  }
  .FR250129Valentine .p-firstview_inner {
    width: var(--basic-width-sp);
  }
  .FR250129Valentine .p-firstview_title {
    width: calc(180*(100vw / 750));
    height: calc(380*(100vw / 750));
    top: calc(56*(100vw / 750));
    right: calc(19*(100vw / 750));
  }
  .FR250129Valentine .line {
    stroke-width: 3px;
  }
  .FR250129Valentine .p-firstview .line__box {
    width: calc(683*(100vw / 750));
    height: calc(523*(100vw / 750));
    top: calc(-21*(100vw / 750));
  }
  .FR250129Valentine .p-firstview .line__box svg {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 10;
  }
  .FR250129Valentine .p-firstview .p-firstview__img {
    width: calc(640*(100vw / 750));
    margin: 0 auto;
  }
  .FR250129Valentine .product_box {
    margin-top: calc(98*(100vw / 750));
}
  .FR250129Valentine .product_box .product_title {
    font-size: calc(52*(100vw / 750));
    letter-spacing: 0.05em;
  }
  .FR250129Valentine .p-firstview_text_accordion::before {
    bottom: calc(25*(100vw / 750));
    left: 0;
    height: calc(35*(100vw / 750));
}
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -style01
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style01 {
  margin-top: 13.8rem;
}
.FR250129Valentine .p-style01 .p-style_wrapper {
  width: 97rem;
  margin-left: 23rem;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 13rem;
}
.FR250129Valentine .p-style01 .p-style_wrap01 {
  margin-top: 13.5rem;
  width: 59rem;
  position: relative;
}
.FR250129Valentine .p-style01 .p-style_title {
  display: block;
  width: 31.7rem;
  position: absolute;
  top: 4.2rem;
  right: -10.1rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style01 .p-style_wrap02 {
  width: 25rem;
}
.FR250129Valentine .p-style01 .p-style_image {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
}
.FR250129Valentine .p-style01 .c-style_image0102 {
  width: 25rem;
  height: 37.5rem;
}
.FR250129Valentine .p-style01 .c-text_style_credit {
  margin-top: 2.5rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-style01 {
    margin-top: calc(193*(100vw / 750));
  }
  .FR250129Valentine .p-style01 .p-style_wrapper {
    width: calc(750*(100vw / 750));
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: calc(100*(100vw / 750));
  }
  .FR250129Valentine .p-style01 .p-style_wrap01 {
    margin: 0 auto;
    width: calc(640*(100vw / 750));
    position: relative;
  }
  .FR250129Valentine .p-style01 .p-style_title {
    width: calc(363*(100vw / 750));
    top: calc(33*(100vw / 750));
    right: calc(-41*(100vw / 750));
  }
  .FR250129Valentine .p-style01 .p-style_wrap02 {
    width: calc(750*(100vw / 750));
  }
  .FR250129Valentine .p-style01 .p-style_image {
    display: block;
  }
  /* .FR250129Valentine .p-style01 .js-slider_sp {
    padding: 0 calc(125*(100vw / 750));
  } */
  .FR250129Valentine .p-style01 .c-style_image0102 {
    width: calc(500*(100vw / 750));
    height: calc(750*(100vw / 750));
    margin: 0 calc(12*(100vw / 750));
  }
  .FR250129Valentine .p-style01 .c-text_style_credit {
    margin-top: calc(30*(100vw / 750));
    text-align: center;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -style02
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style02 {
  margin-top: 18rem;
}
.FR250129Valentine .p-style02 .p-style_wrapper {
  width: 99rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 12rem;
}
.FR250129Valentine .p-style02 .p-style_wrap01 {
  width: 58rem;
  margin: 0 auto;
  position: relative;
}
.FR250129Valentine .p-style02 .p-style_title01 {
  display: block;
  width: 30.8rem;
  position: absolute;
  bottom: 0.3rem;
  left: -15.3rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style02 .p-style_title02 {
  display: block;
  width: 22.1rem;
  position: absolute;
  bottom: -6rem;
  left: -8.9rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style02 .p-style_wrap02 {
  width: 100%;
}
.FR250129Valentine .p-style02 .p-style_image {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
.FR250129Valentine .p-style02 .c-style_image0102 {
  width: 32rem;
}
.FR250129Valentine .p-style02 .c-text_style_credit {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-style02 {
    margin-top: calc(194*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .p-style_wrapper {
    width: calc(750*(100vw / 750));
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: calc(100*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .p-style_wrap01 {
    margin: 0 auto;
    width: calc(640*(100vw / 750));
    position: relative;
    z-index: 15;
  }
  .FR250129Valentine .p-style02 .p-style_title01 {
    width: calc(353*(100vw / 750));
    bottom: calc(-55*(100vw / 750));
    left: calc(-41*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .p-style_title02 {
    width: calc(250*(100vw / 750));
    bottom: calc(-120*(100vw / 750));
    left: calc(31*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .p-style_wrap02 {
    width: calc(750*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .p-style_image {
    display: block;
  }
  .FR250129Valentine .p-style02 .c-style_image0102 {
    width: calc(500*(100vw / 750));
    height: calc(750*(100vw / 750));
    margin: 0 calc(12*(100vw / 750));
  }
  .FR250129Valentine .p-style02 .c-text_style_credit {
    margin-top: calc(32*(100vw / 750));
    text-align: center;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -style03
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style03 {
  margin-top: 17.7rem;
  background-color: var(--color-red);
  padding-bottom: 18rem;
}
.FR250129Valentine .p-style03 .p-style_wrapper {
  width: 102rem;
  margin-left: 21rem;
  display: flex;
  justify-content: space-between;
  /* flex-direction: row-reverse; */
  gap: 6rem;
}
.FR250129Valentine .p-style03 .p-style_wrap01 {
  margin-top: 18rem;
  width: 42rem;
  position: relative;
}
.FR250129Valentine .p-style03 .p-style_title {
  display: block;
  width: 342rem;
  position: absolute;
  bottom: -6.8rem;
  left: -80.8rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style03 .p-style_wrap02 {
  width: 54rem;
  margin-top: 50rem;
  position: relative;
}
.FR250129Valentine .p-style03 .c-text_style_credit {
  position: absolute;
  text-align: right;
  left: -14rem;
  bottom: -0.5rem;
  color: var(--color-white);
}
.FR250129Valentine .p-style03 .c-text_style_credit > li {
  display: block;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-style03 {
    margin-top: calc(193*(100vw / 750));
    padding-bottom: calc(191*(100vw / 750));
  }
  .FR250129Valentine .p-style03 .p-style_wrapper {
    width: calc(750*(100vw / 750));
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0;
  }
  .FR250129Valentine .p-style03 .p-style_wrap01 {
    width: calc(560*(100vw / 750));
    margin-top: calc(190*(100vw / 750));
    margin-left: calc(35*(100vw / 750));
    position: relative;
  }
  .FR250129Valentine .p-style03 .p-style_title {
    width: calc(750*(100vw / 750));
    bottom: initial;
    left: initial;
    top: calc(-189*(100vw / 750));
    right: calc(-155*(100vw / 750));
  }
  .FR250129Valentine .p-style03 .p-style_wrap02 {
    width: calc(750*(100vw / 750));
    margin-top: calc(100*(100vw / 750));
    position: relative;
  }
  .FR250129Valentine .p-style03 .c-text_style_credit {
    position: static;
    text-align: center;
    margin-top: calc(33*(100vw / 750));
  }
  .FR250129Valentine .p-style03 .c-text_style_credit > li {
    display: inline-block;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -style04
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style04 {
  margin-top: 18rem;
}
.FR250129Valentine .p-style04 .p-style_wrapper {
  width: 119rem;
  margin-left: 16rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 8rem;
  position: relative;
}
.FR250129Valentine .p-style04 .p-style_wrap01 {
  width: 78rem;
  margin-left: 41rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
.FR250129Valentine .p-style04 .c-style_image0101 {
  width: 38rem;
}
.FR250129Valentine .p-style04 .p-style_title {
  display: block;
  width: 27rem;
  position: absolute;
  top: 72.2rem;
  left: -4.2rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style04 .p-style_wrap02 {
  width: 58rem;
  position: relative;
}
.FR250129Valentine .p-style04 .c-text_style_credit {
  position: absolute;
  text-align: left;
  left: 61rem;
  bottom: -0.5rem;
  white-space: nowrap;
}
.FR250129Valentine .p-style04 .c-text_style_credit > li {
  display: block;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-style04 {
    margin-top: calc(190*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .p-style_wrapper {
    width: calc(750*(100vw / 750));
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0;
    position: relative;
  }
  .FR250129Valentine .p-style04 .p-style_wrap01 {
    width: calc(580*(100vw / 750));
    margin: 0 auto;
    flex-direction: column;
    gap: calc(30*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .c-style_image0101 {
    width: calc(580*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .p-style_title {
    width: calc(306*(100vw / 750));
    top: calc(60*(100vw / 750));
    left: calc(32*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .p-style_wrap02 {
    width: calc(750*(100vw / 750));
    margin-top: calc(100*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .c-text_style_credit {
    position: static;
    text-align: center;
    margin-top: calc(32*(100vw / 750));
  }
  .FR250129Valentine .p-style04 .c-text_style_credit > li {
    display: inline-block;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -style05
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-style05 {
  margin-top: 18rem;
  position: relative;
}
.FR250129Valentine .p-style05::after {
  content: "";
  position: absolute;
  background-color: var(--color-red);
  width: 100%;
  height: 195rem;
  top: 38rem;
  z-index: -1;
}
.FR250129Valentine .p-style05 .p-style_wrapper {
  width: 106rem;
  margin-left: 20rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.FR250129Valentine .p-style05 .p-style_wrap01 {
  width: 56rem;
  margin-left: 22rem;
}
.FR250129Valentine .p-style05 .p-style_wrap02 {
  width: 106rem;
  display: flex;
  justify-content: space-between;
  gap: 34rem;
  position: relative;
  margin-top: 9rem;
}
.FR250129Valentine .p-style05 .p-style_wrap02 .c-style_image0502 {
  width: 34rem;
  position: relative;
}
.FR250129Valentine .p-style05 .p-style_wrap02 .img05_line {
  width: 36rem;
  position: absolute;
  top: -1rem;
  left: -1rem;
  pointer-events: none;
}
.FR250129Valentine .p-style05 .p-style_wrap02 .c-style_image0503 {
  width: 38rem;
  margin-top: 39rem;
}
.FR250129Valentine .p-style05 .p-style_title {
  display: block;
  width: 6.2rem;
  position: absolute;
  top: 19.8rem;
  left: -9.4rem;
  pointer-events: none;
  z-index: 10;
}
.FR250129Valentine .p-style05 .p-style_wrap03 {
  width: 48rem;
  margin-left: 26.2rem;
  position: relative;
  margin-top: 8rem;
}
.FR250129Valentine .p-style05 .c-text_style_credit {
  position: absolute;
  text-align: left;
  left: 50.9rem;
  bottom: -0.5rem;
  white-space: nowrap;
}
.FR250129Valentine .p-style05 .c-text_style_credit > li {
  display: block;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-style05 {
    margin-top: calc(200*(100vw / 750));
    position: relative;
  }
  .FR250129Valentine .p-style05::after {
    height: calc(3535*(100vw / 750));
    top: calc(395*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .p-style_wrapper {
    width: calc(750*(100vw / 750));
    margin:  0 auto;
  }
  .FR250129Valentine .p-style05 .p-style_wrap01 {
    width: calc(640*(100vw / 750));
    margin: 0 auto;
  }
  .FR250129Valentine .p-style05 .p-style_wrap02 {
    width: calc(720*(100vw / 750));
    margin-left: calc(30*(100vw / 750));
    flex-direction: column;
    gap: 0;
    margin-top: calc(-257*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .p-style_wrap02 .c-style_image0502 {
    width: calc(460*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .p-style_wrap02 .img05_line {
    width: calc(480*(100vw / 750));
    top: calc(-10*(100vw / 750));
    left: calc(-10*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .p-style_wrap02 .c-style_image0503 {
    width: calc(560*(100vw / 750));
    margin-left: calc(160*(100vw / 750));
    margin-top: calc(90*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .p-style_title {
    position: relative;
    width: calc(71*(100vw / 750));
    /* height: calc(367*100vw/750); */
    top: calc(701*(100vw / 750));
    left: calc(494*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .is-active .p-style_title,
  .FR250129Valentine .p-style05 .is-active .p-style_title picture {
    opacity: 1;
    animation: initial;
  }
  .FR250129Valentine .p-style05 .p-style_title::before {
    position: absolute;
    content: "";
    display: block;
    width: calc(71*(100vw / 750));
    height: calc(367*100vw/750);
    background-color: var(--color-red);
    z-index: 1;
    top: calc(0*100vw/750);;
    transform: translateY(0);
  }
  .FR250129Valentine .p-style05 .is-active .p-style_title::before {
    transform: translateY(100%);
    transition: transform ease 1.2s 1s;
  }
  .FR250129Valentine .p-style05 .p-style_wrap03 {
    width: calc(750*(100vw / 750));
    margin: 0 auto;
    margin-top: calc(120*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .c-text_style_credit {
    position: static;
    text-align: center;
    margin-top: calc(31*(100vw / 750));
  }
  .FR250129Valentine .p-style05 .c-text_style_credit > li {
    display: inline-block;
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
project -endview
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .p-endview {
  padding-block: 14rem 13.5rem;
  border-bottom: 0.1rem solid var(--color-black);
  text-align: center;
}
.FR250129Valentine .endview_box {
  width: 140rem;
  margin: 0 auto;
  position: relative;
}
.FR250129Valentine .p-endview .c-style_image0601 {
  width: 90rem;
  margin: 0 auto;
}
.FR250129Valentine .p-endview .p-style_title01 {
  width: 29.9rem;
  position: absolute;
  top: 12.3rem;
  right: 40.9rem;
}
.FR250129Valentine .p-endview .p-style_title02 {
  width: 33.7rem;
  position: absolute;
  top: 20.2rem;
  right: 28.1rem;
}
/* .FR250129Valentine .p-endview_inner {
  --row: 13.7rem;
} */
.FR250129Valentine .p-endview_inner .c-text_btn {
  width: 18rem;
  margin: 0 auto;
  margin-top: 15rem;
}
.FR250129Valentine .p-endview_inner .c-text_staff {
  margin-top: 13.4rem;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .p-endview {
    padding-block: calc(176*100vw/750) calc(153*100vw/750);
    border-bottom: 0;
  }
  .FR250129Valentine .endview_box {
    width: calc(750*(100vw / 750));
  }
  .FR250129Valentine .p-endview .c-style_image0601 {
    width: calc(750*(100vw / 750));
  }
  .FR250129Valentine .p-endview .p-style_title01 {
    width: calc(299*(100vw / 750));
    top: calc(65*(100vw / 750));
    right: calc(118*(100vw / 750));
  }
  .FR250129Valentine .p-endview .p-style_title02 {
    width: calc(334*(100vw / 750));
    top: calc(142*(100vw / 750));
    right: calc(21*(100vw / 750));
  }
  .FR250129Valentine .p-endview_inner .c-text_btn {
    width: calc(290*(100vw / 750));
    margin-top: calc(179*(100vw / 750));
  }
  .FR250129Valentine .p-endview_inner .c-text_staff {
    margin-top: calc(150*(100vw / 750));
  }
  /* .FR250129Valentine .p-endview_inner {
    --row: calc(150*100vw/750);
  } */
}

.FR250129Valentine .pc_only {
  display: block !important;
}
.FR250129Valentine .sp_only {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .FR250129Valentine .pc_only {
    display: none !important;
  }
  .FR250129Valentine .sp_only {
    display: block !important;
  }
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
slick
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .slick-dots {
  position: absolute;
  bottom: 1.1rem;
  left: var(--left, initial);
  right: var(--right, initial);
  margin: 0;
}
.FR250129Valentine .slick-dots li {
  display: inline-block;
  margin-inline: 0.6rem;
}
.FR250129Valentine .slick-dots li button {
  width: 0.6rem;
  height: 0.6rem;
  font-size: 0;
  border-radius: 50%;
  border: 0.1rem solid var(--color-white);
  cursor: pointer;
}
.FR250129Valentine .slick-dots li.slick-active button {
  background-color: var(--color-white);
}
.FR250129Valentine .c-dot-right .slick-dots {
  --right: 0.4rem;
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .slick-dots {
    bottom: calc(20*100vw/750);
  }
  .FR250129Valentine .slick-dots li {
    margin: 0 calc(9*100vw/750);
  }
  .FR250129Valentine .slick-dots li button {
    width: calc(10*100vw/750);
    height: calc(10*100vw/750);
  }
  .FR250129Valentine .c-dot-right .slick-dots {
    --right: calc(12*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
animation - fade
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.FR250129Valentine .js-fade {
  opacity: 0;
  transform: translate(0, 0);
  filter: blur(5px);
  transition: all 1.1s ease;
}
.FR250129Valentine .js-fade.is-active {
  opacity: 1;
  filter: blur(0px);
  transform: translate(0, 0);
}
@media screen and (min-width: 768px) {
  .FR250129Valentine .js-fade_pc {
    opacity: 0;
    transform: translate(0, 0);
    filter: blur(5px);
    transition: all 1.1s ease;
  }
  .FR250129Valentine .js-fade_pc.is-active {
    opacity: 1;
    filter: blur(0px);
    transform: translate(0, 0);
  }
}
@media screen and (max-width: 767px) {
  .FR250129Valentine .js-fade_sp {
    opacity: 0;
    transform: translate(0, 0);
    filter: blur(5px);
    transition: all 1.1s ease;
  }
  .FR250129Valentine .js-fade_sp.is-active {
    opacity: 1;
    filter: blur(0px);
    transform: translate(0, 0);
  }
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.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;
  }
}
@keyframes slideTextAnimation {
  from {
  transform: translateY(100%);
  opacity: 0;
  }

  to {
  transform: translateY(0);
  opacity: 1;
  }
}

/* ACCORDION */
.accordion_outside {
  width: 52rem;
  margin: 0 auto;
  margin-top: 7.5rem;
}

.accordion_wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .8s;
  color: var(--color-gray);
}

.open > .accordion_wrap {
  grid-template-rows: 1fr;
}

.accordion_inner {
  position: relative;
  padding-bottom: 2.5rem;
  min-height: 11rem;
  overflow: hidden;
}

.accordion_inner::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 1));
  content: "";
  z-index: 3;
}

.open .accordion_inner::before {
  display: none;
}

.accordion_txt {
  display: block;
  margin-bottom: 3rem;
}

.accordion_txt:last-of-type {
  margin-bottom: 0;
}

.accordion_btn {
  position: relative;
  width: 10.5rem;
  margin: 0 auto;
  font-size: 1.4rem;
  text-align: center;
  cursor: pointer;
}

.accordion_btn .to_open {
  margin-top: 3rem;
}

.accordion_btn .to_open,
.accordion_btn .to_close {
  white-space: nowrap;
}

.accordion_btn .to_open,
.open .accordion_btn .to_close {
  display: block;
}

.accordion_btn .to_close,
.open .accordion_btn .to_open {
  display: none;
}

@media only screen and (max-width: 768px) {
  .accordion_outside {
    width: calc(565*(100vw / 750));
    margin: 0 auto;
    margin-top: calc(98*(100vw / 750));
  }

  .accordion_wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .8s;
  }

  .open > .accordion_wrap {
    grid-template-rows: 1fr;
  }

  .accordion_inner {
    padding-bottom: calc(49*(100vw / 780));
    min-height: calc(304*(100vw / 780));
  }

  .accordion_outside .accordion_inner::before{
    height: calc(70*(100vw / 780));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 1));
    content: "";
  }

  .accordion_txt {
    display: block;
    margin-bottom: calc(50 * (100vw / 780));
  }

  .accordion_btn {
    width: calc(185 * (100vw / 780));
    font-size: calc(26 * (100vw / 780));
  }

  .accordion_btn .to_open {
    margin-top: calc(32 * (100vw / 780));
  }

  .accordion_btn .to_open {
    text-underline-offset: 6px;
    position: absolute;
    left: calc(-20*(100vw / 750));
  }

  .accordion_btn .to_close {
    text-underline-offset: 6px;
    position: absolute;
    left: calc(8*(100vw / 750));
  }
}
