#jovs-lp section {
  display: block !important;
}



html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

.wrapper {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

main {
  width: 100%;
  overflow: visible;
}

#jovs-lp img {
  width: 100%;
  height: auto;
  display: block;
}

#jovs-lp,
#jovs-lp *,
#jovs-lp *::before,
#jovs-lp *::after {
  box-sizing: border-box;
}

.scroll-anim {
  opacity: 0;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.btn {
  width: 90%;
  margin: 10% auto 4% auto;
}

/* ① 画面固定＋センタリング */
.fix_btn{
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);   /* これで中央 */
}

/* ② ふわふわアニメは子要素だけに掛ける */
.float_wrap{
  animation: floatY 1.5s ease-in-out infinite;
  will-change: transform;
}

@keyframes floatY{
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-15px); }
  100% { transform: translateY(0); }
}

.fix_btn {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 730px;
  z-index: 999;
}


.fixbtn_start_trigger,
.fixbtn_end_trigger {
  height: 1px;
}

.header {
  text-align: center;
  position: relative;
  overflow: hidden;
  display: block;  /* inline-block → block に変更 */
  width: 100%;
}

.header img {
  display: block;
  margin: 0 auto;  /* これで画像自体をセンタリング */
}

.header::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.5) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  animation: scanlight 3s ease-in-out infinite;
}

@keyframes scanlight {
  0%   { left: -100%; }
  60%  { left: 130%; }
  100% { left: 130%; }
}

 /* FV */
.fv {
  position: relative;
  width: 100%;
}

.fv-base {
  width: 100%;
  display: block;
}

.fv-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

.fv-layer-1 { animation: fadeIn 0.6s ease forwards 0.3s; }
.fv-layer-2 { animation: fadeIn 0.6s ease forwards 0.9s; }
.fv-layer-3 { animation: fadeIn 0.6s ease forwards 1.5s; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


.trouble1 {
  width: 26%;
  left: 37%;
  top: -7%;
}

.trouble2 {
  width: 80%;
  right: 10%;
  top: 11%;
}

.trouble3 {
  width: 68%;
  right: 30%;
  top: 25%;
}

.trouble4 {
  width: 91%;
  right: 0%;
  top: 41%;
}

.trouble5 {
  width: 92%;
  right: 7%;
  top: 56%;
}

.trouble_illust1 {
  width: 33%;
  left: 22%;
  top: 71%;
}

.trouble_illust2 {
  width: 24%;
  left: 55%;
  top: 71%;
}

/*case*/
.case_bg {
  position: relative;
  margin-top: -15%;
}

.case1 {
  width: 39%;
  left: 31%;
  top: 12%;
}

.case2 {
  width: 80%;
  right: 10%;
  top: 28%;
}

.case3 {
  width: 24%;
  right: 66%;
  top: 43%;
}

.case4 {
  width: 24%;
  left: 37.8%;
  top: 43%;
}

.case5 {
  width: 24%;
  left: 65%;
  top: 43%;
}

.case6 {
  width: 31%;
  left: 35%;
  top: 83%;
  z-index: 1;
}

/*about*/
.about_bg{
  margin-top: -10%;
  z-index: -1;
}

.about2 {
  width: 20%;
  right: 74%;
  top: 17%;
}

.about3 {
  width: 30%;
  left: 28%;
  top: 16.9%;
}

.about4 {
  width: 33%;
  left: 60%;
  top: 17%;
}

.about5 {
  width: 100%;
  right: 0%;
  top: 61%
}

.about5_img {
  width: 88%;
  right: 5%;
  top: 22%;
}

.about6 {
  width: 44%;
  right: 52%;
  top: 37%;
}

.about7 {
  width: 100%;
  right: -5%;
  top: 32%;
}

.about8 {
  width: 80%;
  right: 20%;
  top: 75%;
}

.about9 {
  width: 92%;
  right: 0%;
  top: 85%;
}

.about10 {
  width: 100%;
  top: 8%;
}


/*new*/
.new1 {
  width: 71%;
  left: 13%;
  top: 9%;
}

.new2 {
  width: 80%;
  right: 11%;
  top: 22%;
}

.new3 {
  width: 40%;
  left: 7.5%;
  top: 53%;
}

.new4 {
  width: 42%;
  left: 49%;
  top: 51.7%;
}

/*compare*/
.compare1 {
  width: 83%;
  right: 8%;
  top: 7%;
}

.compare2 {
  width: 87%;
  right: 6.5%;
  top: 29%;
}

/*effect*/
.effect1 {
  width: 55%;
  left: 22%;
  top: 8.5%;
}

.effect2 {
  width: 68%;
  left: 13%;
  top: 17.5%;
}

.effect3 {
  width: 93%;
  right: 4%;
  top: 34%;
}

.effect4 {
  width: 86%;
  right: 7%;
  top: 47%;
}

/*spec*/
.spec1 {
  width: 75%;
  left: 13%;
  top: 5.8%;
}

.spec2 {
  width: 80%;
  right: 10%;
  top: 10%;
}

.spec3 {
  width: 100%;
  right: 0%;
  top: 25%;
}

.spec4 {
  width: 94%;
  right: 1.8%;
  top: 35.5%;
}

.spec5 {
  width: 97%;
  right: 0%;
  top: 47%;
}

.spec6 {
  width: 86%;
  right: 7%;
  top: 61%;
}

.spec7 {
  width: 80%;
  right: 10%;
  top: 76%;
}

.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: -4%;
  z-index: 1;
}

.marquee__inner {
  display: flex;
  width: 200%;
  animation: scroll-right-to-left 30s linear infinite;
}


.marquee__inner span {
  display: flex;
}

.marquee__inner img {
  height: 40px;
  width: auto;
  margin-left: 4%;
}

@keyframes scroll-right-to-left {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

/*ice*/
.ice1 {
  width: 75%;
  left: 12%;
  top: 11.5%;
}

.ice2 {
  width: 73%;
  left: 13%;
  top: 18%;
}

.ice3 {
  width: 69%;
  left: 16%;
  top: 53%;
}

.ice4 {
  width: 85%;
  right: 8%;
  top: 68%;
}

.ice-img1 {
  width: 22%;
  left: 78%;
  top: 20%;
}

.ice-img2 {
  width: 24%;
  right: 76%;
  top: 28%;
}

.ice-img3 {
  width: 22%;
  left: 78%;
  top: 57%;
}

/*result*/
.result1 {
  width: 76%;
  right: 12%;
  top: 8%;
}

.result2 {
  width: 77%;
  left: 12%;
  top: 24%;
}

.result3 {
  width: 80%;
  left: 9%;
  top: 54%;
}

.result4 {
  width: 75%;
  left: 13%;
  top: 69.5%;
}

/*men*/
.men1 {
  width: 75%;
  right: 12%;
  top: 2.5%;
}

.men2 {
  width: 86%;
  right: 7%;
  top: 11%;
}

.men3 {
  width: 100%;
  right: 0%;
  top: 18%;
}

.men4 {
  width: 86%;
  right: 7%;
  top: 44%;
}


/***************************************************************************
section011
***************************************************************************/

.s011-image-wrapper {
  position: relative;
  line-height: 0;
}

.s011-c001{
  width:100%;
  height:auto;
  position:relative;
  z-index:1;
}

.s011-c002 {
  position: absolute;
  top: 22.8%;
  left: 50%;
  transform: translateX(-50%);
  width: 86%;
  height: auto;
  object-fit: cover;
  z-index: 2;
  pointer-events: none;
}

.s011-c003 {
  position:absolute;
  z-index:2;
  opacity:0;
  top:0;
  left:0;
  transform: translateY(-30px);
  transition: opacity .75s ease-out, transform .75s ease-out;
}
.s011-c003.in-view {
  opacity:1;
  transform: translateY(0);
  transition-delay:.8s;
}

/***************************************************************************
section012
***************************************************************************/

.s012-image-wrapper {
  position: relative;
  line-height: 0;
}

.s012-c001{
  width:100%;
  height:auto;
  position:relative;
  z-index:1;
}

.s012-c002 {
  position:absolute;
  z-index:2;
  opacity:0;
  top:0;
  left:0;
  transform: translateY(-30px);
  transition: opacity .75s ease-out, transform .75s ease-out;
}
.s012-c002.in-view {
  opacity:1;
  transform: translateY(0);
  transition-delay:.3s;
}

/***************************************************************************
section013
***************************************************************************/

.s013-image-wrapper {
  position: relative;
  line-height: 0;
}

.s013-c001 {
  position: relative;
  z-index: 1;
}

.s013-c002 {
  position:absolute;
  z-index:2;
  opacity:0;
  top:0;
  left:0;
  transform: translateY(-30px);
  transition: opacity .75s ease-out, transform .75s ease-out;
}
.s013-c002.in-view {
  opacity:1;
  transform: translateY(0);
  transition-delay:.3s;
}

.s013-c003 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  opacity: 0;
  transform: scale(.85);
  transform-origin: 30% 85%;    /* 中心基準で拡大縮小 */
}

.s013-c003.in-view {
  animation: s013-pop .7s ease-out .3s both;
}

@keyframes s013-pop {
  0%   { opacity: 0; transform: scale(.85); }
  60%  { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}

/***************************************************************************
section014
***************************************************************************/

.s014-image-wrapper {
  position: relative;
  line-height: 0;
}

.s014-c001 {
  position: relative;
  z-index: 1;
}

.s014-c002 {
  position:absolute;
  z-index:2;
  opacity:0;
  top:0;
  left:0;
  transform: translateY(-30px);
  transition: opacity .75s ease-out, transform .75s ease-out;
}
.s014-c002.in-view {
  opacity:1;
  transform: translateY(0);
  transition-delay:.3s;
}



/*point_beauty*/
.point_beauty1 {
  width: 65%;
  left: 20%;
  top: 5.5%;
}

.point_beauty2 {
  width: 77%;
  left: 12%;
  top: 16%;
}

.point_beauty3 {
  width: 69%;
  left: 16%;
  top: 32%;
}

.point_beauty4 {
  width: 100%;
  right: 3%;
  top: 39%;
}

.point_beauty5 {
  width: 36%;
  right: 57%;
  top: 44.5%;
}

.point_beauty6 {
  width: 76%;
  left: 12%;
  top: 79%;
}

/*point_ice*/
.point_ice1 {
  width: 23%;
  left: 39%;
  top: 6.3%;
}

.point_ice2 {
  width: 77%;
  right: 12%;
  top: 17%;
}

.point_ice3 {
  width: 84%;
  right: 8%;
  top: 37%;
}

.point_ice4 {
  width: 74%;
  right: 13%;
  top: 60.7%;
}

.point_ice5 {
  width: 66%;
  left: 18%;
  top: 75%;
}

.point_ice-img1 {
  width: 20%;
  left: 80%;
  top: 16%;
}

.point_ice-img2 {
  width: 23%;
  right: 77%;
  top: 37%;
}

.point_ice-img3 {
  width: 30%;
  left: 70%;
  top: 80%
}

/*point_facial*/
.point_facial1 {
  width: 50%;
  left: 26%;
  top: 5%;
}

.point_facial_bg {
  overflow: hidden;
}

.point_facial2 {
  width: 84%;
  right: 8%;
  top: 16.5%;
}

.point_facial3 {
  width: 80%;
  right: 17%;
  top: 37%;
}

.point_facial4 {
  width: 13%;
  left: 28%;
  top: 40%;
}

.point_facial5 {
  width: 13%;
  left: 43%;
  top: 44%;
}

.point_facial6 {
  width: 13%;
  left: 43%;
  top: 52%;
}

.point_facial7 {
  width: 75%;
  right: 13%;
  top: 64%;
}

.point_facial8 {
  width: 46%;
  left: 59%;
  top: 43%;
}

.point_facial9 {
  width: 70%;
  right: 15%;
  top: 87%;
}

.point_facial-img1 {
  width: 15%;
  left: 84.5%;
  top: 32%;
}

.point_facial-img2 {
  width: 15%;
  right: 85%;
  top: 86%;
}

/*point_easy*/
.point_easy1 {
  width: 36%;
  left: 33%;
  top: 5%;
}

.point_easy2 {
  width: 80%;
  right: 10%;
  top: 13.5%;
}

.point_easy3 {
  width: 85%;
  right: 8%;
  top: 31%;
}

.point_easy4 {
  width: 49%;
  left: 45%;
  top: 74%;
}

.point_easy5 {
  width: 44%;
  right: 48%;
  top: 79%;
}

.point_easy6 {
  width: 20%;
  left: 79%;
  top: 82%;
}

/*point_safty*/
.point_safty1 {
  width: 45%;
  left: 27%;
  top: 12.5%;
}

.point_safty2 {
  width: 80%;
  right: 10%;
  top: 22.5%;
}

.point_safty3 {
  width: 75%;
  right: 12%;
  top: 48%;
}

.point_safty4 {
  width: 75%;
  right: 12%;
  top: 82%;
}

/*point_feature*/
.point_feature1 {
  width: 33%;
  left: 33%;
  top: -1%;
}

.point_feature2 {
  width: 97%;
  right: 0%;
  top: 6%;
}

.point_feature3 {
  width: 101%;
  right: -1%;
  top: 32%;
}

.point_feature4 {
  width: 98%;
  right: 0%;
  top: 58%;
}

/*sales*/
.sales1 {
  width: 73%;
  right: 13%;
  top: 3%;
}

.sales2 {
  width: 94%;
  right: 3%;
  top: 13%;
}

.sales3 {
  width: 48.5%;
  left: 51.5%;
  top: 49%;
}

.sales4 {
  width: 48%;
  right: 52%;
  top: 49%;
}

/* 位置指定の共通クラス（award内で使ってる） */
.relative { position: relative; }
.absolute { position: absolute; }

/* award（実績オドメーター） */
p#odometer { margin: 0; }

div.countbox {
  position: absolute;
  top: 34%;
  left: 16.5%;
  overflow: hidden;
  box-sizing: border-box;
  text-align: center;
}

.countnum {
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  font-size: 18vw;
  color: #FFFFFF;
  letter-spacing: 0.01em;
  overflow: hidden;
}

@media screen and (min-width: 750px) {
  .countnum { font-size: 140px; }
}


/*global-award*/
.global-award_img {
  width: 100%;
  right: 0%;
  top: -5%;
}

.global-award1 {
  width: 97%;
  right: 2%;
  top: 41%;
}

.global-award2 {
  width: 90%;
  right: 5%;
  top: 68%;
}

/*voice*/
.voice_block {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
}

.voice_bg img {
  width: 100%;
  height: auto;
  display: block;
}

.voice_slider_container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  z-index: 2;
}

.voice_img_overlay {
  position: relative;
  width: 80%;
  margin: 10% auto;
}

.voice_slider {
  width: 90%;
  margin: 0 auto;
}

.voice_slider img {
  width: 93%;
  margin: 0px 18px;
}

.slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  list-style: none;
  padding: 0;
}

.slick-dots li {
  margin: 0 5px;
}

.slick-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  font-size: 0;
  box-sizing: content-box;
  padding: 0;
}

.slick-dots .slick-active button {
  background: #666;
}

.voice_arrow {
  position: absolute;
  top: 67%;
  z-index: 4;
  width: 40px;
  height: 40px;
}

.voice_arrow_left {
  left: 17px;
}

.voice_arrow_right {
  right: 17px;
}

@media (max-width: 480px) {
  .voice_img_overlay {
    margin: 28px auto;
    width: auto;
  }

  .voice_slider img {
    width: 100%;
    margin: 0 auto;
  }

  .voice_arrow {
    top: 70%;
    width: 40px;
    height: 40px;
  }

  .slick-dots {
    margin-top: 15px;
  }
}

/*step*/
.step1 {
  width: 60%;
  left: 22%;
  top: 6%;
}

.step2 {
  width: 80%;
  right: 11%;
  top: 25%;
}

.step3 {
  width: 80%;
  right: 11%;
  top: 63%;
}

/* ===== last_offer ブロック ===== */
.last_offer {
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;
}

.last_offer img {
  display: block;
  margin: 0 auto;
  width: 100%;
}

/* ===== ボタンを画像下部に被せる ===== */
.lastbtn {
  position: absolute;
  bottom: 59%;   /*画像下端からの位置。画像デザインに合わせて調整 */
  left: 50%;
  transform: translateX(-50%);
  width: 90%;          /* ボタン画像の横幅。必要に応じて調整 */
  animation: shakebtn 3s ease-in-out infinite;
}

.lastbtn a {
  display: block;
}

.lastbtn img {
  width: 100%;
  display: block;
}

/* ===== 定期ブルブルアニメーション ===== */
@keyframes shakebtn {
  0%,  60%, 100% { transform: translateX(-50%); }
  62%            { transform: translateX(calc(-50% - 5px)) rotate(-1.5deg); }
  64%            { transform: translateX(calc(-50% + 5px)) rotate( 1.5deg); }
  66%            { transform: translateX(calc(-50% - 4px)) rotate(-1deg); }
  68%            { transform: translateX(calc(-50% + 4px)) rotate( 1deg); }
  70%            { transform: translateX(calc(-50% - 3px)); }
  72%            { transform: translateX(calc(-50% + 3px)); }
  74%            { transform: translateX(calc(-50% - 2px)); }
  76%            { transform: translateX(calc(-50% + 2px)); }
  78%            { transform: translateX(-50%); }
}

:root {
  --ease-in-out: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.fadeup {
  -webkit-transform: translateY(5vw) scale(1);
  transform: translateY(5vw) scale(1);
  -webkit-transition-duration: .6s;
  transition-duration: .6s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: transform, opacity, filter;
  transition-property: transform, opacity, filter, -webkit-transform, -webkit-filter;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  opacity: 0;
  will-change: transform, opacity;
}

.fadeup.active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.delay01 {
  transition-delay: calc(0.15s * 1) !important;
  opacity: 0;
}

.delay02 {
  transition-delay: calc(0.15s * 2) !important;
  opacity: 0;
}

.delay03 {
  transition-delay: calc(0.15s * 3) !important;
  opacity: 0;
}

.delay04 {
  transition-delay: calc(0.15s * 4) !important;
  opacity: 0;
}

.delay05 {
  transition-delay: calc(0.15s * 5) !important;
  opacity: 0;
}

.delay06 {
  transition-delay: calc(0.15s * 6);
  opacity: 0;
}

.poyopoyo {
  animation: poyopoyo 1s infinite;
  display: block;
}



@keyframes poyopoyo {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}


/*fadeUpblur */
.fadeUpblur {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(10px);
  transition: opacity 0.6s var(--ease-in-out), filter 0.6s var(--ease-in-out),
    transform 0.6s var(--ease-in-out);
}

.active.fadeUpblur {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}



.reflection:after {
  content: "";
  height: 100%;
  width: 30px;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflection 3s ease-in-out infinite;
}

@keyframes reflection {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}


@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fadein-scale.active {
  opacity: 0;
  transform: scale(0.8);
  animation: fadeInScale 0.4s cubic-bezier(0.34, 1.56, 0.64, 1.26) forwards;
  animation-delay: 0.2s;
  will-change: opacity, transform;
}

/*------------------------------------
* PC,SP共通部分
*-------------------------------------*/
/* リセット */
body { margin: 0;}

#lp-form h1,
#lp-form h2,
#lp-form h3,
#lp-form h4,
#lp-form h5,
#lp-form h6,
#lp-form p,
#lp-form ul,
#lp-form ol,
#lp-form li,
#lp-form dl,
#lp-form dt,
#lp-form dd,
#lp-form blockquote {
  margin: 0;
}

#lp-form ul,
#lp-form ol {
  ist-style: none inside;
}

#lp-form img,
#lp-form a img {
  border: 0;
  vertical-align: middle;
}

#lp-form .clearfix {
  zoom: 1;
}

#lp-form .clearfix:after {
  clear: both;
  content: '';
  display: block;
}

#lp-form {
  font-size: 12px;
  line-height: 1.42857143;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333333;
}

#lp-form table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Form 項目と入力ボックス間の空白調節*/
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-13, .col-14, .col-15, .col-16, .col-17, .col-18, .col-19, .col-20, .col-21, .col-22, .col-23, .col-24 {
  float: left;
  position: relative;
  min-height: 1px;
}
.col-24 {width: 100%;}
.col-23 {width: 95.83333333%;}
.col-22 {width: 91.66666667%;}
.col-21 {width: 87.5%;}
.col-20 {width: 83.33333333%;}
.col-19 {width: 79.16666667%;}
.col-18 {width: 75%;}
.col-17 {width: 70.83333333%;}
.col-16 {width: 66.66666667%;}
.col-15 {width: 62.5%;}
.col-14 {width: 58.33333333%;}
.col-13 {width: 54.16666667%;}
.col-12 {width: 50%;}
.col-11 {width: 45.83333333%;}
.col-10 {width: 41.66666667%;}
.col-9 {width: 37.5%;}
.col-8 {width: 33.33333333%;}
.col-7 {width: 29.16666667%;}
.col-6 {width: 25%;}
.col-5 {width: 20.83333333%;}
.col-4 {width: 16.66666667%;}
.col-3 {width: 12.5%;}
.col-2 {width: 8.33333333%;}
.col-1 {width: 4.16666667%;}

/*------------------------------------
* PC部分
*-------------------------------------*/
/* 本フォーム全体  */
.form_container_ec {
  width: 940px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
  overflow: hidden;
}
.form_main_container_ec {
  font-size:12px;
  width: 100%;
  border-radius:3px
}
.landing_form_label_ec {
  padding: 15px;
}
/* フォームの項目名ラベル */
.form_box_label {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  color: #333;
  margin-bottom: 2%;
}
span.form_required_ec{
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
  float: right !important;
}
/* フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  width: 852px;
  margin: 0 auto;
}
/* フォーム一項目　項目名ラベルと入力ボックス */
.landing_form_ec tr {
  line-height: 18px;
  font-size: 14px;
}
/* フォーム左側　項目名ラベル */
.landing_form_ec th {
  text-align: left;
  vertical-align: top;
  padding: 13px 11px;
}
/* フォーム右側　入力ボックス */
.landing_form_ec td {
  width: 584px;
  padding: 13px 5px;
}
/* フォームトップメッセージ */
.login_message_ec,
.purchase_message_ec {
  font-weight: normal;
  font-size: 14px;
  padding:20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
/* エラーメッセージ背景 */
.alert-danger_ec {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert-success_ec {
  background-color: #DFF0D8;
  border-color: #d6e9c6;
  color: #468847;
}

.form_main_container_sp_ec .formError {
  width: 200px;
}

.form_main_container_ec .formError {
  width: 470px;
}

.formError .formErrorContent {
  width: 60%;
  font-size: 100%;
}

.alert_ec {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
p.caution_ec {
  padding-top:10px;
  font-size: 14px;
}
.optin_view_ec,
.agreement_view_ec,
.order_checklist_view_ec {
  margin-left: 4%;
  padding-top: 20px;
  position: relative;
}

.submit_ec {
  padding-top: 2%;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%;
  margin-left: auto;
  margin-right: auto;
}

#option_types {
  margin-top: 10px;
}

#option_types:empty {
  display: none;
}

.option_type{
  margin: 5px 0;
}

.option_type label {
  display: inline-block;
  width: 80px;
}

.form_group_ec {
  padding-left: 2%;
  padding-right: 2%;
  position: relative;
}
.form_main_container_ec div.form_group_ec input{
  padding: 10px 10px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form_main_container_ec div.form_group_ec input[type=checkbox]{
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_ec div.form_group_ec select{
  padding: 10px 10px;
  height: 40px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form_main_container_ec div.form_group_ec .disabled-input-ec {
  pointer-events: none;
  background-color: #ccc !important;
  opacity: 0.7;
}
input.input_box_ec { width:70%; }
select.input_box_product_ec { min-width:50%; }
p.input_product_ec { display:inline-block; }
input.input_box_name_ec { width:70%; }
input.input_box_name1_ec { width:70%; }
input.input_box_name2_ec { width:70%; }
input.input_box_kana_ec { width:70%; }
input.input_box_kana1_ec { width:70%; }
input.input_box_kana2_ec { width:70%; }
select.input_box_sex_ec { width: 25%; }
select.input_box_job_ec { width: 70%; }
select.input_box_birth_year_ec { width: 25%; }
select.input_box_birth_month_ec { width: 15%; }
select.input_box_birth_day_ec { width: 15%; }
input.input_box_zip1_ec { width: 50px; }
input.input_box_zip2_ec { width: 60px; }
select.input_box_pref_ec { width: 150px; }
input.input_box_addr1_ec { width: 70%; }
input.input_box_addr2_ec { width: 70%; }
input.input_box_addr3_ec { width: 70%; }
input.input_box_tel_ec { width: 70%; }
input.input_box_tel1_ec { width: 45px; }
input.input_box_tel2_ec { width: 45px; }
input.input_box_tel3_ec { width: 45px; }
input.input_box_fax_ec { width: 70%; }
input.input_box_fax1_ec { width: 45px; }
input.input_box_fax2_ec { width: 45px; }
input.input_box_fax3_ec { width: 45px; }
input.input_box_email_ec { width: 70%; }
input.input_box_email_confirm_ec { width: 70%; }
input.input_box_customer_number_ec { width: 70%; }
select.input_box_card_method_ec { width: 50%; }
select.input_box_card_times_ec { width: 15%; }
input.input_box_card_number_ec { width: 70%; }
select.input_box_card_month_ec { width: 15%; }
select.input_box_card_year_ec { width: 15%; }
input.input_box_card_name_ec { width: 70%; }
input.input_box_password_ec { width: 70%; }
input.input_box_password_confirm_ec { width: 70%; }

p.form_box_label_ec strong { font-weight: bold; }
p.form_box_label_ec label { font-weight: bold; }
div.form_group_ec p {}
div.form_group_ec span { font-weight: bold; }
div.scheduled_delivery_date_text_ec {
  font-size: 14px;
  line-height: 20px;
}

div.pre_ordered_delivery_description_text_ec {
  font-size: 14px;
  line-height: 20px;
}

.preview_container_ec > table th,
.preview_container_ec > table td {
  border: 1px solid #d0dcec;
}

.table_bordered_ec {
  border: 0px !important;
}

.table_ec {
  width: 100%;
  max-width: 100%;
}

.table_ec tr > .pull_right_ec {
  text-align: right;
}

.table_ec tr > th.product_name_ec {
  width: 60%;
}

.table_ec tr > th.product_price_ec {
  width: 15%;
}

.table_ec tr > th.product_quantity_ec {
  width: 10%;
}

.table_ec tr > th.product_pickup_available_date_ec {
  width: 15%;
}

.table_ec tr > th.product_sub_total_ec {
  width: 15%;
}

.total_color_ec {
  color: #ff0000;
  font-weight: bold;
}

.without_border_ec {
  border: none !important;
}

/* Paypal */
#paypal-button-container {
  width: 50%;
}

/* Amazon Pay */
.amazon_pay_box_ec {
  border: solid 1px #C3C3C3;
  margin: 10px;
  padding: 20px 0;
  text-align: center;
}

.amazon_pay_title_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 25px;
  color: #df1800;
  font-weight: bold;
}

.amazon_pay_subtitle_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 20px;
  color: #e6a300;
}

.amazon_pay_message_ec {
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}

.amazon_pay_not_use_message_ec {
  height: 32px;
  margin: 0 auto !important;
  padding: 0;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 15px;
  color: #e6a300;
}

.amazon_pay_button_all_ec {
  margin: 20px auto 20px;
  width: 300px;
}

.amazon_pay_button_wallet_ec {
  padding-top: 15px;
  margin-left: -25px;
}

.amazon_pay_button_wallet_ec input.billing_agreement_ec {
  visibility: hidden;
  font-size: 0px !important;
}

.address_book_widget_wrapper_ec {
  height: 228px;
}

.wallet_widget_wrapper_ec {
  height: 228px;
  width:417px;
  float:left;
  margin-right:6px;
}

.consent_widget_wrapper_ec {
  height:193px;
  width:417px;
  float:left;
  margin-top: 5px;
}

.consent_wrapper_ec {
  height: 30px;
  width: 405px;
  color: white;
  background: red;
  vertical-align: middle;
  display: table-cell;
  padding: 0 10px;
  border-radius: 5px;
  position: relative;
}

.consent_wrapper_ec > span.consent_message_ec {
  padding: 0 0 0 10px;
}

.consent_wrapper_ec > span.consent_mandatory_ec {
  float: right;
  background: white;
  color: red;
  padding: 0 4px;
}

.consent_wrapper_ec > input.consent_checkbox_ec {
  visibility: hidden;
}

/* AmazonPay popup >> */
.amazon_pay_popup_box_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99999;
}

.amazon_pay_popup_content_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 30%;
  max-height: 250px;
  padding: 20px;
  background: #ffffff;
}

.amazon_pay_popup_title_ec {
  font-size: 20px;
}

.amazon_pay_popup_close_ec {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  border-style: none;
  cursor: pointer;
}

.amazon_pay_popup_subtitle_ec {
  margin: 40px 0 30px;
  font-size: 18px;
}

.amazon_pay_popup_body_ec {
  margin: 20px auto 20px;
  width: 300px;
}
/* << AmazonPay popup */

.login_message_box_ec {
  width: 852px;
  margin: 20px auto 0px auto;
  border: solid 1px #C3C3C3;
}

p.login_message_wrapper_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}

/* Socialplus */
.socialplus_ec {
  margin: 0 0 10px 0;
  display: flex;
  flex-wrap: wrap;
  padding: 5px;
  justify-content: center;
}

.socialplus_ec .button-container {
  width: calc(33.3% - 10px);
  margin: 5px;
}

.socialplus_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 40px;
  padding-left: 40px;
  height: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.socialplus_ec .button-container .button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background-size: 100%;
}

.socialplus_ec .button-container .button:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: inline-block;
  width: 40px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.socialplus_ec .button-container .btn-facebook {
  background-color: #4267b2;
}

.socialplus_ec .button-container .btn-facebook:before {
  background-image: url("/assets/login-facebook-3e1626e3d5c7df61a277513295e7acb6cf9112c4df07db1b867c7641a7005492.png");
}

.socialplus_ec .button-container .btn-facebook:after {
  border-color: #8298cc;
}

.socialplus_ec .button-container .btn-twitter {
  background-color: #438dc4;
}

.socialplus_ec .button-container .btn-twitter:before {
  background-image: url("/assets/login-twitter-944a487f4746a5ce6557d56ae65421e8b71eaa7fda7a0f74a1bed6b86d345567.png");
}

.socialplus_ec .button-container .btn-twitter:after {
  border-color: #88BEEF;
}

.socialplus_ec .button-container .btn-google {
  background-color: #0056c7;
}

.socialplus_ec .button-container .btn-google:before {
  background-image: url("/assets/login-google-0119f2ac53e7fc66fe39b1e40fc4757c35ceab4bf28021ce0a81d45eee5d2360.png");
}

.socialplus_ec .button-container .btn-google:after {
  border-color: #4285f4;
}

.socialplus_ec .button-container .btn-gplus {
  background-color: #d04d40;
}

.socialplus_ec .button-container .btn-gplus:before {
  background-image: url("/assets/login-gplus-f2319e7179a28ad715384eb95ff7490c6ff1efa46a13c944022702b87ab4be07.png");
}

.socialplus_ec .button-container .btn-gplus:after {
  border-color: #cf837a;
}

.socialplus_ec .button-container .btn-mixi {
  background-color: #cba958;
}

.socialplus_ec .button-container .btn-mixi:before {
  background-image: url("/assets/login-mixi-99e3d6436ac6491642b1ed205a8f6ea2fbc7a349aea04474f1ae3477c27373f5.png");
}

.socialplus_ec .button-container .btn-mixi:after {
  border-color: #e6bc5c;
}

.socialplus_ec .button-container .btn-yahoo {
  background-color: #fe0032;
  border: 0.5px solid #f00;
}

.socialplus_ec .button-container .btn-yahoo:before {
  background-image: url("/assets/login-yahoo-ecc9e51a9724b036b6fd228bdef4855731ad44ae44b75fe1f4af7eb0f59684de.png");
}

.socialplus_ec .button-container .btn-yahoo:after {
  border-color: #fe0032;
}

.socialplus_ec .button-container .btn-rakuten {
  background-color: #b21d23;
}

.socialplus_ec .button-container .btn-rakuten:before {
  background-image: url("/assets/login-rakuten-8e21ab472f9e803e6d89857d15dd46768e21dc685f03156cfd96205df6773a66.png");
}

.socialplus_ec .button-container .btn-rakuten:after {
  border-color: #ae6164;
}

.socialplus_ec .button-container .btn-line {
  background-color: #31ae36;
}

.socialplus_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.socialplus_ec .button-container .btn-line:after {
  border-color: #70C053;
}

/* ecforce-payment */
.ecforce-payment-card-number,
.ecforce-payment-card-expiry,
.ecforce-payment-card-cvv {
  cursor: text !important;
  font-size: 12px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  width: 70% !important;
}
.ecforce-payment-card-number #card-number,
.ecforce-payment-card-expiry #card-expiry,
.ecforce-payment-card-cvv #card-cvv {
  padding: 10px 10px !important;
}

/* payjp */
.payjp-card-number,
.payjp-card-expiry,
.payjp-card-cvv {
  cursor: text !important;
  font-size: 12px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  width: 70% !important;
}
.payjp-card-number #card-number,
.payjp-card-expiry #card-expiry,
.payjp-card-cvv #card-cvv {
  padding: 10px 10px !important;
}

/* fincode */
.fincode-card-number,
.fincode-card-expiry,
.fincode-card-cvv {
  cursor: text !important;
  font-size: 12px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  width: 70% !important;
}
.fincode-card-number #card-number,
.fincode-card-expiry #card-expiry,
.fincode-card-cvv #card-cvv {
  padding: 10px 10px !important;
}

.toggle_text {
  display: none;
}

/* カスタム項目 */
.free_columns-section_ec input {
  width: 70%;
}
.free_columns-section_ec input[type=checkbox], .free_columns-section_ec input[type=radio] {
  width: auto;
  top: -2px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.free_columns-section_ec .checkbox-wrapper, .free_columns-section_ec .radio-wrapper {
  margin-top:5px
}
.free_columns-section_ec .checkbox-wrapper>label, .free_columns-section_ec .radio-wrapper>label {
  display: inline-block;
  margin-left: 2px;
  width: 93%;
}
.free_columns-section_ec .form_group_ec label {
  font-weight: normal;
}
.free_columns-section_ec textarea {
  width: 100%;
}
.free_columns-section_ec select {
  width: 70%;
}
.free_columns-section_ec select[multiple]{
  height: 100% !important;
}
.free_columns-section_ec .category-caption-wrapper {
  margin: 1.5em 0 0.8em 3em;
  padding: 1em 0em 1em 1em;
  font-size: 14px;
  font-weight: bold;
  border-left: 5px solid #203594;
  width: 852px;
}
.free_columns-section_ec .category-caption-text {
  display: inline-block;
  width: 90%;
}
.free_columns-section_ec tr.free_column_category-footer td{
  border-left: none;
  border-right: none;
}
.free_columns-section_ec .category-btn-wrapper {
  cursor:pointer ;
  font-size: 14px;
  display:inline-block;
  font-weight: bold;
  color: #010FEE;
  letter-spacing: 0.2em;
}
.free_columns-section_ec .category-btn-wrapper .category-btn:before {
  display:inline-block;
  margin-right: 0.4rem;
  width: 1.9rem;
  height: 1.9rem;
  background-color: #010FEE;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}
.free_columns-section_ec .category-btn-wrapper.category-minus .category-btn:before {
  content:'ー';
  letter-spacing: 0;
  line-height: 1.95rem;
}
.free_columns-section_ec .category-btn-wrapper.category-plus {
  margin: 0.7em 0 0.8em 2em;
  padding: 1em;
}
.free_columns-section_ec .category-btn-wrapper.category-plus .category-btn:before {
  content:'＋';
  letter-spacing: 0;
  line-height: 1.95rem;
  font-weight: bold;
}

/* 受注自由項目 */
.order_free_columns-section_ec input {
  width: 70%;
}
.order_free_columns-section_ec .form_group_ec label {
  font-weight: normal;
}

/* セット商品 */
.table_ec td.set_item_selected{
  padding-left: 28px;
}

/*------------------------------------
* スマートフォン部分
*-------------------------------------*/
.form_container_sp_ec {
  padding: 0;
  background-size: 100%;
  font-size: 16px;
  position: relative;
  overflow: hidden;
}
.landing_form_label_sp_ec {
  padding: 15px;
}
/* フォーム入力ボックスの基本 */
.form_main_container_sp_ec div.form_group_sp_ec input{
  padding: 8px 4px;
  line-height: 2.4;
  font-size: 16px;
  margin-left: auto;
  margin-right: auto;
}
.form_main_container_sp_ec div.form_group_sp_ec input[type=checkbox]{
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_sp_ec div.form_group_sp_ec select{
  height: 50px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
}
.form_group_sp_ec {
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 30px;
  padding-top: 15px;
  position: relative;
}
.form_main_container_sp_ec div.form_group_sp_ec .disabled-input-ec {
  pointer-events: none;
  color: #555;
  background-color: #ccc !important;
  border: 1px solid #cccccc;
  opacity: 0.7;
}
/* フォームトップメッセージ */
.login_message_sp_ec,
.purchase_message_sp_ec {
  font-weight: normal;
  font-size: 14px;
  padding:20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
/* エラーメッセージ背景 */
.alert-danger_sp_ec {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert-success_sp_ec {
  background-color: #DFF0D8;
  border-color: #d6e9c6;
  color: #468847;
}

.alert_sp_ec {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.form_main_container_sp_ec {
  width: 100%;
  border-radius:3px
}
span.form_required_sp_ec{
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
}
/* フォームの項目名ラベル */
.form_box_label_sp_ec {
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  margin-bottom: 2%;
}
select.input_box_sp_ec {
  padding: 10px;
  font-size: 14px;
  width: 100%;
  height: 50px;
}
input.input_box_sp_ec { width:98%; }
select.input_box_product_sp_ec { width:98%; }
select.input_box_quantity_sp_ec { width:98%; }
input.input_box_name_sp_ec { width:98%; }
input.input_box_name1_sp_ec { width:45%; }
input.input_box_name2_sp_ec { width:45%; }
input.input_box_kana_sp_ec { width:98%; }
input.input_box_kana1_sp_ec { width:45%; }
input.input_box_kana2_sp_ec { width:45%; }
select.input_box_sex_sp_ec { width:98%; }
select.input_box_job_sp_ec { width:98%; }
select.input_box_birth_year_sp_ec { width: 40%; }
select.input_box_birth_month_sp_ec { width: 25%; }
select.input_box_birth_day_sp_ec { width: 25%; }
input.input_box_zip1_sp_ec { width: 80px; }
input.input_box_zip2_sp_ec { width: 100px; }
select.input_box_pref_sp_ec { width:98%; }
input.input_box_addr1_sp_ec { width:98%; }
input.input_box_addr2_sp_ec { width:98%; }
input.input_box_addr3_sp_ec { width:98%; }
input.input_box_tel_sp_ec { width: 98%; }
input.input_box_tel1_sp_ec { width: 24%; }
input.input_box_tel2_sp_ec { width: 24%; }
input.input_box_tel3_sp_ec { width: 24%; }
input.input_box_fax_sp_ec { width: 98%; }
input.input_box_fax1_sp_ec { width: 24%; }
input.input_box_fax2_sp_ec { width: 24%; }
input.input_box_fax3_sp_ec { width: 24%; }
input.input_box_company_sp_ec { width: 98%; }
input.input_box_email_sp_ec { width:98%; }
input.input_box_email_confirm_sp_ec { width:98%; }
input.input_box_customer_number_sp_ec { width:98%; }
select.input_box_shipping_address_sp_ec { width:98%; }
select.input_box_wrapping_sp_ec { width:98%; }
select.input_box_card_method_sp_ec { width:98%; }
select.input_box_card_times_sp_ec { width:98%; }
input.input_box_card_number_sp_ec { width:98%; }
select.input_box_card_month_sp_ec { width: 25%; }
select.input_box_card_year_sp_ec { width: 25%; }
input.input_box_card_name_sp_ec { width:98%; }
select.input_box_container_payment_schedule_sp_ec { width:98%; }
input.input_box_password_sp_ec { width:98%; }
input.input_box_password_confirm_sp_ec { width:98%; }

p.form_box_label_sp_ec strong { font-weight: bold; }
p.form_box_label_sp_ec label { font-weight: bold; }
div.form_group_sp_ec p {}
div.form_group_sp_ec span { font-weight: bold; }
p.caution_sp_ec {
  padding-top:10px;
  font-size: 14px;
}
p.product_name_sp_ec {
  padding: 0 15px 0 15px;
  font-size: 16px;
}
div.scheduled_delivery_date_text_sp_ec {
  font-size: 14px;
  line-height: 20px;
  padding-left:15px;
  padding-right:15px;
}
.optin_view_sp_ec,
.agreement_view_sp_ec,
.order_checklist_view_sp_ec {
  margin-left: 4%;
  padding-top: 15px;
  position: relative;
}
.submit_sp_ec {
  padding-top: 2%;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%
  margin-left: auto;
  margin-right: auto;
}

.pre_ordered_delivery_description_text_sp_ec {
  font-size: 14px;
  line-height: 20px;
  padding-left:15px;
  padding-right:15px;
}

/* カスタム項目 */
.free_columns-section_sp_ec input {
  width: 98%;
}
.free_columns-section_sp_ec input[type=checkbox], .free_columns-section_sp_ec input[type=radio] {
  width: auto;
  top: -1px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.free_columns-section_sp_ec .checkbox-wrapper, .free_columns-section_sp_ec .radio-wrapper {
  margin-top:5px
}
.free_columns-section_sp_ec .checkbox-wrapper>label, .free_columns-section_sp_ec .radio-wrapper>label {
  display: inline-block;
  margin-left: 6px;
  width: 90%;
}
.free_columns-section_sp_ec .form_group_ec label {
  font-weight: normal;
}
.free_columns-section_sp_ec textarea {
  width: 100%;
}
.free_columns-section_sp_ec select {
  width: 98%;
}
.free_columns-section_sp_ec select[multiple]{
  height: 100% !important;
}
.free_columns-section_sp_ec .category-caption-wrapper {
  margin: 1em 0;
  padding: 1em 0em 1em 1em;
  font-size: 13px;
  font-weight: bold;
  border-left: 5px solid #203594;
}
.free_columns-section_sp_ec .category-caption-text {
  display: inline-block;
  width: 78%;
}
.free_columns-section_sp_ec tr.free_column_category-footer td{
  border-left: none;
  border-right: none;
}
.free_columns-section_sp_ec .category-btn-wrapper {
  cursor:pointer ;
  font-size: 14px;
  display:inline-block;
  font-weight: bold;
  color: #010FEE;
  letter-spacing: 0.2em;
}
.free_columns-section_sp_ec .category-btn-wrapper .category-btn:before {
  display:inline-block;
  margin-right: 0.4rem;
  width: 1.3rem;
  height: 1.3rem;
  background-color: #010FEE;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}
.free_columns-section_sp_ec .category-btn-wrapper.category-minus .category-btn:before {
  content:'ー';
  letter-spacing: 0;
  line-height: 1.35rem;
}
.free_columns-section_sp_ec .category-btn-wrapper.category-plus {
  padding: 1em;
}
.free_columns-section_sp_ec .category-btn-wrapper.category-plus .category-btn:before {
  content:'＋';
  letter-spacing: 0;
  line-height: 1.35rem;
  font-weight: bold;
}

/* 受注自由項目 */
.order_free_columns-section_sp_ec input {
  width: 98%;
}
.order_free_columns-section_sp_ec .form_group_sp_ec label {
  font-weight: normal;
}

/* セット商品 */
.table_sp_ec td.set_item_selected{
  padding-left: 28px;
}

/*------------------------------------
* PCデザイン可変部分
*-------------------------------------*/
/* 【PC】フォームの項目名ラベル内必須アイコン */
span.form_required_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
/* 【PC】フォームのセクションラベル */
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
/* 【PC】フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #FFF;
  border-bottom: 1px solid #999;
}
/* 【PC】フォーム左側　項目名ラベル */
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
/* 【PC】フォーム右側　入力ボックス */
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}
/* 【PC】購入ボタンのデザイン */
.login_button_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_login_btn-3545ead6f7c1f581390be8bada934a229cd580f4f4830b21c14803de789ad249.png") center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/* 【PC】購入ボタンのデザイン */
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png") center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/* 【PC】購入ボタンのデザイン */
.submit_button_complete_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_order_comp-6baf1ae5951cb6ca295e07a256d9d8ce2e646d315125a11207f4d833c9cca5d3.png") center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
/*------------------------------------
* スマートフォンデザイン可変部分
*-------------------------------------*/
/* 【SP】フォームの項目名ラベル内必須アイコン */
span.form_required_sp_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}

/* 【SP】フォームのセクションラベル */
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}

/* 【SP】フォームの項目名ラベル */
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
}

/* 【SP】ログインボタンのデザイン */
.login_button_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_login_btn-3545ead6f7c1f581390be8bada934a229cd580f4f4830b21c14803de789ad249.png") center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* 【SP】購入ボタンのデザイン */
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png") center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

.submit_button_complete_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_order_comp-6baf1ae5951cb6ca295e07a256d9d8ce2e646d315125a11207f4d833c9cca5d3.png") center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

.preview_container_sp_ec > table {
  width: 100%;
}

.preview_container_sp_ec > table th {
  background: #cadefc;
}

.preview_container_sp_ec > table,
.preview_container_sp_ec > table tr,
.preview_container_sp_ec > table th,
.preview_container_sp_ec > table td {
  border: 1px solid #C3C3C3;
}

.table_bordered_sp_ec {
  border: 0px !important;
}

.table_sp_ec {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.table_sp_ec > thead > tr > th,
.table_sp_ec > tbody > tr > th,
.table_sp_ec > tfoot > tr > th,
.table_sp_ec > thead > tr > td,
.table_sp_ec > tbody > tr > td,
.table_sp_ec > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

.table_bordered_sp_ec > thead > tr > th,
.table_bordered_sp_ec > tbody > tr > th,
.table_bordered_sp_ec > tfoot > tr > th,
.table_bordered_sp_ec > thead > tr > td,
.table_bordered_sp_ec > tbody > tr > td,
.table_bordered_sp_ec > tfoot > tr > td {
  border: 1px solid #ddd;
}

.table_sp_ec tr > th {
  border-top: 0px;
  background: #F0F0F0;
  font-size: 10px;
}

.table_sp_ec tr > th,
.table_sp_ec tr > td {
  font-size: 12px;
}

.table_bordered_sp_ec tr > th,
.table_bordered_sp_ec tr > td {
  border: 1px solid #e5e5e5 !important;
}

.table_sp_ec th,
.table_sp_ec td {
  vertical-align: middle !important;
  line-height: 20px !important;
  border-top: 1px solid #e5e5e5 !important;
}

.total_color_sp_ec {
  color: #ff0000;
  font-weight: bold;
  border-bottom: 1px solid #eee;
}

/* Amazon Pay */
.amazon_pay_box_sp_ec {
  border: solid 3px #C3C3C3;
  margin: 10px auto;
  padding: 20px 0;
  text-align: center;
}

.amazon_pay_title_sp_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 18px;
  color: #df1800;
  font-weight: bold;
}

.amazon_pay_subtitle_sp_ec {
  margin: 0 auto 10px auto !important;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 15px;
  color: #e6a300;
}

.amazon_pay_message_sp_ec {
  margin: 0 10px;
  font-weight: bold;
  text-align: center;
}

.amazon_pay_not_use_message_sp_ec {
  margin: 0 10px !important;
  padding: 0 0 10px 0;
  text-align: center;
  font-size: 12px;
  color: #e6a300;
}

.amazon_pay_button_all_sp_ec {
  margin: 20px auto 20px;
  width: 300px;
}

.amazon_pay_button_wallet_sp_ec {
  padding-top: 15px;
  margin-left: -15px;
}

.amazon_pay_button_wallet_sp_ec input.billing_agreement_sp_ec {
  visibility: hidden;
  font-size: 0px !important;
}

.address_book_widget_wrapper_sp_ec,
.wallet_widget_wrapper_sp_ec,
.consent_widget_wrapper_sp_ec {
}

.address_book_widget_wrapper_sp_ec,
.wallet_widget_wrapper_sp_ec,
.consent_widget_wrapper_sp_ec {
}

.consent_wrapper_sp_ec {
  height: 30px;
  color: white;
  background: red;
  padding-top: 5px;
  margin: 10px 0;
}

.consent_wrapper_sp_ec > span.consent_message_sp_ec {
  padding: 0 0 0 10px;
}

.consent_wrapper_sp_ec > span.consent_mandatory_sp_ec {
  float: right;
  background: white;
  color: red;
  padding: 2px 8px;
  margin: 2px 10px;
}

.consent_wrapper_sp_ec > input.consent_checkbox_sp_ec {
  visibility: hidden;
}

/* AmazonPay popup >> */
.amazon_pay_popup_box_sp_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99999;
}

.amazon_pay_popup_content_sp_ec {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 250px;
  padding: 20px;
  background: #ffffff;
}

.amazon_pay_popup_title_sp_ec {
  font-size: 20px;
}

.amazon_pay_popup_close_sp_ec {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  border-style: none;
  cursor: pointer;
}

.amazon_pay_popup_subtitle_sp_ec {
  margin: 40px 0 30px;
  font-size: 15px;
}

.amazon_pay_popup_body_sp_ec {
  margin: 20px auto 20px;
  width: 300px;
}
/* << AmazonPay popup */

.login_message_box_sp_ec {
  width: 100%;
  margin: 0 auto;
  border: solid 1px #d0dcec;
}

p.login_message_wrapper_sp_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}

/* Socialplus */
.socialplus_sp_ec {
  margin: 0 0 20px 0;
  overflow: hidden;
}

.socialplus_sp_ec .button-container {
  width: 100%;
  float: left;
  padding: 10px 10px 0;
  box-sizing: border-box;
}

.socialplus_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 20px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.socialplus_sp_ec .button-container .button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.socialplus_sp_ec .button-container .button:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.socialplus_sp_ec .button-container .btn-facebook {
  background-color: #4267b2;
}

.socialplus_sp_ec .button-container .btn-facebook:before {
  background-image: url("/assets/login-facebook-3e1626e3d5c7df61a277513295e7acb6cf9112c4df07db1b867c7641a7005492.png");
}

.socialplus_sp_ec .button-container .btn-facebook:after {
  border-color: #8298cc;
}

.socialplus_sp_ec .button-container .btn-twitter {
  background-color: #438dc4;
}

.socialplus_sp_ec .button-container .btn-twitter:before {
  background-image: url("/assets/login-twitter-944a487f4746a5ce6557d56ae65421e8b71eaa7fda7a0f74a1bed6b86d345567.png");
}

.socialplus_sp_ec .button-container .btn-twitter:after {
  border-color: #88BEEF;
}

.socialplus_sp_ec .button-container .btn-google {
  background-color: #0056c7;
}

.socialplus_sp_ec .button-container .btn-google:before {
  background-image: url("/assets/login-google-0119f2ac53e7fc66fe39b1e40fc4757c35ceab4bf28021ce0a81d45eee5d2360.png");
}

.socialplus_sp_ec .button-container .btn-google:after {
  border-color: #4285f4;
}

.socialplus_sp_ec .button-container .btn-gplus {
  background-color: #d04d40;
}

.socialplus_sp_ec .button-container .btn-gplus:before {
  background-image: url("/assets/login-gplus-f2319e7179a28ad715384eb95ff7490c6ff1efa46a13c944022702b87ab4be07.png");
}

.socialplus_sp_ec .button-container .btn-gplus:after {
  border-color: #cf837a;
}

.socialplus_sp_ec .button-container .btn-mixi {
  background-color: #cba958;
}

.socialplus_sp_ec .button-container .btn-mixi:before {
  background-image: url("/assets/login-mixi-99e3d6436ac6491642b1ed205a8f6ea2fbc7a349aea04474f1ae3477c27373f5.png");
}

.socialplus_sp_ec .button-container .btn-mixi:after {
  border-color: #e6bc5c;
}

.socialplus_sp_ec .button-container .btn-yahoo {
  background-color: #fe0032;
  border: 0.5px solid #f00;
}

.socialplus_sp_ec .button-container .btn-yahoo:before {
  background-image: url("/assets/login-yahoo-ecc9e51a9724b036b6fd228bdef4855731ad44ae44b75fe1f4af7eb0f59684de.png");
}

.socialplus_sp_ec .button-container .btn-yahoo:after {
  border-color: #fe0032;
}

.socialplus_sp_ec .button-container .btn-rakuten {
  background-color: #b21d23;
}

.socialplus_sp_ec .button-container .btn-rakuten:before {
  background-image: url("/assets/login-rakuten-8e21ab472f9e803e6d89857d15dd46768e21dc685f03156cfd96205df6773a66.png");
}

.socialplus_sp_ec .button-container .btn-rakuten:after {
  border-color: #ae6164;
}

.socialplus_sp_ec .button-container .btn-line {
  background-color: #31ae36;
}

.socialplus_sp_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.socialplus_sp_ec .button-container .btn-line:after {
  border-color: #70C053;
}

/* LINE ID 連携 */

.line_ec {
}

.line_ec .button-container.w100 {
  width: 100%;
}

.line_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.line_ec .button-container .button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.line_ec .button-container .button:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

@media screen and (min-width: 480px) {
  .line_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .line_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .line_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }

  .line_ec .button-container .button:before {
    width: 40px;
    height: 40px;
  }

  .line_ec .button-container .button:after {
    width: 40px;
  }
}

.line_ec .button-container .btn-line {
  background-color: #31ae36;
}

.line_ec .button-container .btn-line:before {
  background-image: image_url('login-line.png');
}

.line_ec .button-container .btn-line:after {
  border-color: #70C053;
}

.line_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.line_sp_ec {
}

.line_sp_ec .button-container.w100 {
  width: 100%;
}

.line_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}

.line_sp_ec .button-container .button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}

.line_sp_ec .button-container .button:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}

.line_sp_ec .button-container .btn-line:before {
  background-image: url("/assets/login-line-ed8c51d83aae2ebc670a6fdc20afa7dc93ab3205464e89d999349f49f53659c0.png");
}

.form_container_sp_ec .line_alert_sp_ec {
  font-size: 12px;
  padding: 0px;
}

.line_alert_sp_ec {
  margin: 10px;
}

@media screen and (min-width: 480px) {
  .line_sp_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .line_sp_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .line_sp_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }

  .line_sp_ec .button-container .button:before {
    width: 40px;
    height: 40px;
  }

  .line_sp_ec .button-container .button:after {
    width: 40px;
  }
}

.line_sp_ec .button-container .btn-line {
  background-color: #31ae36;
}

.line_sp_ec .button-container .btn-line:before {
  background-image: image_url('login-line.png');
}

.line_sp_ec .button-container .btn-line:after {
  border-color: #70C053;
  margin: 10px;
  width: 95%;
}

#popup_required_field_check.pc {
  z-index: 99999;
  width: 275px !important;
  float: right;
  padding: 20px;
  font-size: 18px;
  font-weight: bold;
  color: white;
  position: fixed;
  top: 25px;
  right: 25px;
  display: none;
}

#popup_required_field_check.sp {
  z-index: 99999;
  width: 100% !important;
  padding: 10px 0;
  font-size: 18px;
  font-weight: bold;
  color: white;
  position: fixed;
  top: 0;
  display: none;
  text-align: center;
}

#popup_required_field_check.required_field_exists {
  background: rgba(242, 133, 12, 0.8);
}

#popup_required_field_check.required_field_not_exists {
  background: rgba(4, 162, 34, 0.8)
}

.input_required_ec {
  background-color: rgba(242, 133, 12, 0.2) !important;
}

.hide {
  display: none !important;
}
/* 認証基盤 連携 */

.auth_infra_ec {
}

.auth_infra_ec .button-container.w100 {
  width: 100%;
}

.auth_infra_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
  margin-top: 10px;
  cursor: pointer;
}

#auth_infra_button_name::before {
  content: '認証基盤でログイン';
}

@media screen and (min-width: 480px) {
  .auth_infra_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .auth_infra_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .auth_infra_ec .button-container .button {
    line-height: 40px;
    height: 40px;
  }
}

.auth_infra_ec .button-container .btn-auth_infra {
  background-color: #2780E3;
}

.auth_infra_sp_ec {
}

.auth_infra_sp_ec .button-container.w100 {
  width: 100%;
}

.auth_infra_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
  margin-top: 10px;
}

@media screen and (min-width: 480px) {
  .auth_infra_sp_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .auth_infra_sp_ec .button-container {
    width: calc(33.3% - 10px);
    margin: 5px;
  }

  .auth_infra_sp_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }
}

.auth_infra_sp_ec .button-container .btn-auth_infra {
  background-color: #2780E3;
}


/*-------------------------------------*
 * PCデザイン可変部分
 *-------------------------------------*/
/* 【PC】フォームの項目名ラベル内必須アイコン */
span.form_required_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
/* 【PC】フォームのセクションラベル */
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
/* 【PC】フォーム入力ボックス内の基本デザイン */
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #FFF;
  border-bottom: 1px solid #999;
}
/* 【PC】フォーム左側　項目名ラベル */
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
/* 【PC】フォーム右側　入力ボックス */
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}

/* 【PC】購入ボタンのデザイン */
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*-------------------------------------*
 * スマートフォンデザイン可変部分
 *-------------------------------------*/
/* 【SP】フォームの項目名ラベル内必須アイコン */
span.form_required_sp_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}

/* 【SP】フォームのセクションラベル */
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}

/* 【SP】フォームの項目名ラベル */
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
}

/* 【SP】購入ボタンのデザイン */
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*-------------------------------------*
 *footer
 *-------------------------------------*/

.footer_container_fluid {
  width: 100%;
  background: #e3e3e3;
  margin: auto;
}

.footer_container {
  margin-left: auto;
  margin-right: auto;
  width: 750px;
}

.footer_container {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.footer_container ul {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.footer_container li {
  list-style: none;
  margin: 0 10px 0 0;
  float: left;
}

.footer_container li:last-child {
  margin: 0;
}

.footer_container li a {
  text-decoration: none;
  font-size: 10px;
  color: #3e3e3e;
}

.copyright {
  width: 100%;
  background: #e3e3e3;
  margin: auto;
  color: #3e3e3e;
  font-size: 10px;
  text-align: center;
}

/*-------------------------------------*
 *header　キャンペーン終了まで
 *-------------------------------------*/

/* ========== 共通設定 ========== */
.offer-block {
  position: relative; /* ← 絶対必要！画像との重なり基準にする */
}

.offer-img {
  width: 100%;
  display: block;
}

/* ========== PC表示用（768px以上） ========== */
.countdown-text {
  position: absolute;
  top: 6%; /* ← 画像の中にバランスよく重なる */
  left: 50%;
  transform: translateX(-50%);
  background-color: #ff0;
  border-radius: 12px;
  padding: 6px 14px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.countdown-text .label {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  line-height: 1;
}

.countdown-text .number {
  font-size: 30px;
  font-weight: 700;
  color: #d90000;
  line-height: 1;
}

/* ========== スマホ表示用（750px以下） ========== */
@media screen and (max-width: 750px) {
  .countdown-text {
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 6px;
    border-radius: 6px;
    background-color: #ff0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 90vw;
    z-index: 10;
  }

  .countdown-text .label {
    font-size: 10px;
    font-weight: 500;
    color: #333;
    line-height: 1;
  }

  .countdown-text .number {
    font-size: 13px;
    font-weight: 700;
    color: #d90000;
    line-height: 1;
  }
}


/* =========================================================
[追加 2026/10] CVR改善パーツ（x- 接頭辞で既存と衝突しない）
LPのトンマナ：グレー地＋白カード／黒の極太ゴシック／ピンク〜ラベンダーのグラデ／枠付きラベル
========================================================= */
.x-movie,.x-sec,.x-faq{--x-pk:#e8467c;--x-pk2:#f29ab8;--x-lv:#9d8cf2;--x-bd:#dfc3ed;--x-ink:#1a1a1a;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--x-ink);line-height:1.7;text-align:center}
.x-movie img,.x-sec img{display:block;width:100%;height:auto}
.x-note{font-size:max(10px,1.6vw);color:#888;line-height:1.5;margin:3vw 2% 0;text-align:left}
.x-note--w{color:rgba(255,255,255,.9)}
@media (min-width:750px){.x-note{font-size:11px;margin:22px 2% 0}}
.x-label{display:inline-block;margin:0 0 4%;padding:.3em 1.1em;border:2px solid var(--x-ink);background:#fff;font-weight:700;font-size:min(4.4vw,32px);line-height:1.4;letter-spacing:.04em}
.x-label--pk{border-color:var(--x-pk);color:var(--x-pk);font-weight:500;margin-top:10%}
.x-label--w{border-color:#fff;color:#fff;background:transparent}

/* --- FV直下 動画（FV下部のグラデを引き継ぐ） --- */
.x-movie{background:linear-gradient(135deg,#8f80f0 0%,#c59ce2 55%,#f0a4c8 100%);padding:7% 5% 6%}
.x-movie__frame{position:relative;border:5px solid #fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(90,60,150,.25)}
.x-movie__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(40,20,60,.55));pointer-events:none}
.x-movie__frame--baked::after{display:none}
.x-beauty__media .x-noKb{animation:none!important;transform:none!important}
.x-movie__cap{position:absolute;left:0;right:0;bottom:6%;z-index:2;height:1.6em;font-weight:900;font-size:min(5.6vw,40px);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:.04em}
.x-movie__cap span{position:absolute;left:0;right:0;opacity:0;animation:xCap 10.8s infinite}
.x-movie__cap span:nth-child(2){animation-delay:3.6s}
.x-movie__cap span:nth-child(3){animation-delay:7.2s}
@keyframes xCap{0%{opacity:0;transform:translateY(8px)}4%,28%{opacity:1;transform:none}33%,100%{opacity:0;transform:translateY(-6px)}}
.x-badges{display:flex;gap:2.6%;list-style:none;margin:5% 0 0;padding:0}
.x-badges li{flex:1;background:#fff;border:5px solid var(--x-bd);border-radius:16px;padding:3% 1% 3.4%;font-size:min(3.7vw,26px);font-weight:700;line-height:1.35}
.x-badges li small{display:block;width:80%;margin:0 auto 6%;padding-bottom:4%;border-bottom:2px solid #f24b83;color:var(--x-pk);font-size:min(2.9vw,20px);font-weight:500}

/* --- セクション共通（グレー地＋白カード） --- */
.x-sec{background:#f0f0f0;padding:6% 4% 8%}
.x-en{margin:0 0 -5%;font:600 min(17vw,124px)/1 "Oswald","Arial Narrow",sans-serif;letter-spacing:.02em;background:linear-gradient(90deg,#b9b0f6,#f5b8d2);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;z-index:2;pointer-events:none}
.x-card{position:relative;z-index:1;background:#fff;padding:9% 5% 7%}
.x-h2{font-size:min(7.6vw,54px);line-height:1.4;font-weight:900;margin:0 0 5%;letter-spacing:.03em}
.x-h2 em{font-style:normal;color:var(--x-pk);background:linear-gradient(transparent 68%,#fde1eb 68%)}
.x-lead{font-size:min(3.9vw,27px);font-weight:500;margin:0 0 6%}
.x-lead b{color:var(--x-pk)}

/* --- 1台2役 --- */
.x-beauty__media{border-radius:16px;overflow:hidden}
.x-two{display:flex;align-items:center;gap:2%;margin-top:6%}
.x-two__item{flex:1;background:#fff;border:5px solid var(--x-bd);border-radius:16px;padding:5% 2%}
.x-two__sub{margin:0;font:500 min(3.6vw,26px)/1 "Oswald",sans-serif;letter-spacing:.08em;background:linear-gradient(90deg,var(--x-lv),var(--x-pk2));-webkit-background-clip:text;background-clip:text;color:transparent}
.x-two__ttl{font-size:min(5vw,36px);font-weight:900;margin:3% 0}
.x-two__txt{font-size:min(3vw,21px);margin:0;line-height:1.55}
.x-two__plus{font-size:min(7vw,48px);font-weight:900;color:var(--x-pk)}
.x-cmp table{width:100%;border-collapse:separate;border-spacing:0;font-size:min(3.4vw,24px);border:3px solid var(--x-bd);border-radius:14px;overflow:hidden}
.x-cmp th,.x-cmp td{padding:3.2% 2%;border-bottom:1px solid #ececec;line-height:1.35;font-weight:700}
.x-cmp thead th{background:#e6e6e6;font-size:min(3.2vw,22px);color:#555}
.x-cmp thead th:first-child{background:#fff}
.x-cmp thead th.x-cmp__me{background:linear-gradient(90deg,var(--x-lv),var(--x-pk2));color:#fff;font-size:min(3.6vw,25px)}
.x-cmp tbody th{text-align:left;width:30%}
.x-cmp td{color:#888;font-weight:500}
.x-cmp td.x-cmp__me{background:#fff3f7;color:var(--x-pk);font-size:min(3.8vw,27px);font-weight:900}
.x-cmp td.x-cmp__me small{display:block;font-size:min(2.8vw,19px);font-weight:700}
.x-cmp tbody tr:last-child th,.x-cmp tbody tr:last-child td{border-bottom:0}

/* --- 口コミ --- */
.x-score{font-size:min(3.6vw,25px);margin:0 0 6%;line-height:1.9;font-weight:500}
.x-score span{display:block}
.x-score b{color:var(--x-pk);font-size:1.25em}
.x-score small{color:#888}
.x-rv{display:flex;gap:4%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -4%;padding:0 4% 4%;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.x-rv::-webkit-scrollbar{display:none}
.x-rv__card{flex:0 0 78%;scroll-snap-align:center;text-align:left;background:#fff;border:5px solid var(--x-bd);border-radius:16px;padding:5% 5% 4%}
.x-rv__star{color:var(--x-pk);letter-spacing:.1em;margin:0;font-size:min(4vw,28px)}
.x-rv__ttl{font-weight:900;font-size:min(4.4vw,31px);margin:1% 0 2%}
.x-rv__txt{font-size:min(3.5vw,25px);margin:0 0 3%}
.x-rv__who{font-size:min(2.9vw,20px);color:#888;margin:0}
.x-swipe{font-size:min(3vw,20px);color:var(--x-pk);margin:0;letter-spacing:.1em}

/* --- FAQ先出し（既存FAQ画像と同じ見た目） --- */
.x-faq{margin:0;text-align:left}
.x-faq__qq{margin:0;background:#4f4f4f;color:#fff;font-weight:700;font-size:min(4vw,28px);line-height:1.5;padding:3.2% 5%;display:flex;gap:3%;letter-spacing:.04em}
.x-faq__qq span,.x-faq__a span{flex:0 0 auto;font:700 1.35em/1.1 "Oswald","Arial Narrow",sans-serif;transform:scaleY(1.15)}
.x-faq__qq span{color:#f9c6d3}
.x-faq__a{display:flex;gap:3%;padding:5% 5% 7%;font-size:min(3.6vw,25px);color:#3e3e3e;letter-spacing:.04em;background:#fff}
.x-faq__a span{color:#e94a7f}
.x-faq__a p{margin:0}
.x-faq__a b{color:#e94a7f}
.x-faq__a small{color:#888}

/* --- 出現モーション（既存 .m-on と同じ動き） --- */
.m-on .x-js{opacity:0;transform:translate3d(0,5vw,0);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.m-on .x-js.m-in{opacity:1;transform:none}

/* --- 静止画の動画化（写真ブロックに常時ゆっくりズーム＆パン） --- */
@keyframes xKb{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}
.m-on .x-kb{overflow:hidden}
.m-on .x-kb > img,.m-on .x-kb.m-curtain.m-in img{animation:xKb 9s ease-in-out infinite alternate}
/* 光が走る（オファー画像） */
.m-on .x-shine{position:relative;overflow:hidden}
.m-on .x-shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));transform:skewX(-18deg);animation:xShine 4.5s ease-in-out infinite;pointer-events:none}
@keyframes xShine{0%,55%{left:-60%}85%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){.x-movie__cap span{animation:none}.x-movie__cap span:first-child{opacity:1}.m-on .x-kb img,.m-on .x-shine::after{animation:none!important}}

/* [追加 2026/10] FV特長ボックス差し替え */
.fv .x-fvbox{position:absolute;top:74.364%;width:30.267%;height:auto;z-index:1}
.fv .x-fvbox2{left:35.067%}
.fv .x-fvbox3{left:65.867%}
/* [追加 2026/10] ラストオファーのボタン：画像基準で配置（FAQ追加で位置がずれないように） */
.x-lo{position:relative}
.x-lo .lastbtn{bottom:auto;top:74.9%}

/* [追加 2026/10] 重複コンテンツを非表示（HTMLは残しているので、この3行を消せば元に戻ります） */
.sales_bg{display:none!important}            /* 361万台：FV・JOVS紹介と3回目の重複 */
section.s013{display:none!important}         /* 11冠＋第7位：直前の13冠と重複・冠数が不一致 */
section.main__award{display:none!important}  /* 11冠オドメーター：同上 */

/* [追加 2026/10] 口コミ：2 IN 1と同じく白カード内に配置 */
.x-review .x-rv{margin:0 -5%;padding:0 5% 4%}


/* ===== [修正 2026/10/14] FV：iPhone Safariで「ツヤ肌へ。」が表示されない対策／頬の白いにじみ対策 ===== */
@keyframes nxChX{from{opacity:0;transform:translateY(-.35em)}to{opacity:1;transform:none}}
.nx-fv__copy .xl .nx-ch{background:none !important;-webkit-background-clip:border-box !important;background-clip:border-box !important;color:#4a3626 !important;-webkit-text-fill-color:#4a3626 !important;filter:none !important;text-shadow:0 1px 0 rgba(231,207,159,.6);animation:nxChX .9s cubic-bezier(.2,.7,.2,1) calc(var(--i)*80ms + .5s) forwards !important;}
.nx-fv .nx-spark{display:none !important;}


/* HTML内から移設したデザインCSS（順序保持） */

.nx{--u:min(1vw,7.5px);--ink:#2b2522;--champ:#f7f0e7;--beige:#ead8c4;--gold:#b8925a;--gold2:#e7cf9f;--emer:#0e3f36;--emer2:#165c4e;--rose:#d9718a;--ice:#5fb7c6;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);position:relative;overflow:hidden;line-height:1.6;letter-spacing:.04em}
.nx *,.nx *::before,.nx *::after{box-sizing:border-box}
.nx img{display:block;max-width:none;height:auto}
.nx h1,.nx h2,.nx h3,.nx p{margin:0;padding:0;font-weight:inherit}
.nx .mincho{font-family:"Shippori Mincho B1","Yu Mincho",serif}
.nx .serif-en{font-family:"Cormorant Garamond",serif}
.nx sup{font-size:.45em;vertical-align:super;letter-spacing:0}
.nx [data-nx-in]{opacity:0;transform:translateY(calc(var(--u)*4));transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.nx [data-nx-in].is-in{opacity:1;transform:none}
.nx-fv{position:relative;height:calc(var(--u)*112);background:radial-gradient(120% 80% at 70% 20%,#fffaf3 0%,#f5ebdf 45%,#e8d6c2 100%)}
.nx-orb{position:absolute;border-radius:50%;filter:blur(calc(var(--u)*5));opacity:.75;animation:nxOrb 14s ease-in-out infinite alternate}
.nx-orb.o1{width:calc(var(--u)*55);height:calc(var(--u)*55);left:calc(var(--u)*-15);top:calc(var(--u)*-10);background:radial-gradient(circle,#ffffff 0%,rgba(255,255,255,0) 70%)}
.nx-orb.o2{width:calc(var(--u)*45);height:calc(var(--u)*45);right:calc(var(--u)*-12);top:calc(var(--u)*40);background:radial-gradient(circle,rgba(231,207,159,.85) 0%,rgba(231,207,159,0) 70%);animation-duration:18s}
.nx-orb.o3{width:calc(var(--u)*40);height:calc(var(--u)*40);left:calc(var(--u)*10);top:calc(var(--u)*70);background:radial-gradient(circle,rgba(240,190,200,.6) 0%,rgba(240,190,200,0) 70%);animation-duration:16s}
@keyframes nxOrb{to{transform:translate(calc(var(--u)*8),calc(var(--u)*6)) scale(1.15)}}
.nx-fv__word{position:absolute;left:0;top:calc(var(--u)*56);white-space:nowrap;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:calc(var(--u)*40);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(184,146,90,.3);animation:nxDrift 26s linear infinite;pointer-events:none}
@keyframes nxDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.nx-fv__brand{position:absolute;left:calc(var(--u)*5);top:calc(var(--u)*4.5);display:flex;align-items:center;gap:calc(var(--u)*2);font-size:calc(var(--u)*2.6);letter-spacing:.2em;color:#6b5a48;z-index:5}
.nx-fv__brand b{font-family:"Cormorant Garamond",serif;font-size:calc(var(--u)*4.2);font-weight:600;letter-spacing:.12em;color:var(--emer)}
.nx-fv__brand i{display:block;width:calc(var(--u)*8);height:1px;background:var(--gold)}
.nx-fv__model{position:absolute;left:calc(var(--u)*16);top:calc(var(--u)*7);width:calc(var(--u)*90) !important;z-index:2;animation:nxRise 1.8s cubic-bezier(.2,.7,.2,1) both,nxBreath 9s ease-in-out 1.8s infinite alternate;transform-origin:60% 30%}
@keyframes nxRise{from{opacity:0;transform:translateY(calc(var(--u)*3)) scale(1.05);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes nxBreath{to{transform:scale(1.025)}}
.nx-fv__sweep{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 60%);background-size:250% 100%;mix-blend-mode:soft-light;animation:nxSweep 7s ease-in-out 2s infinite}
@keyframes nxSweep{0%{background-position:120% 0}45%,100%{background-position:-60% 0}}
.nx-fv__flash{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(60% 45% at 78% 70%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%);opacity:0;animation:nxFlash 3.2s ease-out 2.4s infinite}
@keyframes nxFlash{0%,100%{opacity:0}6%{opacity:.55}22%{opacity:0}}
.nx-fv__prod{position:absolute;right:calc(var(--u)*2);top:calc(var(--u)*55);width:calc(var(--u)*33);z-index:6;animation:nxFloat 5.5s ease-in-out infinite}
.nx-fv__prod img{width:100% !important;filter:drop-shadow(0 calc(var(--u)*2.5) calc(var(--u)*3) rgba(70,45,20,.28))}
@keyframes nxFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(calc(var(--u)*-2)) rotate(-2deg)}}
.nx-pulse{position:absolute;width:calc(var(--u)*10);height:calc(var(--u)*10);margin:calc(var(--u)*-5) 0 0 calc(var(--u)*-5);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,248,225,.7) 35%,rgba(255,255,255,0) 70%);mix-blend-mode:screen;opacity:0;animation:nxPulse 3.2s ease-out 2.4s infinite}
.nx-pulse.p1{left:30%;top:6%}.nx-pulse.p2{left:80%;top:22%;animation-delay:2.55s}
@keyframes nxPulse{0%{opacity:0;transform:scale(.2)}6%{opacity:1;transform:scale(1)}35%{opacity:0;transform:scale(2.6)}100%{opacity:0}}
.nx-fv__copy{position:absolute;left:calc(var(--u)*4);top:calc(var(--u)*12);z-index:7;writing-mode:vertical-rl;font-family:"Shippori Mincho B1",serif;font-weight:700;line-height:1.08;color:var(--ink);display:flex;flex-direction:column;gap:calc(var(--u)*1.2);height:calc(var(--u)*66);margin:0}
.nx-fv__copy .ln{display:block;white-space:nowrap}
.nx-fv__copy .s{font-size:calc(var(--u)*4.4);font-weight:600;letter-spacing:.1em}
.nx-fv__copy .m{font-size:calc(var(--u)*10);letter-spacing:.02em}
.nx-fv__copy .m .n{font-family:"Cormorant Garamond",serif;font-weight:600;text-combine-upright:all;font-size:1.15em}
.nx-fv__copy .xl{font-size:calc(var(--u)*12.5);letter-spacing:.02em}
.nx-fv__copy .xl .nx-ch{background:linear-gradient(180deg,#3a2c22 0%,#8a6740 45%,#d8b77e 55%,#3a2c22 100%);background-size:100% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nxCh .9s cubic-bezier(.2,.7,.2,1) calc(var(--i)*80ms + .5s) forwards,nxGold 6s ease-in-out 2.5s infinite}
@keyframes nxGold{0%,100%{background-position:0 0}50%{background-position:0 100%}}
.nx-ch{display:inline-block;opacity:0;filter:blur(6px);transform:translateY(-.35em);animation:nxCh .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*80ms + .5s)}
@keyframes nxCh{to{opacity:1;filter:none;transform:none}}
.nx-fv__sub{position:absolute;left:calc(var(--u)*4);top:calc(var(--u)*78);z-index:7;display:flex;flex-direction:column;align-items:flex-start;padding:calc(var(--u)*1.8) calc(var(--u)*5) calc(var(--u)*2) calc(var(--u)*1);font-family:"Shippori Mincho B1",serif;color:var(--ink);background:linear-gradient(90deg,rgba(255,252,247,.85) 0%,rgba(255,252,247,.55) 70%,rgba(255,252,247,0) 100%)}
.nx-fv__sub::before{content:"";position:absolute;left:calc(var(--u)*1);top:0;width:calc(var(--u)*30);height:1px;background:linear-gradient(90deg,var(--gold),rgba(184,146,90,0))}
.nx-fv__sub::after{content:"";position:absolute;left:calc(var(--u)*1);bottom:0;width:calc(var(--u)*30);height:1px;background:linear-gradient(90deg,var(--gold),rgba(184,146,90,0))}
.nx-fv__sub span{font-size:calc(var(--u)*2.9);font-weight:600;letter-spacing:.24em;color:#7a6650}
.nx-fv__sub b{display:block;margin-top:calc(var(--u)*.4);font-size:calc(var(--u)*6.4);font-weight:700;letter-spacing:.06em;line-height:1.2;background:linear-gradient(100deg,#c76f88 0%,#d99aa8 35%,#b8925a 60%,#c76f88 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nxShine 7s linear infinite}
.nx-fv__sub b em{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:1.15em;padding:0 .04em}
.nx-fv__rank{position:absolute;left:calc(var(--u)*5);top:calc(var(--u)*91);z-index:7;width:calc(var(--u)*30);height:calc(var(--u)*20);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7a5a2e;text-align:center}
.nx-fv__rank svg{position:absolute;inset:0;width:100%;height:100%}
.nx-fv__rank small{display:block;font-size:calc(var(--u)*2.1);font-weight:700;letter-spacing:.06em;position:relative}
.nx-fv__rank strong{display:block;font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*7.4);line-height:1;position:relative;background:linear-gradient(180deg,#c9a466,#8a6534);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-fv__rank strong span{font-size:.55em}
.nx-fv__rank strong sup{color:#8a6534;-webkit-text-fill-color:#8a6534}
.nx-spark{position:absolute;z-index:5;width:calc(var(--u)*3.2);height:calc(var(--u)*3.2);background:radial-gradient(circle,#fff 0 18%,rgba(255,255,255,0) 60%);animation:nxTw 2.6s ease-in-out infinite}
.nx-spark::before,.nx-spark::after{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:linear-gradient(transparent,#fff,transparent)}
.nx-spark::after{transform:rotate(90deg)}
@keyframes nxTw{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.nx-band{position:relative;background:linear-gradient(160deg,#0b352e 0%,#145a4c 60%,#0e3f36 100%);color:#fff;padding:calc(var(--u)*7) calc(var(--u)*5) calc(var(--u)*6);text-align:center}
.nx-band::before{content:"";position:absolute;left:50%;top:0;width:calc(var(--u)*6);height:calc(var(--u)*3);transform:translate(-50%,-1px);background:#e9d8c4;clip-path:polygon(0 0,100% 0,50% 100%)}
.nx-band__lead{font-size:calc(var(--u)*3);letter-spacing:.2em;color:var(--gold2)}
.nx-band__num{display:flex;align-items:baseline;justify-content:center;gap:calc(var(--u)*1.5);margin-top:calc(var(--u)*1)}
.nx-band__num .v{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:calc(var(--u)*14);line-height:1;background:linear-gradient(180deg,#fff4d8 0%,#e7cf9f 45%,#b8925a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:lining-nums tabular-nums}
.nx-band__num .t{font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*4.4);color:var(--gold2)}
.nx-band__tag{margin-top:calc(var(--u)*2.5);font-size:calc(var(--u)*3.1);letter-spacing:.08em;color:rgba(255,255,255,.88)}
.nx-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*2);margin-top:calc(var(--u)*5)}
.nx-chip{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(231,207,159,.45);border-radius:calc(var(--u)*2.5);padding:calc(var(--u)*3) calc(var(--u)*1);overflow:hidden}
.nx-chip::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-100%);animation:nxChip 5s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes nxChip{0%,60%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
.nx-chip em{display:block;font-style:normal;font-size:calc(var(--u)*2.4);color:var(--gold2);letter-spacing:.08em}
.nx-chip strong{display:block;margin-top:calc(var(--u)*1);font-size:calc(var(--u)*3.2);line-height:1.4;font-weight:700;letter-spacing:0}
.nx-chip strong b{font-size:1.3em;color:#ffd9e2}
.nx-notes{margin-top:calc(var(--u)*4);text-align:left;font-size:calc(var(--u)*1.85);line-height:1.6;color:rgba(255,255,255,.62);letter-spacing:0}
.nx-mq{overflow:hidden;white-space:nowrap;padding:calc(var(--u)*2.2) 0;background:var(--champ);border-top:1px solid rgba(184,146,90,.25);border-bottom:1px solid rgba(184,146,90,.25)}
.nx-mq span{display:inline-block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:calc(var(--u)*4.4);letter-spacing:.18em;color:var(--gold);animation:nxDrift 30s linear infinite}
.nx-eff{background:linear-gradient(180deg,#fbf7f2,#f3e8db);padding:calc(var(--u)*12) calc(var(--u)*6) calc(var(--u)*12);text-align:center}
.nx-tag{display:inline-block;border:1px solid currentColor;padding:calc(var(--u)*1) calc(var(--u)*4);font-size:calc(var(--u)*3);letter-spacing:.14em;font-weight:700}
.nx-eff .nx-tag{color:#6b5a48}
.nx-eff__ttl{margin-top:calc(var(--u)*4);font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*7.6);line-height:1.35}
.nx-eff__ttl .big{font-size:1.7em;background:linear-gradient(90deg,#9a86e6,#e49ab5);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-eff__ttl small{font-size:.5em;vertical-align:.6em;margin-right:.3em}
.nx-ba{position:relative;margin:calc(var(--u)*7) auto 0;width:100%;border-radius:calc(var(--u)*3);overflow:hidden;box-shadow:0 calc(var(--u)*3) calc(var(--u)*7) rgba(90,60,30,.15);background:#fff}
.nx-ba img{width:100% !important}
.nx-ba__veil{position:absolute;left:50%;top:0;right:0;height:78%;background:linear-gradient(180deg,#efe3d6,#e9dccd);transform-origin:right center;transition:transform 1.6s cubic-bezier(.7,0,.2,1) .4s;z-index:2;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-size:calc(var(--u)*5);letter-spacing:.2em;color:#b49a7c}
.nx-ba.is-in .nx-ba__veil{transform:scaleX(0)}
.nx-ba__beam{position:absolute;top:0;height:78%;left:50%;width:calc(var(--u)*1.2);margin-left:calc(var(--u)*-.6);z-index:3;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 20%,#fff 80%,rgba(255,255,255,0));box-shadow:0 0 calc(var(--u)*4) calc(var(--u)*1.5) rgba(255,255,255,.9);opacity:0}
.nx-ba.is-in .nx-ba__beam{animation:nxBeam 1.6s cubic-bezier(.7,0,.2,1) .4s forwards}
@keyframes nxBeam{0%{opacity:1;left:50%}90%{opacity:1;left:100%}100%{opacity:0;left:100%}}
.nx-tech{background:radial-gradient(120% 60% at 50% 0%,#1d6b5b 0%,#0e3f36 45%,#082a24 100%);color:#fff;padding:calc(var(--u)*13) calc(var(--u)*6) calc(var(--u)*12);text-align:center}
.nx-tech .nx-tag{color:var(--gold2)}
.nx-tech__pre{margin-top:calc(var(--u)*5);font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*5.4);font-weight:700;letter-spacing:.12em}
.nx-hipl{position:relative;margin:calc(var(--u)*2) auto 0;height:calc(var(--u)*34);display:flex;align-items:center;justify-content:center}
.nx-ring{position:absolute;left:50%;top:50%;width:calc(var(--u)*30);height:calc(var(--u)*30);margin:calc(var(--u)*-15) 0 0 calc(var(--u)*-15);border-radius:50%;border:1px solid rgba(231,207,159,.7);opacity:0;animation:nxRing 3.6s ease-out infinite}
.nx-ring.r2{animation-delay:1.2s}.nx-ring.r3{animation-delay:2.4s}
@keyframes nxRing{0%{opacity:.9;transform:scale(.35)}100%{opacity:0;transform:scale(2.3)}}
.nx-hipl b{position:relative;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:calc(var(--u)*26);letter-spacing:.06em;line-height:1;background:linear-gradient(100deg,#b8925a 0%,#fff6dd 30%,#e7cf9f 45%,#b8925a 60%,#fff6dd 80%,#b8925a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nxShine 5s linear infinite}
@keyframes nxShine{to{background-position:-250% 0}}
.nx-hipl small{position:absolute;right:calc(var(--u)*8);bottom:calc(var(--u)*4);font-size:calc(var(--u)*2.8);color:var(--gold2);letter-spacing:.12em}
.nx-tech__photo{margin-top:calc(var(--u)*4);border-radius:calc(var(--u)*3);overflow:hidden}
.nx-tech__photo img{width:100% !important;animation:nxKen 14s ease-in-out infinite alternate}
@keyframes nxKen{to{transform:scale(1.08)}}
.nx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*2);margin-top:calc(var(--u)*6)}
.nx-stat{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(231,207,159,.35);border-radius:calc(var(--u)*2.5);padding:calc(var(--u)*3.5) calc(var(--u)*1) calc(var(--u)*3)}
.nx-stat em{display:block;font-style:normal;font-size:calc(var(--u)*2.5);letter-spacing:.06em;color:var(--gold2)}
.nx-stat strong{display:flex;align-items:baseline;justify-content:center;gap:calc(var(--u)*.6);margin-top:calc(var(--u)*1)}
.nx-stat strong .v{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:calc(var(--u)*11);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.nx-stat strong .t{font-size:calc(var(--u)*3.2);font-weight:700}
.nx-graph{margin-top:calc(var(--u)*7);background:#fff;color:var(--ink);border-radius:calc(var(--u)*3);padding:calc(var(--u)*6) calc(var(--u)*5) calc(var(--u)*4)}
.nx-graph__ttl{font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*5.2);line-height:1.4}
.nx-graph__ttl b{color:#c45a78}
.nx-graph__body{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*5);margin-top:calc(var(--u)*5);position:relative}
.nx-graph__col h3{font-size:calc(var(--u)*2.8);font-weight:700;padding:calc(var(--u)*1) 0;border-radius:999px;color:#fff;background:#8f8a86}
.nx-graph__col.is-j h3{background:linear-gradient(90deg,#e88aa0,#d26a86)}
.nx-graph__col p{margin-top:calc(var(--u)*1.2);font-size:calc(var(--u)*2.3);color:#7a716b}
.nx-bars{position:relative;height:calc(var(--u)*30);margin-top:calc(var(--u)*2);display:flex;align-items:flex-end;gap:calc(var(--u)*.8);border-bottom:1px solid #bbb;padding:0 calc(var(--u)*.5)}
.nx-bars::before{content:"";position:absolute;left:0;right:0;top:22%;border-top:1px dashed #9d9d9d}
.nx-bars i{flex:1;height:var(--h);background:linear-gradient(0deg,#3fb7a6 0%,#a8d94a 40%,#f5c531 70%,#ef6a2a 100%);border-radius:2px 2px 0 0;transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*90ms + .2s)}
.nx-graph.is-in .nx-bars i{transform:scaleY(1)}
.nx-graph__zone{position:absolute;left:0;top:calc(var(--u)*13.5);font-size:calc(var(--u)*2);color:#777;writing-mode:horizontal-tb}
.nx-graph__note{margin-top:calc(var(--u)*3);font-size:calc(var(--u)*2);color:#999;text-align:right}
.nx-tech__msg{margin-top:calc(var(--u)*7);font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*5);line-height:1.6;font-weight:600}
.nx-tech__msg b{color:var(--gold2)}
.nx-tech__msg + p{margin-top:calc(var(--u)*2.5);font-size:calc(var(--u)*3.2);color:rgba(255,255,255,.78);line-height:1.8}
.nx-body{margin-top:calc(var(--u)*8);padding-top:calc(var(--u)*7);border-top:1px solid rgba(231,207,159,.3)}
.nx-body__lead{font-size:calc(var(--u)*3.6);font-weight:700;letter-spacing:.08em}
.nx-body__big{margin-top:calc(var(--u)*1);font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:calc(var(--u)*12);line-height:1.2}
.nx-body__big b{background:linear-gradient(90deg,#ffd9e2,#e88aa0);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-parts{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*1.6);margin-top:calc(var(--u)*4)}
.nx-parts span{border:1px solid rgba(231,207,159,.6);border-radius:999px;padding:calc(var(--u)*1) calc(var(--u)*3.4);font-size:calc(var(--u)*3);opacity:0;transform:scale(.8);transition:.5s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*110ms)}
.nx-parts.is-in span{opacity:1;transform:none}
.nx-body__sub{margin-top:calc(var(--u)*3);font-size:calc(var(--u)*3.2);color:var(--gold2)}
.nx-ice{position:relative;background:linear-gradient(180deg,#e6f6f8 0%,#f7fcfd 55%,#ffffff 100%);padding:calc(var(--u)*13) calc(var(--u)*6) calc(var(--u)*12);text-align:center}
.nx-ice .nx-tag{color:#2d7f8c;background:#fff;position:relative;z-index:2}
.nx-cube{position:absolute;z-index:0;opacity:.9;animation:nxCube 8s ease-in-out infinite}
.nx-cube.c1{width:calc(var(--u)*26) !important;left:calc(var(--u)*-8);top:calc(var(--u)*6)}
.nx-cube.c2{width:calc(var(--u)*22) !important;right:calc(var(--u)*-6);top:calc(var(--u)*30);animation-duration:10s;animation-delay:-3s}
.nx-cube.c3{width:calc(var(--u)*16) !important;right:calc(var(--u)*14);top:calc(var(--u)*-3);animation-duration:9s;animation-delay:-5s;opacity:.6}
@keyframes nxCube{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(calc(var(--u)*-3)) rotate(6deg)}}
.nx-frost{position:absolute;inset:0;pointer-events:none;z-index:1}
.nx-frost i{position:absolute;width:calc(var(--u)*1.2);height:calc(var(--u)*1.2);border-radius:50%;background:#fff;box-shadow:0 0 calc(var(--u)*1.5) #bfeaf2;opacity:0;animation:nxSnow 6s linear infinite}
@keyframes nxSnow{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(calc(var(--u)*40))}}
.nx-ice__in{position:relative;z-index:2}
.nx-ice__pre{margin-top:calc(var(--u)*5);font-size:calc(var(--u)*4);font-weight:700;color:#3a8f9c;letter-spacing:.1em}
.nx-ice__big{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:calc(var(--u)*30);line-height:.95;letter-spacing:.04em;background:linear-gradient(100deg,#2f8a9a 0%,#9fdbe5 30%,#3e9fb0 50%,#bfe9f0 70%,#2f8a9a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nxShine 6s linear infinite;filter:drop-shadow(0 calc(var(--u)*.6) 0 rgba(95,183,198,.35))}
.nx-ice__big small{font-family:"Shippori Mincho B1",serif;font-size:.3em;color:#2b5f68;-webkit-text-fill-color:#2b5f68;margin-left:.2em}
.nx-ice__txt{margin-top:calc(var(--u)*5);font-size:calc(var(--u)*3.6);line-height:1.9;font-weight:600}
.nx-ice__txt b{color:#2d8796;background:linear-gradient(transparent 62%,#cdeff4 62%)}
.nx-checks{margin-top:calc(var(--u)*6);display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*2)}
.nx-checks div{background:#fff;border-radius:calc(var(--u)*2.5);padding:calc(var(--u)*4) calc(var(--u)*1);box-shadow:0 calc(var(--u)*1.5) calc(var(--u)*4) rgba(60,140,155,.14);font-size:calc(var(--u)*3);font-weight:700;line-height:1.45}
.nx-checks div::before{content:"";display:block;margin:0 auto calc(var(--u)*1.8);width:calc(var(--u)*7);height:calc(var(--u)*7);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,#9fdbe5 60%,#5fb7c6);box-shadow:0 0 0 calc(var(--u)*1) rgba(95,183,198,.15);animation:nxCool 3s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes nxCool{0%,100%{box-shadow:0 0 0 0 rgba(95,183,198,.35)}50%{box-shadow:0 0 0 calc(var(--u)*2.2) rgba(95,183,198,0)}}
.nx-ice__note{margin-top:calc(var(--u)*2.5);font-size:calc(var(--u)*2);color:#8a9a9d;text-align:left}
.nx-new{position:relative;margin-top:calc(var(--u)*12);padding-top:calc(var(--u)*6)}
.nx-new__bg{position:absolute;left:50%;top:0;transform:translateX(-50%);font-family:"Cormorant Garamond",serif;font-weight:600;font-size:calc(var(--u)*34);line-height:1;letter-spacing:.06em;color:#f6f0e8;opacity:.8;z-index:0}
.nx-new__in{position:relative;z-index:1}
.nx-new .nx-tag{background:#3d3a38;color:#fff;border-color:#3d3a38}
.nx-new__ttl{margin-top:calc(var(--u)*4);font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*6.6)}
.nx-new__ttl b{color:#d26a86;font-size:1.3em}
.nx-new__ttl sup{color:#d26a86}
.nx-new__sub{margin-top:calc(var(--u)*1.5);font-size:calc(var(--u)*3.6);line-height:1.7}
.nx-filters{display:grid;grid-template-columns:1fr calc(var(--u)*10) 1fr;align-items:center;margin-top:calc(var(--u)*6)}
.nx-filters img{width:100% !important}
.nx-filters .old{filter:grayscale(.35);opacity:.85}
.nx-filters .new{animation:nxGlow 2.8s ease-in-out infinite}
@keyframes nxGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(232,138,160,0))}50%{filter:drop-shadow(0 0 calc(var(--u)*2.5) rgba(232,138,160,.6))}}
.nx-arrow{width:calc(var(--u)*6);height:calc(var(--u)*6);margin:0 auto;border-top:2px solid #d26a86;border-right:2px solid #d26a86;transform:rotate(45deg);animation:nxArr 1.6s ease-in-out infinite}
@keyframes nxArr{0%,100%{transform:translateX(-30%) rotate(45deg);opacity:.4}50%{transform:translateX(10%) rotate(45deg);opacity:1}}
.nx-new__note{margin-top:calc(var(--u)*2);font-size:calc(var(--u)*2);color:#999;text-align:left}
/* 既存セクションの配色をNXトーンに統一 */
.wrapper .x-movie{background:linear-gradient(180deg,#f7f0e7 0%,#ecdfd0 100%) !important}
.wrapper .x-movie .x-label--w{color:#3a2c22 !important;border-color:#b8925a !important;font-family:"Shippori Mincho B1",serif}
.wrapper .x-movie .x-note--w{color:#8a7a6a !important}
.wrapper .x-movie .x-badges li{box-shadow:0 6px 18px rgba(120,90,50,.12)}
.wrapper .x-beauty{background:#f7f0e7 !important}
.wrapper .x-beauty .x-en{background:linear-gradient(90deg,#b8925a,#e7cf9f,#b8925a) !important;-webkit-background-clip:text !important;background-clip:text !important}
/* 追従CTA（NXデザイン） */
.nx-cta{--u:min(1vw,7.5px);position:relative;display:flex !important;align-items:center;gap:calc(var(--u)*2);margin:0 calc(var(--u)*2.5) calc(var(--u)*2.5);padding:calc(var(--u)*2.2) calc(var(--u)*2.5) calc(var(--u)*2.2) calc(var(--u)*25);min-height:calc(var(--u)*22);border-radius:calc(var(--u)*3);background:linear-gradient(120deg,#0b352e 0%,#165c4e 55%,#0e3f36 100%);border:1px solid rgba(231,207,159,.65);box-shadow:0 calc(var(--u)*2) calc(var(--u)*6) rgba(8,42,36,.35);text-decoration:none !important;color:#fff;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;letter-spacing:.04em;box-sizing:border-box}
.nx-cta *{box-sizing:border-box}
.nx-cta__prod{position:absolute;left:calc(var(--u)*2);bottom:calc(var(--u)*1.5);width:calc(var(--u)*21) !important;max-width:none !important;height:auto;filter:drop-shadow(0 calc(var(--u)*1.5) calc(var(--u)*2) rgba(0,0,0,.35));animation:nxFloat 5.5s ease-in-out infinite}
.nx-cta__glow{position:absolute;left:calc(var(--u)*9);top:calc(var(--u)*-2);width:calc(var(--u)*8);height:calc(var(--u)*8);border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,248,225,.6) 35%,rgba(255,255,255,0) 70%);mix-blend-mode:screen;opacity:0;animation:nxPulse 3.2s ease-out 1s infinite;pointer-events:none}
.nx-cta__body{flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*1);text-align:center}
.nx-cta__top{display:inline-flex;align-items:center;gap:calc(var(--u)*1.5);font-size:calc(var(--u)*2.6);color:#e7cf9f;letter-spacing:.14em;font-weight:700}
.nx-cta__top::before,.nx-cta__top::after{content:"";width:calc(var(--u)*4);height:1px;background:#e7cf9f;opacity:.7}
.nx-cta__mid{font-size:calc(var(--u)*3);font-weight:700;line-height:1.2;white-space:nowrap}
.nx-cta__mid b{font-family:"Shippori Mincho B1",serif;font-size:1.6em;margin-left:.2em;background:linear-gradient(180deg,#fff4d8 0%,#e7cf9f 50%,#c9a466 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-cta__btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*2);width:100%;padding:calc(var(--u)*2) calc(var(--u)*3);border-radius:999px;background:linear-gradient(180deg,#f6e3bd 0%,#d9b77a 100%);color:#0e3f36;font-size:calc(var(--u)*4.2);font-weight:800;letter-spacing:.1em;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 calc(var(--u)*.8) 0 #9c7a45}
.nx-cta__btn::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-50%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.75),transparent);animation:nxCtaShine 3s ease-in-out infinite}
@keyframes nxCtaShine{0%,55%{left:-50%}85%,100%{left:120%}}
.nx-cta__btn i{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--u)*5);height:calc(var(--u)*5);border-radius:50%;background:#0e3f36;flex:none}
.nx-cta__btn i::after{content:"";width:calc(var(--u)*1.4);height:calc(var(--u)*1.4);border-top:2px solid #e7cf9f;border-right:2px solid #e7cf9f;transform:translateX(-15%) rotate(45deg)}
@media (prefers-reduced-motion:reduce){.nx-cta *,.nx-cta *::before{animation:none !important}}
@media (prefers-reduced-motion:reduce){.nx *,.nx *::before,.nx *::after{animation:none !important;transition:none !important}.nx [data-nx-in],.nx .nx-ch{opacity:1 !important;transform:none !important;filter:none !important}.nx-bars i,.nx-parts span{transform:none !important;opacity:1 !important}.nx-ba__veil{display:none}}

/* [修正 2026/10/06 v2] iPhone(Safari)対策：FVコピー「ツヤ肌へ。」非表示／フローティングバナー文字ずれ
   - Safariは縦書き(vertical-rl)×flexの並びが崩れるため、iOSのみ通常ブロック配置に変更
   - background-clip:text（文字グラデ）とfilterアニメはiOSで描画不良が出るため単色＋影に置換 */
@supports (-webkit-touch-callout:none){
  .nx-fv__copy{display:block!important;}
  .nx-fv__copy .ln{display:block!important;}
  .nx-fv__copy .ln + .ln{margin-right:calc(var(--u)*1.2)!important;}
  .nx-fv__copy .nx-ch{opacity:1;filter:none!important;transform:none;animation:nxChIOS .9s cubic-bezier(.2,.7,.2,1) calc(var(--i)*80ms + .5s) both!important;}
  .nx-fv__copy .xl .nx-ch{
    background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
    color:#7a5a36!important;-webkit-text-fill-color:#7a5a36!important;
    text-shadow:0 1px 0 rgba(255,255,255,.6),0 0 calc(var(--u)*2) rgba(216,183,126,.45);
  }
  .nx-cta__mid b{
    background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
    color:#f3dca8!important;-webkit-text-fill-color:#f3dca8!important;display:inline-block;vertical-align:baseline;
  }
  .nx-cta__top{display:flex!important;justify-content:center;}
}
@keyframes nxChIOS{from{opacity:0;transform:translateY(-.35em)}to{opacity:1;transform:none}}
/* [修正 2026/10/06 v3] フローティングバナー：スマホ幅で「13,000円OFF」が右端で切れる対策（全端末）
   - 収まらない時は「13,000円OFF」を2行目に折り返す／スマホ幅では文字と左余白を少し詰める */
.nx-cta__mid{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:baseline;white-space:normal!important;column-gap:.2em;max-width:100%}
.nx-cta__mid b{white-space:nowrap;margin-left:0!important}
.nx-cta__body{min-width:0}
@media (max-width:430px){
  .nx-cta{padding-left:calc(var(--u)*24)!important;padding-right:calc(var(--u)*2)!important}
  .nx-cta__mid{font-size:calc(var(--u)*2.9)!important}
  .nx-cta__mid b{font-size:1.5em!important}
}



.nx-why{background:linear-gradient(180deg,#fff 0%,var(--champ) 18%,#f3e8db 100%);padding:calc(var(--u)*13) calc(var(--u)*5) calc(var(--u)*12);text-align:center}
.nx-why__lbl{display:inline-block;font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*3.4);letter-spacing:.3em;color:var(--gold);border-bottom:1px solid var(--gold2);padding-bottom:calc(var(--u)*1)}
.nx-why__ttl{margin:calc(var(--u)*3) 0 calc(var(--u)*8);font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*7);line-height:1.4}
.nx-why__ttl b{color:var(--emer);font-size:1.25em}
.nx-why__ttl small{display:block;font-size:.5em;font-weight:500;color:#7a6c62;letter-spacing:.12em}
.nx-why__card{position:relative;background:#fff;border-radius:calc(var(--u)*4);padding:calc(var(--u)*15) calc(var(--u)*6) calc(var(--u)*7);margin:0 0 calc(var(--u)*7);box-shadow:0 calc(var(--u)*2) calc(var(--u)*6) rgba(43,37,34,.08);overflow:hidden}
.nx-why__card:before{content:"";position:absolute;inset:0 0 auto;height:calc(var(--u)*1.2);background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold))}
.nx-why__no{position:absolute;top:calc(var(--u)*3);left:calc(var(--u)*4);font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*11);line-height:1;color:var(--beige);font-weight:700}
.nx-why__tag{position:absolute;top:calc(var(--u)*4.4);right:calc(var(--u)*4);font-size:calc(var(--u)*2.6);letter-spacing:.25em;color:#fff;background:var(--emer);border-radius:99px;padding:calc(var(--u)*.6) calc(var(--u)*2.6)}
.nx-why__q{font-size:calc(var(--u)*3.8);color:#7a6c62;margin:calc(var(--u)*2) 0 0}
.nx-why__h{font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*6.4);line-height:1.4;margin:calc(var(--u)*1.5) 0 calc(var(--u)*4)}
.nx-why__h em{font-style:normal;color:var(--emer)}
.nx-why__h .big{font-size:1.7em;background:linear-gradient(90deg,var(--emer2),var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-why__p{font-size:calc(var(--u)*3.5);line-height:1.8;text-align:left}
.nx-why__p b{color:var(--emer);background:linear-gradient(transparent 62%,rgba(231,207,159,.6) 62%)}
.nx-why sup{font-size:.5em;vertical-align:super;color:#8a7c72;font-weight:400}
.nx-why__race{margin:0 auto calc(var(--u)*5);max-width:calc(var(--u)*78);text-align:left}
.nx-why__row{display:flex;align-items:center;gap:calc(var(--u)*2);margin:calc(var(--u)*2.4) 0;font-size:calc(var(--u)*3.2)}
.nx-why__row span{flex:0 0 calc(var(--u)*17);font-weight:700}
.nx-why__row i{position:relative;flex:1;height:calc(var(--u)*5.2);background:#f1ebe4;border-radius:99px;overflow:hidden}
.nx-why__row i:after{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:99px;transition:width 1.4s cubic-bezier(.2,.7,.2,1) .4s}
.nx-why__row.old i:after{background:#cfc4b9}
.nx-why__row.new i:after{background:linear-gradient(90deg,var(--emer),var(--ice));transition-delay:1.1s;box-shadow:0 0 calc(var(--u)*3) rgba(95,183,198,.6)}
.nx-why__row em{flex:0 0 calc(var(--u)*15);font-style:normal;font-weight:700;text-align:right}
.nx-why__row.old em{color:#a59a90;text-decoration:line-through}
.nx-why__row.new em{color:var(--emer);font-size:1.3em}
.nx-why__card.is-in .old i:after{width:100%}
.nx-why__card.is-in .new i:after{width:50%}
.nx-why__light{position:relative;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*4);margin:0 0 calc(var(--u)*5)}
.nx-why__light img{width:calc(var(--u)*26);height:auto;animation:nxWhyFloat 3.6s ease-in-out infinite;filter:drop-shadow(0 calc(var(--u)*3) calc(var(--u)*3) rgba(14,63,54,.18))}
.nx-why__g{font-family:"Shippori Mincho B1",serif;font-weight:700;line-height:1;color:var(--emer)}
.nx-why__g strong{font-size:calc(var(--u)*22);letter-spacing:-.02em}
.nx-why__g small{font-size:calc(var(--u)*8);margin-left:calc(var(--u)*.6)}
.nx-why__g p{margin:calc(var(--u)*2) 0 0;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:calc(var(--u)*3);font-weight:700;color:var(--gold);letter-spacing:.2em}
@keyframes nxWhyFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(calc(var(--u)*-3)) rotate(2deg)}}
.nx-why__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*1.6);margin:calc(var(--u)*4) 0 0;padding:0;list-style:none}
.nx-why__chips li{font-size:calc(var(--u)*3);font-weight:700;color:var(--emer);background:var(--champ);border:1px solid var(--gold2);border-radius:99px;padding:calc(var(--u)*1.2) calc(var(--u)*3)}
.nx-why__ice{position:relative;width:calc(var(--u)*40);height:calc(var(--u)*40);margin:0 auto calc(var(--u)*5);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,#dff3f6 45%,#9fd6df 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 calc(var(--u)*2) rgba(95,183,198,.12),0 calc(var(--u)*3) calc(var(--u)*8) rgba(95,183,198,.35)}
.nx-why__ice:before,.nx-why__ice:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(95,183,198,.6);animation:nxWhyRing 2.8s ease-out infinite}
.nx-why__ice:after{animation-delay:1.4s}
@keyframes nxWhyRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.nx-why__ice b{font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*8.4);color:var(--emer);line-height:1.1}
.nx-why__ice small{font-size:calc(var(--u)*2.8);letter-spacing:.2em;color:#3c8c99;font-weight:700}
.nx-why__notes{font-size:calc(var(--u)*2.5);color:#8a7c72;line-height:1.7;text-align:left;margin:calc(var(--u)*2) 0 0}
.nx-fv__copy sup.k{font-size:.22em;vertical-align:super;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-weight:400;margin-left:.1em}
/* [追加 2026/10/14] FV：4→×→2 スワップ */
.nx-fv__copy .nx-swap{position:relative;display:inline-block;writing-mode:horizontal-tb;width:1.8em;height:2.1em;vertical-align:middle;margin:-.05em 0;font-family:"Cormorant Garamond",serif;font-weight:600;line-height:1}
.nx-swap .o,.nx-swap .t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.nx-swap .o{font-size:1.5em;color:#8f8278;opacity:0;animation:nxSwO 2.7s cubic-bezier(.2,.7,.2,1) .6s forwards}
.nx-swap .x{position:absolute;inset:0}
.nx-swap .x:before,.nx-swap .x:after{content:"";position:absolute;left:50%;top:50%;width:105%;height:.085em;border-radius:99px;background:#d6455a;box-shadow:0 0 .12em rgba(214,69,90,.5);transform:translate(-50%,-50%) rotate(45deg) scaleX(0)}
.nx-swap .x:after{transform:translate(-50%,-50%) rotate(-45deg) scaleX(0)}
.nx-swap .x:before{animation:nxSwX1 .3s ease-out 1.45s forwards}
.nx-swap .x:after{animation:nxSwX2 .3s ease-out 1.75s forwards}
.nx-swap .t{font-size:3em;opacity:0;background:linear-gradient(180deg,#0e3f36 0%,#165c4e 45%,#b8925a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:nxSwT .9s cubic-bezier(.2,1.5,.4,1) 2.55s forwards}
.nx-swap .ring{position:absolute;left:50%;top:50%;width:1.9em;height:1.9em;margin:-.95em 0 0 -.95em;border-radius:50%;border:.04em solid #e7cf9f;opacity:0;animation:nxSwR 1.1s ease-out 2.7s forwards}
@keyframes nxSwO{0%{opacity:0;filter:blur(6px);transform:translateY(-.3em)}12%{opacity:1;filter:blur(0);transform:none}72%{opacity:1;transform:none;filter:blur(0)}100%{opacity:0;transform:scale(.4) rotate(-20deg);filter:blur(4px)}}
@keyframes nxSwX1{to{transform:translate(-50%,-50%) rotate(45deg) scaleX(1)}}
@keyframes nxSwX2{to{transform:translate(-50%,-50%) rotate(-45deg) scaleX(1)}}
@keyframes nxSwT{0%{opacity:0;transform:scale(2.4);filter:blur(10px)}55%{opacity:1;transform:scale(.88);filter:blur(0)}100%{opacity:1;transform:scale(1)}}
@keyframes nxSwR{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
.nx-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* カード01：4週間に× → 2週間ポップ */
.nx-why__row.old em{text-decoration:none!important;position:relative}
.nx-why__row.old em:before,.nx-why__row.old em:after{content:"";position:absolute;left:50%;top:50%;width:80%;height:2px;background:#d6455a;transform:translate(-50%,-50%) rotate(25deg) scaleX(0);transition:transform .3s ease-out 1.5s}
.nx-why__row.old em:after{transform:translate(-50%,-50%) rotate(-25deg) scaleX(0);transition-delay:1.75s}
.nx-why__card.is-in .old em:before{transform:translate(-50%,-50%) rotate(25deg) scaleX(1)}
.nx-why__card.is-in .old em:after{transform:translate(-50%,-50%) rotate(-25deg) scaleX(1)}
.nx-why__row.new em{display:inline-block;transform:scale(.4);opacity:0;transition:transform .7s cubic-bezier(.2,1.6,.4,1) 2.3s,opacity .3s 2.3s}
.nx-why__card.is-in .new em{transform:scale(1.15);opacity:1}
@media (prefers-reduced-motion:reduce){.nx-swap .o,.nx-swap .ring{display:none}.nx-swap .t{opacity:1;animation:none}}



.nm{--u:min(1vw,7.5px);--ink:#2b2522;--gold:#b8925a;--gold2:#e7cf9f;--emer:#0e3f36;--emer2:#1f7a66;--rose:#d26a86;--heat:#f08a3c;position:relative;overflow:hidden;background:linear-gradient(180deg,#fbf7f2 0%,#f3e8db 100%);padding:calc(var(--u)*12) 0 calc(var(--u)*10);text-align:center;color:var(--ink);font-family:"Hiragino Sans","Noto Sans JP",sans-serif;letter-spacing:.04em;line-height:1.6}
.nm *,.nm *::before,.nm *::after{box-sizing:border-box}
.nm :where(h2,h3,p,ol,li){margin:0;padding:0;list-style:none;font-weight:inherit}
.nm svg{display:block;width:100%;height:auto;overflow:visible}
.nm-eyebrow{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:calc(var(--u)*4);letter-spacing:.24em;color:var(--gold)}
.nm-ttl{margin-top:calc(var(--u)*1.5);font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*7);line-height:1.4}
.nm-tag{display:inline-block;margin-top:calc(var(--u)*2);border:1px solid #6b5a48;color:#6b5a48;padding:calc(var(--u)*1) calc(var(--u)*4);font-size:calc(var(--u)*3);letter-spacing:.14em;font-weight:700}
.nm-ttl{margin-top:calc(var(--u)*3) !important}
.nm-ttl b{background:linear-gradient(90deg,#9a86e6,#e49ab5);-webkit-background-clip:text;background-clip:text;color:transparent}
.nm-hint{margin-top:calc(var(--u)*3);font-size:calc(var(--u)*2.6);color:#8a7a6a;display:inline-flex;align-items:center;gap:calc(var(--u)*1.5)}
.nm-hint::before{content:"";width:calc(var(--u)*5);height:calc(var(--u)*3);background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 24'%3E%3Cpath d='M4 12h32M28 5l8 7-8 7M12 5 4 12l8 7' fill='none' stroke='%23b8925a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");animation:nmHint 1.8s ease-in-out infinite}
@keyframes nmHint{0%,100%{transform:translateX(-20%)}50%{transform:translateX(20%)}}
.nm-bars{display:flex;gap:calc(var(--u)*1);width:calc(var(--u)*60);margin:calc(var(--u)*2.5) auto 0}
.nm-bars i{flex:1;height:calc(var(--u)*.7);border-radius:9px;background:#e2d6c7;overflow:hidden;position:relative}
.nm-bars i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.nm-bars i.done::after,.nm-bars i.on::after{transform:scaleX(1)}
/* viewport & track */
.nm-view{position:relative;margin-top:calc(var(--u)*4);touch-action:pan-y}
.nm-track{display:flex;width:100%;transition:transform .55s cubic-bezier(.65,0,.25,1);will-change:transform}
.nm-card{flex:0 0 76%;margin-right:3%;position:relative;text-align:left;background:#fffdf9;border:1px solid rgba(184,146,90,.35);border-radius:calc(var(--u)*3.5);padding:calc(var(--u)*3.5) calc(var(--u)*3.5) calc(var(--u)*3.5);box-shadow:0 calc(var(--u)*2.5) calc(var(--u)*6) rgba(110,80,40,.12);opacity:.4;transform:scale(.93);filter:grayscale(.6);transition:opacity .6s,transform .6s,filter .6s;cursor:pointer}
.nm-card.is-active{opacity:1;transform:none;filter:none;cursor:default}
.nm-sbar{display:flex;gap:calc(var(--u)*.8)}
.nm-sbar i{flex:1;height:calc(var(--u)*.6);border-radius:9px;background:#ece3d6;overflow:hidden;position:relative}
.nm-sbar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),#d9b77a);transform:scaleX(0);transform-origin:left}
.nm-card.is-active .nm-sbar i.done::after{transform:scaleX(1)}
.nm-card.is-active .nm-sbar i.on::after{animation:nmFill var(--dur,1800ms) linear forwards}
@keyframes nmFill{to{transform:scaleX(1)}}
.nm-card h3{display:flex;align-items:baseline;gap:calc(var(--u)*2);margin-top:calc(var(--u)*2.5);font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*4.2);font-weight:700;padding-bottom:calc(var(--u)*1.8);border-bottom:1px solid rgba(184,146,90,.3)}
.nm-no{flex:none;color:var(--gold);font-size:calc(var(--u)*5.2);line-height:1;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;letter-spacing:.02em}
.nm-stage{position:relative;margin-top:calc(var(--u)*2.5);border-radius:calc(var(--u)*2.5);overflow:hidden;background:linear-gradient(180deg,#fff8f1,#f7ece0);aspect-ratio:600/380}
.nm-stage>svg{position:absolute;inset:0;height:100%}
/* step caption (current step only) */
.nm-steps{position:relative;margin-top:calc(var(--u)*2.5);display:grid}
.nm-steps li{grid-area:1/1;display:flex;gap:calc(var(--u)*2);align-items:flex-start;background:#fff;border:1px solid rgba(184,146,90,.25);border-radius:calc(var(--u)*2.2);padding:calc(var(--u)*2.4) calc(var(--u)*2.8);opacity:0;transform:translateY(calc(var(--u)*1.2));transition:opacity .3s,transform .3s}
.nm-steps li b{flex:none;width:calc(var(--u)*5.6);height:calc(var(--u)*5.6);border-radius:50%;background:transparent;border:1px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:calc(var(--u)*2.8);font-family:"Cormorant Garamond",serif;font-weight:600}
.nm-steps li strong{display:block;font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*3.7);font-weight:700;line-height:1.4}
.nm-steps li strong em{font-style:normal;color:var(--rose)}
.nm-steps li span{display:block;margin-top:calc(var(--u)*.6);font-size:calc(var(--u)*2.6);color:#6f655d;line-height:1.55}
.nm-card[data-step="1"] .nm-steps li:nth-child(1),.nm-card[data-step="2"] .nm-steps li:nth-child(2),.nm-card[data-step="3"] .nm-steps li:nth-child(3){opacity:1;transform:none}
/* step-driven visibility inside stage */
.nm .s1,.nm .s2,.nm .s3{opacity:0;transition:opacity .45s ease}
.nm-card[data-step="1"] .s1,.nm-card[data-step="2"] .s1,.nm-card[data-step="3"] .s1,.nm-card[data-step="2"] .s2,.nm-card[data-step="3"] .s2,.nm-card[data-step="3"] .s3{opacity:1}
.nm .h2{transition:opacity .7s ease}
.nm-card[data-step="2"] .h2,.nm-card[data-step="3"] .h2{opacity:.25}
.nm .h3{transition:opacity .9s ease}
.nm-card[data-step="3"] .h3{opacity:.12}
/* below */
.nm-cap{margin-top:calc(var(--u)*3);font-family:"Shippori Mincho B1",serif;font-size:calc(var(--u)*3);font-weight:700}
.nm-cap small{display:block;margin-top:calc(var(--u)*.6);font-family:"Cormorant Garamond",serif;font-size:calc(var(--u)*3.2);font-weight:600;color:#8a7a6a;letter-spacing:.1em}
.nm-arrow{position:absolute;top:44%;z-index:3;width:calc(var(--u)*8);height:calc(var(--u)*8);border-radius:50%;border:0;padding:0;background:var(--emer);box-shadow:0 calc(var(--u)*1) calc(var(--u)*3) rgba(14,63,54,.3);cursor:pointer;display:flex;align-items:center;justify-content:center}
.nm-arrow::after{content:"";width:calc(var(--u)*2);height:calc(var(--u)*2);border-top:2px solid #fff;border-right:2px solid #fff}
.nm-prev{left:calc(var(--u)*4)}.nm-prev::after{transform:translateX(20%) rotate(-135deg)}
.nm-next{right:calc(var(--u)*4)}.nm-next::after{transform:translateX(-20%) rotate(45deg)}
.nm-arrow[disabled]{opacity:0;pointer-events:none}
.nm-sum{margin:calc(var(--u)*6) calc(var(--u)*7) 0;text-align:left;font-size:calc(var(--u)*3.2);line-height:1.9}
.nm-note{margin:calc(var(--u)*2) calc(var(--u)*7) 0;text-align:left;font-size:calc(var(--u)*2.1);color:#9a8d80;line-height:1.6}
/* ---- SVG motion ---- */
.nm-card.is-active .nm-flash{animation:nmFlash 1.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes nmFlash{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1)}60%,100%{opacity:0;transform:scale(1.5)}}
.nm-card.is-active .nm-dev{animation:nmDev 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes nmDev{0%,100%{transform:translateY(0)}12%{transform:translateY(4px)}}
.nm-card.is-active .nm-beam{animation:nmBeam 1.6s linear infinite}
.nm-card.is-active .nm-beam:nth-child(2){animation-delay:.4s}.nm-card.is-active .nm-beam:nth-child(3){animation-delay:.8s}.nm-card.is-active .nm-beam:nth-child(4){animation-delay:1.2s}
@keyframes nmBeam{0%{transform:translateY(-120px);opacity:0}20%{opacity:.9}100%{transform:translateY(260px);opacity:0}}
.nm-card.is-active .nm-heat{animation:nmHeat 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
.nm-card.is-active .nm-heat.d2{animation-delay:.5s}.nm-card.is-active .nm-heat.d3{animation-delay:1s}
@keyframes nmHeat{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.nm-card.is-active .nm-glow{animation:nmGlow 1.2s ease-in-out infinite alternate}
@keyframes nmGlow{from{opacity:.55}to{opacity:1}}
.nm-arc{transition:stroke-dashoffset 1s cubic-bezier(.6,0,.2,1)}
.nm-card:not(.is-active) .nm-arc{stroke-dashoffset:100 !important}
.nm-card.is-active .nm-orbit{animation:nmOrbit 4s linear infinite;transform-origin:300px 180px}
@keyframes nmOrbit{to{transform:rotate(360deg)}}
.nm-card.is-active .nm-spark{animation:nmSpark 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.nm-card.is-active .nm-spark.d2{animation-delay:.6s}.nm-card.is-active .nm-spark.d3{animation-delay:1.2s}
@keyframes nmSpark{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
/* tiles (card 4) */
.nm-tiles{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u)*1.6);padding:calc(var(--u)*2.5)}
.nm-tile{display:flex;align-items:center;gap:calc(var(--u)*2.5);background:#fff;border:1px solid rgba(184,146,90,.3);border-radius:calc(var(--u)*2);padding:calc(var(--u)*1.6) calc(var(--u)*3);transform:translateX(calc(var(--u)*4));transition:opacity .6s,transform .6s}
.nm-card[data-step] .nm-tile.s1,.nm-card[data-step="2"] .nm-tile.s2,.nm-card[data-step="3"] .nm-tile.s2,.nm-card[data-step="3"] .nm-tile.s3{transform:none}
.nm-tile em{font-style:normal;font-size:calc(var(--u)*2.2);color:#8a7a6a;width:calc(var(--u)*16);flex:none;line-height:1.35}
.nm-tile strong{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:calc(var(--u)*7.4);line-height:1;color:var(--emer)}
.nm-tile strong small{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:calc(var(--u)*2.6);font-weight:700;color:var(--ink);margin-left:calc(var(--u)*1)}
/* badge (card 5) */
.nm-badge{position:absolute;right:calc(var(--u)*2.5);top:calc(var(--u)*2.5);background:var(--emer);color:#fff;border-radius:calc(var(--u)*1.6);padding:calc(var(--u)*1.2) calc(var(--u)*2.4);font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:calc(var(--u)*3);line-height:1.3;text-align:center;box-shadow:0 calc(var(--u)*1) calc(var(--u)*3) rgba(14,63,54,.3)}
.nm-badge b{display:block;color:var(--gold2);font-size:1.5em}
@media (prefers-reduced-motion:reduce){.nm *{animation:none !important;transition:none !important}}



/* [追加 2026/10/14] 効果見出し：4→×→2 スワップ（スクロールで発火） */
.nx-eff__ttl .nx-sw2{position:relative;display:inline-block;font-size:1.7em;line-height:1;width:.86em;height:1em;vertical-align:-.08em;margin-right:.04em}
.nx-sw2 .o,.nx-sw2 .t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;-webkit-background-clip:text;background-clip:text;color:transparent}
.nx-sw2 .o{background-image:linear-gradient(90deg,#9a86e6,#b48fe0)}
.nx-sw2 .t{font-size:1.3em;margin-top:-.08em;background-image:linear-gradient(90deg,#8a6fe0 0%,#a98ae6 100%);opacity:0;transform:scale(2.2)}
.nx-sw2 .x{position:absolute;inset:0}
.nx-sw2 .x:before,.nx-sw2 .x:after{content:"";position:absolute;left:50%;top:50%;width:110%;height:.08em;border-radius:99px;background:#d6455a;box-shadow:0 0 .1em rgba(214,69,90,.5);transform:translate(-50%,-50%) rotate(45deg) scaleX(0)}
.nx-sw2 .x:after{transform:translate(-50%,-50%) rotate(-45deg) scaleX(0)}
.nx-sw2 .ring{position:absolute;left:50%;top:50%;width:1.2em;height:1.2em;margin:-.6em 0 0 -.6em;border-radius:50%;border:.03em solid #d9a5d0;opacity:0}
.nx-eff__ttl.is-in .nx-sw2 .x:before{animation:nxSwX1 .3s ease-out 1.1s forwards}
.nx-eff__ttl.is-in .nx-sw2 .x:after{animation:nxSwX2 .3s ease-out 1.35s forwards}
.nx-eff__ttl.is-in .nx-sw2 .o{animation:nxSw2O .5s ease-in 1.9s forwards}
.nx-eff__ttl.is-in .nx-sw2 .t{animation:nxSwT .9s cubic-bezier(.2,1.5,.4,1) 2.1s forwards}
.nx-eff__ttl.is-in .nx-sw2 .ring{animation:nxSwR 1.1s ease-out 2.25s forwards}
@keyframes nxSw2O{to{opacity:0;transform:scale(.4) rotate(-20deg);filter:blur(4px)}}
.nx-eff__ttl sup.k{font-size:.28em;vertical-align:super;color:#8a7c72;font-weight:400}
@media (prefers-reduced-motion:reduce){.nx-sw2 .o,.nx-sw2 .ring{display:none}.nx-sw2 .t{opacity:1;transform:none;animation:none!important}}



        .offer-block {
          position: relative;
          max-width: 800px;
          margin: 0 auto;
        }

        .offer-img {
          width: 100%;
          display: block;
        }

        .countdown-text {
          position: absolute;
          top: 98px;
          left: 50%;
          transform: translateX(-50%);
          background-color: #F0F419;
          padding: 10px 20px;
          border-radius: 10px;
          font-size: 25px;
          font-weight: bold;
          color: #575757;
          /* テキスト部分 */
          text-align: center;
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
          white-space: nowrap;
        }

        .countdown-text .number {
          color: #D51455;
          margin-left: 4px;
        }

        @media screen and (max-width: 480px) {
          .countdown-text {
            font-size: 18px;
            padding: 8px 14px;
            top: 50px;
          }
        }
      


/* =========================================================
   JOVS Dora2 LP モーション追加CSS
   - html に .m-on が付いたときだけ有効（JSが付与）
   - 既存のレイアウト（位置・幅）は変えず、opacity / transform / filter / clip-path のみ
   ========================================================= */

/* ---------- 共通：表示前の状態 ---------- */
.m-on .m{transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),filter .85s cubic-bezier(.2,.7,.2,1),clip-path 1s cubic-bezier(.7,0,.2,1);will-change:opacity,transform}
.m-on .m-fadeup{opacity:0;transform:translate3d(0,6vw,0)}
.m-on .m-left{opacity:0;transform:translate3d(-12vw,0,0)}
.m-on .m-right{opacity:0;transform:translate3d(12vw,0,0)}
.m-on .m-zoom{opacity:0;transform:scale(.88)}
.m-on .m-pop{opacity:0;transform:scale(.5);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}
.m-on .m-punch{opacity:0;transform:scale(1.4);filter:blur(10px)}
.m-on .m-blur{opacity:0;filter:blur(14px);transform:translate3d(0,2vw,0)}
/* 見出し：左から右へ書くように出す（参考動画の1字ずつ表示の代わり） */
.m-on .m-wipe{clip-path:inset(-5% 100% -5% 0)}
/* ビフォーアフター：左から開き、彩度が戻る */
.m-on .m-reveal{clip-path:inset(0 100% 0 0);filter:saturate(.2) brightness(1.1)}
/* 図（部位図など）：上から下へ描画 */
.m-on .m-down{clip-path:inset(0 0 100% 0)}
/* 写真ブロック：カーテンが開くように＋ゆっくりズームアウト */
.m-on .m-curtain{overflow:hidden}
.m-on .m-curtain img{clip-path:inset(12% 0 12% 0);transform:scale(1.14);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1),transform 2.2s cubic-bezier(.2,.7,.2,1)}
.m-on .m-curtain.m-in img{clip-path:inset(0 0 0 0);transform:scale(1)}

/* ---------- 表示後 ---------- */
.m-on .m.m-in{opacity:1;transform:none;filter:none}
.m-on .m-wipe.m-in,.m-on .m-reveal.m-in,.m-on .m-down.m-in{clip-path:inset(-5% -5% -5% -5%)}

/* ---------- ループ演出（表示完了後にJSが付与） ---------- */
@keyframes mFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-1.6vw,0)}}
@keyframes mFloatS{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-1.2vw,0) rotate(4deg)}}
@keyframes mFlash{0%,80%,100%{filter:none}85%{filter:brightness(1.22) drop-shadow(0 0 3vw rgba(255,247,215,.95))}93%{filter:none}}
@keyframes mBeat{0%{transform:scale(1)}25%{transform:scale(1.035)}50%{transform:scale(1)}75%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes mGlow{0%,70%,100%{filter:none}82%{filter:brightness(1.12) saturate(1.15)}}
.m-on .m-loop-float{animation:mFloat 4s ease-in-out infinite}
.m-on .m-loop-floats{animation:mFloatS 3.4s ease-in-out infinite}
.m-on .m-loop-flash{animation:mFlash 3.6s ease-out infinite}
.m-on .m-loop-float.m-loop-flash{animation:mFloat 4s ease-in-out infinite,mFlash 3.6s ease-out infinite}
.m-on .m-loop-beat{animation:mBeat 1.4s ease-out 1}
.m-on .btn.poyopoyo img,.m-on .lastbtn img{animation:mGlow 2s ease-in-out infinite}

/* ---------- FV：読み込み直後の登場シーケンス ---------- */
.m-on .fv{overflow:hidden}
.m-on .fv-layer{animation:none;opacity:0}
.m-on .fv-layer-1{animation:mFvPop .8s cubic-bezier(.34,1.56,.64,1) .25s forwards}
.m-on .fv-layer-2{animation:mFvRise 1.1s cubic-bezier(.2,.7,.2,1) .6s forwards,mFloat 4s ease-in-out 1.8s infinite,mFlash 3.6s ease-out 2.2s infinite}
.m-on .fv-layer-3{animation:mFvBlur .9s cubic-bezier(.2,.7,.2,1) 1.2s forwards}
@keyframes mFvPop{0%{opacity:0;transform:scale(.6);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes mFvRise{0%{opacity:0;transform:translate3d(0,14vw,0) rotate(-3deg)}100%{opacity:1;transform:none}}
@keyframes mFvBlur{0%{opacity:0;filter:blur(14px);transform:translate3d(0,2vw,0)}100%{opacity:1;filter:none;transform:none}}
/* FV全体に光が走る */
.m-on .fv::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:skewX(-18deg);animation:mFvSweep 1.1s ease-out 1.9s 1 both;pointer-events:none}
@keyframes mFvSweep{from{left:-70%}to{left:130%}}

/* 実績オドメーター */
.m-on .countnum{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .m-on .m,.m-on .m-curtain img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
  .m-on *{animation:none!important}
  .m-on .fv-layer{opacity:1}
}


/* =========================================================
   2026-10-17: FVを即時表示。以下はLPの範囲に限定する。
   レイアウトと素材URL・購入フォームの専用CSSは維持。
   ========================================================= */
#jovs-lp .wrapper { position: relative; }
#jovs-lp img { max-width: 100%; }
#jovs-lp .scroll-anim,
#jovs-lp .fadeup,
#jovs-lp .fadeUpblur,
#jovs-lp .move,
#jovs-lp .nx [data-nx-in],
#jovs-lp .x-js {
  opacity: 1;
  transform: none;
  filter: none;
  will-change: auto;
  transition: none;
}
/* 重要なFVはJSや登場アニメーションの完了を待たない。 */
#jovs-lp .nx-fv *,
#jovs-lp .nx-fv *::before,
#jovs-lp .nx-fv *::after {
  animation: none !important;
  transition: none !important;
}
#jovs-lp .nx-fv__model,
#jovs-lp .nx-fv__copy .nx-ch,
#jovs-lp .nx-fv [data-nx-in] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
#jovs-lp .nx-fv__copy .xl .nx-ch {
  background: none !important;
  color: #4a3626 !important;
  -webkit-text-fill-color: #4a3626 !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: 0 1px 0 rgba(231,207,159,.6);
}
/* 「4→2」の待ち時間を除去し、2週間の最終状態を初回描画から表示。 */
#jovs-lp .nx-fv .nx-swap .o,
#jovs-lp .nx-fv .nx-swap .ring { display: none; }
#jovs-lp .nx-fv .nx-swap .t {
  opacity: 1;
  transform: none;
  background: none;
  color: #0e3f36;
  -webkit-text-fill-color: #0e3f36;
}
#jovs-lp .nx-fv .nx-orb,
#jovs-lp .nx-fv__sweep,
#jovs-lp .nx-fv__flash,
#jovs-lp .nx-fv .nx-spark,
#jovs-lp .nx-fv .nx-pulse { display: none !important; }
/* JSが起動しない場合も、比較写真やグラフの内容を隠さない。 */
#jovs-lp .nx-ba__veil { display: none; }
#jovs-lp .nx-bars i { transform: scaleY(1); }
#jovs-lp .nx-parts span { opacity: 1; transform: none; }
#jovs-lp .nx-sw2 .o,
#jovs-lp .nx-sw2 .ring { display: none; }
#jovs-lp .nx-sw2 .t { opacity: 1; transform: none; animation: none !important; }
/* 画面下の出現だけ、短いopacity/transformの演出に一本化。 */
#jovs-lp .lp-reveal {
  transition: opacity .45s ease, transform .45s ease;
  transition-delay: 0s !important;
}
#jovs-lp .lp-reveal:not(.is-visible) {
  opacity: 0;
  transform: translateY(18px);
}
#jovs-lp .lp-reveal.is-visible { opacity: 1; transform: none; }
/* 画面外・非表示タブでは装飾アニメーションを休止。 */
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running),
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running) *,
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running)::before,
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running)::after,
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running) *::before,
#jovs-lp :is(.nx,.nm,.header,.fix_btn,.poyopoyo,.marquee,.m,.m-curtain,.x-kb,.offer,.lastbtn):not(.lp-running) *::after {
  animation-play-state: paused;
}
#jovs-lp .fix_btn[hidden] { display: none !important; }
#jovs-lp .fix_btn.lp-cta-visible { display: block; }
/* 自前の横スワイプ。外部SlickのCSSや初期化順序に依存しない。 */
#jovs-lp .voice_slider {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
  padding: 0;
}
#jovs-lp .voice_slider::-webkit-scrollbar { display: none; }
#jovs-lp .voice_slider > div {
  flex: 0 0 100%;
  min-width: 0;
  scroll-snap-align: start;
}
#jovs-lp .voice_slider img { height: auto; }
#jovs-lp .voice_arrow {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
#jovs-lp .lp-review-dots { display: flex; gap: 10px; justify-content: center; margin-top: 16px; }
#jovs-lp .lp-review-dots button {
  width: 12px; height: 12px; padding: 0; border: 0;
  border-radius: 50%; background: #ccc; cursor: pointer;
}
#jovs-lp .lp-review-dots button.is-active { background: #666; }
#jovs-lp .lp-review-dots button:focus-visible,
#jovs-lp .voice_arrow:focus-visible { outline: 2px solid #165c4e; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  #jovs-lp *, #jovs-lp *::before, #jovs-lp *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  #jovs-lp .lp-reveal { opacity: 1 !important; transform: none !important; }
}
#jovs-lp .fadein-scale.active {
  opacity: 1;
  transform: none;
  animation: none;
  will-change: auto;
}

/* 上部バナーの光走査も停止し、初回表示中の連続再描画を避ける。 */
#jovs-lp .header::after { display: none; animation: none; }

/* 2026-10-17 調整：FV直下以降のカウントアップ・グラフ・既存演出を維持。 */
#jovs-lp .nx .lp-reveal { transition-duration: .7s; transition-delay: var(--d,0s) !important; }
#jovs-lp .nx-graph.lp-reveal:not(.is-visible) .nx-bars i { transform: scaleY(0); }
#jovs-lp .nx-graph.lp-reveal.is-visible .nx-bars i { transform: scaleY(1); }
#jovs-lp .nx-parts.lp-reveal:not(.is-visible) span { opacity: 0; transform: scale(.8); }
#jovs-lp .nx-parts.lp-reveal.is-visible span { opacity: 1; transform: none; }
#jovs-lp .nx-ba.lp-reveal .nx-ba__veil { display: flex; }
#jovs-lp.m-on .m { will-change: auto; }
@media (prefers-reduced-motion: reduce) {
  #jovs-lp .nx-ba__veil { display: none !important; }
  #jovs-lp .nx-bars i, #jovs-lp .nx-parts span { opacity: 1 !important; transform: none !important; }
}
/* 中盤の「4→2週間」切り替えは、元の演出を残す。FVは静止のまま。 */
#jovs-lp .nx-eff__ttl.lp-reveal .nx-sw2 .o { display: flex; }
#jovs-lp .nx-eff__ttl.lp-reveal .nx-sw2 .ring { display: block; }
#jovs-lp .nx-eff__ttl.lp-reveal .nx-sw2 .t { opacity: 0; transform: scale(2.2); }
#jovs-lp .nx-eff__ttl.lp-reveal.is-in .nx-sw2 .t {
  animation: nxSwT .9s cubic-bezier(.2,1.5,.4,1) 2.1s forwards !important;
}

/* 2026-10-17 読みやすい共通テンポ：出現1秒・順番0.25秒・装飾6秒。 */
#jovs-lp {
  --lp-enter: 1s;
  --lp-gap: .25s;
  --lp-loop: 6s;
  --lp-step: 3s;
  --lp-ease: cubic-bezier(.25,.1,.25,1);
}
#jovs-lp .lp-reveal,
#jovs-lp .nx .lp-reveal,
#jovs-lp.m-on .m,
#jovs-lp.m-on .m-curtain img,
#jovs-lp .nx-ba__veil,
#jovs-lp .nm-track {
  transition-duration: var(--lp-enter);
  transition-timing-function: var(--lp-ease);
  transition-delay: var(--lp-enter-delay,0s) !important;
}
#jovs-lp .nx-bars i,
#jovs-lp .nx-parts span {
  transition-duration: var(--lp-enter);
  transition-timing-function: var(--lp-ease);
  transition-delay: calc(var(--i,0) * var(--lp-gap));
}
#jovs-lp .nx-ring,
#jovs-lp .nx-cube,
#jovs-lp .nx-hipl b,
#jovs-lp .nx-ice__big,
#jovs-lp .nx-filters .new,
#jovs-lp .nx-checks div::before,
#jovs-lp .nx-chip::after,
#jovs-lp .nx-arrow,
#jovs-lp.m-on .m-loop-float,
#jovs-lp.m-on .m-loop-floats,
#jovs-lp.m-on .m-loop-flash,
#jovs-lp.m-on .m-loop-float.m-loop-flash,
#jovs-lp.m-on .btn.poyopoyo img,
#jovs-lp.m-on .lastbtn img,
#jovs-lp.m-on .x-shine::after,
#jovs-lp .poyopoyo {
  animation-duration: var(--lp-loop);
}
#jovs-lp .nx-ring.r2 { animation-delay: 2s; }
#jovs-lp .nx-ring.r3 { animation-delay: 4s; }
#jovs-lp .nm-card.is-active .nm-sbar i.on::after { animation-duration: var(--lp-step); }
#jovs-lp .nm-card.is-active :is(.nm-flash,.nm-dev,.nm-beam,.nm-heat,.nm-glow,.nm-orbit,.nm-spark) {
  animation-duration: var(--lp-loop);
}
#jovs-lp .nx-eff__ttl.lp-reveal.is-in .nx-sw2 .t {
  animation-duration: var(--lp-enter) !important;
  animation-timing-function: var(--lp-ease) !important;
}
/* FVの初期表示とモーション低減設定は共通テンポより優先する。 */
#jovs-lp .nx-fv *, #jovs-lp .nx-fv *::before, #jovs-lp .nx-fv *::after {
  animation: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  #jovs-lp *, #jovs-lp *::before, #jovs-lp *::after {
    animation: none !important;
    transition: none !important;
  }
}
/* グラフや部位ラベルも、親ブロックが見えてから順番に動かす。 */
#jovs-lp .nx-bars i, #jovs-lp .nx-parts span {
  transition-delay: calc(var(--lp-enter) + var(--lp-enter-delay,0s) + var(--i,0) * var(--lp-gap));
}
#jovs-lp .nx-ba__veil {
  transition-delay: calc(var(--lp-enter) + var(--lp-enter-delay,0s)) !important;
}
#jovs-lp .nx-ba.is-in .nx-ba__beam {
  animation-duration: var(--lp-enter);
  animation-delay: calc(var(--lp-enter) + var(--lp-enter-delay,0s));
  animation-timing-function: var(--lp-ease);
}

/* フローティングバナーは添付元のデザイン・アニメーションに戻す。 */
#jovs-lp .fix_btn .float_wrap {
  animation: floatY 1.5s ease-in-out infinite;
  will-change: transform;
}
#jovs-lp .fix_btn .nx-cta__prod { animation: nxFloat 5.5s ease-in-out infinite; }
#jovs-lp .fix_btn .nx-cta__glow { animation: nxPulse 3.2s ease-out 1s infinite; }
#jovs-lp .fix_btn .nx-cta__btn::before { animation: nxCtaShine 3s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  #jovs-lp .fix_btn *, #jovs-lp .fix_btn *::before { animation: none !important; }
}


/* [修正 2026/10/17] FV「ついに2週間」：フォント崩れ対策＋中盤「2週間」デザインに統一
   - FVは即時表示（アニメなし）のため、4→2スワップをやめて完成形「2週間」を静的に表示
   - 数字も明朝に揃え、縦書きの中で1文字として正立（text-combine-upright）
   - 色は中盤「2週間」と同じラベンダー系。縦書き×文字グラデは描画崩れが出るため単色＋影 */
#jovs-lp .nx-fv__copy .nx-fv2w{display:inline;white-space:nowrap;font-size:calc(var(--u)*11);letter-spacing:.04em;color:#8a72dc;text-shadow:0 1px 0 rgba(255,255,255,.75),0 0 .3em rgba(228,154,181,.35)}
#jovs-lp .nx-fv__copy .nx-fv2w .n2{text-combine-upright:all;-webkit-text-combine:horizontal;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:1.12em}
#jovs-lp .nx-fv__copy .nx-fv2w .w{font-family:"Shippori Mincho B1",serif;font-weight:700}
#jovs-lp .nx-fv__copy .nx-fv2w .k{text-combine-upright:all;-webkit-text-combine:horizontal;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:.22em;font-weight:400;color:#8a7c72;text-shadow:none;letter-spacing:0}

/* [修正 2026/10/17 v2] カード02（256g）：#jovs-lp img{width:100%} に上書きされ画像が巨大化・数字が見切れる対策 */
#jovs-lp .nx-why__light{flex-wrap:nowrap;overflow:hidden}
#jovs-lp .nx-why__light img{width:calc(var(--u)*26)!important;max-width:38%!important;flex:0 0 auto}
#jovs-lp .nx-why__g{flex:0 1 auto;min-width:0;white-space:nowrap}
#jovs-lp .nx-why__g strong{font-size:calc(var(--u)*20)}
/* しくみカード：強調語（「成長期」など）の途中で改行しない */
#jovs-lp .nm-steps li strong em{white-space:nowrap}

/* [修正 2026/10/17 v3] モーションを以前のスピード感に戻す
   - 共通テンポ（出現1秒・装飾6秒・図解3秒）が遅く感じるため、出現0.7秒・図解1.8秒にし、
     装飾ループは各パーツ本来の速さに戻す */
#jovs-lp{--lp-enter:.7s;--lp-gap:.12s;--lp-step:1.8s;--lp-ease:cubic-bezier(.2,.7,.2,1)}
#jovs-lp .nx-ring{animation-duration:3.6s}
#jovs-lp .nx-ring.r2{animation-delay:1.2s}
#jovs-lp .nx-ring.r3{animation-delay:2.4s}
#jovs-lp .nx-cube{animation-duration:8s}
#jovs-lp .nx-cube.c2{animation-duration:10s}
#jovs-lp .nx-cube.c3{animation-duration:9s}
#jovs-lp .nx-hipl b{animation-duration:5s}
#jovs-lp .nx-ice__big{animation-duration:6s}
#jovs-lp .nx-filters .new{animation-duration:2.8s}
#jovs-lp .nx-checks div::before{animation-duration:3s}
#jovs-lp .nx-chip::after{animation-duration:5s}
#jovs-lp .nx-arrow{animation-duration:1.6s}
#jovs-lp.m-on .m-loop-float{animation-duration:4s}
#jovs-lp.m-on .m-loop-floats{animation-duration:3.4s}
#jovs-lp.m-on .m-loop-flash{animation-duration:3.6s}
#jovs-lp.m-on .m-loop-float.m-loop-flash{animation-duration:4s,3.6s}
#jovs-lp.m-on .btn.poyopoyo img,#jovs-lp.m-on .lastbtn img{animation-duration:2s}
#jovs-lp.m-on .x-shine::after{animation-duration:4.5s}
#jovs-lp .poyopoyo{animation-duration:1s}
#jovs-lp .nm-card.is-active .nm-flash,#jovs-lp .nm-card.is-active .nm-dev{animation-duration:1.4s}
#jovs-lp .nm-card.is-active .nm-beam,#jovs-lp .nm-card.is-active .nm-heat{animation-duration:1.6s}
#jovs-lp .nm-card.is-active .nm-glow{animation-duration:1.2s}
#jovs-lp .nm-card.is-active .nm-orbit{animation-duration:4s}
#jovs-lp .nm-card.is-active .nm-spark{animation-duration:1.8s}
