@charset "utf-8";


  .sns-campaign{
    position:relative;
    margin:40px auto;
    width:calc(100% - 30px);
    max-width:1140px;
    background-image: radial-gradient(circle, rgba(58, 114, 255, 1), rgba(2, 30, 102, 1) 80%);
    text-align:center;
    border-radius:20px;
    overflow: hidden;
    z-index:1;
  }
  .sns-campaign img{
    width:100%;
    margin:auto;
    object-fit: contain;
  }
  .sns-campaign .c-link--blue{
    color:aqua;
  }
  .sns-campaign .c-link--blue:hover{
    color: #80d1f3;
  }
  
  .sns-campaign::before {
    position:absolute;
    content:'';
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-image: repeating-conic-gradient(from 3deg, rgba(255, 255, 255, 0) 10deg,  20deg, rgba(255, 255, 255, 1) 20deg 30deg);
    opacity: 0.1;
    z-index:2;
  }
  .sns-campaign::after {
    position:absolute;
    content:'';
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: transparent url(../images/winter-gaming-camp-bkg.webp) repeat-y top center / 100% auto;
    opacity: 0.2;
    z-index:2;
  }
  .sns-campaign-inner{
    position:relative;
    width:100%;
    padding:40px;
    display:flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing:0.05em;
    z-index:3;
  }

  .sns-campaign .campaign-img{
    width:35%;
  }
  .sns-campaign .campaign-txt{
    width:60%;
  }

  .sns-campaign .campaign-img-title{
    font-size:clamp(18px, 0.989rem + 0.68vw, 24px);
    font-weight:700;
    color:#ff0;
  }
  .sns-campaign .campaign-img-photo{
    width:100%;
    margin:auto;
  }
  .sns-campaign .campaign-img-photo img{
    width:100%;
  }

  .sns-campaign .campaign-img-note{
    display:block;
    padding-top:20px;
    font-size:clamp(10px, 0.58rem + 0.23vw, 12px);
  }

  .sns-campaign .campaign-txt{
    font-size:clamp(14px, 0.784rem + 0.45vw, 18px);
    color:#fff;
    display:flex;
    flex-direction: column;
    gap:10px;
    text-align:center;
    font-weight:600;
  }
  .sns-campaign .campaign-txt-catch{
    width:fit-content;
    position:relative;
    margin:auto;
  }
  .sns-campaign .campaign-txt-catch::before{
    position:absolute;
    content:'';
    top:0;
    left:-1.5em;
    width:2px;
    height:100%;
    transform: rotate(-10deg);
    background:#fff;
  }
  .sns-campaign .campaign-txt-catch::after{
    position:absolute;
    content:'';
    top:0;
    right:-1.5em;
    width:2px;
    height:100%;
    transform: rotate(10deg);
    background:#fff;
  }
  .sns-campaign .campaign-txt-title{
    display: block;
    position: relative;
    font-size:clamp(18px, 0.989rem + 0.68vw, 24px);
    color:#1e2b57;
    background:#fff;
    padding:0.5em 0;
    border-radius: 3em;
    width:100%;
    font-weight:700;
  }
  .sns-campaign .campaign-txt-flow{
    margin-top: -20px;
  }
  
  .sns-campaign .campaign-txt-x{
    font-size:clamp(12px, 0.659rem + 0.45vw, 16px);
  }
  .sns-campaign .campaign-hashtag a{
    display:block;
    padding:20px;
    background:#ff0;
    border:2px solid #fff;
    color:#001e60;
    border-radius:10px;
    box-shadow: 10px 10px 5px -8px rgba(0,0,0,0.6);
    transition: 0.2s ease-in-out;
  }
  .sns-campaign .campaign-hashtag a:hover{
    opacity: 0.8;
    cursor: pointer;
    translate: 0 5px;
    box-shadow: 5x 5px 5px 0 rgba(0,0,0,0.8);
  }
  .campaign-txt-tap{
    margin:auto;
    position:relative;
    padding-left:3em;
    width:fit-content;
  }
  .campaign-txt-tap::before{
    position:absolute;
    content:'';
    width:2.5em;
    height:2.5em;
    top:-20px;
    left:0;
    background: transparent url(../images/ico-hands.webp) no-repeat top center / contain;
  }

  .campaign-txt-note{
    margin-top:20px;
  }
  @media screen and (max-width:767px) {
    .sns-campaign-inner{
      margin:20px auto;
      width:100%;
      flex-direction: column;
      gap:20px;
      padding:20px;
    }
    .sns-campaign .campaign-img,
    .sns-campaign .campaign-txt{
      width:100%;
    }
    .sns-campaign .campaign-txt-flow{
      margin-top: -10px;
    }
  }
  
  @media screen and (max-width:427px) {
    .sns-campaign-inner{
      padding:10px;
    }
  }