@import url("https://fonts.googleapis.com/css2?family=Arvo:wght@700&family=Noto+Sans+JP:wght@100..900&display=swap");
/*
SERVICE
*/
.p-page-intro {
  position: relative;
}
.p-page-intro__picto {
  width: 459px;
  display: block;
  margin: -80px auto 40px;
}
.p-page-intro__title {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.75em;
}
.p-page-intro__box {
  max-width: 800px;
  margin: 40px auto;
  padding: 30px;
  border-radius: 20px;
}
.p-page-intro__box-grid {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: 20px;
  justify-content: center;
}
.p-page-intro__box-grid .p-page-intro__box {
  max-width: auto;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  width: 100%;
  padding: 25px;
  position: relative;
}
.p-page-intro__box-grid .p-page-intro__box::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
  background: url(../img/intro-box.png) 0 0 no-repeat;
  background-size: contain;
  width: 16px;
  height: 18px;
  margin-left: -8px;
}
.p-page-intro__check-list {
  margin: 0;
}
.p-page-intro__check {
  font-size: 2rem;
  padding-left: 35px;
  position: relative;
  margin-bottom: 0.5em;
}
.p-page-intro__check::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 5px;
  background: url(../img/check.png) 0 0 no-repeat;
  background-size: contain;
  width: 28px;
  height: 25px;
}
.p-page-intro__check:last-child {
  margin-bottom: 0;
}
.p-page-intro__note {
  margin-top: 50px;
  position: relative;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.7777777778em;
  background-color: #fff;
  background-image:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 50%,
      #fff 50%,
      #fff 100%
    ),
    linear-gradient(180deg, #eeeeee 2px, transparent 2px);
  background-size:
    8px 100%,
    100% 2.77em;
  padding-bottom: 10px;
}
.p-page-intro__stick-l {
  background: url(../img/page-intro-stick-l.png) 0 no-repeat;
  background-size: contain;
  width: 167px;
  height: 149px;
  position: absolute;
  left: -170px;
  top: -70px;
}
.p-page-intro__stick-r {
  background: url(../img/page-intro-stick-r.png) 0 no-repeat;
  background-size: contain;
  width: 167px;
  height: 223px;
  position: absolute;
  right: -140px;
  top: -110px;
}

.p-sv-point {
  position: relative;
  padding-top: 90px;
}
.p-sv-point__header {
  position: relative;
}
.p-sv-point__caption {
  font-size: 1.8rem;
  line-height: 1.3333333333em;
  margin-bottom: 0;
}
.p-sv-point__title {
  font-weight: bold;
  margin-top: 0;
  font-size: 4rem;
  line-height: 1;
}
.p-sv-point__stick {
  position: absolute;
  right: 0;
  top: -150px;
  background: url(../img/sv-point-stick.png) 0 0 no-repeat;
  background-size: contain;
  width: 273px;
  height: 244px;
}
.p-sv-point .p-point__stick-2 {
  position: absolute;
  right: 100px;
  bottom: -30px;
  background: url(../img/sv-point-stick-2.png) 0 0 no-repeat;
  background-size: contain;
  width: 80px;
  height: 115px;
}
.p-sv-point .p-point__stick-3 {
  position: absolute;
  right: 400px;
  bottom: -30px;
  background: url(../img/sv-point-stick-3.png) 0 0 no-repeat;
  background-size: contain;
  width: 72px;
  height: 114px;
}
.p-sv-point .p-point__stick-4 {
  position: absolute;
  right: 200px;
  bottom: -30px;
  background: url(../img/sv-point-stick-4.png) 0 0 no-repeat;
  background-size: contain;
  width: 73px;
  height: 140px;
}

.p-sv-qna {
  position: relative;
  padding-top: 90px;
}
.p-sv-qna__stick-l {
  background: url(../img/sv-qna-stick-l.png) 0 0 no-repeat;
  background-size: contain;
  width: 193px;
  height: 175px;
  position: absolute;
  left: 25%;
  top: -130px;
}
.p-sv-qna__stick-r {
  background: url(../img/sv-qna-stick-r.png) 0 0 no-repeat;
  background-size: contain;
  width: 80px;
  height: 115px;
  position: absolute;
  right: 25%;
  top: -130px;
}
.p-sv-qna__caption {
  text-align: center;
  margin-bottom: 0;
}
.p-sv-qna__title {
  margin-top: 0;
  margin-bottom: 55px;
  font-size: 4rem;
  text-align: center;
  line-height: 1;
}
.p-sv-qna__title-2 {
  text-align: center;
  font-size: 2.4rem;
  margin: 50px auto;
}

/*
PLAN
*/
.p-plan {
  position: relative;
  padding-top: 90px;
  padding-bottom: 100px;
}
.p-plan__header {
  position: relative;
}
.p-plan__header-caption {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 0;
}
.p-plan__header-title {
  text-align: center;
  font-size: 4rem;
  margin-top: 0;
  line-height: 1;
}
.p-plan__header-title .u-big:nth-child(1) {
  font-size: 6rem;
}
.p-plan__header-title .u-big:nth-child(2) {
  font-size: 4rem;
}
.p-plan__stick-l {
  background: url(../img/page-plan-stick-l.png) 0 0 no-repeat;
  background-size: contain;
  width: 193px;
  height: 165px;
  position: absolute;
  left: 0;
  top: -50px;
}
.p-plan__stick-r {
  background: url(../img/page-plan-stick-r.png) 0 0 no-repeat;
  background-size: contain;
  width: 380px;
  height: 239px;
  position: absolute;
  right: 0;
  top: -150px;
}
.p-plan__block {
  margin: 50px auto;
  position: relative;
  background: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.p-plan__block-header {
  background: #f4c555;
  color: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding: 25px 0;
  position: relative;
}
.p-plan__block--red .p-plan__block-header {
  background: #e97283;
}
.p-plan__block--blue .p-plan__block-header {
  background: #4e95d0;
}
.p-plan__block-tags {
  position: absolute;
  right: 50px;
  top: 50%;
  margin-top: -32px;
  display: flex;
  gap: 10px;
}
.p-plan__block-tag {
  background: #fff;
  width: 65px;
  height: 65px;
  border-radius: 20px;
  font-size: 2rem;
  font-weight: bold;
  padding: 7px 10px;
  text-align: center;
  margin: 0;
  line-height: 1.2em;
}
.p-plan__block-en {
  text-align: center;
  font-size: 2.4rem;
  margin: 0 !important;
  line-height: 1;
}
.p-plan__block-title {
  text-align: center;
  font-size: 3.6rem;
  margin: 10px 0 0;
  line-height: 1;
}
.p-plan__block-mid {
  margin-left: 35px;
  margin-right: 35px;
  padding-top: 35px;
  padding-bottom: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px dashed #e9e7dd;
}
.p-plan__block-title-2 {
  font-size: 2.4rem;
  line-height: 1.5em;
  margin: 0;
}
.p-plan__block-price {
  font-size: 3rem;
  font-weight: bold;
}
.p-plan__block-price .u-big {
  font-size: 4rem;
}
.p-plan__block-content {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding: 35px;
}
.p-plan__block-check {
  flex: 0 0 calc(55% - 18px);
  position: relative;
  padding-left: 40px;
  font-size: 1.8rem;
  line-height: 2em;
}
.p-plan__block-check img {
  width: 27px;
  position: absolute;
  left: 0;
  top: 5px;
}
.p-plan__block-inner {
  flex: 1;
  position: relative;
  background: #fef9ee;
  border-radius: 20px;
  padding: 20px;
}
.p-plan__block--red .p-plan__block-inner {
  background: #fdf1f2;
}
.p-plan__block--blue .p-plan__block-inner {
  background: #edf4fa;
}
.p-plan__block-title-3 {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  margin-top: 0;
}

.p-after {
  position: relative;
}
.p-after__title {
  border-bottom: 2px dashed white;
  text-align: center;
  font-size: 2.4rem;
  margin-top: 0;
  padding-bottom: 1em;
  margin-left: -35px;
  margin-right: -35px;
}

.p-sup {
  position: relative;
}
.p-sup__box {
  border-radius: 20px;
  background: #fff;
  padding-left: 35px;
  padding-right: 35px;
  padding-bottom: 30px;
  margin-bottom: 35px;
}
.p-sup__title {
  margin-left: -35px;
  margin-right: -35px;
  text-align: center;
  color: white;
  font-weight: bold;
  background: #58b5c3;
  font-size: 2.4rem;
  position: relative;
  padding: 25px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.p-sup__title img {
  width: 179px;
  margin: -50px auto 10px;
}
.p-sup__title-2 {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 0;
}
.p-sup__caption {
  margin-top: 0;
  font-size: 1.6rem;
  text-align: center;
}
.p-sup .c-col__content:nth-child(2) {
  flex: 0 0 580px;
}
.p-sup .c-col:nth-child(3) .p-sup__title img {
  width: 153px;
}
