@charset "UTF-8";
/* ------------------------------
	レスポンシブ
------------------------------ */
/* ------------------------------
	フォント
------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=MonteCarlo&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
/* ------------------------------
	カラー
------------------------------ */
/* ------------------------------
	レスポンシブ
------------------------------ */
/* ------------------------------
	フォント
------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=MonteCarlo&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
/* ------------------------------
	カラー
------------------------------ */
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
body {
  min-width: 1300px;
}
@media screen and (min-width: 769px) {
  body {
    overflow: auto;
  }
}
@media screen and (max-width: 768px) {
  body {
    min-width: 0;
  }
}

.p-top-productsbnr * {
  box-sizing: content-box;
}
.p-top-productsbnr .c-col__item,
.p-top-productsbnr .c-largeBanner--storebanner {
  box-sizing: border-box;
}

.lpmaincontent h1, .lpmaincontent h2, .lpmaincontent h3, .lpmaincontent h4, .lpmaincontent h5, .lpmaincontent h6, .lpmaincontent p, .lpmaincontent address,
.lpmaincontent ul, .lpmaincontent ol, .lpmaincontent li, .lpmaincontent dl, .lpmaincontent dt, .lpmaincontent dd,
.lpmaincontent table, .lpmaincontent th, .lpmaincontent td, .lpmaincontent img, .lpmaincontent figure, .lpmaincontent form {
  margin: 0;
  padding: 0;
  border: none;
  list-style-type: none;
}
.lpmaincontent h1, .lpmaincontent h2, .lpmaincontent h3, .lpmaincontent h4, .lpmaincontent h5, .lpmaincontent h6, .lpmaincontent p, .lpmaincontent address,
.lpmaincontent ul, .lpmaincontent ol, .lpmaincontent li, .lpmaincontent dl, .lpmaincontent dt, .lpmaincontent dd,
.lpmaincontent table, .lpmaincontent th, .lpmaincontent td, .lpmaincontent img, .lpmaincontent figure,
.lpmaincontent form, .lpmaincontent input, .lpmaincontent textarea, .lpmaincontent select, .lpmaincontent button, .lpmaincontent div {
  font-style: normal;
  font-weight: normal;
  font-family: "Shippori Mincho", "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  text-align: left;
  word-break: break-word;
  line-break: strict;
  line-height: 1;
  color: #464646;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent h1, .lpmaincontent h2, .lpmaincontent h3, .lpmaincontent h4, .lpmaincontent h5, .lpmaincontent h6, .lpmaincontent p, .lpmaincontent address,
  .lpmaincontent ul, .lpmaincontent ol, .lpmaincontent li, .lpmaincontent dl, .lpmaincontent dt, .lpmaincontent dd,
  .lpmaincontent table, .lpmaincontent th, .lpmaincontent td, .lpmaincontent img, .lpmaincontent figure,
  .lpmaincontent form, .lpmaincontent input, .lpmaincontent textarea, .lpmaincontent select, .lpmaincontent button, .lpmaincontent div {
    font-size: 4vw;
  }
}
.lpmaincontent *,
.lpmaincontent *:before,
.lpmaincontent *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.lpmaincontent table {
  border-spacing: 0;
}
.lpmaincontent input:not([type=file]), .lpmaincontent textarea, .lpmaincontent select, .lpmaincontent button {
  vertical-align: middle;
  background-color: #fff;
}
.lpmaincontent button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.lpmaincontent input:not([type=file]), .lpmaincontent select, .lpmaincontent button, .lpmaincontent textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
.lpmaincontent select::-ms-expand {
  display: none;
}
.lpmaincontent textarea {
  resize: none;
}
.lpmaincontent button, .lpmaincontent input[type=submit], .lpmaincontent input[type=button], .lpmaincontent select, .lpmaincontent label {
  cursor: pointer;
}
.lpmaincontent input[type=radio]:checked {
  appearance: none;
}
.lpmaincontent blockquote {
  margin: 0;
  padding: 0;
}
.lpmaincontent img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.lpmaincontent a,
.lpmaincontent button,
.lpmaincontent input[type=submit],
.lpmaincontent input[type=button] {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 769px) {
  .lpmaincontent a:hover,
  .lpmaincontent button:hover,
  .lpmaincontent input[type=submit]:hover,
  .lpmaincontent input[type=button]:hover {
    opacity: 0.7;
  }
  .lpmaincontent a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
.lpmaincontent .wrap {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .wrap {
    width: calc(100% - 10.6666666667vw);
    max-width: initial;
  }
}
.lpmaincontent .content {
  overflow: hidden;
}
.lpmaincontent .en {
  font-family: "MonteCarlo", "Shippori Mincho", "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}
.lpmaincontent .noto {
  font-family: "Noto Sans JP", "Shippori Mincho", "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}
.lpmaincontent .montserrat {
  font-family: "Montserrat", "MonteCarlo", "Shippori Mincho", "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}
.lpmaincontent .c-contentWidth {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .lpmaincontent .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .lpmaincontent .pc {
    display: none !important;
  }
}
.lpmaincontent {
  /* ----------------------------------------------------------------------------------------------------
  *  ヘッダー
  * --------------------------------------------------------------------------------------------------*/
  /* ----------------------------------------------------------------------------------------------------
  *  フッター
  * --------------------------------------------------------------------------------------------------*/
  /* ----------------------------------------------------------------------------------------------------
  *  共通
  * --------------------------------------------------------------------------------------------------*/
}
.lpmaincontent .txt {
  line-height: 1.8;
}
.lpmaincontent .bold {
  font-weight: bold;
}
.lpmaincontent .txt_up {
  text-transform: uppercase;
}
.lpmaincontent .txt_noup {
  text-transform: none;
}
.lpmaincontent .txt_center {
  text-align: center;
}
.lpmaincontent .txt_right {
  text-align: right;
}
.lpmaincontent .txt_left {
  text-align: left;
}
.lpmaincontent .ib {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .lpmaincontent .pc_ib {
    display: inline-block;
  }
  .lpmaincontent .pc_tate {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
.lpmaincontent .tate {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .img img {
    width: 100%;
  }
  .lpmaincontent .sp_ib {
    display: inline-block;
  }
}
.lpmaincontent {
  /* ------------------------------
  	.box
  ------------------------------ */
}
.lpmaincontent .flex {
  display: flex;
  justify-content: space-between;
}
.lpmaincontent {
  /* ------------------------------
  	.fade
  ------------------------------ */
}
.lpmaincontent .fade .fade-up, .lpmaincontent .fade.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.lpmaincontent .fade.fade-on .fade-up, .lpmaincontent .fade.fade-on.fade-up {
  opacity: 1;
  transform: translateY(0);
}
.lpmaincontent .fade .fade-in, .lpmaincontent .fade.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.lpmaincontent .fade.fade-on .fade-in, .lpmaincontent .fade.fade-on.fade-in {
  opacity: 1;
}
.lpmaincontent .fade .d1 {
  transition-delay: 0.4s;
}
.lpmaincontent .fade .d2 {
  transition-delay: 0.8s;
}
.lpmaincontent .fade .d3 {
  transition-delay: 1.2s;
}
.lpmaincontent .fade .d4 {
  transition-delay: 1.6s;
}
.lpmaincontent .fade .d5 {
  transition-delay: 2s;
}

.lpmaincontent {
  padding: 0 0 180px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent {
    padding: 0 0 24vw;
  }
}
.lpmaincontent {
  /* ------------------------------
  	.mv
  ------------------------------ */
}
.lpmaincontent .mv {
  position: relative;
}
.lpmaincontent .mv .mv_box {
  position: relative;
  width: 100%;
}
.lpmaincontent .mv .mv_box .mv_txt {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: txthide 12s infinite;
  animation-delay: 0.8s;
}
.lpmaincontent .mv .mv_img {
  width: 100%;
}
.lpmaincontent .mv .mv_img img {
  width: 100%;
}
.lpmaincontent .mv .mv01 {
  opacity: 0;
  animation: firstshow 0.4s forwards;
}
.lpmaincontent .mv .mv02 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: show 12s infinite;
  animation-delay: 0.8s;
}
.lpmaincontent .mv .mv02 .mv_txt {
  animation: txtshow 12s infinite;
  animation-delay: 0.8s;
}
@keyframes firstshow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes show {
  0%, 37.5% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  87.5% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes txtshow {
  0%, 52% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  87.5% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes txthide {
  0%, 2% {
    opacity: 0;
  }
  10%, 82.5% {
    opacity: 1;
  }
  87.5%, 100% {
    opacity: 0;
  }
}
.lpmaincontent {
  /* ------------------------------
  	.about
  ------------------------------ */
}
.lpmaincontent .about {
  position: relative;
  padding: 200px 0 165px;
  background: url(../img/about_bg01.jpg) no-repeat center top;
  background-size: 2000px;
}
@media screen and (min-width: 2000px) {
  .lpmaincontent .about {
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about {
    padding: 16.5333333333vw 0 22.9333333333vw;
    background: url(../img/about_bg01_sp.jpg) no-repeat center top;
    background-size: cover;
  }
}
.lpmaincontent .about::after {
  animation: 6s 0s shine linear infinite;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 75%);
  content: "";
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transform: skewX(-15deg);
  width: 100%;
}
@keyframes shine {
  20% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.lpmaincontent .about .wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 431px;
  padding-bottom: 26px;
  background: url(../img/about_bg02.png) no-repeat center top;
  background-size: 931px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .wrap {
    width: 94vw;
    height: 107.4666666667vw;
    margin-left: 4.4vw;
    padding-top: 9.8666666667vw;
    padding-bottom: 3.7333333333vw;
    background: url(../img/about_bg02_sp.png) no-repeat center top;
    background-size: 100%;
  }
}
.lpmaincontent .about .en {
  margin-bottom: 20px;
  text-align: center;
  color: #ad9544;
  font-size: 70px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .en {
    margin-bottom: 8.6666666667vw;
    font-size: 13.3333333333vw;
  }
}
.lpmaincontent .about .mintxt {
  position: absolute;
  top: 115px;
  right: 134px;
  text-align: center;
  color: #ad9544;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .mintxt {
    top: 14vw;
    right: 8vw;
    font-size: 2.4vw;
  }
}
.lpmaincontent .about .txt {
  text-align: center;
  line-height: 2;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .txt {
    font-size: 4.2666666667vw;
    line-height: 2.5;
    letter-spacing: 0;
  }
}
.lpmaincontent .about .fix_btn {
  position: fixed;
  z-index: 30;
  bottom: 10px;
  right: 20px;
  width: 209px;
  opacity: 0;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .fix_btn {
    right: 0;
    bottom: 0;
    width: 100%;
  }
}
.lpmaincontent .about .fix_btn.active {
  opacity: 1;
  visibility: visible;
}
.lpmaincontent .about .fix_btn img {
  width: 100%;
}
.lpmaincontent .about .fix_btn .fix_btn_box {
  position: relative;
  top: 0;
  display: block;
  transition: all 0.4s ease;
}
.lpmaincontent .about .fix_btn .btn_txt {
  position: absolute;
  left: 0;
  bottom: 60px;
  width: 100%;
  color: #cdaf64;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .about .fix_btn .btn_txt {
    bottom: 3.7333333333vw;
    padding-left: 0.6666666667vw;
    font-size: 2.9333333333vw;
    line-height: 1;
  }
}
.lpmaincontent .about .fix_btn a {
  display: block;
}
.lpmaincontent .about .fix_btn a:hover {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .lpmaincontent .about .fix_btn a:hover .fix_btn_box {
    top: -30px;
  }
}
.lpmaincontent {
  /* ------------------------------
  	.gifts
  ------------------------------ */
}
.lpmaincontent .gifts {
  position: relative;
  padding: 200px 0 250px;
  background: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts {
    padding: 26.6666666667vw 0 29.3333333333vw;
    background: url(../img/gifts_bg01_sp.jpg) no-repeat left top;
    background-size: cover;
  }
}
.lpmaincontent .gifts::before, .lpmaincontent .gifts::after {
  position: absolute;
  top: 0;
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: url(../img/gifts_bg01.jpg) no-repeat center top;
  background-size: 1448px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts::before, .lpmaincontent .gifts::after {
    display: none;
  }
}
.lpmaincontent .gifts::before {
  left: 0;
  background-position: left top;
}
.lpmaincontent .gifts::after {
  right: 0;
  background-position: right top;
}
.lpmaincontent .gifts .wrap {
  position: relative;
  z-index: 2;
}
.lpmaincontent .gifts .gifts_flow_box {
  margin-bottom: 190px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box {
    margin-bottom: 16.6666666667vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .txt {
  text-align: center;
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .txt {
    margin-top: 6vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 72px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow {
    gap: 8.6666666667vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item {
  flex-shrink: 0;
  position: relative;
  width: 170px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item {
    width: 20.2666666667vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item + .gifts_flow_item::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50px;
  margin: auto;
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(../img/gifts_flow_ico01.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item + .gifts_flow_item::before {
    left: -6vw;
    width: 3.3333333333vw;
    height: 3.3333333333vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item img {
  width: 100%;
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .num,
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .flow_txt {
  position: absolute;
  left: 0;
  color: #fff;
  text-align: center;
  width: 100%;
  font-size: 20px;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .num,
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .flow_txt {
    font-size: 2.4vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .num {
  top: 24px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .num {
    top: 2.4vw;
  }
}
.lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .flow_txt {
  bottom: 24px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_flow_box .gifts_flow .gifts_flow_item .flow_txt {
    bottom: 2.4vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 120px 15px;
  margin: 0 -16px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap {
    flex-direction: column;
    gap: 24vw;
    margin: 0 -4vw 0 -1.3333333333vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box {
  position: relative;
  width: 516px;
  margin-right: -16px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box {
    width: 100%;
    margin-right: 0;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -75px;
  margin: auto;
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  background: url(../img/gifts_flow_ico01.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box::after {
    bottom: -16vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .img {
  width: 100%;
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .img img {
  width: calc(100% + 5.3333333333vw);
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_txt {
  position: absolute;
  top: 150px;
  left: 0;
  width: 100%;
  padding-right: 20px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_txt {
    top: 40vw;
    padding-right: 4vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list {
  position: absolute;
  bottom: 75px;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 110px;
  width: 100%;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list {
    bottom: 24vw;
    flex-wrap: wrap;
    gap: 36vw 8vw;
    padding-right: 4vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list .gift_item {
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list .gift_item {
    font-size: 3.7333333333vw;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list .gift_item .bold {
  display: block;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box .gift_list .gift_item:nth-child(1) {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box.box01 {
    width: 1031px;
  }
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box.box01 .gift_txt {
    top: 40vw;
  }
}
@media screen and (min-width: 769px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box:nth-child(n+2)::after {
    display: none;
  }
}
.lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box:last-child::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .lpmaincontent .gifts .gifts_wrap .gifts_box_wrap .gifts_box.box03 {
    transition-delay: 0.4s;
  }
}
.lpmaincontent .gifts .gifts_wrap .note {
  text-align: center;
  margin-top: 50px;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .gifts .gifts_wrap .note {
    margin-top: 9.3333333333vw;
    font-size: 3.0666666667vw;
  }
}
.lpmaincontent {
  /* ------------------------------
  	.charm
  ------------------------------ */
}
.lpmaincontent .charm {
  position: relative;
  padding: 105px 0;
  background: linear-gradient(to bottom, #f5f5f5, #fff);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm {
    padding: 14.6666666667vw 0;
  }
}
.lpmaincontent .charm .charm_wrap {
  position: relative;
  z-index: 2;
  height: 1666px;
  background: url(../img/charm_bg01.png) no-repeat center center;
  background-size: 2000px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_wrap {
    height: 371.2vw;
    background: url(../img/charm_bg01_sp.png) no-repeat center center;
    background-size: 200vw;
  }
}
.lpmaincontent .charm .top_loop,
.lpmaincontent .charm .btm_loop {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  width: 100%;
  width: 2000px;
  height: 500px;
  display: flex;
  gap: 30px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop,
  .lpmaincontent .charm .btm_loop {
    left: 0;
    transform: none;
    width: 100vw;
    height: 29.3333333333vw;
    gap: 5.3333333333vw;
  }
}
.lpmaincontent .charm .top_loop .bg_img_box,
.lpmaincontent .charm .btm_loop .bg_img_box {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  will-change: transform;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img_box,
  .lpmaincontent .charm .btm_loop .bg_img_box {
    gap: 1.6vw;
  }
}
.lpmaincontent .charm .top_loop .bg_img,
.lpmaincontent .charm .btm_loop .bg_img {
  flex-shrink: 0;
}
.lpmaincontent .charm .top_loop .bg_img.txt_space, .lpmaincontent .charm .top_loop .bg_img.ico_min,
.lpmaincontent .charm .btm_loop .bg_img.txt_space,
.lpmaincontent .charm .btm_loop .bg_img.ico_min {
  margin-left: 15px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img.txt_space, .lpmaincontent .charm .top_loop .bg_img.ico_min,
  .lpmaincontent .charm .btm_loop .bg_img.txt_space,
  .lpmaincontent .charm .btm_loop .bg_img.ico_min {
    margin-left: 2.6666666667vw;
  }
}
.lpmaincontent .charm .top_loop .bg_img.txt_i,
.lpmaincontent .charm .btm_loop .bg_img.txt_i {
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img.txt_i,
  .lpmaincontent .charm .btm_loop .bg_img.txt_i {
    margin: 0.6666666667vw;
  }
}
.lpmaincontent .charm .top_loop .bg_img img,
.lpmaincontent .charm .btm_loop .bg_img img {
  max-width: initial;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img img,
  .lpmaincontent .charm .btm_loop .bg_img img {
    width: auto;
    height: 10.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img.ico_min img,
  .lpmaincontent .charm .btm_loop .bg_img.ico_min img {
    height: 8vw;
  }
}
.lpmaincontent .charm .top_loop {
  top: 0;
  align-items: flex-start;
}
.lpmaincontent .charm .top_loop .bg_img_box .bg_img.txt_d {
  margin-right: -5px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img_box .bg_img.txt_d {
    margin-right: -0.9333333333vw;
  }
}
.lpmaincontent .charm .top_loop .bg_img_box .bg_img.txt_y {
  margin-left: -15px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .top_loop .bg_img_box .bg_img.txt_y {
    margin-left: -2vw;
  }
}
@keyframes top_loop {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
.lpmaincontent .charm .btm_loop {
  bottom: 0;
  align-items: flex-end;
}
.lpmaincontent .charm .btm_loop .bg_img_box {
  flex-direction: row-reverse;
}
.lpmaincontent .charm .btm_loop .bg_img_box .bg_img img {
  transform: rotate(180deg);
}
.lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_space, .lpmaincontent .charm .btm_loop .bg_img_box .bg_img.ico_min {
  margin-left: 0;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_space, .lpmaincontent .charm .btm_loop .bg_img_box .bg_img.ico_min {
    margin-right: 2.6666666667vw;
  }
}
.lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_d {
  margin-right: -5px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_d {
    margin-right: -0.9333333333vw;
  }
}
.lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_y {
  margin-right: -15px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .btm_loop .bg_img_box .bg_img.txt_y {
    margin-right: -2vw;
  }
}
@keyframes btm_loop {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lpmaincontent .charm .charm_wrap {
  padding-top: 220px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_wrap {
    padding-top: 25.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .lpmaincontent .charm .charm_wrap .wrap {
    max-width: 1240px;
  }
}
.lpmaincontent .charm .charm_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box {
    flex-direction: column;
  }
}
.lpmaincontent .charm .charm_box .txt_box {
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box {
    display: contents;
  }
}
.lpmaincontent .charm .charm_box .txt_box .ttl {
  width: 319px;
  margin: 0 auto 25px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box .ttl {
    order: 1;
    width: 51.4666666667vw;
    margin-bottom: 5.8666666667vw;
  }
}
.lpmaincontent .charm .charm_box .txt_box .sub_ttl {
  margin-bottom: 55px;
  text-align: center;
  color: #cdaf64;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box .sub_ttl {
    order: 2;
    margin-bottom: 14vw;
    font-size: 3.7333333333vw;
  }
}
.lpmaincontent .charm .charm_box .txt_box .txt {
  text-align: center;
  font-size: 20px;
  color: #fff;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box .txt {
    order: 4;
    margin-top: 10.6666666667vw;
    font-size: 4.5333333333vw;
    line-height: 2.5;
  }
}
.lpmaincontent .charm .charm_box .txt_box .round_txt {
  margin: 50px auto 30px;
  display: inline-block;
  padding: 15px 30px;
  border: 1px solid #cdaf64;
  border-radius: 30px;
  color: #cdaf64;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box .round_txt {
    order: 5;
    margin: 6.6666666667vw auto 5.3333333333vw;
    padding: 2.6666666667vw 9.3333333333vw;
    border-radius: 6.6666666667vw;
  }
}
.lpmaincontent .charm .charm_box .txt_box .note {
  text-align: center;
  color: #cdaf64;
  font-size: 12px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .txt_box .note {
    order: 6;
    font-size: 3.0666666667vw;
    letter-spacing: 0;
  }
}
.lpmaincontent .charm .charm_box .img_box {
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .img_box {
    order: 3;
  }
}
.lpmaincontent .charm .charm_box .img_box .img {
  width: 650px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .img_box .img {
    width: 100%;
  }
}
.lpmaincontent .charm .charm_box .img_box .ico {
  position: absolute;
  top: -50px;
  right: -50px;
  width: 227px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_box .img_box .ico {
    top: -6.6666666667vw;
    right: -6.6666666667vw;
    width: 33.3333333333vw;
  }
}
.lpmaincontent .charm .charm_slide {
  display: flex;
  gap: 30px;
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_slide {
    gap: 4vw;
    margin-top: 12vw;
  }
}
.lpmaincontent .charm .charm_slide .charm_slide_box {
  flex-shrink: 0;
  display: flex;
  gap: 30px;
  animation: infinity-scroll-left 40s infinite linear;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_slide .charm_slide_box {
    gap: 4vw;
    animation: infinity-scroll-left 20s infinite linear;
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
.lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item {
  flex-shrink: 0;
  width: 400px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item {
    width: 57.8666666667vw;
  }
}
.lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item img {
  width: 100%;
}
.lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item:nth-child(1) {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item:nth-child(1) {
    margin-top: 4vw;
  }
}
.lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item:nth-child(3) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .lpmaincontent .charm .charm_slide .charm_slide_box .charm_slide_item:nth-child(3) {
    margin-top: 8vw;
  }
}