@charset "utf-8";

div#container {
  padding-top: 0 !important;
}

/* ---------------------------------------------
 common
--------------------------------------------- */
.lp-warp {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}
.lp-warp *,
.lp-warp *::before,
.lp-warp *::after {
  box-sizing: border-box;
}
.lp-warp img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.lp-warp video {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.lp-warp .p-box {
  position: relative;
}

/* 解析タグの隙間対策 */
body > img {
  display: none;
}

/* ----------------------------------------------
 fv
---------------------------------------------- */
.fv_txtarea {
  padding: 5% 0;
  background-color: #fff;
  text-align: center;
  font-size: clamp(14px, calc((28 / 750) * 100vw), 16px);
  line-height: 1.6;
}

.fv_txtarea span {
  color: #ea3329;
  font-weight: 700;
}

/* 横に流れる文字 */
.head_lineTxt {
  position: relative;
  overflow: hidden;
  height: clamp(29.5px, calc((59 / 750) * 100vw), 59px);
  margin: 5% 0 5% 0;
}
.head_lineTxt_main {
  position: absolute;
  top: 0;
  left: 0;
  width: 330%;
  -webkit-animation: lineText 18s 0s linear infinite;
  animation: lineText 18s 0s linear infinite;
}
@-webkit-keyframes lineText {
  0% {
    left: 0
  }
  100% {
    left: -220%
  }
}
@keyframes lineText {
  0% {
    left: 0
  }
  100% {
    left: -220%
  }
}


/* ---------------------------------------------
 cv
--------------------------------------------- */
.cv-container {
  position: relative;
}
.cv-container > .cvbtn {
  position: absolute;
  left: 7%;
  bottom: 67%;
  width: calc(648 / 750 * 100%);
}
.cv-container > .cvbtn02 {
  position: absolute;
  left: 5%;
  bottom: 43%;
  width: calc(684 / 750 * 100%);
}
.lp-warp .cv_video {
  position: absolute;
  top: 8%;
  left: 3.8%;
  width: calc(350 / 750 * 100%);
}
.lp-warp .cv_bg {
  padding: 5% 7% 0 7%;
  background: url(../img/cv_bg.png) repeat-y;
  background-size: 100%;
}
.lp-warp .cv_txt {
  font-size: clamp(14px, calc((18 / 750) * 100vw), 20px);
  line-height: 1.6;
  text-align: center;
}

.lp-warp .cv_txt span {
  color: #ea3329;
  font-weight: 700;
}

/* ----------------------------------------------
 cv-btn-fixd
---------------------------------------------- */
.fixd-btn-container {
  position: fixed;
  bottom: 10px;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transition: opacity .5s;
  z-index: 99;
}
.fixd-btn-container.is-show {
  visibility: visible;
  opacity: 1;
}
.fixd-btn-container > .fixdbtn {
  display: block;
  position: relative;
  width: min(70%, 400px);
  margin: 0 auto;
}


/* ----------------------------------------------
 FAQ
---------------------------------------------- */
.sec_faq{
  margin-bottom: 10%;
}
.accordion{
  width: calc( 100% - calc( 100 / 750 * 100% ) );
  margin: 0 calc( 50 / 750 * 100% );
  margin-top: calc( 30 / 750 * 100% );
}
/* .accordion>dt{
  cursor: pointer;
} */
.accordion>dt img, .accordion>dd img{
  width: calc(64 / 630 * 100%);
}
.accordion>dt, .accordion>dd {
  padding: calc(45 / 750 * 100%) calc(100 / 750 * 100%) calc(38 / 750 * 100%) calc(60 / 750 * 100%);
  display: flex;
  align-items: flex-start;
  position: relative;
}
.accordion>dt p, .accordion>dd p{
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
  font-size: min(18px, calc(28 / 750 * 100vw));
  line-height: calc(48 / 28);
  margin-left: min(25px, calc(25 / 750 * 100vw));
  letter-spacing: 0.05em;
  margin-top: min(6px, calc(6 / 750 * 100vw));
}
.accordion>dt .faq-arrow{
  display: none;
  width: calc(23 / 750 * 100%);
  position: absolute;
  top: 46%;
  right: min(30px, calc(65 / 750 * 100vw));
  transition: .3s;
  transform: rotateX(180deg);
}
.accordion>dt.selected .faq-arrow{
  transition: .3s;
  transform: rotateX(0deg);
}
.accordion>dt {
  background-color: rgb(246, 245, 252);
}
.accordion>dd {
  background-color: #E2DEED;
  padding: calc(45 / 750 * 100%) calc(80 / 750 * 100%) calc(49 / 750 * 100%) calc(60 / 750 * 100%);
}
.accordion>dd img{
  box-shadow: 0px 0px 32px 0px rgba(224, 227, 231, 0.9);
}

/* ---------------------------------------------
 フォーム調整用
--------------------------------------------- */
/* 商品名・数量 非表示 */
.products_dt,
.lp_detail_inner {
  visibility: hidden;
  height: 0;
}

/* efo浮いてるテキスト非表示 */
#floatWin {
  display: none !important;
  visibility: hidden !important;
}

/* お届け日非表示 */
#regular-deliv_area {
  display: none !important;
}


/* ---------------------------------------------
 utility
--------------------------------------------- */
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5% !important;
}
.mb10 {
  margin-bottom: 10% !important;
}
.t_center {
  text-align: center;
}
.t_color {
  color: #f10484;
}

.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

@media (max-width: 750px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}


/* ---------------------------------------------
 アイコン
--------------------------------------------- */
/* アイコン くの字 */
.lp-warp .el_icnArrow {
  position: absolute;
  top: 45%;
  right: 6%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
  display: block;
  width: min(calc((20 / 750) * 100vw),20px);
  height: min(calc((20 / 750) * 100vw),20px);
  border-bottom: solid min(calc((3 / 750) * 100vw),3px) #fff;
  border-right: solid min(calc((3 / 750) * 100vw),3px) #fff;
}

/* ---------------------------------------------
 アコーディオン
--------------------------------------------- */
.lp-warp .bl_accordion_contents {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s ease;
}
.lp-warp .bl_accordion_contents.is_visible {
  max-height: 5000px;
}
.lp-warp .bl_accordion_btn {
  position: relative;
  width: 60%;
  margin: 10% auto 5% auto;
  cursor: pointer;
}
.lp-warp .bl_accordion_btn.is_active .el_icnArrow {
  -webkit-transform: translate(0, 0) rotate(-135deg);
  transform: translate(0, 0) rotate(-135deg);
}