@charset "UTF-8";

.lp_min {
 font-weight: 400;
 font-family: "Noto Serif JP", serif, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
 letter-spacing: 0.12em;
}
.lp_dot {
 display: block;
 padding: 0.25em 0 0.25em 1em;
 text-indent: -1em;
}

@media only screen and (min-width: 1241px) {
 .fs-l-main {
  padding-top: 40px;
  margin-bottom: 50px;
 }
}

.lp_mv {
 max-width: 1180px;
 margin-left: auto;
 margin-right: auto;
}
.lp_read {
 padding: 50px 40px;
}
.lp_read p {
 font-size: 2rem;
 line-height: 1.8;
 text-align: center;
}
.lp_off10 {
 margin-top: 30px;
 text-align: center;
}
.lp_off10 a {
 padding: 1em 2em;
 display: inline-block;
 margin-left: auto;
 margin-right: auto;
 color: #ffffff;
 font-size: 1.8rem;
 background-color: #ff4545;
 transition: all 0.2s ease-in-out;
}
.lp_bnr {
 max-width: 1180px;
 margin-left: auto;
 margin-right: auto;
}
.lp_bnr .flex {
 display: flex;
 justify-content: space-between;
}
.lp_bnr .item {
 width: 48%;
}
.lp_bnr .item a {
 display: block;
 transition: all 0.2s ease-out;
}
.lp_pre {
 margin-top: 80px;
 padding: 90px 60px 70px;
 background-color: #89d2ad;
}
.lp_pre.lp_pre2 {
 background-color: #c8e472;
}
.lp_pre .pre_ttl {
 text-align: center;
 position: relative;
}
.lp_pre .pre_ttl p {
 max-width: 302px;
 margin-left: auto;
 margin-right: auto;
}
.lp_pre .pre_ttl h2 {
 margin-top: 0.5em;
 font-size: 2.4rem;
 font-weight: 500;
 line-height: 1.33;
}
.lp_pre .pre_ttl .item_star {
 position: absolute;
 top: -40px;
 right: 50px;
 width: 104px;
}
.lp_pre .pre_ttl h2 strong {
 font-size: 3.2rem;
 font-weight: 700;
}
.lp_pre .pre_img {
 margin-top: 50px;
 width: 100%;
}
.lp_pre .pre_txt {
 margin-top: 50px;
 max-width: 780px;
 margin-left: auto;
 margin-right: auto;
}
.lp_pre .pre_txt p {
 font-size: 1.5rem;
 line-height: 1.8;
}
.lp_pre .pre_txt p small {
 font-size: 1.3rem;
 line-height: 1.8;
 display: inline-block;
 margin-top: 0.5em;
}
.lp_pre .pre_btn {
 margin-top: 40px;
 text-align: center;
}
.lp_pre .pre_btn a {
 color: #fff;
 font-size: 1.7rem;
 font-weight: 700;
 display: flex;
 justify-content: space-between;
 align-items: center;
 width: 340px;
 margin-left: auto;
 margin-right: auto;
 padding: 24px 40px;
 text-align: left;
 background: #333333;
 position: relative;
 transition: all 0.2s ease-in-out;
}
.lp_pre .pre_btn a svg {
 width: 16px;
 height: 12px;
 fill: currentColor;
}
.lp_how {
 max-width: 1180px;
 margin-top: 80px;
 margin-left: auto;
 margin-right: auto;
}
.lp_how h3 {
 font-size: 2.4rem;
 text-align: center;
}
.lp_how .flex {
 display: flex;
 justify-content: space-between;
 margin-top: 50px;
}
.lp_how .flex .item {
 width: 48%;
 border: 8px solid #ed3788;
}
.lp_how .item_ttl {
 text-align: center;
 padding: 28px;
 background-color: #ed3788;
}
.lp_how .item_ttl h4 {
 color: #ffffff;
 font-size: 2rem;
 font-weight: 700;
 display: flex;
 justify-content: center;
 align-items: center;
}
.lp_how .item_ttl h4 .icon {
 width: 42px;
 height: 42px;
 fill: currentColor;
}
.lp_how .item_ttl h4 em {
 display: block;
 font-style: normal;
 padding-left: 10px;
}
.lp_how .item_body {
 padding: 10.9% 12.7%;
}
.lp_how .item_body li {
 display: flex;
 align-items: flex-start;
}
.lp_how .item_body li + li {
 margin-top: 36px;
}
.lp_how .item_body li .num {
 width: 60px;
 height: 60px;
 display: flex;
 justify-content: center;
 align-items: center;
 margin-right: 20px;
 color: #ffffff;
 font-size: 3rem;
 font-weight: 400;
 line-height: 1;
 text-align: center;
 background-color: #fcbdd7;
 border-radius: 100%;
}
.lp_how .item_body li .txt {
 flex: 1;
 padding-top: 1em;
}
.lp_how .item_body li .txt .t_1 {
 font-size: 1.5rem;
 line-height: 1.8;
}
.lp_how .item_body li .txt .t_2 {
 margin-top: 1em;
 margin-left: 40px;
}
.lp_how .item_body li .txt .t_2 a {
 display: inline-block;
 color: #ffffff;
 font-size: 2rem;
 font-weight: 700;
 padding: 0.6em 1.5em;
 border-radius: 2em;
 background-color: #ed3788;
 transition: all 0.2s ease-in-out;
}
.lp_how .item.tw {
 border-color: #1d9bf0;
}
.lp_how .item.tw .item_ttl,
.lp_how .item.tw .item_body li .txt .t_2 a {
 background-color: #1d9bf0;
}
.lp_how .item.tw .num {
 background-color: #bbe1fa;
}
.lp_gaiyo {
 max-width: 820px;
 padding: 0 40px 80px;
 margin-top: 100px;
 margin-left: auto;
 margin-right: auto;
}
.lp_gaiyo h3 {
 font-size: 2rem;
 text-align: center;
 padding: 20px;
 background-color: #eeeeee;
}
.lp_gaiyo_body {
 margin-top: 40px;
}
.lp_gaiyo_body p {
 font-size: 1.3rem;
 line-height: 1.66;
 letter-spacing: 0.04em;
}
.lp_gaiyo_body p + p {
 margin-top: 2em;
}
.lp_gaiyo_body p strong {
 display: block;
 font-weight: 700;
}
.lp_gaiyo_body p a {
 text-decoration: underline;
}

@media only screen and (min-width: 820px) {
 .lp_off10 a:hover {
  opacity: 0.5;
 }
 .lp_pre .pre_btn a:hover {
  background: #666666;
 }
 .lp_bnr .item a:hover {
  box-shadow: 0px 0px 20px 8px rgba(137, 210, 173, 0.3);
 }
 .lp_how .item_body li .txt .t_2 a:hover {
  opacity: 0.5;
 }
}

@media only screen and (max-width: 1240px) {
 .lp_bnr,
 .lp_how {
  padding: 0 40px;
 }
 .lp_how .item_body {
  padding: 10.9% 8%;
 }
 .lp_how .item_body li .txt .t_2 {
  margin-left: 0;
 }
}

@media only screen and (max-width: 768px) {
 .lp_pre .pre_ttl .item_star {
  right: -40px;
  width: 80px;
 }
 .lp_how .flex {
  flex-flow: column;
 }
 .lp_how .flex .item {
  width: 100%;
 }
 .lp_how .item.tw {
  margin-top: 30px;
 }
}

@media only screen and (max-width: 599px) {
 .lp_mv {
  width: 100%;
  overflow: hidden;
 }
 .lp_mv h1 {
  position: relative;
  display: block;
  margin-left: -30%;
  margin-right: -30%;
 }
 .lp_read {
  padding: 20px;
 }
 .lp_read p {
  font-size: 1.3rem;
  line-height: 1.5;
 }
 .lp_off10 {
  margin-top: 20px;
 }
 .lp_off10 a {
  padding: 0.75em 1em;
  display: block;
  font-size: 1.3rem;
  line-height: 1.44;
 }
 .lp_bnr {
  padding: 0 10px;
 }
 .lp_bnr .flex {
  flex-flow: column;
 }
 .lp_bnr .item {
  width: 100%;
 }
 .lp_bnr .item + .item {
  margin-top: 10px;
 }
 .lp_pre {
  margin-top: 10px;
  padding: 40px 20px 30px;
  background-color: #38ca99;
 }
 .lp_pre .pre_ttl p {
  max-width: 240px;
 }
 .lp_pre .pre_ttl h2 {
  font-size: 1.8rem;
 }
 .lp_pre .pre_ttl h2 strong {
  font-size: 2.2rem;
 }
 .lp_pre .pre_ttl .item_star {
  right: -10px;
  width: 50px;
 }
 .lp_pre .pre_img,
 .lp_pre .pre_txt {
  margin-top: 30px;
 }
 .lp_pre .pre_txt p {
  font-size: 1.3rem;
 }
 .lp_pre .pre_btn {
  margin-top: 20px;
 }
 .lp_pre .pre_btn a {
  font-size: 1.5rem;
  max-width: 340px;
  padding: 20px 30px;
  width: 90%;
 }
 .lp_how {
  padding: 0 10px;
  margin-top: 30px;
 }
 .lp_how h3 {
  font-size: 2rem;
  text-align: center;
 }
 .lp_how .flex {
  margin-top: 10px;
 }
 .lp_how .flex .item {
  border-width: 4px;
 }
 .lp_how .item.tw {
  margin-top: 20px;
 }
 .lp_how .item_ttl {
  padding: 8px;
 }
 .lp_how .item_ttl h4 {
  font-size: 1.8rem;
 }
 .lp_how .item_ttl h4 .icon {
  width: 30px;
  height: 30px;
 }
 .lp_how .item_body {
  padding: 20px;
 }
 .lp_how .item_body li + li {
  margin-top: 20px;
 }
 .lp_how .item_body li .num {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  font-size: 2rem;
 }
 .lp_how .item_body li .txt {
  padding-top: 0.2em;
 }
 .lp_how .item_body li .txt .t_1 {
  font-size: 1.3rem;
  line-height: 1.6;
 }
 .lp_how .item_body li .txt .t_2 {
  margin-top: 0.5em;
 }
 .lp_how .item_body li .txt .t_2 a {
  font-size: 1.8rem;
  margin-left: 20px;
 }

 .lp_gaiyo {
  padding: 0 10px;
  margin-top: 30px;
 }
 .lp_gaiyo h3 {
  font-size: 1.8rem;
  padding: 10px;
 }
 .lp_gaiyo_body {
  margin-top: 20px;
  padding: 0 10px;
 }
}
