@charset "UTF-8";
/* キャンペーン概要 */
.cp_overview {
  margin: 12px 8px;
  /* まとめ買いで○○ポイントプレゼント */
}

.cp_overview h2.heading {
  padding: 8px 60px;
  background-color: #f7397a;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  text-align: center;
  position: relative;
  border-radius: 6px 6px 0 0;
}

.cp_overview h2.heading::before {
  display: block;
  content: "";
  position: absolute;
  width: 58px;
  height: 43px;
  background-image: url(https://www.dlsite.com/modpub/campaign/common/cp_format_chara.png);
  background-size: contain;
  background-repeat: no-repeat;
  right: 0;
  bottom: 0;
}

.cp_overview .cp_overview_inner {
  background-color: #fff5f9;
  border-radius: 6px;
}

.cp_overview .cp_overview_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.cp_overview .cp_overview_list_item {
  position: relative;
  cursor: pointer;
}

.cp_overview .cp_overview_list_item:last-child {
  margin: 0;
}

.cp_overview .cp_overview_list_item h3.heading {
  color: #f7397a;
  font-size: 15px;
  font-weight: bold;
  padding: 14px;
  border-top: 1px solid #f5dce6;
}

.cp_overview .cp_overview_list_item p {
  display: none;
  color: #333;
  font-size: 13px;
  line-height: 1.4;
  padding: 0 14px 14px;
  margin-top: -2px;
}

.cp_overview .cp_overview_list_item.active p {
  display: block;
}

.cp_overview .cp_overview_list_item::after {
  display: block;
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background-image: url(https://www.dlsite.com/modpub/campaign/common/cp_format_arrow.svg);
  background-size: contain;
  right: 16px;
  top: 15px;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.cp_overview .cp_overview_list_item.active:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.cp_overview .cp_overview_detail {
  padding: 14px;
  line-height: 1.4;
}

.cp_overview .cp_overview_detail .detail_main {
  font-size: 15px;
  font-weight: bold;
  color: #f7397a;
}

.cp_overview .cp_overview_detail .detail_sub {
  font-size: 13px;
  margin-top: 8px;
}

.cp_overview.cp_overview_info {
  margin-right: 0;
  margin-left: 0;
}

.cp_overview.cp_overview_info h2.heading {
  border-radius: 0;
}

.cp_overview.cp_overview_info .cp_overview_lead {
  background-color: #fff;
  padding: 10px;
}

.cp_overview.cp_overview_info .cp_overview_lead p {
  font-size: 12px;
  line-height: 1.4;
}

.cp_overview.cp_overview_info .cp_overview_lead p span {
  padding: 0 5px;
  position: relative;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, transparent), color-stop(0%, #f7397a));
  background: linear-gradient(transparent 90%, #f7397a 0%);
}

.cp_overview.cp_overview_info .cp_overview_info_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 10px 20px;
}

.cp_overview.cp_overview_info .cp_overview_info_list small {
  font-size: 11px;
}

.cp_overview.cp_overview_info .cp_overview_info_list_item:not(:first-of-type) {
  margin-top: 20px;
}

.cp_overview.cp_overview_info .cp_overview_info_point {
  display: table;
  margin: 0 auto;
  line-height: 1.5;
}

.cp_overview.cp_overview_info .cp_overview_info_point dl {
  display: table-row;
}

.cp_overview.cp_overview_info .cp_overview_info_point dl dt,
.cp_overview.cp_overview_info .cp_overview_info_point dl dd {
  display: table-cell;
  font-size: 16px;
  font-weight: bold;
}

.cp_overview.cp_overview_info .cp_overview_info_point dl dd::before {
  content: "：";
}

.cp_overview.cp_overview_info .cp_overview_info_point dl small {
  font-weight: bold;
  margin: 0.3em;
}

.cp_overview.cp_overview_info .cp_overview_info_point + p {
  margin-top: 10px;
}

.cp_overview.cp_overview_info .cp_overview_info_box {
  background-color: #fff;
  border-radius: 10px;
  padding: 15px;
}

.cp_overview.cp_overview_info .cp_overview_info_box_detail {
  text-align: center;
}

.cp_overview.cp_overview_info .cp_overview_info_box_detail * {
  text-align: center;
}

.cp_overview.cp_overview_info .cp_overview_info_box_header {
  text-align: left;
  font-size: 13px;
  font-weight: bold;
}

.cp_overview.cp_overview_info .cp_overview_info_box_header span {
  font-size: 16px;
  font-weight: bold;
}

.cp_overview.cp_overview_info .cp_overview_info_box_balloon {
  margin: 10px 0 8px;
  text-align: center;
}

.cp_overview.cp_overview_info .cp_overview_info_box_balloon span {
  display: inline-block;
  padding: 5px 20px;
  background: #fff;
  font-size: 11px;
  border: 1px solid #f7397a;
  position: relative;
  border-radius: 5px;
  z-index: 3;
}

.cp_overview.cp_overview_info .cp_overview_info_box_balloon span::before, .cp_overview.cp_overview_info .cp_overview_info_box_balloon span::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.cp_overview.cp_overview_info .cp_overview_info_box_balloon span::before {
  bottom: -4px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  z-index: 2;
}

.cp_overview.cp_overview_info .cp_overview_info_box_balloon span::after {
  bottom: -5px;
  width: 8px;
  height: 8px;
  background-color: #f7397a;
  z-index: 1;
}

.cp_overview.cp_overview_info .cp_overview_info_box_pickup {
  width: 250px;
  margin: 20px auto 0;
}

.cp_overview.cp_overview_info .cp_overview_info_box_pickup img {
  max-width: 100%;
  height: auto;
}

.cp_overview.cp_overview_info .cp_overview_info_btn {
  display: block;
  background-color: #f7397a;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: 8px auto 0;
  padding: 12px;
  border-radius: 20px;
  text-align: center;
  width: 80%;
}

/* キャンペーン共通フロア選択ボタン
-------------------------------------------------- */
.cp_overview_btn_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  padding: 12px 8px 8px;
  background: #fff;
  z-index: 999;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.cp_overview_btn_box a {
  text-decoration: none;
  margin-bottom: 8px;
}

.cp_overview_btn_box a:last-child {
  margin-bottom: 0;
}

.cp_overview_btn {
  width: 46%;
  font-size: 12px;
}

.cp_overview_btn p {
  position: relative;
  color: #fff;
  border-radius: 4px;
  font-weight: bold;
  border: solid 2px #d27d00;
  padding: 8px 0;
  text-align: center;
}

.cp_overview_btn p.type_maniax {
  border: solid 2px #005bd2;
  color: #005bd2;
}

.cp_overview_btn.type_check p.type_maniax {
  background: #408fe9;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #0067a3, 1px 1px 0px #004ca3, 2px 2px 0px #0041a3, 0px 2px 0px #004ca3, 0px 1px 1px #005aa3;
  border: solid 2px #005bd2;
  color: #fff;
}

.cp_overview_btn p.type_books {
  border: solid 2px #02bd31;
  color: #02bd31;
}

.cp_overview_btn.type_check p.type_books {
  background: #37d85a;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #008026, 1px 1px 0px #008026, 2px 2px 0px #008026, 0px 2px 0px #008026, 0px 1px 1px #005aa3;
  border: solid 2px #02bd31;
  color: #fff;
}

.cp_overview_btn p.type_pro {
  border: solid 2px #d20058;
  color: #d20058;
}

.cp_overview_btn.type_check p.type_pro {
  background: #e9408f;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #a3004c, 1px 1px 0px #a3003e, 2px 2px 0px #a3005a, 0px 2px 0px #a30064, 0px 1px 1px #a30044;
  border: solid 2px #d20058;
  color: #fff;
}

.cp_overview_btn p.type_home {
  border: solid 2px #679e20;
  color: #679e20;
}

.cp_overview_btn.type_check p.type_home {
  background: #72ca03;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #008026, 1px 1px 0px #008026, 2px 2px 0px #008026, 0px 2px 0px #008026, 0px 1px 1px #008026;
  border: solid 2px #679e20;
  color: #fff;
}

.cp_overview_btn p.type_comic {
  border: solid 2px #2caa3b;
  color: #2caa3b;
}

.cp_overview_btn.type_check p.type_comic {
  background: #47d158;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #1b8127, 1px 1px 0px #1b8127, 2px 2px 0px #1b8127, 0px 2px 0px #1b8127, 0px 1px 1px #1b8127;
  border: solid 2px #2caa3b;
  color: #fff;
}

.cp_overview_btn p.type_soft {
  border: solid 2px #e2901e;
  color: #e2901e;
}

.cp_overview_btn.type_check p.type_soft {
  background: #ffa01c;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #b67417, 1px 1px 0px #b67417, 2px 2px 0px #b67417, 0px 2px 0px #b67417, 0px 1px 1px #b67417;
  border: solid 2px #e2901e;
  color: #fff;
}

.cp_overview_btn p.type_girls,
.cp_overview_btn p.type_girlspro,
.cp_overview_btn p.type_girlsdrama {
  border: solid 2px #d20058;
  color: #d20058;
}

.cp_overview_btn.type_check p.type_girls,
.cp_overview_btn.type_check p.type_girlspro,
.cp_overview_btn.type_check p.type_girlsdrama {
  background: #e9408f;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #a3004c, 1px 1px 0px #a3003e, 2px 2px 0px #a3005a, 0px 2px 0px #a30064, 0px 1px 1px #a30044;
  border: solid 2px #d20058;
  color: #fff;
}

.cp_overview_btn p.type_bl,
.cp_overview_btn p.type_blpro,
.cp_overview_btn p.type_bldrama {
  border: solid 2px #4700d2;
  color: #4700d2;
}

.cp_overview_btn.type_check p.type_bl,
.cp_overview_btn.type_check p.type_blpro,
.cp_overview_btn.type_check p.type_bldrama {
  background: #6d40e9;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #4800a3, 1px 1px 0px #3e00a3, 2px 2px 0px #4200a3, 0px 2px 0px #4e00a3, 0px 1px 1px #4400a3;
  border: solid 2px #4700d2;
  color: #fff;
}

.cp_overview_btn p.type_app {
  border: solid 2px #30b1c5;
  color: #30b1c5;
}

.cp_overview_btn.type_check p.type_app {
  background: #3cc8de;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #2492a3, 1px 1px 0px #2492a3, 2px 2px 0px #2492a3, 0px 2px 0px #2492a3, 0px 1px 1px #2492a3;
  border: solid 2px #30b1c5;
  color: #fff;
}

.cp_overview_btn p.type_appx {
  border: solid 2px #976fc3;
  color: #976fc3;
}

.cp_overview_btn.type_check p.type_appx {
  background: #a87ed6;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 0px #6f4a99, 1px 1px 0px #6f4a99, 2px 2px 0px #6f4a99, 0px 2px 0px #6f4a99, 0px 1px 1px #6f4a99;
  border: solid 2px #976fc3;
  color: #fff;
}

.cp_overview_btn span {
  position: relative;
  font-size: 11px;
  background: #b12d24;
  color: #fff;
  border-radius: 16px;
  padding: 2px 5px;
  vertical-align: middle;
  left: 3px;
}

.cp_overview_btn_box .type_check {
  opacity: 1.0;
}

.cp_overview_btn_box .type_check p::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 1px #fff inset;
          box-shadow: 0 0 0 1px #fff inset;
  background: rgba(255, 255, 255, 0.3);
  font-size: 6px;
  color: #fff;
  line-height: 16px;
  text-align: center;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f00c";
}

.item_btn_box a[class*="_detail"]::before {
  display: none;
}

.n_work_list.type_row .item_btn_box a[class*="_favorite"] {
  width: 32px;
}

/* フロア切り替えボタン(comipo)
-------------------------------------------------- */
.style_comic .cp_overview_btn_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  margin: 15px 0;
  background: #fff;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
}

.style_comic .cp_overview_btn_box a {
  text-decoration: none;
  opacity: 0.5;
  margin-bottom: 8px;
}

.style_comic .cp_overview_btn_box a:last-child {
  margin-bottom: 0;
}

.style_comic .cp_overview_btn {
  width: 46%;
  font-size: 13px;
}

.style_comic .cp_overview_btn p {
  position: relative;
  text-decoration: none;
  color: #fff;
  background: #e9a440;
  border-radius: 4px;
  font-weight: bold;
  padding: 11px 0;
  text-align: center;
  border: 0;
}

.style_comic .cp_overview_btn p.type_all {
  background: #1a97ff;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

.style_comic .cp_overview_btn p.type_boys {
  background: #1573ab;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

.style_comic .cp_overview_btn p.type_girls {
  background: #e45d89;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  border: none;
  text-shadow: none;
}

.style_comic .cp_overview_btn p.type_ln {
  background: #c5c13e;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

.style_comic .cp_overview_btn p.type_tl {
  background: #8483cb;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

.style_comic .cp_overview_btn p.type_bl {
  background: #449f9d;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  border: none;
  text-shadow: none;
}

.style_comic .cp_overview_btn p.type_voice {
  background: #ec9379;
  -webkit-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}

.style_comic .cp_overview_btn span {
  position: relative;
  font-size: 11px;
  background: #b12d24;
  color: #fff;
  border-radius: 16px;
  padding: 2px 5px;
  vertical-align: middle;
  left: 3px;
}

.style_comic .cp_overview_btn_box .type_check {
  opacity: 1;
}

.style_comic .cp_overview_btn_box .type_check p::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 1px #fff inset;
          box-shadow: 0 0 0 1px #fff inset;
  background: rgba(255, 255, 255, 0.3);
  font-size: 6px;
  color: #fff;
  line-height: 16px;
  text-align: center;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f00c";
}

/* キャンペーン共通 テキスト版ヘッダー
-------------------------------------------------- */
.cp_hero_area {
  position: relative;
  width: 100%;
  height: calc(350 / 750 * 100vw);
}

.cp_hero_area .cp_img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.cp_hero_area .cp_copy_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  height: 100%;
  width: 100%;
}

.cp_hero_area .cp_copy_wrap {
  position: relative;
  padding: 0 15px;
  max-width: 90%;
}

.cp_hero_area .cp_copy_wrap + .cp_copy_wrap {
  margin-top: 8px;
}

.cp_hero_area .cp_copy_wrap .cp_copy {
  position: relative;
  text-align: left;
}

.cp_hero_area .cp_copy_wrap .cp_copy * + * {
  margin-top: 4px;
}

.cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  display: block;
  font-size: 20px;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

[lang="ja-jp"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-family: heisei-maru-gothic-std, sans-serif;
  font-weight: 800;
  font-style: normal;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: 0.06em;
}

[lang="en-us"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-family: vag-rundschrift-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="zh-cn"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-family: tensentype-jiali-yuan, sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="zh-tw"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-family: tensentype-jiali-yuan, sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="ko-kr"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-family: gulim, sans-serif;
  font-weight: 600;
  font-style: normal;
}

[lang="ja-jp"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy,
[lang="en-us"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  line-height: 1.3;
}

[lang="zh-cn"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy,
[lang="zh-tw"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy,
[lang="ko-kr"] .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  line-height: 1.4;
}

.cp_hero_area .cp_copy_wrap .cp_copy .maincopy + .maincopy {
  margin-top: 0;
}

.type_big_sale .cp_hero_area .cp_copy_wrap .cp_copy .maincopy {
  font-size: 28px;
}

.cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  position: relative;
  display: block;
  font-size: 14px;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

[lang="ja-jp"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-family: heisei-maru-gothic-std, sans-serif;
  font-weight: 800;
  font-style: normal;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: 0.06em;
}

[lang="en-us"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-family: vag-rundschrift-d, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="zh-cn"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-family: tensentype-jiali-yuan, sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="zh-tw"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-family: tensentype-jiali-yuan, sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.03em;
}

[lang="ko-kr"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-family: gulim, sans-serif;
  font-weight: 600;
  font-style: normal;
}

[lang="ja-jp"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy,
[lang="en-us"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  line-height: 1.3;
}

[lang="zh-cn"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy,
[lang="zh-tw"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy,
[lang="ko-kr"] .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  line-height: 1.4;
}

.cp_hero_area .cp_copy_wrap .cp_copy .subcopy + .subcopy {
  margin-top: 0;
}

.type_big_sale .cp_hero_area .cp_copy_wrap .cp_copy .subcopy {
  font-size: 22px;
}

.cp_hero_area .cp_copy_wrap .cp_date {
  position: relative;
  font-size: 11px;
  color: #fff;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.06em;
  padding: 0.4em 0.6em 0.3em;
  background: rgba(34, 2, 0, 0.3);
  border-radius: 5px;
  text-align: left;
}

.cp_tw_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #000;
  font-size: 0;
  overflow: hidden;
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 100;
  -webkit-transition: ease 0.1s;
  transition: ease 0.1s;
  border: 2px solid #fff;
}

.cp_tw_icon:hover {
  text-decoration: none;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.cp_tw_icon::before {
  content: "";
  background: url(/modpub/images/web/common/sns/x.png) no-repeat center / contain;
  width: 40px;
  height: 40px;
}

/* 他CP誘導バナー
---------------------------------------------- */
.other_link_cp_text {
  text-align: center;
  margin-top: 24px;
}

.other_link_cp_text span {
  font-size: 17px;
  font-weight: bold;
}

.other_link_cp_text p {
  text-align: center;
  font-size: 15px;
  margin-top: 6px;
}

.other_link_cp_text p span {
  font-weight: bold;
  padding: 0 5px;
  font-size: 15px;
}

.other_link_cp {
  width: 95%;
  margin: 0 auto;
  display: block;
  padding: 10px 0;
}

.other_link_cp img {
  width: 100%;
}

.other_link_cp.type_multiple {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px 8px;
}

.other_link_cp.type_multiple a {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48%;
          flex: 0 1 48%;
}

/* まとめ買い
-------------------------------------------------- */
/* commonオーバーライト
-------------------------------------------------- */
.work_cart a, .work_stream a {
  height: 24px;
  line-height: normal;
}

.work_cart, .work_stream {
  margin-bottom: 0px;
}

/* まとめ買いカート */
.condition_contents .work_cart a[class*=btn_]::before {
  display: none;
}

/* キャンペーン適応状況表示（対象作品数カウント）
---------------------------------------------- */
.conditions_box {
  position: fixed;
  right: 8px;
  top: 53px;
  z-index: 510;
  border-radius: 5px;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}

/* ヘッダーの検索を開いたときに非表示にする */
.z_upper .conditions_box {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.conditions_box::before {
  top: -7px;
  position: absolute;
  right: 50px;
  z-index: 1;
  width: 0px;
  height: 0px;
  margin: auto;
  border-width: 0 8px 8px 8px;
  border-color: transparent transparent #e6eaf2 transparent;
  border-style: solid;
  content: "";
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transition: all 0.1s ease;
}

.conditions_box::after {
  top: -8px;
  position: absolute;
  right: 49px;
  z-index: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-width: 0 9px 9px 9px;
  border-color: transparent transparent #b8c3d9 transparent;
  border-style: solid;
  content: "";
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transition: all 0.1s ease;
}

.headroom--unpinned .conditions_box::before {
  top: 2px;
  border-width: 0 8px 0 8px;
}

.headroom--unpinned .conditions_box::after {
  top: 0;
  border-width: 0 9px 0 9px;
}

.conditions_box .conditions_box_body {
  width: 100%;
  padding: 3px;
  border: 1px solid #b8c3d9;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #e6eaf2;
}

.conditions_box .conditions_box_body_inner {
  padding: 5px 8px;
  border: 1px solid #b8c3d9;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
          box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: #fff;
}

.condition_contents .chose_count {
  position: relative;
}

.condition_contents .chose_count::before {
  display: block;
  position: absolute;
  left: 50%;
  bottom: -1px;
  z-index: 0;
  -webkit-transform: translateX(-50%) rotateZ(-1.5deg);
          transform: translateX(-50%) rotateZ(-1.5deg);
  width: 110%;
  height: 10px;
  background-color: #ffe324;
  content: "";
}

.condition_contents p {
  position: relative;
  z-index: 1;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

.condition_contents .discount_count {
  font-weight: normal;
  text-align: center;
  margin: 2px 0 5px 0;
}

.condition_contents .discount_count .state.option {
  color: #e12b36;
  font-size: 20px;
  font-weight: normal;
  margin: 0 2px;
}

.condition_contents p.mandatory {
  margin-top: 5px;
}

.conditions_box .state {
  font-weight: bold;
}

.conditions_box .state.type_chose {
  margin-left: 2px;
  color: #e12b36;
  font-size: 20px;
}

.conditions_box .condition_contents.application .state.type_until,
.conditions_box .condition_contents.application .state.option {
  color: #e12b36;
  font-size: 20px;
}

.conditions_box .condition_contents.application .state.type_until {
  margin-right: 2px;
}

.conditions_box .condition_contents.application .state.option {
  margin: 0 2px;
}

.conditions_box .mandatory .state.type_chose,
.conditions_box .condition_contents.application .mandatory .state.type_until,
.conditions_box .condition_contents.application .mandatory .state.option {
  font-size: 16px;
}

.conditions_box .btn {
  margin-left: 30px;
}

.conditions_box .btn::before {
  display: inline-block;
  margin-right: 8px;
  font-family: "dlsite-icons";
  font-size: 15px;
  vertical-align: middle;
  content: "\e900";
}

.conditions_box .work_cart {
  position: relative;
}

.conditions_box .work_cart a.btn_cart {
  display: block;
  width: 100%;
  padding: 3px 8px;
  border: none;
  margin-top: 10px;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #ffd35f;
  color: #333;
  font-size: 0;
  text-align: center;
  -webkit-box-shadow: 0 -1px rgba(0, 0, 0, 0.2) inset;
          box-shadow: 0 -1px rgba(0, 0, 0, 0.2) inset;
}

.conditions_box .work_cart a.btn_cart.disabled {
  background: #ddd !important;
  border-color: #ddd !important;
  color: #aaa !important;
  pointer-events: none;
  cursor: default;
}

.conditions_box .work_cart a.btn_cart::before {
  font-size: 10px;
}

.conditions_box .work_cart a.btn_cart::after {
  font-size: 11px;
  content: "カートに進む";
}

[lang="en-us"] .conditions_box .work_cart a.btn_cart::after {
  content: "Go to Cart";
}

[lang="zh-cn"] .conditions_box .work_cart a.btn_cart::after {
  content: "前往购物车";
}

[lang="zh-tw"] .conditions_box .work_cart a.btn_cart::after {
  content: "前往購物車";
}

[lang="ko-kr"] .conditions_box .work_cart a.btn_cart::after {
  content: "카트로 이동";
}

/* girlsのフロア切り替え
-------------------------------------------------- */
.cp_floor_switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 0 5px 6px;
  margin: 10px 0 1px;
}

.cp_floor_switch_item,
a.cp_floor_switch_item {
  display: block;
  width: 150px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 14px;
  background: #eee;
  color: #666;
  margin-right: 1px;
  border-radius: 6px 6px 0 0;
}

.cp_floor_switch_item.selected,
a.cp_floor_switch_item.selected {
  color: #fff;
  font-weight: bold;
  height: 45px;
  line-height: 50px;
  pointer-events: none;
}

.cp_floor_switch_item.type_bl.selected {
  background: #9a78d2;
}

.cp_floor_switch_item.type_tl.selected {
  background: #ea8aa3;
}

.cp_floor_switch_item.selected::after {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  content: "";
}

.cp_floor_switch_item.type_bl.selected::after {
  background: #9a78d2;
}

.cp_floor_switch_item.type_tl.selected::after {
  background: #ea8aa3;
}

/* キャンペーンコンテナ
---------------------------------------------- */
/* キャンペーンヘッダー
---------------------------------------------- */
.cp_hero {
  position: relative;
  width: 100%;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#020d27), to(#04153f));
  background: linear-gradient(to bottom, #020d27 0%, #04153f 100%);
}

.style_pro .cp_hero,
.style_books .cp_hero,
.style_girlspro .cp_hero {
  background: #000;
}

.cp_hero_inner {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}

/* 多言語出し分け */
.cp_hero {
  display: none;
}

html:lang(ja-jp) .cp_hero.ja_jp {
  display: block;
}

html:lang(en) .cp_hero.en_us {
  display: block;
}

html:lang(ko-kr) .cp_hero.ko_kr {
  display: block;
}

html:lang(zh-cn) .cp_hero.zh_cn {
  display: block;
}

html:lang(zh-tw) .cp_hero.zh_tw {
  display: block;
}

.style_pro .cp_hero_inner::after,
.style_books .cp_hero_inner::after,
.style_girlspro .cp_hero[class*="type_"] .cp_hero_inner::after {
  opacity: 0.8;
}

.cp_hero h1 {
  position: relative;
  z-index: 10;
  height: 0;
  height: auto;
  width: 100%;
  text-align: center;
}

.cp_hero h1 img {
  width: 100%;
}

.cp_twitter {
  display: block;
  position: absolute;
  overflow: hidden;
  width: 35px;
  height: 0;
  padding-top: 35px;
  border-radius: 35px;
  background: #319EF0;
  margin-left: auto;
  right: 5px;
  bottom: 5px;
  z-index: 500;
}

.cp_floor_link ~ .cp_twitter {
  margin-left: 0;
}

.cp_twitter::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 35px;
  height: 35px;
  text-align: center;
  line-height: 35px;
  color: #fff;
  font-size: 18px;
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
  content: "\f099";
}

/* ジャンル別割引キャンペーンヘッダー
---------------------------------------------- */
/* ジャンル別割引キャンペーンヘッダー
-------------------------------------------------- */
.genre_header .genre_hero {
  position: relative;
  background-size: contain;
  padding: 23px 8px;
}

/* 汎用：ノーマル */
[class*="type_00"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#0080e2)), url(/modpub/images/campaign/common/genre/student_202103/campaign_header_type00_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #0080e2), url(/modpub/images/campaign/common/genre/student_202103/campaign_header_type00_touch.png) no-repeat right bottom;
}

/* 汎用：宇宙 */
[class*="type_01"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.4)), to(#313d6b)), url(../../images/campaign/common/genre/campaign_header_type01_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.4), #313d6b), url(../../images/campaign/common/genre/campaign_header_type01_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 汎用：虹 */
[class*="type_02"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#0170bd)), url(../../images/campaign/common/genre/campaign_header_type02_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #0170bd), url(../../images/campaign/common/genre/campaign_header_type02_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* いちゃいちゃ・純愛 */
[class*="type_03"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#e18787)), url(/modpub/images/campaign/common/genre/pure_love_202110/campaign_header_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #e18787), url(/modpub/images/campaign/common/genre/pure_love_202110/campaign_header_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* ファンタジー */
[class*="type_04"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#508caf)), url(/modpub/images/campaign/common/genre/fantasy_202110/campaign_header_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #508caf), url(/modpub/images/campaign/common/genre/fantasy_202110/campaign_header_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 男性受け */
[class*="type_05"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#a751d5)), url(/modpub/images/campaign/common/genre/Submissive_Male_202110/campaign_header_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #a751d5), url(/modpub/images/campaign/common/genre/Submissive_Male_202110/campaign_header_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 褐色金髪ロリ作品 */
[class*="type_06"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#5b01bd)), url(../../images/campaign/common/genre/campaign_header_type06_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #5b01bd), url(../../images/campaign/common/genre/campaign_header_type06_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* ファンタジーキャラ */
[class*="type_07"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#bd0135)), url(../../images/campaign/common/genre/campaign_header_type07_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #bd0135), url(../../images/campaign/common/genre/campaign_header_type07_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* えっちなお姉さん */
[class*="type_08"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#0170bd)), url(../../images/campaign/common/genre/campaign_header_type08_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #0170bd), url(../../images/campaign/common/genre/campaign_header_type08_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* JK・学生 */
[class*="type_09"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#bd0135)), url(https://www.dlsite.com/modpub/images/campaign/common/genre/jk_202007/campaign_header_type09_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #bd0135), url(https://www.dlsite.com/modpub/images/campaign/common/genre/jk_202007/campaign_header_type09_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* お姉さんのおっぱい */
[class*="type_10"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#7f45af)), url(https://www.dlsite.com/modpub/images/campaign/common/genre/onesannooppai_202010/campaign_header_type10_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #7f45af), url(https://www.dlsite.com/modpub/images/campaign/common/genre/onesannooppai_202010/campaign_header_type10_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 学生系 */
[class*="type_11"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#bd0135)), url(/modpub/images/campaign/common/genre/student_202103/campaign_header_type11_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #bd0135), url(/modpub/images/campaign/common/genre/student_202103/campaign_header_type11_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 複数PLAY系 */
[class*="type_12"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#8435c5)), url(/modpub/images/campaign/common/genre/orgy_202104/campaign_header_type12_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #8435c5), url(/modpub/images/campaign/common/genre/orgy_202104/campaign_header_type12_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 乳首責め系 */
[class*="type_13"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#e79212)), url(/modpub/images/campaign/common/genre/nipple_202104/campaign_header_type13_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #e79212), url(/modpub/images/campaign/common/genre/nipple_202104/campaign_header_type13_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* ワンコイン */
[class*="type_14"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#5b01bd)), url(/modpub/images/campaign/common/genre/onecoin_202109/campaign_header_type14_touch.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #5b01bd), url(/modpub/images/campaign/common/genre/onecoin_202109/campaign_header_type14_touch.png) no-repeat right bottom;
  background-size: cover;
}

/* 同人indie live expo winter 2021 合わせキャンペーンの開催 */
[class*="type_15"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#579ff9)), url(/modpub/images/campaign/doujin_sale_2111/bn_mainpic_sp_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #579ff9), url(/modpub/images/campaign/doujin_sale_2111/bn_mainpic_sp_lang_all.png) no-repeat right bottom;
  background-size: cover;
}

/* みんなで翻訳 翻訳作品まとめ(まとめ買いテンプレで表示) */
[class*="type_16"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(185, 94, 94, 0.3)), to(#b95e5e)), url(/modpub/images/campaign/minhon_translatable/bn_mainpic_sp_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(185, 94, 94, 0.3), #b95e5e), url(/modpub/images/campaign/minhon_translatable/bn_mainpic_sp_lang_all.png) no-repeat right bottom;
  background-size: cover;
}

/* ロリ */
[class*="type_17"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#8bbed1)), url(/modpub/images/campaign/genre_2204/lori/bn_mainpic_lori_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #8bbed1), url(/modpub/images/campaign/genre_2204/lori/bn_mainpic_lori_lang_all.png) no-repeat right bottom;
  background-size: cover !important;
}

/* マダム */
[class*="type_18"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#8d71c3)), url(/modpub/images/campaign/genre_2204/madamu/bn_mainpic_madamu_sp_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #8d71c3), url(/modpub/images/campaign/genre_2204/madamu/bn_mainpic_madamu_sp_lang_all.png) no-repeat right bottom;
  background-size: cover !important;
}

/* らぶらぶあまあま */
[class*="type_19"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#e532b6)), url(/modpub/images/campaign/genre_2204/love/bn_mainpic_love_sp_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #e532b6), url(/modpub/images/campaign/genre_2204/love/bn_mainpic_love_sp_lang_all.png) no-repeat right bottom;
  background-size: cover !important;
}

/* NTR */
[class*="type_20"] .genre_hero {
  background: -webkit-gradient(linear, right top, left top, from(rgba(49, 61, 107, 0.3)), to(#333)), url(/modpub/images/campaign/genre_2204/ntr/bn_mainpic_ntr_sp_lang_all.png) no-repeat right bottom;
  background: linear-gradient(to left, rgba(49, 61, 107, 0.3), #333), url(/modpub/images/campaign/genre_2204/ntr/bn_mainpic_ntr_sp_lang_all.png) no-repeat right bottom;
  background-size: cover !important;
}

.genre_header .genre_logo {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 1.6;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
}

.genre_header .genre_logo span {
  letter-spacing: 0;
  display: block;
  font-size: 16px;
  font-weight: bold;
}

.genre_header .catch_copy {
  color: #fff;
  width: auto;
  display: inline-block;
}

.catch_copy span {
  background: rgba(0, 0, 0, 0.5);
  padding: 4px 10px;
  border-radius: 10px;
  display: inline-block;
}

.catch_copy span:last-child {
  margin-top: 6px;
}

@-webkit-keyframes bg_packages {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-4980px);
            transform: translateX(-4980px);
  }
}

@keyframes bg_packages {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-4980px);
            transform: translateX(-4980px);
  }
}

/* まとめ買い内用 追加スタイル */
.genre_header .catch_copy {
  max-width: 85%;
}

.catch_copy span {
  margin: 6px 6px 0 0;
}

/* ピックアップ作品
-------------------------------------------------- */
.cp_mandatory_work {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  min-height: 220px;
  padding: 20px 10px;
  margin: 30px 12px;
  border-radius: 16px;
  border: solid 4px #ffdb61;
  -webkit-box-shadow: 0 0 0 4px #ffa040;
          box-shadow: 0 0 0 4px #ffa040;
  background: #fffce6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cp_mandatory_work .object {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cp_mandatory_work .object_item {
  position: absolute;
  bottom: -25px;
  right: 0;
  width: 315px;
  height: 115px;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}

.cp_mandatory_work .object_item::before {
  position: absolute;
  left: calc(50% + 10px);
  top: calc(50% + 5px);
  width: 0;
  height: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 0 40px 100px 260px;
  border-color: transparent transparent #9d00a2 transparent;
  content: "";
}

.cp_mandatory_work .object_item::after {
  position: absolute;
  left: calc(50%);
  top: 50%;
  width: 0;
  height: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 0 40px 100px 260px;
  border-color: transparent transparent #fc4896 transparent;
  content: "";
}

.cp_mandatory_work .object p {
  position: absolute;
  z-index: 2;
  width: 100%;
  left: calc(50% + 50px);
  top: calc(50% + 15px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  text-shadow: 0 0 5px #fc4896, 0 0 5px #fc4896, 0 0 5px #fc4896, 0 0 5px #fc4896, 3px 3px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  line-height: 1.2;
  letter-spacing: 2px;
}

/* .cp_mandatory_work .object p::before {
  font-family: "Font Awesome 5 Pro";
  content: "\f762";
  color: #FFCF0B;
  font-size: 1.2em;
  margin-right: 10px;
} */
.cp_mandatory_work .object i {
  position: absolute;
}

.cp_mandatory_work .object i:nth-of-type(1) {
  left: -25px;
  bottom: 20px;
  font-size: 2em;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}

.cp_mandatory_work .object i:nth-of-type(2) {
  left: 40px;
  top: -20px;
  font-size: 1.6em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cp_mandatory_work .object i:nth-of-type(3) {
  right: 10px;
  top: 10px;
  font-size: 1.8em;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.cp_mandatory_work .object i::before {
  font-family: "Font Awesome 5 Pro";
  content: "\f005";
  color: #ffcf0b;
  font-style: normal;
  font-weight: 900;
}

.cp_mandatory_work .work_thumb {
  -webkit-transform: rotate(-7deg);
          transform: rotate(-7deg);
  width: 140px;
  margin: 0 10px 0 -10px;
  -webkit-box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.cp_mandatory_work .work_thumb img {
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
}

.cp_mandatory_work .cp_work_info {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  z-index: 2;
  margin: 0;
}

.cp_mandatory_work .cp_work_info > * {
  margin-bottom: 5px;
}

.cp_mandatory_work .work_name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: calc(14px * 1.2 * 2);
  font-size: 14px;
}

.cp_mandatory_work .maker_name {
  font-size: 13px;
}

.cp_mandatory_work .work_price_wrap {
  margin-top: 8px;
}

.cp_mandatory_work .work_price_wrap .work_price,
.cp_mandatory_work .work_price_wrap .strike,
.cp_mandatory_work .work_price_wrap .separate,
.cp_mandatory_work .work_price_wrap .work_point {
  font-size: 14px;
}

.cp_mandatory_work .work_price_wrap .work_price {
  color: #cc1c39;
}

@media screen and (max-width: 320px) {
  .cp_mandatory_work .work_price_wrap .strike {
    display: none;
  }
}

.cp_mandatory_work .cp_work_info .cp_work_cart {
  margin-top: 10px;
}

.cp_mandatory_work [class*="work_"] [class*="btn_"] {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  color: #fff;
  height: 32px;
  padding: 0 0 0 2em;
  font-size: 12px;
  line-height: 30px;
  color: #333333;
  border: none;
  font-size: 14px;
  -webkit-box-shadow: 0 -2px rgba(0, 0, 0, 0.2) inset;
          box-shadow: 0 -2px rgba(0, 0, 0, 0.2) inset;
}

.cp_mandatory_work [class*="work_"] .btn_cart {
  background: #ffd35f;
  color: #333;
}

.cp_mandatory_work [class*="work_"] .btn_cart_in {
  background: #ffeec5;
  color: #988369;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset;
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset;
}

.cp_mandatory_work [class*="work_"] .btn_dl {
  background: #734dbf;
  color: #fff;
}

.cp_mandatory_work [class*="work_"] .btn_dl_no {
  background: #ddd;
}

.cp_mandatory_work [class*="work_"] .btn_st {
  background: #47acff;
  color: #fff;
}

.cp_mandatory_work [class*="work_"] [class*="btn_"]::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'dlsite-icons';
  font-size: 16px;
  vertical-align: top;
  height: 32px;
  line-height: 30px;
  font-size: 14px;
  margin-right: 0;
  color: #fff;
  width: 2em;
  background-color: rgba(0, 0, 0, 0.5);
}

.cp_mandatory_work [class*="work_"] .btn_cart::before,
.cp_mandatory_work [class*="work_"] .btn_cart_in::before {
  content: "\e900";
}

.cp_mandatory_work [class*="work_"] .btn_dl::before {
  content: "\e901";
}

.cp_mandatory_work [class*="work_"] .btn_st::before {
  content: "\e904";
}

.cp_mandatory_work [class*="work_"] .btn_detail::before {
  content: "\e91b";
}

.cp_mandatory_work [class*="work_"] .btn_favorite::before {
  content: "\e902";
}

.cp_mandatory_work [class*="work_"] .btn_favorite_in::before {
  content: "\e903";
}

/* フロア切り替えリンク
---------------------------------------------- */
.cp_floor_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-right: solid 1px rgba(255, 255, 252, 0.3);
  padding-right: 4px;
  margin: 0 4px 0 auto;
}

a.cp_floor_link_item {
  display: block;
  height: 26px;
  line-height: 26px;
  border-radius: 3px;
  text-align: center;
  font-size: 11px;
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.1);
  width: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  margin: 0 8px;
  padding: 0 8px;
}

a.cp_floor_link_item.type_g_rated {
  background: #64b400;
}

a.cp_floor_link_item.type_adult {
  background: #ea7b98;
}

a.cp_floor_link_item.type_bl {
  background: #9a78d2;
}

a.cp_floor_link_item.type_tl {
  background: #ea8aa3;
}

a.cp_floor_link_item.type_purchased {
  color: #333;
}

a.cp_floor_link_item.type_purchased.is-on {
  background: #fe9900;
  color: #fff;
}

a.cp_floor_link_item::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
}

a.cp_floor_link_item.type_purchased::before {
  margin-right: 8px;
  content: "\f00c";
}

.list_header {
  border-bottom: solid 1px #ccc;
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.item_count {
  background-color: transparent;
  border-bottom: none;
}

/* キャンペーン用オススメ作品
---------------------------------------------- */
.cp_push_container {
  overflow: hidden;
  position: relative;
}

.cp_push_slide {
  overflow-x: auto;
  padding: 15px 0 10px;
  -webkit-overflow-scrolling: touch;
}

/* ----- キャンペーン用オススメ作品リスト ----- */
.cp_work_push {
  padding-bottom: 10px;
}

.cp_work_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0;
  white-space: nowrap;
  padding: 0 10px;
}

.cp_work_item {
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
      flex-direction: column;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  position: relative;
  height: auto;
  font-size: 12px;
  width: 165px;
  padding: 0 10px 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
  white-space: normal;
}

/* ----- ランキング ----- */
.cp_rank_num {
  position: absolute;
  left: 50%;
  top: -5px;
  z-index: 10;
  width: 36px;
  height: 48px;
  margin-left: -88px;
  background: url(https://www.dlsite.com/modpub/images/web/common/pic_medal_01.png) no-repeat 0 -150px;
  background-size: cover;
  text-align: center;
  line-height: 36px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.cp_rank_01 .cp_rank_num {
  background-position: 0 0;
}

.cp_rank_02 .cp_rank_num {
  background-position: 0 -50px;
}

.cp_rank_03 .cp_rank_num {
  background-position: 0 -100px;
}

/* ----- 画像 ----- */
.cp_work_img {
  display: block;
}

/* ビューエリア */
.cp_img_body {
  display: block;
  position: relative;
  width: 100%;
  border: solid 1px #eee;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}

.cp_img_body img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
}

.cp_img_body::before {
  display: block;
  width: 100%;
  padding-top: 100%;
  content: "";
}

/* ----- サンプルコントローラー ----- */
.cp_img_controller {
  padding: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #eee;
}

.cp_controller_list::after {
  display: block;
  clear: both;
  content: "";
}

.cp_controller_item {
  float: left;
  position: relative;
  width: 23.5%;
  background: #fff;
  cursor: pointer;
}

.cp_controller_item::before {
  display: block;
  padding-top: 100%;
  content: "";
  width: 100%;
}

.cp_controller_item::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px transparent;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  content: "";
}

.cp_controller_item.current {
  cursor: default;
}

.cp_controller_item.current::after {
  background: rgba(0, 0, 0, 0);
  border-color: #ffc801;
}

.cp_controller_item:not(:first-child) {
  margin-left: 2%;
}

.cp_controller_item img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
}

/* ----- 作品情報 ----- */
.cp_work_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
      flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  margin-top: 10px;
}

/* 作品名 */
.cp_work_name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  max-height: 31.8px;
  line-height: 1.3;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 4px;
}

/* メーカー名 */
.cp_maker_name {
  margin-top: auto;
  white-space: nowrap;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
}

.cp_maker_name a {
  color: #06c;
}

/* 価格・ポイント */
.cp_work_value {
  margin-top: 4px;
  font-size: 11px;
}

/* 価格 */
.cp_work_price {
  font-size: 15px;
  font-weight: bold;
  color: #c00;
  font-family: sans-serif;
}

.cp_work_price i {
  font-size: 12px;
  font-style: normal;
  padding-left: 1px;
}

.cp_work_price > i {
  font-weight: bold;
}

.cp_work_price .strike {
  display: inline-block;
  position: relative;
  font-size: 14px;
  margin: 0 3px;
  padding: 0;
  color: #666;
  text-decoration: none;
}

.cp_work_price .strike::after {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: solid 1px #666;
  margin-top: -1px;
  content: "";
}

/* ポイント */
.cp_work_point {
  color: #093;
}

.cp_reduction_rate {
  font-weight: normal;
  padding-left: 2px;
}

/* 割引アイコン */
.cp_work_deals {
  font-size: 0;
  margin-top: 4px;
}

.cp_work_deals [class*="icon_"] {
  width: 49%;
  height: 17px;
  margin: 0;
  line-height: 15px;
}

.cp_work_deals [class*="icon_"]:first-child {
  margin-right: 2%;
}

/* オプション表示 */
.cp_work_option > span {
  display: inline-block;
  height: 18px;
  line-height: 18px;
  font-size: 11px;
  padding: 0 4px;
  border-radius: 2px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  margin-top: 4px;
}

/* ボタン */
.cp_btn_box.n_work_btn_container {
  padding: 6px 0 0;
}

.cp_btn_box.work_operation {
  padding-top: 10px;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.cp_btn_box.work_operation > *:only-child {
  width: 100%;
  margin: 0;
}

/* カートボタン下揃え */
.campaign_container .n_work_list[class*=type_grid] .n_work_item .n_sale_state {
  margin-top: auto;
}

.scrollList.multiline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-height: 80px;
  padding: 3px 8px 8px;
}

.scrollList.multiline .scrollList_item {
  text-align: center;
  margin-top: 5px;
}

/* ----- 検索条件のリセット -----*/
.btn_01.cp_option_reset {
  border-bottom: solid 1px #ccc;
  padding: 8px 12px;
  background: #f5f5f5;
}

.btn_01.cp_option_reset a {
  display: block;
  height: 32px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -2px 0 #aaa inset, -1px 0 0 #ccc inset, 1px 0 0 #ccc inset, 0 1px 0 #ccc inset;
          box-shadow: 0 -2px 0 #aaa inset, -1px 0 0 #ccc inset, 1px 0 0 #ccc inset, 0 1px 0 #ccc inset;
  border-radius: 4px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 12px;
  line-height: 30px;
  font-weight: bold;
  width: auto;
  letter-spacing: normal;
  color: #777;
}

/* ページ中央再検索ボタン */
.research_btn_wrap {
  border-bottom: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  background-color: #fff;
  margin: 0 auto;
}

.research_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  height: 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 -2px 0 #aaa inset, -1px 0 0 #ccc inset, 1px 0 0 #ccc inset, 0 1px 0 #ccc inset;
          box-shadow: 0 -2px 0 #aaa inset, -1px 0 0 #ccc inset, 1px 0 0 #ccc inset, 0 1px 0 #ccc inset;
  border-radius: 4px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 12px;
  line-height: 34px;
  margin: 0 auto;
  letter-spacing: normal;
}

.research_btn::before {
  display: inline-block;
  height: 100%;
  color: #333;
  vertical-align: top;
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  margin-right: 8px;
  font-size: 16px;
  content: "\f002";
}

.research_btn.active,
.research_btn.active::before {
  color: #fa8c1e;
}

.research_box {
  background-color: #f5f5f5;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}

.cp_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 16px 8px;
  background: #4d6594;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.style_comic .cp_links {
  background: #e57285;
}

.style_pro .cp_links {
  background: #e075ab;
}

.style_books .cp_links {
  background: #5aad5f;
}

.style_girlspro .cp_links {
  background: #9e7ee0;
}

a.cp_link_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8px 10px;
  background: #fff;
  text-align: center;
  font-size: 14px;
  color: #333;
  border-radius: 4px;
  width: 100%;
}

a.cp_link_btn.active,
a.cp_link_btn.active::before {
  color: #fa8c1e;
}

.cp_link_btn::before,
.cp_link_btn::after {
  color: #333;
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
}

.cp_link_btn.type_back::after {
  margin-left: 8px;
  font-size: 20px;
  content: "\f105";
}

.cp_link_btn.type_refine::before {
  margin-right: 8px;
  font-size: 18px;
  content: "\f002";
}

.cp_link_btn.type_purchased::before {
  margin-right: 8px;
  font-size: 11px;
  content: "\f00c";
}

.cp_link_btn.type_link::before {
  margin-right: 8px;
  font-size: 20px;
  content: "\f104";
}

.cp_link_btn.type_link {
  position: relative;
  -webkit-box-shadow: 0 3px #bbb;
          box-shadow: 0 3px #bbb;
}

/* 再検索ドロワーメニュー
---------------------------------------------- */
/* ドロワーメニュー表示時は裏側（ドロワーの兄弟要素）を全て非表示に */
body.global_drawer_active > *:not(#container),
body.global_drawer_active #container > *:not(#wrapper),
body.global_drawer_active #wrapper > *:not(.campaign_container),
body.global_drawer_active .campaign_container > *:not(.global_drawer) {
  display: none;
}

body.global_drawer_active .global_drawer {
  margin-top: -54px;
}

body.top.global_drawer_active .global_drawer {
  margin-top: -50px;
}

/* ----- 絞り込みボタン（ドロワートリガーボタン） ----- */
.global_drawer_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
      flex-direction: column;
  position: fixed;
  bottom: 70px;
  right: 10px;
  z-index: 10;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #536280;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 10px;
}

[class*="style_girls"] .global_drawer_btn {
  color: #806060;
}

.global_drawer_btn.active,
[class*="style_girls"] .global_drawer_btn.active {
  color: #fa8c1e;
}

.global_drawer_btn::before {
  display: inline-block;
  font-family: 'dlsite-icons';
  content: "\e914";
  font-size: 20px;
}

/* ----- ドロワー ----- */
.global_drawer {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  z-index: 600;
}

.global_drawer.native_scrolling {
  position: relative;
}

.global_drawer.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.global_drawer_inner {
  min-height: 100%;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
      flex-grow: 1;
}

/* ----- ドロワー暗転背景 ----- */
.global_drawer_bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  content: "";
}

.active .global_drawer_bg {
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* ----- ドロワーの中身 ----- */
.global_drawer_content {
  position: relative;
  z-index: 610;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  height: 100%;
  box-sizing: border-box;
  padding: 50px 0 60px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.active .global_drawer_content,
.active .global_drawer_header,
.active .global_drawer_footer {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* ----- ドロワーヘッダー ----- */
.global_drawer_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 620;
  width: 100%;
  height: 50px;
  background: #fff;
  text-align: center;
  line-height: 50px;
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 16px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

/* 閉じる */
.global_drawer_close {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  padding: 0 10px 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 14px;
  color: #333;
}

.global_drawer_close::before {
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 50%;
  left: 13px;
  margin-right: -5px;
  -webkit-box-shadow: 1px 1px 0 #333 inset;
          box-shadow: 1px 1px 0 #333 inset;
  content: "";
}

/* ----- ドロワーフッター ----- */
.global_drawer_footer {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 620;
  width: 100%;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ----- ランキング切り替え ----- */
.cp_option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 12px 8px;
}

.cp_option_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
  width: 100%;
  margin: 0 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cp_option_item .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #e6ebf5;
  width: 40px;
  padding: 0 4px;
  border-radius: 3px 0 0 3px;
  font-size: 11px;
  color: #4d6594;
}

.cp_option_item .selected_option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 34px;
  padding: 6px 12px 6px 0;
  border-radius: 0 3px 3px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px #e6ebf5;
  text-align: center;
  font-size: 11px;
  line-height: 1.2;
}

.cp_option_item .selected_option > * {
  font-size: 11px;
}

.cp_option_item .selected_option h2 {
  padding: 0;
  background: none;
  color: inherit;
}

.cp_option_item .selected_option::after {
  display: block;
  position: absolute;
  right: 8px;
  top: 50%;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: 1px 1px 0 #999;
          box-shadow: 1px 1px 0 #999;
  margin: -7px 0 0 10px;
  content: "";
}

.cp_option_item .selected_option.active::after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-top: 0;
}

/* ----- 詳細検索の既存スタイルの上書き ----- */
.global_drawer .search_group.type_detailedSearch {
  border: none;
}

.global_drawer_footer .btn_01 input,
.global_drawer_footer .btn_01 a {
  height: 40px;
  line-height: 38px;
  border-radius: 4px;
  -webkit-box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
          box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
}

.global_drawer_footer div.btn_01.parallel a:first-child,
.global_drawer_footer div.btn_01.parallel input:first-child {
  width: 38%;
  margin-right: 2%;
}

.global_drawer_footer div.btn_01.parallel a:last-child,
.global_drawer_footer div.btn_01.parallel input:last-child {
  width: 60%;
}

.n_work_list_container.cp_worklist .n_work_item_link {
  bottom: 72px;
}

/* ----- チェックボックスの代わり ----- */
.cp_search_toggle {
  display: block;
  padding: 8px 10px;
  border-radius: 3px;
  font-size: 12px;
  background-color: #e6eaf2;
  color: #536280;
}

[class*="style_girls"] .cp_search_toggle {
  background-color: #f6f1f3;
  color: #806060;
}

.cp_search_toggle.selected {
  background-color: #fff9d9;
  -webkit-box-shadow: 0 0 1px #fa8c1e inset;
          box-shadow: 0 0 1px #fa8c1e inset;
  color: #fa8c1e;
}

/* ==================================================
 既存スタイルの上書き
================================================== */
#container.campaign_container {
  padding-bottom: 50px;
}

.global_drawer_active #container.campaign_container {
  padding-bottom: 0;
}

.style_comic .main_lead_01 {
  border-bottom: 1px solid #ddd;
  background-color: #eee;
  color: #666;
}

.style_comic .refineTable_item_title {
  color: #666;
}

.style_comic .refineTable_item {
  background-color: #eee;
}

.style_comic .scrollList_item a {
  background: #eee;
  color: #666;
}

.style_comic .display_option.type_search .display_option_btn {
  border: 1px solid #eee;
  background: #eee;
}

.cp_header .main_lead_01,
.cp_header ~ .search_results .main_lead_01 {
  border-top: 1px solid #c5cee0;
}

.style_comic .cp_header ~ .search_results .main_lead_01 {
  border-top: 1px solid #ddd;
}

[class*="style_girls"] .cp_header .main_lead_01,
[class*="style_girls"] .cp_header ~ .search_results .main_lead_01 {
  border-top: 1px solid #dbc1ce;
}

.style_comic [class*="style_girls"] .cp_header .main_lead_01,
.style_comic [class*="style_girls"] .cp_header ~ .search_results .main_lead_01 {
  border-top: 1px solid #ddd;
}

.style_comic .device_filter.type_all::before {
  background-position: center -885px;
}

.style_comic .display_layout.type_row::before {
  background-position: center -85px;
}

.cp_header ~ .search_results .option_container {
  padding-bottom: 0;
}

.cp_header ~ .search_results .refineTable_item_title {
  width: 5em;
}

.global_drawer .btn_01.search_btn input {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.global_drawer .option_item input[type="checkbox"] + label,
.global_drawer .option_item input[type="radio"] + label,
.global_drawer .detailed_search input[type="checkbox"] + label,
.global_drawer .detailed_search input[type="radio"] + label {
  padding: 8px 10px;
  border-radius: 3px;
  font-size: 12px;
}

/*
#scrollUp.type_campaign {
  bottom: 60px;
}
*/
.campaign_container .box_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
      align-items: center;
}

.style_comic .campaign_container .pager_area ul li.current > *,
.style_books .campaign_container .pager_area ul li.current > *,
.style_pro .campaign_container .pager_area ul li.current > * {
  background-color: #7191bd;
}

.style_girls .campaign_container .pager_area ul li.current > *,
.style_girlspro .campaign_container .pager_area ul li.current > * {
  background-color: #a68585;
}

.style_comic .style_pro .campaign_container .pager_area ul li.current > * {
  background-color: #999;
}

.style_comic .style_girlspro .campaign_container .pager_area ul li.current > * {
  background-color: #999;
}

.n_work_list_container.cp_worklist {
  border-top: solid 1px #ddd;
  margin-top: -1px;
}

.n_work_list.type_cp_ranking .n_work_item.type_exclusive_03::before {
  content: none;
}

/* キャンペーン説明ボックス
---------------------------------------------- */
.cp_wrapper {
  margin: 10px 0;
}

.cp_disc {
  width: 100%;
  background: #efefef;
  padding: 5% 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cp_disc_inner {
  background: #fff;
  width: 90%;
  margin: 0 auto;
  border-radius: 8px;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cp_disc_ttl {
  text-align: center;
  font-size: 20px;
  color: #000;
  margin-bottom: 16px;
}

.cp_disc_inner p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 10px;
}

/* キャンペーン同時開催中！
---------------------------------------------- */
.cp_sale_wrap {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  overflow-x: scroll;
  margin: 16px calc(50% - 50vw);
  padding: 0 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cp_sale_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cp_sale_list_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 8px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.cp_sale_list_item:not(:last-child) {
  border-right: 1px solid #eee;
}

.cp_sale_list_item .name {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 11px;
}

.cp_sale_list_item .name a {
  color: #333;
  padding: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 154px;
}

.cp_sale_list_item .name a span {
  font-weight: bold;
}

.cp_sale_list_item [class*="icon_"]::before {
  color: #fa4da5;
  display: inline-block;
  margin-right: 8px;
  font-size: 24px;
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  content: "\f303";
}

.cp_sale_list_item .icon_arrow::before {
  content: "\f0da";
}

.cp_sale_list_item .icon_clock::before {
  content: "\f34e";
}

.cp_sale_list_item .icon_coins::before {
  content: "\f51e";
}

.cp_sale_list_item .icon_stars::before {
  content: "\f762";
}

.cp_sale_list_item .icon_coin::before {
  content: "\f85c";
}

.cp_sale_list_item .icon_bolt::before {
  content: "\f0e7";
}

.cp_sale_list_item .icon_movie::before {
  content: "\f008";
}

.cp_sale_list_item .icon_game::before {
  content: "\f11b";
}

.cp_sale_list_item .icon_voice::before {
  content: "\f025";
}

.cp_sale_list_item .icon_mobile::before {
  content: "\f3ce";
}

.cp_sale_list_item .icon_pc::before {
  content: "\f108";
}

.cp_sale_list_item .update {
  font-size: 10px;
  background: #fff038;
  display: inline-block;
  padding: 0 6px;
  color: #684e1d;
  border-radius: 16px;
  margin-top: 2px;
}

.cp_sale_menu_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cp_sale_menu_text span {
  text-align: center;
  font-weight: bold;
  margin-top: 24px;
  border-radius: 15px;
  padding: 3px 16px;
  background: #f7397a;
  color: #fff;
  max-width: 80%;
}

.cp_sale_wrap.type_no_scrolling {
  display: block;
}

.cp_sale_wrap.type_no_scrolling .cp_sale_list {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.cp_sale_wrap.type_no_scrolling .cp_sale_list_item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cp_sale_wrap.type_no_scrolling .cp_sale_list_item .name a {
  max-width: 100%;
}
/*# sourceMappingURL=matome_cp_sp.css.map */