@charset "UTF-8";
/* Reset
   ----------------------------------------------------------------- */
body:has(.lp-viewport) *, body:has(.lp-viewport) *::before, body:has(.lp-viewport) *::after {
  box-sizing: border-box;
}
body:has(.lp-viewport) html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
body:has(.lp-viewport) body {
  margin: 0;
}
body:has(.lp-viewport) ul[role=list], body:has(.lp-viewport) ol[role=list] {
  list-style: none;
}
body:has(.lp-viewport) body {
  min-height: 100vh;
  line-height: 1.5;
}
body:has(.lp-viewport) h1, body:has(.lp-viewport) h2, body:has(.lp-viewport) h3, body:has(.lp-viewport) h4, body:has(.lp-viewport) button, body:has(.lp-viewport) input, body:has(.lp-viewport) label {
  line-height: 1.1;
}
body:has(.lp-viewport) a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
body:has(.lp-viewport) img, body:has(.lp-viewport) picture {
  max-width: 100%;
  display: block;
}
body:has(.lp-viewport) input, body:has(.lp-viewport) button, body:has(.lp-viewport) textarea, body:has(.lp-viewport) select {
  font: inherit;
}
body:has(.lp-viewport) textarea:not([rows]) {
  min-height: 10em;
}
body:has(.lp-viewport) :target {
  scroll-margin-block: 5ex;
}
body:has(.lp-viewport) input, body:has(.lp-viewport) button, body:has(.lp-viewport) textarea, body:has(.lp-viewport) select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body:has(.lp-viewport) *, body:has(.lp-viewport) ::after, body:has(.lp-viewport) ::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  -webkit-tap-highlight-color: transparent;
  min-height: 0vw; /* Safari clamp関数対策 */
  touch-action: manipulation;
}

/* Load fonts
   ----------------------------------------------------------------- */
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-VariableFont_wght.ttf") format("woff2");
  font-weight: 400 900;
}
/* base settting
   ----------------------------------------------------------------- */
html:has(.lp-viewport) {
  font-size: 62.5%;
  -webkit-overflow-scrolling: touch;
}

body:has(.lp-viewport) {
  width: 100%;
  margin: 0;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: rgb(29, 29, 31);
  font-feature-settings: "palt" 1;
  word-break: break-all;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}
@media (max-width: 767px) {
  body:has(.lp-viewport) {
    letter-spacing: 0.05em;
  }
}
@media (min-width: 768px) {
  body:has(.lp-viewport) {
    letter-spacing: 0.075em;
  }
}
body:has(.fixed) {
  overflow: hidden;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body:has(.lp-viewport) {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media all and (-ms-high-contrast: none) {
  body:has(.lp-viewport) {
    overflow-x: hidden;
  }
}
@media (max-width: 767px) {
  .lp-footer {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .lp-footer {
    width: 700px;
    margin: auto;
  }
}
@media (min-width: 1024px) {
  .lp-footer {
    width: 1024px;
    margin: auto;
  }
}
.lp-footer-bottom {
  display: flex;
  background-color: #fff;
}
@media (max-width: 767px) {
  .lp-footer-bottom {
    flex-direction: column-reverse;
    align-items: center;
    gap: 15px;
    padding: 20px 15px 40px;
    font-size: 1.4rem;
  }
}
@media (max-width: 380px) {
  .lp-footer-bottom {
    padding: 20px 15px 90px;
  }
}
@media (min-width: 768px) {
  .lp-footer-bottom {
    justify-content: space-between;
    padding: 30px 50px;
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .lp-footer-bottom {
    justify-content: space-between;
    padding: 30px 50px;
    font-size: 1.6rem;
  }
}
.lp-footer-bottom a {
  text-decoration: none;
}
@media (min-width: 1024px) {
  .lp-footer-bottom a {
    transition: color 300ms ease;
  }
  .lp-footer-bottom a:hover {
    color: rgb(13, 71, 161);
  }
}
.lp-footer-bottom p {
  margin: 0;
}
@media (max-width: 767px) {
  .lp-footer-bottom p {
    font-size: 1.3rem;
  }
}
@media (min-width: 768px) {
  .lp-footer-bottom p {
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  .lp-footer-bottom p {
    font-size: 1.6rem;
  }
}

.lp-header {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: auto;
  background-color: rgb(13, 71, 161);
  text-align: center;
}
@media (max-width: 767px) {
  .lp-header {
    padding: 30px 0;
  }
}
@media (min-width: 768px) {
  .lp-header {
    width: 700px;
    padding: 30px 0 50px;
  }
}
@media (min-width: 1024px) {
  .lp-header {
    width: 1024px;
    padding: 50px 0 60px;
  }
}
.lp-header-decoration {
  display: inline-block;
  margin: 0;
  letter-spacing: 0.2em;
  text-shadow: -1px -1px 0 rgb(254, 240, 138), 1px -1px 0 rgb(254, 240, 138), -1px 1px 0 rgb(254, 240, 138), 1px 1px 0 rgb(254, 240, 138);
}
@media (max-width: 767px) {
  .lp-header-decoration {
    font-size: 1.7rem;
  }
}
@media (min-width: 768px) {
  .lp-header-decoration {
    font-size: 2rem;
  }
}
@media (min-width: 1024px) {
  .lp-header-decoration {
    font-size: 2.4rem;
  }
}
.lp-header-decoration .lp-marker {
  padding: 0 1em 0 1.2em;
}
.lp-header-title {
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .lp-header-title {
    margin: 1em 0;
    font-size: 2.4rem;
    line-height: 130% !important;
  }
}
@media (min-width: 768px) {
  .lp-header-title {
    margin: 0.83em 0;
    font-size: 3.4rem;
    line-height: 150% !important;
  }
}
@media (min-width: 1024px) {
  .lp-header-title {
    margin: 0.83em 0;
    font-size: 4.8rem;
  }
}
.lp-header-subtitle {
  margin: 0;
  color: #fff;
  line-height: 100%;
  font-weight: 400;
}
@media (max-width: 767px) {
  .lp-header-subtitle {
    padding: 0 15px;
    font-size: 1.3rem;
    line-height: 150%;
    letter-spacing: 0.25em;
  }
}
@media (min-width: 768px) {
  .lp-header-subtitle {
    font-size: 1.3rem;
    letter-spacing: 0.2em;
  }
}
@media (min-width: 1024px) {
  .lp-header-subtitle {
    font-size: 1.6rem;
    letter-spacing: 0.25em;
  }
}

/* common
   ----------------------------------------------------------------- */
.lp-viewport {
  background-color: rgb(245, 245, 247);
}
.lp-fixed {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  scroll-behavior: smooth;
}
@media (min-width: 768px) {
  .lp-wrapper {
    width: 700px;
    margin: auto;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
@media (min-width: 1024px) {
  .lp-wrapper {
    width: 1024px;
    margin: auto;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}

.lp-bold {
  font-weight: 700;
}

.lp-box {
  border: 2px solid rgb(239, 239, 239);
  font-weight: 700;
}
@media (max-width: 1023px) {
  .lp-box {
    padding: 15px;
  }
}
@media (min-width: 1024px) {
  .lp-box {
    padding: 30px;
  }
}
.lp-box ol, .lp-box ul {
  padding-left: 25px;
  margin: 0;
}
.lp-box li {
  line-height: 220%;
}
@media (max-width: 767px) {
  .lp-box li {
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .lp-box li {
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .lp-box li {
    font-size: 1.8rem;
  }
}

.lp-decoration {
  width: 100%;
  border-top: 2px solid rgb(13, 71, 161);
  border-bottom: 2px solid rgb(13, 71, 161);
  text-align: center;
}
@media (max-width: 767px) {
  .lp-decoration {
    padding: 6px 0;
  }
}
@media (min-width: 768px) {
  .lp-decoration {
    padding: 8px 0;
  }
}
@media (min-width: 1024px) {
  .lp-decoration {
    padding: 12px 0;
  }
}
.lp-decoration h2 {
  margin: 0;
}
.lp-decoration-dash-line {
  background-image: linear-gradient(to right, rgb(13, 71, 161) 50%, transparent 50%);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  height: 1px;
}
.lp-decoration-subtitle {
  display: block;
  margin-bottom: 10px;
  line-height: 100%;
  font-weight: 500;
  color: rgb(13, 71, 161);
}
@media (max-width: 767px) {
  .lp-decoration-subtitle {
    margin-top: 24px;
    font-size: 1.3rem;
  }
}
@media (min-width: 768px) {
  .lp-decoration-subtitle {
    margin-top: 28px;
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  .lp-decoration-subtitle {
    margin-top: 32px;
    font-size: 1.6rem;
  }
}
.lp-decoration-title {
  display: block;
  line-height: 100%;
  color: rgb(13, 71, 161);
}
@media (max-width: 767px) {
  .lp-decoration-title {
    margin-bottom: 24px;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
}
@media (min-width: 768px) {
  .lp-decoration-title {
    margin-bottom: 28px;
    font-size: 3rem;
    letter-spacing: 0.17em;
  }
}
@media (min-width: 1024px) {
  .lp-decoration-title {
    margin-bottom: 32px;
    font-size: 4rem;
    letter-spacing: 0.15em;
  }
}

.lp-marker {
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background: linear-gradient(transparent 60%, rgb(254, 240, 138) 40%);
  padding: 0 0 0 0.05em;
}

.lp-red {
  color: rgb(239, 68, 68);
  font-weight: 700;
}

.lp-afterword {
  background-color: rgb(239, 239, 239);
}
@media (max-width: 767px) {
  .lp-afterword {
    padding: 30px 20px;
  }
}
@media (min-width: 768px) {
  .lp-afterword {
    width: 700px;
    padding: 40px;
    margin: auto;
  }
}
@media (min-width: 1024px) {
  .lp-afterword {
    width: 1024px;
    padding: 60px;
    margin: auto;
  }
}
@media (min-width: 768px) {
  .lp-profile-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.lp-profile-left p:first-of-type {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .lp-profile-right {
    display: flex;
    justify-content: center;
  }
}
.lp-profile-name {
  margin: 0 !important;
  letter-spacing: 0.25em;
  line-height: 270%;
  font-weight: 500;
}
@media (max-width: 767px) {
  .lp-profile-name {
    font-size: 1.8rem !important;
  }
  .lp-profile-name + p {
    margin-top: 1.8rem !important;
  }
}
@media (min-width: 768px) {
  .lp-profile-name {
    font-size: 2.2rem !important;
  }
  .lp-profile-name + p {
    margin-top: 1.8rem !important;
  }
}
@media (min-width: 1024px) {
  .lp-profile-name {
    font-size: 2.4rem !important;
  }
}
.lp-profile-image {
  width: 255px;
  aspect-ratio: 255/340;
  margin: 0 !important;
}
.lp-profile p, .lp-profile figure {
  line-height: 220%;
}
@media (max-width: 767px) {
  .lp-profile p, .lp-profile figure {
    margin: 2.8rem 0;
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .lp-profile p, .lp-profile figure {
    margin: 3.2rem 0;
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .lp-profile p, .lp-profile figure {
    margin: 3.96rem 0;
    font-size: 1.8rem;
  }
}
.lp-media {
  position: relative;
}
.lp-media::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: rgb(29, 29, 31);
  position: absolute;
}
@media (max-width: 767px) {
  .lp-media::before {
    top: -30px;
  }
}
@media (min-width: 768px) {
  .lp-media::before {
    top: -40px;
  }
}
@media (min-width: 1024px) {
  .lp-media::before {
    top: -60px;
  }
}
.lp-media figure {
  margin: 0;
}
.lp-media-book {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .lp-media-book {
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .lp-media-book {
    margin-bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .lp-media-book {
    margin-bottom: 50px;
  }
}
.lp-media-book figure {
  width: 248px;
  margin: auto;
}
@media (max-width: 767px) {
  .lp-media-book p {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .lp-media-book p {
    font-size: 1.3rem;
  }
}
@media (min-width: 1024px) {
  .lp-media-book p {
    font-size: 1.4rem;
  }
}
.lp-media-flex {
  display: flex;
  flex-wrap: wrap;
}
.lp-media-flex > div {
  position: relative;
}
.lp-media-flex > div::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 80, 0.05);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .lp-media-flex {
    gap: 12px;
    margin-bottom: 12px;
  }
  .lp-media-flex > div {
    width: calc(50% - 6px);
  }
}
@media (min-width: 768px) {
  .lp-media-flex {
    gap: 18px;
    margin-bottom: 16px;
  }
  .lp-media-flex > div {
    width: calc(50% - 9px);
  }
}
@media (min-width: 1024px) {
  .lp-media-flex {
    gap: 20px;
    margin-bottom: 20px;
  }
  .lp-media-flex > div {
    width: calc(50% - 10px);
  }
}
.lp-media-position {
  display: flex;
}
@media (max-width: 767px) {
  .lp-media-position {
    flex-wrap: wrap;
  }
  .lp-media-position p {
    font-size: 1.2rem;
    line-height: 200%;
  }
}
@media (min-width: 768px) {
  .lp-media-position {
    flex-wrap: wrap;
  }
  .lp-media-position p {
    font-size: 1.3rem;
    line-height: 200%;
    letter-spacing: 0.05em;
  }
}
@media (min-width: 1024px) {
  .lp-media-position {
    gap: 30px;
  }
  .lp-media-position p {
    font-size: 1.4rem;
    line-height: 170%;
  }
}

.lp-request {
  background-color: #fff;
}
@media (max-width: 1023px) {
  .lp-request {
    padding: 30px 20px;
  }
}
@media (min-width: 768px) {
  .lp-request {
    width: 700px;
    padding: 40px;
    margin: auto;
  }
}
@media (min-width: 1024px) {
  .lp-request {
    width: 1024px;
    padding: 60px;
    margin: auto;
  }
}
@media (max-width: 767px) {
  .lp-request h1 {
    font-size: 2.1rem;
    line-height: 150%;
    letter-spacing: 0.12em;
  }
}
@media (min-width: 768px) {
  .lp-request h1 {
    font-size: 2.1rem;
    line-height: 150%;
    letter-spacing: 0.15em;
  }
}
@media (min-width: 1024px) {
  .lp-request h1 {
    font-size: 2.4rem;
    letter-spacing: 0.12em;
  }
}
.lp-request h2 {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .lp-request h2 {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .lp-request h2 {
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .lp-request h2 {
    font-size: 1.8rem;
  }
}
.lp-request h2 + p {
  margin-top: 0;
}
.lp-request p, .lp-request figure {
  line-height: 220%;
}
@media (max-width: 767px) {
  .lp-request p, .lp-request figure {
    margin: 2.8rem 0;
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .lp-request p, .lp-request figure {
    margin: 3.2rem 0;
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .lp-request p, .lp-request figure {
    margin: 3.96rem 0;
    font-size: 1.8rem;
  }
}
@media (max-width: 1023px) {
  .lp-request-payment {
    width: 280px;
  }
}

.lp-section {
  background-color: #fff;
}
@media (max-width: 767px) {
  .lp-section {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .lp-section {
    width: 700px;
    margin: auto;
  }
}
@media (min-width: 1024px) {
  .lp-section {
    width: 1024px;
    margin: auto;
  }
}
.lp-section-header {
  width: 100%;
  padding: 12px 0;
  background-color: rgb(13, 71, 161);
}
.lp-section-header-dash-line {
  background-image: linear-gradient(to right, #fff 50%, transparent 50%);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  height: 1px;
}
.lp-section-header h1 {
  margin: 0;
}
.lp-section-title {
  display: block;
  line-height: 100%;
  color: #fff;
  text-align: center;
}
@media (max-width: 767px) {
  .lp-section-title {
    padding: 0 15px;
    margin: 22px 0;
    font-size: 2rem;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .lp-section-title {
    padding: 0 15px;
    margin: 33px 0;
    font-size: 2.2rem;
    line-height: 150%;
  }
}
@media (min-width: 1024px) {
  .lp-section-title {
    margin: 44px 0;
    font-size: 2.8rem;
  }
}
.lp-section-text {
  display: block;
  color: #fff;
  letter-spacing: 0.15em;
  text-align: center;
}
@media (max-width: 767px) {
  .lp-section-text {
    margin-top: -6px;
    margin-bottom: 22px;
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .lp-section-text {
    margin-top: -8px;
    margin-bottom: 33px;
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  .lp-section-text {
    margin-top: -16px;
    margin-bottom: 44px;
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .lp-section-body {
    padding: 25px 20px 30px;
  }
}
@media (min-width: 768px) {
  .lp-section-body {
    padding: 40px;
  }
}
@media (min-width: 1024px) {
  .lp-section-body {
    padding: 50px 100px;
  }
}
.lp-section h3 {
  padding: 15px;
  background-color: rgb(245, 245, 247);
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .lp-section h3 {
    margin-top: 42px;
    font-size: 1.6rem;
    line-height: 150% !important;
  }
}
@media (min-width: 768px) {
  .lp-section h3 {
    margin-top: 54px;
    font-size: 1.7rem;
    line-height: 150% !important;
  }
}
@media (min-width: 1024px) {
  .lp-section h3 {
    margin-top: 72px;
    font-size: 1.8rem;
  }
}
.lp-section h4 {
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .lp-section h4 {
    margin-top: 42px;
    font-size: 1.6rem;
    letter-spacing: 0.075em;
  }
}
@media (min-width: 768px) {
  .lp-section h4 {
    margin-top: 42px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
  }
}
@media (min-width: 1024px) {
  .lp-section h4 {
    margin-top: 48px;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }
}
@media (max-width: 767px) {
  .lp-section p {
    margin: 2.505rem 0;
    font-size: 1.5rem;
    line-height: 190%;
  }
}
@media (min-width: 768px) {
  .lp-section p {
    margin: 2.672rem 0;
    font-size: 1.6rem;
    line-height: 190%;
  }
}
@media (min-width: 1024px) {
  .lp-section p {
    margin: 3.006rem 0;
    font-size: 1.8rem;
    line-height: 190%;
  }
}
@media (max-width: 767px) {
  .lp-section ol, .lp-section ul {
    margin: 2.505rem 0;
    font-size: 1.5rem;
    line-height: 190%;
  }
}
@media (min-width: 768px) {
  .lp-section ol, .lp-section ul {
    margin: 2.672rem 0;
    font-size: 1.6rem;
    line-height: 190%;
  }
}
@media (min-width: 1024px) {
  .lp-section ol, .lp-section ul {
    margin: 3.006rem 0;
    font-size: 1.8rem;
    line-height: 190%;
  }
}
.lp-section figure {
  width: 100%;
}
@media (max-width: 767px) {
  .lp-section figure {
    margin: 2.85rem 0;
  }
}
@media (min-width: 768px) {
  .lp-section figure {
    padding: 0 48px;
    margin: 3.04rem 0;
  }
}
@media (min-width: 1024px) {
  .lp-section figure {
    padding: 0 90px;
    margin: 4.14rem 0;
  }
}
.lp-section figure img {
  margin: auto;
}

@media (max-width: 767px) {
  .fz-xs {
    font-size: 1rem;
    line-height: 1.2rem;
  }
}
@media (min-width: 768px) {
  .fz-xs {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .fz-sm {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .fz-sm {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .fz-md {
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .fz-md {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .fz-lg {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .fz-lg {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .fz-xl {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .fz-xl {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .fz-2xl {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .fz-2xl {
    font-size: 2.4rem;
  }
}
@media (max-width: 767px) {
  .fz-3xl {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) {
  .fz-3xl {
    font-size: 3rem;
  }
}
@media (max-width: 767px) {
  .fz-4xl {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) {
  .fz-4xl {
    font-size: 3.6rem;
  }
}
@media (max-width: 767px) {
  .fz-5xl {
    font-size: 3rem;
  }
}
@media (min-width: 768px) {
  .fz-5xl {
    font-size: 4.8rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .fz-6xl {
    font-size: 3rem;
  }
}
@media (min-width: 768px) {
  .fz-6xl {
    font-size: 6rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .fz-7xl {
    font-size: 3rem;
  }
}
@media (min-width: 768px) {
  .fz-7xl {
    font-size: 7.2rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .fz-8xl {
    font-size: 3rem;
  }
}
@media (min-width: 768px) {
  .fz-8xl {
    font-size: 9.6rem;
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .fz-9xl {
    font-size: 3rem;
  }
}
@media (min-width: 768px) {
  .fz-9xl {
    font-size: 12.8rem;
    line-height: 1;
  }
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-3 {
  margin-top: 3em !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.w-full {
  width: 100%;
}

.lp-timer {
  background-color: #fff;
}
@media (max-width: 1023px) {
  .lp-timer {
    padding: 30px 20px;
  }
}
@media (min-width: 768px) {
  .lp-timer {
    padding: 40px;
  }
}
@media (min-width: 1024px) {
  .lp-timer {
    padding: 50px;
  }
}
.lp-text-center {
  text-align: center;
}
.lp-price-down {
  display: flex;
  align-items: center;
  background-color: rgb(245, 245, 247);
  letter-spacing: 0.15em;
}
@media (max-width: 1023px) {
  .lp-price-down {
    padding: 15px;
  }
}
@media (min-width: 1024px) {
  .lp-price-down {
    padding: 30px;
  }
}
.lp-price-new {
  font-weight: 700;
  color: rgb(239, 68, 68);
  position: relative;
}
@media (max-width: 1023px) {
  .lp-price-new {
    font-size: 2.1rem;
    padding-left: 2em;
  }
}
@media (min-width: 1024px) {
  .lp-price-new {
    font-size: 3.2rem;
    padding-left: 2em;
  }
}
.lp-price-new::before {
  content: "▶";
  color: rgb(112, 112, 114);
  font-size: 60%;
  position: absolute;
  left: 1em;
}
.lp-strike {
  font-weight: 700;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgb(29, 29, 31);
  color: rgb(112, 112, 114);
}
.lp-list-none {
  list-style: none;
  margin: 0;
}
@media (max-width: 1023px) {
  .lp-list-none {
    padding-left: 10px;
  }
}
@media (min-width: 1024px) {
  .lp-list-none {
    padding-left: 25px;
  }
}
.lp-list-none li {
  font-weight: 700;
  line-height: 220%;
}
@media (max-width: 1023px) {
  .lp-list-none li {
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  .lp-list-none li {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }
}
.lp-list-check {
  list-style: none;
  padding: 0 !important;
}
.lp-list-check li {
  padding-left: 1.5em;
  position: relative;
}
.lp-list-check li::before {
  content: "";
  display: block;
  width: 1em;
  height: 0.5em;
  border-bottom: 2px solid rgb(13, 71, 161);
  border-left: 2px solid rgb(13, 71, 161);
  transform: rotate(-45deg) translateY(-50%);
  position: absolute;
  left: 0;
  top: 1em;
}
.lp-heading {
  display: flex;
  align-items: center;
  font-weight: 300;
  margin-top: 0;
}
@media (max-width: 767px) {
  .lp-heading {
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .lp-heading {
    margin-bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .lp-heading {
    margin-bottom: 50px;
  }
}
.lp-heading-main {
  font-weight: 700;
  padding-right: 10px;
}
@media (max-width: 767px) {
  .lp-heading-main {
    font-size: 2.4rem;
    letter-spacing: 0.075em;
  }
}
@media (min-width: 768px) {
  .lp-heading-main {
    font-size: 3rem;
    letter-spacing: 0.083em;
  }
}
@media (min-width: 1024px) {
  .lp-heading-main {
    font-size: 4rem;
    letter-spacing: 0.1em;
  }
}
.lp-heading-sub {
  padding-left: 10px;
}
@media (max-width: 767px) {
  .lp-heading-sub {
    padding-top: 3px;
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .lp-heading-sub {
    padding-top: 4px;
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .lp-heading-sub {
    padding-top: 6px;
    font-size: 1.4rem;
  }
}
.lp-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: rgb(34, 197, 94);
  font-weight: 500;
  color: #fff;
  text-decoration: none;
}
@media (max-width: 767px) {
  .lp-button {
    max-width: 500px;
    height: 60px;
    border-radius: 30px;
  }
}
@media (min-width: 768px) {
  .lp-button {
    max-width: 500px;
    height: 70px;
    border-radius: 35px;
  }
}
@media (min-width: 1024px) {
  .lp-button {
    width: 500px;
    height: 90px;
    border-radius: 45px;
    transition: background-color 300ms ease;
  }
  .lp-button:hover {
    background-color: rgb(31.7480519481, 183.9519480519, 87.774025974);
    color: #fff;
  }
}
.lp-quote {
  max-width: 400px;
  padding: 3em 2.5em 2em 3.5em;
  margin: 1em auto;
  background-color: rgb(245, 245, 247);
  color: rgb(29, 29, 31);
  position: relative;
}
.lp-quote::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url("../images/quote.svg") no-repeat center/contain;
  opacity: 0.8;
  position: absolute;
  top: 1em;
  left: 1.5em;
}
.lp-quote p {
  margin: 0 0 1em;
}
.lp-quote cite {
  display: block;
  font-size: 1.2rem;
  color: rgb(112, 112, 114);
  text-align: right;
}

@media (max-width: 767px) {
  .is-sp {
    display: block;
  }
}
@media (min-width: 768px) {
  .is-sp {
    display: none;
  }
}

@media (max-width: 767px) {
  .is-pc {
    display: none;
  }
}
@media (min-width: 768px) {
  .is-pc {
    display: block;
  }
}

.lh-2 {
  line-height: 2.2;
}

.text-right {
  text-align: right;
}
.text-blue {
  color: rgb(13, 71, 161);
}
.text-red {
  color: rgb(239, 68, 68);
}
.text-yellow {
  color: rgb(254, 240, 138);
}/*# sourceMappingURL=style.css.map */