@charset "UTF-8";

:root {
  --main-color:#DFE8D8;
  --color-green:#708E55;
  --itemttl-color:#C5D6B7;
  --color-light-green:#EFF4EC;
  --btn-color:  #EFB562;
  --font-ja: "ryo-gothic-plusn", sans-serif;
  --font-ja-Mincho: "hiragino-mincho-pron", sans-serif;
  --font-en: "brandon-grotesque", sans-serif;
  --font-en-Lust-Stencil: "lust-stencil", serif;
}

@media only screen and (min-width: 768px) {
  #Wrap {
    width: 100%;
    padding-top: 14.2rem;
  }
}

#lp__contener .sp_only {
  display: none;
}
#lp__contener .pc_only {
  display: block;
}

.product-list-area .item_list .item_list__item {
  box-sizing: border-box !important;
}


/*----------共通設定 pc----------*/
* {
  font-feature-settings: "palt";
}

* > #lp__contener {
  font-family: var(--font);
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

#lp__contener * {
  box-sizing: border-box;
}

#lp__contener img {
  width: 100%;
}

#lp__contener a {
  text-decoration: none;
}

#lp__contener picture, #lp__contener a {
  display: block;
}

#lp__contener .overflow {
  position: relative;
  overflow-x: scroll;
    /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}

#lp__contener .overflow::-webkit-scrollbar {
  display:none;
}

.group-detail-area {
  width: 100% !important;
  margin: auto;
}

.only_pc {
  display: block;
}
.only_sp {
  display: none;
}


/* ============== ページ共通箇所 ============== */
#lp__contener {
  width: 100%;
  font-family: var(--font-ja);
  overflow: hidden;
  letter-spacing: 0.06em;
  color: var(--font-color);
  background: var(--main-color);
  color: #4D4D4D;
  padding-bottom: 5rem;
}
/* ============== ページ共通箇所 ============== */


/*----------LP_PC----------*/

/* ==================================== MV ==================================== */
#lp__contener .mv .mv_blk {
  position: relative;
  width: 100rem;
  margin: 5rem auto 0;
  line-height: 0;
  overflow: hidden;
  z-index: 0;
  /* mask-image: url(../img/mv_mask_pc.svg);
  mask-size: cover; */
}

#lp__contener .mv .mv_blk .fadein-load {
  transition-delay: 1.25s;
}

#lp__contener .mv .mv_blk::before {
  position: absolute;
  display: block;
  content: "";
  width: 96rem;
  height: 54rem;
  border-radius: 0 8rem;
  border: #EFF4EC solid 0.1rem;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#lp__contener .mv .mv_img {
  border-radius: 0 15rem;
  animation: zoomUp 8s linear 0s 1 normal both; 
}

#lp__contener .mv .mv_blk img {
  animation: main_ani ease-in-out 1s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#lp__contener .mv_lead {
  margin-top: 6.8rem;
  letter-spacing: 0.08em;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 2;
  color: var(--color-green);
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

#lp__contener .mv .mv_blk h1 {
  position: absolute;
  font-family: var(--font-en-Lust-Stencil);
  font-size: 11rem;
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1;
  top: 44rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.5));
  white-space: nowrap;
}

/*--- loop_area ---*/
#lp__contener .loop_area {
  position: relative;
  margin-top: 7rem;
  z-index: 0;
  padding: 2rem 0 1.25rem;
  border: var(--color-light-green) solid 0.1rem;
  border-left: none;
  border-right: none;
}

#lp__contener .loop_area::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--color-light-green);
  top: 0;
  right: 0;
  z-index: 1;
  transition: ease-in-out 2s;
}

#lp__contener .loop_area.fadein.fade-active::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 100%;
  background: var(--color-light-green);
  top: 0;
  right: 0;
  z-index: 1;
}

#lp__contener .loop_area.second {
  position: relative;
  margin-top: 0;
  z-index: 0;
  padding: 2rem 0 1.25rem;
  border: var(--color-light-green) solid 0.1rem;
  border-left: none;
  border-right: none;
}

#lp__contener .loop_area.second::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--color-light-green);
  top: 0;
  left: 0;
  z-index: 1;
  transition: ease-in-out 2s;
}

#lp__contener .loop_area.second.fadein.fade-active::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 100%;
  background: var(--color-light-green);
  top: 0;
  left: 0;
  z-index: 1;
}

.loop {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  animation: loop 20s infinite linear 1s both;
}

.loop.second {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  animation: loop_2 20s infinite linear 1s both;
}

.slider li {
  font-size: 7rem;
  font-weight: 600;
  color: var(--color-light-green);
  font-family: var(--font-en-Lust-Stencil);
  display: inline-block;
  word-break: keep-all;
  white-space: nowrap;
}

.slider-wrap {
  width: 100vw;
  overflow: hidden;
}

@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%); 
  }
}

@keyframes loop_2 {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0); 
  }
}

/* ==================================== content_area ==================================== */
#lp__contener .content_area {
  padding: 12rem 0 5rem;
  margin-top: 0;
}

#lp__contener .item_area {
  width: 100rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 5rem;
  row-gap: 10rem;
}

#lp__contener .item_area .item_blk {
  position: relative;
  width: 47.5rem;
  background: #F8F7F1;
  border-radius: 2rem;
  padding: 0 3rem 5rem;
  z-index: 0;
}

#lp__contener .item_area .item_blk::before {
  position: absolute;
  display: block;
  content: "";
  width: 20rem;
  height: 5.5rem;
  background: url(../img/item_bg.svg) no-repeat;
  background-size: 100%;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#lp__contener .item_blk .item_number {
  position: absolute;
  top: -2.6rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: var(--itemttl-color);
} 

#lp__contener .item_blk .item_number p {
  font-family: var(--font-en-Lust-Stencil);
  font-size: 2rem;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.02em;
} 

#lp__contener .item_blk:nth-of-type(1) .item_number h4 {
  margin-left: 0;
}

#lp__contener .item_blk .item_number h4 {
  position: relative;
  font-family: var(--font-en-Lust-Stencil);
  font-size: 5rem;
  font-style: italic;
  letter-spacing: 0.02em;
  margin-top: 0.5rem;
  margin-left: -1rem;
  z-index: 0;
} 

#lp__contener .item_blk .item_number h4::before {
  position: absolute;
  display: block;
  content: "";
  width: 3rem;
  border: var(--itemttl-color) solid 0.05rem;
  top: 2.5rem;
  left: -4.5rem;
  z-index: 1;
} 

#lp__contener .item_blk .item_number h4::after {
  position: absolute;
  display: block;
  content: "";
  width: 3rem;
  border: var(--itemttl-color) solid 0.05rem;
  top: 2.5rem;
  right: -4.5rem;
  z-index: 1;
} 

#lp__contener .item_blk .lead_text {
  text-align: justify;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.75;
  color: var(--color-green);
  margin-top: 7.2rem;
  letter-spacing: 0.06em;
} 

#lp__contener .item_blk .img {
  width: 28rem;
  margin: 3rem auto 0;
} 

#lp__contener .item_blk .point_area {
  margin: 3rem auto 0;
  display: flex;
  flex-wrap: wrap;
  column-gap: 2.5rem;
  row-gap: 0.5rem;
} 

#lp__contener .item_blk .point_area p {
  font-size: 1.6rem;
  line-height: 1.5;
} 

#lp__contener .item_blk .point_area .sml {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.5rem;
  padding-left: 2.5rem;
} 

#lp__contener .item_blk .point_area .text_indent {
  text-indent: -2rem;
  padding-left: 2rem;
} 

#lp__contener .item_blk .point_area .check_icon {
  display: inline-block;
  background: url(../img/check_icon.svg) no-repeat;
  background-size: 100%;
  width: 1.5rem;
  height: 1.4rem;
  margin-right: 1rem;
} 

#lp__contener .item_blk .item_info {
  border-top: dotted 0.2rem #DFE7D8;
  margin-top: 2rem;
  padding-top: 2.2rem;
} 

#lp__contener .item_info .brand {
  font-family: var(--font-en);
  font-size: 1.8rem;
  letter-spacing: 0.02em;
} 

#lp__contener .item_info .name {
  font-family: var(--font-ja);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 1rem;
} 

#lp__contener .price_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.4rem;
} 

#lp__contener .price_wrap .price {
  font-family: var(--font-en);
  font-size: 3rem;
  letter-spacing: 0.02em;
} 

#lp__contener .price_wrap .price .tax {
  font-family: var(--font-ja);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
} 

#lp__contener .price_wrap .page_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20rem;
  height: 4.5rem;
  font-size: 1.7rem;
  font-weight: 500;
  background: linear-gradient(135deg, #9db785 0%, #7a9f59 100%);
  border-radius: 50rem;
  color: #fff;
  z-index: 0;
} 

#lp__contener .price_wrap .page_btn::before {
  position: absolute;
  display: block;
  content: "";
  background: url(../img/btn_arrow.svg) no-repeat;
  background-size: 100%;
  width: 2.5rem;
  height: 0.6rem;
  top: 40%;
  right: 1.5rem;
  z-index: 1;
  transition: ease-in-out 0.5s;
} 

#lp__contener .price_wrap .page_btn:hover::before {
  right: 1rem;
} 


/*----------アニメーション----------*/
.fadein {
  opacity: 0;
  transition: opacity 1s 0s, transform 1s 0s;
}

.fadein.fade-active {
  opacity: 1;
  transition: opacity 1s 0s, transform 1s 0s;
}

.fadeup {
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 1s 0s, transform 1s 0s;
}

.fadeup.fade-active {
  opacity: 1;
  transform: translateY(0) translateZ(0);
  transition: opacity 1s 0s, transform 1s 0s;
}

.fadein-load ,
.fadein {
  opacity: 0;
}

.fadein-load.fade-active ,
.fadein.fade-active {
  opacity: 1;
  transition: ease-in-out 1s;
}

.fadeup-load {
  opacity: 0;
  transform: translateY(5rem);
  transition: ease-in-out 1.5s;
}

.fadeup-load.fade-active {
  opacity: 1;
  transform: translateY(0) translateZ(0);
}


/*----------共通設定 tablet----------*/
@media only screen and (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}
/*----------共通設定 sp----------*/
@media only screen and (max-width: 767px) {
  .only_pc {
    display: none;
  }
  .only_sp {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  #lp__contener .section__inner {
    max-width: 100%;
  }
}


/*----------LP SP----------*/
@media only screen and (max-width: 768px) {

  #lp__contener .sp_only {
    display: block;
  }
  #lp__contener .pc_only {
    display: none;
  }

  #lp__contener {
    letter-spacing: 0;
  }

  #lp__contener {
    padding-bottom: calc(30 *(100vw/390));
}

/* ==================================== MV ==================================== */
#lp__contener .mv .mv_blk {
  width: 100%;
  margin: calc(2*(100vw / 390)) auto 0;
}

#lp__contener .mv .mv_blk .fadein-load {
  transition-delay: 1.25s;
}

#lp__contener .mv .mv_blk::before {
  position: absolute;
  display: block;
  content: "";
  width: calc(365*(100vw / 390));
  height: calc(365*(100vw / 390));
  border-radius: 0 calc(40*(100vw / 390));
  border: #EFF4EC solid 0.1rem;
  top: calc(12*(100vw / 390));
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#lp__contener .mv .mv_img {
  border-radius: 0 calc(50*(100vw / 390));
  animation: zoomUp 8s linear 0s 1 normal both;
}

#lp__contener .mv .mv_blk img {
  animation: main_ani ease-in-out 0.8s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#lp__contener .mv_lead {
  margin-top: calc(50*(100vw / 390));
  letter-spacing: 0.08em;
  text-align: center;
  font-size: calc(16*(100vw / 390));
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

#lp__contener .mv .mv_blk h1 {
  position: absolute;
  font-size: calc(65*(100vw / 390));
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1;
  top: calc(240*(100vw / 390));
  left: calc(196*(100vw / 390));
  z-index: 1;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.5));
}

/*--- loop_area ---*/
#lp__contener .loop_area {
  position: relative;
  margin-top: calc(50*(100vw / 390));
  z-index: 0;
  padding: calc(12*(100vw / 390)) 0 calc(6*(100vw / 390));
  border: var(--color-light-green) solid calc(1*(100vw / 390));
  border-left: none;
  border-right: none;
}

#lp__contener .loop_area.second {
  position: relative;
  margin-top: 0;
  z-index: 0;
  padding: calc(12*(100vw / 390)) 0 calc(6*(100vw / 390));
  border: var(--color-light-green) solid calc(1*(100vw / 390));
  border-left: none;
  border-right: none;
}

#lp__contener .loop {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(20 *(100vw/390));
  animation: loop 10s infinite linear 1s both;
}

#lp__contener .loop.second {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(20 *(100vw/390));
  animation: loop_2 10s infinite linear 1s both;
}

#lp__contener .slider li {
  font-size: calc(40*(100vw / 390));
}

#lp__contener .slider-wrap {
  width: 100vw;
  overflow: hidden;
}

@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%); 
  }
}

@keyframes loop_2 {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0); 
  }
}

/* ==================================== content_area ==================================== */
#lp__contener .content_area {
  padding: calc(86*(100vw / 390)) 0 calc(30*(100vw / 390));
}

#lp__contener .item_area {
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 0;
  row-gap: calc(85*(100vw / 390));
}

#lp__contener .item_area .item_blk {
  position: relative;
  width: calc(350*(100vw / 390));
  background: #F8F7F1;
  border-radius: calc(20*(100vw / 390));
  padding: 0 calc(25*(100vw / 390)) calc(35*(100vw / 390));
  z-index: 0;
}

#lp__contener .item_area .item_blk::before {
  position: absolute;
  display: block;
  content: "";
  width: calc(180*(100vw / 390));
  height: calc(55*(100vw / 390));
  background: url(../img/item_bg.svg) no-repeat;
  background-size: 100%;
  top: calc(-50*(100vw / 390));
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#lp__contener .item_blk .item_number {
  position: absolute;
  top: calc(-20*(100vw / 390));
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: var(--itemttl-color);
} 

#lp__contener .item_blk .item_number p {
  font-size: calc(18*(100vw / 390));
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.02em;
} 

#lp__contener .item_blk .item_number h4 {
  position: relative;
  font-size: calc(45*(100vw / 390));
  font-style: italic;
  letter-spacing: 0.02em;
  margin-left: calc(-5*(100vw / 390));
  z-index: 0;
} 

#lp__contener .item_blk .item_number h4::before {
  position: absolute;
  display: block;
  content: "";
  width: calc(30*(100vw / 390));
  border: var(--itemttl-color) solid calc(0.5*(100vw / 390));
  top: calc(20*(100vw / 390));
  left: calc(-45*(100vw / 390));
  z-index: 1;
} 

#lp__contener .item_blk .item_number h4::after {
  position: absolute;
  display: block;
  content: "";
  width: calc(30*(100vw / 390));
  border: var(--itemttl-color) solid calc(0.5*(100vw / 390));
  top: calc(20*(100vw / 390));
  right: calc(-45*(100vw / 390));
  z-index: 1;
} 

#lp__contener .item_blk .lead_text {
  font-size: calc(16*(100vw / 390));
  line-height: 1.75;
  margin-top: calc(75*(100vw / 390));
} 

#lp__contener .item_blk .img {
  width: calc(250*(100vw / 390));
  margin: calc(23*(100vw / 390)) auto 0;
} 

#lp__contener .item_blk .point_area {
  margin: calc(25*(100vw / 390)) auto 0;
  display: block;
} 

#lp__contener .item_blk .point_area p {
  font-size: calc(16 *(100vw/390));
} 

#lp__contener .item_blk .point_area p:nth-of-type(n+2) {
  margin-top: calc(8*(100vw / 390));
} 

#lp__contener .item_blk .point_area .sml {
  display: block;
  font-size: calc(11 *(100vw/390));
  margin-top: calc(5*(100vw / 390));
  padding-left: 0;
} 

#lp__contener .item_blk .point_area .text_indent {
  text-indent: calc(-20*(100vw / 390));
  padding-left: calc(20*(100vw / 390));
} 

#lp__contener .item_blk .point_area .check_icon {
  display: inline-block;
  background: url(../img/check_icon.svg) no-repeat;
  background-size: 100%;
  width: calc(15*(100vw / 390));
  height: calc(14*(100vw / 390));
  margin-right: calc(8*(100vw / 390));
} 

#lp__contener .item_blk .item_info {
  border-top: dotted calc(2*(100vw / 390)) #DFE7D8;
  margin-top: calc(13*(100vw / 390));
  padding-top: calc(22*(100vw / 390));
} 

#lp__contener .item_info .brand {
  font-family: var(--font-en);
  font-size: calc(15*(100vw / 390));
  letter-spacing: 0.02em;
} 

#lp__contener .item_info .name {
  font-family: var(--font-ja);
  font-size: calc(15*(100vw / 390));
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: calc(5*(100vw / 390));
} 

#lp__contener .price_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: calc(16*(100vw / 390));
} 

#lp__contener .price_wrap .price {
  font-size: calc(25*(100vw / 390));
} 

#lp__contener .price_wrap .price .tax {
  font-size: calc(12*(100vw / 390));
} 

#lp__contener .price_wrap .page_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(160*(100vw / 390));
  height: calc(45*(100vw / 390));
  font-size: calc(17*(100vw / 390));
  background: linear-gradient(135deg, #9db785 0%, #7a9f59 100%);
  border-radius: calc(50*(100vw / 390));
  color: #fff;
  z-index: 0;
} 

#lp__contener .price_wrap .page_btn::before {
  display: none;
} 

#lp__contener .price_wrap .page_btn:hover::before {
  right: 1rem;
} 


.disp_modal_btn {
  width: calc(75*(100vw / 430));
  height: calc(35*(100vw / 430));
  padding: calc(40*(100vw / 430)) 0 0;
}


}



/* IE Only */
/* @media only screen and (min-width: 768px) {
  .lp__contener.win .point_accordion .point_inner::before {
    top: -2.6rem !important;
  }
} */
