/* ============================================================================================== */
/* common overwrite
/* ============================================================================================== */
#main {
  padding: 0;
  /*background-color: #000;
  color: #fff;*/
}
#main h1,
#main h2,
#main h3,
#main h4,
#main h5 {
  /*color: #fff;*/
  border: 0 none;
  padding: 0;
  margin: 0;
}
#main .row {
  max-width: none;
  width: 100%;
}
#main .column {
  padding: 0;
}
#main figure,
#main p,
#main dl,
#main dt,
#main dd,
#main ul {
  margin: 0;
  float: none;
  padding: 0;
}
/* ============================================================================================== */
/* #flaconsdetable_event common
/* ============================================================================================== */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  #flaconsdetable_event img {
    image-rendering: -webkit-optimize-contrast;
  }
}
#flaconsdetable_event {
  --font-family-sans: "Noto Sans", sans-serif;
  --font-oswal: "Oswald", sans-serif;
  --font-yum: YuMincho, "游明朝 Medium", "Yu Mincho Medium", serif;
  --l-color-white: #fff;
  --l-color-black: #000;
  --l-color-02: #f4f5f7;
  --l-color-03: #707070;
  --l-color-04: #e8e8e8;
  --l-fs-xxxl: 26px;
  --l-fs-xxl: 23px;
  --l-fs-xl: 20px;
  --l-fs-l: 16px;
  --l-fs-m: 14px;
  --l-fs-s: 12px;
  --l-fs-xs: 10px;
  background-color: #000;
}
#flaconsdetable_event .content-inner {
  max-width: 1060px;
  width: 90vw;
  margin: 0 auto;
}
#flaconsdetable_event .content-inner_m {
  max-width: 825px;
  width: 90vw;
  margin: 0 auto;
}
#flaconsdetable_event .fl-cont {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
#flaconsdetable_event .font-oswal {
  font-family: "Oswald", sans-serif;
}
#flaconsdetable_event p {
  font-size: var(--l-fs-m);
  font-weight: normal;
  line-height: 1.8;
}
#flaconsdetable_event .product-name {
  font-size: var(--l-fs-l);
  font-weight: bold;
  margin-bottom: 10px;
}
#flaconsdetable_event .product-data {
  font-size: var(--l-fs-m);
  margin-bottom: 20px;
}
#flaconsdetable_event .btn {
  max-width: 450px;
  width: 100%;
  margin-top: clamp(41px, calc(36.875px + 0.9375vw), 50px);
  margin-inline: auto;

  a {
    position: relative;
    display: block;
    color: var(--l-color-white);
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    padding: 10px 0;
    background: var(--l-color-black);
    transition: all 1s;
    &::before {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 23px;
      content: "";
      width: 9px;
      height: 9px;
      margin: auto 0;
      border-top: var(--l-color-white) 2px solid;
      border-right: var(--l-color-white) 2px solid;
      transform: rotate(45deg);
      transition: all 1s;
    }
  }
  a:hover {
    color: #000;
    background: #c9c9c9;
    &::before {
      border-top: #000 2px solid;
      border-right: #000 2px solid;
    }
  }
}
#flaconsdetable_event .end {
  display: block;
  color: #ff0000;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-top: 10px;
  text-decoration: underline;
}
#flaconsdetable_event .tb {
  display: none;
}
#flaconsdetable_event .pc_tb {
  display: block;
}
#flaconsdetable_event .sp {
  display: none;
}
@media screen and (max-width: 750px) {
  #flaconsdetable_event .content-inner {
    max-width: 89.33vw;
  }
  #flaconsdetable_event .pc_tb {
    display: none;
  }
  #flaconsdetable_event .tb {
    display: block;
  }
}
@media screen and (max-width: 440px) {
  #flaconsdetable_event .fl-cont {
    flex-wrap: wrap;
  }
  #flaconsdetable_event .product-name {
    font-size: var(--l-fs-m);
  }
  #flaconsdetable_event .product-data {
    font-size: var(--l-fs-s);
  }
  #flaconsdetable_event .pc {
    display: none;
  }
  #flaconsdetable_event .sp {
    display: block;
  }
}
/* ============================================================================================== */
/* fdt-header
/* ============================================================================================== */
#flaconsdetable_event .fdt-header {
  padding-bottom: clamp(77px, calc(63.25px + 3.125vw), 107px);
  .kv-img {
    display: block;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    span {
      display: block;
      color: var(--l-color-white);
      font-size: var(--l-fs-s);
      text-align: right;
    }
  }
  .lead {
    margin: clamp(35px, calc(21.25px + 3.125vw), 65px) auto 0;
  }
  h1 {
    color: var(--l-color-white);
    font-size: 33px;
    font-weight: 400;
    text-align: center;
    margin-bottom: clamp(34px, calc(29.875px + 0.9375vw), 43px);

    span.sub {
      display: block;
      font-size: 18px;
      margin: 20px 0;
    }
  }
  p {
    color: var(--l-color-white);
    text-align: center;
    line-height: 1.9;
    margin-bottom: clamp(60px, calc(60px + 0vw), 60px);
  }
  .ank-btn {
    position: relative;
    width: 45%;
    text-align: center;
    background: var(--l-color-white);

    &::before,
    &::after {
      content: "";
      position: absolute;
      bottom: -50px;
      left: calc(50% - 2.5px);
      width: 5px;
      height: 25px;
      border-radius: 9999px;
      background-color: #ffffff;
      transform-origin: 50% calc(100% - 2.5px);
    }
    &::before {
      transform: rotate(43.5deg);
    }
    &::after {
      transform: rotate(-43.5deg);
    }
    a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      padding: 20px 10px;
    }
    .ank-btn-ttl {
      font-size: var(--l-fs-xl);
      font-weight: 700;
      margin-bottom: 13px;
    }
    .font-oswal {
      font-size: var(--l-fs-xl);
      font-weight: 500;
      text-align: center;
      padding: 5px 25px;
      margin-bottom: 16px;
    }
    p {
      color: var(--l-color-black);
      margin-bottom: 0;
    }
    .advance-sale {
      display: inline-block;
      font-size: var(--l-fs-m);
      text-align: center;
      padding: 5px 35px;
      margin-bottom: 16px;
      border: var(--l-color-03) 1px solid;
    }
  }
  @media screen and (max-width: 750px) {
    .ank-btn {
      width: 48%;
    }
  }
  @media screen and (max-width: 440px) {
    h1 {
      font-size: var(--l-fs-xxxl);
    }
    .ank-btn {
      width: 100%;
      &:first-child {
        margin-bottom: 61px;
      }
      &::before,
      &::after {
        bottom: -35px;
      }
    }
  }
}
/* ============================================================================================== */
/* product
/* ============================================================================================== */
#flaconsdetable_event .product {
  color: var(--l-color-white);
  padding: 0 0 93px;

  h2 {
    color: var(--l-color-white);
    font-size: 28px;
    font-weight: 400;
    text-align: center;
    margin-bottom: clamp(31px, calc(25.5px + 1.25vw), 43px);

    span.sub {
      display: block;
      font-size: var(--l-fs-l);
      font-weight: 500;
      margin-top: clamp(7px, calc(4.25px + 0.625vw), 13px);
    }
  }
  h3 {
    font-size: var(--l-fs-xl);
    font-weight: 700;
    line-height: 2;
    text-align: center;
    margin-bottom: clamp(17px, calc(10.125px + 1.5625vw), 32px);
  }
  p.concept {
    text-align: center;
    margin: 0 auto clamp(32px, calc(4.5px + 6.25vw), 92px);
  }
  p.price {
    font-size: var(--l-fs-xl);
    font-weight: 700;
    text-align: center;
  }

  @media screen and (max-width: 440px) {
    h2 {
      font-size: 26px;
    }
    h3 {
      font-size: var(--l-fs-xl);
      line-height: 1.5;
    }
  }
}
/*-- product-group --*/
#flaconsdetable_event .product .product-group {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 47px;
  margin-top: clamp(17px, calc(-0.875px + 4.0625vw), 56px);

  .product-item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    max-width: 322px;
    width: 100%;

    img {
      max-width: 310px;
      width: 100%;
      margin-bottom: clamp(17px, calc(15.625px + 0.3125vw), 20px);
    }
    .item-cont {
      flex-grow: 2;

      h4 {
        color: var(--l-color-white);
        font-size: var(--l-fs-xl);
        text-align: center;
        margin-bottom: clamp(7px, calc(5.625px + 0.3125vw), 10px);
      }
      p {
        font-size: var(--l-fs-m);
        letter-spacing: 0;
        text-align: center;
      }
      p.jp-product-name {
        font-size: var(--l-fs-l);
        font-weight: 600;
        margin-bottom: clamp(8px, calc(3.875px + 0.9375vw), 17px);
      }
    }
    @media screen and (max-width: 440px) {
      .item-cont {
        p {
          font-size: var(--l-fs-s);
          letter-spacing: 0;
        }
        p.jp-product-name {
          font-size: var(--l-fs-m);
        }
      }
    }
  }
  @media screen and (max-width: 750px) {
    .product-item {
      max-width: initial;
    }
  }
}
/*-- movie --*/
#flaconsdetable_event .product .movie {
  width: 100%;
  margin: 86px auto 0;

  video {
    width: 100%;
    height: auto;
  }
}

/* ============================================================================================== */
/* salon-de-parfum
/* ============================================================================================== */
#flaconsdetable_event .salon-de-parfum {
  padding-block: clamp(42px, calc(18.625px + 5.3125vw), 93px) clamp(55px, calc(48.125px + 1.5625vw), 70px);
  background: var(--l-color-white);

  h2 {
    font-size: var(--l-fs-xl);
    font-weight: 600;
    text-align: center;
    margin-bottom: clamp(21px, calc(11.375px + 2.1875vw), 42px);

    span {
      display: block;
      /* font-family: var(--font-yum); */
      font-size: 42px;
      font-weight: 500;
      line-height: 1.2;
      margin-bottom: 12px;
    }
  }
  p.outline {
    text-align: center;
  }
  @media screen and (max-width: 750px) {
    h2 {
      span {
        font-size: 30px;
      }
    }
  }
}
/*-- data --*/
#flaconsdetable_event .salon-de-parfum .data {
  max-width: 825px;
  width: 100%;
  padding: clamp(18px, calc(12.5px + 1.25vw), 30px) clamp(18px, calc(-1.25px + 4.375vw), 60px);
  margin-block: clamp(24px, calc(7.5px + 3.75vw), 60px) clamp(33px, calc(13.75px + 4.375vw), 75px);
  margin-inline: auto;
  background: #f0f0f0;

  p {
    font-size: var(--l-fs-l);
    font-weight: 600;
    text-align: center;
    margin-bottom: clamp(15px, calc(8.125px + 1.5625vw), 30px);
  }
  dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: var(--l-fs-m);
    padding-bottom: clamp(19px, calc(17.625px + 0.3125vw), 22px);
    margin-bottom: clamp(19px, calc(17.625px + 0.3125vw), 22px);
    border-bottom: var(--l-color-black) 1px solid;

    dt {
      width: 32%;
      text-align: center;
    }
    dd {
      width: 68%;
    }
  }
  @media screen and (max-width: 440px) {
    dl {
      font-size: var(--l-fs-s);
      dt {
        width: 43%;
      }
      dd {
        width: 57%;
      }
    }
  }
}
/*-- collection-list --*/
#flaconsdetable_event .salon-de-parfum .collection-list {
  max-width: 550px;
  width: 100%;
  text-align: center;
  margin: 0 auto clamp(45px, calc(32.625px + 2.8125vw), 72px);

  img {
    margin-top: clamp(15px, calc(8.125px + 1.5625vw), 30px);
  }
}
/*-- benefits --*/
#flaconsdetable_event .salon-de-parfum .benefits {
  padding-block: clamp(35px, calc(28.125px + 1.5625vw), 50px) clamp(50px, calc(25.25px + 5.625vw), 104px);
  border-top: var(--l-color-03) 1px solid;

  h3 {
    color: var(--l-color-white);
    font-size: var(--l-fs-xl);
    text-align: center;
    padding: 14px 10px 12px;
    margin-bottom: 31px;
    background: var(--l-color-black);
  }
  .benefits-group {
    gap: clamp(24px, calc(2px + 5vw), 72px);
  }
  .benefits-item {
    display: grid;
    justify-items: center;

    p > strong {
      display: block;
      text-align: center;
      margin-bottom: clamp(8px, calc(3.875px + 0.9375vw), 17px);
    }
    img {
      margin-top: 17px;
    }
  }
}
/*-- info --*/
#flaconsdetable_event .salon-de-parfum .info {
  padding: clamp(18px, calc(12.5px + 1.25vw), 30px);
  border: var(--l-color-black) 1px solid;

  .fl-cont {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: clamp(18px, calc(7px + 2.5vw), 42px);
  }
  .info-img {
    max-width: 392px;
    width: 38vw;
    span {
      font-size: var(--l-fs-s);
    }
  }
  .info-data {
    max-width: 560px;
    width: 39vw;

    h3 {
      font-size: var(--l-fs-xl);
      line-height: 1.5;
      font-weight: 600;
      text-align: center;
      padding: 14px 10px 12px;
      margin-bottom: 20px;
      border: var(--l-color-03) 1px solid;
    }
    ul > li {
      font-size: var(--l-fs-m);
      text-indent: -1rem;
      padding-left: 1rem;
    }
  }
  @media screen and (max-width: 440px) {
    img {
      max-width: initial;
      width: 100%;
    }
    .info-data {
      width: 100%;

      h3 {
        font-size: var(--l-fs-l);
      }
      ul li {
        font-size: var(--l-fs-s);
      }
    }
  }
}

/* ============================================================================================== */
/* rdl
/* ============================================================================================== */
#flaconsdetable_event .rdl {
  color: var(--l-color-white);
  padding-block: clamp(22px, calc(0px + 5vw), 70px) clamp(23px, calc(9.25px + 3.125vw), 53px);
  margin-bottom: 20px;

  .fl-cont {
    max-width: 852px;
    width: 100%;

    .fl-cont-img {
      max-width: 379px;
      width: 50vw;
    }
    .fl-cont-inner {
      max-width: 450px;
      width: 40.566vw;

      .product-day {
        font-size: var(--l-fs-l);
        font-weight: bold;
        text-align: center;
        padding: 10px;
        margin-bottom: 28px;
        border: var(--l-color-white) 1px solid;
      }
    }
  }
  @media screen and (max-width: 440px) {
    .fl-cont-img {
      max-width: initial !important;
      width: 100% !important;
      margin-bottom: 5vw;

      img {
        display: block;
        width: 100%;
        margin: auto;
      }
    }
    .fl-cont-inner {
      max-width: initial !important;
      width: 100% !important;

      .product-day {
        font-size: var(--l-fs-m);
      }
    }
  }
}
