@charset "utf-8";
/*
 common
============================================*/
.all_page{
  width: 100%;
  min-width: 1024px;
  overflow: hidden;
}
.all_contents{
  font-size: 14px;
  color: #333;
}

.main_section{
  position: relative;
  padding: 64px 0;
  overflow: hidden;
}
.main_section2{
  position: relative;
  padding: 72px 0 56px;
  overflow: hidden;
}
.keyword_area{
  padding-top: 80px;
}
.shop_area{
  background-color: #EAF1F2;
}
.rule_area{
  padding: 20px 0 40px;
  background-color: #F7F7F7;
}

.main_section::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  /*padding: 0 500%;
  margin: 0 -500%;*/
  z-index: -2;
}
/*.main_section::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 500px;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  transform: translateX(-50%);
  margin-left: 50%;
  z-index: -1;
}*/
.appliance_area.main_section::before{
  background-color: #FFF7B6;
  background: linear-gradient(180deg, #FFF283 29.01%, #FFF7B6 42.64%);
}
.household_area.main_section::before{
  background-color: #F5F6DD;
  background: linear-gradient(180deg, #E8F8DC 27.18%, #F5F6DD 45.15%), linear-gradient(0deg, #E3F1D6 0%, #E3F1D6 100%);
}
.food_area.main_section::before{
  background-color: #FFF1E1;
  background: linear-gradient(180deg, #FCB96D 0%, #FFF1E1 57.69%);
}

.section_inner{
  min-width: 1024px;
  max-width: 1024px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
  box-sizing: border-box;
}

/*
 loopSwiper
============================================*/
.loopSwiper{
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
}
.loopSwiper .loopSwiper_box ul {
  display: flex;
  justify-content: center;
}
/* loopSlide _slideimg */
.loopSwiper .loopSwiper_box ul li {
  width: 80px;
  height: 80px;
  list-style: none;
  text-align: center;
  box-sizing: border-box;
}
.loopSwiper .loopSwiper_box ul li + li{
  margin-left: 8px;
}
.loopSwiper ul li img {
  display: block;
  width: 100%;
  height: auto;
}

/*
 title
============================================*/
.main_title{
  position: relative;
  margin-bottom: 42px;
  padding: 88px 0 16px;
  font-size: 32px;
  font-weight: normal;
  color: #333;
  text-align: center;
  line-height: 1.1;
  font-family: RakutenSansJP2_W-Bold;
}
.main_title::before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  width: 162px;
  height: 56px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.appliance_area .main_title::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_01.png");
}
.household_area .main_title::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_02.png");
}
.food_area .main_title::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_03.png");
}
.main_title::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  width: 120px;
  height: 2px;
  background-color: #333;
}

.main_title2{
  position: relative;
  margin-bottom: 40px;
  padding: 0 0 16px;
  font-size: 32px;
  font-weight: normal;
  color: #29747F;
  text-align: center;
  line-height: 1.1;
  font-family: RakutenSansJP2_W-Bold;
}
.main_title2::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  width: 120px;
  height: 2px;
  background-color: #29747F;
}

.kv_logo_box{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 960px;
  height: 326px;
  padding: 32px 16px;
  border-radius: 24px;
  background: #F8DE00;
}
.appliance_area .kv_logo_box{
  background: #F8DE00;
}
.household_area .kv_logo_box{
  background-color: #F6F7DD;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/bg_kurashi.png");
}
.food_area .kv_logo_box{
  background-color: #F58A18;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/bg_syokufes.png");
}

.main_title_img{
  margin: 0 auto 16px;
  text-align: center;
}
.main_title_img a:hover{
  opacity: .8;
}
.main_title_img._syokufes{
  margin: -8px auto 0;
}

.default_title{
  font-size: 30px;
  font-weight: normal;
  text-align: center;
  margin-bottom: 32px;
  line-height: 1.1;
  font-family: RakutenSansJP2_W-Bold;
}

/* periodWrap01 */
.periodWrap01{
  margin: 24px 0 48px;
  line-height: 1.5;
}
.periodTxt{
  font-size: 17px;
  text-align: center;
}
.periodTxt + .periodTxt{
  margin-top: 16px;
}
.period_ttl{
  font-size: 18px;
  font-weight: bold;
}

/*
 coupon
============================================*/
.coupon_area{
  padding-top: 36px;
}
/* coupon01 */
.coupon01{
  padding: 0 0 32px;
}
.coupon_body,
.coupon_list_body{
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: filter;
}
.coupon_body::before,
.coupon_list_body::before{
  background-image: 
    radial-gradient(circle at center left, transparent 0, transparent 10px, #f37502 11px),
    radial-gradient(circle at center right, transparent 0, transparent 10px, #f37502 11px);
}
.coupon_link,
.coupon_list_link{
  box-sizing: border-box;
}
.coupon_link::before,
.coupon_list_link::before{
  top: 1px;
  left: 1px;
  width: calc(100% - 2.4px);
  height: calc(100% - 2.4px);
  background-image: 
    radial-gradient(circle at center left, transparent 0, transparent 11px, #ffffff 12px),
    radial-gradient(circle at center right, transparent 0, transparent 11px, #ffffff 12px);
}
.coupon_discount,
.coupon_list_discount{
  color: #f37502;
  font-size: 20px;
}
.coupon_text,
.coupon_list_text{
  padding: 8px 0;
  font-size: 12px;
  color: #ffffff;
  border: none;
  background-color: #f37502;
}
.coupon_list_text .coupon_list_filled,
.coupon_text .coupon_text_icon{
  color: #ffffff;
}
.coupon_discount > em,
.coupon_list_discount > em{
  font-size: 40px;
}
.coupon_title,
.coupon_list_title{
  font-size: 12px;
  margin: 0 18px 8px;
}
.coupon_note,
.coupon_list_note{
  margin-top: 6px;
  font-size: 12px;
}

/*coupon_color*/
.appliance_area .coupon_body::before,
.appliance_area .coupon_list_body::before{
  background-image: 
    radial-gradient(circle at center left, transparent 0, transparent 10px, #E92100 11px),
    radial-gradient(circle at center right, transparent 0, transparent 10px, #E92100 11px);
}
.appliance_area .coupon_discount,
.appliance_area .coupon_list_discount{
  color: #E92100;
}
.appliance_area .coupon_text,
.appliance_area .coupon_list_text{
  background-color: #E92100;
}

.household_area .coupon_body::before,
.household_area .coupon_list_body::before{
  background-image: 
    radial-gradient(circle at center left, transparent 0, transparent 10px, #564333 11px),
    radial-gradient(circle at center right, transparent 0, transparent 10px, #564333 11px);
}
.household_area .coupon_discount,
.household_area .coupon_list_discount{
  color: #564333;
}
.household_area .coupon_text,
.household_area .coupon_list_text{
  background-color: #564333;
}

.food_area .coupon_body::before,
.food_area .coupon_list_body::before{
  background-image: 
    radial-gradient(circle at center left, transparent 0, transparent 10px, #F37502 11px),
    radial-gradient(circle at center right, transparent 0, transparent 10px, #F37502 11px);
}
.food_area .coupon_discount,
.food_area .coupon_list_discount{
  color: #F37502;
}
.food_area .coupon_text,
.food_area .coupon_list_text{
  background-color: #F37502;
}

.cautionTxt_wrap{
  margin: 20px 16px 0;
}
.cautionTxt{
  display: block;
  font-size: 14px;
  color: #444;
  text-align: center;
}
.campaignLinkList{
  width: 380px;
  margin: 20px auto 0;
}
.campaignLinkList>li{
  margin-right: 0!important;
  box-sizing: border-box;
}
.campaignLinkList>li:nth-of-type(2n){
  border-left: 1px solid #D9D9D9;
}
.campaignLinkList li a{
  display: block;
  font-size: 14px;
  text-align: center;
  line-height: 1;
}
.campaignLinkList span{
  position: relative;
}

.pickUp_alcor{
  padding-top: 48px; 
}

/*
 btn
============================================*/
.default_btn{
  position: relative;
  display: block;
  margin: 0 auto;
  width: 440px;
  height: 64px;
  border-radius: 32px;
  text-decoration: none;
  text-align: center;
}
.default_btn > a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  border-radius: 32px;
  font-size: 22px;
  font-weight: bold;
  color: #fff!important;
  background-color: #1C1800;
  background: linear-gradient(116deg, #3CA1A3 11.14%, #29747F 90.21%);
  text-align: center;
  z-index: 1;
}
/* _wave */
.default_btn._wave{
  transition: .2s;
}
.default_btn._wave::before,
.default_btn._wave::after{
  content: "";
  position: absolute;
  display: block;
  width: 440px;
  height: 64px;
  top: 0;
  left: 0;
  border-radius: 32px;
  background: #98e8ec;
  transform: translate3d(0,0,0);
  /*pointer-events: none;*/
}
.default_btn._wave::before {
  animation: anime_wave 1s ease-out infinite;
}
.default_btn._wave::after {
  animation: anime_wave 1s ease-out 1s infinite;
}
@keyframes anime_wave {
  0% {
    transform: scale(.95);
    opacity: 1
  }
  90% {
    opacity: .1
  }
  to {
    transform: scale(1.15, 1.6);
    opacity: 0
  }
}
/* _upDown */
.default_btn._upDown > a{
  animation: anime_UpDown 0.8s infinite;
}
@keyframes anime_UpDown {
  0%   { transform: translateY(0px); }
  10%  { transform: translateY(4px); }
  20%  { transform: translateY(0px); }
  30%  { transform: translateY(4px); }
  40%  { transform: translateY(0px); }
}

.default_btn > a::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
  margin: auto;
  width: 9px;
  height: 9px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
.default_btn a:hover{
  opacity: .8;
  text-decoration: none;
}

/*
 index
============================================*/
.index{
  margin: 0 0 24px;
}
.index_title{
  margin-bottom: 32px;
  font-size: 30px;
  font-weight: normal;
  text-align: center;
  font-family: RakutenSansJP2_W-Bold;
}
.index_list{
  width: 782px;
  margin: 0 auto;
}
/*.index._button*/
.index_list li > a{
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  text-align: center;
  width: 100%;
  height: 103px;
  padding: 56px 0 0;
  border-radius: 12px;
  background-color: #1C1800;
  background: linear-gradient(116deg, #3CA1A3 11.14%, #29747F 90.21%);
  color: #fff;
  line-height: 1.3;
}
.index_list li > a span{
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 2px;
}
.index_list li > a .bottom_icon{
  font-size: 16px;
}
.index_list li > a::before{
  clip-path: none;
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  bottom: auto;
  left: 0;
  right: 0;
  width: 116px;
  height: 40px;
  margin: 0 auto;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.index_list li:nth-of-type(1) > a::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_01.png");
}
.index_list li:nth-of-type(2) > a::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_02.png");
}
.index_list li:nth-of-type(3) > a::before{
  background-image: url("https://r.r10s.jp/evt/event/genre/campaign/coupon/_pc/img/20260430/icon_03.png");
}

.index .index_list li a:hover{
  text-decoration: none;
  opacity: .8;
}

/*
 main_navi
============================================*/
.mainNavi_container[data-static=false][data-sticky=true] {
  background-color: transparent!important;
  box-shadow: none;
}
.mainNavi_container[data-static=false][data-sticky=true] .mainNavi_navi {
  overflow: visible;
  height: auto;
  margin-top: 10px;
}
.mainNavi_wrap .mainNavi_anchor_wrap {
  position: relative;
  width: 147px;
  height: 51px;
}
.mainNavi_wrap .mainNavi_anchor_wrap + .mainNavi_anchor_wrap {
  margin-left: 120px;
}
.mainNavi_wrap .mainNavi_anchor {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 117px;
  height: 40px;
  padding: 0 1px 1px 0;
  border: none!important;
  border-radius: 100px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all .3s ease;
}
.mainNavi_wrap .mainNavi_anchor::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1px);
  height: calc(100% - 1px);
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: -1;
}
.mainNavi_wrap .mainNavi_anchor span {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
}
.mainNavi_wrap .mainNavi_anchor span > img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mainNavi_wrap .mainNavi_anchor[data-in-viewport=true] {
  border-bottom: none!important;
  width: 146px;
  height: 51px;
}
.mainNavi_wrap .mainNavi_anchor:hover::before {
  background-color: rgba(255, 255, 255, 0.6);
}

/*
 floating_anchor
============================================*/
.floating_anchor a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  padding: 0;
  text-align: center;
  border-radius: 50%;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.1;
  color: #fff;
  background-color: #1C1800;
  background: linear-gradient(116deg, #3CA1A3 11.14%, #29747F 90.21%);
  box-shadow: 0 1.25px 6px #0003;
}
.floating_anchor a:hover{
  opacity: .8;
  text-decoration: none;
}

/*
 searchBox
============================================*/
.searchBox_wrap {
  margin: 0 auto;
  width: 754px;
  padding-top: 12px;
}
.radioList{
  margin-bottom: 24px;
}
.radioList li.radio_button{
  position: relative;
  display: inline-block;
}
.radioList input[type="radio"] {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0;
  width: 1px;
  height: 1px;
  z-index: -1; 
}
.radioList label {
  cursor: pointer;
  position: relative;
  display: block;
  padding: 9px 19px;
  border-radius: 20px;
  font-size: 14px;
  background-color: #fff;
  border: 1px solid #8A8A8A;
}
.radioList label > div{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.1;
}
.radioList label .custom_radioBtn{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border: 2px solid #D1D1D1;
  border-radius: 50%;
  background-color: #fff;
  text-align: center;
}
.radioList label .custom_radioBtn::after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ffffff;
  box-sizing: border-box;
}
.radioList label:hover .custom_radioBtn::after{
  background-color: #ccc;
  transition: all 0.2s ease-in-out;
}
.searchBox_wrap .radioList input:checked + label{
  background-color: #DFEAEC!important;
  border-color: #29747F!important;
}
.searchBox_wrap .radioList input:checked + label .custom_radioBtn{
  border: none!important;
  background-color: #29747F;
}
.searchBox_wrap .radioList input:checked + label .custom_radioBtn::after{
  background-color: #DFEAEC!important;
}

.searchBox_wrap .search_box {
  height: 56px;
  border: 1px solid #333;
  border-radius: 4px;
}
.searchBox_wrap .search_box_submit {
  padding: 0;
  width: 56px;
  background-color: #333;
}
.searchBox_wrap .search_input {
  padding-left: 16px;
  font-size: 14px;
}
.searchBox_wrap .search_input::placeholder {
  color: #999999;
}
.searchBox_wrap .search_box_ic {
  font-size: 22px;
  color: #fff;
}

/* keyword01 */
.keyword01{
  margin-top: 56px;
}
.keyword01 .keyword_list li a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 48px;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #29747F;
  background-color: #DFEAEC;
  line-height: 1.3;
  border-radius: 24px;
  border: 1px solid #29747F;
}
.keyword01 .keyword_list li a:hover{
  opacity: .8;
  text-decoration: none;
}

.related_list li{
  width: calc((100% - 48px) / 4);
}
.related_list li + li{
  margin-left: 16px;
}
.related_list li:nth-of-type(4n + 1){
  margin-left: 0;
}
.related_list li + li{
  margin-left: 16px;
}
.related_list li a:hover{
  opacity: .8;
  text-decoration: none;
}


.alcor_wrap{
  margin-bottom: 56px;
}
.alcor_item{
  border-radius: 12px;
  padding: 12px;
  background-color: #fff;
}

/*
 shop
============================================*/
.shop_wrap + .shop_wrap{
  margin-top: 16px;
}
.shop_btn{
  position: relative;
  width: 309px;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  border: 1px solid #333!important;
  border-radius: 28px;
  background-color: #EAF1F2;
}
.shop_btn > i{
  position: absolute;
  top: calc(50% - 7px);
  right: 32px;
  color: #333;
}

/*
 rule_area
============================================*/
.rule_area ._underPage,
.rule_area ._allCoupon_sp{
  display: none!important;
}
.rule_area ._allCoupon_pc{
  display: block!important;
}
