@charset "UTF-8";

@media screen and (min-width: 960px) {
  main .grid {
    margin: 0 auto;
    max-width: 1080px;
  }
}
.campaign__outer {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 4px;
}
@media screen and (min-width: 960px) {
  .campaign__outer {
    border-radius: 8px;
    padding: 30px 80px 0;
  }
}

@media screen and (max-width: 959px) {
  .campaign__outer {
    padding: 0;
  }
}

@media screen and (min-width: 960px) {
  .campaign-list__outer{
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (min-width: 960px) {
  .campaign-list__item{
      width: calc(50% - 20px);
  }
}

@media screen and (min-width: 960px) {
  .campaign-list__item:not(:nth-child(2n+1)) {
    margin-left: 40px;
  }
}

.campaign-list__item__inner{
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  padding: 24px 24px 30px;
}
.campaign-list__item_img{
    text-align: center;
}
.campaign-list__item_img img{
    max-width: 100%;
}
.campaign-list__tag{
    margin-top: 8px;
}
.tag--emphasis, .tag--entry, .tag--entry-closed,.tag--new {
    display: inline-flex;
    border: solid 1px #666;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    padding: 5.75px 14px 4.6px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    border-radius: 10px;
}
.tag--entry-closed{
    background-color: #f6f6f6;
    border: none;
    color: #888;
}
.tag--entry,.tag--new{
    color: #333;
}
.tag--emphasis{
    background-color: #eb0a1e;
    color: #fff;
    font-weight: 700;
    border: none;
}
@media (min-width: 960px) {
    .tag--entry, .tag--entry-closed, .tag--status, .tag--new {
        padding: 4px 11px;
    }
}
.campaign-list__title h3{
    font-size: 16px;
    font-weight: 700;
    margin: 8px 0 0;
}
.campaign-list__period {
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
    margin: 8px 0 16px;
}
.campaign-button-link-wrap {
    margin-top: auto;
}
.campaign-button-links .campaign-button-link__a,
.campaign-button-links .campaign-button-link__a__ex {
  text-decoration: none;
  color: #333;
  border: 2px solid #333;
  font-weight: 700;
  border-radius: 28px;
  padding: 13px 36px 13px 36px;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  position: relative;
  outline: none;
}
.campaign-button-links {
  padding: 15px 15px 14px 15px;
}
.campaign-button-links .campaign-button-link__a:hover,.campaign-button-links .campaign-button-link__a__ex:hover {
  opacity: 0.6;
}
.campaign-button-links .campaign-button-link {
    margin: 0 auto 16px;
    display: flex;
    justify-content: center;
}
@media screen and (min-width: 960px) {
  .campaign-button-links .campaign-button-link__a,.campaign-button-links .campaign-button-link__a__ex {
    max-width: 540px;
    min-width: 327px;
  }
}
@media screen and (max-width: 959px) {
  .campaign-button-links .campaign-button-link__a,.campaign-button-links .campaign-button-link__a__ex {
    max-width: 327px;
    width: 100%;
  }
}
.campaign-button-links .campaign-button-link__a__ex,
.campaign-button-links .campaign-button-link__a.normal{
    border: 1px solid #333;
    font-weight: 400;
}
.campaign-button-links .campaign-button-link__a__ex::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    background-image: url("/-/media/tfc/ts3web/file/common/img/components/link-external-black.png");
    background-size: contain;
    width: 14px;
    height: 12px;
}
.campaign-cv-button-wrap {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  padding: 16px 0;
}

.campaign-cv-button {
  border-radius: 28px;
  padding: 14px 36px 14px 36px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  justify-content: center;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 960px) {
  .campaign-cv-button {
      max-width: 540px;
      min-width: 327px;
  }
}
@media screen and (max-width: 959px) {
  .campaign-cv-button {
      max-width: 327px;
      width: 100%;
  }
}
.campaign-cv-button.external::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  width: 14px;
  height: 12px;
  background-size: contain;
}
.campaign-cv-button--primary {
  background-color: #eb0a1e;
  color: #fff;
}
.campaign-cv-button--primary::after {
  background-image: url("/-/media/tfc/ts3web/file/common/img/components/link-external-white.png");
}
.campaign-cv-button:hover {
  opacity: 0.6;
}
.campaign-error-authc{
  padding: 20px 80px 50px;
}
@media screen and (max-width: 959px) {
  .campaign-error-authc{
    padding: 24px 24px 30px;
  }
}
.campaign-error-authc__h2{
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding: 60px 0 0;
}
.campaign-error-authc__h2::before{
  content: '';
  background-image: url("/-/media/tfc/ts3web/file/common/img/campaign/ico_authc-error.svg");
  background-size: contain;
  width: 44px;
  height: 44px;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 0;
  left: calc(50% - 22px);
}

.campaign__outer.campaign_detail{
  padding: 30px 80px;
}
@media screen and (max-width: 959px) {
  .campaign__outer.campaign_detail {
      padding: 20px;
  }
}
.campaign_detail .campaign__kv img{
  max-width: 100%;
  width: 100%;
}

.campaign_detail .campaign-list__title h2{
  font-size: 18px;
  font-weight: 700;
  margin: 12px 0 0;
}
@media screen and (max-width: 959px) {
  .campaign_detail .campaign-list__title h2{
    font-size: 16px;
  }
}
.campaign_detail .campaign-list__period {
  font-size: 14px;
}
@media screen and (max-width: 959px) {
  .campaign_detail .campaign-list__period {
    font-size: 12px;
  }
}
.campaign_detail .campaign-button-link-wrap {
  margin-top: 8px;
}
.campaign_detail .campaign-button-links {
  padding: 0;
}
.campaign-cv-button-wrap.js-float-button{
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #fff;
  padding: 16px 0;
  border-top: solid 1px #bbb;
  z-index: 10000;
}