@charset "utf-8";

/*============================================
reset
============================================*/

html,body {width:100%;  }
body,div,ul,li, img {margin:0; padding:0;}
ul,li {list-style:none;}

img {
  width: auto;
  max-width: 100%;
}

iframe{
  width: 1px;
  height: 1px;
  border: 0;
  margin: 0;
}
iframe.scroll::-webkit-scrollbar {
  display: none;
}
iframe.scroll {
  -ms-overflow-style: none; /* edge */
  scrollbar-width: none; /* firefox */
}

section {
  display: block;
  margin: auto;
  overflow: hidden;
}
.clearfix {
    zoom: 1;
}

.clearfix:after {
    display: block;
    clear: both;
    content: "";
}

div {
  box-sizing: border-box;
}

.mv_area {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0;
}

.mv_area > div {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.mv_area img {
  width: 100%;
}

/*============================================
content
============================================*/
main {
  padding-bottom: 60px;
}

@media print,screen and (min-width:769px) {
  main {
    padding-bottom: 80px;
  }
}

/*============================================
content
============================================*/
.content {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

/*============================================
description
============================================*/
.description_area {
  width: 100%;
  padding: 50px 0;
  background: #ffeeee;
}

h2.description_title {
  padding: 0 3vw 50px 3vw;
}

h2.description_title img {
  margin: 0 auto;
}

.description {
  text-align: center;
}

.description p {
  margin-bottom: 30px;
}

.description span.highlight {
  font-size: 7.8vw;
}

.description_img img {
  width: 100%;
  max-width: 689px;
}

.description_border {
  margin: 20px 0;
}

.description_border img {
  width: 100%;
  max-width: 910px;
}

@media print,screen and (min-width:769px) {
  .description_area {
    padding: 90px 0;
  }

  h2.description_title {
    padding: 0 0 90px 0;
  }

  .description p {
    margin-bottom: 40px;
  }

  .description p.norTxt {
    font-size: 36px;
  }
  
  .description span.highlight {
    font-size: 44px;
  }

  .description_border {
    margin: 40px 0;
  }
}

/*============================================
shop
============================================*/
.shop_area {
  position: relative;
  width: 100%;
  padding: 45px 0;
  background: #e389a2;
  text-align: center;
}

.shop_area img {
  margin: 0 auto;
}

.shop_icon {
  display: flex;
  width: 70%;
  max-width: 1016px;
  margin: 0 auto;
  margin-bottom: 25px;
	justify-content: space-between;
}

.shop_icon img {
  width: 100%;
  max-width: 200px;
}

.shop_icon > div:first-child {
  margin-right: 8vw;
}

.shop_txt {
  width: 100%;
  max-width: 1016px;
  text-align: center;
}

.shop_txt p {
  color: #fff;
}

.shop_txtImg {
  width: 85%;
  margin: 0 auto;
  margin-bottom: 10px;
}

.shop_txtImg img {
  width: 100%;
  max-width: 588px;
}

.shop_area .round_wrap {
  margin-top: 30px;
}

.search_txt {
  margin-bottom: 30px;
}

.search_txt img {
  width: 90%;
  max-width: 561px;
}

.location {
  margin-bottom: 30px;
}

.location a,
.location a img {
  width: 100%;
}

.location ul {
  margin-top: 10px;
  text-align: left;
}

.search_btn {
  display: flex;
	flex-direction: column;
  width: 100%;
  margin: 0 auto;
	justify-content: space-between;
}

.search_btn > div:first-child {
  margin-bottom: 4%;
}

.netBtn a img,
.shopBtn a img {
  width: 100%;
}

@media print,screen and (min-width:769px) {
  .shop_area {
    padding: 90px 0;
  }

  .shop_icon {
    width: 100%;
    margin-bottom: 0px;
  }

  .shop_icon > div:first-child {
    margin-right: 0;
  }

  .shop_txt {
    position: absolute;
    top: 50px;
  }

  .shop_txtImg {
    width: 100%;
  }

  .shop_area .round_wrap {
    margin-top: 40px;
  }

  .shop_txtImg img {
    width: 100%;
    max-width: 504px;
  }

  .search_txt img {
    width: 100%;
    max-width: 476px;
  }

  .search_btn {
    flex-direction: row;
    width: 690px;
  }
}

@media print,screen and (max-width:995px) and (min-width:769px) {
  .shop_txt {
    top: 100px;
  }
  .shop_txtImg img {
    width: 55%;
  }
  .shop_txt .norTxt {
    font-size: 2.6vw;
  }
  .shop_icon img {
    width: 75%;
  }
}

/*============================================
sale
============================================*/
.sale_area {
  width: 100%;
  padding: 30px 0;
  background: #ffeeee;
  text-align: center;
}

.sale_area p:last-of-type {
  margin-bottom: 2%;
}

.sale_area a,
.sale_area a img {
  width: 100%;
  max-width: 690px;
}

@media print,screen and (min-width:769px) {
  .sale_area {
    padding: 60px 0;
  }
}

/*============================================
video
============================================*/
.video {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}

.video-inner {
  position:relative;
  padding-bottom:56.25%;
  padding-top:30px;
  height:0;
  overflow:hidden;
}
.video-inner iframe,
.video-inner object,
.video-inner embed {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

/*============================================
howto
============================================*/
.howto {
  padding-top: 40px;
  text-align: center;
}

.howto-txt {
  width: 100%;
  max-width:690px;
  margin: 0 auto;
  padding: 0 1%;
}

.howto h2 {
  width: 100%;
  margin: 0 auto;
}

.howto h2 img {
  width: 90%;
  max-width: 555px;
  margin: 0 auto;
}

.howtxtImg,
.howtxtImg02 {
  margin: 0 auto;
  text-align: center;
}

.howtxtImg {
  margin-top: 40px;
  margin-bottom: 60px;
}

.howtxtImg02 {
  margin-bottom: 60px;
}

.howtxtImg img,
.howtxtImg02 img {
  width: 100%;
  margin: 0 auto;
}

.howtxtImg img {
  max-width: 722px;
}

.howtxtImg02 img {
  width: 80%;
  max-width: 440px;
}

@media print,screen and (min-width:769px) {
  .howto {
    padding-top: 80px;
  }

  .howto h2 img {
    max-width: 705px;
  }

  .howtxtImg {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .howtxtImg02 img {
    max-width: 698px;
  }
}

/*============================================
slider
============================================*/
.slider_area{
  width: 100%;
  height: 100%;
  max-width: 690px;
  margin: 0 auto;
  margin-bottom: 25px;
  position: relative;
}
@media screen and (min-width: 769px){
  .slider_area{
    margin: 0 auto;
    margin-bottom: 40px;
  }
}

/*--------- .tabs ---------*/

.tabs {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  border: 3px solid #d82228;
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  position: relative;
}

.tabs > li {
  width: calc(100%/2);
  text-align: center;
  cursor: pointer;
  position: relative;
  padding: 10px 0 15px;
  z-index: 1;
  color:#666666;
  font-size:4.3750vw;
  font-weight:bold;
  text-align:center;
}


.tabs > li:after {
  content: '';
  position: absolute;
  bottom:0;
  display: block;
  width: 100%;
  height: 3px;
  background: #d82228;
}

.tabs > li.active {
  color: #d82228;
  font-size: 4.9vw;
  /* padding-bottom: 15px; */
}

.tabs > li.active::before {
    content: '';
    position: absolute;
    top:-14px;
    width: 100%;
    height: 100%;
    border-radius: 15px 15px 0 0;
    border: 3px solid #d82228;
    border-bottom: none;
    background: #fff;
    z-index: -2;
    padding-top: 8px;
}
.tabs > li.active::after {
 content: '';
 background: #fff;
 position: absolute;
 bottom:0;
 display: block;
 width: 100%;
 height: 3px;
}

.tabs .tab_li_01.active::before {
  content: '';
  left: -3px;
}

.tabs .tab_li_02.active::before {
  content: '';
  right: -3px;
}


@media screen and (min-width: 769px){

  .tabs {
    border: 4px solid #d82228;
    border-radius: 20px 20px 0 0;
  }

  .tabs > li {
    font-size: 28px;
  }


  .tabs > li:after {
    display: none;
  }
  .tabs > li.active {
    font-size: 34px;
    padding-bottom: 20px;
  }

  .tabs > li.active::before {
      top:-19px;
      border-radius: 20px 20px 0 0;
      border: 4px solid #d82228;
      border-bottom: none;
      padding-top: 15px;
  }

  .tabs > li.active:after {
   content: '';
   height: 4px;
   bottom: -4px;
  }

  .tabs .tab_li_01.active::before {
    content: '';
    left: -4px;
  }
  .tabs .tab_li_02.active::before {
    content: '';
    right: -4px;
  }
}



/*--------- .tab_content ---------*/

.tab_content {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height: 100%;
  max-width: 690px;
  background: #fff;
  box-sizing:border-box;
  text-align:center;
  padding:60px 0 ;
  opacity:0;
  z-index:-1;
}
.tab_content.active {
  width:100%;
  height: 100%;
  max-width: 690px;
  padding:0;
  background:#fff;
  border:3px solid #cc0033;
  border-top: none;
  border-radius: 0 0 15px 15px ;
  /* padding:15px 0 10px; */
  position:relative;
  top:0;
  left:0;
  opacity:1;
  z-index:1;
}
.tab_slide {
  position: relative;
  width:100%;
  max-width: 682px;
  /* margin: 0 -10%; */
}

@media screen and (min-width: 769px){
  .tab_content {
    padding:115px 0 115px 0;
  }
  .tab_content.active {
      border:4px solid #cc0033;
      border-radius: 0 0 25px 25px ;
      border-top: none;
      /* padding:30px 0 40px; */
  }
}


/*--------- slick ---------*/
.tab_content .slick-slider {
    width: 80vw;
    height: auto !important;
    max-height: 100% !important;
    position: relative;
    margin:0 auto;
}

.tab_content .slick-slider div{outline:none; border:none;}


/*slick button*/
.tab_content .slick-slider button {
  position:absolute;
  outline:none;
  border:none;
}

.tab_content .slick-slider > button.slick-arrow {
  display:inline-block;
  top:50%;
  width:15vw;
  height:15vw;
  font-size:0;
  z-index:100;
}
.tab_content .slick-slider > button.slick-arrow:before{content:"";}

.tab_content .slick-slider > button.slick-arrow.slick-prev{
  left:0;
  background: url(/keitai_payment/topics/dpay_dpdbarai/img/btn_pre.png) no-repeat center /12vw;
}
.tab_content .slick-slider > button.slick-arrow.slick-next{
  right:0;
  background: url(/keitai_payment/topics/dpay_dpdbarai/img/btn_next.png) no-repeat center /12vw;
}
.tab_content .slick-slider > button.slick-arrow.slick-prev.slick-disabled,
.tab_content .slick-slider > button.slick-arrow.slick-next.slick-disabled {
  opacity: 0.35;
  pointer-events: none;
}


@media screen and (min-width: 769px){
  .tab_content .slick-slider {
      max-width: 690px;
      /* width: 100%; */
  }
  .tab_content .slick-slider > button.slick-arrow {
    width:75px;
    height:75px;
    margin: 0 3.5%;
  }
  .tab_content .slick-slider > button.slick-arrow.slick-prev{
    left:0;
    background-size:100%;
  }
  .tab_content .slick-slider > button.slick-arrow.slick-next{
    right:0;
    background-size:100%;
  }
}


/* slide_img*/
.slide_img-wrap {
  text-align: center;
  margin:0 auto;
  padding: 40px 0 30px;
}

.slide_img {
  margin:0 auto;
  vertical-align: middle;
}


.slide_img img{
  width: 70%;
  margin:0 auto;
}

/* IE11  */
 @media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .slide_img {
  display: block;
  vertical-align: middle;
  }
}

.slide_txt {
  height: 33vw;
  padding: 20px 15px 0 15px;
  text-align: center;
  margin: 0 auto;
}

.slide_txt h3 {
  font-size: 6.25vw;
  font-weight: bold;
  color:#d00e31;
  line-height: 1.2em;
}

.slide_txt p {
  max-width: 682px;
  font-size: 4.375vw;
  line-height: 1.2em;
}
.slide_txt p span {
  font-size: 1.3rem;
}

@media screen and (min-width: 769px){
  .slide_img-wrap {
    width: 682px;
    padding: 80px 0 50px;
  }
  .slide_img img{
    width: 100%;
    max-width: 472px;
    margin:0 auto;
  }

  .slide_txt {
    max-width: 472px;
    min-height: 194px;
    height:100%;
  }

  .slide_txt h3 {
    font-size: 40px;
  }

  .slide_txt p {
    font-size: 24px;
  }
  .slide_txt p span {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 320px){
  .slide_txt p span {
    font-size: 1.1rem;
  }
}

/*============================================
appPlay_area
============================================*/
.appPlay_area {
  width: 100%;
  padding: 50px 0;
  background: #ffeeee;
  text-align: center;
}

.appPlay_area h2 {
  margin: 0 auto;
  margin-bottom: 5%;
}

.app_banner {
  padding: 10% 0;
  background: #fff;
  border-radius: 15px;
}

.app_banner ul img {
  vertical-align: middle;
}

.app_banner ul.bnr_list01 {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.app_banner ul.bnr_list01 > li:first-of-type {
  margin-right: 8%;
}

.app_banner ul.bnr_list02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
	flex-direction: column;
}

.app_banner ul.bnr_list02 > li + li {
  margin-top: 6%;
}

@media screen and (min-width: 769px){
  .appPlay_area {
    padding: 90px 0;
  }

  .appPlay_area h2 {
    width: 100%;
    max-width: 657px;
  }

  .app_banner {
    padding: 60px 0;
  }

  .app_banner ul.bnr_list01 > li:first-of-type {
    flex-shrink: 0;
    width: 114px;
  }

  .app_banner ul.bnr_list01 > li:last-of-type {
    flex-grow: 1;
  }

  .app_banner ul.bnr_list02 {
    flex-direction: row;
  }

  .app_banner ul.bnr_list02 > li + li {
    margin-top: 0%;
    margin-left: 6%;
  }
}

/*============================================
appBtn_area
============================================*/
.appBtn_area {
  width: 100%;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 35px;
  text-align: center;
}

.appBtn_area h2 {
  margin-bottom: 3%;
}

.appBtn_area a img {
  width: 100%;
  max-width: 690px;
}

@media screen and (min-width: 769px){
  .appBtn_area {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .appBtn_area h2 img {
    width: 100%;
    max-width: 648px;
  }
}

/*============================================
bnr_area
============================================*/

.bnr_area {
  text-align: center;
}

.bnr_area h2 {
  margin-bottom: 25px;
}

.bnr_area h2 img {
  width: 80%;
  max-width: 495px;
  margin: 0 auto;
}

.bnr_img {
  max-width: 100%;
  margin: 0 auto;
  line-height: 0;
}

.bnr_img + .bnr_img{
  margin-top: 20px;
}

.bnr_area .bnr_img + h2 {
  margin-top: 60px;
}

.bnr_img a {
  display: block;
  cursor: pointer;
}

.bnr_img img {
  width: 100%;
}

@media print,screen and (min-width:769px) {
  .bnr_area h2 {
    margin-bottom: 50px;
  }

  .bnr_area h2 img {
    width: 100%;
    max-width: 665px;
  }

  .bnr_img + .bnr_img{
    margin-top: 40px;
  }
}


/*============================================
utility
============================================*/
/*---------- bg ---------*/
/* .bg_red {
    background-color: #cc0033;
    color: #fff;
  }

.bg_beige {
  background-color: #f7f4f0;
} */

/*---------- display ---------*/
.d_sp {
  display: block !important;
}
.d_pc {
  display: none !important;
}

@media print,screen and (min-width:769px) {
  .d_sp {
    display: none !important;
  }
  .d_pc {
    display: block !important;
  }
}

/*---------- inner / wrap ---------*/
.areaInner,
.areaInner2 {
  width: 90%;
  margin: 0 auto;
}

.round_wrap {
  width: 100%;
  padding: 30px 5%;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 15px;
}

@media print,screen and (min-width:769px) {
  .areaInner {
    width: 100%;
    max-width: 1016px;
  }

  .areaInner2 {
    width: 100%;
    max-width: 690px;
  }

  .round_wrap {
    padding: 60px 5%;
  }
}

/*---------- p / span / ul ---------*/
p.norTxt {
  font-size: 5.2vw;
  font-weight: bold;
}

p.norTxt2 {
  font-size: 5.5vw;
}

span.arrow {
  position: relative;
  padding: 0 5.5vw;
}

span.arrow::before,
span.arrow::after {
  display: block;
  position: absolute;
  top: 2px;
  width: 4vw;
  height: 5vw;
  background: url('/keitai_payment/topics/dpay_dpdbarai/img/icon_arrow.png') no-repeat;
  background-size: contain;
  content: '';
}

span.arrow::before {
  left: 0;
}

span.arrow::after {
  right: 0;
}

span.highlight {
  color: #cc0033;
  font-size: 6.8vw;
  font-weight: bold;
  background: linear-gradient(transparent 50%,#ffff99 0);
}

ul.note,
ul.note2 {
  font-size: 1.5rem;
}

ul.note {
  text-indent: -1em;
  padding-left: 1em;
}

ul.linkTxt  {
  margin: 20px 0 50px 0;
  text-align: right;
}

ul.linkTxt a {
  font-size: 1.8rem;
}

ul.linkTxt a:link,
ul.linkTxt a:visited,
ul.linkTxt a:hover,
ul.linkTxt a:active {
  color: #333333;
}

@media print,screen and (min-width:769px) {
  p.norTxt {
    font-size: 28px;
  }

  p.norTxt2 {
    font-size: 36px;
  }


  span.arrow {
    padding: 0 40px;
  }
  
  span.arrow::before,
  span.arrow::after {
    width: 24px;
    height: 31px;
  }

  span.highlight {
    font-size: 44px;
  }
  
  ul.note,
  ul.note2 {
    font-size: 1.6rem;
  }

  ul.linkTxt  {
    margin: 30px 0 80px 0;
  }

  ul.linkTxt a {
    font-size: 22px;
  }
}