@charset "UTF-8";
.campaign * {
  text-decoration: none; }

.campaign :focus {
  outline: none; }

.campaign :hover {
  outline: none; }

.campaign .container_ ul, .campaign .container_ li {
  list-style: none;
  padding: 0;
  margin: 0; }

.campaign hr {
  border: none;
  border-top: 1px solid #f3edf0;
  margin: 0; }

.campaign hr.sec-line {
  border: 0;
  background-color: #f3edf0;
  padding-top: 50px;
  box-shadow: none; }

.campaign .main {
  color: #333;
  font-size: 14px;
  letter-spacing: .04em;
  padding: 80px 0; }

.campaign .main p {
  margin-top: 0; }

.campaign .main a {
  color: inherit; }

.campaign .main a:hover, .campaign .main a:focus, .campaign .main a:visited {
  color: inherit; }

.campaign .main .text-center {
  text-align: center; }

.campaign .main .block {
  display: block; }

.campaign .main .inline-block {
  display: inline-block; }

.campaign .main .text-color-strongred {
  color: #aa0046; }

.campaign .main .text-size-large {
  font-size: 18px; }

.campaign .main .sec-mb {
  margin-bottom: 80px; }

.campaign .title-body {
  text-align: center;
  letter-spacing: .08em;
  margin: 0 auto 120px;
  color: #551937;
  font-size: 35px;
  font-family: Noto Sans Japanese,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,Meiryo,"メイリオ","ＭＳ Ｐゴシック",MS PGothic,-apple-system,BlinkMacSystemFont,Verdana,Roboto,Droid Sans,sans-serif; }

.campaign .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.campaign .flex .flex-item {
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: calc(33.33333% - 20px);
  border-bottom: 1px solid #f3edf0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.campaign .flex .flex-item:nth-child(-n+3) {
  border-top: 1px solid #f3edf0; }

.campaign .lg-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -20px; }

.campaign .lg-flex .flex-item {
  width: 33.33333%;
  padding: 0 20px;
  margin-bottom: 50px; }

.campaign .campaign-section {
  margin-bottom: 30px; }

.campaign .card {
  display: block;
  border-bottom: 1px solid #f3edf0;
  padding-bottom: 25px; }

.campaign .campaign-thumb {
  margin-bottom: 20px; }

.campaign .campaign-name {
  font-size: 16px;
  font-weight: 400;
  margin: 0 0 20px; }

.campaign .campaign-text {
  margin: 0; }

.campaign .sns-btn {
  padding: 20px 0 15px;
  text-align: center;
  margin: auto;
  border-bottom: 1px solid #f3edf0; }

.campaign .sns-btn .share-btn {
  display: inline-block;
  margin-bottom: 5px; }

.campaign .sns-btn .share-fb {
  width: 72px;
  height: auto; }

.campaign .sns-btn .share-tw {
  width: 75px;
  height: auto; }

.campaign .campaign-buttom-content {
  max-width: 250px;
  margin: auto; }

.campaign .-more {
  width: 50%;
  max-width: 374px;
  margin: auto; }

@media (max-width: 720px) {
  .campaign .main {
    padding: 50px 0; }
  .campaign .main .text-size-large {
    font-size: 14px; }
  .campaign .main .sec-mb {
    margin-bottom: 50px; }
  .campaign .title-body {
    margin-bottom: 50px;
    font-size: 20px; }
  .campaign .flex .flex-item {
    width: 100%; }
  .campaign .flex .flex-item:nth-child(-n+3) {
    border-top: 0; }
  .campaign .flex .flex-item:first-child {
    border-top: 1px solid #f3edf0; }
  .campaign .l-sm-fluid {
    margin-left: calc(-5.33333% - 2px);
    margin-right: calc(-5.33333% - 2px); }
  .campaign .lg-flex {
    display: block;
    margin: auto; }
  .campaign .lg-flex .flex-item {
    width: 100%;
    padding: 0; }
  .campaign .campaign-section {
    margin-bottom: 0; }
  .campaign .card {
    padding: 0 5.33333% 25px; }
  .campaign .campaign-thumb {
    margin-bottom: 10px; }
  .campaign .campaign-name {
    font-size: 14px; }
  .campaign .campaign-text {
    font-size: 10px; }
  .campaign .-more {
    width: 100%;
    max-width: 100%; } }


.campaign .title-section {
  margin-bottom: 30px;
}

.campaign .title-body {
  margin-bottom: 10px;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
}

.campaign .title-sub {
  display: flex;
  justify-content: center;
  align-items: center;
}

.campaign .title-sub::before,
.campaign .title-sub::after {
  content: '';
  width: 60px;
  border-top: 1px dashed #766b71;
}

.campaign .title-sub span {
  padding: 0 25px;
  border: 1px solid #f1f0ee;
  color: #b74674;
  border-radius: 50vh;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.tag-wrap th.caption {
  display: none;
}

.item_node {
  display: flex;
  justify-content: center;
}

.item_node input[type=checkbox] {
  display: none;
}

.item_node input[type=checkbox] + label {
  display: flex;
  align-items: center;
  margin: 0 5px;
  padding: 5px 20px 5px 25px;
  font-weight: bold;
  color: #b74674;
  background-color: #f5f5f5;
  cursor: pointer;
  border-radius: 5px;
  transition: all .3s;
}
.item_node input[type=checkbox]:checked + label,
.item_node input[type=checkbox] + label:hover {
  color: #fff;
  background-color: #b74674;
}
.item_node input[type=checkbox]:checked + label::after,
.item_node input[type=checkbox] + label::after {
  content: '';
  width: 0;
  height: 0;
  margin-left: 10px;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #b74673 transparent transparent transparent;
}
.item_node input[type=checkbox]:checked + label::after,
.item_node input[type=checkbox] + label:hover::after {
  border-color: #fff transparent transparent transparent;
}

#submitBtn {
  display: none;
}

.campaign .lg-flex {
  margin: 0;
}

.campaign .lg-flex .flex-item {
  margin: 0 15px 40px 0;
  padding: 0;
  width: calc((100% - 15px * 2) / 3);
  border-radius: 12px;
  box-shadow: 0 0 5px 3px #f0eef1;
  background-color: #fff;
  overflow: hidden;
}

.campaign .lg-flex .flex-item:nth-child(3n) {
  margin-right: 0;
}

.campaign .flex-item .card {
  padding: 0;
  border-bottom: 0;
}

.campaign .flex-item .card img {
  transition: all .3s;
}

.campaign .flex-item .card img:hover {
  opacity: .5;
}

.campaign .campaign-thumb {
  margin-bottom: 0;
}

.campaign-body {
  padding: 15px;
}

.campaign-tags {
  margin-bottom: 10px;
}

.campaign-tags span {
  padding: 3px 5px;
  color: #fff;
  background-color: #b74674;
  border-radius: 5px;
  font-size: 11px;
}

.campaign .campaign-name {
  margin: 0;
  font-size: 15px;
  font-weight: bold;
}

.btn-wrap {
  display: flex;
  justify-content: center;
}

.campaign a.btn-primary {
  padding: 15px 0;
  border: 1px solid #8D075C;
  background-color: #fff;
  border-radius: 50vh;
  width: 280px;
  color: #AA0046;
  text-align: center;
  transition: all .3s;
}

.campaign a.btn-primary:hover {
  text-decoration: none;
  border-color: #EA0161;
  color: #EA0161;
}

@media (max-width: 720px) {
  .campaign .lg-flex .flex-item {
    width: 100%;
  }

  .campaign .l-sm-fluid {
    margin: 0;
  }
}