main.lp {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  color: #555;
  padding-top: 0;
}
main.lp .kv {
  position: relative;
}
main.lp .kv p {
  text-align: center;
  letter-spacing: 0.02em;
  position: absolute;
}
main.lp .kv p:nth-of-type(1) {
  font-size: calc(20 / 1600 * 100vw);
  font-weight: 500;
  line-height: 200%;
  top: calc(296 / 1600 * 100vw);
  width: 100%;
}
main.lp .kv p:nth-of-type(2), main.lp .kv p:nth-of-type(3) {
  font-size: calc(16 / 1600 * 100vw);
  font-weight: 600;
  line-height: 180%;
}
main.lp .kv p:nth-of-type(2) {
  bottom: calc(208 / 1600 * 100vw);
  right: calc(496 / 1600 * 100vw);
}
main.lp .kv p:nth-of-type(3) {
  bottom: calc(92 / 1600 * 100vw);
  left: calc(516 / 1600 * 100vw);
}
main.lp .howtouse {
  width: min(1200 / 1600 * 100vw, 1200px);
  margin: min(80 / 1600 * 100vw, 80px) auto 0;
  background: #FFECF3;
  border-radius: min(12 / 1600 * 100vw, 12px);
  padding: min(70 / 1600 * 100vw, 70px) 0 min(48 / 1600 * 100vw, 48px);
}
main.lp .howtouse h2 {
  font-size: min(36 / 1600 * 100vw, 36px);
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 0.08em;
  color: #222;
  text-align: center;
}
main.lp .howtouse h2 span {
  font-family: "Montserrat", sans-serif;
  font-size: min(21 / 1600 * 100vw, 21px);
  color: #FFA6C6;
  display: block;
  margin-bottom: max(-8 / 1600 * 100vw, -8px);
  letter-spacing: 0.08em;
}
main.lp .howtouse h3 {
  display: block;
  width: min(360 / 1600 * 100vw, 360px);
  background: #FFF;
  border: 1px solid #FFA6C6;
  font-size: min(27 / 1600 * 100vw, 27px);
  font-weight: 700;
  line-height: min(65 / 1600 * 100vw, 65px);
  letter-spacing: 0.02em;
  text-align: center;
  margin: min(61 / 1600 * 100vw, 61px) auto 0;
  color: #FFA6C6;
}
main.lp .howtouse .flow {
  display: flex;
  justify-content: center;
  margin-top: min(53 / 1600 * 100vw, 53px);
}
main.lp .howtouse .flow .flow-item {
  width: 30.8%;
  position: relative;
}
main.lp .howtouse .flow .flow-item::before {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(45 / 1600 * 100vw, 45px);
  height: min(45 / 1600 * 100vw, 45px);
  border: 1px solid #FFA6C6;
  background: #FFF;
  border-radius: 50%;
  font-size: min(24 / 1600 * 100vw, 24px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 100%;
  color: #FFA6C6;
  position: absolute;
  top: max(-22 / 1600 * 100vw, -22px);
  left: min(58 / 1600 * 100vw, 58px);
}
main.lp .howtouse .flow .flow-item:nth-of-type(1)::before {
  content: "1";
}
main.lp .howtouse .flow .flow-item:nth-of-type(2)::before {
  content: "2";
}
main.lp .howtouse .flow .flow-item:nth-of-type(3)::before {
  content: "3";
}
main.lp .howtouse .flow .flow-item img {
  width: min(240 / 1600 * 100vw, 240px);
  margin: 0 auto;
  display: block;
}
main.lp .howtouse .flow .flow-item p {
  font-size: min(18 / 1600 * 100vw, 18px);
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 0.08em;
  color: #222;
  text-align: center;
  margin-top: min(20 / 1600 * 100vw, 20px);
}
main.lp .howtouse .flow + h3 {
  margin-top: min(90 / 1600 * 100vw, 90px);
}
main.lp .howtouse .anygift {
  font-size: min(18 / 1600 * 100vw, 18px);
  letter-spacing: 0.05em;
  color: #777;
  text-align: center;
  margin-top: min(108 / 1600 * 100vw, 108px);
}
main.lp .howtouse .anygift img {
  width: min(98 / 1600 * 100vw, 98px);
}
main.lp .member {
  margin-top: min(40 / 1600 * 100vw, 40px);
}
main.lp .member p {
  text-align: center;
  font-size: min(16 / 1600 * 100vw, 16px);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.02em;
  color: #222;
}
main.lp .member a {
  display: block;
  width: min(280 / 1600 * 100vw, 280px);
  margin: 0 auto;
  border-radius: min(28 / 1600 * 100vw, 28px);
  font-size: min(14 / 1600 * 100vw, 14px);
  font-weight: 500;
  line-height: min(56 / 1600 * 100vw, 56px);
  letter-spacing: 0.05em;
  text-align: center;
}
main.lp .member a:nth-of-type(1) {
  background: #FFA6C6;
  color: #FFF;
  margin-top: min(40 / 1600 * 100vw, 40px);
}
main.lp .member a:nth-of-type(2) {
  border: 1px solid #FFA6C6;
  color: #777;
  margin-top: min(20 / 1600 * 100vw, 20px);
}
main.lp .faq {
  width: min(800 / 1600 * 100vw, 800px);
  margin: min(120 / 1600 * 100vw, 120px) auto 0;
}
main.lp .faq h2 {
  font-size: min(36 / 1600 * 100vw, 36px);
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 0.08em;
  color: #222;
  text-align: center;
}
main.lp .faq h2 span {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: min(21 / 1600 * 100vw, 21px);
  color: #FFA6C6;
  margin-top: max(-4 / 1600 * 100vw, -4px);
  letter-spacing: 0.08em;
}
main.lp .faq .faq-container {
  border-top: 1px solid #B7BAC4;
  margin-top: min(25 / 1600 * 100vw, 25px);
}
main.lp .faq .faq-container .faq-item {
  border-bottom: 1px solid #B7BAC4;
  font-size: min(16 / 1600 * 100vw, 16px);
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.02em;
}
main.lp .faq .faq-container .faq-item .question, main.lp .faq .faq-container .faq-item .answer {
  padding: min(20 / 1600 * 100vw, 20px) min(24 / 1600 * 100vw, 24px);
  gap: 0 min(10 / 1600 * 100vw, 10px);
}
main.lp .faq .faq-container .faq-item .question {
  display: flex;
  position: relative;
  cursor: pointer;
}
main.lp .faq .faq-container .faq-item .question::before, main.lp .faq .faq-container .faq-item .question::after {
  display: inline-block;
}
main.lp .faq .faq-container .faq-item .question::before {
  content: "Q";
  font-weight: 600;
}
main.lp .faq .faq-container .faq-item .question::after {
  content: "";
  width: min(12 / 1600 * 100vw, 12px);
  height: min(12 / 1600 * 100vw, 12px);
  border-right: 1px solid #FFA6C6;
  border-bottom: 1px solid #FFA6C6;
  position: absolute;
  top: 47%;
  right: min(26 / 1600 * 100vw, 26px);
  transform: translateY(-50%) rotate(45deg);
}
main.lp .faq .faq-container .faq-item .question.active::after {
  transform: translateY(-50%) rotate(-135deg);
}
main.lp .faq .faq-container .faq-item .answer {
  display: none;
  transition: 0.3s;
}
main.lp .faq .faq-container .faq-item .answer::before {
  display: inline-block;
  content: "A";
  font-weight: 600;
}
main.lp .faq .faq-container .faq-item .answer.active {
  display: flex;
}
main.lp .breadclumb {
  margin-top: min(122 / 1600 * 100vw, 122px);
  padding-bottom: min(49 / 1600 * 100vw, 49px);
}
main.lp .breadclumb .breadclumb-inner {
  width: min(1200 / 1600 * 100vw, 1200px);
  margin: 0 auto;
}
main.lp .breadclumb .breadclumb-inner ul {
  display: flex;
  gap: 0 min(34 / 1600 * 100vw, 34px);
}
main.lp .breadclumb .breadclumb-inner ul li {
  font-size: min(14 / 1600 * 100vw, 14px);
  line-height: 100%;
  letter-spacing: 0.1em;
  color: #AAA;
  position: relative;
}
main.lp .breadclumb .breadclumb-inner ul li:not(:has(a))::before {
  display: block;
  content: "";
  width: min(4 / 1600 * 100vw, 4px);
  height: min(4 / 1600 * 100vw, 4px);
  background: #D9D9D9;
  border-radius: 50%;
  position: absolute;
  left: max(-19 / 1600 * 100vw, -19px);
  top: 50%;
  transform: translateY(-50%);
}
main.lp .breadclumb .breadclumb-inner ul li a {
  color: #222;
}

@media (max-width: 768px) {
  main.lp .kv p:nth-of-type(1) {
    font-size: calc(15 / 375 * 100vw);
    line-height: 180%;
    top: calc(159 / 375 * 100vw);
  }
  main.lp .kv p:nth-of-type(2), main.lp .kv p:nth-of-type(3) {
    font-size: calc(12 / 375 * 100vw);
    line-height: 145%;
  }
  main.lp .kv p:nth-of-type(2) {
    bottom: calc(134 / 375 * 100vw);
    right: calc(27 / 375 * 100vw);
  }
  main.lp .kv p:nth-of-type(3) {
    bottom: calc(52 / 375 * 100vw);
    left: calc(34 / 375 * 100vw);
  }
  main.lp .howtouse {
    width: calc(335 / 375 * 100vw);
    margin-top: calc(35 / 375 * 100vw);
    border-radius: calc(8 / 375 * 100vw);
    padding: calc(15 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
  }
  main.lp .howtouse h2 {
    font-size: calc(20 / 375 * 100vw);
  }
  main.lp .howtouse h2 span {
    font-size: calc(13 / 375 * 100vw);
    margin-bottom: calc(-3 / 375 * 100vw);
  }
  main.lp .howtouse h3 {
    width: calc(180 / 375 * 100vw);
    font-size: calc(18 / 375 * 100vw);
    line-height: calc(40 / 375 * 100vw);
    margin-top: calc(30 / 375 * 100vw);
  }
  main.lp .howtouse .flow {
    flex-direction: column;
    align-items: center;
    margin-top: calc(36 / 375 * 100vw);
    gap: calc(31 / 375 * 100vw) 0;
  }
  main.lp .howtouse .flow .flow-item {
    width: 100%;
  }
  main.lp .howtouse .flow .flow-item::before {
    width: calc(31 / 375 * 100vw);
    height: calc(31 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    top: calc(-17 / 375 * 100vw);
    left: calc(79 / 375 * 100vw);
  }
  main.lp .howtouse .flow .flow-item img {
    width: calc(164 / 375 * 100vw);
  }
  main.lp .howtouse .flow .flow-item p {
    font-size: calc(13 / 375 * 100vw);
    margin-top: calc(10 / 375 * 100vw);
  }
  main.lp .howtouse .flow + h3 {
    margin-top: calc(45 / 375 * 100vw);
    width: calc(217 / 375 * 100vw);
  }
  main.lp .howtouse .anygift {
    font-size: calc(11 / 375 * 100vw);
    margin-top: calc(28 / 375 * 100vw);
  }
  main.lp .howtouse .anygift img {
    width: calc(61 / 375 * 100vw);
  }
  main.lp .member {
    margin-top: calc(35 / 375 * 100vw);
  }
  main.lp .member p {
    font-size: calc(13 / 375 * 100vw);
    line-height: 170%;
    letter-spacing: 0.08em;
  }
  main.lp .member a {
    width: calc(226 / 375 * 100vw);
    border-radius: calc(28 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
    line-height: calc(44 / 375 * 100vw);
  }
  main.lp .member a:nth-of-type(1) {
    margin-top: calc(35 / 375 * 100vw);
  }
  main.lp .member a:nth-of-type(2) {
    margin-top: calc(15 / 375 * 100vw);
  }
  main.lp .faq {
    width: calc(335 / 375 * 100vw);
    margin-top: calc(61 / 375 * 100vw);
  }
  main.lp .faq h2 {
    font-size: calc(20 / 375 * 100vw);
  }
  main.lp .faq h2 span {
    font-size: calc(13 / 375 * 100vw);
    margin-top: calc(-4 / 375 * 100vw);
  }
  main.lp .faq .faq-container {
    margin-top: calc(37 / 375 * 100vw);
  }
  main.lp .faq .faq-container .faq-item {
    font-size: calc(15 / 375 * 100vw);
    line-height: 145%;
    letter-spacing: 0;
  }
  main.lp .faq .faq-container .faq-item .question, main.lp .faq .faq-container .faq-item .answer {
    padding: calc(13 / 375 * 100vw) calc(24 / 375 * 100vw) calc(15 / 375 * 100vw) 0;
    gap: 0 calc(10 / 375 * 100vw);
  }
  main.lp .faq .faq-container .faq-item .question::after {
    width: calc(9 / 375 * 100vw);
    height: calc(9 / 375 * 100vw);
    right: 0;
  }
  main.lp .breadclumb {
    margin-top: calc(150 / 375 * 100vw);
    padding-bottom: calc(36 / 375 * 100vw);
  }
  main.lp .breadclumb .breadclumb-inner {
    width: calc(335 / 375 * 100vw);
  }
  main.lp .breadclumb .breadclumb-inner ul {
    display: flex;
    gap: 0 calc(25 / 375 * 100vw);
  }
  main.lp .breadclumb .breadclumb-inner ul li {
    font-size: calc(11 / 375 * 100vw);
    letter-spacing: 0.1em;
  }
  main.lp .breadclumb .breadclumb-inner ul li:not(:has(a))::before {
    width: calc(3 / 375 * 100vw);
    height: calc(3 / 375 * 100vw);
    left: calc(-15 / 375 * 100vw);
  }
  main.lp .breadclumb .breadclumb-inner ul li a {
    font-size: calc(12 / 375 * 100vw);
  }
}/*# sourceMappingURL=style.css.map */