@charset "UTF-8";
/*!
global > color
------------------------------
*/
/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
/*!
global > mixin
------------------------------
*/
/* ================================
UTILITIES
================================ */
.p-person__order, .p-person__name small, .p-person__tags, .p-position__item-tag {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-person__order, .p-person__name small, .p-person__tags, .p-position__item-tag {
    font-size: 0.875rem;
  }
}

.p-why__card-desc, .p-faq__answer-inner {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p-why__card-desc, .p-faq__answer-inner {
    font-size: 0.9375rem;
  }
}

.p-why__card-ttl, .p-person__ttl, .p-person__name, .p-preferred__desc, .p-flow__step-head, .p-flow__step-ttl, .p-flow__desc, .p-faq__btn a {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-why__card-ttl, .p-person__ttl, .p-person__name, .p-preferred__desc, .p-flow__step-head, .p-flow__step-ttl, .p-flow__desc, .p-faq__btn a {
    font-size: 1.125rem;
  }
}

.p-preferred__item-lead {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-preferred__item-lead {
    font-size: 1.375rem;
  }
}

.p-about__lead, .p-why__card-img::after, .p-flow__step-order::after {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about__lead, .p-why__card-img::after, .p-flow__step-order::after {
    font-size: 1.5rem;
  }
}

.p-preferred__item-role {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-preferred__item-role {
    font-size: 1.625rem;
  }
}

.p-faq__question::before, .p-faq__answer-inner::before {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-faq__question::before, .p-faq__answer-inner::before {
    font-size: 1.6875rem;
  }
}

.c-ffen {
  font-family: "Zen Old Mincho", serif;
}

.c-fw400 {
  font-weight: 400;
}

.c-fw500 {
  font-weight: 500;
}

.c-fw600 {
  font-weight: 600;
}

.c-fw700 {
  font-weight: 700;
}

.c-fw800 {
  font-weight: 800;
}

.c-fw900 {
  font-weight: 900;
}

.c-ls0 {
  letter-spacing: 0;
}

.c-ls20 {
  letter-spacing: 0.02em;
}

.c-ls40 {
  letter-spacing: 0.04em;
}

.c-ls100 {
  letter-spacing: 0.1em;
}

.p-about {
  padding-block: 60px;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-about {
    padding-block: 97px 135px;
  }
}
.p-about::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to top, #F2F5FF 0.3%, rgba(228, 231, 240, 0) 99.6%);
  z-index: -1;
  height: 50%;
}
@media screen and (min-width: 768px) {
  .p-about::after {
    height: 540px;
  }
}
.p-about__lead {
  font-weight: 600;
  line-height: 1.4;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 768px) {
  .p-about__lead {
    text-align: center;
  }
}
.p-about__fv {
  position: relative;
  z-index: 0;
  margin-inline: auto;
  max-width: 600px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-about__fv {
    max-width: 100%;
    margin-top: 63px;
  }
}
.p-about__fv figcaption {
  left: 50%;
  top: 50%;
  position: absolute;
  font-family: "Noto Serif JP", serif;
  transform: translate(-50%, 20%);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #09316B;
  font-size: clamp(1.25rem, 5.3333vw + 0rem, 2rem);
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-about__fv figcaption {
    transform: translate(-50%, -85%);
    font-size: clamp(1.5rem, 1.8519vw + 0.6111rem, 2rem);
  }
}
.p-about__fv figcaption::after {
  content: "";
  display: block;
  width: 55px;
  height: 2px;
  background-image: linear-gradient(to right, #CEA950 73%, transparent 100%);
  margin-inline: auto;
  margin-top: 5px;
}
.p-about__article {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-about__article {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 10px;
    margin-top: 92px;
  }
}
.p-about__content {
  width: 100%;
  font-weight: 400;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-about__content {
    margin-top: 0;
    max-width: clamp(min(616px, 55%), (920px - 100vw) * 1000, 100%);
    flex-shrink: 0;
  }
}
.p-about__content > *:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-about__content > *:not(:last-child) {
    margin-bottom: 20px;
  }
}
.p-about__desc02 {
  font-weight: 500;
  line-height: 2.1;
}
.p-about__img {
  text-align: center;
  width: 100%;
  margin-block: auto;
}
@media screen and (min-width: 768px) {
  .p-about__img {
    padding-left: 5px;
    flex: clamp(300px, (920px - 100vw) * 1000, 100%);
  }
}
.p-about__img img {
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  .p-about__img img {
    max-width: 481px;
  }
}

.p-why {
  background-image: linear-gradient(to bottom, #FFF9E9, #F6EEDA);
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-why {
    padding-block: 101px 102px;
  }
}
.p-why__lead {
  line-height: 1.5;
}
.p-why__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  counter-reset: listCounter;
  margin-top: 30px;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .p-why__list {
    gap: 17px;
    margin-top: 49px;
  }
}
.p-why__card {
  background-color: #fff;
  position: relative;
  z-index: 0;
  counter-increment: listCounter;
  box-shadow: 0 0 8px rgba(102, 85, 45, 0.14);
  padding-inline: 10px;
  padding-block: 14px 20px;
  width: clamp(50% - 7.5px, (600px - 100vw) * 1000, 100%);
}
@media screen and (min-width: 768px) {
  .p-why__card {
    padding-inline: 9px;
    padding-block: 15px 26px;
    width: clamp(33.3333333333% - 11.3333333333px, (960px - 100vw) * 1000, 50% - 17px);
  }
}
.p-why__card::before {
  content: "";
  height: 4px;
  background-image: linear-gradient(to right, #FFE5A8 7%, #CEA950 30%, #CEA950 70%, #FFE5A8 100%);
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-why__card::before {
    height: 5px;
  }
}
.p-why__card-img {
  position: relative;
  z-index: 0;
}
.p-why__card-img::after {
  content: counter(listCounter, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  font-weight: 700;
  color: #fff;
  background-color: #CEA950;
  width: 36px;
}
@media screen and (min-width: 768px) {
  .p-why__card-img::after {
    width: 1.7916666667em;
  }
}
.p-why__card-content {
  padding-inline: 10px;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .p-why__card-content {
    margin-top: 14px;
  }
}
.p-why__card-ttl {
  font-weight: 600;
  text-align: center;
}
.p-why__card-desc {
  font-weight: 400;
  margin-top: 10px;
  line-height: 1.7;
  margin-top: 6px;
}

.p-ideal {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-ideal {
    margin-top: 64px;
  }
}
.p-ideal__inner {
  background-color: #F9FAFF;
  padding-block: 60px;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .p-ideal__inner {
    padding-block: 101px 100px;
    padding-inline: 40px;
  }
}
.p-ideal__box {
  margin-inline: auto;
  background-color: #fff;
  width: 100%;
  font-weight: 600;
  padding-inline: 20px;
  padding-block: 20px;
  padding-inline: 20px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .p-ideal__box {
    max-width: 666px;
    padding-inline: 30px;
    margin-top: 32px;
    padding-block: 16px 18px;
  }
}
.p-ideal__list {
  display: table;
  margin-inline: auto;
  line-height: 2;
}
.p-ideal__check {
  position: relative;
  z-index: 0;
  padding-left: 25px;
}
@media screen and (min-width: 768px) {
  .p-ideal__check {
    padding-inline: 33px clamp(0rem, 12.8906vw + -6.1875rem, 2.0625rem);
  }
}
.p-ideal__check::before {
  content: "";
  aspect-ratio: 1;
  background: url(../images/recruit/icon_rect_check.svg) center/contain no-repeat;
  top: 0;
  left: 0;
  position: absolute;
  top: 0.5em;
  width: 1.125em;
}
.p-ideal__underline {
  border-bottom: 5px solid #DDE8FF;
}
.p-ideal__desc {
  font-weight: 500;
  line-height: 1.7;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-ideal__desc {
    text-align: center;
    margin-top: 30px;
  }
}

.p-interview {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-interview {
    margin-top: 101px;
  }
}
.p-interview__list {
  margin-inline: auto;
  counter-reset: interviewCounter;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-interview__list {
    max-width: 954px;
    margin-top: 41px;
  }
}

.p-person {
  counter-increment: interviewCounter;
}
@media screen and (min-width: 768px) {
  .p-person {
    display: flex;
    gap: 30px;
  }
}
.p-person:not(:last-child) {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(9, 49, 107, 0.16);
}
@media screen and (min-width: 768px) {
  .p-person:not(:last-child) {
    padding-bottom: 23px;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-person:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  .p-person:nth-child(even) .p-person__info {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-person--02 .p-person__ttl {
    margin-top: 13px;
    padding-right: 19px;
  }
}
@media screen and (min-width: 768px) {
  .p-person--02 .p-person__desc {
    padding-block: 14px 18px;
    margin-top: 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-person--02 .p-person__tag02 {
    padding-inline: 22px;
  }
}
@media screen and (min-width: 768px) {
  .p-person--03 .p-person__ttl {
    margin-top: 11px;
    padding-right: 29px;
  }
}
@media screen and (min-width: 768px) {
  .p-person--03 .p-person__desc {
    padding-block: 14px 18px;
  }
}
@media screen and (min-width: 768px) {
  .p-person--03 .p-person__tag02 {
    padding-inline: 10px;
  }
}
.p-person__content {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-person__content {
    margin-top: 0;
  }
}
.p-person__img {
  flex-shrink: 0;
  text-align: center;
  width: 70%;
  margin-inline: auto;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-person__img {
    width: min(300px, 35%);
    margin-inline: unset;
    margin-top: 0;
  }
}
.p-person__img img {
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  .p-person__img img {
    max-width: 100%;
  }
}
.p-person__order {
  text-transform: capitalize;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  color: rgba(9, 49, 107, 0.7);
  font-weight: 500;
  display: block;
}
.p-person__order::after {
  content: counter(interviewCounter, decimal-leading-zero);
  margin-left: 4px;
}
.p-person__ttl {
  color: #09316B;
  font-weight: 600;
  display: table;
  position: relative;
  z-index: 0;
  margin-top: 7px;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .p-person__ttl {
    padding-inline: 25px 34px;
  }
}
.p-person__ttl::after, .p-person__ttl::before {
  position: absolute;
  font-size: 2.2777777778em;
  font-weight: 600;
  color: rgba(9, 49, 107, 0.3);
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  top: 0;
}
.p-person__ttl::before {
  content: "“";
  left: 0;
}
.p-person__ttl::after {
  content: "”";
  right: 0;
}
.p-person__desc {
  background-color: #F9FAFF;
  color: #000;
  font-weight: 400;
  padding: 20px;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-person__desc {
    padding-inline: 25px 23px;
    padding-block: 21px 25px;
    margin-top: 20px;
  }
}
.p-person__info {
  display: table;
  margin-left: auto;
  font-weight: 500;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-person__info {
    margin-top: 16px;
  }
}
.p-person__name {
  color: #09316B;
}
.p-person__tags {
  display: flex;
  margin-top: 5px;
}
.p-person__tag01, .p-person__tag02 {
  min-height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-person__tag01 {
  background-color: #09316B;
  color: #fff;
  padding-inline: 10px;
}
@media screen and (min-width: 768px) {
  .p-person__tag01 {
    padding-inline: 17px;
    min-width: 144px;
  }
}
.p-person__tag02 {
  min-width: 64px;
  padding-inline: 10px;
  color: #000;
  border: 1px solid #D9D9D9;
}
@media screen and (min-width: 768px) {
  .p-person__tag02 {
    padding-inline: 20px;
  }
}

.p-position {
  background-color: #FFFDF7;
  margin-top: 60px;
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-position {
    margin-top: 100px;
    padding-block: 103px 100px;
  }
}
@media screen and (min-width: 768px) {
  .p-position__lead {
    margin-top: 42px;
  }
}
.p-position__list {
  display: grid;
  margin-top: 30px;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-position__list {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    margin-top: 44px;
  }
}
.p-position__item {
  background-color: #FAF5E8;
  border: 1px solid #DED9CA;
  padding-inline: 20px;
  padding-block: 20px;
}
@media screen and (min-width: 768px) {
  .p-position__item {
    padding-inline: 17px;
    padding-block: 19px 20px;
  }
}
.p-position__item:nth-child(even) {
  border-color: #CAD9E8;
  background-color: #F6F9FC;
}
@media screen and (min-width: 768px) {
  .p-position__item--px24 {
    padding-inline: 24px;
  }
}
@media screen and (min-width: 768px) {
  .p-position__item--px30 {
    padding-inline: 30px;
  }
}
.p-position__item-head {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .p-position__item-head {
    font-size: 1.2006rem;
    gap: 20px;
  }
}
.p-position__item-icon {
  width: 50px;
}
@media screen and (min-width: 768px) {
  .p-position__item-icon {
    width: 55px;
  }
}
.p-position__item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .p-position__item-tags {
    gap: 8px;
    margin-top: 14px;
  }
}
.p-position__item-tag {
  border: 1px solid #C4C7D7;
  border-radius: 3px;
  color: #3C3C3C;
  font-weight: 500;
  background-color: #fff;
  padding-inline: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: 9px;
  padding-block: 2px;
}
@media screen and (min-width: 768px) {
  .p-position__item-tag {
    min-height: 29px;
  }
}

.p-preferred {
  background-color: #F9FAFF;
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-preferred {
    padding-block: 98px 100px;
  }
}
@media screen and (min-width: 768px) {
  .p-preferred__lead {
    margin-top: 42px;
  }
}
.p-preferred__list {
  display: grid;
  margin-inline: auto;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-preferred__list {
    gap: 34px;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    margin-top: 44px;
    max-width: 1155px;
  }
}
.p-preferred__item {
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  padding-inline: 20px;
  padding-block: 20px;
}
@media screen and (min-width: 768px) {
  .p-preferred__item {
    padding-inline: 26px;
    padding-block: 30px 28px;
  }
}
.p-preferred__item-head {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-preferred__item-head {
    gap: 19px;
    margin-bottom: 19px;
  }
}
.p-preferred__item-icon {
  width: 51px;
}
@media screen and (min-width: 768px) {
  .p-preferred__item--experience {
    padding-inline: clamp(1.875rem, 5.8594vw + -0.9375rem, 2.8125rem);
  }
}
@media screen and (min-width: 768px) {
  .p-preferred__item--experience .p-preferred__item-head {
    padding-left: 13px;
  }
}
@media screen and (min-width: 768px) {
  .p-preferred__item--experience .p-preferred__item-lead {
    gap: 10px;
  }
}
.p-preferred__item-lead {
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.p-preferred__item-role {
  line-height: 1;
  margin-top: 1px;
}
@media screen and (min-width: 768px) {
  .p-preferred__item-role {
    margin-top: 0;
  }
}
.p-preferred__experience {
  font-weight: 500;
  color: #222222;
}
.p-preferred__experience-icon img {
  width: auto;
}
.p-preferred__experience-feature {
  background-color: #F6F9FC;
  display: flex;
  align-items: center;
  padding-right: 10px;
  min-height: 50px;
}
@media screen and (min-width: 768px) {
  .p-preferred__experience-feature {
    gap: 10px;
    min-height: 52px;
  }
}
.p-preferred__experience-feature:not(:last-child) {
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-preferred__experience-feature:not(:last-child) {
    margin-bottom: 8px;
  }
}
.p-preferred__experience-icon {
  flex-shrink: 0;
  text-align: center;
  width: 80px;
}
@media screen and (min-width: 768px) {
  .p-preferred__experience-icon {
    width: 102px;
  }
}
.p-preferred__qualification {
  font-weight: 500;
  display: grid;
  gap: 5px;
  color: #222222;
}
@media screen and (min-width: 768px) {
  .p-preferred__qualification {
    grid-template-columns: repeat(auto-fit, minmax(max(210px, 40%), 1fr));
    gap: 13px 14px;
  }
}
.p-preferred__qualification-icon {
  text-align: center;
  flex-shrink: 0;
  min-width: 80px;
}
@media screen and (min-width: 768px) {
  .p-preferred__qualification-icon {
    width: 68px;
    min-width: 0;
  }
}
.p-preferred__qualification-icon img {
  width: auto;
}
.p-preferred__qualification-feature {
  background-color: #FBF9F1;
  display: flex;
  align-items: center;
  line-height: 1.5;
  min-height: 50px;
}
@media screen and (min-width: 768px) {
  .p-preferred__qualification-feature {
    padding-right: 10px;
    height: 56px;
  }
}
.p-preferred__desc {
  color: #09316B;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-preferred__desc {
    margin-top: 64px;
    text-align: center;
  }
}

.p-player {
  background-color: #182447;
  color: #fff;
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-player {
    padding-block: 81px 84px;
  }
}
.p-player__lead {
  line-height: 1.8;
}
.p-player__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 60px 20px;
  margin-top: 70px;
}
@media screen and (min-width: 768px) {
  .p-player__list {
    gap: 32px;
    margin-top: 93px;
  }
}
.p-player__item {
  color: #182447;
  background-color: #fff;
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  padding-inline: 10px;
  min-height: 110px;
  min-width: 150px;
  padding-top: 30px;
  border: 1px solid #D9D9D9;
}
@media screen and (min-width: 768px) {
  .p-player__item {
    padding-top: 20px;
    min-width: 179px;
    min-height: 143px;
  }
}
.p-player__item-icon {
  position: absolute;
  transform: translateY(-50%);
  top: 0;
  width: 80px;
}
@media screen and (min-width: 768px) {
  .p-player__item-icon {
    transform: translateY(-48%);
    width: 89px;
  }
}
.p-player__more {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-player__more {
    margin-top: 49px;
    gap: 37px;
  }
}
.p-player__more .c-btn01 {
  background: linear-gradient(90deg, #002182 0%, #2646A2 100%);
  min-width: 300px;
}
@media screen and (min-width: 768px) {
  .p-player__more .c-btn01__link {
    gap: 15px;
    padding-left: 10px;
  }
}

.p-flow {
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-flow {
    padding-block: 101px 74px;
  }
}
@media screen and (min-width: 768px) {
  .p-flow__lead {
    margin-top: 43px;
  }
}
.p-flow__list {
  margin-inline: auto;
  counter-reset: stepCounter;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-flow__list {
    max-width: 1000px;
    margin-top: 44px;
  }
}
.p-flow__step {
  counter-increment: stepCounter;
  background-color: #F6F9FC;
  border: 1px solid #CBCDDB;
}
@media screen and (min-width: 768px) {
  .p-flow__step {
    display: flex;
  }
}
.p-flow__step:not(:last-child) {
  position: relative;
  z-index: 0;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-flow__step:not(:last-child) {
    margin-bottom: 26px;
  }
}
.p-flow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 10px solid #09316B;
  top: calc(100% + 6px);
  left: calc(50% - 20px);
}
@media screen and (min-width: 768px) {
  .p-flow__step:not(:last-child)::after {
    border-left-width: 24px;
    border-right-width: 24px;
    border-top-width: 11px;
    left: calc(50% - 35px);
    top: calc(100% + 8px);
  }
}
.p-flow__step:nth-child(even) {
  background-color: #FCFBF6;
}
.p-flow__step-head {
  background-color: #09316B;
  color: #fff;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-inline: 10px;
  padding-block: 15px;
}
@media screen and (min-width: 768px) {
  .p-flow__step-head {
    width: min(162px, 20%);
  }
}
.p-flow__step-order {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .p-flow__step-order {
    gap: 7px;
    position: relative;
    left: -2px;
  }
}
.p-flow__step-order::after {
  content: counter(stepCounter, decimal-leading-zero);
}
.p-flow__step-body {
  display: flex;
  gap: 20px;
  padding-inline: 15px;
  padding-block: 20px;
}
@media screen and (min-width: 768px) {
  .p-flow__step-body {
    gap: 26px;
    padding-inline: 24px 25px;
    padding-block: 22px 22px;
  }
}
.p-flow__step-icon {
  flex-shrink: 0;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  margin-block: auto;
  width: 75px;
}
@media screen and (min-width: 768px) {
  .p-flow__step-icon {
    width: 92px;
  }
}
.p-flow__step-ttl {
  font-weight: 700;
  color: #09316B;
}
.p-flow__step-desc {
  font-weight: 400;
  line-height: 1.5;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .p-flow__step-desc {
    margin-top: 14px;
  }
}
.p-flow__desc {
  font-weight: 700;
  line-height: 1.5;
  color: #09316B;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-flow__desc {
    margin-top: 60px;
    text-align: center;
  }
}

.p-faq {
  background-color: #FFFDF7;
  padding-block: 60px;
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-block: 100px 100px;
  }
}
.p-faq__inner {
  gap: 50px 30px;
}
@media screen and (min-width: 768px) {
  .p-faq__inner {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__head {
    flex-shrink: 0;
    width: min(409px, 35%);
    min-width: max-content;
    padding-top: 31px;
  }
}
.p-faq__lead {
  font-weight: 400;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-faq__lead {
    margin-top: 46px;
  }
}
.p-faq__list {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-faq__list {
    margin-top: 0;
    flex: 460px;
  }
}
.p-faq__item {
  border: 1px solid #CBCDDB;
}
.p-faq__item:not(:last-child) {
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-faq__item:not(:last-child) {
    margin-bottom: 6px;
  }
}
.p-faq__question {
  background-color: #fff;
  line-height: 1.5;
  font-weight: 700;
  color: #09316B;
  display: flex;
  padding-inline: 15px;
  padding-block: 15px;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-faq__question {
    padding-inline: 18px;
    padding-block: 15px;
    gap: 12px;
  }
}
.p-faq__question::before {
  content: "Q.";
  line-height: 1;
  font-family: "Zen Old Mincho", serif;
}
.p-faq__question-lead {
  margin-block: auto;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-faq__question-lead {
    padding-top: 3px;
  }
}
.p-faq__answer {
  color: #12120F;
  background-color: #FBF7E7;
}
@media screen and (min-width: 768px) {
  .p-faq__answer {
    min-height: 81px;
  }
}
.p-faq__answer-inner {
  font-weight: 400;
  line-height: 1.5;
  display: flex;
  padding-inline: 15px;
  padding-block: 15px;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-faq__answer-inner {
    padding-inline: 18px;
    padding-block: 16px 17px;
    gap: 12px;
  }
}
.p-faq__answer-inner::before {
  content: "A.";
  line-height: 1;
  font-family: "Zen Old Mincho", serif;
  color: #CEA950;
}
.p-faq__answer-desc {
  margin-block: auto;
}
.p-faq__btn {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-faq__btn {
    margin-top: 72px;
  }
}
.p-faq__btn a {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .p-faq__btn a {
    min-width: 444px;
  }
}
.p-faq__btn .c-footer-contact__btn-text {
  margin-inline: 12px;
}
@media screen and (min-width: 768px) {
  .p-faq__btn .c-footer-contact__btn-text {
    position: relative;
    top: 2px;
    margin-inline: 13px;
  }
}
.p-faq__btn .c-footer-contact__btn-icon {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-faq__btn .c-footer-contact__btn-icon {
    margin-top: 7px;
  }
}
.p-faq__btn .c-footer-contact__btn-arrow {
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .p-faq__btn .c-footer-contact__btn-arrow {
    margin-top: 3px;
  }
}
