@charset "UTF-8";
/* ---------------------------------------------
  背景色
--------------------------------------------- */
.lp_main {
  background-color: #fff1e7;
  background-image: url(../img/page/bg_contents_head.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}


/* ---------------------------------------------
  ページ共通
--------------------------------------------- */
.lp_main .page_content {
  width: 100%;
  color: #1a1a1a;
  background-image: url(../img/page/bg_contents_footer.jpg);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-bottom: min(calc((105 / 750) * 100vw), 105px);
}
.lp_main .page_head {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: min(calc((200 / 750) * 100vw), 200px);
  margin-bottom: min(calc((50 / 750) * 100vw), 50px);
}
.lp_main .page_title {
  width: min(calc((630 / 750) * 100vw), 630px);
  margin: 0 auto;
}
.lp_main .page_title img {
  display: block;
  width: 100%;
  height: auto;
}


/* ---------------------------------------------
  ページ本文
--------------------------------------------- */
.lp_main .page_body {
  margin: 0 min(calc((30 / 750) * 100vw), 30px);
  background: #fff;
  border-radius: min(calc((20 / 750) * 100vw), 20px);
  box-shadow: 1px 2px 5px 0px rgba(0, 0, 0, 0.15);
  padding: 0 min(calc((30 / 750) * 100vw), 30px);
}
.lp_main .page_section {
  padding: min(calc((40 / 750) * 100vw), 30px) 0;
  border-bottom: 1px dashed #000;
}
.lp_main .page_section:last-child,
.lp_main .page_section:has(+ .page_section--date) {
  border-bottom: none;
}
.lp_main .page_section--date {
  padding-top: min(calc((25 / 750) * 100vw), 25px);
  padding-bottom: min(calc((100 / 750) * 100vw), 100px);
}
.lp_main .page_heading {
  display: flex;
  gap: 0.3em;
  font-size: min(calc((32 / 750) * 100vw), 32px);
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 min(calc((10 / 750) * 100vw), 10px);
}
.lp_main .page_heading_num {
  flex-shrink: 0;
  font-size: min(calc((32 / 750) * 100vw), 32px);
  font-weight: bold;
  line-height: 1.5;
}
.lp_main .page_heading_text {
  font-size: min(calc((32 / 750) * 100vw), 32px);
  font-weight: bold;
  line-height: 1.5;
}
.lp_main .page_section p {
  font-size: min(calc((28 / 750) * 100vw), 28px);
  line-height: 1.6;
  margin: 0 0 min(calc((50 / 750) * 100vw), 30px);
}
.lp_main .page_num_p {
  padding-left: 1em;
  text-indent: -1em;
}
.lp_main .page_section p:last-child,
.lp_main .page_section .page_ol:last-child {
  margin-bottom: 0;
}
.lp_main .page_section p:has(+ .page_ol) {
  margin-bottom: min(calc((20 / 750) * 100vw), 20px);
}
.lp_main .page_ol {
  list-style: none;
  counter-reset: page-item;
  padding: 0;
  margin: 0 0 min(calc((50 / 750) * 100vw), 50px);
}
.lp_main .page_ol li {
  counter-increment: page-item;
  position: relative;
  padding-left: 2.5em;
  font-size: min(calc((28 / 750) * 100vw), 28px);
  line-height: 1.6;
  margin-bottom: min(calc((4 / 750) * 100vw), 4px);
}
.lp_main .page_ol li:last-child {
  margin-bottom: 0;
}
.lp_main .page_ol li::before {
  content: "（" counter(page-item) "）";
  position: absolute;
  left: 0;
  font-size: min(calc((28 / 750) * 100vw), 28px);
  line-height: 1.8;
}


@media (min-width: 1300px) {
  .lp_main .page_content {
    padding-bottom: 105px;
  }
  .lp_main .page_head {
    margin-top: 150px;
    margin-bottom: 30px;
  }
  .lp_main .page_title {
    width: 410px;
  }
  .lp_main .page_heading,
  .lp_main .page_heading_num,
  .lp_main .page_heading_text {
    font-size: 18px;
  }
  .lp_main .page_section p,
  .lp_main .page_ol li,
  .lp_main .page_ol li::before {
    font-size: 14px;
  }
}
