.lp-page {
        width: 100%;
        max-width: 70%;
        margin: 0 auto;
        background: #fff;
      }

      .lp-layout-wrap {
        max-width: 100%;
        margin: 15% auto;
      }

      .lp-sr-only {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
      }

      .lp-top-summary {
        background: #efefef;
		background: linear-gradient(180deg, #ffffff 0%, #f9f8f8 100%);
        padding: 28px 14px 38px;
      }

      .lp-top-summary__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 72px;
      }

      .lp-top-summary__card {
        position: relative;
        background: #fff;
        border: 1px solid #dadada;
        border-radius: 0 34px 0 34px;
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03), 0 2px 10px rgba(0, 0, 0, 0.04);
        padding: 58px 18px 18px;
      }

      .lp-top-summary__title {
        position: absolute;
        left: 50%;
        top: -70px;
        transform: translateX(-50%);
        width: min(220px, calc(100% - 18px));
      }

      .lp-top-summary__list {
        list-style: none;
        margin: 0;
        padding: 0 2px;
      }

      .lp-top-summary__item {
        display: grid;
        grid-template-columns: 60px 1fr;
        gap: 12px;
        align-items: center;
      }

      .lp-top-summary__item + .lp-top-summary__item {
        margin-top: 3px;
      }

      .lp-top-summary__icon {
        width: 50px;
        height: 50px;
        object-fit: contain;
        justify-self: center;
      }

      .lp-top-summary__text {
        color: #333;
        font-size: clamp(13px, 3.9vw, 15px);
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0.01em;
      }

      .lp-top-summary__divider {
        border: 0;
        border-top: 3px solid #e3e3e3;
        margin: 18px 0 18px;
      }

      .lp-top-summary__link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        color: #3375aa;
        font-size: clamp(12px, 3.4vw, 14px);
        font-weight: 700;
        line-height: 1;
      }

      .lp-top-summary__link::after {
        content: "▼";
        font-size: clamp(8px, 2.2vw, 10px);
        transform: translateY(-1px);
      }

      .lp-design-note {
        padding: 0 0 26px;
      }
.lp-main-top1{padding-top: clamp(100px, 2.2vw, 150px);margin-bottom: clamp(30px, 2.2vw, 50px);}
.lp-main-top1 .lp-title{position: relative}
.lp-main-top1 .lp-title .lp-image-full{max-width: calc(100% - 30%); transform: translateX(25%);}
.lp-main-top1 .lp-title .benefit-title{position: absolute; top: clamp(53%, 3.5vw,53%);left: clamp(35%, 5vw, 35%);z-index: 10;font-size: clamp(35px, 6.5vw, 64px);color: #ffffff;font-weight:700}
.lp-main-top1 .lp-title .benefit-title span{color: #ffff00;}
.lp-main-top1 .lp-title .benefit-sub{position: absolute; top:25%;left:50%;z-index: 10;font-size: clamp(22px, 3vw, 50px);color: #bb1760;}

.lp-main-top2{padding-top: clamp(100px, 2.2vw, 150px);margin-bottom: clamp(30px, 2.2vw, 50px);}
.lp-main-top2 .lp-title{position: relative}
.lp-main-top2 .lp-title .lp-image-full{max-width: calc(100% - 25%); transform: translateX(15%);}
.lp-main-top2 .lp-title .benefit-title{position: absolute; top: clamp(54%, 5vw,54%);left: clamp(26%, 5vw, 26%);z-index: 10;font-size: clamp(25px, 5vw, 50px);color: #ffffff;font-weight:700}
.lp-main-top2 .lp-title .benefit-title span{color: #ffff00;}
.lp-main-top2 .lp-title .benefit-sub{position: absolute; top:23%;left:40%;z-index: 10;font-size: clamp(22px, 3vw, 50px);color: #156b61;}
.lp-summary1-1 .lp-block__body,.lp-summary1-2 .lp-block__body,.lp-summary1-3 .lp-block__body,.lp-summary1-4 .lp-block__body,.lp-summary2 .lp-block__body{ padding: 28px 16px;}
.lp-summary1-3 .lp-copy-body,.lp-summary1-4 .lp-copy-body,.lp-summary2 .lp-copy-body{font-size: clamp(18px, 1.2vw, 50px);}
.lp-summary1-3  .lp-design-head__content,.lp-summary1-4  .lp-design-head__content,.lp-summary2  .lp-design-head__content{display: flex;justify-content: flex-start;align-items: center}
.lp-summary2 .lp-block__body_notice{font-size: clamp(14px, 1vw, 18px);color:#09767f;margin-top: clamp(14px, 1vw, 26px)}
.lp-summary2 a{color:#0750d7;text-decoration: underline}
.lp-summary2 span.strongword{ color: #159991;}
.lp-contact__lead{font-size: clamp(18px, 1vw, 20px);}
.lp-contact__number{font-size: clamp(25px, 5vw, 50px);font-weight:700}
.lp-contact__meta{font-size: clamp(18px, 1vw, 20px);}
      .lp-design-head {
        display: grid;
        grid-template-columns: 52px 1fr;
        align-items: stretch;
        background: #ffeef6;
		border-bottom-left-radius: 22px; 
      }
      .lp-design-head__no {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: clamp(26px, 8vw, 60px);
        font-weight: 800;
        line-height: 1;
        background: linear-gradient(180deg, #eb764d 0%, #e2478a 100%);
        border-radius: 0 22px 0 22px; 
		min-height:  clamp(80px, 8vw, 200px);
      }

      .lp-design-head__content {
        padding: 18px 18px 16px; 
      }
      .lp-design-head__title {
        margin: 0;
        color: #000;
        font-size: clamp(10px, 5vw, 20px);
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.01em;
      }

      .lp-design-head__title .accent {
        color: #cc003d;
      }



.lp-design-head_safe {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: clamp(26px, 8vw, 60px);
        font-weight: 800;
        line-height: 1;
        background: linear-gradient(180deg, #24b7c5 0%, #098b97 100%);
        border-radius: 0 22px 0 22px; 
		min-height:  clamp(80px, 8vw, 200px);
      }
.lp-design-head_safeBOX {
        display: grid;
        grid-template-columns: 52px 1fr;
        align-items: stretch;
        background: #e2f4f6;
		border-bottom-left-radius: 22px; 
      } 
    
      .lp-design-head__desc {
        margin: 16px 0 0;
        color: #000;
        font-size: clamp(8px, 3.2vw, 14px);
        line-height: 1.38;
        font-weight: 500;
      }

      .lp-step-separator {
        position: relative;
        background: #ffeef6;
        height: 76px;
        margin: 0;
      }

      .lp-step-separator::before {
        content: "";
        position: absolute;
        left: 12%;
        right: 12%;
        top: 50%;
        border-top: 2px solid #edcedd;
        transform: translateY(-50%);
      }

      .lp-step-separator__circle {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #fff;
        border: 2px solid #e7bfd3;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #b40057;
        font-size: 26px;
        font-weight: 500;
        line-height: 1;
      }

      .lp-method-banner {
        position: relative; 
        padding: 26px 0;
        min-height: 100px;
      }

      .lp-method-banner::before {
        content: "";
        position: absolute;
        left: 11%;
        right: 11%;
        top: 46%;
        border-top: 2px solid #edd6df;
        transform: translateY(-50%);
      }

      .lp-method-banner__label {
        position: relative;
        z-index: 1;
        width: fit-content;
        margin: 0 auto;
        padding: 8px 24px 10px;
        background: #ffffff;
        border: 2px solid #e7bfd3;
        color: #a3004d;
        font-size: clamp(12px, 4.1vw, 26px);
        line-height: 1.1;
        font-weight: 500;
        text-align: center;
        letter-spacing: 0.03em;
      }

      .lp-points-usage {
        background: #ffeef6;
        padding: 0 0 34px;
      }

      .lp-points-usage__head {
        background: #f7cfe2;
        color: #000;
        text-align: center;
        font-weight: 700;
        font-size: clamp(12px, 4vw, 23px);
        line-height: 1.35;
        padding: 14px 12px;
      }

      .lp-points-usage__body {
        padding: 20px 16px 0;
      }

      .lp-points-usage__lead {
        text-align: center;
        color: #111;
        font-size: clamp(9px, 3.2vw, 17px);
        line-height: 1.7;
        font-weight: 500;
        margin-bottom: 18px;
      }

      .lp-points-usage__step-text {
        text-align: center;
        color: #a3004d;
        font-size: clamp(9px, 3.3vw, 17px);
        line-height: 1.65; 
        margin: 18px 0 14px;
      }

.lp-points-usage__shotBOX{background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03), 0 2px 10px rgba(0, 0, 0, 0.04);
    padding: 18px;margin-bottom: 18px;}
.lp-points-usage__shot {
        width: 100%; 
        margin: 0 auto;
        display: block;
      }

      .lp-apply-course {
        background: #fbfbef;
        padding: 0 0 42px;
      }

      .lp-apply-course__head {
        background: #e6e8af;
        color: #000;
        text-align: center;
        font-weight: 800;
        font-size: clamp(15px, 4.4vw, 29px);
        line-height: 1.35;
        padding: 16px 12px;
      }

      .lp-apply-course__body {
        padding: 22px 16px 0;
      }

      .lp-apply-course__lead {
        text-align: center;
        color: #bb1760;
        font-size: clamp(10px, 3.4vw, 19px);
        line-height: 1.65; 
        margin: 0 0 16px;
      }

      .lp-apply-course__shot {
        width: 100%;
        max-width: 700px;
        display: block;
        margin: 0 auto 28px;
      }

      .lp-section {
        padding: 22px 0 0;
      }

      .lp-title {
        margin-bottom: 14px;
        text-align: center;
      }

      .lp-title-image {
        width: 100%;
        max-width: 252px;
        margin: 0 auto;
      }

      .lp-block {
        margin-bottom: 16px;
      }

      .lp-block__head {
        display: flex;
      }

      .lp-block__num {
        width: 34px;
        flex: 0 0 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 18px;
        font-weight: 900;
      }

      .lp-block__num--pink {
        background: #ef7b66;
      }

      .lp-block__num--teal {
        background: #11a8b1;
      }

      .lp-block__title {
        flex: 1;
        min-height: 40px;
        display: flex;
        align-items: center;
        padding: 7px 11px;
        font-size: clamp(11px, 3.1vw, 12px);
        font-weight: 900;
        line-height: 1.25;
      }

      .lp-block__title--pink {
        background: #f6e6ee;
      }

      .lp-block__title--teal {
        background: #d8eef0;
      }

      .lp-accent-red {
        color: #ef3458;
      }

      .lp-block__body {
        padding: 8px 6px 0;
        font-size: clamp(7px, 2.1vw, 8px);
        line-height: 1.72;
      }

      .lp-copy-note,
      .lp-copy-body,
      .lp-safe-copy {
        margin: 0 0 8px;
        font-size: clamp(7px, 2.1vw, 8px);
        line-height: 1.75;
      }

      .lp-image-full,
      .lp-image-panel img,
      .lp-bottom-panel img {
        width: 100%;
        display: block;
      }

      .lp-icon-inline {
        width: 100%;
        max-width: 150px;
        margin-left: auto;
      }

      .lp-calendar-inline {
        max-width: 118px;
      }

      .lp-image-panel {
        margin-top: 10px;
      }

      .lp-bottom-panel {
        margin-top: 16px;
      }

      .lp-bottom-panel img {
        max-width: 340px;
        margin: 0 auto;
      }

      @media (max-width: 991.98px) {
        .lp-page {
          max-width: 100%;
        }
      }

      @media (min-width: 768px) {
        .lp-top-summary {
          padding: 56px 32px 100px;
        }
		  
		.lp-summary1-1 .lp-block__body, .lp-summary1-2 .lp-block__body, .lp-summary1-3 .lp-block__body, .lp-summary1-4 .lp-block__body, .lp-summary2 .lp-block__body{ padding: 48px 46px;}

        .lp-top-summary__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 20px;
          max-width: 1220px;
          margin: 0 auto;
        }

        .lp-top-summary__card {
          border-radius: 0 48px 0 48px;
          padding: 58px 34px 36px;
          min-height: auto;
        }

        .lp-top-summary__title {
          top: -25%;
          width: 300px;
          max-width: calc(100% - 28px);
        }

        .lp-top-summary__item {
          grid-template-columns: 70px 1fr;
          gap: 10px;
        }

        .lp-top-summary__item + .lp-top-summary__item {
          margin-top: 8px;
        }

        .lp-top-summary__icon {
          width: 70px;
          height: 70px;
        }

        .lp-top-summary__text {
          font-size: clamp(20px, 1.8vw, 30px);
          line-height: 1.18;
        }

        .lp-top-summary__divider {
          margin: 34px 0 24px;
          border-top-width: 4px;
        }

        .lp-top-summary__link {
          gap: 18px;
          font-size: clamp(14px, 1.3vw, 22px);
        }

        .lp-top-summary__link::after {
          font-size: clamp(12px, 1.1vw, 18px);
        }

        .lp-design-note {
          padding-bottom: 42px;
        } 
		  
		  .lp-step-separator__circle {
        width: 60px;
        height: 60px;
		  } 
        .lp-design-head,.lp-design-head_safeBOX {
          grid-template-columns: 110px 1fr;
		  border-bottom-left-radius: 58px;
        }
		  

        .lp-design-head__no,.lp-design-head_safe {
          border-radius: 0 58px 0 58px;
        }

        .lp-design-head__content {
          padding: 42px 42px 36px;
        }

        .lp-design-head__title {
          font-size: clamp(35px, 2vw, 54px);
          line-height: 1.5;
        }

        .lp-design-head__desc {
          margin-top: 34px;
          font-size: clamp(20px, 1.5vw, 42px);
          line-height: 1.28;
        }

        .lp-step-separator {
          height: 68px;
        }

        .lp-step-separator::before {
          left: 11.5%;
          right: 11.5%; 
        }
  
        .lp-method-banner {
          min-height: 164px;
          padding: 42px 0;
        }

        .lp-method-banner::before {
          left: 11.5%;
          right: 11.5%;
		  top: 41%;
        }
  
        .lp-points-usage {
          padding-bottom: 54px;
        }

        .lp-points-usage__head {
          font-size: clamp(18px, 1.7vw, 33px);
          padding: 20px 18px;
        }

        .lp-points-usage__body {
          padding: 34px 34px 0;
        }

        .lp-points-usage__lead {
          font-size: clamp(14px, 1.4vw, 25px);
          margin-bottom: 28px;
        }

        .lp-points-usage__step-text {
          font-size: clamp(14px, 1.4vw, 25px);
          margin: 24px 0 18px;
        }
 
        .lp-apply-course {
          padding-bottom: 58px;
        }

        .lp-apply-course__head {
          font-size: clamp(18px, 1.7vw, 33px);
        padding: 20px 18px;
        }

        .lp-apply-course__body {
          padding: 34px 34px 0;
        }

        .lp-apply-course__lead {
          font-size: clamp(15px, 1.5vw, 27px);
          margin-bottom: 20px;
        }

        .lp-apply-course__shot {
          margin-bottom: 34px;
        }

        .lp-section {
          padding: 34px 24px 0;
        }

        .lp-title {
          margin-bottom: 20px;
        }

        .lp-title-image {
          max-width: 320px;
        }

        .lp-block {
          margin-bottom: 22px;
        }

        .lp-block__num {
          width: 50px;
          flex-basis: 50px;
          font-size: 25px;
        }

        .lp-block__title {
          min-height: 56px;
          padding: 12px 18px;
          font-size: 24px;
        }

        .lp-block__body,
        .lp-copy-note,
        .lp-copy-body,
        .lp-safe-copy {
          font-size: 10px;
        }

        .lp-icon-inline {
          max-width: 158px;
        }
		.lp-summary2  .lp-icon-inline {
          max-width: 180px;
        }

        .lp-calendar-inline {
          max-width: 152px;
        }
      }