@charset "UTF-8";
.p-lp {
  /*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model and set borders */
  /* ============================================ */
}
.p-lp *,
.p-lp ::before,
.p-lp ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
.p-lp {
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  /**
   * Render the `main` element consistently in IE.
   */
}
.p-lp main {
  display: block;
}
.p-lp {
  /* Vertical rhythm */
  /* ============================================ */
}
.p-lp p,
.p-lp table,
.p-lp blockquote,
.p-lp address,
.p-lp pre,
.p-lp iframe,
.p-lp form,
.p-lp figure,
.p-lp dl {
  margin: 0;
}
.p-lp {
  /* Headings */
  /* ============================================ */
}
.p-lp h1,
.p-lp h2,
.p-lp h3,
.p-lp h4,
.p-lp h5,
.p-lp h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
.p-lp {
  /* Lists (enumeration) */
  /* ============================================ */
}
.p-lp ul,
.p-lp ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-lp {
  /* Lists (definition) */
  /* ============================================ */
}
.p-lp dt {
  font-weight: bold;
}
.p-lp dd {
  margin-left: 0;
}
.p-lp {
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
}
.p-lp pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
.p-lp address {
  font-style: inherit;
}
.p-lp {
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
}
.p-lp a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
.p-lp {
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
}
.p-lp abbr[title] {
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}
.p-lp {
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
}
.p-lp b,
.p-lp strong {
  font-weight: bolder;
}
.p-lp {
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
}
.p-lp code,
.p-lp kbd,
.p-lp samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
.p-lp {
  /**
   * Add the correct font size in all browsers.
   */
}
.p-lp small {
  font-size: 80%;
}
.p-lp {
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
}
.p-lp sub,
.p-lp sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.p-lp sub {
  bottom: -0.25em;
}
.p-lp sup {
  top: -0.5em;
}
.p-lp {
  /* Embedded content */
  /* ============================================ */
  /**
   * Prevent vertical alignment issues.
   */
}
.p-lp img,
.p-lp embed,
.p-lp object,
.p-lp iframe {
  vertical-align: bottom;
}
.p-lp {
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable
   */
}
.p-lp button,
.p-lp input,
.p-lp optgroup,
.p-lp select,
.p-lp textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
.p-lp {
  /**
   * Reset radio and checkbox appearance to preserve their look in iOS.
   */
}
.p-lp [type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}
.p-lp [type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}
.p-lp {
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
}
.p-lp button,
.p-lp input {
  /* 1 */
  overflow: visible;
}
.p-lp {
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
}
.p-lp button,
.p-lp select {
  /* 1 */
  text-transform: none;
}
.p-lp {
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
}
.p-lp button,
.p-lp [type=button],
.p-lp [type=reset],
.p-lp [type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.p-lp button[disabled],
.p-lp [type=button][disabled],
.p-lp [type=reset][disabled],
.p-lp [type=submit][disabled] {
  cursor: default;
}
.p-lp {
  /**
   * Remove the inner border and padding in Firefox.
   */
}
.p-lp button::-moz-focus-inner,
.p-lp [type=button]::-moz-focus-inner,
.p-lp [type=reset]::-moz-focus-inner,
.p-lp [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.p-lp {
  /**
   * Restore the focus styles unset by the previous rule.
   */
}
.p-lp button:-moz-focusring,
.p-lp [type=button]:-moz-focusring,
.p-lp [type=reset]:-moz-focusring,
.p-lp [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
.p-lp {
  /**
   * Remove arrow in IE10 & IE11
   */
}
.p-lp select::-ms-expand {
  display: none;
}
.p-lp {
  /**
   * Remove padding
   */
}
.p-lp option {
  padding: 0;
}
.p-lp {
  /**
   * Reset to invisible
   */
}
.p-lp fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
.p-lp {
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
}
.p-lp legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
.p-lp {
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
}
.p-lp progress {
  vertical-align: baseline;
}
.p-lp {
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
}
.p-lp textarea {
  overflow: auto;
}
.p-lp {
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
}
.p-lp [type=number]::-webkit-inner-spin-button,
.p-lp [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.p-lp {
  /**
   * 1. Correct the outline style in Safari.
   */
}
.p-lp [type=search] {
  outline-offset: -2px; /* 1 */
}
.p-lp {
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
}
.p-lp [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.p-lp {
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
}
.p-lp ::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
.p-lp {
  /**
   * Clickable labels
   */
}
.p-lp label[for] {
  cursor: pointer;
}
.p-lp {
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
}
.p-lp details {
  display: block;
}
.p-lp {
  /*
   * Add the correct display in all browsers.
   */
}
.p-lp summary {
  display: list-item;
}
.p-lp {
  /*
   * Remove outline for editable content.
   */
}
.p-lp [contenteditable] {
  outline: none;
}
.p-lp {
  /* Table */
  /* ============================================ */
}
.p-lp table {
  border-collapse: collapse;
  border-spacing: 0;
}
.p-lp caption {
  text-align: left;
}
.p-lp td,
.p-lp th {
  vertical-align: top;
  padding: 0;
}
.p-lp th {
  text-align: left;
  font-weight: bold;
}
.p-lp {
  /* Misc */
  /* ============================================ */
  /**
   * Add the correct display in IE 10+.
   */
}
.p-lp template {
  display: none;
}
.p-lp {
  /**
   * Add the correct display in IE 10.
   */
}
.p-lp [hidden] {
  display: none;
}

/*------------------------------
  初期設定
------------------------------*/
.p-lp {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: 0;
  color: #5A534D;
  margin: 0;
  margin-top: -35px;
}
@media screen and (max-width: 767px) {
  .p-lp {
    font-size: min(3.7333333333vw, 21px);
    margin-top: 0;
  }
}
.p-lp a {
  transition: 0.3s;
}
.p-lp img {
  max-width: 100%;
  vertical-align: bottom;
}
.p-lp em {
  font-style: normal;
}

.p-top-wrap {
  width: unset !important;
  display: block !important;
  padding: 0 !important;
}

.bread {
  display: none !important;
}

#mainimageC {
  display: none;
}

.guideline-plus-icon,
.guideline-underline-text {
  display: none;
  visibility: hidden;
}

@media screen and (min-width: 768px) {
  .page-new_top {
    min-width: 1398px;
  }
}

.p-lp-section-wrap.top {
  background: url("/assets/img/vision_recovery_over40/top_bg.png") no-repeat top center/cover;
}
@media screen and (max-width: 767px) {
  .p-lp-section-wrap.top {
    background: unset;
  }
}

.p-lp-section-wrap.middle {
  background-color: #FFF8F2;
}

.p-lp-section-wrap.bottom {
  background: url("/assets/img/vision_recovery_over40/bottom_bg.png") no-repeat top center/cover;
}
@media screen and (max-width: 767px) {
  .p-lp-section-wrap.bottom {
    background: url("/assets/img/vision_recovery_over40/bottom_bg_sp.png") no-repeat bottom center/cover;
  }
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
.fadeup {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  transition-property: -webkit-transform opacity;
  transition-property: transform opacity;
  transition-property: transform opacity, -webkit-transform opacity;
  transition-duration: 1.25s;
  transition-timing-function: ease;
}
.fadeup.on {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.toleft {
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  transition-property: -webkit-transform opacity;
  transition-property: transform opacity;
  transition-property: transform opacity, -webkit-transform opacity;
  transition-duration: 1.25s;
  transition-timing-function: ease;
}
.toleft.on {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.toright {
  opacity: 0;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  transition-property: -webkit-transform opacity;
  transition-property: transform opacity;
  transition-property: transform opacity, -webkit-transform opacity;
  transition-duration: 1.25s;
  transition-timing-function: ease;
}
.toright.on {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.zoomin {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  transition-property: -webkit-transform opacity;
  transition-property: transform opacity;
  transition-property: transform opacity, -webkit-transform opacity;
  transition-duration: 1.25s;
  transition-timing-function: ease;
}
.zoomin.on {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* -----------------------------------------------
* layout エントリーポイント
-------------------------------------------------- */
.l-container {
  width: 100%;
  max-width: 1140px;
  padding-inline: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-container {
    padding-inline: min(4vw, 22.5px);
  }
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/*------------------------------
heading
------------------------------*/
.p-lp .c-heading {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}
@media screen and (max-width: 767px) {
  .p-lp .c-heading {
    font-size: min(5.3333333333vw, 30px);
    line-height: 0.75;
    gap: min(1.6vw, 9px);
  }
}
.p-lp .c-heading:after {
  content: "";
  display: block;
  background-color: #c7ac86;
  width: 80px;
  height: 4px;
}
@media screen and (max-width: 767px) {
  .p-lp .c-heading:after {
    width: min(14.4vw, 81px);
    height: min(0.5333333333vw, 3px);
  }
}

/*------------------------------
cta
------------------------------*/
.p-lp .c-lp-cta {
  max-width: 500px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta {
    max-width: min(106.6666666667vw, 600px);
  }
}
.p-lp .c-lp-cta__button {
  position: relative;
}
.p-lp .c-lp-cta__button-primary {
  border-radius: 10px;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.16);
  border: solid 1px #fff;
  background: linear-gradient(99deg, #54c3db 4%, #157fa8 100%);
  width: 100%;
  height: 80px;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta__button-primary {
    border-radius: min(2.6666666667vw, 15px);
    height: min(14.4vw, 81px);
    font-size: min(4.8vw, 27px);
  }
}
.p-lp .c-lp-cta__button-primary p {
  color: #fff;
}
.p-lp .c-lp-cta__button-secondary {
  border-radius: 10px;
  border: solid 1px #937a65;
  background-color: #fff;
  width: 100%;
  height: 44px;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta__button-secondary {
    border-radius: min(2.6666666667vw, 15px);
    height: min(8.8vw, 49.5px);
    font-size: min(3.4666666667vw, 19.5px);
    margin-top: min(2.6666666667vw, 15px);
  }
}
.p-lp .c-lp-cta__button-secondary p {
  color: #7c644f;
}
@media (any-hover: hover) {
  .p-lp .c-lp-cta__button:hover .c-lp-cta__button-arrow {
    -webkit-transform: translate(8px, -50%);
            transform: translate(8px, -50%);
  }
}
.p-lp .c-lp-cta__button-icon {
  width: 21.5px;
  height: 20.5px;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  left: 49px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta__button-icon {
    width: min(4vw, 22.5px);
    height: min(4vw, 22.5px);
    left: min(6.4vw, 36px);
  }
}
.p-lp .c-lp-cta__button-arrow {
  width: 31.8px;
  height: 8.4px;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  right: 26px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta__button-arrow {
    width: min(5.8666666667vw, 33px);
    height: min(1.5466666667vw, 8.7px);
    right: min(4.2666666667vw, 24px);
  }
}
.p-lp .c-lp-cta__button-primary .c-lp-cta__button-arrow {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.p-lp .c-lp-cta__note {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.43;
  padding-left: 4px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-lp .c-lp-cta__note {
    font-size: min(3.2vw, 18px);
    margin-top: min(2.6666666667vw, 15px);
    padding-left: 0;
    white-space: nowrap;
  }
}

.p-lp .p-lp-mv {
  position: relative;
  padding-top: 54px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv {
    padding-top: min(9.0666666667vw, 51px);
  }
}
.p-lp .p-lp-mv__inner {
  max-width: 973px;
  margin-inline: auto;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
}
.p-lp .p-lp-mv__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__content {
    display: contents;
  }
}
.p-lp .p-lp-mv__tags {
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__tags {
    gap: min(1.3333333333vw, 7.5px);
    order: 1;
  }
}
.p-lp .p-lp-mv__tag {
  color: #7c644f;
  border: solid 1px #7c644f;
  height: 35px;
  border-radius: 17.5px;
  font-size: 18px;
  font-weight: 600;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__tag {
    height: min(5.6vw, 31.5px);
    border-radius: min(2.6666666667vw, 15px);
    width: min(19.4666666667vw, 109.5px);
    font-size: min(2.9333333333vw, 16.5px);
  }
}
.p-lp .p-lp-mv__tag.large {
  width: 141px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__tag.large {
    width: min(22.9333333333vw, 129px);
  }
}
.p-lp .p-lp-mv__title {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 52px;
  font-weight: 600;
  line-height: 1.23;
  padding-left: 10px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__title {
    font-size: min(8.2666666667vw, 46.5px);
    line-height: 1.35;
    padding-left: 0;
    order: 2;
    margin-top: min(1.8666666667vw, 10.5px);
  }
}
.p-lp .p-lp-mv__lead {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
  padding-left: 22px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__lead {
    font-size: min(4.2666666667vw, 24px);
    padding-left: 0;
    order: 4;
  }
}
.p-lp .p-lp-mv__image {
  flex-shrink: 0;
  width: 426px;
  height: auto;
  aspect-ratio: 426/298;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__image {
    width: min(70.4vw, 396px);
    order: 3;
    margin-top: min(1.6vw, 9px);
  }
}
.p-lp .p-lp-mv__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lp .p-lp-mv__cta {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-mv__cta {
    margin-top: min(4vw, 22.5px);
  }
}

_::-webkit-full-page-media, _:future, :root .p-lp .p-lp-mv__title {
  padding-left: 0;
}

/*------------------------------
worry
------------------------------*/
.p-lp .p-lp-worry {
  padding-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry {
    padding-top: min(18.6666666667vw, 105px);
  }
}
.p-lp .p-lp-worry__title {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 27px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__title {
    font-size: min(5.3333333333vw, 30px);
  }
}
.p-lp .p-lp-worry__container {
  display: flex;
  justify-content: center;
  gap: 41px;
  margin-top: 29px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(5.6vw, 31.5px) min(5.3333333333vw, 30px);
    margin-top: min(4.2666666667vw, 24px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.p-lp .p-lp-worry__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 230px;
  height: 264px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  padding: 20px 15px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item {
    width: min(40.2666666667vw, 226.5px);
    height: min(46.4vw, 261px);
    padding: min(1.3333333333vw, 7.5px) min(1.3333333333vw, 7.5px) min(3.4666666667vw, 19.5px);
  }
}
.p-lp .p-lp-worry__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lp .p-lp-worry__item:nth-child(1) .p-lp-worry__item-image {
  width: 75px;
  height: 151px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item:nth-child(1) .p-lp-worry__item-image {
    width: min(13.3333333333vw, 75px);
    height: min(26.6666666667vw, 150px);
    margin-bottom: min(2.6666666667vw, 15px);
  }
}
.p-lp .p-lp-worry__item:nth-child(2) .p-lp-worry__item-image {
  width: 107.5px;
  height: 151px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item:nth-child(2) .p-lp-worry__item-image {
    width: min(18.88vw, 106.2px);
    height: min(26.5066666667vw, 149.1px);
    margin-bottom: min(2.6666666667vw, 15px);
  }
}
.p-lp .p-lp-worry__item:nth-child(3) .p-lp-worry__item-image {
  width: 130.7px;
  height: 122.8px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item:nth-child(3) .p-lp-worry__item-image {
    width: min(22.9333333333vw, 129px);
    height: min(21.6vw, 121.5px);
    margin-bottom: min(5.3333333333vw, 30px);
  }
}
.p-lp .p-lp-worry__item:nth-child(4) .p-lp-worry__item-image {
  width: 68.9px;
  height: 138.5px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item:nth-child(4) .p-lp-worry__item-image {
    width: min(12.08vw, 67.95px);
    height: min(24.32vw, 136.8px);
    margin-bottom: min(3.4666666667vw, 19.5px);
  }
}
.p-lp .p-lp-worry__item-text {
  font-family: "Source Han Sans JP", "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.58;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-worry__item-text {
    font-size: min(3.2vw, 18px);
  }
}

/*------------------------------
intro
------------------------------*/
.p-lp .p-lp-intro {
  padding-top: 113px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro {
    padding-top: min(13.3333333333vw, 75px);
    padding-bottom: min(18.9333333333vw, 106.5px);
  }
}
.p-lp .p-lp-intro__inner {
  display: flex;
  flex-direction: column;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__inner {
    display: contents;
  }
}
.p-lp .p-lp-intro__image {
  width: 608px;
  height: 372px;
  aspect-ratio: 608/372;
  border-radius: 14px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__image {
    margin: 0 calc(50% - 50vw);
    width: auto;
    height: auto;
    aspect-ratio: 375/268;
    border-radius: unset;
  }
}
.p-lp .p-lp-intro__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lp .p-lp-intro__content {
  align-self: flex-end;
  padding: 56px 60px;
  border-radius: 14px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: rgba(255, 255, 255, 0.95);
  margin-top: -265px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__content {
    padding: min(6.1333333333vw, 34.5px) min(4vw, 22.5px) min(6.6666666667vw, 37.5px);
    margin-top: min(-19.2vw, -108px);
    position: relative;
    z-index: 2;
    margin-inline: auto;
  }
}
.p-lp .p-lp-intro__title {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 27px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__title {
    font-size: min(5.0666666667vw, 28.5px);
  }
}
.p-lp .p-lp-intro__title:after {
  content: "";
  display: block;
  background: url("/assets/img/vision_recovery_over40/intro_deco.svg") no-repeat center/contain;
  width: 439px;
  height: 11px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__title:after {
    width: min(74.9333333333vw, 421.5px);
    height: min(2.9333333333vw, 16.5px);
    margin-inline: auto;
    margin-top: min(-1.0666666667vw, -6px);
    background: url("/assets/img/vision_recovery_over40/intro_deco_sp.svg") no-repeat center/contain;
  }
}
.p-lp .p-lp-intro__text {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.95;
  text-align: center;
  margin-top: 29px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-intro__text {
    font-size: min(4vw, 22.5px);
    line-height: 1.67;
    margin-top: min(3.2vw, 18px);
  }
}

/*------------------------------
point
------------------------------*/
.p-lp .p-lp-point {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point {
    padding-top: min(17.8666666667vw, 100.5px);
  }
}
.p-lp .p-lp-point__lead {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.68;
  text-align: center;
  margin-top: 17px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__lead {
    font-size: min(4vw, 22.5px);
    line-height: 1.6;
    margin-top: min(2.9333333333vw, 16.5px);
  }
}
.p-lp .p-lp-point__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 796px;
  margin-inline: auto;
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__container {
    gap: min(4.2666666667vw, 24px);
    margin-top: min(5.0666666667vw, 28.5px);
    max-width: min(80.2666666667vw, 451.5px);
  }
}
.p-lp .p-lp-point__item {
  padding: 37px 23px 36px 22px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  border-radius: 14px;
  display: flex;
  gap: 17px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__item {
    padding: min(6.1333333333vw, 34.5px) min(5.8666666667vw, 33px) min(6.4vw, 36px) min(6.9333333333vw, 39px);
    gap: min(4.2666666667vw, 24px);
    flex-direction: column;
    align-items: center;
  }
}
.p-lp .p-lp-point__item-image {
  flex-shrink: 0;
  width: 176px;
  height: 135px;
  aspect-ratio: 176/135;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__item-image {
    width: min(56.5333333333vw, 318px);
    height: min(43.4666666667vw, 244.5px);
  }
}
.p-lp .p-lp-point__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lp .p-lp-point__item-content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__item-content {
    gap: min(2.6666666667vw, 15px);
  }
}
.p-lp .p-lp-point__item-title {
  border-left: 9px solid #24957b;
  color: #24957b;
  font-weight: 600;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 25px;
  line-height: 1.3;
  padding-left: 5px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__item-title {
    border-left-width: min(1.6vw, 9px);
    font-size: min(4.2666666667vw, 24px);
    padding-left: min(1.3333333333vw, 7.5px);
    line-height: 1.2;
  }
}
.p-lp .p-lp-point__item-text {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  color: #707070;
}
.p-lp .p-lp-point__item-text:before, .p-lp .p-lp-point__item-text:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-lp .p-lp-point__item-text:before {
  margin-top: -0.3em;
}
.p-lp .p-lp-point__item-text:after {
  margin-bottom: -0.3em;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-point__item-text {
    font-size: min(4vw, 22.5px);
    line-height: 1.53;
  }
  .p-lp .p-lp-point__item-text:before, .p-lp .p-lp-point__item-text:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .p-lp .p-lp-point__item-text:before {
    margin-top: -0.2666666667em;
  }
  .p-lp .p-lp-point__item-text:after {
    margin-bottom: -0.2666666667em;
  }
}

/*------------------------------
plan
------------------------------*/
.p-lp .p-lp-plan {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan {
    padding-top: min(21.8666666667vw, 123px);
  }
}
.p-lp .p-lp-plan__container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 800px;
  margin-inline: auto;
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__container {
    gap: min(4.2666666667vw, 24px);
    padding-inline: min(2.6666666667vw, 15px);
    margin-top: min(6.1333333333vw, 34.5px);
  }
}
.p-lp .p-lp-plan__item {
  border: 4px solid #24957b;
  border-top-width: 25px;
  position: relative;
  padding: 34px 26px 32px 43px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__item {
    border-width: min(1.0666666667vw, 6px);
    border-top-width: min(2.9333333333vw, 16.5px);
    padding: min(6.9333333333vw, 39px) min(4vw, 22.5px) min(3.2vw, 18px);
  }
}
.p-lp .p-lp-plan__item-header {
  position: absolute;
  top: -25px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #24957b;
  color: #fff;
  font-size: 19px;
  letter-spacing: 0.04em;
  font-weight: 600;
  border-radius: 0 0 20px 20px;
  width: 171px;
  height: 49px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__item-header {
    width: min(31.2vw, 175.5px);
    height: min(6.6666666667vw, 37.5px);
    top: max(-2.9333333333vw, -16.5px);
    font-size: min(3.2vw, 18px);
    border-radius: 0 0 min(5.3333333333vw, 30px) min(5.3333333333vw, 30px);
  }
}
.p-lp .p-lp-plan__row {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__row {
    gap: min(3.4666666667vw, 19.5px);
    align-items: flex-start;
  }
}
.p-lp .p-lp-plan__row:nth-child(1) {
  padding-bottom: 18px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__row:nth-child(1) {
    padding-bottom: min(4vw, 22.5px);
  }
}
.p-lp .p-lp-plan__row:nth-child(1):after {
  content: "";
  display: block;
  background-image: linear-gradient(to right, #a7a7a7 6px, transparent 6px);
  background-size: 12px 3px;
  background-repeat: repeat-x;
  background-position: left bottom;
  width: 95%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__row:nth-child(1):after {
    background-image: linear-gradient(to right, #a7a7a7 min(0.8vw, 4.5px), transparent min(0.8vw, 4.5px));
    background-size: min(1.6vw, 9px) min(0.2666666667vw, 1.5px);
    width: 100%;
    height: min(0.2666666667vw, 1.5px);
  }
}
.p-lp .p-lp-plan__row:nth-child(2) {
  padding-top: 18px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__row:nth-child(2) {
    padding-top: min(3.4666666667vw, 19.5px);
  }
}
.p-lp .p-lp-plan__icon {
  width: 133px;
  height: 133px;
  aspect-ratio: 133/133;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__icon {
    width: min(14.4vw, 81px);
    height: min(14.4vw, 81px);
  }
}
.p-lp .p-lp-plan__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lp .p-lp-plan__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__content {
    gap: min(2.1333333333vw, 12px);
  }
}
.p-lp .p-lp-plan__badge {
  width: 252px;
  height: 37px;
  border-radius: 18.5px;
  border: solid 3px #24957b;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__badge {
    width: min(53.8666666667vw, 303px);
    height: min(8vw, 45px);
    border-radius: min(4vw, 22.5px);
    border-width: min(0.5333333333vw, 3px);
  }
}
.p-lp .p-lp-plan__badge-text {
  font-size: 19px;
  font-weight: 600;
  color: #24957b;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-left: 11px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__badge-text {
    font-size: min(4vw, 22.5px);
    gap: min(2.1333333333vw, 12px);
  }
}
.p-lp .p-lp-plan__badge-text:before {
  content: "";
  display: block;
  background-color: #24957b;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__badge-text:before {
    width: min(2.1333333333vw, 12px);
    height: min(2.1333333333vw, 12px);
  }
}
.p-lp .p-lp-plan__text {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.53;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-plan__text {
    font-size: min(4vw, 22.5px);
  }
}
.p-lp .p-lp-plan__text.green {
  color: #24957b;
}
.p-lp .p-lp-plan__text.orange {
  color: #c6840a;
}

/*------------------------------
cta
------------------------------*/
.p-lp .p-lp-cta {
  padding-top: 82px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-cta {
    padding-top: min(18.4vw, 103.5px);
    padding-bottom: min(16.8vw, 94.5px);
  }
}
.p-lp .p-lp-cta__image {
  max-width: 1020px;
  height: auto;
  aspect-ratio: 1020/285;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-cta__image {
    margin: 0 calc(50% - 50vw);
    aspect-ratio: 375/180;
  }
}
.p-lp .p-lp-cta__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lp .p-lp-cta__title {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.38;
  text-align: center;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-cta__title {
    font-size: min(5.3333333333vw, 30px);
    line-height: 1.45;
    margin-top: min(3.2vw, 18px);
  }
}
.p-lp .p-lp-cta__cta {
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-cta__cta {
    margin-top: min(9.6vw, 54px);
  }
}

/*------------------------------
feature
------------------------------*/
.p-lp .p-lp-feature {
  padding-top: 104px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-feature {
    padding-top: min(19.2vw, 108px);
  }
}
.p-lp .p-lp-feature__container {
  display: flex;
  justify-content: space-between;
  margin-top: 38px;
  max-width: 988px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-feature__container {
    margin-top: 23px;
    gap: 16px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
}
.p-lp .p-lp-feature__item {
  width: 222px;
  height: 222px;
  aspect-ratio: 222/222;
  background: url(/assets/img/vision_recovery_over40/feature_item.png) no-repeat center/contain;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
}
.p-lp .p-lp-feature__item-text {
  text-align: center;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-weight: 600;
}
.p-lp .p-lp-feature__item-large {
  position: relative;
}
.p-lp .p-lp-feature__item-sup {
  font-size: 12px;
  position: absolute;
  line-height: 1;
}
.p-lp .p-lp-feature__item:nth-child(1) .p-lp-feature__item-text {
  font-size: 27px;
  line-height: 1.26;
}
.p-lp .p-lp-feature__item:nth-child(1) .p-lp-feature__item-large {
  font-size: 55px;
  line-height: 1;
}
.p-lp .p-lp-feature__item:nth-child(1) .p-lp-feature__item-sup {
  top: 23px;
  right: -19px;
}
.p-lp .p-lp-feature__item:nth-child(2) .p-lp-feature__item-text {
  font-size: 27px;
  line-height: 1.26;
}
.p-lp .p-lp-feature__item:nth-child(2) .p-lp-feature__item-large {
  font-size: 60px;
  line-height: 1;
}
.p-lp .p-lp-feature__item:nth-child(2) .p-lp-feature__item-unit {
  font-size: 34px;
}
.p-lp .p-lp-feature__item:nth-child(2) .p-lp-feature__item-sup {
  top: 23px;
  right: -18px;
}
.p-lp .p-lp-feature__item:nth-child(3) .p-lp-feature__item-text {
  font-size: 20px;
  line-height: 1.3;
}
.p-lp .p-lp-feature__item:nth-child(3) .p-lp-feature__item-large {
  font-size: 50px;
  line-height: 1;
}
.p-lp .p-lp-feature__item:nth-child(3) .p-lp-feature__item-unit {
  font-size: 20px;
}
.p-lp .p-lp-feature__item:nth-child(3) .p-lp-feature__item-sup {
  top: 12px;
  right: -19px;
}
.p-lp .p-lp-feature__item:nth-child(4) .p-lp-feature__item-text {
  font-size: 23px;
  line-height: 1.26;
}
.p-lp .p-lp-feature__note {
  max-width: 988px;
  margin-inline: auto;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 600;
  text-align: right;
  margin-top: 23px;
  padding-right: 9px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-feature__note {
    text-align: center;
    font-size: min(4vw, 22.5px);
    margin-top: min(3.4666666667vw, 19.5px);
    padding-right: min(2.4vw, 13.5px);
  }
}

/*------------------------------
doctor
------------------------------*/
.p-lp .p-lp-doctor {
  padding-top: 74px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor {
    padding-top: min(16.8vw, 94.5px);
  }
}
.p-lp .p-lp-doctor__inner {
  max-width: 818px;
  margin-inline: auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  padding: 45px 27px 37px 50px;
  display: flex;
  gap: 56px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor__inner {
    padding: min(8.5333333333vw, 48px) min(4.2666666667vw, 24px) min(7.2vw, 40.5px) min(4.8vw, 27px);
    flex-direction: column;
    gap: min(6.6666666667vw, 37.5px);
    align-items: center;
    max-width: min(133.3333333333vw, 750px);
  }
}
.p-lp .p-lp-doctor__image {
  flex-shrink: 0;
  width: 267px;
  height: 335px;
  aspect-ratio: 267/335;
  margin-top: 11px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor__image {
    width: min(47.2vw, 265.5px);
    height: min(57.3333333333vw, 322.5px);
    aspect-ratio: 177/215;
    margin-top: 0;
  }
}
.p-lp .p-lp-doctor__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lp .p-lp-doctor__content {
  flex-grow: 1;
}
.p-lp .p-lp-doctor__position {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.33;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor__position {
    font-size: min(4.2666666667vw, 24px);
    line-height: 1.44;
  }
}
.p-lp .p-lp-doctor__name {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.13;
  color: #707070;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor__name {
    font-size: min(9.6vw, 54px);
    line-height: 1;
    margin-top: min(2.1333333333vw, 12px);
  }
}
.p-lp .p-lp-doctor__message {
  font-size: 20px;
  line-height: 1.6;
  color: #707070;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-doctor__message {
    font-size: min(4vw, 22.5px);
    margin-top: min(4vw, 22.5px);
  }
}
.p-lp .p-lp-doctor__message p {
  text-indent: 1em;
}

/*------------------------------
column
------------------------------*/
.p-lp .p-lp-column {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column {
    padding-top: min(21.3333333333vw, 120px);
    padding-bottom: min(11.2vw, 63px);
  }
}
.p-lp .p-lp-column__container {
  margin-top: 40px;
  padding-bottom: 6px;
}
@media screen and (min-width: 768px) {
  .p-lp .p-lp-column__container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__container {
    margin-top: min(6.1333333333vw, 34.5px);
    padding-bottom: min(5.3333333333vw, 30px);
    overflow: hidden;
    margin-inline: calc(50% - 50vw);
  }
}
@media screen and (min-width: 768px) {
  .p-lp .p-lp-column__container .swiper-wrapper {
    display: contents;
  }
}
.p-lp .p-lp-column__container .swiper-slide {
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-lp .p-lp-column__pagination {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__pagination {
    position: static;
    margin-top: min(5.3333333333vw, 30px);
    line-height: 1;
  }
}
.p-lp .p-lp-column__pagination .swiper-pagination-bullet {
  width: 47px;
  height: 10px;
  border-radius: 5px;
  background: #d9d9d9;
  opacity: 1;
  margin: 0 6px !important;
  outline: unset;
}
.p-lp .p-lp-column__pagination .swiper-pagination-bullet-active {
  background: #c7ac86;
}
.p-lp .p-lp-column__item {
  display: block;
  height: 100%;
  border-radius: 14px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__item {
    width: 100%;
    border-radius: min(3.7333333333vw, 21px);
  }
}
@media (any-hover: hover) {
  .p-lp .p-lp-column__item:hover .p-lp-column__item-image img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-lp .p-lp-column__item-image {
  width: 100%;
  height: auto;
  aspect-ratio: 357/223;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__item-image {
    aspect-ratio: 306/162;
  }
}
.p-lp .p-lp-column__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.p-lp .p-lp-column__item-content {
  height: 140px;
  padding: 20px 36px;
  background: #fff;
  border-radius: 0 0 14px 14px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__item-content {
    height: min(27.2vw, 153px);
  }
}
.p-lp .p-lp-column__item-date {
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__item-date {
    font-size: min(3.7333333333vw, 21px);
  }
}
.p-lp .p-lp-column__item-title {
  font-size: 23px;
  font-weight: 600;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-lp .p-lp-column__item-title {
    font-size: min(4.2666666667vw, 24px);
    line-height: 1.45;
    margin-top: min(1.8666666667vw, 10.5px);
  }
}

@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-pt--0 {
  padding-top: 0 !important;
}

.u-pb--0 {
  padding-bottom: 0 !important;
}

.u-pr--0 {
  padding-right: 0 !important;
}

.u-pl--0 {
  padding-left: 0 !important;
}

.u-pt--10 {
  padding-top: 1rem;
}

.u-pb--10 {
  padding-bottom: 1rem;
}

.u-pr--10 {
  padding-right: 1rem;
}

.u-pl--10 {
  padding-left: 1rem;
}

.u-pt--20 {
  padding-top: 2rem;
}

.u-pb--20 {
  padding-bottom: 2rem;
}

.u-pr--20 {
  padding-right: 2rem;
}

.u-pl--20 {
  padding-left: 2rem;
}

.u-pt--30 {
  padding-top: 3rem;
}

.u-pb--30 {
  padding-bottom: 3rem;
}

.u-pr--30 {
  padding-right: 3rem;
}

.u-pl--30 {
  padding-left: 3rem;
}

.u-pt--40 {
  padding-top: 4rem;
}

.u-pb--40 {
  padding-bottom: 4rem;
}

.u-pr--40 {
  padding-right: 4rem;
}

.u-pl--40 {
  padding-left: 4rem;
}

.u-pt--50 {
  padding-top: 5rem;
}

.u-pb--50 {
  padding-bottom: 5rem;
}

.u-pr--50 {
  padding-right: 5rem;
}

.u-pl--50 {
  padding-left: 5rem;
}

.u-pt--60 {
  padding-top: 6rem;
}

.u-pb--60 {
  padding-bottom: 6rem;
}

.u-pr--60 {
  padding-right: 6rem;
}

.u-pl--60 {
  padding-left: 6rem;
}

.u-pt--70 {
  padding-top: 7rem;
}

.u-pb--70 {
  padding-bottom: 7rem;
}

.u-pr--70 {
  padding-right: 7rem;
}

.u-pl--70 {
  padding-left: 7rem;
}

.u-pt--80 {
  padding-top: 8rem;
}

.u-pb--80 {
  padding-bottom: 8rem;
}

.u-pr--80 {
  padding-right: 8rem;
}

.u-pl--80 {
  padding-left: 8rem;
}

.u-pt--90 {
  padding-top: 9rem;
}

.u-pb--90 {
  padding-bottom: 9rem;
}

.u-pr--90 {
  padding-right: 9rem;
}

.u-pl--90 {
  padding-left: 9rem;
}

.u-pt--100 {
  padding-top: 10rem;
}

.u-pb--100 {
  padding-bottom: 10rem;
}

.u-pr--100 {
  padding-right: 10rem;
}

.u-pl--100 {
  padding-left: 10rem;
}

.u-pt--110 {
  padding-top: 11rem;
}

.u-pb--110 {
  padding-bottom: 11rem;
}

.u-pr--110 {
  padding-right: 11rem;
}

.u-pl--110 {
  padding-left: 11rem;
}

.u-pt--120 {
  padding-top: 12rem;
}

.u-pb--120 {
  padding-bottom: 12rem;
}

.u-pr--120 {
  padding-right: 12rem;
}

.u-pl--120 {
  padding-left: 12rem;
}

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

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

.u-mr--0 {
  margin-right: 0 !important;
}

.u-ml--0 {
  margin-left: 0 !important;
}

.u-mt--10 {
  margin-top: 1rem;
}

.u-mb--10 {
  margin-bottom: 1rem;
}

.u-mr--10 {
  margin-right: 1rem;
}

.u-ml--10 {
  margin-left: 1rem;
}

.u-mt--20 {
  margin-top: 2rem;
}

.u-mb--20 {
  margin-bottom: 2rem;
}

.u-mr--20 {
  margin-right: 2rem;
}

.u-ml--20 {
  margin-left: 2rem;
}

.u-mt--30 {
  margin-top: 3rem;
}

.u-mb--30 {
  margin-bottom: 3rem;
}

.u-mr--30 {
  margin-right: 3rem;
}

.u-ml--30 {
  margin-left: 3rem;
}

.u-mt--40 {
  margin-top: 4rem;
}

.u-mb--40 {
  margin-bottom: 4rem;
}

.u-mr--40 {
  margin-right: 4rem;
}

.u-ml--40 {
  margin-left: 4rem;
}

.u-mt--50 {
  margin-top: 5rem;
}

.u-mb--50 {
  margin-bottom: 5rem;
}

.u-mr--50 {
  margin-right: 5rem;
}

.u-ml--50 {
  margin-left: 5rem;
}

.u-mt--60 {
  margin-top: 6rem;
}

.u-mb--60 {
  margin-bottom: 6rem;
}

.u-mr--60 {
  margin-right: 6rem;
}

.u-ml--60 {
  margin-left: 6rem;
}

.u-mt--70 {
  margin-top: 7rem;
}

.u-mb--70 {
  margin-bottom: 7rem;
}

.u-mr--70 {
  margin-right: 7rem;
}

.u-ml--70 {
  margin-left: 7rem;
}

.u-mt--80 {
  margin-top: 8rem;
}

.u-mb--80 {
  margin-bottom: 8rem;
}

.u-mr--80 {
  margin-right: 8rem;
}

.u-ml--80 {
  margin-left: 8rem;
}

.u-mt--90 {
  margin-top: 9rem;
}

.u-mb--90 {
  margin-bottom: 9rem;
}

.u-mr--90 {
  margin-right: 9rem;
}

.u-ml--90 {
  margin-left: 9rem;
}

.u-mt--100 {
  margin-top: 10rem;
}

.u-mb--100 {
  margin-bottom: 10rem;
}

.u-mr--100 {
  margin-right: 10rem;
}

.u-ml--100 {
  margin-left: 10rem;
}

.u-mt--110 {
  margin-top: 11rem;
}

.u-mb--110 {
  margin-bottom: 11rem;
}

.u-mr--110 {
  margin-right: 11rem;
}

.u-ml--110 {
  margin-left: 11rem;
}

.u-mt--120 {
  margin-top: 12rem;
}

.u-mb--120 {
  margin-bottom: 12rem;
}

.u-mr--120 {
  margin-right: 12rem;
}

.u-ml--120 {
  margin-left: 12rem;
}

.u-textalign--center {
  text-align: center;
}
.u-textalign--left {
  text-align: left;
}
.u-textalign--right {
  text-align: right;
}