@charset "utf-8";

/* 花鏡
-------------------------------------------------- */

/* ヘッダー
-------------------------------------------------- */
.lp_header {
  height: 57px;
  display: flex;
  justify-content: space-between;
  position: absolute;
  background: none;
}

.logo {
  width: 164px;
}

.twitter_icon {
  display: block;
  width: 33px;
}

.lp_footer {
  position: relative;
  z-index: 10;
}

.lp_footer.type_color {
  background: #000;
}


/* 各項目共通
-------------------------------------------------- */
html {
  font-size: 62.5%;
}

a:link { color: #000; }
a:visited { color: #000; }
a:hover { color: #ff9c9c; }
a:active { color: #ff9c9c; }

#hanakagami {
  overflow: hidden;
  width: 100%;
}

#hanakagami a:hover {
  opacity: 0.8;
}

#hanakagami img {
  width: 100%;
  vertical-align: bottom;
}


/* fadein
-------------------------------------------------- */
.fadeIn {
  animation: fadeIn 1s ease 0s 1 both;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeIn_02 {
  animation: fadeIn 2.5s ease 0s 1 both;
}
@keyframes fadeIn_02 {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadein_up {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1.5s;
}
.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


/* ボタン
-------------------------------------------------- */
.btn {
  width: 70vw;
  display: block;
  margin: 0 auto;
  margin-top: 4vw;
}
@media screen and (min-width: 769px) {
  .btn {
    width: 300px;
    margin-top: 2rem;
  }
}
.btn:hover {
  opacity: 0.7;
}

.btn_voice {
  background-image: url(../img/btn_voice_01.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  width: 70vw;
  height: 15vw;
}
@media screen and (min-width: 769px) {
  .btn_voice {
    width: 300px;
    height: 7rem;
  }
}
.btn_voice.active {
  background-image: url(../img/btn_voice_02.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  width: 70vw;
  height: 15vw;
}
@media screen and (min-width: 769px) {
  .btn_voice.active {
    width: 300px;
    height: 7rem;
  }
}

.btn.margin_top.sp_btn {
  margin-top: 2vw;
}

.pc {
  display: none;
}
@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}

/* heroarea
-------------------------------------------------- */
.hero_wrap::before {
  content: "";
  display: block;
  position: fixed;
  background-image: url(../img/sp_main_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  height: 180vw;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .hero_wrap::before {
    background-image: url(../img/main_bg.jpg);
    width: 100%;
    height: 100%;
  }
}

.main_catch {
  width: 16vw;
  position: absolute;
  right: 5vw;
  top: 14vw;
}
@media screen and (min-width: 769px) {
  .main_catch {
    width: 883px;
    position: relative;
    right: 0;
    top: 0;
    margin: 0 auto;
    padding-top: 52rem;
  }
}

.main_20per {
  width: 41vw;
  position: absolute;
  left: -2vw;
  top: 100vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .main_20per {
    width: 229px;
    left: auto;
    right: -25rem;
    top: -5rem;
  }
}

.bg_obi {
  background-image: url(../img/main_obi.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top 133vw center;
  padding-bottom: 6vw;
}
@media screen and (min-width: 767px) {
  .bg_obi {
    background-position: top 102rem center;
    padding-bottom: 8rem;
    margin-top: 0px;
  }
}
@media screen and (min-width: 769px) {
  .bg_obi {
    background-size: cover;
    background-position: bottom 11rem center;
    padding-bottom: 15rem;
    margin-top: 3rem;
  }
}

.main_logo {
  width: 90vw;
  margin: 0 auto;
  padding-top: 138vw;
}
@media screen and (min-width: 769px) {
  .main_logo {
    width: 713px;
    padding-top: 2rem;
    position: relative;
  }
}

@media screen and (min-width: 769px) {
  .bg {
    height: 17rem;
  }
}


/* キャンペーン
-------------------------------------------------- */
.campaign {
  background-color: rgba(26,25,24,0.9);
  padding-bottom: 15vw;
}
@media screen and (min-width: 769px) {
  .campaign {
    padding-bottom: 10rem;
  }
}

@media screen and (min-width: 769px) {
  .campaign_wrap {
    background-image: url(../img/obi_campaign.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top 8rem center;
  }
}

.section_title {
  width: 70vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .section_title {
    width: 385px;
  }
}

.txt_catch {
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4vw;
  color: #fff;
  letter-spacing: 0.5vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .txt_catch {
    font-size: 2.8rem;
    letter-spacing: 0.3rem;
    margin-top: 5rem;
  }
}
.txt_type_red {
  color: #ff3e3e;
  font-weight: 700;
}
.txt_type_red strong {
  font-size: 6.8vw;
}
@media screen and (min-width: 769px) {
  .txt_type_red strong {
    font-size: 4.8rem;
  }
}

.img_sample {
  width: 90vw;
  margin: 0 auto;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .img_sample {
    width: 543px;
    margin-top: 3rem;
  }
}

.txt_M {
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 400;
  font-style: normal;
  font-size: 5vw;
  color: #fff;
  letter-spacing: 0.5vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .txt_M {
    font-size: 2rem;
    letter-spacing: 0.2rem;
    margin-top: 2rem;
  }
}
.txt_M span {
  font-size: 2vw;
}
@media screen and (min-width: 769px) {
  .txt_M span {
    font-size: 1.5rem;
  }
}

.txt_20per_wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .txt_20per_wrap {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
  }
}

.txt_area {
  width: 75vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .txt_area {
    width: auto;
    margin: 0;
    margin-right: 2rem;
  }
}

.txt_L {
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 900;
  font-style: normal;
  font-size: 7vw;
  color: #ff3e3e;
  letter-spacing: 0.3vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .txt_L {
    font-size: 2.5rem;
    letter-spacing: 0.1rem;
    margin-top: 0;
  }
}
.txt_L b {
  font-weight: 700;
  font-size: 12vw;
}
@media screen and (min-width: 769px) {
  .txt_L b {
    font-size: 4rem;
  }
}
.txt_L span {
  font-weight: 700;
  font-size: 5vw;
}
@media screen and (min-width: 769px) {
  .txt_L span {
    font-size: 1.7rem;
  }
}

.txt_b_red {
  background-color: #ff3e3e;
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 900;
  font-style: normal;
  font-size: 5vw;
  color: #000;
  letter-spacing: 0.3vw;
  margin-top: 1.5vw;
}
@media screen and (min-width: 769px) {
  .txt_b_red {
    font-size: 2rem;
    letter-spacing: 0.1rem;
    margin-top: 1.5rem;
  }
}

.icon_20peroff {
  width: 25vw;
  position: absolute;
  top: -3vw;
  right: 5vw;
}
@media screen and (min-width: 769px) {
  .icon_20peroff {
    width: 10rem;
    position: relative;
    top: auto;
    right: auto;
  }
}

.margin_top {
  margin-top: 10vw;
}
@media screen and (min-width: 769px) {
  .margin_top {
    margin-top: 7rem;
  }
}

.txt_s {
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3.5vw;
  color: #fff;
  letter-spacing: 0.5vw;
  margin-top: 2vw;
}
@media screen and (min-width: 769px) {
  .txt_s {
    font-size: 1.5rem;
    letter-spacing: 0.3rem;
    margin-top: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .sp_btn {
    display: none;
  }
}

/* シリーズ作品
-------------------------------------------------- */
.series {
  background-color: rgba(0, 0, 0, 0.9);
  padding-top: 15vw;
  padding-bottom: 15vw;
}
@media screen and (min-width: 769px) {
  .series {
    padding-top: 10rem;
    padding-bottom: 6rem;
  }
}

@media screen and (min-width: 769px) {
  .garumani_senkou_area {
    display: flex;
    justify-content: center;
  }
}

.garumani_senkou_wrap {
  background-color: #ff3e3e;
  width: 50vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .garumani_senkou_wrap {
    width: 309px;
    margin: 0;
  }
}

.garumani_senkou {
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 900;
  font-style: normal;
  font-size: 5.5vw;
  color: #000;
  letter-spacing: 0.1vw;
  margin-top: 7vw;
}
@media screen and (min-width: 769px) {
  .garumani_senkou {
    font-size: 3rem;
    letter-spacing: 0.1rem;
    margin-top: 0;
  }
}

.series_title_txt {
  text-align: center;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 700;
  font-style: normal;
  font-size: 5.5vw;
  color: #cd9e60;
  letter-spacing: 0.1vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .series_title_txt {
    font-size: 3rem;
    letter-spacing: 0.1rem;
    margin-top: 0;
  }
}

@media screen and (min-width: 769px) {
  .jk_txt_wrap {
    display: flex;
    justify-content: center;
    margin-top: 5rem;
  }
}

.jk_wrap {
  width: 75vw;
  margin: 0 auto;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .jk_wrap {
    width: 463px;
    margin: 0;
    margin-top: 0;
    margin-right: 3rem;
  }
}

.txt_wrap {
  width: 85vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .txt_wrap {
    width: 486px;
    margin: 0;
  }
}

.title_txt {
  border-left: solid 2vw #ff3e3e;
  padding-left: 2vw;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 900;
  font-style: normal;
  font-size: 5.5vw;
  color: #ff3e3e;
  letter-spacing: 0.1vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .title_txt {
    border-left: solid 1.2rem #ff3e3e;
    padding-left: 2rem;
    font-size: 2.3rem;
    line-height: 3.5rem;
    letter-spacing: 0.2rem;
    margin-top: 0;
  }
}
.title_txt span {
  font-weight: 900;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .title_txt span {
    font-size: 2rem;
  }
}

.data_txt {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  font-size: 3.3vw;
  color: #fff;
  letter-spacing: 0.1vw;
  line-height: 6vw;
  margin-top: 5vw;
}
@media screen and (min-width: 769px) {
  .data_txt {
    font-size: 1.5rem;
    color: #fff;
    letter-spacing: 0.1rem;
    line-height: 3rem;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 769px) {
  .series_btn_wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media screen and (min-width: 769px) {
  .btn.series_btn {
    margin-top: 4rem;
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 0;
  }
}

/* swiper */
.swiper-container {
  margin-top: 5vw;
  position: relative;
}
@media screen and (min-width: 769px) {
  .swiper-container {
    margin-top: 5rem;
    max-width: 1580px;
    position: relative;
  }
}

@media screen and (min-width: 769px) {
  .swiper-slide {
    background-image: url(../img/obi_red_series.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top 8rem center;
  }
}

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  top: 104vw;
}
@media screen and (min-width: 769px) {
  .swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
    top: 39rem;
  }
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
  position: static;
}

.swiper-pagination {
  background-image: url(../img/sp_obi_siro_series.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 2vw;
}
@media screen and (min-width: 377px) {
  .swiper-pagination {
    padding: 0 10vw;
  }
}
@media screen and (min-width: 452px) {
  .swiper-pagination {
    padding: 0 17vw;
  }
}
@media screen and (min-width: 547px) {
  .swiper-pagination {
    padding: 0 21vw;
  }
}
@media screen and (min-width: 645px) {
  .swiper-pagination {
    padding: 0 25vw;
  }
}
@media screen and (min-width: 753px) {
  .swiper-pagination {
    padding: 0 29vw;
  }
}
@media screen and (min-width: 767px) {
  .swiper-pagination {
    background-image: url(../img/obi_siro_series.png);
    background-size: auto;
    padding: 3rem 0 0 0;
    margin-bottom: 5rem;
    flex-wrap: nowrap;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(1) {
  background-image: url(../img/sp_logo_01.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 76px;
  height: 80px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(1) {
    background-image: url(../img/logo_01.png);
    background-position: bottom;
    width: 117px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(1) {
  background-image: url(../img/sp_logo_01_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(1) {
    background-image: url(../img/logo_01_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(1) {
  background-image: url(../img/sp_logo_01_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(1) {
    background-image: url(../img/logo_01_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(2) {
  background-image: url(../img/sp_logo_02.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 49px;
  height: 80px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(2) {
    background-image: url(../img/logo_02.png);
    background-position: bottom;
    width: 76px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(2) {
  background-image: url(../img/sp_logo_02_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(2) {
    background-image: url(../img/logo_02_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(2) {
  background-image: url(../img/sp_logo_02_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(2) {
    background-image: url(../img/logo_02_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(3) {
  background-image: url(../img/sp_logo_03.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 78px;
  height: 80px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(3) {
    background-image: url(../img/logo_03.png);
    background-position: bottom;
    width: 120px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(3) {
  background-image: url(../img/sp_logo_03_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(3) {
    background-image: url(../img/logo_03_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(3) {
  background-image: url(../img/sp_logo_03_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(3) {
    background-image: url(../img/logo_03_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(4) {
  background-image: url(../img/sp_logo_04.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 63px;
  height: 80px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(4) {
    background-image: url(../img/logo_04.png);
    background-position: bottom;
    width: 97px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(4) {
  background-image: url(../img/sp_logo_04_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(4) {
    background-image: url(../img/logo_04_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(4) {
  background-image: url(../img/sp_logo_04_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(4) {
    background-image: url(../img/logo_04_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(5) {
  background-image: url(../img/sp_logo_05.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 55px;
  height: 52px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(5) {
    background-image: url(../img/logo_05.png);
    background-position: bottom;
    width: 85px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(5) {
  background-image: url(../img/sp_logo_05_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(5) {
    background-image: url(../img/logo_05_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(5) {
  background-image: url(../img/sp_logo_05_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(5) {
    background-image: url(../img/logo_05_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(6) {
  background-image: url(../img/sp_logo_06.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 82px;
  height: 52px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(6) {
    background-image: url(../img/logo_06.png);
    background-position: bottom;
    width: 126px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(6) {
  background-image: url(../img/sp_logo_06_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(6) {
    background-image: url(../img/logo_06_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(6) {
  background-image: url(../img/sp_logo_06_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(6) {
    background-image: url(../img/logo_06_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(7) {
  background-image: url(../img/sp_logo_07.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 43px;
  height: 52px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(7) {
    background-image: url(../img/logo_07.png);
    background-position: bottom;
    width: 67px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(7) {
  background-image: url(../img/sp_logo_07_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(7) {
    background-image: url(../img/logo_07_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(7) {
  background-image: url(../img/sp_logo_07_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(7) {
    background-image: url(../img/logo_07_activ.png);
    background-position: bottom;
  }
}

.swiper-pagination .swiper-pagination-bullet:nth-of-type(8) {
  background-image: url(../img/sp_logo_08.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
  width: 63px;
  height: 52px;
  background-size: 100%;
  opacity: 1;
  border-radius: 0;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:nth-of-type(8) {
    background-image: url(../img/logo_08.png);
    background-position: bottom;
    width: 97px;
    height: 89px;
  }
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(8) {
  background-image: url(../img/sp_logo_08_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-of-type(8) {
    background-image: url(../img/logo_08_activ.png);
    background-position: bottom;
  }
}
.swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(8) {
  background-image: url(../img/sp_logo_08_activ.png);
  background-repeat: no-repeat;
  background-position: top;
  background-color: transparent;
}
@media screen and (min-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet:hover:nth-of-type(8) {
    background-image: url(../img/logo_08_activ.png);
    background-position: bottom;
  }
}

/* クレジット
-------------------------------------------------- */
.credit {
  background-color: rgba(26,25,24,0.9);
  padding-top: 15vw;
  padding-bottom: 15vw;
}
@media screen and (min-width: 769px) {
  .credit {
    padding-top: 7rem;
    padding-bottom: 10rem;
  }
}

.pc_btn {
  display: none;
}
@media screen and (min-width: 769px) {
  .pc_btn {
    display: block;
    margin-bottom: 10rem;
  }
}

.credit_logo_wrap {
  display: flex;
  justify-content: center;
}

.dlsite_logo {
  width: 35vw;
  padding-top: 3vw;
}
@media screen and (min-width: 769px) {
  .dlsite_logo {
    width: 164px;
    padding-top: 2rem;
  }
}

.hanakagami_logo {
  width: 25vw;
  margin-left: 7vw;
}
@media screen and (min-width: 769px) {
  .hanakagami_logo {
    width: 114px;
    margin-left: 4rem;
  }
}
.new-label {
  background-color: rgba(240,240,240,.95);
  padding: 10vw 0 25vw;
  background-image: none;
}
.new-label .area-title {
  max-width: 800px;
  padding: 0 4vw;
  margin: 0 auto 10vw;
}
.new-label .tag_wrap {
  display: block;
  width: 100%;
  text-align: center;
}
.new-label .title_txt {
  color: #ba6689;
  border-left: solid 2vw #ba6689;
}
.new-label .title_txt_new {
  color: #0f0f0f;
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 700;
  text-align: center;
  padding-top: 20px;
  font-size: 6.5vw;
}
.new-label .tag{
  display: inline-block;
  font-size: 3rem;
  letter-spacing: 0.1rem;
  background-color: #ba6689;
  text-align: center;
  padding: 1vw 2vw;
  margin: 0 1.5vw;
}
.new-label .tag span{
  font-family: kozuka-mincho-pr6n,serif;
  font-weight: 900;
  font-style: normal;
  color: #fff;
  font-size: 5.5vw;
  line-height: 0;
}
.new-label .data_txt{
  color: #080808;
}

.new-label .series_btn_wrap {
  margin-top: 40px;
}

@media screen and (min-width: 769px) {
  .new-label {
    background-image: url(../img/bg_newlabel.png);
    padding: 10rem 0;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .new-label .area-title {
    margin: 0 auto 40px;
    padding: 0 20px;
  }
  .new-label .title_txt {
      border-left: solid 1.2rem #ba6689;
  }
  .new-label .title_txt_new{
    font-size: 42px;
  }
  .new-label .tag  {
    margin: 0 10px 20px;
    padding: 5px 20px;
  }
  .new-label .tag span {
    font-size: 3rem;
  }
  .new-label .series_btn_wrap {
    margin-top: 20px;
  }
}