/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500&display=swap");
.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal; }

.zen-old-mincho-medium {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal; }

/*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;
  box-sizing: border-box; }
  .campaign_inner * {
    box-sizing: border-box; }
  @media only screen and (max-width: 720px) {
    .campaign_inner {
      width: 96%;
      padding: 0; } }
  .campaign_inner .camp_text h1 {
    text-align: center;
    line-height: 1.6;
    margin-bottom: 0.5em;
    color: #5a2d14; }
  .campaign_inner .shopList {
    width: 100%;
    margin-bottom: 100px;
    font-size: 14px;
    border-left: 1px solid #ede9ea; }
    .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: bold;
      text-align: center; }
    .campaign_inner .shopList td {
      text-align: center;
      border-right: 1px solid #ede9ea; }
  .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: #551937;
      color: #fff;
      border-radius: 4px;
      padding: 10px 40px; }
    .campaign_inner .camp_text form {
      text-align: center;
      margin-bottom: 100px;
      margin-top: 60px; }
    .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); }
  .campaign_inner .gift-nav {
    width: 100%; }
  .campaign_inner .footer-gift-nav {
    width: 100%; }
  .campaign_inner .gift-nav {
    padding: 30px;
    background: rgba(255, 255, 255, 0.7); }
    @media only screen and (max-width: 1281px) {
      .campaign_inner .gift-nav {
        padding: 20px; } }
    @media only screen and (max-width: 720px) {
      .campaign_inner .gift-nav {
        padding: 20px 0;
        margin-left: auto;
        margin-right: auto; } }
    .campaign_inner .gift-nav h2 {
      text-align: center;
      font-family: "Zen Old Mincho", serif;
      font-weight: 500;
      font-style: normal;
      font-size: 30px;
      line-height: 1.6;
      margin-bottom: 20px; }
      @media only screen and (max-width: 1281px) {
        .campaign_inner .gift-nav h2 {
          font-size: 22px;
          padding-top: 0;
          margin-top: 10px; } }
      @media only screen and (max-width: 720px) {
        .campaign_inner .gift-nav h2 {
          margin-bottom: 10px;
          font-size: 20px; } }
    .campaign_inner .gift-nav ul.giftgenre-select {
      display: flex;
      list-style: none;
      justify-content: center;
      padding: 0;
      margin: 0;
      gap: 40px; }
      @media only screen and (max-width: 1281px) {
        .campaign_inner .gift-nav ul.giftgenre-select {
          gap: 20px; } }
      .campaign_inner .gift-nav ul.giftgenre-select li {
        padding: 0;
        margin: 0;
        width: calc(100% - 20px);
        max-width: 500px; }
        .campaign_inner .gift-nav ul.giftgenre-select li a {
          padding: 20px;
          font-family: "Zen Old Mincho", serif;
          font-weight: 500;
          font-style: normal;
          font-size: 18px;
          color: #222;
          text-decoration: none;
          font-size: 18px;
          text-align: center;
          display: block;
          width: 100%;
          height: 100%;
          line-height: 1.6;
          background: rgba(255, 255, 255, 0.7);
          transition-duration: .3s; }
          @media only screen and (max-width: 720px) {
            .campaign_inner .gift-nav ul.giftgenre-select li a {
              padding: 0; } }
          .campaign_inner .gift-nav ul.giftgenre-select li a .thum {
            margin-bottom: 10px;
            overflow: hidden; }
            .campaign_inner .gift-nav ul.giftgenre-select li a .thum img {
              max-width: 100%;
              transition-duration: .4s; }
            .campaign_inner .gift-nav ul.giftgenre-select li a .thum:hover img {
              transform: scale(1.05);
              opacity: .9; }
          .campaign_inner .gift-nav ul.giftgenre-select li a .text {
            font-size: 18px; }
            @media only screen and (max-width: 720px) {
              .campaign_inner .gift-nav ul.giftgenre-select li a .text {
                font-size: 16px; } }
            .campaign_inner .gift-nav ul.giftgenre-select li a .text span {
              font-size: 24px; }
              @media only screen and (max-width: 720px) {
                .campaign_inner .gift-nav ul.giftgenre-select li a .text span {
                  font-size: 20px; } }
          @media only screen and (max-width: 1281px) {
            .campaign_inner .gift-nav ul.giftgenre-select li a {
              font-size: 18px; } }
          .campaign_inner .gift-nav ul.giftgenre-select li a:hover {
            background: rgba(255, 255, 255, 0.2); }

.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; }
