@charset "shift_jis";

#main {
  position: relative;
  overflow: hidden;
  padding-bottom: 60px;
}

#background {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
}

@media screen and (min-width: 568px) {
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  _::-webkit-full-page-media, _:future, :root #background {
    display: none;
  }
}

_:lang(x)::-ms-backdrop, #background  {
  position: absolute;
    width: 100vw;
    height: 100vw;
    z-index: -1;
  }

@media all and (-ms-high-contrast: none) {
  #background {
    position: absolute;
    width: 100vw;
    height: 100vw;
    z-index: -1;
  }
}
  
@supports (-ms-ime-align: auto) {
   #background {
    position: absolute;
    width: 100vw;
    height: 100vw;
    z-index: -1;
  }
}
  
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {
   #background {
    position: absolute;
    width: 100vw;
    height: 100vw;
    z-index: -1;
  }
}

}

@media (min-width: 780px) and (max-width: 1000px) {
   @media screen and (-webkit-min-device-pixel-ratio: 0) {
  _::-webkit-full-page-media, _:future, :root #background {
   position: absolute;
   width: 140vw;
   height: 140vw;
    z-index: -1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
}

@media (min-width: 568px) and (max-width: 780px) {
   @media screen and (-webkit-min-device-pixel-ratio: 0) {
  _::-webkit-full-page-media, _:future, :root #background {
   position: absolute;
   width: 200vw;
   height: 200vw;
    z-index: -1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
}

.campaign-block01 .campaign-block-image{
  padding: 0 !important;
  background: none;
}

.campaign-block01.repeat .campaign-block-image{
    width: 100%;
    float: none
}

.campaign-block01.repeat .campaign-block-body {
    width: 100% !important;
    float: none;
    padding: 6%;
    box-sizing: border-box;
    background: #fff;
    display: table;
    margin: 2% 0 0 0;
  text-align: center;
}

.campaign-block-body .campaign-block-body_in {
    display: table-cell;
    vertical-align: bottom;
}

.windows .campaign-block-body .campaign-block-body_in {
    display: block;
}

.campaign-block01 .campaign-block-image img {
    width: 100%;
    height: auto;
}

.campain-list01 {
  width: 940px;
  margin: 0 auto;
}

.campain-list01_in {
  margin: 0 0 -5% -2%;
  text-align: left;
}

.campain-list01_in.centering {
  text-align: center !important;
}

.campaign-block01 {
  display: inline-block;
  width: 31%;
  vertical-align: top;
  margin:0 0 5% 2%;
  background: #f1f1f1;
  padding: .5%;
  box-sizing: border-box;
}

.campaign-block01 p.time {
  height: 24px;
  line-height: 24px;
  margin: 0;
  max-height: 24px;
}

.windows .campaign-block01 p.time {
  line-height: 30px;
}

.campaign-block01.blank {
  background: none;
}

.campaign-block01.close_soon {
  background: #61ccfe;
}

.campaign-block01.new {
  background: #ff5959;
}

.campaign-block01 .campaign-block-image a {
  background: #fff;
}

.campaign-block01 .campaign-block-image a img,
.campaign-block01 .campaign-block-image span img{
  border: 0;
}

.campaign-block01 .period {
  font-size: 1rem;
  font-weight: bold;
  margin: 0;
}

.campaign-block01 .period span{
  display: block;
  width: 50%;
  margin: 0 auto;
  color: #fff;
  font-size: .9rem;
  height: 25px;
  line-height: 25px;
  margin-bottom: 3%;
  text-align: center;

}

.campaign-block01.close_soon .period span{
  background: #61ccfe;
}

.campaign-block01.new .period span{
  background: #ff5959;
}

.campaign-block01 .link {
  height: 32px;
}

.campaign-block01 .link a {
  display: block;
  background: #fff;
  width: 100%;
  margin: 0 auto;
  height: 32px;
  line-height: 32px;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  transition: all .2s;
  text-align: center;
  border: 1px solid #333;
  box-sizing: content-box;
}

.windows .campaign-block01 .link a {
  line-height: 36px;
}

 .campaign-block01.close_soon .link a {
   color: #fff;
   background: #61ccfe;
   border: none;
   border: 1px solid #61ccfe;
}

 .campaign-block01.new .link a {
   background: #ff5959;
   color: #fff;
    border: 1px solid #ff5959;
}

.campaign-block01 .link a:hover {
  opacity: .6;
  transition: all .2s;
}

.campaign-block01 .link a span {
  position: relative;
}

.campaign-block01 .link a span::after {
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 13px;
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_05.png") no-repeat  0 0 / 100% 100%;
}

.windows .campaign-block01 .link a span::after {
  
}

.campaign-block01.close_soon .link a span::after,
.campaign-block01.new .link a span::after{
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 13px;
  content: "";
  display: inline-block;
  background: url("../img/icon_arrow_04.png") no-repeat  0 0 / 100% 100%;
}

.windows .campaign-block01.close_soon .link a span::after,
.windows .campaign-block01.new .link a span::after{
  
}

.campaign-block01 .title {
    margin: 0;
}

.campaign-block01 .link {
   margin-top: 4%;
}

.tag04, .tag06 {
  display: block;
  background: #fa5332;
  border: 1px solid #fa5332;
  color: white;
  line-height: 16px;
  vertical-align: 1px;
}

.page-footer {
  background: #fff;
  margin-top: 0;
}

@media screen and (max-width: 568px) {
  #main {
    padding-bottom: 25px;
  }
  
  #background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  
  .campain-list01 {
    width: 92%;
  }
  .campain-list01_in {
    margin: 0 0 -8% -2%;
  }

  .template-enable-media-queries .campaign-block01,
  .campaign-block01 {
    width: 48% !important;
    padding: 1%;
    margin:0 0 8% 2%;
  }
  
  .campaign-block01 .period {
    font-size: 2.6vw;
  }
  
  .campaign-block01 .period span {
    font-size: 2.4vw;
  }
  
  .campaign-block01 .link a {
    font-size: 2.6vw;
  }
  
  .campaign-block01 .link a span::after {
    width: 6px;
    height: 11px;
  }
  
  .campaign-block01.repeat .campaign-block-body {
    margin: 2% 0 0 0;
  }
  
  .campaign-block01 .link {
    height: 26px;
  }
  
  .campaign-block01 .link a {
    height: 26px;
    line-height: 26px;
  }
  
  .campaign-block01.close_soon .link a span::after, 
  .campaign-block01.new .link a span::after {
    top: 1px;
    right: -26px;
    width: 6px;
    height: 10px;
  }
  
  .campaign-block01 .link a span::after {
    top: 1px;
    right: -26px;
    width: 6px;
    height: 10px;
  }
  .template-enable-media-queries .page-footer {
    margin-top: 0;
    
  }
  .template-enable-media-queries .page-footer .footer-bottom01 {
    margin-top: 0;
  }
}