.lw_content_wrap.page .paid-block-cta-4 {
  margin-left: calc((100% - 100vw) / 2);
  width: 100vw;
}

.lw_content_wrap.page:has(.first_content + .paid-block-cta-4) .first_content {
  display: none;
}

.lw_content_wrap.page:has(.paid-block-cta-4 + .last_content) .last_content {
  display: none;
}

.wp-block:has(.paid-block-cta-4) {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.paid-block-cta-4 {
  container-type: inline-size;
}

.paid-block-cta-4 * {
  box-sizing: border-box;
}

.paid-block-cta-4 ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.paid-block-cta-4 ul li {
  position: relative;
  z-index: 10;
  height: 480px;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

@container (max-width: 1180px) {
  .paid-block-cta-4 ul li {
    height: 450px;
  }
}

@container (max-width: 980px) {
  .paid-block-cta-4 ul li {
    height: 430px;
  }
}

@container (max-width: 900px) {
  .paid-block-cta-4 ul li {
    height: 380px;
  }
}

@container (max-width: 800px) {
  .paid-block-cta-4 ul li {
    height: 360px;
    width: 100%;
    flex: initial;
  }
}

.paid-block-cta-4 ul li .this_filter {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.paid-block-cta-4 ul li .bg_img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.paid-block-cta-4 ul li .bg_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.paid-block-cta-4 ul li a,
.paid-block-cta-4 ul li .a {
  max-width: 304px;
  width: 100%;
  color: #fff;
  text-decoration: none !important;
}

.paid-block-cta-4 ul li a h2.ttl,
.paid-block-cta-4 ul li .a h2.ttl {
  width: 100%;
  text-align: center;
  font-weight: 400;
}

.paid-block-cta-4 ul li a h2.ttl .main,
.paid-block-cta-4 ul li .a h2.ttl .main {
  line-height: 1.4em;
  font-size: 40px;
}

@container (max-width: 1180px) {
  .paid-block-cta-4 ul li a h2.ttl .main,
  .paid-block-cta-4 ul li .a h2.ttl .main {
    font-size: 32px;
  }
}

.paid-block-cta-4 ul li a h2.ttl .sub,
.paid-block-cta-4 ul li .a h2.ttl .sub {
  margin-top: 8px;
  width: 100%;
  display: block;
  font-size: 16px;
  line-height: 1.8em;
}

@container (max-width: 1180px) {
  .paid-block-cta-4 ul li a h2.ttl .sub,
  .paid-block-cta-4 ul li .a h2.ttl .sub {
    font-size: 14px;
  }
}

.paid-block-cta-4 ul li a p,
.paid-block-cta-4 ul li .a p {
  margin: 16px 0;
  width: 100%;
  line-height: 1.7em;
  font-weight: 400;
}

@container (max-width: 1180px) {
  .paid-block-cta-4 ul li a p,
  .paid-block-cta-4 ul li .a p {
    font-size: 14px;
  }
}

.paid-block-cta-4 ul li a .btn,
.paid-block-cta-4 ul li .a .btn {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  margin-top: 24px;
  position: relative;
  padding: 0.8em 1.6em;
  min-width: 288px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  overflow: hidden;
}

@container (max-width: 600px) {
  .paid-block-cta-4 ul li a .btn,
  .paid-block-cta-4 ul li .a .btn {
    min-width: 243px;
    min-height: 60px;
    font-size: 14px;
  }
}

.paid-block-cta-4 ul li a .btn svg,
.paid-block-cta-4 ul li .a .btn svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 16px;
  height: 16px;
}

.paid-block-cta-4 ul li a .btn .btn_bg, .paid-block-cta-4 ul li a .btn::after,
.paid-block-cta-4 ul li .a .btn .btn_bg,
.paid-block-cta-4 ul li .a .btn::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.4s;
}

.paid-block-cta-4 ul li a .btn::after,
.paid-block-cta-4 ul li .a .btn::after {
  left: -100%;
  background: rgba(0, 0, 0, 0.15);
}

.paid-block-cta-4 ul li a .btn:hover::after,
.paid-block-cta-4 ul li .a .btn:hover::after {
  left: 0;
}
