* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

html {
  font-family: "mfw-pa1gothicstd-regular", sans-serif;
  font-size: 10px;
  color: #000;
  scroll-behavior: smooth;
}

main {
  overflow-x: hidden;
  overflow-y: clip;
}

.image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.section {
  position: relative;
  width: 100%;
}
.section__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.section__wrapper {
  margin: 0 auto;
  padding-inline: 2.5%;
  max-width: calc(1330px + 5%);
}
@media screen and (max-width: 767px) {
  .section__wrapper {
    padding-top: 32px;
    padding-inline: 4.8%;
    max-width: calc(420px + 9.6%);
  }
}
.section__title {
  position: relative;
  top: -10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .section__title {
    top: 0;
    gap: 15px;
  }
}
.section__title-cube {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 66.12px;
  height: 66.11px;
  font: 500 4.49rem "mfw-pa1gothicstd-regular", sans-serif;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .section__title-cube {
    width: 34.26px;
    height: 34.26px;
    font-size: 2.3rem;
  }
}
.section__title-cube::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 6.98px;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(#80c41c), to(#34ab8c));
  background: linear-gradient(0deg, #80c41c 0%, #34ab8c 100%);
  z-index: -1;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .section__title-cube::before {
    border-radius: 7.16px;
  }
}

.leaflet {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.leaflet__wrapper {
  position: relative;
}
.leaflet__left, .leaflet__right {
  position: absolute;
}
.leaflet__left {
  top: -40px;
  left: -30px;
  width: 280px;
  height: 805px;
}
@media screen and (max-width: 1200px) {
  .leaflet__left {
    left: -80px;
  }
}
@media screen and (max-width: 1080px) {
  .leaflet__left {
    left: -130px;
  }
}
@media screen and (max-width: 767px) {
  .leaflet__left {
    top: 300px;
    left: 0;
    width: 70px;
    height: 348px;
  }
}
.leaflet__left--bottom {
  top: 1210px;
}
@media screen and (max-width: 767px) {
  .leaflet__left--bottom {
    display: none;
  }
}
.leaflet__right {
  top: 322px;
  right: 0;
  width: 221px;
  height: 831px;
}
@media screen and (max-width: 1200px) {
  .leaflet__right {
    right: -50px;
  }
}
@media screen and (max-width: 1080px) {
  .leaflet__right {
    right: -100px;
  }
}
@media screen and (max-width: 767px) {
  .leaflet__right {
    top: 600px;
    right: 0;
    width: 64px;
    height: 360px;
  }
}
.leaflet__right--bottom {
  top: 1600px;
}
@media screen and (max-width: 767px) {
  .leaflet__right--bottom {
    display: none;
  }
}

.contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 84px 2.5%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .contact {
    padding-block: 20px;
  }
}
.contact__title, .contact__subtitle {
  font: 400 4.1rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.0243902439em;
  letter-spacing: 0.05em;
}
.contact__title {
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .contact__title {
    margin-bottom: 7px;
    font-size: 2.1rem;
    line-height: 1.0244369909em;
  }
}
.contact__subtitle {
  position: relative;
  margin-bottom: 10px;
  padding: 10px 1%;
  width: 100%;
  max-width: 585px;
  font-size: 2.6rem;
  line-height: 1.6153846154em;
  color: #fff;
  background: #34ab8c;
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
@media screen and (max-width: 767px) {
  .contact__subtitle {
    margin-bottom: 8px;
    max-width: 300px;
    font-size: 1.32rem;
    line-height: 1.6148036254em;
  }
}
.contact__subtitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid #fff;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.contact__subtitle:hover {
  color: #34ab8c;
  background: #fff;
}
.contact__subtitle:hover::before {
  border-color: #34ab8c;
}
.contact__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .contact__info {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 7px;
  }
}
.contact__text-small {
  font: 400 1.3rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 3.2307692308em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .contact__text-small {
    font-size: 0.86rem;
    line-height: 3.2304093567em;
  }
}
.contact__text-number {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-inline: 15px 5px;
  padding-left: 25px;
  font: 500 3.2rem "Shippori Mincho", serif;
  line-height: 0.8936301793em;
}
@media screen and (max-width: 767px) {
  .contact__text-number {
    padding-left: 14px;
    font-size: 2.13rem;
    line-height: 0.8937470616em;
  }
}
.contact__text-number--phone {
  margin-bottom: 14px;
  padding-left: 48px;
  font-size: 4rem;
  line-height: 1.05em;
  letter-spacing: 0.041em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .contact__text-number--phone {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    padding-left: 32px;
    margin-bottom: 8px;
    font-size: 2.6rem;
    line-height: 1.049790954em;
  }
}
.contact__text-number--phone img {
  width: 100% !important;
  max-width: 35.01px !important;
}
@media screen and (max-width: 767px) {
  .contact__text-number--phone img {
    max-width: 26.61px !important;
  }
}
.contact__number-icon {
  position: absolute;
  top: 60%;
  left: 0;
  max-width: 18.07px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .contact__number-icon {
    max-width: 12.3px;
  }
}
.contact__text-made {
  font: 500 2.7rem "RyuminPro", serif;
  line-height: 1.7074074074em;
}
@media screen and (max-width: 767px) {
  .contact__text-made {
    font-size: 1.2rem;
    line-height: 1.7021276596em;
  }
}
.contact__text-tsuru {
  font: 400 2.4rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.75em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .contact__text-tsuru {
    font-size: 1.6rem;
    line-height: 1.7492083597em;
  }
}

.lp__mv-section {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .lp__mv-section {
    margin: 25px auto 10px;
  }
}
.lp__mv {
  width: 100%;
  aspect-ratio: 1300/1133;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .lp__mv {
    aspect-ratio: 375/582;
  }
}
.lp__intro-section {
  position: relative;
  background: url("./public/img/lp-upper/intro-bg.png") no-repeat center/cover;
  padding-block: 65px 75px;
  overflow-x: clip;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .lp__intro-section {
    padding: 30px 4%;
  }
}
.lp__intro-section::before, .lp__intro-section::after {
  content: "";
  width: 512px;
  height: 509px;
  position: absolute;
  top: -55px;
  display: block;
  z-index: -1;
}
@media screen and (max-width: 980px) {
  .lp__intro-section::before, .lp__intro-section::after {
    width: 452px;
    height: 449px;
  }
}
@media screen and (max-width: 767px) {
  .lp__intro-section::before, .lp__intro-section::after {
    display: none;
  }
}
.lp__intro-section::before {
  content: "";
  background: url("./public/img/lp-upper/intro-leaves-left.png") no-repeat center/contain;
  left: -197px;
}
@media screen and (max-width: 1200px) {
  .lp__intro-section::before {
    left: -257px;
  }
}
@media screen and (max-width: 1080px) {
  .lp__intro-section::before {
    left: -277px;
  }
}
.lp__intro-section::after {
  content: "";
  background: url("./public/img/lp-upper/intro-leaves-right.png") no-repeat center/contain;
  right: -199px;
}
@media screen and (max-width: 1200px) {
  .lp__intro-section::after {
    right: -259px;
  }
}
@media screen and (max-width: 1080px) {
  .lp__intro-section::after {
    right: -279px;
  }
}
.lp__intro-text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75em;
  letter-spacing: 0.01em;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .lp__intro-text {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 980px) {
  .lp__intro-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .lp__intro-text {
    font-size: 15px;
    line-height: 1.5333333333em;
    letter-spacing: unset;
    text-align: justify;
  }
}
.lp__plot {
  overflow-x: clip;
}
.lp__plot::before, .lp__plot::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.lp__plot::before {
  background: url("./public/img/lp-upper/plot-leaves-left.png") no-repeat center/contain;
  width: 280px;
  height: 805px;
  bottom: 232px;
  left: -30px;
}
@media screen and (max-width: 1200px) {
  .lp__plot::before {
    left: -80px;
  }
}
@media screen and (max-width: 1080px) {
  .lp__plot::before {
    left: -130px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot::before {
    background: url("./public/img/lp-upper/plot-leaves-left-sp.png") no-repeat center/contain;
    width: 70px;
    height: 348px;
    top: 177px;
    bottom: unset;
    left: 0;
  }
}
.lp__plot::after {
  background: url("./public/img/lp-upper/plot-leaves-right.png") no-repeat center/contain;
  width: 221px;
  height: 831px;
  bottom: -205px;
  right: 0;
}
@media screen and (max-width: 1200px) {
  .lp__plot::after {
    right: -50px;
  }
}
@media screen and (max-width: 1080px) {
  .lp__plot::after {
    right: -100px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot::after {
    background: url("./public/img/lp-upper/plot-leaves-right-sp.png") no-repeat center/contain;
    width: 64px;
    height: 360px;
    top: 450px;
    bottom: unset;
    right: 0;
  }
}
.lp__plot-wrapper {
  width: 100%;
  max-width: calc(1110px + 8%);
  margin: 40px auto 105px;
  padding: 0 4%;
}
@media screen and (max-width: 767px) {
  .lp__plot-wrapper {
    margin: 30px auto 40px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-wrapper::before {
    content: "";
    background: url("./public/img/lp-upper/plot-leaves-left-sp.png") no-repeat center/contain;
    width: 70px;
    height: 348px;
    position: absolute;
    bottom: 500px;
    left: 0;
    z-index: -1;
  }
}
.lp__plot-title {
  width: 100%;
  max-width: 407px;
  color: #231f20;
  font-size: 3.7rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-align: center;
  padding-block: 6px 7px;
  margin: 0 auto 24px;
  border-block: 2px solid #231f20;
}
@media screen and (max-width: 767px) {
  .lp__plot-title {
    font-size: 19px;
    margin-bottom: 15px;
  }
}
.lp__plot-subtitle {
  display: block;
  font-size: 2.9rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.275862069em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__plot-subtitle {
    font-size: 15px;
  }
}
.lp__plot-main-prod {
  width: 100%;
  max-width: 1060px;
  margin: 50px auto 60px;
}
@media screen and (max-width: 767px) {
  .lp__plot-main-prod {
    max-width: 285px;
    margin: 25px auto 35px;
  }
}
.lp__plot-grid-prod {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .lp__plot-grid-prod {
    max-width: 341px;
    margin: 0 auto;
  }
}
.lp__plot-fee-block {
  margin-top: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-block {
    margin-top: 55px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lp__plot-fee-title {
  color: #00b5aa;
  font: 700 2.6rem "mfw-pa1gothicstd-regular", sans-serif;
  letter-spacing: 0.32em;
  line-height: 1.3846153846em;
  margin-right: 30px;
}
@media screen and (max-width: 980px) {
  .lp__plot-fee-title {
    font-size: 2.1rem;
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-title {
    font-size: 20px;
    text-align: center;
    margin-right: 0;
  }
}
.lp__plot-fee-table-block {
  width: 305px;
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-table-block {
    width: 300px;
    margin: 12px auto 14px;
  }
}
.lp__plot-fee-table {
  width: 100%;
  border: 1px solid #231f20;
  border-collapse: collapse;
  color: #231f20;
  font-family: "Noto Sans JP", sans-serif;
}
.lp__plot-fee-caption {
  caption-side: bottom;
  margin-top: 6px;
  font: 500 1.4rem "Noto Sans JP", sans-serif;
  line-height: 1.2857142857em;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-caption {
    display: none;
  }
}
.lp__plot-fee-th, .lp__plot-fee-td {
  border: 1px solid #231f20;
}
.lp__plot-fee-th:nth-child(1), .lp__plot-fee-td:nth-child(1) {
  width: 68px;
}
.lp__plot-fee-th:nth-child(2), .lp__plot-fee-td:nth-child(2) {
  width: 145px;
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-th:nth-child(2), .lp__plot-fee-td:nth-child(2) {
    width: 140px;
  }
}
.lp__plot-fee-th:nth-child(3), .lp__plot-fee-td:nth-child(3) {
  width: auto;
}
.lp__plot-fee-th {
  background: #797d89;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: 0.1em;
  height: 35px;
}
.lp__plot-fee-th.ls-125 {
  letter-spacing: 0.125em;
}
.lp__plot-fee-th .ls-50 {
  letter-spacing: 0.05em;
}
.lp__plot-fee-th.ls-25 {
  letter-spacing: 0.025em;
}
.lp__plot-fee-td {
  background: #e2dddb;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  height: 30px;
}
.lp__plot-fee-td .fee-red {
  color: #b11116;
  font-weight: 700;
}
.lp__plot-fee-td .sym {
  font-weight: 500;
}
.lp__plot-fee-interest-block {
  margin-left: 20px;
  padding-top: 15px;
}
@media screen and (max-width: 980px) {
  .lp__plot-fee-interest-block {
    margin-left: 15px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-interest-block {
    margin-left: 0;
    padding-top: 0;
  }
}
.lp__plot-fee-interest-title {
  color: #f27c95;
  font: 700 2rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.25em;
  margin-bottom: 12px;
}
@media screen and (max-width: 980px) {
  .lp__plot-fee-interest-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-interest-title {
    font-size: 16px;
    text-align: center;
    margin-bottom: 6px;
  }
}
.lp__plot-fee-interest-desc {
  color: #231f20;
  font: 500 1.3rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.075em;
  line-height: 1.3846153846em;
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-interest-desc {
    font-size: 12px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-fee-note {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 15px auto 0;
    color: #231f20;
    font: 500 8px "Noto Sans JP", sans-serif;
    letter-spacing: 0.05em;
  }
}
.lp__plot-perks-block {
  width: 100%;
  max-width: calc(870px + 8%);
  padding: 15px 4% 20px;
  border-block: 2px solid #231f20;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-block {
    padding: 15px 4% 5px;
    margin: 25px auto 0;
  }
}
.lp__plot-perks-title {
  color: #00b5aa;
  font-size: 3.7rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-title {
    font-size: 21px;
    margin-bottom: 12px;
  }
}
.lp__plot-perks-subtitle {
  display: block;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 980px) {
  .lp__plot-perks-subtitle {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-subtitle {
    font-size: 13px;
    line-height: 1.5em;
  }
}
.lp__plot-perks-row {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 50px;
}
@media screen and (max-width: 980px) {
  .lp__plot-perks-row {
    gap: 25px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-row {
    margin-top: 8px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
.lp__plot-perks-bag {
  position: relative;
  width: 100%;
  max-width: 357px;
  min-height: 192px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-bag {
    max-width: 318px;
    min-height: 180px;
  }
}
.lp__plot-perks-h3 {
  color: #f69790;
  font: 700 2.1rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-h3 {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-h3.mt25-sp {
    margin-top: 25px;
  }
}
.lp__plot-perks-note {
  font: 500 1rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.025em;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-note {
    font-size: 8px;
    margin-top: 6px;
  }
}
.lp__plot-perks-note.mt-20 {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-note.mt-20 {
    margin-top: 10px;
  }
}
.lp__plot-perks-bag-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.lp__plot-perks-burial {
  position: relative;
  width: 100%;
  max-width: 372px;
  padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-burial {
    max-width: 340px;
    padding-bottom: 25px;
  }
}
.lp__plot-burial-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 26px;
  background: #8dc63f;
  color: #fff;
  font: 700 1.6rem "Noto Sans JP", sans-serif;
  letter-spacing: 0.025em;
  text-align: center;
  border-radius: 12px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .lp__plot-burial-label {
    height: 21px;
    font-size: 12px;
    border-radius: 10px;
    margin-bottom: 12px;
  }
}
.lp__plot-burial-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
}
@media screen and (max-width: 767px) {
  .lp__plot-burial-head {
    gap: 5px;
  }
}
.lp__plot-burial-conv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #f27c95;
  color: #fff;
  font: 700 1.6rem "Noto Sans JP", sans-serif;
  width: 53px;
  height: 42px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .lp__plot-burial-conv {
    font-size: 13px;
    width: 42px;
    height: 33px;
  }
}
.lp__plot-perks-text {
  font: 400 1.4rem "Noto Sans JP", sans-serif;
  line-height: 1.2857142857em;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-text {
    font-size: 12px;
    margin-top: 5px;
  }
}
.lp__plot-perks-burial-image {
  width: 154px;
  height: auto;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .lp__plot-perks-burial-image {
    width: 148px;
  }
}

.lp__space {
  width: 100%;
}
.lp__space-title {
  margin-top: 32px;
  font: 500 2.9rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.2772413793em;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-title {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.2793333333em;
  }
}
.lp__space-section {
  margin-top: 96px;
}
@media screen and (max-width: 767px) {
  .lp__space-section {
    margin-top: 28px;
  }
}
.lp__space-section-title {
  position: relative;
  margin-bottom: 24px;
  font: 500 3.7rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 2.2726781857em;
  letter-spacing: 0.32em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-section-title {
    margin-bottom: 17px;
    font-size: 1.9rem;
    line-height: 2.1731578947em;
  }
}
.lp__space-section-title::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 74px;
  height: 4px;
  background: #34ab8c;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .lp__space-section-title::before {
    width: 36.62px;
    height: 1.96px;
  }
}
.lp__space-section-subtitle {
  display: block;
  font: 500 2.6rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1;
  letter-spacing: 0.32em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-section-subtitle {
    font-size: 1.3rem;
  }
}
.lp__space-section-description {
  font: 400 1.9rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.6315789474em;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-section-description {
    font-size: 13px;
    line-height: 1.5em;
    text-align: left;
  }
}
.lp__space-gallery {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 39px 1.6%;
  max-width: 1100px;
  margin: 38px auto 0;
}
@media screen and (max-width: 767px) {
  .lp__space-gallery {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 8px;
    max-width: 300px;
    padding-bottom: 20px;
  }
}
.lp__space-gallery-item {
  position: relative;
  width: 100%;
  max-width: 157px;
}
.lp__space-gallery-item:first-child {
  grid-area: 1/1/3/3;
}
@media screen and (max-width: 767px) {
  .lp__space-gallery-item:first-child {
    grid-area: 1/1/2/5;
  }
}
@media screen and (max-width: 767px) {
  .lp__space-gallery-item:last-child {
    grid-area: 4/1/4/5;
    max-width: unset;
  }
}
.lp__space-gallery-item--main {
  max-width: 374px;
}
@media screen and (max-width: 767px) {
  .lp__space-gallery-item--main {
    margin-inline: auto;
    max-width: 205.44px;
  }
}
.lp__space-gallery-item--main .lp__space-gallery-image {
  aspect-ratio: 374/353;
  height: 100%;
}
.lp__space-gallery-image {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.lp__space-gallery-desc {
  display: block;
  margin-top: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font: 500 1.2rem "Noto Sans JP", sans-serif;
  line-height: 1.4815384615em;
  letter-spacing: 0.01em;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 1080px) {
  .lp__space-gallery-desc {
    margin-top: 4px;
    font-size: clamp(1rem, 1.2vw, 1.4rem);
  }
}
@media screen and (max-width: 767px) {
  .lp__space-gallery-desc {
    font-size: 0.8rem;
    line-height: 1.25em;
    text-align: right;
  }
}
.lp__space-gallery-desc--full {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: 0;
  padding-bottom: 20px;
  width: 100%;
  height: 100%;
  font: 400 1.6rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.2765957447em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1080px) {
  .lp__space-gallery-desc--full {
    font-size: clamp(1rem, 1.2vw, 1.4rem);
  }
}
@media screen and (max-width: 767px) {
  .lp__space-gallery-desc--full {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 0;
    font-size: 1rem;
    line-height: 1.4em;
    text-align: center;
  }
}
.lp__space-memorial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 3.46%;
  margin: 36px auto 0;
  width: 100%;
  max-width: 960px;
}
@media screen and (max-width: 1000px) {
  .lp__space-memorial {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.lp__space-memorial-image {
  max-width: 486px;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-image {
    max-width: 238px;
  }
}
.lp__space-memorial-image .image {
  aspect-ratio: 486/355;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-image .image {
    aspect-ratio: 238/174;
  }
}
.lp__space-memorial-text {
  font: 400 2.31rem "Noto Sans JP", sans-serif;
  line-height: 1.2421580928em;
  letter-spacing: 0.045em;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-text {
    margin-top: 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.3rem;
    line-height: 1.2276923077em;
  }
}
.lp__space-memorial-text .md,
.lp__space-memorial-text .lg {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.2em;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-text .md,
  .lp__space-memorial-text .lg {
    font-size: 1.4rem;
    line-height: 1.14em;
  }
}
.lp__space-memorial-text .lg {
  font-size: 3.47rem;
  line-height: 1.1425274091em;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-text .lg {
    font-size: 1.9rem;
    line-height: 1.1189473684em;
  }
}
.lp__space-memorial-text .number {
  font: 700 8.3rem "Noto Sans JP", sans-serif;
  line-height: 0.4799418252em;
  letter-spacing: normal;
  color: #34ab8c;
}
@media screen and (max-width: 767px) {
  .lp__space-memorial-text .number {
    font-size: 4.5rem;
    line-height: 0.4728888889em;
  }
}
.lp__space-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.88%;
  margin: 58px auto 0;
  max-width: 1040px;
}
@media screen and (max-width: 900px) {
  .lp__space-features {
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: 340px;
  }
}
@media screen and (max-width: 767px) {
  .lp__space-features {
    margin-top: 20px;
    max-width: 215.59px;
  }
}
.lp__space-features-item {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 13.59px;
  padding-block: 20px;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(#f27c95), to(#f69790));
  background: linear-gradient(0deg, #f27c95 0%, #f69790 100%);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-features-item {
    border-radius: 9px;
    padding-block: 12px;
  }
}
.lp__space-features-title {
  margin-bottom: 10px;
  font: 500 2.6rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.1538461538em;
}
@media screen and (max-width: 767px) {
  .lp__space-features-title {
    font-size: 1.72rem;
    line-height: 1.153980244em;
  }
}
.lp__space-features-desc {
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .lp__space-features-desc {
    font-size: 1.1rem;
    line-height: 1.5004721435em;
  }
}
.lp__space-features-img {
  margin-inline: auto;
  max-width: 144px;
}
@media screen and (max-width: 767px) {
  .lp__space-features-img {
    max-width: 95.53px;
  }
}
.lp__space-session {
  position: relative;
  display: grid;
  margin: 36px auto 100px;
  padding-block: 26px;
  max-width: 871.69px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lp__space-session {
    margin-block: 30px 40px;
  }
}
.lp__space-session::before, .lp__space-session::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 100%;
  height: 1.64px;
  background: #000;
}
.lp__space-session::after {
  top: unset;
  bottom: 0;
}
.lp__space-session-title, .lp__space-session-text {
  font: 400 1.6rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1.9375em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .lp__space-session-title, .lp__space-session-text {
    font-size: 1.5rem;
    line-height: 2.0266666667em;
  }
}
.lp__space-session-text {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .lp__space-session-text {
    margin-bottom: 14px;
  }
}
.lp__space-session-title {
  font-size: 2.6rem;
  line-height: 1.6153846154em;
  color: #34ab8c;
}
@media screen and (max-width: 767px) {
  .lp__space-session-title {
    font-size: 2rem;
    line-height: 2.06em;
  }
}
.lp__space-session-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .lp__space-session-tags {
    gap: 5px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .lp__space-session-tags--list {
    margin-top: 10px;
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.lp__space-session-tours {
  position: relative;
  border-radius: 18.32px;
  padding: 7px 1%;
  width: 100%;
  max-width: 245.19px;
  font: 400 2.2rem "mfw-pa1gothicstd-regular", sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background: #34ab8c;
}
@media screen and (max-width: 767px) {
  .lp__space-session-tours {
    width: 240.5px;
    font-size: 2.16rem;
  }
}
.lp__space-session-tours::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid #fff;
  border-radius: 18.32px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.lp__space-session-tagitem {
  position: relative;
  padding-left: 13px;
  font: 400 1.3rem "Noto Sans JP", sans-serif;
  line-height: 1.4815384615em;
}
@media screen and (max-width: 767px) {
  .lp__space-session-tagitem {
    font-size: 1.2rem;
    line-height: 1.5741666667em;
  }
}
.lp__space-session-tagitem::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  background: #34ab8c;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .lp__space-session-tagitem::before {
    width: 12px;
    height: 12px;
  }
}
.lp__transpo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2%;
  padding-top: 54px;
}
@media screen and (max-width: 1180px) {
  .lp__transpo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .lp__transpo {
    padding-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .lp__transpo-wrapper {
    padding-inline: 0;
  }
}
.lp__transpo-leaflet-left {
  top: -330px;
}
.lp__transpo-leaflet-right {
  top: 497px;
}
@media screen and (max-width: 767px) {
  .lp__transpo-leaflet-left, .lp__transpo-leaflet-right {
    display: none;
  }
}
@media screen and (max-width: 1180px) {
  .lp__transpo-distances {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances {
    margin-bottom: 34px;
  }
}
.lp__transpo-distances-road {
  font: 700 1.98rem "RyuminPro", serif;
  line-height: 1.0713562753em;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-road {
    width: 100%;
    font-size: 1.09rem;
    line-height: 1.0348304308em;
    text-align: center;
  }
}
.lp__transpo-distances-road.noto {
  font-family: "Noto Sans JP", sans-serif;
}
.lp__transpo-distances-duration {
  font: 700 4.38rem "RyuminPro", serif;
  line-height: 1.1291428571em;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-duration {
    font-size: 21px;
    line-height: 1.1434782609em;
  }
}
.lp__transpo-distances-duration .fs34 {
  font-size: 3.4rem;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-duration .fs34 {
    font-size: 16px;
  }
}
.lp__transpo-distances-duration .fs53 {
  font-size: 53px;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-duration .fs53 {
    font-size: 26px;
  }
}
.lp__transpo-distances-duration.mint {
  color: #00b5aa;
}
.lp__transpo-distances-duration.noto {
  font-family: "Noto Sans JP", sans-serif;
}
.lp__transpo-distances-km {
  position: absolute;
  bottom: -18px;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font: 700 1.62rem "RyuminPro", serif;
  line-height: 1.1737523105em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-km {
    position: static;
    font-size: 12px;
  }
}
.lp__transpo-distances-item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-inline: auto;
  }
}
.lp__transpo-distances-item:not(:last-child) {
  margin-bottom: 15px;
}
.lp__transpo-distances-item--bustop .transpo__distances-road {
  font: 700 2.11rem "Noto Sans JP", sans-serif;
  line-height: 1em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .lp__transpo-distances-item--bustop .transpo__distances-road {
    font-size: 1.13rem;
  }
}
.lp__transpo-distances-item--bustop .transpo__distances-duration {
  font-family: "Noto Sans JP", sans-serif;
  color: #34ab8c;
}
.lp__transpo-image {
  width: 100%;
  max-width: 474px;
}
@media screen and (max-width: 767px) {
  .lp__transpo-image {
    max-width: 289.67px;
  }
}
.lp__transpo-image .iamge {
  aspect-ratio: 474/310;
}
@media screen and (max-width: 767px) {
  .lp__transpo-image .iamge {
    aspect-ratio: 289/189;
  }
}
.lp__transpo-map {
  margin: 68px auto 80px;
  width: 100%;
  max-width: 796.52px;
  aspect-ratio: 796/485;
}
@media screen and (max-width: 767px) {
  .lp__transpo-map {
    margin-block: 26px 30px;
    max-width: 303.19px;
  }
}
.lp__transpo-map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.overflow {
  overflow: hidden;
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.light {
  font-weight: 300;
}

.text-center {
  text-align: center;
}