@charset "utf-8";
/*================================================

【楽天市場】ポケモン特集

=================================================*/
body{
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-feature-settings: "palt";
}

/*
 kanban
================================================ */
.kanban{
  position: relative;
  overflow:hidden;
}
.kanban__pikachu{
  position: absolute;
  width: 191px;
  height: 206px;
  top: 0;
  left: calc(50% - 426px);
  z-index:1;
  transform: translateY(-100%);
  opacity: 0;
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
  filter:drop-shadow(2.3px 4.6px 4.1px rgba(190,158,110,.8));
}
.kanban__mbWrap{
  position: absolute;
  width: 1261px;
  top: 0;
  left: calc(50% - 667px);
  z-index:1;
  animation: mbslideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  transform: translateY(32px);
  opacity: 0;
}
.kanban__mb{
  position: absolute;
  transition: 1.5s ease-in-out;
}
.kanban__mb._01{
  top: 52px;
  left: 0;
  transform:translate(0, 0) rotate(-7deg);
  animation: fuwafuwa01 3s 1s ease-in-out infinite alternate;
}
.kanban__mb._02{
  top: 81px;
  left: 100px;
  transform:translate(0, 0) rotate(10deg);
  animation: fuwafuwa02 2.7s 1s ease-in-out infinite alternate;
}
.kanban__mb._03{
  top: 99px;
  right: 249px;
  transform:translate(0, 0) rotate(-5deg);
  animation: fuwafuwa03 2.8s 1s ease-in-out infinite alternate;
}
.kanban__mb._04{
  top: 32px;
  right: 125px;
  transform:translate(0, 0) rotate(7deg);
  animation: fuwafuwa04 3.3s 1s ease-in-out infinite alternate;
}
.kanban__mb._05{
  top: 84px;
  right: 0;
  animation: fuwafuwa05 2.5s 1s ease-in-out infinite alternate;
  transform:translate(0, 0) rotate(-10deg);
}

/* animation */
@keyframes poyoyon {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
  }
  65% {
    transform: translateY(-32px);
  }
  100% {
    transform: translateY(0);
  }
  20%,100% {
    opacity: 1;
  }
}

@keyframes mbslideIn {
  0% {
    transform: translateY(32px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%,100% {
    opacity: 1;
  }
}

@keyframes fuwafuwa01 {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa02 {
  0% {
    transform:translate(0, 0) rotate(10deg);
  }
  50% {
    transform:translate(0, 10px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(-10deg);
  }
}
@keyframes fuwafuwa03 {
  0% {
    transform:translate(0, 0) rotate(-5deg);
  }
  50% {
    transform:translate(0, -5px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(5deg);
  }
}
@keyframes fuwafuwa04 {
  0% {
    transform:translate(0, 0) rotate(7deg);
  }
  50% {
    transform:translate(0, 7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(-7deg);
  }
}
@keyframes fuwafuwa05 {
  0% {
    transform:translate(0, 0) rotate(-10deg);
  }
  50% {
    transform:translate(0, -10px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(-10deg);
  }
}

/*
 ecm-floating-navi-container [new module]
================================================ */
.ecm-floating-navi-container[data-layout="pokemon"]{
  background-color: #f9f9f9;
  border-bottom:none!important;
}
.ecm-floating-navi-container[data-layout="pokemon"][data-static=false][data-sticky=true]{
  box-shadow: none!important;
  height: 50px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.1));
}
.ecm-floating-navi-container[data-layout="pokemon"] .ecm-floating-navi{
  width: 960px;
  height: 50px !important;
  padding-left: 8px;
  padding-right: 16px;
  margin: 0 auto;
  border-bottom:none!important;
  background-color: #f9f9f9;
}
.ecm-floating-navi-container[data-layout="pokemon"] .ecm-floating-navi-item{
  width: 310px;
  height: 35px;
  margin-right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 7.5px;
  padding: 13px 12px 11px;
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/nav_frame.png);
  background-repeat: no-repeat;
  background-color: #fff;
  font-size: 12px;
  color: #000 !important;
  border-bottom:none!important;
}
.ecm-floating-navi-container[data-layout="pokemon"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor:hover{
  font-weight: normal;
  border:none!important;
  background-color: #FFED67;
}
.ecm-floating-navi-container[data-layout="pokemon"] .ecm-floating-navi-item.ecm-floating-navi-item-anchor[data-in-viewport=true]{
  font-weight: normal;
  border:none!important;
  background-color: #FFFAD4;
}
.ecm-floating-navi-container[data-layout="pokemon"] .ecm-floating-navi-item .strong{
  font-size: 14px;
  font-weight: bold!important;
}

/*
 ecm-searchForm [new module]
================================================ */
.ecm-searchForm[data-layout=pokemon]{
  width: 293px;
  margin-top: 7.5px;
  margin-left: 8px;
}
.ecm-searchForm[data-layout=pokemon] .ecm-search {
  padding: 0;
  border-color: #000;
  border-radius: 3em;
  height: 35px;
  background-color: #ffffff;
}
.ecm-searchForm[data-layout=pokemon] .ecm-search-input {
  background-color: transparent;
  font-size: 14px;
  padding-left: 12px;
}
.ecm-searchForm[data-layout=pokemon] .ecm-search-submit {
  width: 34px;
  height: 34px;
  border-radius: 17px;
  margin-top: 0;
  margin-right: 0;
  font-weight: bold;
  padding: 0;
}
.ecm-searchForm[data-layout=pokemon] .ecm-search-submit .ecm-icon-search {
  font-size: 20px;
}

/*
 ecm-slider-container [new module]
================================================ */
.ecm-slider-container[data-layout="pokemon"] .ecm-slider{
  filter:drop-shadow(4px 4px 8px rgba(0,0,0,.1));
}

/*
 swiper [js]
================================================ */
.swiper[layout=common] {
  text-align: center;
  box-sizing: border-box;
  position: relative;
  overflow:hidden;
  min-width:1024px;
  max-width:1920px;
  padding-top: 24px;
  margin: 0 auto 56px;
}
.swiper[layout=common] .swiper-container {
  margin-bottom: 8px;
  overflow: visible;
  filter:drop-shadow(4px 4px 8px rgba(0,0,0,.1))
}
.swiper[layout=common] .swiper-image {
  width: 1920px;
  height: 204px;
  position: relative;
  left: 50%;
  transform:translateX(-50%);
}
.swiper[layout=common] .swiper-slide > * {
  display: block;
  transition: all 0.2s 0s ease;
  position: relative;
}
.swiper[layout=common] .swiper-slide._01 > *{
  z-index:1;
}
.swiper[layout=common] .swiper-slide.swiper-slide-active > * {
  position: relative;
  z-index:2;
}
.swiper[layout=common] .swiper-slide > a:hover::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,.2);
  z-index:1;
}
.swiper[layout=common] [class^=swiper-button] {
  vertical-align: middle;
  position: static;
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-top: 0;
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_cmn/img/20251002/slider/carousel_arrow.png);
  background-size: 100% auto;
  background-position: 0 0;
}
.swiper[layout=common] .swiper-button-next {
  position: absolute;
  top: 50%;
  right:calc(50% - 466px);
  transform: translateY(-50%) rotate(180deg);
}
.swiper[layout=common] .swiper-button-prev {
  position: absolute;
  top: 50%;
  left:calc(50% - 466px);
  transform: translateY(-50%);
}
.swiper[layout=common] .swiper-pagination {
  position: static;
  vertical-align: middle;
  display: inline-block;
  margin: 0 8px;
}
.swiper[layout=common] .swiper-button-prev:hover,
.swiper[layout=common] .swiper-button-next:hover{opacity:.8;}
.swiper[layout=common] .swiper-pagination-bullet {
  margin: 0 5px;
}
.swiper[layout=common] .swiper-pagination-bullet-active {
  background-color: #bf0000;
}

/*
 article-wrap
================================================ */
.article-wrap{
  position: relative;
  background-repeat: repeat-y;
  background-position: center top;
  padding-bottom: 120px;
}
.article-wrap[data-layout="bg01"]{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern01.png);
}
.article-wrap[data-layout="bg02"]{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern02.png);
}
.article-wrap[data-layout="bg03"]{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern03.png);
}
.article-wrap[data-layout="bg04"]{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern04.png);
}
.article-wrap::before{
  content: '';
  display: block;
  width: 100%;
  height: 43px;
  position: absolute;
  top: -43px;
  left: 0;
  background-repeat: no-repeat;
  background-position: center top;
  z-index:1;
}
.article-wrap::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: repeat;
  background-position: center top;
  opacity:.6;
}
.article-wrap[data-layout="bg01"]::before{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern01_head.png);
}
.article-wrap[data-layout="bg01"]::after{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/mb_pattern01.png);
}
.article-wrap[data-layout="bg02"]::before{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern02_head.png);
}
.article-wrap[data-layout="bg03"]::before{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern03_head.png);
}
.article-wrap[data-layout="bg03"]::after{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/mb_pattern01.png);
}
.article-wrap[data-layout="bg04"]::before{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/bg_pattern04_head.png);
}
.article-wrap[data-layout="bg04"]::after{
  background-image: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/mb_pattern02.png);
}
.article-wrap .ecm-container{
  position: relative;
  z-index:1;
}

/*
 article-title
================================================ */
.article-title{
  position: relative;
  width: 919px;
  height: 216px;
  margin-right: auto;
  margin-left: auto;
  top: -48px;
  margin-bottom: -24px;
}
.con03 .article-title{
  margin-bottom: -8px;
}
.category .article-title{
  margin-bottom: -48px;
}
.character .article-title.-character{
  margin-bottom: -68px;
}
.article-title__pokemon01{
  width: 273px;
  height: 216px;
  position: absolute;
  top: 0;
  left: 0;
  overflow:hidden;
  z-index:1;
}
.article-title__pokemon02{
  width: 274px;
  height: 194px;
  position: absolute;
  top: 0;
  right: 0;
  overflow:hidden;
  z-index:1;
}
.article-title__pokemon01 .article-title__pokemonDots{
  position: absolute;
  width: 273px;
  height: 216px;
  top: 0;
  left: 0;
  z-index:-1;
  transform: translate(-100%,100%);
  opacity: 0;
}
.article-title.fadein.on .article-title__pokemon01 .article-title__pokemonDots{
  animation: slideIn01 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.article-title__pokemon01 .article-title__pokemonImage{
  position: absolute;
  width: 211px;
  height: 166px;
  top: 17px;
  left: 0;
  transform: translateY(35px);
  opacity: 0;
}
.article-title.fadein.on .article-title__pokemon01 .article-title__pokemonImage{
  animation: slideIn03 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.article-title__pokemon02 .article-title__pokemonDots{
  position: absolute;
  width: 274px;
  height: 194px;
  top: 0;
  right: 0;
  z-index:-1;
  transform: translate(100%,-100%);
  opacity: 0;
}
.article-title.fadein.on .article-title__pokemon02 .article-title__pokemonDots{
  animation: slideIn02 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.article-title__pokemon02 .article-title__pokemonImage{
  position: absolute;
  width: 211px;
  height: 166px;
  top: 3px;
  left: 0;
  transform: translateY(35px);
  opacity: 0;
}
.article-title.fadein.on .article-title__pokemon02 .article-title__pokemonImage{
  animation: slideIn03 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.article-title__text{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 144px;
  position: absolute;
  top: 46px;
  left: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 100%;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  color: #000;
  -webkit-text-stroke: 5px #fff;
  text-stroke: 5px #fff;
  paint-order: stroke;
}
.article-title[data-layout="white"] .article-title__text{
  background-image:url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/content_title_bg01.png);
}
.article-title[data-layout="black"] .article-title__text{
  background-image:url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/content_title_bg02.png);
}
.article-title__text > span{display: block;}

/* animation */
@keyframes slideIn01 {
  0% {
    transform: translate(-100%,100%);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  40%,100% {
    opacity: 1;
  }
}
@keyframes slideIn02 {
  0% {
    transform: translate(100%,-100%);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  40%,100% {
    opacity: 1;
  }
}
@keyframes slideIn03 {
  0% {
    transform: translateY(35px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%,100% {
    opacity: 1;
  }
}

/*
 article-subtitle
================================================ */
.article-subtitle{
  width: 512px;
  height: 72px;
  margin: 0 auto 32px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.1;
  color: #000;
  -webkit-text-stroke: 5px #fff;
  text-stroke: 5px #fff;
  paint-order: stroke;
}
.article-subtitle::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 18px;
  background: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/h3_bg_up.png) no-repeat;
}
.article-subtitle::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width:100%;
  height: 19px;
  background: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/h3_bg_bottom.png) no-repeat;
}

/*
 Alcor
============================================= */
div[data-alcor-type="manufacture"] .ecm-ad{
  filter:drop-shadow(0 0 10px rgba(0,0,0,.1));
  position: relative;
}
.con01 div[data-alcor-type="manufacture"] .ecm-ad:nth-child(n+7),
.con02 div[data-alcor-type="manufacture"] .ecm-ad:nth-child(n+7),
.con03 div[data-alcor-type="manufacture"] .ecm-ad:nth-child(n+13){
  height: 0;
  overflow:hidden;
  visibility:hidden;
  filter:none!important;
  position: absolute;
  bottom: 0;
}

.ecm-alcor-view-4 .ecm-ad:nth-child(n+5) {
  display: none;
}


/* 価格を反応させる */
div[data-alcor-type="manufacture"] .ecm-ad-price-amount:hover{
  text-decoration: underline;
  cursor: pointer;
}

/* 商品名に下線 */
div[data-alcor-type="manufacture"]:hover .ecm-ad .ecm-ad-name.clamp-2{
  text-decoration: underline;
}

/* アンカーを全体に拡張する */
div[data-alcor-type="manufacture"]{
  position:relative;
}
div[data-alcor-type="manufacture"] .ecm-ad a:before{
  display: block;
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: 2;
  cursor: pointer;
}
div[data-alcor-type="manufacture"]:hover .procor-ad-title,
div[data-alcor-type="manufacture"]:hover .ecm-ad,
div[data-alcor-type="manufacture"]:hover .procor-ad-text{
  opacity: 0.8;
}
div[data-alcor-type="manufacture"]:hover .procor-ad-text{
  cursor: pointer;
}
div[data-alcor-type="manufacture"] .procor-ad-text{
  pointer-events: none;
}

/* 2カラム調整 */
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad a,
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad a .ecm-ad-body,
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad a .ecm-ad-body *{
  cursor: pointer;
}
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad .ecm-ad-name:hover,
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad .ecm-ad-price-amount:hover{
  text-decoration: none;
}
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad a:hover{
  opacity: 0.8;
}
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad a:before{
  display: none;
}
div[data-alcor-type="manufacture"]:has(.d-grid):hover .procor-ad-title,
div[data-alcor-type="manufacture"]:has(.d-grid):hover .ecm-ad,
div[data-alcor-type="manufacture"]:has(.d-grid):hover .procor-ad-text{
  opacity: 1;
}
div[data-alcor-type="manufacture"]:has(.d-grid):hover .procor-ad-text{
  cursor: pointer;
}
div[data-alcor-type="manufacture"]:has(.d-grid):hover .ecm-ad .ecm-ad-name.clamp-2{
  text-decoration: none;
}
div[data-alcor-type="manufacture"]:has(.d-grid) .ecm-ad:hover .ecm-ad-name.clamp-2{
  text-decoration: underline;
}
/* 発売日が表示されてない時に「発売日」自体を非表示 */
.procor-ad-date- {
  display: none
}

/*
 button
============================================= */
.button{
  width:500px;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  font-size: 16px;
  color: #333 !important;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.1));
  background: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/button_bg.png) no-repeat;
}
.button:hover{
  opacity:.8;
  text-decoration: none;
}

/*
 category
================================================ */
.category .search-alcorArea .d-grid{
  position: relative;
}
.category .search-alcorArea .d-grid::after{
  background: url(https://r.r10s.jp/evt/event/pokemon/_pc/img/20251002/miraidon.png);
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  display: block;
  content: "";
  width: 290px;
  height: 276px;
  bottom: -4px;
  right: 25px;
  z-index:-1;
}
.category .search-alcorArea .d-grid:has(> :nth-child(4n):last-child):after{
  display: none;
}
.category .search-alcorArea .ecm-search-alcor-v2{
  border-radius: 8px;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.1));
}
.category .search-alcorArea .ecm-search-alcor-v2-title{
  color: #717171 !important;
  font-size: 18px;
}

/*
 character
================================================ */
.characterWrap{
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
  gap:16px 32px;
}
.characterWrap > .pokemon__Link{
  width:calc((100% - 128px)/5);
  background: url(https://r.r10s.jp/evt/event/pokemon/_cmn/img/20251002/character/search_bg.png) no-repeat center 49px;
  background-size: 151px 151px;
  color: #333 !important;
}
.characterWrap > .pokemon__Link:hover{
  opacity:.8;
  text-decoration: none;
}
.pokemon__name{
  margin-top: 26px;
  font-size: 16px;
  text-align: center;
}
.relate__link{
  width: 700px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.1));
}
.relate__link:hover{opacity:.8;}