@charset "utf-8";

/* more js */
.more_wrap .more_item[data-is-active="false"] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.more_wrap .more_item.isAnimation {
  position: relative;
  opacity: 1;
  transition: .2s ease-in-out;
}
.more_button{
  display: flex;
  flex: 1 0 auto;
  justify-content: center;
  align-items: center;
  width: 200px;
  margin: 16px auto 0;
  padding: 16px 0 0;
  cursor: pointer;
  text-align: center;
  font-size: 16px;
}
.more_button p > span{
  display: inline-block;
  margin-right: 4px;
}
.more_button:hover p > span{
  text-decoration: underline;
}

/*
 common
============================================*/
html{overflow:auto;}
body{
  position:relative;
  min-width:1024px;
  overflow-x:hidden;
  color: #333;
}
a:hover{
  text-decoration: none;
}
.all_contents{
  font-size: 14px;
  color: #333;
}
.main_section{
  position: relative;
  padding: 80px 0;
}
.main_section::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 500%;
  margin: 0 -500%;
  z-index: -1;
}
.main_section.bg_color01::before{
  background-color: #f2ecdf;
}
.main_section.bg_color02::before{
  background-color: #f0f7f5;
}
.main_section.bg_rule::before{
  background-color: #f6f6f6;
}

/*
 genderTab
============================================*/
.genderTab{
  display: block;
  overflow: hidden;
  border-bottom: 1px solid #555555;
}
.genderTab_list{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 644px;
  margin: 0 auto;
}
.genderTab_list > li{
  width: calc((100% - 12px)/2);
}
.genderTab_list > li > a{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  border-radius: 8px 8px 0 0;
  font-size: 20px;
  font-weight: bold;
  color: #2a2224;
}
.genderTab_list > li.active{
  height: 64px;
}
.genderTab_list > li.border{
  height: 56px;
}
.genderTab_list > li.active > a{
  cursor: default;
  pointer-events: none; 
  border: none;
  color:#ffffff;
  background-color: #1b8e8a;
}
.genderTab_list > li.border > a{
  border: 1px solid #555555;
  border-bottom: none;
}

.genderTab_list > li.border a:hover{
  background-color: #f6f6f6;
}

/*
 title
============================================*/
.main_title{
  position: relative;
  margin-bottom: 40px;
  font-size: 34px;
  color: #1b8e8a;
  font-weight: bold;
  text-align: center;
}

.main_title_fukidashi{
  text-align: center;
}
.main_title_fukidashi > span{
  position: relative;
  display: inline-block;
  min-width: 187px;
  margin-bottom: 30px;
  padding: 10px 20px 10px 24px;
  border: 1px solid #1b8e8a;
  border-radius: 30px;
  font-size: 21px;
  font-weight: bold;
  color: #1b8e8a;
  background-color: #fff;
  text-align: center;
  box-sizing: border-box;
  line-height: 1.1;
}
.main_title_fukidashi > span::before {
  content: '';
  height: 0;
  width: 0;
  border: solid transparent;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  border-color: transparent;
  border-top-width: 7px;
  border-bottom-width: 7px;
  border-left-width: 7px;
  border-right-width: 7px;
  margin-left: -7px;
  margin-top: 0px;
  border-top-color: #1b8e8a;
  z-index: 1;
}
.main_title_fukidashi > span::after {
  content: '';
  height: 0;
  width: 0;
  border: solid transparent;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  border-color: transparent;
  border-top-width: 7px;
  border-bottom-width: 7px;
  border-left-width: 7px;
  border-right-width: 7px;
  margin-left: -7px;
  margin-top: -1.65px;
  border-top-color: #fff;
  z-index: 2;
}

.target_ttl{
  margin-bottom: 23px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}

.ranking_sub_ttl{
  /* margin-bottom: 28px; */
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}

/*
 mainNavi
============================================*/
.mainNavi_container{
  border-bottom: none!important;
}
.mainNavi_navi{
  height: 60px;
  background-color: #ccf1f0;
}
.mainNavi_navi .mainNavi_anchor{
  width: calc(960px/6);
  padding: 0;
  font-size: 16px;
  color: #1b8e8a;
  font-weight: bold;
  border: none;
  line-height: 1.3;
}
.mainNavi_navi .mainNavi_anchor ::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 100%;
  background-color: #1b8e8a;
  display: block;
  z-index: 1;
}
.mainNavi_navi .mainNavi_anchor:last-of-type{
  border-right: 1px solid #1b8e8a;
}

.mainNavi_navi .mainNavi_anchor[data-in-viewport=true]{
  background-color: #1b8e8a;
  color: #fff;
  border: none;
  font-weight: bold;
}
.mainNavi_navi .mainNavi_anchor:hover{
  background-color: #1b8e8a;
  color: #fff;
  font-weight: bold;
}
.mainNavi_navi2{
  height: 60px;
  background-color: #ccf1f0;
}
.mainNavi_navi2 .mainNavi_anchor{
  width: calc(960px/6);
  padding: 0;
  font-size: 16px;
  color: #1b8e8a;
  font-weight: bold;
  border: none;
  line-height: 1.3;
}
.mainNavi_navi2 .mainNavi_anchor ::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 100%;
  background-color: #1b8e8a;
  display: block;
  z-index: 1;
}
.mainNavi_navi2 .mainNavi_anchor:last-of-type{
  border-right: 1px solid #1b8e8a;
}

.mainNavi_navi2 .mainNavi_anchor[data-in-viewport=true]{
  background-color: #1b8e8a;
  color: #fff;
  border: none;
  font-weight: bold;
}
.mainNavi_navi2 .mainNavi_anchor:hover{
  background-color: #1b8e8a;
  color: #fff;
  font-weight: bold;
}

.index{
  margin: 0 auto;
  padding: 40px 0 72px;
}
.index._women{
  width: 710px;
}
.index._men{
  width: 710px;
}
.index_list li a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  border-radius: 4px;
  padding-bottom: 4px;
  background-color: #75c2bf;
  color: #333333;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  box-sizing: border-box;
}
.index_list li a:hover{
  opacity: .8;
}
.index_list li a::after{
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  bottom: 10px;
  margin: auto;
  width: 9px;
  height: 9px;
  border-right: 2px solid #333333;
  border-top: 2px solid #333333;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/*
entry
======================================================= */
.entry{
  padding-top: 40px;
}
.entry_h2{
  width: 434px;
  margin: 0 auto 24px;
}
.rcEntryButton-button:hover{
  opacity: .8;
}

/* periodWrap01 */
.periodWrap01{
  margin: 44px 0 0;
}
.always_ribbon{
  margin: 0 0 14px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
.always_ribbon span{
  display: inline-block;
  padding: 4px 18px;
  border: 1px solid #333;
}
.period_wrap{
  margin-bottom: 16px;
}
.period{
  font-size: 18px;
  text-align: center;
}
.period_title{
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.period._sub{
  margin-bottom: 24px;
  font-size: 14px;
  color: #666;
}
.period + .period{
  margin-top: 4px;
}
.period_title{
  font-weight: bold;
}
.cautionTxt_wrap{
  width: 620px;
  margin: 20px auto 0;
  font-size: 14px;
}
.cautionTxt_wrap .cautionTxt{
    padding-left: 1em;
    text-indent: -1em;
}
.index_list + .cautionTxt_wrap{
  width: 800px;
  text-align: center;
}

.campaignLink_wrap{
  width: 400px;
  margin: 20px auto 0;
}
.campaignLink_wrap li{
  text-align: center;
  box-sizing: border-box;
}
.campaignLink_wrap li + li{
  border-left: 2px solid #cccccc;
}
.campaignLink_wrap li a{
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333;
  font-size: 14px;
  line-height: 1.1;
}
.campaignLink_wrap li a ._icon_right{
  margin-left: 8px;
  color: #666;
}
/*.cautionTxt a,
.campaignLink_wrap li a span{
  text-decoration: underline;
}*/
.cautionTxt a:hover,
.campaignLink_wrap li a span:hover{
  text-decoration: underline;
}
.default_note{
  padding: 0 32px;
}
.default_note p{
  text-indent: -1em;
  padding-left: 1em;
  font-size: 14px;
  color:#666666;
  line-height: 1.5;
}

.couponItem_wrap + .couponItem_wrap{
  margin-top: 84px;
}
.shop_recommendation + .shop_recommendation{
  margin-top: 80px;
}



/*
 search
=============================================*/
/* trendKeyword */
.trendKeyword .trendKeyword__list > li a {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px 10px 0;
  background-color: #fff;
  color: #333;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e2e2e2;
  text-align: center;
  line-height: 1.2;
}
.trendKeyword .trendKeyword__list > li a .trendKeyword__img {
  border: 1px solid #f5f5f5;
  margin-bottom: 4px;
}
.trendKeyword .trendKeyword__list > li a .trendKeyword__img img{
  display: block;
  width: 100%;
  height: auto;
}
.trendKeyword .trendKeyword__list > li a .trendKeyword__txt{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 48px;
}

.trendKeyword .trendKeyword__list > li a:hover{
  opacity: .8;
}

.searchAlcor_item{
  /* padding: 10px; */
  border: 1px solid #e2e2e2;
}
.ranking-alcor-item{
  border: 1px solid #e2e2e2;
  background-color: #ffffff !important;
}
.ranking-alcor-item .ecm-ranking-alcor-text-box,
.ranking-alcor-item .ecm-alcor-body .ecm-alcor-item-link{
  padding:0px 10px 10px;
}
.deal_item{
  /* padding: 10px; */
  border: 1px solid #e2e2e2;
  background-color: #ffffff !important;
}
.deal_item .ecm-alcor-body{
  padding:0 10px;
}
.deal_item .ecm-alcor-shop-link{
  padding:0 10px 10px;
}

.deal_alt {
    margin:48px auto 0;
    width: 900px;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
}
/*
 shop modal
=============================================*/
.shoplist_box > li a{
  display: inline-block;
  padding: 4px;
  font-size: 14px;
  color: #333;
}
.shoplist_box > li a:hover{
  text-decoration: underline;
}
.shoplist_box > li a .right_icon{
  display: none;
}

.campaign ul li a:hover,
.other ul li a:hover{
  opacity: .8;
}

/*
 アルコル背景
=============================================*/
.ecm-alcor {
  background-color: transparent;
}
.ecm-alcor.card-alcor-item{
  padding: 0;
  border: 1px solid #e2e2e2;
  background-color: #ffffff;
}

.ecm-alcor.card-alcor-item .ecm-alcor-body{
  padding: 0px 8px 12px;
}

.card-cpa-item{
  padding: 0;
  border: 1px solid #e2e2e2;
  background-color: #ffffff;
}

.card-cpa-item .ecm-cpa-text-box{
  padding: 0px 8px 12px;
}



/*
 ルール詳細・対象ショップ
=============================================*/
.rule_men .men-d-none,
.rule_women .women-d-none{
  display: none;  
}

/*
 selectSearch
===================================== */
.selectSearch01 .search-form__selectContainer{
  position: relative;
  margin-bottom: 32px;
}
.selectSearch01 .search-form__selectContainer._03{
  margin-bottom: 35px;
}
.selectSearch01 .search-form__select,
.selectSearch01 .search-form__textInput{
  position: relative;
  width: 100%;
  height: 56px;
  background-color: #fff;
  text-align: left;
  text-align: -webkit-left;
  cursor: pointer;
  border: 1px solid #4f4f4f;
  color: #444;
  font-size: 18px;
  padding: 0 13px!important;
  border-radius: 4px;
  appearance: none;
}
.selectSearch01 .search-form__selectContainer::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #75c2bf transparent transparent transparent;
  padding: 0;
  pointer-events: none;
  z-index: 1;
}
.selectSearch01 .search-form__textInput{
  box-sizing: border-box;
  border-radius: 4px;
  text-indent: 0;
  cursor: text;
}
.selectSearch01 .sggstInputWrap input::placeholder{
  color: #7e7d7d;
}
.selectSearch01 .searchInner{
  width: 660px;
  margin: 0 auto;
  padding: 40px 84px 48px;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0px 2px 8px 0px rgba(0,0,0,.2);
  border-radius: 8px;
}
.selectSearch01 .searchInner__ttl{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
  color: #4a4847;
  text-align: center;
}
.selectSearch01 .formWrap input[type="checkbox"] {
  display: none;
}
.selectSearch01 .formWrap .search-form__selectContainer:hover {
  opacity: .8;
}
.selectSearch01 .inputWrap{
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.selectSearch01 .inputWrap label:hover{
  opacity: .8;
  cursor: pointer;
}
.selectSearch01 .formWrap .inputWrap > li.checked_disNone {
  display: none;
}
.selectSearch01 .formWrap .inputWrap._color_area input[type="checkbox"] + label {
  display: inline-block;
  box-sizing: border-box;
  margin: 0 16px 16px 0;
}
.selectSearch01 .formWrap .color_box:nth-of-type(9n) input[type="checkbox"] + label {
  margin-right: 0!important;
}
.selectSearch01 .formWrap input:checked + label {
  position: relative;
}
.selectSearch01 .formWrap input:checked + label::after{
  content: "";
  left: 28%;
  top: 30%;
  position: absolute;
  width: 15px;
  height: 8px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.selectSearch01 .formWrap ._white input:checked + label::after{
  border-right: 2px solid #999;
  border-top: 2px solid #999;
}
.searchMoney {
  margin-bottom: 12px!important;
  align-items: center;
}
.minPriceInput,
.maxPriceInput{
  width: 45% !important;
}
.searchMoney_tilde {
  display: inline-block;
  font-size: 20px;
  margin-right: 2.85%;
  margin-left: 2.85%;
  margin-bottom: 30px;
}
/* button_list */
.button_list{
  margin: 0 auto;
}
.button_list ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.button_list button:hover{
  opacity: .8;
  cursor: pointer;
}
/* form-reset-btn */
.form-reset-btn{
  position: relative;
  width: 234px;
  height: 56px;
  border: 1px solid #75c2bf;
  border-radius: 28px;
  margin: 40px auto 5px;
  display: block;
  text-align: center;
  color: #75c2bf;
  background-color: #fff;
  font-size: 20px;
  font-weight: bold;
  box-sizing: border-box;
}
/* searchSubmit01 */
.searchSubmit01{
  position: relative;
  width: 234px;
  height: 56px;
  border: none;
  border-radius: 28px;
  margin: 40px auto 5px;
  display: block;
  text-align: center;
  color: #fff;
  background-color: #75c2bf;
  font-size: 20px;
  font-weight: bold;
  box-sizing: border-box;
}
.searchSubmit01 .rex-icon {
  content: "\e91c";
}
.searchSubmit01 .rex-icon:before {
  font-family: rex-icon-font!important;
  font-style: normal;
  font-weight: 400!important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: top;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

/* ファッション関連企画上余白 */
@media screen and (min-width: 1024px) {
  #fashion-plan-section {
    padding-top: 20px;
  }
}

/*　20260421追記　*/
.default_btn > a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px auto 0;
  width: 360px;
  height: 72px;
  border-radius: 36px;
  font-size: 20px;
  font-weight: bold;
  color: #fff!important;
  background-color: #1b8e8a;
  text-align: center;
  box-shadow: 0 0 6px rgba(0,0,0,.2); 
}
.default_btn > a::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.default_btn > a:hover{
  text-decoration: none!important;
  opacity: .8;
}


