@charset "utf-8";

@media screen and (min-width: 768px), print {
  .sp{
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc{
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .page-menu .page-header-hero {
    background-image: url(../images/h1_campaign_bg.jpg);
  }
}

.campaign-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  line-height: 1.5;
  font-size: 12px;
}

.campaign-list li p {
  position: relative;
  margin-top: 5px;
  padding: 0 5px 5px 16px;
}

.campaign-list li p::before {
  display: inline-block;
  position: absolute;
  left: 0;
  content: '';
  width: 6px;
  height: 6px;
  top: calc((1.5em - 8px) / 2);
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #000;
  transform: rotate(45deg);
}

.campaign-list li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .campaign-list li {
    width: 50%;
    margin: 8px 0;
  }
  
  .campaign-list li:nth-child(odd) {
    padding-right: 7px;
  }
  
  .campaign-list li:nth-child(even) {
    padding-left: 7px;
  }
}

@media screen and (min-width: 768px), print {
  .campaign-list {
    margin: 40px 0;
    font-size: 14px;
  }

  .campaign-list li {
    width: 240px;
    margin: 12px 17px;
  }

  .campaign-list li a {
    padding: 10px;
    transition: box-shadow 0.6s;
    box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1)
  }

  .campaign-list li a:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2)
  }
  
  .campaign-list li a img {
    width: 220px;
    height: auto;
  }
}