/* Sass Document */
#l-main {
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
*	servide
* --------------------------------------------------------------------------------------------------*/
.p-main-service__content {
  padding-bottom: 14rem;
}
@media screen and (max-width: 767.98px) {
  .p-main-service__content {
    padding-bottom: 16rem;
  }
}

.p-mrc {
  background-color: #e0e0e0;
  padding-top: 11.1rem;
  padding-bottom: 10.9rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrc {
    padding-inline: 3.4rem;
    padding-top: 9.1rem;
    padding-bottom: 5.6rem;
  }
}

.p-mrc__ttl {
  text-align: center;
  font-weight: 400;
}
.p-mrc__ttl .u-en,
.p-mrc__ttl .u-jp {
  display: block;
}
.p-mrc__ttl .u-en {
  font-size: 5rem;
}
.p-mrc__ttl .u-jp {
  font-size: 2.6rem;
  margin-top: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrc__ttl .u-jp {
    font-size: 2.8rem;
  }
}

.p-mrc__img-wrapper {
  max-width: 90.2rem;
  margin: 5.7rem auto 4.4rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrc__img-wrapper {
    margin-top: 3.8rem;
    margin-bottom: 5rem;
  }
}

.c-mrc__txt {
  font-size: 1.6rem;
  max-width: 89rem;
  margin-inline: auto;
  text-align: center;
  line-height: 2.4375;
}
@media screen and (max-width: 767.98px) {
  .c-mrc__txt {
    font-size: 2.6rem;
    line-height: 2.1538461538;
    text-align: left;
  }
}

.p-cause {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-cause {
    background-color: #f8f8f8;
    padding-bottom: 3.5rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-cause::after {
    left: 0;
    right: 0;
    top: -1px;
    content: "";
    position: absolute;
    width: 100%;
    background-color: #e0e0e0;
    height: 43rem;
  }
}
.p-cause .c-catch {
  margin-top: 3.1rem;
  text-align: center;
}

.p-balloon {
  width: 96.6rem;
  margin: 0 auto -1rem;
  background-color: #fff;
  border-radius: 1rem;
  text-align: center;
  color: #c5161d;
  padding: 2.2rem 1rem;
  position: relative;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 767.98px) {
  .p-balloon {
    padding-top: 3rem;
    width: 64.8rem;
    margin-bottom: 7.2rem;
    margin-inline: auto;
    transform: translateY(0);
  }
}
.p-balloon::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin-inline: auto;
  height: 3.5rem;
  width: 4.2rem;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #fff;
}
.p-balloon .txt {
  font-size: 2.4rem;
  line-height: 1.3333333333;
  font-weight: 400;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-balloon .txt {
    font-size: 2.8rem;
  }
}
.p-balloon .date {
  font-size: 1.2rem;
  margin-top: 0.5rem;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .p-balloon .date {
    font-weight: 600;
    font-size: 2.2rem;
  }
}

.swiper-slide img {
  width: 100%;
}

.swiper-wrapper {
  /* transition-timing-function: linear !important; */
}

.swiper-button-prev,
.swiper-button-next {
  background-color: rgba(237, 237, 237, 0.8);
  border-radius: 50%;
  width: 10.8rem;
  height: 10.8rem;
}
@media (any-hover) {
  .swiper-button-prev,
.swiper-button-next {
    transition: 0.3s opacity;
  }
  .swiper-button-prev:hover,
.swiper-button-next:hover {
    opacity: 0.7;
  }
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 3.6rem;
  position: absolute;
  color: #c5161d;
  top: 50%;
  transform: translateY(-50%);
}

.swiper-button-prev {
  left: 0;
  transform: translate(-50%, -36%);
}
@media screen and (max-width: 767.98px) {
  .swiper-button-prev {
    transform: translate(-50%, -13%);
  }
}
.swiper-button-prev::after {
  right: 2.5rem;
}

.swiper-button-next {
  right: 0;
  transform: translate(50%, -36%);
}
@media screen and (max-width: 767.98px) {
  .swiper-button-next {
    transform: translate(50%, -13%);
  }
}
.swiper-button-next::after {
  left: 2.5rem;
}

.p-ourservice {
  padding-top: 12.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice {
    padding: 8.6rem 3.4rem 3.6rem;
  }
}

.p-ourservice__list {
  max-width: 120rem;
  margin: 6.7rem auto 0;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__list {
    margin-top: 14.8rem;
  }
}

.p-ourservice__item {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 3.2rem 7.6rem;
  grid-template-areas: "img ttl" "img body";
}
.p-ourservice__item:nth-child(even) {
  grid-template-areas: "ttl img" "body img";
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item {
    display: block;
  }
}
.p-ourservice__item .p-ourservice__ttl {
  grid-area: ttl;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.p-ourservice__item .p-ourservice__ttl .u-en,
.p-ourservice__item .p-ourservice__ttl .u-jp {
  display: block;
}
.p-ourservice__item .p-ourservice__ttl .u-en {
  font-size: 2.8rem;
  color: #c5161d;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__ttl .u-en {
    font-size: 5.2rem;
    line-height: 1;
  }
}
.p-ourservice__item .p-ourservice__ttl .u-jp {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__ttl .u-jp {
    margin-top: 1.5rem;
  }
}
.p-ourservice__item .p-ourservice__img-wrapper {
  grid-area: img;
  width: 50.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__img-wrapper {
    width: 100%;
    margin-top: 4.1rem;
  }
  .p-ourservice__item .p-ourservice__img-wrapper img {
    width: 100%;
  }
}
.p-ourservice__item .p-ourservice__body {
  grid-area: body;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__body {
    padding-top: 4.1rem;
  }
}
.p-ourservice__item .p-ourservice__body .c-ttl {
  font-size: 3rem;
  margin-bottom: 2.5rem;
  line-height: 1.3333333333;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__body .c-ttl {
    font-size: 3.8rem;
    line-height: 1.2105263158;
  }
}
.p-ourservice__item .p-ourservice__body .c-ttl .u-ml {
  margin-left: -0.5em;
}
.p-ourservice__item .p-ourservice__body .c-ttl.u-nowrap {
  margin-inline: -0.5em -3em;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__body .c-ttl.u-nowrap {
    margin-inline: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-ourservice__body p {
    line-height: 1.7692307692;
    font-size: 2.6rem;
  }
}
.p-ourservice__item .p-btn-wrapper {
  margin-top: 2.5rem;
  max-width: 25.6rem;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item .p-btn-wrapper {
    margin-top: 3.8rem;
    max-width: 40.7rem;
  }
  .p-ourservice__item .p-btn-wrapper .c-btn {
    padding-block: 2.4rem;
  }
}
.p-ourservice__item + .p-ourservice__item {
  margin-top: 7.6rem;
}
@media screen and (max-width: 767.98px) {
  .p-ourservice__item + .p-ourservice__item {
    margin-top: 11.3rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	line-marketing
* --------------------------------------------------------------------------------------------------*/
.p-line-marketing__content {
  /* 	padding-bottom: 17.3rem; */
}

.p-heading {
  position: relative;
  z-index: 2;
  margin-bottom: -1px;
}
.p-heading::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 19.4rem;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ededed;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .p-heading::after {
    bottom: auto;
    top: 16rem;
    height: calc(100% - 11rem);
  }
}

.p-sc-line {
  position: absolute;
  z-index: 2;
  height: 19.2rem;
  width: 1px;
  background-color: #c5161d;
  left: calc(50% - 46rem);
  top: 16rem;
}
.p-sc-line::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-radius: 100px;
  background-color: #c5161d;
  bottom: 0;
  left: calc(-0.5rem + 0.5px);
}

.p-heading__inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .p-heading__inner {
    padding-top: 6rem;
  }
}

.p-heading__content {
  width: 92.4rem;
  position: relative;
  left: calc(50% - 24.8rem);
  background-color: #c5161d;
  color: #fff;
  padding: 5.2rem 9.3rem 3.6rem;
  z-index: 1;
}
.p-heading__content::after {
  content: "";
  position: absolute;
  width: 100vw;
  left: calc(100% - 1px);
  height: 100%;
  background-color: #c5161d;
  top: 0;
}
@media screen and (max-width: 767.98px) {
  .p-heading__content::after {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .p-heading__content {
    padding: 6.8rem 3.7rem 6.3rem 5.3rem;
    width: auto;
    margin-inline: 3.4rem;
    left: auto;
  }
}
.p-heading__content .c-ttl {
  font-size: 3.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-heading__content .c-ttl {
    font-size: 4.2rem;
  }
}
.p-heading__content .c-sub-ttl {
  font-size: 2.8rem;
  font-weight: 400;
  margin-top: 2.9rem;
  margin-bottom: 1.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-heading__content .c-sub-ttl {
    font-size: 3.2rem;
    margin-top: 4rem;
    font-family: YuMincho, "Noto Serif JP", serif;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .p-heading__content p {
    line-height: 2;
  }
}

.p-assignment {
  background-color: #ededed;
  padding-top: 6.6rem;
  padding-bottom: 9.8rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767.98px) {
  .p-assignment {
    padding: 7.7rem 3.4rem 10rem;
  }
}
.p-assignment::before, .p-assignment::after {
  content: "";
  position: absolute;
}
.p-assignment::before {
  height: 10.8rem;
  width: 10.8rem;
  border-radius: 100px;
  left: 0;
  right: 0;
  margin-inline: auto;
  bottom: -3.1rem;
  background-color: #ededed;
}
@media screen and (max-width: 767.98px) {
  .p-assignment::before {
    bottom: -4.5rem;
  }
}
.p-assignment::after {
  width: 2.3rem;
  height: 2.3rem;
  border-bottom: 3px solid #c5161d;
  border-right: 3px solid #c5161d;
  left: 0;
  right: 0;
  margin-inline: auto;
  bottom: -0.9rem;
  transform: rotate(45deg);
}
@media screen and (max-width: 767.98px) {
  .p-assignment::after {
    border-width: 1px;
    bottom: -2.3rem;
  }
}

.p-assignment__list {
  display: flex;
  margin-top: 4.2rem;
  gap: 0 1.25%;
}
@media screen and (max-width: 767.98px) {
  .p-assignment__list {
    display: block;
  }
}

.p-assignment__item {
  min-height: 15.6rem;
  display: grid;
  place-content: center;
  width: 24.0833333333%;
  background-color: #f8f8f8;
  color: #222222;
}
@media screen and (max-width: 767.98px) {
  .p-assignment__item {
    min-height: 17.8rem;
    width: 100%;
  }
  .p-assignment__item + .p-assignment__item {
    margin-top: 3rem;
  }
}
.p-assignment__item p {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 400;
  line-height: 1.5;
}
.p-assignment__item p .u-lh {
  line-height: 1.8;
}
@media screen and (max-width: 767.98px) {
  .p-assignment__item p {
    font-size: 2.6rem;
    line-height: 1.4;
  }
}
.p-assignment__item p .u-marker {
  font-size: 1.8rem;
  display: inline-block;
  padding: 0 0.2em;
  background: linear-gradient(180deg, rgba(239, 235, 144, 0) 5%, rgb(239, 235, 144) 5%, rgb(239, 235, 144) 100%);
}
@media screen and (max-width: 767.98px) {
  .p-assignment__item p .u-marker {
    font-size: 3rem;
    background: linear-gradient(180deg, rgba(239, 235, 144, 0) 5%, rgb(239, 235, 144) 5%, rgb(239, 235, 144) 95%, rgba(239, 235, 144, 0) 95%);
  }
  .p-assignment__item p .u-marker.u-spmarker--l {
    padding-left: 0;
  }
  .p-assignment__item p .u-marker.u-spmarker--r {
    padding-right: 0;
  }
}

.p-assignment__content {
  max-width: 120rem;
  margin-inline: auto;
}
.p-assignment__content .c-ttl {
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-assignment__content .c-ttl {
    font-size: 4.2rem;
    text-align: center;
  }
}
.p-assignment__content .c-ttl span {
  position: relative;
}
.p-assignment__content .c-ttl span::after {
  content: "";
  position: absolute;
  left: calc(100% + 2rem);
  width: 16.6rem;
  background-color: #222222;
  height: 1px;
  top: 0.8em;
}
@media screen and (max-width: 767.98px) {
  .p-assignment__content .c-ttl span::after {
    display: none;
  }
}

.l-content__inner {
  max-width: 120rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .l-content__inner {
    padding: 0 3.4rem;
  }
}

.p-lm__detail {
  padding-top: 21.8rem;
  padding-bottom: 16.9rem;
}
@media screen and (max-width: 767.98px) {
  .p-lm__detail {
    padding-top: 15rem;
    padding-bottom: 19rem;
  }
}

.p-media {
  display: flex;
  gap: 0 9.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-media {
    display: block;
  }
}
.p-media:nth-of-type(odd) {
  flex-direction: row-reverse;
}
.p-media:nth-of-type(2) .p-media__body {
  padding-top: 2.9rem;
}
@media screen and (max-width: 767.98px) {
  .p-media:nth-of-type(2) .p-media__body {
    padding-top: 0;
  }
}
.p-media + .p-media {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-media + .p-media {
    margin-top: 9.2rem;
  }
}
.p-media:nth-of-type(3) {
  margin-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  .p-media:nth-of-type(3) {
    margin-top: 9.2rem;
  }
}
.p-media:nth-of-type(3) .p-media__body {
  padding-top: 2.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-media:nth-of-type(3) .p-media__body {
    padding-top: 0;
  }
}

.p-media__img-wrapper {
  width: 50.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .p-media__img-wrapper {
    margin-top: 3rem;
    width: 100%;
  }
  .p-media__img-wrapper img {
    width: 100%;
  }
}

.p-media__body {
  flex-grow: 1;
}
.p-media__body .c-ttl {
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 2.2rem;
}
.p-media__body .c-ttl .u-ml {
  margin-left: -0.5em;
}
@media screen and (max-width: 767.98px) {
  .p-media__body .c-ttl {
    font-size: 3.8rem;
  }
}
.p-media__body p {
  line-break: strict;
}
.p-media__body p + p {
  margin-top: 1em;
}

.p-service__detail {
  background-color: #ededed;
  padding-top: 9.7rem;
  padding-bottom: 17.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-service__detail {
    padding-top: 0;
    padding-bottom: 14.3rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	sevice-content
* --------------------------------------------------------------------------------------------------*/
.p-service__content {
  display: flex;
  max-width: 120rem;
  margin-inline: auto;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767.98px) {
  .p-service__content {
    display: block;
  }
}

.p-sidemenu {
  position: -webkit-sticky;
  position: sticky;
  top: 14rem;
}
@media screen and (max-width: 767.98px) {
  .p-sidemenu {
    display: none;
  }
}

.p-sidemenu__ttl {
  font-size: 2rem;
  font-weight: 400;
}

.p-sidemenu__list {
  margin-top: 2.4rem;
}

.p-sidemenu__item + .p-sidemenu__item {
  margin-top: 0.8rem;
}
.p-sidemenu__item.c-current a {
  border-color: #c5161d;
  color: #c5161d;
}
.p-sidemenu__item a {
  display: inline-block;
  color: currentColor;
  text-decoration: none;
  padding: 0.3rem 1.6rem;
  font-weight: 400;
  border: 1px solid transparent;
  border-radius: 100px;
  letter-spacing: 0.03em;
}
@media (any-hover) {
  .p-sidemenu__item a {
    transition: 0.3s opacity;
  }
  .p-sidemenu__item a:hover {
    opacity: 0.7;
  }
}

.p-service__body {
  flex-grow: 1;
  max-width: 86.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-service__body {
    padding: 5rem 3.4rem 0;
    background-color: #ededed;
  }
}

.p-content + .p-content {
  margin-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  .p-content + .p-content {
    margin-top: 10rem;
  }
}
.p-content .c-section__ttl {
  padding-bottom: 4.2rem;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767.98px) {
  .p-content .c-section__ttl {
    text-align: center;
    border-color: #d6d5d5;
  }
}

.p-block__body {
  margin-top: 3.2rem;
}
.p-block__body .c-heading__txt {
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .p-block__body {
    margin-top: 5rem;
  }
}

.p-features__list {
  margin-top: 3.9rem;
}

.p-features__item {
  display: flex;
  border: 1px solid #707070;
  padding: 2rem 6rem 4rem;
  background-color: #fff;
  gap: 0 4.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-features__item {
    margin-top: 9rem;
    border-radius: 2rem;
    display: block;
    padding: 5rem 5rem 4rem;
  }
}
.p-features__item + .p-features__item {
  margin-top: 2.7rem;
}
@media screen and (max-width: 767.98px) {
  .p-features__item + .p-features__item {
    margin-top: 9rem;
  }
}

#contact {
  margin-top: 8.7rem;
}

.p-features__img-wrapper {
  width: 20.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .p-features__img-wrapper {
    width: 27rem;
    margin: -9rem auto 2rem;
  }
}

.p-features__body {
  padding-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-features__body {
    padding-top: 0;
  }
}
.p-features__body .c-ttl {
  font-size: 2.3rem;
  font-weight: 400;
  margin-bottom: 1.2rem;
  line-height: 1.6;
}
@media screen and (max-width: 767.98px) {
  .p-features__body .c-ttl {
    font-size: 3.2rem;
    margin-bottom: 0.7rem;
  }
}
.p-features__body p {
  color: #c5161d;
  line-height: 1.625;
}
@media screen and (max-width: 767.98px) {
  .p-features__body p {
    line-height: 1.6153846154;
  }
}

.p-flow__list {
  margin-top: 3.6rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-flow__list {
    margin-top: 5rem;
  }
}
.p-flow__list::after {
  content: "";
  position: absolute;
  left: 6.6rem;
  height: calc(100% - 4rem);
  width: 1px;
  background-color: #707070;
  top: 2rem;
  z-index: 1;
}

.p-flow__item {
  display: flex;
  align-items: center;
  gap: 0 2.9rem;
  position: relative;
  z-index: 2;
}
.p-flow__item + .p-flow__item {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow__item + .p-flow__item {
    margin-top: 6.8rem;
  }
}
.p-flow__item.c-current .c-num {
  background-color: #c5161d;
  color: #fff;
}
.p-flow__item .c-num {
  display: grid;
  width: 13.2rem;
  height: 13.2rem;
  place-content: center;
  border-radius: 1000px;
  background-color: #fff;
  border: 1px solid #707070;
  font-size: 3.2rem;
  font-weight: 600;
  color: #c5161d;
  flex-shrink: 0;
}

.p-flow__body .c-ttl {
  font-size: 2.3rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow__body .c-ttl {
    font-size: 2.8rem;
  }
}
.p-flow__body p {
  color: #c5161d;
  line-break: strict;
}
@media screen and (max-width: 767.98px) {
  .p-flow__body p {
    line-height: 1.3846153846;
  }
}

.p-faq__content + .p-faq__content {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-faq__content + .p-faq__content {
    margin-top: 4.3rem;
  }
}

.p-question {
  font-size: 2.3rem;
  font-weight: 400;
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .p-question {
    font-size: 2.8rem;
  }
}
.p-question .c-icn {
  display: inline-block;
  margin-right: 1rem;
  flex-shrink: 0;
}

.p-answer {
  padding: 1.8rem 0 0 3.6rem;
}
@media screen and (max-width: 767.98px) {
  .p-answer {
    font-size: 2.6rem;
    line-height: 1.6153846154;
  }
}

#contact .c-txt--large {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767.98px) {
  #contact .c-txt--large {
    font-size: 2.6rem;
    text-align: center;
    line-height: 1.7692307692;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
#contact .p-btn-wrapper {
  margin-top: 2.6rem;
  max-width: 25.6rem;
}
@media screen and (max-width: 767.98px) {
  #contact .p-btn-wrapper {
    margin: 5rem auto 0;
    max-width: 40.7rem;
  }
}

@layer components {
  #contact .c-btn {
    background-color: #fff;
  }
}
.p-penglue {
  margin-top: 4.6rem;
}
.p-penglue p {
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 767.98px) {
  .p-penglue p {
    font-size: 3.2rem;
    line-height: 1.4375;
    text-align: center;
  }
}

.p-bnr-wrapper {
  margin-top: 4rem;
}
.p-bnr-wrapper.c-col--2 {
  display: flex;
  gap: 2rem;
}
.p-bnr-wrapper.c-col--2 a {
  width: 39.2rem;
}
@media screen and (max-width: 767.98px) {
  .p-bnr-wrapper.c-col--2 {
    display: block;
  }
  .p-bnr-wrapper.c-col--2 a {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-bnr-wrapper {
    display: block;
    margin-top: 6.9rem;
  }
  .p-bnr-wrapper img {
    width: 100%;
  }
}
.p-bnr-wrapper a {
  display: block;
}
@media screen and (max-width: 767.98px) {
  .p-bnr-wrapper a {
    width: 100%;
  }
  .p-bnr-wrapper a + a {
    margin-top: 3.3rem;
  }
}
@media (any-hover) {
  .p-bnr-wrapper a {
    transition: 0.3s opacity;
  }
  .p-bnr-wrapper a:hover {
    opacity: 0.7;
  }
}

.p-content {
  scroll-margin-top: 14rem;
}

/* ----------------------------------------------------------------------------------------------------
*	mrm
* --------------------------------------------------------------------------------------------------*/
.p-service-mrm {
  position: relative;
  background-color: #f8f8f8;
}

.p-service-mrm__content {
  background-color: #c5161d;
  padding-top: 7.1rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-service-mrm__content {
    padding: 10.4rem 3.4rem 7rem;
  }
}

.p-service-mrm__inner {
  max-width: 120rem;
  margin-inline: auto;
  text-align: center;
  padding-bottom: 17.9rem;
}
.p-service-mrm__inner .c-txt {
  font-size: 1.6rem;
  line-height: 2.4375;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-service-mrm__inner .c-txt {
    font-size: 3rem;
    text-align: left;
    line-height: 1.7333333333;
  }
}

.p-service-mrm__ttl {
  font-size: 3.6rem;
  font-weight: 500;
  margin-bottom: 1.4rem;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-service-mrm__ttl {
    font-size: 3.8rem;
    margin-inline: calc(50% - 50vw);
  }
}

.p-necessity {
  max-width: 120rem;
  margin-inline: auto;
  background-color: #ededed;
  z-index: 1;
  position: relative;
  text-align: center;
  padding: 3.4rem 2rem 3rem;
  margin-top: -11.2rem;
}
@media screen and (max-width: 767.98px) {
  .p-necessity {
    padding: 5rem 3.8rem;
    position: relative;
    transform: translateY(0);
    margin: -19rem 3.4rem 0;
  }
}
.p-necessity .c-ttl {
  font-size: 2.6rem;
  font-weight: 400;
  margin-bottom: 0.9rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-necessity .c-ttl {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-necessity p {
    text-align: left;
    line-height: 1.6153846154;
  }
}

.p-mrm__detail {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail {
    padding-block: 5.5rem 7.6rem;
  }
}
.p-mrm__detail .c-txt {
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  color: #c5161d;
  margin-top: 7.5rem;
  line-height: 1.7333333333;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail .c-txt {
    margin-top: 4.9rem;
  }
}

.p-mrm__detail-list {
  max-width: 120rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-list {
    padding-inline: 3.4rem;
  }
}

.p-mrm__detail-item {
  background-color: #fff;
  display: flex;
  padding: 4rem 5rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-item {
    display: block;
    padding: 4.8rem 3.4rem 3.7rem;
  }
}
.p-mrm__detail-item + .p-mrm__detail-item {
  margin-top: 3.2rem;
}
.p-mrm__detail-item + .p-mrm__detail-item .p-mrm__detail-body {
  padding-top: 4.5rem;
}
.p-mrm__detail-item + .p-mrm__detail-item .p-mrm__detail-body .c-ttl.u-en {
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-item + .p-mrm__detail-item {
    margin-top: 4rem;
  }
}
.p-mrm__detail-item .p-list li:not(:last-child) {
  margin-bottom: 8rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-item .p-list li:not(:last-child) {
    margin-bottom: 14.3rem;
  }
}
.p-mrm__detail-item .p-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 2.3rem;
  height: 2.3rem;
  border-bottom: 1px solid #c5161d;
  border-right: 1px solid #c5161d;
  bottom: -5rem;
  left: 3rem;
  transform: rotate(45deg);
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-item .p-list li:not(:last-child)::after {
    border-width: 1.5px;
    width: 3.6rem;
    height: 3.6rem;
    bottom: -8rem;
  }
}

.p-mrm__detail-heading {
  width: 41.8rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding-right: 4.6rem;
  padding-top: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-heading {
    padding: 0 0 1rem 0;
    display: block;
    width: auto;
  }
}
.p-mrm__detail-heading .c-ttl {
  font-family: "din-2014", sans-serif;
  letter-spacing: 0;
  color: #c5161d;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.2352941176;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-heading .c-ttl {
    font-size: 4.5rem;
  }
}
.p-mrm__detail-heading .c-ttl span {
  display: block;
  font-size: 2.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-heading .c-ttl span {
    font-size: 3rem;
    padding-bottom: 0.5rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-heading p {
    line-height: 1.2307692308;
  }
}
.p-mrm__detail-heading .c-icn {
  display: block;
  width: 15.6rem;
  margin-left: auto;
  margin-top: auto;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-heading .c-icn {
    margin-top: 2rem;
    width: 19.4rem;
  }
  .p-mrm__detail-heading .c-icn.u-sp-margin {
    margin-top: -5rem;
    margin-bottom: 1rem;
  }
}

.p-mrm__detail-body {
  flex-grow: 1;
  border-left: 1px solid #c5161d;
  padding: 2.9rem 0 4rem 7.76rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-body {
    padding: 3.3rem 0 0 0;
    border-left: none;
    border-top: 1px solid #c5161d;
  }
}
.p-mrm__detail-body .c-ttl {
  font-size: 2.6rem;
  font-weight: 400;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-body .c-ttl {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-mrm__detail-body p {
    line-height: 1.7692307692;
  }
}
.p-mrm__detail-body p + p {
  margin-top: 2.4em;
}

@media screen and (max-width: 767.98px) {
  #solution {
    margin-top: 4rem;
  }
}

.p-solution__block .c-ttl {
  font-size: 2.3rem;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .p-solution__block .c-ttl {
    font-size: 3.2rem;
  }
}
.p-solution__block .p-list {
  margin-top: 2.5rem;
  max-width: 65.6rem;
}
.p-solution__block .p-list li {
  color: #c5161d;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  padding-left: 2em;
  position: relative;
  line-break: strict;
}
@media screen and (max-width: 767.98px) {
  .p-solution__block .p-list li {
    font-size: 2.6rem;
    padding-left: 0.9em;
  }
}
.p-solution__block .p-list li + li {
  margin-top: 1em;
}
.p-solution__block .p-list li::before {
  content: "";
  left: 0;
  position: absolute;
  top: 0.77em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 100px;
  background-color: #c5161d;
}
@media screen and (max-width: 767.98px) {
  .p-solution__block .p-list li::before {
    width: 0.8rem;
    height: 0.8rem;
    top: 0.75em;
  }
}
.p-solution__block + .p-solution__block {
  margin-top: 5rem;
}

.p-pro__table {
  font-size: 1.6rem;
  line-height: 1.6875;
  overflow: hidden;
  width: 100%;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table {
    font-size: 2.4rem;
    line-height: 1.75;
  }
}
.p-pro__table th,
.p-pro__table td {
  border-bottom: 1px solid #707070;
  padding: 1.2rem 1.7rem 3.5rem;
  line-break: strict;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table th,
.p-pro__table td {
    padding: 2rem;
  }
}
.p-pro__table th {
  background-color: #f8f8f8;
}
.p-pro__table tr:last-of-type th,
.p-pro__table tr:last-of-type td {
  border-bottom: none;
}
.p-pro__table td {
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table td {
    font-size: 2.4rem;
    line-height: 1.75;
    padding-bottom: 4rem;
  }
}
.p-pro__table .u-bg {
  background-color: #fde7e7;
}
.p-pro__table .c-row-heading {
  color: #fff;
  text-align: center;
  font-weight: 400;
  vertical-align: middle;
  padding: 2.2rem 1rem;
  width: 32.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table .c-row-heading {
    width: 29rem;
  }
}
.p-pro__table .c-row-heading.-pro {
  background-color: #c5161d;
}
.p-pro__table .c-row-heading.-cons {
  background-color: #777777;
}
.p-pro__table .c-col-heading {
  font-weight: 400;
  padding: 1.2rem 1.2rem;
  vertical-align: top;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table .c-col-heading {
    padding: 3rem 2rem;
  }
}
.p-pro__table .c-col-heading p {
  line-height: 1.6875;
  font-weight: 400;
}
@media screen and (max-width: 767.98px) {
  .p-pro__table .c-col-heading p {
    line-height: 1.3333333333;
    writing-mode: vertical-rl;
    white-space: nowrap;
    display: grid;
    align-items: center;
    width: 100%;
    text-orientation: upright;
  }
}

.p-casesutudy__item {
  background-color: #fff;
  padding: 4rem 10.4rem 5rem;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item {
    padding: 4.4rem 5.7rem;
  }
}
.p-casesutudy__item .c-ttl {
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
  border-bottom: 1px solid #707070;
  padding-bottom: 2.6rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .c-ttl {
    font-size: 3.2rem;
    padding-bottom: 4.7rem;
    line-height: 1.59375;
  }
}
.p-casesutudy__item .c-ttl span {
  color: #c5161d;
  display: block;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .c-ttl span {
    margin-bottom: 1.5rem;
  }
}
.p-casesutudy__item .p-list {
  margin-top: 3.2rem;
}
.p-casesutudy__item .p-list div {
  display: flex;
  align-items: center;
  gap: 0 2.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .p-list div {
    align-items: flex-start;
  }
}
.p-casesutudy__item .p-list div + div {
  margin-top: 1.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .p-list div + div {
    margin-top: 6rem;
  }
}
.p-casesutudy__item .p-list dt {
  font-size: 1.8rem;
  text-align: center;
  color: #c5161d;
  font-weight: 600;
  border-radius: 100px;
  background-color: #f8f8f8;
  display: grid;
  place-content: center;
  width: 9.4rem;
  height: 9.4rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .p-list dt {
    font-size: 2.4rem;
    width: 12.2rem;
    height: 12.2rem;
  }
}
.p-casesutudy__item .p-list dd {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .p-list dd {
    font-size: 2.6rem;
    line-height: 1.6153846154;
    padding-top: 1rem;
  }
}
.p-casesutudy__item .p-case {
  margin-top: 3.9rem;
  background-color: #f8f8f8;
  border-radius: 1rem;
  padding: 0.2rem 3rem 0.7rem 2.3rem;
  min-height: 8.3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-casesutudy__item .p-case p {
  line-height: 1.6153846154;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item .p-case {
    margin-top: 7rem;
    padding: 1.2rem 2.5rem;
    min-height: 14.2rem;
  }
}
.p-casesutudy__item + .p-casesutudy__item {
  margin-top: 3.3rem;
}
@media screen and (max-width: 767.98px) {
  .p-casesutudy__item + .p-casesutudy__item {
    margin-top: 3rem;
  }
}
/*# sourceMappingURL=service.css.map */