@charset "UTF-8";
/*----------------------------------------------------------
  VARIABLES
----------------------------------------------------------*/
/*----------------------------------------------------------
  MIXIN
----------------------------------------------------------*/
/* CUSTOM
https://css-tricks.com/snippets/sass/fix-number-n-digits/
  * Làm tròn về 3 số thập phân
  * khi giá trị px có quá nhiều số thập phân, ví dụ 4.03422px),
  * Trình duyệt có thể render ra các line trắng/hở do anti-aliasing hoặc rounding / float precision. Để khắc phục, bạn nên làm tròn số thập phân về 2 chữ số (hoặc tối đa 3) khi tính toán kích thước trong SCSS
*/
.page-cube {
  --bright-red: #e60012;
  --yellow: #fff367;
  color: #000000;
  background: var(--bright-red);
  letter-spacing: 0.03em;
  font-size: min(16px, 1.171vw);
  line-height: 1.45;
  font-weight: 500;
}
@media (min-width: 751px) {
  .page-cube .only-sp {
    display: none;
  }
}
@media (max-width: 750px) {
  .page-cube .only-pc {
    display: none;
  }
}

.p-container {
  position: relative;
}
@media (min-width: 751px) {
  .p-container {
    width: min(1286px, 94.143vw);
    margin: 0 auto;
  }
}

.txt-note {
  font-size: 3.7333333333vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
@media (min-width: 751px) {
  .txt-note {
    font-size: min(14px, 1.025vw);
    line-height: 1.6;
  }
}

.color-red {
  color: #E60012;
}

.color-blue {
  color: #00A7E2;
}

.c-link__blank {
  color: #00A7E2;
  text-decoration: underline;
}
.c-link__blank:after {
  content: "";
  width: min(16px, 1.171vw);
  height: min(16px, 1.171vw);
  display: inline-block;
  vertical-align: middle;
  background: url(../images/ico_link_blank.svg) no-repeat center;
  background-size: contain;
}
@media (max-width: 750px) {
  .c-link__blank:after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .c-link__blank:hover {
    text-decoration: none;
  }
}

.c-header {
  position: relative;
  padding: min(12px, 0.878vw);
  background: var(--bright-red);
  -webkit-box-shadow: 0 min(3px, 0.22vw) min(12px, 0.878vw) rgba(0, 0, 0, 0.25);
          box-shadow: 0 min(3px, 0.22vw) min(12px, 0.878vw) rgba(0, 0, 0, 0.25);
  z-index: 10;
  text-align: center;
}
@media (max-width: 750px) {
  .c-header {
    padding: 1.3333333333vw;
    -webkit-box-shadow: 0 0.8vw 3.2vw rgba(0, 0, 0, 0.25);
            box-shadow: 0 0.8vw 3.2vw rgba(0, 0, 0, 0.25);
  }
}
.c-header-logo {
  margin: 0 auto;
  display: inline-block;
}
.c-header-logo img {
  width: min(100px, 7.321vw);
}
@media (max-width: 750px) {
  .c-header-logo img {
    width: 34.1333333333vw;
  }
}

/* KV SECTION
----------------------------- */
.kv {
  background-color: var(--bright-red);
}
.kv-img {
  position: relative;
  z-index: 1;
  text-align: center;
  aspect-ratio: 2.7429718876;
}
@media (max-width: 750px) {
  .kv-img {
    aspect-ratio: 1.5;
    text-align: center;
    background: #fff;
  }
}
.kv-img img {
  width: 100%;
}
.intro {
  padding-block: min(120px, 8.785vw) min(120px, 8.785vw);
}
@media (max-width: 750px) {
  .intro {
    padding: 15.7333333333vw 4vw 16vw;
  }
}
.intro__h2 {
  margin-bottom: min(20px, 1.464vw);
  font-size: min(48px, 3.514vw);
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
@media (max-width: 750px) {
  .intro__h2 {
    margin-bottom: 4.2666666667vw;
    font-size: 7.4666666667vw;
    line-height: 1.4;
  }
}
.intro__subttl {
  font-size: min(22px, 1.611vw);
  line-height: 2.2;
  letter-spacing: 3%;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
@media (max-width: 750px) {
  .intro__subttl {
    font-size: 5.3333333333vw;
    line-height: 2.2;
  }
}
.intro__h3 {
  margin-block: min(60px, 4.392vw) min(60px, 4.392vw);
  font-size: min(36px, 2.635vw);
  line-height: 1.45;
  letter-spacing: 3%;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
@media (max-width: 750px) {
  .intro__h3 {
    margin-block: 15.4666666667vw 3.7333333333vw;
    font-size: 5.8666666667vw;
    line-height: 1.4;
  }
}
@media (max-width: 750px) {
  .intro .scroll-container {
    overflow-x: auto;
    margin-inline: -4vw;
  }
}
.intro__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  gap: 11.7333333333vw;
}
@media (max-width: 750px) {
  .intro__list {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 7.4666666667vw 4.2666666667vw 4.2666666667vw 8.8vw;
  }
}
@media (min-width: 751px) {
  .intro__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(44px, 3.221vw);
  }
}
.intro__item {
  position: relative;
  background-color: #fff;
  width: 64vw;
  padding: 11.7333333333vw 4.2666666667vw 0;
  min-height: 99.4666666667vw;
  border-radius: 3.2vw;
  font-size: 4vw;
  font-weight: 400;
}
.intro__item p {
  line-height: 1.4;
}
@media (max-width: 750px) {
  .intro__item.--item-04 {
    width: 69.3333333333vw;
  }
}
@media (min-width: 751px) {
  .intro__item {
    width: min(278px, 20.351vw);
    padding: min(28px, 2.05vw) min(16px, 1.171vw) min(32px, 2.343vw);
    min-height: min(427px, 31.259vw);
    border-radius: min(20px, 1.464vw);
    font-size: min(16px, 1.171vw);
    line-height: 1.45;
  }
  .intro__item p {
    line-height: 1.45;
  }
  .intro__item:not(.--item-04) .intro__ttl {
    margin-block: min(13px, 0.952vw) max(-12px, -0.878vw);
  }
}
.intro__item + .intro__item:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 max(-27px, -1.977vw);
  margin-block: auto;
  width: min(14px, 1.025vw);
  height: min(40px, 2.928vw);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  background-color: #fff;
}
@media (max-width: 750px) {
  .intro__item + .intro__item:before {
    left: -7.2vw;
    width: 3.7333333333vw;
    height: 10.6666666667vw;
  }
}
.intro__no {
  position: absolute;
  top: -7.4666666667vw;
  left: -4.2666666667vw;
  width: 16vw;
}
@media (min-width: 751px) {
  .intro__no {
    top: max(-34px, -2.489vw);
    left: max(-23px, -1.684vw);
    width: min(74px, 5.417vw);
  }
}
.intro__ttl {
  min-height: 2.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: 4.8vw;
  line-height: 1.4;
  font-weight: 600;
}
@media (max-width: 750px) {
  .intro__ttl {
    letter-spacing: 0.05em;
  }
}
@media (min-width: 751px) {
  .intro__ttl {
    min-height: 2.9em;
    font-size: min(18px, 1.318vw);
    line-height: 1.45;
    letter-spacing: 3%;
  }
}
.intro__img {
  margin: 1.0666666667vw auto 4.2666666667vw;
  width: 37.3333333333vw;
}
@media (min-width: 751px) {
  .intro__img {
    margin: min(24px, 1.757vw) auto min(24px, 1.757vw);
    width: min(180px, 13.177vw);
  }
}
.intro__note {
  margin-top: 4.2666666667vw;
}
@media (max-width: 750px) {
  .intro__note {
    letter-spacing: 0;
  }
}
@media (min-width: 751px) {
  .intro__note {
    margin-top: min(12px, 0.878vw);
  }
}

.video {
  padding-top: min(60px, 4.392vw);
}
@media (max-width: 750px) {
  .video {
    padding-top: 8.5333333333vw;
  }
}
.video__h3 {
  margin-bottom: min(24px, 1.757vw);
  line-height: 1.45;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin-bottom: min(24px, 1.757vw);
}
.video__h3 span {
  font-size: min(28px, 2.05vw);
}
.video__h3 small {
  margin-bottom: min(8px, 0.586vw);
  font-size: min(16px, 1.171vw);
  display: block;
}
@media (max-width: 750px) {
  .video__h3 {
    margin-bottom: 5.0666666667vw;
    line-height: 1.4;
  }
  .video__h3 span {
    font-size: 5.8666666667vw;
  }
  .video__h3 small {
    margin-bottom: 2.1333333333vw;
    font-size: 4vw;
  }
}
.video__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
}
@media (min-width: 751px) {
  .video__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.video__thumb {
  position: relative;
  border-radius: min(30px, 2.196vw);
  overflow: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  width: min(680px, 49.78vw);
  height: min(358px, 26.208vw);
  cursor: pointer;
  display: block;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .video__thumb {
    width: 92vw;
    height: 51.2vw;
    margin: 0 auto;
    border-radius: 4.2666666667vw;
  }
}
.video__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.video__thumb-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: min(94px, 6.881vw);
  height: min(94px, 6.881vw);
  background: url(../images/icon_play.webp) no-repeat center;
  background-size: contain;
  font-size: 0;
}
@media (max-width: 750px) {
  .video__thumb-icon {
    width: 15.4666666667vw;
    height: 15.4666666667vw;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .video__thumb:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.video__ttl {
  margin-top: min(24px, 1.757vw);
  font-size: min(28px, 2.05vw);
  color: #fff;
  text-align: center;
  font-weight: 600;
}
@media (max-width: 750px) {
  .video__ttl {
    margin-top: 3.7333333333vw;
    font-size: 5.8666666667vw;
    line-height: 1.4;
  }
}

.new-arrival {
  padding-block: 16vw 16vw;
  background-color: #F2F2F2;
}
@media (min-width: 751px) {
  .new-arrival {
    padding-block: min(116px, 8.492vw) min(120px, 8.785vw);
  }
}
.new-arrival .txt-underline {
  font-size: 7.4666666667vw;
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  background: url(../images/line_yellow.webp) repeat-x bottom left;
  background-size: auto 3.2vw;
}
@media (min-width: 751px) {
  .new-arrival .txt-underline {
    font-size: min(48px, 3.514vw);
    line-height: 1.45;
    background-position: bottom min(3px, 0.22vw) left;
    background-size: auto min(12px, 0.878vw);
  }
}
.new-arrival__inner {
  width: 92vw;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .new-arrival__inner {
    width: min(1126px, 82.43vw);
  }
}
.new-arrival__h2 {
  text-align: center;
}
.new-arrival__subttl {
  text-align: center;
  font-size: 4.8vw;
  line-height: 1.4;
  font-weight: 600;
}
.new-arrival__subttl.--subttl-01 {
  margin: 8.5333333333vw auto 7.4666666667vw;
}
.new-arrival__subttl.--subttl-02 {
  margin-bottom: 3.2vw;
}
@media (min-width: 751px) {
  .new-arrival__subttl {
    font-size: min(24px, 1.757vw);
    line-height: 1.45;
  }
  .new-arrival__subttl.--subttl-01 {
    margin: min(26px, 1.903vw) auto min(54px, 3.953vw);
    width: min(495px, 36.237vw);
  }
  .new-arrival__subttl.--subttl-02 {
    margin-bottom: min(12px, 0.878vw);
  }
}
.new-arrival__row {
  margin: 0 auto 16vw;
}
@media (min-width: 751px) {
  .new-arrival__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: min(970px, 71.01vw);
    margin: 0 auto min(60px, 4.392vw);
  }
}
@media (min-width: 751px) {
  .new-arrival__left {
    margin-top: min(48px, 3.514vw);
    width: min(470px, 34.407vw);
  }
}
@media (max-width: 750px) {
  .new-arrival__left .new-arrival__note {
    margin-top: 8.5333333333vw;
  }
}
.new-arrival__ttl {
  text-align: center;
}
@media (max-width: 750px) {
  .new-arrival__ttl {
    margin-bottom: 8.5333333333vw;
  }
}
.new-arrival__txt {
  font-size: 4vw;
  line-height: 1.8;
  text-align: center;
}
@media (min-width: 751px) {
  .new-arrival__txt {
    font-size: min(18px, 1.318vw);
    line-height: 1.8;
  }
}
.new-arrival__note {
  margin-top: 3.2vw;
}
@media (max-width: 750px) {
  .new-arrival__note {
    line-height: 1.6;
  }
}
@media (min-width: 751px) {
  .new-arrival__note {
    margin-top: min(40px, 2.928vw);
  }
}
.new-arrival__note.--note-02 {
  text-align: center;
  margin-top: min(10px, 0.732vw);
}
@media (max-width: 750px) {
  .new-arrival__note.--note-02 {
    margin-top: 3.2vw;
  }
}
@media (min-width: 751px) {
  .new-arrival__right {
    width: min(441px, 32.284vw);
  }
}

.insurance {
  margin-top: 16vw;
  padding: 8.5333333333vw 4vw;
  width: 92vw;
  border-radius: 3.2vw;
  margin-inline: auto;
  background-color: #fff;
}
@media (min-width: 751px) {
  .insurance {
    margin-block: min(110px, 8.053vw) min(22px, 1.611vw);
    padding: min(48px, 3.514vw);
    width: min(866px, 63.397vw);
    border-radius: min(30px, 2.196vw);
    margin-inline: auto;
  }
}
.insurance__h2 {
  margin-bottom: 8.5333333333vw;
  text-align: center;
}
@media (min-width: 751px) {
  .insurance__h2 {
    margin-bottom: min(32px, 2.343vw);
  }
}
.insurance__img {
  margin-inline: auto;
}
@media (min-width: 751px) {
  .insurance__img {
    width: min(771px, 56.442vw);
  }
}
@media (max-width: 750px) {
  .insurance__note {
    margin-top: 3.7333333333vw;
    letter-spacing: 0;
    text-align: center;
  }
}
@media (min-width: 751px) {
  .insurance__note {
    margin-top: min(24px, 1.757vw);
    text-align: center;
  }
}

@media (max-width: 750px) {
  .cm {
    padding-top: 15.4666666667vw;
  }
}
.cm .video__h3 {
  color: #0B318F;
}
@media (max-width: 750px) {
  .cm .video__h3 {
    margin-bottom: 3.7333333333vw;
  }
}

.product {
  padding-block: 16vw 0;
  background-color: #fff;
}
@media (min-width: 751px) {
  .product {
    padding-block: min(119px, 8.712vw) 0;
  }
}
@media (max-width: 750px) {
  .product__inner {
    width: 92vw;
    margin-inline: auto;
  }
}
.product__h4 {
  margin-bottom: 5.8666666667vw;
  font-size: 6.4vw;
  line-height: 1.4;
  text-align: center;
  font-weight: 600;
}
@media (min-width: 751px) {
  .product__h4 {
    margin-bottom: min(32px, 2.343vw);
    font-size: min(28px, 2.05vw);
    line-height: 1.45;
  }
}
.product__list {
  background-color: #F2F2F2;
}
@media (min-width: 751px) {
  .product__list {
    width: min(1286px, 94.143vw);
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
}
.product__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10.6666666667vw 5.3333333333vw;
}
@media (min-width: 751px) {
  .product__item {
    padding: min(80px, 5.857vw) min(20px, 1.464vw);
    min-height: min(535px, 39.165vw);
    width: 50%;
  }
}
.product__item.--bg-red {
  color: #fff;
  background-color: #E60012;
}
.product__ttl {
  margin-bottom: 4.2666666667vw;
  font-size: 4.8vw;
  line-height: 1.4;
  font-weight: 600;
}
@media (min-width: 751px) {
  .product__ttl {
    margin-bottom: min(20px, 1.464vw);
    font-size: min(24px, 1.757vw);
    line-height: 1.45;
  }
}
.product__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 34.6666666667vw;
}
@media (min-width: 751px) {
  .product__logo {
    width: min(412px, 30.161vw);
    min-height: min(180px, 13.177vw);
  }
  .--bg-red .product__logo {
    width: min(460px, 33.675vw);
  }
}
.product__btn {
  margin-top: 8.2666666667vw;
}
@media (min-width: 751px) {
  .product__btn {
    margin-top: min(60px, 4.392vw);
  }
}
.product .c-btn__large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-weight: 600;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  width: 81.3333333333vw;
  height: 17.6vw;
  font-size: 4.2666666667vw;
  line-height: 1.4;
  background: #FFFFFF url(../images/icon_arrow_left_black.svg) no-repeat center right 8vw;
  background-size: 2.1333333333vw auto;
  -webkit-box-shadow: 0 0.8vw 3.2vw rgba(0, 0, 0, 0.2);
          box-shadow: 0 0.8vw 3.2vw rgba(0, 0, 0, 0.2);
  border-radius: 10.6666666667vw;
}
.product .c-btn__large:before, .product .c-btn__large:after {
  display: none;
}
@media (min-width: 751px) {
  .product .c-btn__large {
    width: min(500px, 36.603vw);
    height: min(80px, 5.857vw);
    font-size: min(24px, 1.757vw);
    line-height: 1.3;
    background: #FFFFFF url(../images/icon_arrow_left_black.svg) no-repeat center right min(32px, 2.343vw);
    background-size: min(8px, 0.586vw) auto;
    -webkit-box-shadow: min(0px, 0vw) min(3px, 0.22vw) min(12px, 0.878vw) rgba(0, 0, 0, 0.2);
            box-shadow: min(0px, 0vw) min(3px, 0.22vw) min(12px, 0.878vw) rgba(0, 0, 0, 0.2);
    border-radius: min(40px, 2.928vw);
  }
}
@media (min-width: 751px) and (hover: hover) {
  .product .c-btn__large:hover {
    opacity: 0.8;
  }
}
.product .c-btn__large.--color-red {
  color: #E60012;
  background-color: #fff;
  background-image: url(../images/icon_arrow_left.svg);
}

.policy {
  background: #fff;
  padding: min(60px, 4.392vw) 0 min(38px, 2.782vw);
}
@media (max-width: 750px) {
  .policy {
    padding: 8.5333333333vw 4vw 9.0666666667vw;
  }
}
.policy__ttl {
  text-align: center;
  padding-top: min(54px, 3.953vw);
  position: relative;
  font-size: min(18px, 1.318vw);
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: min(13px, 0.952vw);
  color: var(--bright-red);
}
@media (max-width: 750px) {
  .policy__ttl {
    margin-bottom: 4.2666666667vw;
    padding-top: 13.6vw;
    font-size: 4.8vw;
  }
}
.policy__ttl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: min(48px, 3.514vw);
  height: min(42px, 3.075vw);
  background: url(../images/icon_warn.webp) center no-repeat;
  background-size: contain;
}
@media (max-width: 750px) {
  .policy__ttl:before {
    width: 12.8vw;
    height: 11.2vw;
  }
}
.policy__notice {
  width: min(800px, 58.565vw);
  margin: 0 auto;
}
@media (max-width: 750px) {
  .policy__notice {
    width: 100%;
  }
}
.policy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.policy__item {
  padding: min(2px, 0.146vw) min(4px, 0.293vw) min(1px, 0.073vw);
  margin-top: -1px;
  font-weight: 400;
  font-size: min(14px, 1.025vw);
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media (max-width: 750px) {
  .policy__item {
    padding: 0.5333333333vw 1.0666666667vw 0.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.4;
  }
}
.policy__item:first-child {
  margin-top: 0;
}
.policy__item a {
  text-decoration: underline;
}
@media (min-width: 751px) and (hover: hover) {
  .policy__item a:hover {
    text-decoration: none;
  }
}
.policy__bottom {
  margin-top: min(8px, 0.586vw);
  font-weight: 400;
  font-size: min(12px, 0.878vw);
  line-height: 1.45;
  color: var(--bright-red);
}
@media (max-width: 750px) {
  .policy__bottom {
    margin-top: 2.1333333333vw;
    font-size: 2.6666666667vw;
    line-height: 1.4;
  }
}

.vitality-code {
  margin-top: min(65px, 4.758vw);
  text-align: right;
  font-size: min(14px, 1.025vw);
  line-height: 1;
  color: #333;
}
@media (max-width: 750px) {
  .vitality-code {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}

.p-footer {
  position: relative;
}
.p-footer .float-btn {
  position: fixed;
  bottom: min(20px, 1.464vw);
  right: min(27px, 1.977vw);
  margin: 0 auto;
  text-align: center;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  will-change: transform, opacity;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media (max-width: 750px) {
  .p-footer .float-btn {
    right: 0;
    margin-left: auto;
    margin-right: 4vw;
    bottom: 0;
  }
}
.p-footer .float-btn.is-active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (min-width: 751px) {
  .p-footer .float-btn .c-btn__main {
    padding: 0;
    width: min(193px, 14.129vw);
    height: min(98px, 7.174vw);
    -webkit-box-shadow: 0 min(4px, 0.293vw) min(20px, 1.464vw) rgba(0, 0, 0, 0.25);
            box-shadow: 0 min(4px, 0.293vw) min(20px, 1.464vw) rgba(0, 0, 0, 0.25);
    background: none;
    border-radius: min(32px, 2.343vw);
    border: 0;
    background-color: transparent;
  }
  .p-footer .float-btn .c-btn__main::before {
    content: none;
  }
  .p-footer .float-btn .c-btn__main img {
    width: 100%;
  }
}
@media (max-width: 750px) {
  .p-footer .float-btn .c-btn__main {
    width: 39.4666666667vw;
    height: 20.2666666667vw;
    font-size: 4.2666666667vw;
    margin-left: auto;
    margin-right: 0;
    padding: 0;
    -webkit-box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.25);
            box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.25);
    border-radius: 5.3333333333vw 5.3333333333vw 0 0;
  }
  .p-footer .float-btn .c-btn__main img {
    width: 100%;
  }
}
@media (max-width: 750px) {
  .p-footer .float-btn .c-btn__main::before {
    content: none;
  }
}
.p-footer .btn-footer {
  position: absolute;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-bottom: -1px;
  width: min(87px, 6.369vw);
}
@media (max-width: 750px) {
  .p-footer .btn-footer {
    width: 20vw;
    bottom: calc(100% - 1.0666666667vw);
  }
}
.p-footer .btn-footer .ico-arrow {
  display: block;
  width: min(87px, 6.369vw);
  height: min(35px, 2.562vw);
  background: url("/assets/images/special/doltsumi/footer_arrow.png ") center no-repeat;
  background-size: 100% auto;
}
@media (max-width: 750px) {
  .p-footer .btn-footer .ico-arrow {
    width: 20vw;
    height: 9.3333333333vw;
  }
}
.p-footer .copy-right {
  text-align: center;
  font-size: min(12px, 0.878vw);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  color: #FFFFFF;
  padding: min(20px, 1.464vw) 0;
}
@media (max-width: 750px) {
  .p-footer .copy-right {
    padding: 4vw 0;
    font-size: 3.2vw;
  }
}