/* Scss Document */
/*img {width: 100%;}*/
.camp_pc img {
  width: 100%; }
.camp_pc .flex {
  display: flex; }
@media only screen and (max-width: 720px) {
  .camp_pc {
    display: none; } }

.camp_sp {
  display: none; }
  @media only screen and (max-width: 720px) {
    .camp_sp {
      display: block; }
      .camp_sp img {
        width: 100%; } }

.campaign_inner {
  max-width: 1300px;
  width: 100%;
  padding: 0 50px;
  margin: 0 auto; }
  @media only screen and (max-width: 720px) {
    .campaign_inner {
      width: 96%;
      padding: 0; } }
  .campaign_inner .shopList {
    width: 100%;
    margin-bottom: 100px;
    font-size: 14px; }
    .campaign_inner .shopList td, .campaign_inner .shopList th {
      padding: 14.5px 0;
      border-bottom: 1px solid #ede9ea;
      width: 20%; }
    .campaign_inner .shopList th {
      border-top: 1px solid #ede9ea;
      background-color: #EAE2E6;
      border-right: 1px solid #fff;
      font-weight: 600;
      text-align: center;
      font-feature-settings: 'palt'; }
    .campaign_inner .shopList td {
      text-align: center; }
    .campaign_inner .shopList tr td:first-of-type {
      font-weight: 600; }
  .campaign_inner .camp_text {
    margin-top: 120px;
    display: block;
    margin-bottom: 30px;
    font-size: 14px; }
    @media only screen and (max-width: 720px) {
      .campaign_inner .camp_text {
        margin-top: 60px; } }
    .campaign_inner .camp_text p {
      text-align: center;
      font-size: 14px;
      line-height: 1.5; }
    .campaign_inner .camp_text h3 {
      font-size: 25px;
      text-align: center;
      line-height: 1; }
      .campaign_inner .camp_text h3 a {
        color: #c80059;
        height: 100px;
        display: block;
        margin-top: -100px;
        padding-top: 100px;
        margin-bottom: 60px; }
    .campaign_inner .camp_text select, .campaign_inner .camp_text input {
      font-size: 14px; }
    .campaign_inner .camp_text select {
      border: 1px solid #ddd;
      border-radius: 4px;
      padding: 10px;
      margin-right: 10px; }
    .campaign_inner .camp_text input {
      background-color: #5a2d14;
      color: #fff;
      border-radius: 4px;
      padding: 10px 40px; }
    .campaign_inner .camp_text form {
      text-align: center;
      margin-bottom: 100px; }
    .campaign_inner .camp_text label {
      font-size: 14px;
      margin-right: 10px; }
      @media only screen and (max-width: 720px) {
        .campaign_inner .camp_text label {
          display: block;
          margin: 0 0 20px; } }
  .campaign_inner img {
    width: 100%; }
  .campaign_inner .ec-title {
    font-size: 22px;
    color: #e61c58;
    text-align: center;
    line-height: 1.6;
    margin: 60px auto 20px;
    font-weight: bold;
    max-width: 700px;
    width: 100%;
    position: relative; }
    .campaign_inner .ec-title br {
      display: none; }
      @media only screen and (max-width: 720px) {
        .campaign_inner .ec-title br {
          display: block; } }
    .campaign_inner .ec-title:before, .campaign_inner .ec-title:after {
      content: "";
      display: block;
      width: 2px;
      height: 30px;
      position: absolute;
      bottom: 0; }
    .campaign_inner .ec-title:before {
      left: 0;
      transform: rotate(-15deg);
      border-left: 2px solid #e61c58; }
    .campaign_inner .ec-title:after {
      right: 0;
      transform: rotate(15deg);
      border-right: 2px solid #e61c58; }
    @media only screen and (max-width: 720px) {
      .campaign_inner .ec-title {
        font-size: 16px;
        width: 95%;
        padding-right: 5px;
        padding-left: 5px;
        font-feature-settings: 'palt'; } }
  .campaign_inner .bnr {
    max-width: 480px;
    width: 90%;
    margin: 60px auto 20px; }
    @media only screen and (max-width: 720px) {
      .campaign_inner .bnr {
        margin-top: 30px; } }
    .campaign_inner .bnr a:hover img {
      opacity: 0.9; }
  .campaign_inner .ec-bnr-caption {
    font-size: 18px;
    text-align: center;
    line-height: 1.5; }
    @media only screen and (max-width: 720px) {
      .campaign_inner .ec-bnr-caption {
        font-size: 14px; } }
  .campaign_inner .btn {
    max-width: 480px;
    width: 100%;
    margin: 20px auto;
    border: 1px solid #e61c58;
    border-radius: 10px; }
    @media only screen and (max-width: 720px) {
      .campaign_inner .btn {
        width: 90%; } }
    .campaign_inner .btn a {
      display: block;
      width: 100%;
      padding: 10px;
      text-align: center;
      position: relative;
      color: #e61c58;
      font-size: 16px; }
      .campaign_inner .btn a:after {
        content: "";
        display: block;
        width: 13px;
        height: 13px;
        border-right: 1px solid #e61c58;
        border-top: 1px solid #e61c58;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%) rotate(45deg); }

.forcms_block .campaign-caption p {
  line-height: 2; }

.forcms_block .campaign-caption {
  padding-top: 30px; }

body.campaign .main .forcms_block:last-child {
  padding-bottom: 80px; }
