@charset "UTF-8";
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:
Note:


New Creation:	.
Last Change:	2018/12/06 16:12:24.


Created By		Yoshiaki Murakami

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	Function
3.	Layout
4.	Object

------------------------------------------------------------------------
----------------------------------------------------------------------*/
.p-hero {
  overflow: hidden;
  padding-top: 7.8666666667vw;
  padding-bottom: 9.3333333333vw;
}
.p-hero__text {
  margin-left: 5.3333333333vw;
}
.p-hero .text1 > * {
  display: block;
}
.p-hero .text1 {
  margin-bottom: 2.2666666667vw;
}
.p-hero .text1-1 {
  margin-bottom: 3.0666666667vw;
  width: 59.3333333333vw;
}
.p-hero .text1-2 {
  width: 81.3333333333vw;
}
.p-hero .text2 {
  width: 44.9333333333vw;
}
.p-hero__pic {
  margin-top: -24.2666666667vw;
  margin-right: -11.2vw;
  margin-bottom: 5.3333333333vw;
}
.p-hero__pic img {
  margin-right: 0;
  margin-left: auto;
  width: 88.5333333333vw;
}
.p-hero__cta {
  display: flex;
  flex-direction: column;
  row-gap: 2.8vw;
}
.p-hero__cta__item {
  margin-right: auto;
  margin-left: auto;
}
.p-hero__cta__item a {
  width: 70.8vw;
  height: 13.3333333333vw;
  border-radius: 6.6666666667vw;
  font-size: 1.9rem;
}

.p-performance {
  background: linear-gradient(to bottom, #fff, #fff 21.0666666667vw, var(--color-light-blue) 21.0666666667vw, var(--color-light-blue));
}
.p-performance__inner {
  display: flex;
  justify-content: center;
  column-gap: 2.5333333333vw;
}
.p-performance__item {
  width: 27.2vw;
}

.p-troubles {
  padding-top: 16vw;
  background-color: var(--color-light-blue);
}
.p-troubles__title {
  margin-bottom: 6.2666666667vw;
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--color-blue);
  text-align: center;
}
.p-troubles__inner {
  position: relative;
}
.p-troubles__pic {
  margin-left: 28.5333333333vw;
  width: 38.6666666667vw;
}
.p-troubles__item {
  position: absolute;
}
.p-troubles__item.no4 {
  right: 0;
}
.p-troubles__item.no1 {
  width: 40.4vw;
}
.p-troubles__item.no2 {
  width: 41.2vw;
}
.p-troubles__item.no3 {
  width: 40.4vw;
}
.p-troubles__item.no4 {
  width: 31.8666666667vw;
}
.p-troubles__item.no5 {
  width: 37.3333333333vw;
}
.p-troubles__item.no6 {
  width: 45.2vw;
}
.p-troubles__item.no1 {
  top: 4.2666666667vw;
  left: 4.4vw;
}
.p-troubles__item.no2 {
  top: 31.7333333333vw;
  left: -1.4666666667vw;
}
.p-troubles__item.no3 {
  top: 55.4666666667vw;
  left: 5.2vw;
}
.p-troubles__item.no4 {
  top: 7.2vw;
  right: 6.8vw;
}
.p-troubles__item.no5 {
  top: 30.2666666667vw;
  right: 6.2666666667vw;
}
.p-troubles__item.no6 {
  top: 41.4666666667vw;
  right: 2.6666666667vw;
}

.p-contents {
  padding-top: 14.6666666667vw;
  text-align: center;
}
.p-contents.has-bg {
  background-color: var(--color-light-blue);
}
.p-contents.has-bg .p-contents__title::after {
  color: #fff;
}
.p-contents > :where(*:not([class*=title]):not([class*=lead])) {
  text-align: left;
  margin-right: 6.6666666667vw;
  margin-left: 6.6666666667vw;
}
.p-contents__title {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(10.6666666667vw + 0.6666666667vw + 1rem);
  padding-right: 10.2666666667vw;
  padding-left: 10.2666666667vw;
  height: 10.6666666667vw;
  font-size: 2.1rem;
  font-weight: 600;
  color: var(--color-blue);
}
.p-contents__title::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../../img/sp/title_bg.png) left center/contain no-repeat, url(../../img/sp/title_bg.png) right center/contain no-repeat;
}
.p-contents__title::after {
  position: absolute;
  bottom: calc(-0.6666666667vw - 1rem);
  content: attr(data-en);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(var(--color-blue-rgb), 0.3);
}
.p-contents__lead {
  font-weight: 500;
  line-height: 1.4333333333;
  font-size: 1.5rem;
  color: var(--color-dark-blue);
  letter-spacing: 0.1em;
}

.p-feature {
  padding-top: 16vw;
  padding-bottom: 13.3333333333vw;
}
.p-feature__title {
  margin-bottom: calc(10vw + 0.6666666667vw + 1rem);
}
.p-feature__contents {
  counter-increment: counter;
  padding: 0 7.2vw 7.2vw;
  background: #fff;
  border-radius: 4.6666666667vw;
}
.p-feature__contents + .p-feature__contents {
  margin-top: 9.2vw;
}
.p-feature__contents__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4vw;
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--color-blue);
}
.p-feature__contents__title::before {
  content: counter(counter);
  margin-top: -6.6666666667vw;
  margin-bottom: 3.3333333333vw;
  line-height: 1;
  font-size: 4rem;
}
.p-feature__contents__title::after {
  content: "";
  width: 11.7333333333vw;
  height: 0.9333333333vw;
  margin-top: 3.3333333333vw;
  background: var(--color-yellow);
}
.p-feature__contents__text {
  margin-bottom: 4vw;
  line-height: 1.6428571429;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.p-feature__contents__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.6vw;
  background: var(--color-blue);
  border-radius: 1.8666666667vw;
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0.06em;
}
.p-feature__contents__item + .p-feature__contents__item {
  margin-top: 1.7333333333vw;
}
.p-feature__contents.no2 .p-feature__contents__text:last-child {
  margin-top: 2.4vw;
  margin-bottom: 0;
  text-align: center;
  line-height: 1;
}
.p-feature__contents.no2 .p-feature__contents__text:last-child .emphasis {
  font-weight: 500;
  font-size: 1.9rem;
  color: var(--color-pink);
  letter-spacing: 0.1em;
}
.p-feature__background {
  margin-top: 10.6666666667vw;
}
.p-feature__background__title {
  margin-bottom: 1.6vw;
  text-align: center;
  line-height: 2;
  font-size: 2rem;
  font-weight: 300;
  color: var(--color-blue);
  letter-spacing: 0.04em;
}
.p-feature__background__title .mark {
  margin-right: 0.5rem;
  font-weight: 500;
  background: linear-gradient(to bottom, transparent, transparent 70%, var(--color-yellow) 70%, var(--color-yellow));
  color: var(--color-blue);
  letter-spacing: 0.04em;
}
.p-feature__background__title .mark:last-of-type {
  margin-right: 0;
}
.p-feature__background__title .emphasis {
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-feature__background__profile {
  display: flex;
  align-items: center;
  margin-bottom: 4.8vw;
}
.p-feature__background__profile__pic {
  margin-right: 2.6666666667vw;
  width: 31.6vw;
}
.p-feature__background__profile__text {
  flex: 1;
  font-size: 1.2rem;
  color: #000;
  letter-spacing: 0.1em;
}
.p-feature__background__profile__text .name {
  display: block;
  margin-top: 1.6vw;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
.p-feature__background__profile__text .name .en {
  display: block;
  margin-top: 2.1333333333vw;
  font-size: 1.1rem;
  color: #fff;
  letter-spacing: 0.14em;
}
.p-feature__background__profile__bg {
  align-self: flex-start;
  width: 16vw;
}
.p-feature__background__contents > * {
  line-height: 1.6153846154;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
}
.p-feature__background__contents__title {
  font-weight: bold;
}
.p-feature__background__contents__list {
  margin-left: 1.6em;
  text-indent: -1.6em;
}

.p-service {
  padding-top: 14.6666666667vw;
  padding-bottom: 13.3333333333vw;
  overflow: hidden;
}
.p-service__title {
  margin-bottom: calc(10vw + 0.6666666667vw + 1rem);
}
.p-service__lead {
  margin-bottom: 5.2vw;
}
.p-service__lead .mark {
  margin-left: -0.25em;
  background: linear-gradient(to bottom, #fff, #fff 70%, var(--color-yellow) 70%, var(--color-yellow));
}
.p-service__pic {
  margin-right: 0;
  margin-bottom: 12vw;
  margin-left: 0;
}
.p-service__pic__text {
  position: relative;
  margin-right: 6.6666666667vw;
  margin-left: 6.6666666667vw;
  padding-right: 5.3333333333vw;
  padding-bottom: 1.0666666667vw;
  text-align: right;
  font-size: 1.2rem;
  color: #666;
}
.p-service__pic__text::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 20.5333333333vw;
  height: 1.8666666667vw;
  border-right: 0.1333333333vw solid #666;
  border-bottom: 0.1333333333vw solid #666;
  transform: skewX(45deg);
}
.p-service__pic__inner {
  overflow-y: scroll;
}
.p-service__pic__scroll {
  width: 227.8666666667vw;
}
.p-service__flow__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.3333333333vw;
}
.p-service__flow__item {
  display: contents;
}
.p-service__flow__item + .p-service__flow__item::before {
  content: "";
  display: block;
  width: 5.8666666667vw;
  height: 4vw;
  background-color: var(--color-light-blue);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.p-service__flow__item.no1 .p-service__flow__contents__pic {
  width: 29.7333333333vw;
}
.p-service__flow__item.no2 .p-service__flow__contents__pic {
  width: 34vw;
}
.p-service__flow__item.no3 .p-service__flow__contents__pic {
  width: 30.5333333333vw;
}
.p-service__flow__item.no1 .p-service__flow__contents__pic {
  top: -6.1333333333vw;
  left: -5.8666666667vw;
}
.p-service__flow__item.no2 .p-service__flow__contents__pic {
  top: -3.6vw;
  right: -9.2vw;
}
.p-service__flow__item.no3 .p-service__flow__contents__pic {
  top: -5.4666666667vw;
  left: -6.6666666667vw;
}
.p-service__flow__contents {
  position: relative;
  padding: 9.3333333333vw 5.3333333333vw 5.3333333333vw;
  background: var(--color-light-blue);
  border-radius: 2.6666666667vw;
}
.p-service__flow__contents__title {
  margin-bottom: 9.3333333333vw;
  text-align: center;
  font-weight: 600;
  font-size: 2rem;
  color: var(--color-blue);
  letter-spacing: 0.08em;
}
.p-service__flow__contents__text {
  line-height: 1.6428571429;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.p-service__flow__contents__pic {
  position: absolute;
  z-index: 1;
}

.p-comparison {
  padding-top: 14.6666666667vw;
  padding-bottom: 13.3333333333vw;
}
.p-comparison__title {
  margin-bottom: calc(10.2666666667vw + 0.6666666667vw + 1rem);
}
.p-comparison__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.3333333333vw;
}
.p-comparison__contents {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  row-gap: 0.8vw;
}
.p-comparison__contents__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 19.7333333333vw;
  border-radius: 3.2vw 3.2vw 0 0;
  line-height: 1.2647058824;
  font-size: 1.7rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-comparison__contents__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20.5333333333vw;
  background: #fff;
}
.p-comparison__contents__text {
  text-align: center;
  line-height: 1.4285714286;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-comparison__contents__text .small {
  display: inline-block;
  line-height: 1.4545454545;
  font-size: 1.1rem;
  font-weight: 500;
}
.p-comparison .others {
  grid-column: 1/2;
}
.p-comparison .others .p-comparison__contents__title {
  background-color: rgba(153,153,153,.6);
}
.p-comparison .others .mark {
  background: linear-gradient(to bottom, #fff, #fff 70%, rgba(var(--color-pink-rgb), 0.3) 70%, rgba(var(--color-pink-rgb), 0.3));
}
.p-comparison .ours {
  grid-column: 2/3;
}
.p-comparison .ours .p-comparison__contents__title {
  background-color: var(--color-blue);
}
.p-comparison .ours .p-comparison__contents__title img {
  width: 37.7333333333vw;
}
.p-comparison .ours .mark {
  background: linear-gradient(to bottom, #fff, #fff 70%, var(--color-yellow) 70%, var(--color-yellow));
}

.p-price {
  padding-top: 14.6666666667vw;
  padding-bottom: 13.3333333333vw;
}
.p-price__lead.p-price__lead {
  margin-bottom: 5.8666666667vw;
}
.p-price__lead.p-price__lead .emphasis {
  font-weight: 500;
  color: var(--color-pink);
}
.p-price__list {
  display: flex;
  column-gap: 2.2666666667vw;
  margin-bottom: 2.6666666667vw;
}
.p-price__item {
  flex: 1;
  border: 0.4vw solid var(--color-blue);
  border-radius: 1.8666666667vw;
  overflow: hidden;
}
.p-price__item + .p-feature__contents__item {
  margin-top: 0;
}
.p-price__details {
  width: 100%;
  height: 100%;
}
.p-price__details__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 9.6vw;
  background: var(--color-blue);
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-price__details__text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 16.2666666667vw;
  border-radius: 0 0 1.4666666667vw 1.4666666667vw;
  background: #fff;
}
.p-price__details__text .price {
  font-size: 3.7rem;
  font-weight: 600;
  color: var(--color-pink);
  letter-spacing: 0.04em;
}
.p-price__details__text .price .small {
  font-size: 2.8rem;
  font-weight: 600;
}
.p-price__contents {
  border: 0.4vw solid var(--color-blue);
  border-radius: 1.8666666667vw;
}
.p-price__contents + .p-price__contents {
  margin-top: 2.6666666667vw;
}
.p-price__contents__title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7.3333333333vw;
  border-bottom: 0.5333333333vw solid var(--color-light-blue);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.p-price__contents__title::after {
  content: attr(data-icon-text);
  position: absolute;
  top: -1.7333333333vw;
  right: 0.9333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.7333333333vw;
  height: 11.7333333333vw;
  background: var(--color-pink);
  border-radius: 100%;
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 0.1em;
}
.p-price__contents__list {
  padding: 1.6vw 2.4vw;
}
.p-price__contents__item {
  display: inline-block;
  margin-right: 2.6666666667vw;
  min-width: 35%;
  line-height: 1.4615384615;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}
.p-price__cta {
  display: flex;
  flex-direction: column;
  row-gap: 2.9333333333vw;
  margin-top: 5.3333333333vw;
}
.p-price__cta__text {
  margin-bottom: 6.4vw;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
.p-price__cta__text .emphasis {
  display: inline-block;
  margin-bottom: 2.1333333333vw;
  font-weight: 500;
  font-size: 1.8rem;
  color: var(--color-pink);
  letter-spacing: 0.1em;
}
.p-price__cta__item {
  margin-right: auto;
  margin-left: auto;
}
.p-price__cta__item a {
  width: 70.8vw;
  height: 13.3333333333vw;
  border-radius: 6.6666666667vw;
  font-size: 1.9rem;
}

.p-faq {
  padding-bottom: 13.3333333333vw;
}
.p-faq__contents {
  background: #fff;
  border-radius: 1.8666666667vw;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.12em;
}
.p-faq__contents + .p-faq__contents {
  margin-top: 2.6666666667vw;
}
.p-faq__contents.is-opened .p-faq__question::after {
  margin-top: 0.8vw;
  transform: rotate(225deg);
}
.p-faq__question {
  display: flex;
  align-items: center;
  column-gap: 4vw;
  padding-top: 5.3333333333vw;
  padding-right: 6vw;
  padding-bottom: 5.3333333333vw;
  padding-left: 6vw;
}
.p-faq__question .icon {
  width: 4.4vw;
}
.p-faq__question::after {
  content: "";
  display: block;
  position: relative;
  margin-top: -1.2vw;
  margin-right: 0.5333333333vw;
  width: 2.5333333333vw;
  height: 2.5333333333vw;
  border-right: 0.4vw solid var(--color-blue);
  border-bottom: 0.4vw solid var(--color-blue);
  transform: rotate(45deg);
}
.p-faq__question__text {
  flex: 1;
  line-height: 1.4;
}
.p-faq__answer__inner {
  display: flex;
  column-gap: 4vw;
  padding-right: 6vw;
  padding-bottom: 5.3333333333vw;
  padding-left: 6vw;
}
.p-faq__answer .icon {
  width: 4.1333333333vw;
}
.p-faq__answer__text {
  flex: 1;
  line-height: 1.4;
}

.p-contact {
  margin-bottom: 16vw;
}
.p-contact form {
  color: #666;
}
.p-contact form fieldset + fieldset {
  margin-top: 4vw;
}
.p-contact form fieldset > * + * {
  margin-top: 4vw;
}
.p-contact form label {
  display: flex;
  align-items: center;
  column-gap: 0.6666666667vw;
}
.p-contact form label[id*=label] {
  margin-bottom: 2vw;
}
.p-contact form label span {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.075em;
}
.p-contact form label .hs-form-required {
  font-size: 0;
}
.p-contact form label .hs-form-required::before {
  content: "必須";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.2vw;
  height: 4vw;
  border-radius: 2vw;
  font-weight: 500;
  background: var(--color-pink);
  font-size: 0.9rem;
  color: #fff;
  letter-spacing: 0.075em;
}
.p-contact form ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4vw 13.3333333333vw;
  margin-top: 4.4vw;
}
.p-contact form input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.p-contact form select,
.p-contact form textarea {
  padding-right: 4vw;
  padding-left: 4vw;
  width: 100% !important;
  height: 10vw;
  border: 0.2666666667vw solid #c5c5c5;
  border-radius: 0.5333333333vw;
  font-size: 1.2rem;
}
.p-contact form textarea {
  padding-top: 4vw;
  padding-bottom: 4vw;
  height: 44vw;
}
.p-contact form .input {
  margin-right: 0 !important;
}
.p-contact form *[class*=privacy] {
  margin-top: 4.2666666667vw;
  margin-bottom: 8.2666666667vw;
}
.p-contact form *[class*=privacy] ul {
  justify-content: center;
}
.p-contact form *[class*=privacy] span:has(.hs-form-required) {
  font-size: 1.4rem;
}
.p-contact form *[class*=privacy] .hs-form-required::before {
  content: initial;
}
.p-contact form .hs_submit {
  text-align: center;
}
.p-contact form .hs_submit input {
  width: 60vw;
  height: 12vw;
  background: var(--color-blue);
  border: 0;
  border-radius: 1.2vw;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.075em;
}
.p-contact form .hs-error-msgs label {
  margin-top: 1.0666666667vw;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--color-pink);
}
.p-contact form .hs-error-msgs label::before {
  content: "*";
}
.p-contact form .hs_error_rollup {
  margin-bottom: 4vw;
}
.p-contact form .hs_error_rollup label {
  justify-content: center;
}
.p-contact .submitted-message {
  display: flex;
  height: 40vw;
  align-items: center;
  justify-content: center;
}
.p-contact .submitted-message p {
  font-size: 1.4rem;
  font-weight: bold;
}
/*# sourceMappingURL=index.css.map */
