@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__inner {
  display: flow-root;
  margin-right: auto;
  margin-left: auto;
  padding-top: 28px;
  width: 1080px;
}
.p-hero .text1 > * {
  display: block;
}
.p-hero .text1 {
  margin-bottom: 40px;
}
.p-hero .text1-1 {
  margin-bottom: 10px;
}
.p-hero .text2 {
  margin-bottom: 52px;
}
.p-hero__pic {
  float: right;
  text-align: right;
  margin-top: -397px;
  margin-right: -85px;
  margin-left: -7px;
}
.p-hero__pic img {
  margin-right: 0;
  margin-left: auto;
}
.p-hero__cta {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 14px;
  margin-bottom: 93px;
}
.p-hero__cta__item {
  margin-right: auto;
  margin-left: auto;
}
.p-hero__cta__item a {
  width: 340px;
  height: 64px;
  border-radius: 32px;
  font-size: 2.6em;
}

.p-performance {
  background: linear-gradient(to bottom, #fff, #fff 117px, var(--color-light-blue) 117px, var(--color-light-blue));
}
.p-performance__inner {
  display: flex;
  align-items: center;
  column-gap: 30px;
  width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.p-troubles {
  padding-top: 77px;
  background-color: var(--color-light-blue);
}
.p-troubles__title {
  font-size: 3.4em;
  font-weight: 600;
  color: var(--color-blue);
  text-align: center;
}
.p-troubles__inner {
  position: relative;
  display: flex;
  column-gap: 55px;
  margin-top: -17px;
  margin-right: auto;
  margin-left: auto;
  width: 1080px;
}
.p-troubles__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  column-gap: 17px;
  margin-top: 62px;
  width: 740px;
  height: 389px;
}
.p-troubles__list .no1 {
  margin-bottom: 16px;
  margin-left: 57px;
}
.p-troubles__list .no2 {
  margin-bottom: 30px;
  margin-left: 48px;
}
.p-troubles__list .no4 {
  margin-bottom: 42px;
  margin-left: 39px;
}
.p-troubles__list .no5 {
  margin-bottom: 37px;
  margin-left: 61px;
}

.p-contents {
  padding-top: 55px;
  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;
  width: 1080px;
  margin-right: auto;
  margin-left: auto;
}
.p-contents__title {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(0.4117647059em + 34px);
  padding-right: 67px;
  padding-left: 67px;
  height: 62px;
  font-size: 3.4em;
  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: -1em;
  content: attr(data-en);
  font-size: 0.4117647059em;
  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.5;
  font-size: 2.4em;
  color: var(--color-dark-blue);
  letter-spacing: 0.1em;
}

.p-feature {
  padding-top: 59px;
  padding-bottom: 70px;
}
.p-feature__title {
  margin-bottom: calc(0.4117647059em + 44px);
}
.p-feature__contents {
  counter-increment: counter;
  padding: 0 32px 30px;
  background: #fff;
  border-radius: 20px;
}
.p-feature__contents__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
}
.p-feature__contents__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
  font-size: 3em;
  font-weight: 600;
  color: var(--color-blue);
}
.p-feature__contents__title::before {
  content: counter(counter);
  align-self: flex-start;
  margin-top: -15px;
  margin-left: -28px;
  line-height: 1;
  font-size: 1.8666666667em;
}
.p-feature__contents__title::after {
  content: "";
  width: 50px;
  height: 4px;
  margin-top: 16px;
  background: var(--color-yellow);
}
.p-feature__contents__text {
  margin-bottom: 15px;
  line-height: 1.625;
  font-size: 1.6em;
  letter-spacing: 0.04em;
}
.p-feature__contents__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  background: var(--color-blue);
  border-radius: 8px;
  font-size: 1.8em;
  color: #fff;
  letter-spacing: 0.06em;
}
.p-feature__contents__item + .p-feature__contents__item {
  margin-top: 8px;
}
.p-feature__contents .p-price__list {
  column-gap: 9px;
  margin-bottom: 9px;
}
.p-feature__contents .p-price__item {
  border-width: 2px;
  border-radius: 8px;
}
.p-feature__contents .p-price__details__title {
  height: 52px;
  font-size: 1.8em;
}
.p-feature__contents .p-price__details__text {
  height: 88px;
}
.p-feature__contents .p-price__details__text .price {
  font-size: 4.2em;
}
.p-feature__contents .p-price__details__text .price .small {
  font-size: 0.7619047619em;
}
.p-feature__contents.no2 .p-feature__contents__text:last-child {
  margin-bottom: 0;
  text-align: center;
  line-height: 1;
  font-size: 2.2em;
}
.p-feature__contents.no2 .p-feature__contents__text:last-child .emphasis {
  font-weight: 500;
  color: var(--color-pink);
  letter-spacing: 0.1em;
}
.p-feature__background {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  column-gap: 40px;
  row-gap: 16px;
  margin-top: 60px;
}
.p-feature__background__title {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: 2.6em;
  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 .emphasis {
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-feature__background__profile {
  display: contents;
}
.p-feature__background__profile__pic {
  grid-column: 1/2;
  grid-row: 1/4;
}
.p-feature__background__profile__text {
  grid-column: 2/3;
  grid-row: 2/3;
  display: flex;
  align-items: baseline;
  column-gap: 17px;
  margin-bottom: 4px;
  font-size: 1.5em;
  color: #000;
  letter-spacing: 0.1em;
}
.p-feature__background__profile__text .name {
  display: flex;
  align-items: baseline;
  column-gap: 17px;
  font-size: 1.6em;
  letter-spacing: 0.1em;
}
.p-feature__background__profile__text .name .en {
  font-size: 0.4583333333em;
  color: #fff;
  letter-spacing: 0.14em;
}
.p-feature__background__profile__bg {
  position: absolute;
  top: 0;
  right: 0;
}
.p-feature__background__contents {
  grid-column: 2/3;
  grid-row: 3/4;
}
.p-feature__background__contents > * {
  line-height: 1.625;
  font-size: 1.6em;
  letter-spacing: 0.06em;
}
.p-feature__background__contents__title {
  font-weight: bold;
}

.p-service {
  padding-bottom: 80px;
}
.p-service__title {
  margin-bottom: calc(0.4117647059em + 32px);
}
.p-service__lead {
  margin-bottom: 40px;
}
.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-bottom: 80px;
}
.p-service__flow__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 19px;
}
.p-service__flow__item {
  display: contents;
}
.p-service__flow__item + .p-service__flow__item::before {
  content: "";
  display: block;
  width: 23px;
  height: 16px;
  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 {
  top: -36px;
}
.p-service__flow__item.no2 .p-service__flow__contents__pic {
  top: -25px;
}
.p-service__flow__item.no3 .p-service__flow__contents__pic {
  top: -28px;
}
.p-service__flow__contents {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  padding: 0 60px;
  width: 100%;
  height: 170px;
  background: var(--color-light-blue);
  border-radius: 20px;
}
.p-service__flow__contents__title {
  width: 284px;
  font-weight: 600;
  font-size: 3em;
  color: var(--color-blue);
  letter-spacing: 0.08em;
}
.p-service__flow__contents__text {
  width: 350px;
  line-height: 1.625;
  font-size: 1.6em;
  letter-spacing: 0.04em;
}
.p-service__flow__contents__pic {
  position: absolute;
  z-index: 1;
  left: 70px;
}

.p-comparison {
  padding-bottom: 80px;
}
.p-comparison__title {
  margin-bottom: calc(0.4117647059em + 44px);
}
.p-comparison__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 29px;
}
.p-comparison__contents {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  row-gap: 4px;
}
.p-comparison__contents__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  border-radius: 20px 20px 0 0;
  font-size: 3em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-comparison__contents__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 95px;
  background: #fff;
}
.p-comparison__contents__text {
  text-align: center;
  line-height: 1.4166666667;
  font-size: 2.4em;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-comparison__contents__text .small {
  display: inline-block;
  line-height: 1.7;
  font-size: 0.8333333333em;
  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: 313px;
  height: auto;
}
.p-comparison .ours .mark {
  background: linear-gradient(to bottom, #fff, #fff 70%, var(--color-yellow) 70%, var(--color-yellow));
}

.p-price {
  padding-bottom: 80px;
}
.p-price__lead.p-price__lead {
  margin-bottom: 39px;
}
.p-price__lead.p-price__lead .emphasis {
  font-weight: 500;
  color: var(--color-pink);
}
.p-price__list {
  display: flex;
  column-gap: 20px;
  margin-bottom: 24px;
}
.p-price__item {
  flex: 1;
  border: 3px solid var(--color-blue);
  border-radius: 14px;
  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: 80px;
  background: var(--color-blue);
  font-size: 2.8em;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-price__details__text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 122px;
  border-radius: 0 0 11px 11px;
  background: #fff;
}
.p-price__details__text .price {
  font-size: 6.3em;
  font-weight: 600;
  color: var(--color-pink);
  letter-spacing: 0.04em;
}
.p-price__details__text .price .small {
  font-size: 0.7619047619em;
  font-weight: 600;
}
.p-price__contents {
  flex: 1;
  border: 3px solid var(--color-blue);
  border-radius: 14px;
}
.p-price__contents__inner {
  display: flex;
  column-gap: 15px;
  margin-bottom: 40px;
}
.p-price__contents__title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  border-bottom: 2px solid var(--color-light-blue);
  font-size: 2.6em;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.p-price__contents__title::after {
  content: attr(data-icon-text);
  position: absolute;
  top: -9px;
  right: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: var(--color-pink);
  border-radius: 100%;
  font-size: 0.7307692308em;
  color: #fff;
  letter-spacing: 0.1em;
}
.p-price__contents__list {
  padding: 15px 20px;
}
.p-price__contents__item {
  line-height: 1.625;
  font-size: 1.6em;
  letter-spacing: 0.1em;
}
.p-price__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 34px;
  row-gap: 36px;
  margin-top: 40px;
}
.p-price__cta__text {
  width: 100%;
  text-align: center;
  font-size: 1.6em;
  letter-spacing: 0.04em;
}
.p-price__cta__text .emphasis {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 1.875em;
  color: var(--color-pink);
  letter-spacing: 0.1em;
}
.p-price__cta__item a {
  width: 340px;
  height: 64px;
  border-radius: 32px;
  font-size: 2.6em;
}

.p-faq {
  padding-bottom: 80px;
}
.p-faq__contents {
  background: #fff;
  border-radius: 14px;
  font-weight: 500;
  font-size: 2em;
  letter-spacing: 0.12em;
}
.p-faq__contents + .p-faq__contents {
  margin-top: 16px;
}
.p-faq__contents.is-opened .p-faq__question::after {
  margin-top: 6px;
  transform: rotate(225deg);
}
.p-faq__question {
  display: flex;
  align-items: center;
  column-gap: 20px;
  cursor: pointer;
  padding-top: 28px;
  padding-right: 30px;
  padding-bottom: 28px;
  padding-left: 30px;
}
.p-faq__question .icon img {
  width: 24px;
}
.p-faq__question::after {
  content: "";
  display: block;
  position: relative;
  margin-top: -6px;
  margin-right: 2px;
  width: 12px;
  height: 12px;
  border-right: 3px solid var(--color-blue);
  border-bottom: 3px solid var(--color-blue);
  transform: rotate(45deg);
}
.p-faq__question__text {
  flex: 1;
}
.p-faq__answer__inner {
  display: flex;
  column-gap: 20px;
  padding-top: 20px;
  padding-right: 30px;
  padding-bottom: 28px;
  padding-left: 30px;
}
.p-faq__answer .icon img {
  width: 21px;
}
.p-faq__answer__text {
  flex: 1;
}

.p-contact {
  margin-bottom: 108px;
}
.p-contact form {
  display: grid;
  gap: 35px 32px;
  align-items: flex-end;
  color: #666;
}
.p-contact form label {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.p-contact form label[id*=label] {
  margin-bottom: 9px;
}
.p-contact form label span {
  font-size: 1.6em;
  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: 46px;
  height: 20px;
  border-radius: 10px;
  font-weight: 500;
  background: var(--color-pink);
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 0.075em;
}
.p-contact form label:has(input) {
  font-size: 1.25em;
}
.p-contact form ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  margin-top: 29px;
}
.p-contact form input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.p-contact form select,
.p-contact form textarea {
  padding-right: 20px;
  padding-left: 20px;
  width: 100% !important;
  height: 50px;
  border: 1px solid #c5c5c5;
  border-radius: 4px;
  font-size: 1.4em;
}
.p-contact form textarea {
  padding-top: 20px;
  padding-bottom: 20px;
  height: 172px;
}
.p-contact form .input {
  margin-right: 0 !important;
}
.p-contact form *[class*=privacy] {
  margin-top: 5px;
  margin-bottom: 2px;
}
.p-contact form *[class*=privacy] ul {
  justify-content: center;
  margin-top: 0;
}
.p-contact form *[class*=privacy] span:has(.hs-form-required) {
  font-size: 1.12em;
}
.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: 300px;
  height: 60px;
  background: var(--color-blue);
  border: 0;
  border-radius: 6px;
  font-size: 1.8em;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.075em;
}
.p-contact form .hs-error-msgs {
  position: absolute;
  width: 100%;
  margin-top: 0;
}
.p-contact form .hs-error-msgs + .hs-error-msgs {
  top: 130%;
}
.p-contact form .hs-error-msgs label {
  margin-top: 7px;
  font-size: 1.6em;
  font-weight: bold;
  color: var(--color-pink);
}
.p-contact form .hs-error-msgs label::before {
  content: "*";
}
.p-contact form > fieldset {
  display: contents;
}
.p-contact form .hs-form-field {
  position: relative;
  width: 100% !important;
  float: none !important;
}
.p-contact form .hs_inquiry_details {
  grid-column: 1/3;
  grid-row: 1/2;
}
.p-contact form .hs_inquiry_details .input ul {
  margin-bottom: 15px;
}
.p-contact form .hs_inquiry_details .hs-error-msgs {
  top: calc(100% - 15px);
}
.p-contact form .hs_company {
  grid-column: 1/2;
  grid-row: 2/3;
}
.p-contact form .hs_fullname {
  grid-column: 2/3;
  grid-row: 2/3;
}
.p-contact form .hs_affiliation {
  grid-column: 1/2;
  grid-row: 3/4;
}
.p-contact form .hs_jobtitle {
  grid-column: 2/3;
  grid-row: 3/4;
}
.p-contact form .hs_phone {
  grid-column: 1/2;
  grid-row: 4/5;
}
.p-contact form .hs_email {
  grid-column: 2/3;
  grid-row: 4/5;
}
.p-contact form .hs_situation {
  grid-column: 1/2;
  grid-row: 5/6;
}
.p-contact form .hs_message {
  grid-column: 1/3;
  grid-row: 6/7;
}
.p-contact form .hs_privacy_policy {
  grid-column: 1/3;
  grid-row: 7/8;
}
.p-contact form .hs_submit {
  grid-column: 1/3;
}
.p-contact form .hs_error_rollup {
  position: relative;
  grid-column: 1/3;
  grid-row: 8/9;
}
.p-contact form .hs_error_rollup label {
  justify-content: center;
  margin-top: 0;
}
.p-contact .submitted-message {
  display: flex;
  height: 100px;
  align-items: center;
  justify-content: center;
}
.p-contact .submitted-message p {
  font-size: 1.4em;
  font-weight: bold;
}
/*# sourceMappingURL=index.css.map */
