@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@800&family=Noto+Sans+JP:wght@500;700;900&display=swap");
.line_campaign {
  font-family: "Noto Sans JP", serif;
  font-weight: 500; }
  .line_campaign p {
    line-height: 2;
    letter-spacing: .01em; }
  .line_campaign h1, .line_campaign h2, .line_campaign h3, .line_campaign h4, .line_campaign h5, .line_campaign h6, .line_campaign h7, .line_campaign .heading {
    line-height: 1.7;
    letter-spacing: .05em;
    font-weight: 800; }
  .line_campaign .montserrat {
    font-family: "Montserrat";
    font-weight: 700; }
  .line_campaign .inner {
    padding: 0 20px;
    max-width: 1000px; }
  .line_campaign .inner-md-small {
    max-width: 712px; }
  .line_campaign .Btn {
    transition: .2s; }
    .line_campaign .Btn:hover {
      transform: translateY(3%); }
  .line_campaign .s2 .intro {
    padding: 20px 0 30px;
    background: url("../img/S2_BG_SP.jpg") no-repeat;
    background-size: contain; }
    .line_campaign .s2 .intro h2 {
      margin-bottom: 30px; }
  .line_campaign .s2 .line {
    padding: 30px 0;
    background: url("../img/s2_line_bg.png") no-repeat;
    background-size: cover;
    position: relative; }
    .line_campaign .s2 .line .line_btn {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 72px;
      width: 150px; }
  @media screen and (min-width: 768px) {
    .line_campaign .s2 .intro {
      padding: 0 0 70px;
      background: url("../img/S2_BG_PC.jpg") no-repeat top center;
      background-size: cover; }
      .line_campaign .s2 .intro h2 {
        margin-bottom: 70px; }
    .line_campaign .s2 .line {
      padding: 70px 0; }
      .line_campaign .s2 .line .line_btn {
        width: 230px;
        bottom: 110px; } }
  .line_campaign .s3 {
    background: url("../img/s3_bg.svg") no-repeat;
    background-size: contain;
    background-color: #06C755;
    padding: 40px 0; }
    .line_campaign .s3 h2 {
      max-width: 90%;
      margin: 0 auto 20px; }
    .line_campaign .s3 .feature_wrapper li {
      border-radius: 10px;
      background-color: #fff;
      box-shadow: 7px 7px 0px #C1F788;
      margin-bottom: 20px; }
      .line_campaign .s3 .feature_wrapper li .header {
        background-color: #FFFB02;
        border-radius: 10px 10px 0 0;
        padding: 5px 20px;
        text-align: center; }
        .line_campaign .s3 .feature_wrapper li .header .montserrat {
          font-size: 20px;
          letter-spacing: 0;
          color: #06C755; }
      .line_campaign .s3 .feature_wrapper li .card_inner {
        padding: 20px 20px 30px; }
        .line_campaign .s3 .feature_wrapper li .card_inner .text h3 {
          font-size: 18px;
          margin-bottom: .5em; }
        .line_campaign .s3 .feature_wrapper li .card_inner .text p {
          margin-bottom: 30px; }
        .line_campaign .s3 .feature_wrapper li .card_inner .media img {
          display: block;
          margin: auto;
          object-fit: contain; }
        .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper {
          margin-top: 30px; }
          .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper .bnr_ttl {
            margin-bottom: 20px; }
      .line_campaign .s3 .feature_wrapper li .Btn_wrapper {
        margin-top: 40px; }
        .line_campaign .s3 .feature_wrapper li .Btn_wrapper .Btn {
          background: #06C755;
          border-radius: 20px;
          box-shadow: 4px 5px 0px #C1F788;
          color: #FFFB02;
          position: relative;
          text-align: center;
          padding: 20px;
          font-size: 14px;
          width: 100%; }
          .line_campaign .s3 .feature_wrapper li .Btn_wrapper .Btn::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 8%;
            transform: translateY(-50%);
            border-top: 7px solid transparent;
            border-bottom: 7px solid transparent;
            border-left: 7px solid #FFFB02; }
    .line_campaign .s3 .line_Btn {
      margin-top: 30px; }
    @media screen and (min-width: 768px) {
      .line_campaign .s3 {
        padding: 110px 0 90px; }
        .line_campaign .s3 h2 {
          max-width: 310px;
          margin-bottom: 70px; }
        .line_campaign .s3 .feature_wrapper li {
          margin-bottom: 40px; }
          .line_campaign .s3 .feature_wrapper li .header {
            text-align: left;
            padding: 10px 40px; }
            .line_campaign .s3 .feature_wrapper li .header .montserrat {
              font-size: 30px; }
          .line_campaign .s3 .feature_wrapper li .card_inner {
            padding: 30px 40px 50px; }
            .line_campaign .s3 .feature_wrapper li .card_inner .text h3 {
              font-size: 28px; }
            .line_campaign .s3 .feature_wrapper li .card_inner .media img {
              max-width: 80%;
              max-height: 300px; }
            .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper {
              margin-top: 40px; }
              .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper .bnr_ttl {
                width: 70%;
                display: block;
                margin: 0 auto 30px; }
              .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper .banner {
                transition: .2s; }
                .line_campaign .s3 .feature_wrapper li .card_inner .banner_wrapper .banner:hover {
                  opacity: .9; }
          .line_campaign .s3 .feature_wrapper li .Btn_wrapper .Btn {
            max-width: 230px;
            font-size: 16px;
            text-align: left; }
        .line_campaign .s3 .line_Btn {
          max-width: 570px;
          margin: 60px auto; } }
  .line_campaign .s4 {
    background-color: #fff;
    background-image: radial-gradient(#3333330d 30%, rgba(255, 255, 255, 0) 30%);
    background-size: 10px 10px;
    padding: 30px 0; }
    .line_campaign .s4 .ttl {
      margin: 0 auto 30px; }
    @media screen and (min-width: 768px) {
      .line_campaign .s4 {
        padding: 90px 0; }
        .line_campaign .s4 .ttl {
          max-width: 70%;
          margin: 0 auto 80px; } }
  .line_campaign .s5 {
    background: url("../img/s5_bg.svg") no-repeat;
    background-size: contain;
    background-color: #29ABE2;
    padding: 60px 0 20px; }
    .line_campaign .s5 .ttl {
      max-width: 90%;
      margin: 0 auto 40px; }
    .line_campaign .s5 .flow_wrapper .flow {
      margin-bottom: 40px; }
      .line_campaign .s5 .flow_wrapper .flow .header {
        background-color: #FFFB02;
        border-radius: 10px;
        font-size: 16px;
        padding: .8em 1em;
        margin-bottom: 1em;
        display: flex;
        align-items: center; }
        .line_campaign .s5 .flow_wrapper .flow .header span {
          color: #29ABE2;
          margin-right: 1em;
          font-size: 12px;
          line-height: 1;
          letter-spacing: 0; }
      .line_campaign .s5 .flow_wrapper .flow .body .card {
        border: none;
        border-radius: 10px;
        box-shadow: 7px 7px 0px #B2E8FF;
        margin-bottom: 40px;
        position: relative;
        padding: 30px 20px; }
        .line_campaign .s5 .flow_wrapper .flow .body .card .media {
          margin-bottom: 20px; }
          .line_campaign .s5 .flow_wrapper .flow .body .card .media img {
            max-width: 150px;
            display: block;
            margin: auto; }
        .line_campaign .s5 .flow_wrapper .flow .body .card .text p {
          margin: 0;
          font-size: 14px;
          line-height: 1.7; }
      .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper:not(:last-child) .card::after {
        content: "";
        position: absolute;
        bottom: -33px;
        left: 50%;
        transform: translateX(-50%);
        border-top: 16px solid #B2E8FF;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent; }
      .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper .sp-arrow::after {
        content: "";
        position: absolute;
        bottom: -33px;
        left: 50%;
        transform: translateX(-50%);
        border-top: 16px solid #B2E8FF;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent; }
      .line_campaign .s5 .flow_wrapper .flow .body .flex-md:not(:last-child) {
        margin-bottom: 40px; }
      .line_campaign .s5 .flow_wrapper .flow .body .flex-lg .card_wrapper {
        flex: 1; }
      .line_campaign .s5 .flow_wrapper .flow .body .flex-lg .text p {
        font-weight: 700;
        line-height: 1.5;
        text-align: center; }
      .line_campaign .s5 .flow_wrapper .flow .body .flex-lg .media img {
        max-width: 176px; }
    @media screen and (min-width: 768px) {
      .line_campaign .s5 {
        padding: 110px 0 90px; }
        .line_campaign .s5 .ttl {
          max-width: 755px;
          margin: 0 auto 80px; }
        .line_campaign .s5 .flow_wrapper .flow {
          margin-bottom: 70px; }
          .line_campaign .s5 .flow_wrapper .flow .header {
            font-size: 30px; }
            .line_campaign .s5 .flow_wrapper .flow .header span {
              font-size: 30px; }
          .line_campaign .s5 .flow_wrapper .flow .body .d-md-flex {
            justify-content: center;
            width: calc(100% + 40px);
            align-items: stretch; }
            .line_campaign .s5 .flow_wrapper .flow .body .d-md-flex.flex-md .card_wrapper {
              width: 33.333%; }
            .line_campaign .s5 .flow_wrapper .flow .body .d-md-flex.flex-sm .card_wrapper {
              width: 25%; }
          .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper {
            padding-right: 40px; }
            .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper .card {
              margin-bottom: 0;
              height: 100%; }
            .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper .sp-arrow::after {
              display: none; }
            .line_campaign .s5 .flow_wrapper .flow .body .card_wrapper:not(:last-child) .card::after {
              bottom: auto;
              top: 50%;
              left: auto;
              right: -52px;
              transform: translateY(-50%);
              border-top: 20px solid transparent;
              border-bottom: 20px solid transparent;
              border-left: 16px solid #B2E8FF; } }
  .line_campaign #sec_1 {
    padding: 0 0 60px; }
    @media screen and (min-width: 768px) {
      .line_campaign #sec_1 {
        padding: 20px 0 60px; } }

/*# sourceMappingURL=style.css.map */
