@charset "UTF-8";

/*all----------------------------*/
html {
  font-size: 62.5%;
}

body {
  -webkit-tap-highlight-color: transparent;
}

#Wrap {
  width: auto;
}

#header_bottom .inner {
  width: 100%;
}

footer {
  position: relative;
  z-index: 2;
}

:root {
  --color_main: #2D2927;
  --color_01: #0A4916;
  --color_02: #719965;
  --color_03: #719365;/*パス上文字の色*/
  --color_04: #FFF0AC;/*マーカーラインの色*/
  --color_05: #A8BF80;/*MV下キャンペーンの斜め線、コンテンツバナーを囲うボーダー*/
  --color_06: #719965;/*スクロールバーの色*/
  --color_07: #AAC180;/*現品プレゼントの色*/
  --color_bg01: #EAE8DA;
  --color_bg02: #C0CEA3;
  --color_bg03: #F2F2DF;
  --color_bg04: #FFFAEE;
  --color_ttl01: #FFB5B5;/*春*/
  --color_ttl02: #FFFFFF;/*の*/
  --color_ttl03: #BFD292;/*アップデート*/
  --color_ttl04: #E6EC97;/*計画*/
}

.LP_page * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
  letter-spacing: .075em;
  font-feature-settings: "palt";
}

.LP_page {
  position: relative;
  background: #fff;
  color: var(--color_main);
  font-family: "Noto Sans JP", sans-serif;
  overflow-x: clip;
  opacity: 0;
  transition: opacity 1s;
}

.LP_page.active {
  opacity: 1;
}

.LP_page picture {
  display: block;
  font-size: 0;
}

.LP_page a {
  display: block;
}

.LP_page img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.LP_page .sec_inner {
  width: 130rem;
  margin: 0 auto
}

.LP_page .txt_eng {
  font-family: "Yeseva One", serif;
  letter-spacing: .01em;
}

.LP_page .activePoint {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s, transform 1s;
}

.LP_page .activePoint.active {
  opacity: 1;
  transform: translateY(0);
}
/*----------------------------all*/

/*mv-----------------------------*/
.mv_area {
  position: relative;
  z-index: 1;
  padding-bottom: 11rem;
  background: url(../img/bg_001.jpg) top center / cover no-repeat;
}

.mv_area::before {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  /*height: calc(100% - 79.2rem);*/
  height: 100%;
  background: var(--color_bg01);
  opacity: .7;
  content: "";
}

.main_ttl_wrap {
  position: relative;
  z-index: 1;
  height: 79.2rem;
  margin-bottom: 6rem;
}

.main_ttl_wrap a {
  height: 100%;
}

.main_ttl_wrap a:hover {
  opacity: 1 !important;
}

.main_ttl_wrap::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_001.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_001.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: url(../img/mv.jpg) center center / 120% 120% no-repeat;
  transition: background-size 3s;
  content: "";
}

.LP_page.active .main_ttl_wrap::before {
  background-size: 100% 100%;
}

.main_ttl_wrap::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_002.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_002.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_03);
  content: "";
}

.main_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: .3rem;
  width: 72rem;
  height: 10rem;
  margin-top: 22rem;
  overflow: hidden;
}

.main_ttl::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_003.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_003.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_01);
  opacity: .8;
  content: "";
  transform: translateY(101%);
  transition: transform .5s;
  transition-delay: .8s;
}

.LP_page.active .main_ttl::before {
  transform: translateY(0);
}


.main_ttl svg {
  position: relative;
  filter: drop-shadow(0 0 6px rgba(64, 71, 41, .5));
  transform: translateY(100%);
}

@keyframes appearance {
  0% {
    transform: translateY(100%)
  }

  85% {
    transform: translateY(-8%)
  }

  100% {
    transform: translateY(0)
  }
}

.LP_page.active .main_ttl svg {
  animation: appearance .6s 1.6s forwards;
}

.main_ttl .txt_1 {
  width: 8rem;
}

.main_ttl .txt_1 path {
  fill: var(--color_ttl01);
}

.main_ttl .txt_2 {
  width: 4.6rem;
}

.main_ttl .txt_2 path {
  fill: var(--color_ttl02);
}

.main_ttl .txt_3 {
  width: 30rem;
}

.main_ttl .txt_3 path {
  fill: var(--color_ttl03);
}

.main_ttl .txt_4 {
  width: 15.2rem;
}

.main_ttl .txt_4 path {
  fill: var(--color_ttl04);
}

.campaign_summary_wrap {
  position: relative;
  z-index: 1;
  width: 83rem;
  margin: 8rem auto;
}

.campaign_summary_wrap::before,
.campaign_summary_wrap::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/shape_005.svg) center center / 100% auto no-repeat;
  filter: drop-shadow(0 0 6px rgba(64, 71, 41, .2));
  content: "";
}

.campaign_summary_wrap dl {
  position: relative;
  padding: 4.5rem 12rem;
}

.campaign_summary_wrap dl::before,
.campaign_summary_wrap dl::after {
  position: absolute;
  width: 7rem;
  height: .1rem;
  transform: rotate(-45deg);
  background: var(--color_05);
  content: "";
}

.campaign_summary_wrap dl::before {
  top: 0;
  left: 0;
  margin: 1.8rem 0 0 -2rem;
}

.campaign_summary_wrap dl::after {
  bottom: 0;
  right: 0;
  margin: 0 -2rem 1.8rem 0;
}

.campaign_summary_wrap dt {
  margin-bottom: 2rem;
  font-size: 5rem;
  text-align: center;
  color: var(--color_01);
}

.campaign_summary_wrap dd {
  text-align: center;
  font-size: 2rem;
}

.campaign_summary_wrap dd .txt_accent {
  color: var(--color_02);
}

.campaign_summary_wrap dd .txt_B {
  font-weight: 700;
}

.campaign_summary_wrap dd .campaign_summary {
  margin-bottom: 2.5rem;
  line-height: 2;
}

.LP_page .markerline {
  position: relative;
  z-index: 1;
}

.LP_page .markerline::before {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 1rem);
  height: 40%;
  background: var(--color_04);
  content: "";
}

.campaign_summary_wrap dd .campaign_summary .markerline {
  margin-right: 1rem;
  font-weight: 500;
  font-size: 1.8rem;
}

.campaign_summary_wrap dd .campaign_summary .txt_LL {
  font-size: 8.6rem;
  letter-spacing: 0;
}

.campaign_summary_wrap dd .campaign_summary .txt_L {
  font-size: 7.2rem;
}

.campaign_summary_wrap dd .campaign_summary .txt_M {
  font-size: 5.8rem;
  letter-spacing: 0;
}

.campaign_summary_wrap dd .campaign_period {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  border-top: dotted var(--color_main);
  border-bottom: dotted var(--color_main);
  border-width: .1rem;
  margin-bottom: 2.5rem;
  padding: .8rem 0;
  font-size: 1.6rem;
}

.campaign_summary_wrap dd .campaign_period .txt_L {
  font-weight: 500;
  font-size: 2.2rem;
}

.campaign_summary_wrap dd .campaign_explanation {
  line-height: 2;
}

.campaign_summary_wrap dd .campaign_explanation .txt_accent {
  font-size: 3.5rem;
}

.campaign_summary_wrap .sec_btn {
  margin: 2.5rem auto 0;
}

.campaign_summary_wrap .sec_btn a {
  width: 43.5rem;
  height: 7rem;
}


.main_lead {
  font-size: 2rem;
  line-height: 2.3;
  text-align: center;
}
/*-----------------------------mv*/

/*anchor link--------------------*/
.anchor-link_area {
  padding: 6rem 0;
  background: var(--color_bg02);
}

.anchor-link_area ul {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.anchor-link_area ul li {
  width: calc((100% - 5rem) / 3);
}

.anchor-link_area ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 1.2rem;
  height: 15rem;
  background: #fff;
  transition: border-radius .5s;
}

.anchor-link_area ul li a:hover {
  opacity: 1 !important;
  border-radius: 15rem;
}

.anchor-link_area ul li a .txt_eng {
  display: block;
  margin-bottom: .5rem;
  font-size: 4.5rem;
  color: var(--color_01);
}

.anchor-link_area ul li a .txt_S {
  display: grid;
  place-items: center;
  min-height: 4.8rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}
/*--------------------anchor link*/

/*ranking------------------------*/
.each_sec {
  padding: 16rem 0 12rem;
}

.each_sec#Ranking {
  background: var(--color_bg03);
}

.sec_ttl {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto 1rem;
  font-weight: 400;
  font-size: 8.2rem;
  text-align: center;
  color: var(--color_01);
}

.sec_ttl::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 26rem;
  height: 12rem;
  margin: -7rem 0 0 -8rem;
  mask-image: url(../img/shape_004.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_004.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_03);
  content: "";
}

.sec_lead {
  margin-bottom: 7rem;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.5 ;
  text-align: center;
}

.sec_btn {
  width: fit-content;
}

.each_sec .sec_btn {
  margin: 7rem auto 0;
}

.sec_btn a {
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 1.5rem;
  border: solid var(--color_main);
  border-width: .1rem;
  background: #fff;
  font-weight: 500;
  font-size: 2.2rem;
  transition: background-color .3s, color .3s;
}

.each_sec .sec_btn a {
  width: 50rem;
  height: 10rem;
}

.sec_btn a:hover {
  opacity: 1 !important;
  background: var(--color_02);
  color: #fff;
}

.sec_btn a::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 2rem;
  margin-right: 2.5rem;
  mask-image: url(../img/icon_001.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/icon_001.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_main);
  content: "";
  transition: background-color .3s, margin .3s;
}

.sec_btn a:hover::before {
  background: #fff;
  margin-right: 1.5rem;
}

.item_list {
  margin-top: -1rem;
}

.simplebar-wrapper {
  padding-bottom: 5rem;
}

.simplebar-track {
  width: 45rem;
  height: 1.2rem !important;
  border-radius: 10rem;
  margin: 0 auto;
  padding: 0;
  background: #D7D7D7;
}

.simplebar-content-wrapper {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.simplebar-content-wrapper::-webkit-scrollbar {
  display:none;
}

.simplebar-track .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0;
  height: 100%;
  cursor: pointer;
}

.simplebar-track .simplebar-scrollbar::before {
  top: 0 ;
  right: 0 !important;
  bottom: 0 ;
  left: 0 !important;
  height: 100%;
  background: var(--color_06);
}

.simplebar-track.simplebar-vertical {
  display: none;
}

.item_list__inner {
  display: grid;
  grid-template-columns: repeat(8, 32.5rem);
  gap: 2.5rem;
  padding: 1rem 0 1rem 1rem;
}

.item_list__item {
  position: relative;
  padding-bottom: 7rem;
  background: #fff;
  filter: drop-shadow(0 0 5px rgba(64, 71, 41, .25));
}

.item_list__item:nth-last-of-type(1)::before {
  position: absolute;
  top: 0;
  left: 100%;
  width: 1rem;
  height: 1rem;
  content: "";
}

.icn_rank {
  display: none;
}

.item_list__cat {
  display: grid;
  place-items: center;
  height: 3.5rem;
  margin-bottom: 2.5rem;
  background: var(--color_bg02);
  font-size: 1.8rem;
}

.item_list__title {
  margin-bottom: 1.5rem;
  padding: 0 1.5rem;
}

.item_list__title a {
  font-size: 1.8rem;
  line-height: 1.5;
}

.item_list__item .content_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 1.5rem 2rem;
}

.item_list__price {
  font-size: 1.8rem;
}

.item_list__price .txt_tax {
  font-size: 1.5rem;
}

.linkBtn a {
  display: grid;
  place-items: center;
  border-radius: 1rem;
  border: solid var(--color_main);
  border-width: .1rem;
  width: 14rem;
  height: 4.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0;
  transition: background-color .3s, color .3s;
}

.linkBtn a:hover {
  opacity: 1 !important;
  background: var(--color_02);
  color: #fff;
}

.soldout {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 32.5rem;
  background: rgba(0, 0, 0, .4);
  font-family: "Yeseva One", serif;
  font-size: 2.6rem;
  color: #fff;
}

.reviewFeature__RankingParts {
  display: none;
}


/*------------------------ranking*/

/*contents-----------------------*/
.each_sec#SpecialContents {
  position: relative;
  padding: 0 0 60rem;
}

#SpecialContents .for_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
}

#SpecialContents .for_bg::before {
  display: block;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100lvh;
  background: url(../img/bg_002.jpg) center center / cover no-repeat;
  content: "";
}

#SpecialContents .upperLayer {
  position: relative;
  padding: 16rem 0 12rem;
  background: var(--color_bg04);
}

.contents_detail {
  display: flex;
  align-items: center;
  gap: 4.5rem;
  padding: 0 5rem;
}

.contents_bnr {
  border: solid var(--color_05);
  border-width: .1rem;
  width: 63rem;
}

.contents_bnr a {
  padding: 1.5rem;
}

.contents_detail .txt_wrap {
  flex: 1;
}

.contents_ttl {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 3.5rem;
  line-height: 1.6;
  color: var(--color_02);
}

.contents_lead {
  font-size: 2rem;
  line-height: 1.7;
}

/*-----------------------contents*/

/*special event------------------*/
.each_sec#SpecialEvent {
  background: var(--color_bg03);
}

.each_event:nth-of-type(n+2) {
  margin-top: 12rem;
}

.each_event > dt {
  position: relative;
  margin-bottom: 5rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  font-size: 5.5rem;
}

.each_event > dt::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  width: .4rem;
  height: .4rem;
  background: var(--color_main);
  content: "";
}

.each_event > dt::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  width: .4rem;
  height: .4rem;
  background: var(--color_main);
  content: "";
}

.each_event > dt .ttl_inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 2rem;
  width: fit-content;
  margin: 0 auto;
  padding: 0 3rem;
}

.each_event > dt .ttl_inner::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-top: dotted var(--color_main);
  border-width: .1rem;
  width: 130rem;
  height: .1rem;
  content: "";
}

.each_event > dt .ttl_inner::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color_bg03);
  content: "";
}

.each_event > dt .txt_eng {
  font-weight: 400;
  font-size: 9rem;
  color: var(--color_02);
}

.each_event .event_caption {
  font-weight: 500;
  font-size: 2rem;
  line-height: 2;
  text-align: center;
}

.each_event .event_caption .txt_accent {
  font-size: 2.4rem;
  color: var(--color_02);
}

.each_event .event_caption .notes_list {
  margin-top: 4rem;
}

.each_event .event_caption .notes_list li {
  font-size: 1.8rem;
  line-height: 1.5;
}

.each_event .event_caption .notes_list li:nth-of-type(n+2) {
  margin-top: 1.5rem;
}

.itm_list_wrap {
  margin-top: 6rem;
}

.itm_list {
  /*display: grid;*/
  /*grid-template-columns: repeat(18, 32.5rem);*/
  /*gap: 2.5rem;*/
  padding: 1rem 0 1rem 1rem;
  overflow: hidden;
}

/*
.event_02 .itm_list {
  grid-template-columns: repeat(14, 32.5rem);
}
*/

.itm_list .slick-list {
  overflow: visible;
}

.itm_list .slick-track {
  display: flex;
}

.itm_list .slick-slide {
  height: auto !important;
}

.itm_list li {
  position: relative;
  width: 32.5rem;
  margin-right: 2.5rem;
  padding-bottom: 3rem;
  background: #fff;
  filter: drop-shadow(0 0 5px rgba(64, 71, 41, .25));
}

/*
.itm_list li:nth-last-of-type(1)::before {
  position: absolute;
  top: 0;
  left: 100%;
  width: 1rem;
  height: 1rem;
  content: "";
}
*/

.itm_list li .itm_img {
  margin-bottom: 3rem;
}

.itm_list li .txt_wrap {
  padding: 0 1.5rem;
}

.itm_list li .itm_name {
  margin-bottom: 1.5rem;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 1.5;
}

.LP_page .accordion_wrap.active {
  position: relative;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s;
}

.LP_page .accordion_outside.open .accordion_wrap.active {
  grid-template-rows: 1fr;
}

.LP_page .accordion_wrap.active::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3rem;
  background: linear-gradient(transparent, #fff);
  content: "";
}

.LP_page .accordion_outside.open .accordion_wrap.active::before {
  display: none;
}

.LP_page .accordion_inner.active {
  height: 5rem;
  overflow: hidden;
}

.LP_page .accordion_inner.active.release {
  height: auto;
}

.LP_page .accordion_btn {
  display: none;
}

.LP_page .accordion_btn.active {
  position: relative;
  display: block;
  width: fit-content;
  margin: 1.5rem auto 0;
  padding-right: 3.5rem;
  font-size: 2.2rem;
  color: var(--color_02);
  cursor: pointer;
}

.LP_page .accordion_btn::before,
.LP_page .accordion_btn::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 2rem;
  height: .1rem;
  background: var(--color_02);
  content: "";
}

.LP_page .accordion_btn::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform .3s;
}

.LP_page .accordion_outside.open .accordion_btn::after {
  transform: translateY(-50%) rotate(0);
}

.LP_page .accordion_btn span {
  text-decoration: underline;
}

.LP_page .accordion_btn .to_open {
  display: block;
}

.LP_page .accordion_btn .to_close {
  display: none;
}

.LP_page .accordion_outside.open .accordion_btn .to_open {
  display: none;
}

.LP_page .accordion_outside.open .accordion_btn .to_close {
  display: block;
}

.itm_list li .itm_caption {
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1.5;
  color: var(--color_02);
}

.itm_list li .itm_caption .notes {
  display: block;
  margin-top: .5rem;
  font-size: 1.3rem;
  line-height: 1.4;
}


/*------------------special event*/

/*calendar-----------------------*/
.each_sec#Calendar {
  background: var(--color_bg04);
}

.schedule_table {
  margin: 0 auto;
  border: solid var(--color_02);
  border-width: .1rem;
  border-spacing: 0;
}

.schedule_table tr {
  display: flex;
}

.schedule_table th {
  display: grid;
  place-items: center;
  width: 20rem;
  height: 11rem;
  background: var(--color_02);
  font-weight: 400;
  font-size: 3.5rem;
  color: var(--color_04);
}

.schedule_table th .txt_S {
  margin-left: .8rem;
  font-size: 2.2rem;
}

.schedule_table th:nth-of-type(n+2) {
  border-left: solid var(--color_04);
  border-width: .1rem;
}

.schedule_table td {
  width: 20rem;
  padding: 1.5rem 0 2.5rem;
  background: #fff;
}

.schedule_table figure {
  position: relative;
}

.schedule_table figure::before,
.schedule_table figure::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 16rem;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  content: "";
}

.schedule_table .march10th::before {
  mask-image: url(../img/img_001_1.svg);
  -webkit-mask-image: url(../img/img_001_1.svg);
  background: var(--color_01);
}

.schedule_table .march10th::after {
  mask-image: url(../img/img_001_2.svg);
  -webkit-mask-image: url(../img/img_001_2.svg);
  background: var(--color_02);
}

.schedule_table .march11th::before {
  background: url(../img/img_002_1.svg) center center / cover no-repeat;
}

.schedule_table .march11th::after {
  mask-image: url(../img/img_002.svg);
  -webkit-mask-image: url(../img/img_002.svg);
  background: var(--color_02);
}

.schedule_table .march13th::before {
  mask-image: url(../img/img_003_1.svg);
  -webkit-mask-image: url(../img/img_003_1.svg);
  background: var(--color_07);
}

.schedule_table .march13th::after {
  mask-image: url(../img/img_003.svg);
  -webkit-mask-image: url(../img/img_003.svg);
  background: var(--color_01);
}

.schedule_table .march11th img,
.schedule_table .march13th img {
  opacity: 0;
}

.schedule_table td figcaption {
  margin-top: 1.5rem;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
}

.schedule_table td:nth-of-type(n+2) {
  border-left: solid var(--color_02);
  border-width: .1rem;
}
/*-----------------------calendar*/

/*campaign-----------------------*/
.each_sec#Campaign {
  position: relative;
  z-index: 1;
  background: url(../img/bg_001.jpg) top center / cover no-repeat;
}

.each_sec#Campaign::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color_bg01);
  opacity: .75;
  content: "";
}

.cp-detail_list {
  padding: 0 15rem;
}

.cp-detail_list > li:nth-of-type(n+2) {
  margin-top: 4.5rem;
}

.cp-detail_list dl {
  display: flex;
  gap: 3rem;
  font-size: 2rem;
}

.cp-detail_list dt {
  display: grid;
  place-items: center;
  border: solid var(--color_main);
  border-width: .1rem;
  border-radius: 1rem;
  width: 21.5rem;
  height: 4.4rem;
  font-weight: 500;
  letter-spacing: .05em;
}

.cp-detail_list dd {
  flex: 1;
  margin-top: 1rem;
  letter-spacing: .025em;
}

.cp-detail_list dd .brand_list {
  display: flex;
  gap: 1.2rem;
  margin-top: -1rem;
}

.cp-detail_list dd .brand_list li.brand_ck {
  width: 19.6rem;
}

.cp-detail_list dd .brand_list li.brand_bp {
  width: 10.4rem;
}

.cp-detail_list dd .brand_list li.brand_mk {
  width: 20.4rem;
}

.cp-detail_list dd .notes_list li {
  line-height: 1.6;
}
/*-----------------------campaign*/

.back-to-top {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 12.6rem;
  height: 12.6rem;
  margin: 0 2rem 2rem 0;
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}

.back-to-top.active {
  opacity: 1;
  pointer-events: auto;
}

.back-to-top::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_006.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_006.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_03);
  content: "";
  animation: rotate 20s infinite linear;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.back-to-top span {
  position: relative;
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  background: #fff;
  filter: drop-shadow(0 0 6px rgba(64, 71, 41, .2));
  transition: background-color .3s;
  cursor: pointer;
}

.back-to-top span:hover {
  background: var(--color_02);
}

.back-to-top span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  width: 6rem;
  height: 4rem;
  margin-top: .5rem;
  mask-image: url(../img/icon_001.svg);  
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask-image: url(../img/icon_001.svg);
  -webkit-mask-repeat:  no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background: var(--color_02);
  content: "";
  transition: background-color .3s;
}

.back-to-top span:hover::before {
  background: #fff;
}

.back-to-top span::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3.5rem;
  height: .2rem;
  margin-top: 1.5rem;
  background: var(--color_02);
  content: "";
  transition: background-color .3s;
}

.back-to-top span:hover::after {
  background: #fff;
}


/*Smart phone---------------------------------------------*/
@media screen and  (max-width:768px) {
/*all----------------------------*/
.LP_page .only_pc {
  display: none;
}

#share {
  z-index: 5 !important;
  right: auto !important;
  left: 5%;
}

.share-txt {
  display: none;
}

.LP_page .sec_inner {
  width: auto;
}

.LP_page .activePoint {
  transform: translateY(calc(80 * (100vw / 750)));
}

/*----------------------------all*/

/*mv-----------------------------*/
.mv_area {  
  padding-bottom: calc(140 * (100vw / 750));
  background: url(../img/bg_001_sp.jpg) top center / cover no-repeat;
}

.mv_area::before {
  /*height: calc(100% - calc(1200 * (100vw / 750)));*/
}

.main_ttl_wrap {
  height: calc(1200 * (100vw / 750));
  margin-bottom: calc(120 * (100vw / 750));
}

.main_ttl_wrap::before {
  mask-image: url(../img/shape_001_sp.svg);  
  -webkit-mask-image: url(../img/shape_001_sp.svg);
  background: url(../img/mv_sp.jpg) center center / 120% 120% no-repeat;
}

.main_ttl_wrap::after {
  mask-image: url(../img/shape_002_sp.svg);  
  -webkit-mask-image: url(../img/shape_002_sp.svg);
}

.main_ttl {
  gap: calc(6 * (100vw / 750));
  width: calc(570 * (100vw / 750));
  height: calc(80 * (100vw / 750));
  margin-top: calc(240 * (100vw / 750));
}

.main_ttl .txt_1 {
  width: calc(64 * (100vw / 750));
}

.main_ttl .txt_2 {
  width: calc(36.8 * (100vw / 750));
}

.main_ttl .txt_3 {
  width: calc(240 * (100vw / 750));
}

.main_ttl .txt_4 {
  width: calc(121.6 * (100vw / 750));
}

.campaign_summary_wrap {
  width: calc(700 * (100vw / 750));
  margin: calc(120 * (100vw / 750)) auto;
}

.campaign_summary_wrap::before,
.campaign_summary_wrap::after {
  background: url(../img/shape_005_sp.svg) center center / 100% auto no-repeat;
}

.campaign_summary_wrap dl {
  padding: calc(70 * (100vw / 750)) calc(30 * (100vw / 750));
}

.campaign_summary_wrap dl::before,
.campaign_summary_wrap dl::after {
  width: calc(70 * (100vw / 750));
  height: calc(2 * (100vw / 750));
}

.campaign_summary_wrap dl::before {
  margin: calc(16 * (100vw / 750)) 0 0 calc(-16 * (100vw / 750));
}

.campaign_summary_wrap dl::after {
  margin: 0 calc(-16 * (100vw / 750)) calc(16 * (100vw / 750)) 0;
}

.campaign_summary_wrap dt {
  margin-bottom: calc(40 * (100vw / 750));
  font-size: calc(70 * (100vw / 750));
}

.campaign_summary_wrap dd {
  font-size: calc(28 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_summary {
  margin-bottom: calc(30 * (100vw / 750));
}

.LP_page .markerline::before {
  width: calc(100% + calc(20 * (100vw / 750)));
}

.campaign_summary_wrap dd .campaign_summary .markerline {
  margin-right: calc(20 * (100vw / 750));
  font-size: calc(30 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_summary .txt_LL {
  font-size: calc(152 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_summary .txt_L {
  font-size: calc(128 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_summary .txt_M {
  font-size: calc(102 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_period {
  gap: calc(20 * (100vw / 750));
  border-width: calc(2 * (100vw / 750));
  margin-bottom: calc(30 * (100vw / 750));
  padding: calc(15 * (100vw / 750)) 0;
  font-size: calc(22 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_period .txt_L {
  font-size: calc(26 * (100vw / 750));
}

.campaign_summary_wrap dd .campaign_explanation .txt_accent {
  font-size: calc(50 * (100vw / 750));
}

.campaign_summary_wrap .sec_btn {
  margin: calc(40 * (100vw / 750)) auto 0;
}

.campaign_summary_wrap .sec_btn a {
  width: calc(550 * (100vw / 750));
  height: calc(100 * (100vw / 750));
}

.main_lead {
  font-size: calc(27 * (100vw / 750));
  line-height: 1.8;
}
/*-----------------------------mv*/

/*anchor link--------------------*/
.anchor-link_area {
  padding: calc(100 * (100vw / 750)) calc(50 * (100vw / 750));
}

.anchor-link_area ul {
  display: block;
}

.anchor-link_area ul li {
  width: auto;
}

.anchor-link_area ul li:nth-of-type(n+2) {
  margin-top: calc(25 * (100vw / 750));
}

.anchor-link_area ul li a {
  border-radius: calc(18 * (100vw / 750));
  height: calc(150 * (100vw / 750));
}

.anchor-link_area ul li a:hover {
  border-radius: calc(150 * (100vw / 750));
}

.anchor-link_area ul li a .txt_eng {
  margin-bottom: calc(15 * (100vw / 750));
  font-size: calc(50 * (100vw / 750));
}

.anchor-link_area ul li a .txt_S {
  min-height: unset;
  font-size: calc(22 * (100vw / 750));
  line-height: 1;
}
/*--------------------anchor link*/

/*ranking------------------------*/
.each_sec {
  padding: calc(250 * (100vw / 750)) 0 calc(160 * (100vw / 750));
}

.sec_ttl {
  margin: 0 auto calc(15 * (100vw / 750));
  font-size: calc(96 * (100vw / 750));
}

.sec_ttl::before {
  width: calc(364 * (100vw / 750));
  height: calc(168 * (100vw / 750));
  margin: calc(-90 * (100vw / 750)) 0 0 calc(-100 * (100vw / 750));
}

.sec_lead {
  margin-bottom: calc(150 * (100vw / 750));
  font-size: calc(35 * (100vw / 750));
}

.each_sec .sec_btn {
  margin: calc(100 * (100vw / 750)) auto 0;
}

.sec_btn a {
  border-radius: calc(20 * (100vw / 750));
  border-width: calc(2 * (100vw / 750));
  font-size: calc(30 * (100vw / 750));
}

.each_sec .sec_btn a {
  width: calc(600 * (100vw / 750));
  height: calc(120 * (100vw / 750));
}

.sec_btn a::before {
  width: calc(60 * (100vw / 750));
  height: calc(40 * (100vw / 750));
  margin-right: calc(20 * (100vw / 750));
}

.sec_btn a:hover::before {
  margin-right: calc(10 * (100vw / 750));
}

.item_list {
  margin-top: calc(-20 * (100vw / 750));
}

.simplebar-wrapper {
  padding-bottom: calc(70 * (100vw / 750));
}

.simplebar-track {
  width: calc(450 * (100vw / 750));
  height: calc(13 * (100vw / 750)) !important;
  border-radius: calc(20 * (100vw / 750));
}

.item_list__inner {
  grid-template-columns: repeat(8, calc(435 * (100vw / 750)));
  gap: calc(25 * (100vw / 750));
  padding: calc(20 * (100vw / 750)) 0 calc(20 * (100vw / 750)) calc(25 * (100vw / 750));
}

.item_list__item {
  padding-bottom: calc(100 * (100vw / 750));
}

.item_list__item:nth-last-of-type(1)::before {
  width: calc(25 * (100vw / 750));
  height: calc(25 * (100vw / 750));
}

.item_list__cat {
  height: calc(45 * (100vw / 750));
  margin-bottom: calc(30 * (100vw / 750));
  font-size: calc(24 * (100vw / 750));
}

.item_list__title {
  margin-bottom: calc(15 * (100vw / 750));
  padding: 0 calc(20 * (100vw / 750));
}

.item_list__title a {
  font-size: calc(24 * (100vw / 750));
}

.item_list__item .content_wrap {
  padding: 0 calc(20 * (100vw / 750)) calc(25 * (100vw / 750));
}

.item_list__price {
  font-size: calc(24 * (100vw / 750));
}

.item_list__price .txt_tax {
  font-size: calc(15 * (100vw / 750));
}

.linkBtn a {
  border-radius: calc(12 * (100vw / 750));
  border-width: calc(2 * (100vw / 750));
  width: calc(188 * (100vw / 750));
  height: calc(60 * (100vw / 750));
  font-size: calc(27 * (100vw / 750));
}

.soldout {
  height: calc(435 * (100vw / 750));
  font-size: calc(40 * (100vw / 750));
}

/*------------------------ranking*/

/*contents-----------------------*/
.each_sec#SpecialContents {
  padding: 0 0 calc(776 * (100vw / 750));
}

#SpecialContents .for_bg::before {
  background: url(../img/bg_002_sp.jpg) center center / cover no-repeat;
}

#SpecialContents .upperLayer {
  padding: calc(250 * (100vw / 750)) 0 calc(160 * (100vw / 750));
}

.contents_detail {
  display: block;
  padding: 0 calc(25 * (100vw / 750));
}

.contents_bnr {
  border-width: calc(2 * (100vw / 750));
  width: auto;
  margin-bottom: calc(60 * (100vw / 750));
}

.contents_bnr a {
  padding: calc(15 * (100vw / 750));
}

.contents_ttl {
  margin-bottom: calc(20 * (100vw / 750));
  font-size: calc(40 * (100vw / 750));
}

.contents_lead {
  font-size: calc(30 * (100vw / 750));
  line-height: 1.5;
}

/*-----------------------contents*/

/*special event------------------*/
.each_event:nth-of-type(n+2) {
  margin-top: calc(200 * (100vw / 750));
}

.each_event > dt {
  width: calc(655 *(100vw / 750));
  margin: 0 auto calc(80 * (100vw / 750));
  font-size: calc(55 * (100vw / 750));
  text-align: center;
}

.each_event > dt::before {
  top: 0;
  transform: translateY(0);
  width: calc(5 * (100vw / 750));
  height: calc(5 * (100vw / 750));
  margin-top: calc(48 * (100vw / 750));
}

.each_event > dt::after {
  top: 0;
  transform: translateY(0);
  width: calc(5 * (100vw / 750));
  height: calc(5 * (100vw / 750));
  margin-top: calc(48 * (100vw / 750));
}

.each_event > dt .ttl_inner {
  display: block;
  width: 100%;
  padding: 0;
  line-height: 1.4;
}

.each_event > dt .ttl_inner::before {
  top: 0;
  transform: translate(-50%, 0);
  border-width: calc(2 * (100vw / 750));
  width: 100%;
  height: calc(2 * (100vw / 750));
  margin-top: calc(50 * (100vw / 750));
}

.each_event > dt .ttl_inner::after {
  display: none;
}

.each_event > dt .txt_eng {
  display: block;
  width: fit-content;
  padding: 0 calc(40 * (100vw / 750));
  margin: 0 auto calc(30 * (100vw / 750));
  background: var(--color_bg03);
  font-size: calc(110 * (100vw / 750));
}

.each_event .event_caption {
  font-size: calc(30 * (100vw / 750));
  line-height: 1.6;
}

.each_event .event_caption .txt_accent {
  font-size: calc(34 * (100vw / 750));
}

.each_event .event_caption .notes_list {
  margin-top: calc(30 * (100vw / 750));
}

.each_event .event_caption .notes_list li {
  font-size: calc(24 * (100vw / 750));
}

.each_event .event_caption .notes_list li:nth-of-type(n+2) {
  margin-top: calc(20 * (100vw / 750));
}

.itm_list_wrap {
  margin-top: calc(120 * (100vw / 750));
}

.itm_list {
  padding: calc(20 * (100vw / 750)) 0 calc(20 * (100vw / 750)) calc(25 * (100vw / 750));
}

.itm_list li {
  width: calc(435 * (100vw / 750));
  margin-right: calc(40 * (100vw / 750));
  padding-bottom: calc(40 * (100vw / 750));
}

.itm_list li .itm_img {
  margin-bottom: calc(30 * (100vw / 750));
}

.itm_list li .txt_wrap {
  padding: 0 calc(15 * (100vw / 750));
}

.itm_list li .itm_name {
  margin-bottom: calc(20 * (100vw / 750));
  font-size: calc(24 * (100vw / 750));
}

.LP_page .accordion_wrap.active::before {
  height: calc(36 * (100vw / 750));
}

.LP_page .accordion_inner.active {
  height: calc(72 * (100vw / 750));
}

.LP_page .accordion_btn.active {
  margin: calc(15 * (100vw / 750)) auto 0;
  padding-right: calc(45 * (100vw / 750));
  font-size: calc(28 * (100vw / 750));
}

.LP_page .accordion_btn::before,
.LP_page .accordion_btn::after {
  width: calc(26 * (100vw / 750));
  height: calc(2 * (100vw / 750));
}

.itm_list li .itm_caption {
  font-size: calc(24 * (100vw / 750));
}

.itm_list li .itm_caption .notes {
  margin-top: calc(10 * (100vw / 750));
  font-size: calc(20 * (100vw / 750));
}


/*------------------special event*/

/*calendar-----------------------*/

.schedule_table {
  border-width: calc(2 * (100vw / 750));
}

.schedule_table tbody {
  display: flex;
}

.schedule_table tr {
  display: grid;
}

.schedule_table th {
  width: calc(176 * (100vw / 750));
  height: calc(184 * (100vw / 750));
  font-size: calc(62 * (100vw / 750));
  text-align: center;
}

.schedule_table th .txt_S {
  display: block;
  margin: calc(4 * (100vw / 750)) 0 0 0;
  font-size: calc(37 * (100vw / 750));
}

.schedule_table th:nth-of-type(n+2) {
  border-top: solid var(--color_04);
  border-left: none;
  border-width: calc(2 * (100vw / 750));
}

.schedule_table td {
  width: calc(524 * (100vw / 750));
  height: calc(184 * (100vw / 750));
  padding: 0 calc(10 * (100vw / 750)) 0;
}

.schedule_table figure {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.schedule_table figure img {
  width: calc(230 * (100vw / 750));
  height: 100%;
}

.schedule_table figure::before,
.schedule_table figure::after {
  width: calc(230 * (100vw / 750));
  height: 100%;
}


.schedule_table td figcaption {
  flex: 1;
  margin-top: 0;
  font-size: calc(30 * (100vw / 750));
}

.schedule_table td:nth-of-type(n+2) {
  border-top: solid var(--color_02);
  border-left: none;
  border-width: calc(2 * (100vw / 750));
}
/*-----------------------calendar*/

/*campaign-----------------------*/
.each_sec#Campaign {
  background: url(../img/bg_001_sp.jpg) top center / cover no-repeat;
}

.cp-detail_list {
  padding: 0 calc(25 * (100vw / 750));
}

.cp-detail_list > li:nth-of-type(n+2) {
  margin-top: calc(80 * (100vw / 750));
}

.cp-detail_list dl {
  display: block;
  font-size: calc(30 * (100vw / 750));
}

.cp-detail_list dt {
  border-width: calc(2 * (100vw / 750));
  border-radius: calc(10 * (100vw / 750));
  width: calc(380 * (100vw / 750));
  height: calc(76 * (100vw / 750));
  margin: 0 auto calc(40 * (100vw / 750));
  font-size: calc(35 * (100vw / 750));
}

.cp-detail_list dd {
  margin-top: 0;
  line-height: 1.4;
  text-align: center;
}

.cp-detail_list dd .brand_list {
  display: block;
  margin-top: 0;
}

.cp-detail_list dd .brand_list li {
  margin: 0 auto;
}

.cp-detail_list dd .brand_list li:nth-of-type(n+2) {
  margin-top: calc(40 * (100vw / 750));
}

.cp-detail_list dd .brand_list li.brand_ck {
  width: calc(350 * (100vw / 750));
}

.cp-detail_list dd .brand_list li.brand_bp {
  width: calc(180 * (100vw / 750));
}

.cp-detail_list dd .brand_list li.brand_mk {
  width: calc(364 * (100vw / 750));
}

.cp-detail_list dd .notes_list li {
  text-align: left;
}
/*-----------------------campaign*/

.back-to-top {
  width: calc(164 * (100vw / 750));
  height: calc(164 * (100vw / 750));
  margin: 0 calc(25 * (100vw / 750)) calc(25 * (100vw / 750)) 0;
}

.back-to-top span {
  width: calc(106 * (100vw / 750));
  height: calc(106 * (100vw / 750));
}

.back-to-top span::before {
  width: calc(75 * (100vw / 750));
  height: calc(50 * (100vw / 750));
  margin-top: calc(6 * (100vw / 750));
}

.back-to-top span::after {
  width: calc(50 * (100vw / 750));
  height: calc(3 * (100vw / 750));
  margin-top: calc(20 * (100vw / 750));
}


}

/*---------------------------------------------Smart phone*/

/*PC------------------------------------------------------*/
@media screen and  (min-width:769px) {
  .only_sp {
    display: none;
  }
}
/*------------------------------------------------------PC*/

/*レスポンシブ＆タブレット対応-------------------------------*/
@media screen and (max-width: 1600px){
  html {
    font-size: calc(10 * (100vw / 1600));
  }
}
/*-------------------------------レスポンシブ＆タブレット対応*/
