@charset "UTF-8";
html {
  font-size: 16px;
  overflow-x: clip;
  scrollbar-gutter: stable;
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}

/* WordPressリストブロックは左に中黒（・）マーカーを表示する */
.wp-block-list {
  list-style-type: "・";
  padding-left: 1.5rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.l-bread {
  margin-top: 1.25rem;
}
.l-bread.--single {
  margin-top: 8.75rem;
}
.l-bread.--sns {
  margin-top: 4.5rem;
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 25px;
  padding-right: 25px;
  width: 78.125rem;
}

.l-promise__bread {
  margin-top: 2rem;
}

.l-sec {
  padding: 3.75rem 0 5rem;
}
.l-sec01 {
  padding: 3.5rem 0 6.875rem;
}

.c-btn {
  align-items: center;
  border: 2px solid #D9D9D9;
  border: 1px solid;
  border-radius: 0.375rem;
  color: #000;
  display: flex;
  font-size: 1.25rem;
  font-weight: 400;
  justify-content: center;
  line-height: 1.2;
  margin: auto;
  max-width: 100%;
  padding: 0 0.5rem;
  padding: 0.55rem 0.5rem;
  position: relative;
  transition: 0.3s all;
  width: 16.75rem;
}
.c-btn span {
  display: block;
  position: relative;
}
.c-btn.--02 {
  border: unset;
  border-radius: unset;
  justify-content: end;
  padding-right: 3.625rem;
  position: relative;
  width: auto;
}
.c-btn.--02::before {
  -webkit-transform: translateY(-50%);
  background-color: #000;
  border: none;
  content: "";
  display: inline-block;
  height: 1px;
  position: absolute;
  right: 0;
  top: 60%;
  transform: translateY(-50%);
  width: 3.125rem;
}
.c-btn.--02::after {
  -webkit-transform: translateY(-50%) rotate(45deg);
  background-color: #000;
  content: "";
  height: 1px;
  position: absolute;
  right: -1px;
  top: 53%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
}
.c-btn.--white {
  background-color: #fff;
  border: 1px solid #fff;
  color: #000;
  font-size: 1.5rem;
}
.c-btn.--white.--03 {
  font-size: 1.25rem;
}

.c-btn {
  position: relative;
}
.c-btn::before {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1px solid;
  border-right: 1px solid;
  content: "";
  display: inline-block;
  height: 10px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 10px;
}
.c-btn.--pink {
  background-color: #E38EA6;
  border: 1px solid #E38EA6;
  color: #fff;
}
.c-btn.--pink::before {
  background: #E38EA6;
}
.c-btn.--pink::after {
  background: #E38EA6;
}
.c-btn.--green {
  background-color: #7995BE;
  border: 1px solid #7995BE;
  color: #fff;
}
.c-btn.--back {
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.c-btn.--back::before {
  transition: border-color 0.3s;
}
.c-cat {
  background-color: #1E2142;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  min-width: 6.25rem;
  padding: 0.25rem 0.625rem;
  text-align: center;
}

.c-column2 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.c-column2--gap60 {
  gap: 3.75rem;
}

.c-column3 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
}

.c-column4 {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(4, 1fr);
}

.c-headline1__main {
  border-left: 2px solid #1E2142;
  font-size: 1.875rem;
  padding-left: 1.875rem;
}

.c-headline1__sub {
  font-size: 1rem;
  margin-top: 0.875rem;
}

.c-hoverRun {
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: #000;
  display: inline;
  text-decoration: none;
  transition: background-size 0.5s;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #000;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #000;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s ease-in-out;
  width: 100%;
}
.c-imageSlider {
  align-items: stretch;
  aspect-ratio: 717/358;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 538fr) minmax(0, 167fr);
  margin-block: 2rem;
  margin-inline: auto;
  max-width: 44.8125rem;
  width: 100%;
}

.c-imageSlider__col {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.c-imageSlider__col--main {
  background-color: #F1F1F1;
  border-radius: 0.5rem;
}

.c-imageSlider__main,
.c-imageSlider__thumbs {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.c-imageSlider__main .swiper-wrapper {
  height: 100%;
}

.c-imageSlider__main .swiper-slide {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
}

.c-imageSlider__slide img {
  -o-object-fit: contain;
  aspect-ratio: 538/358;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.c-imageSlider__nav {
  -webkit-transform: translateY(-50%);
  align-items: center;
  background-color: rgba(255, 255, 255, 0.85);
  border: none;
  border-radius: 50%;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);
  color: #333;
  cursor: pointer;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  line-height: 1;
  padding-block: 0;
  padding-inline: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color 0.2s ease, opacity 0.2s ease;
  width: 2.5rem;
  z-index: 2;
}

.c-imageSlider__nav:hover {
  background-color: #fff;
}

.c-imageSlider__nav--prev {
  left: 0.75rem;
}

.c-imageSlider__nav--next {
  right: 0.75rem;
}

.c-imageSlider__nav svg {
  fill: currentColor;
  height: 0.875rem;
  pointer-events: none;
  width: 0.875rem;
}

.c-imageSlider__nav.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}

.c-imageSlider__thumbs .swiper-wrapper {
  height: auto;
}

.c-imageSlider__thumbs .swiper-slide {
  aspect-ratio: 3/2;
  background-color: #F1F1F1;
  border-radius: 0.375rem;
  cursor: pointer;
  height: auto;
  opacity: 0.55;
  outline: 2px solid transparent;
  outline-offset: -0.125rem;
  overflow: hidden;
  position: relative;
  transition: opacity 0.2s ease, outline-color 0.2s ease;
}

.c-imageSlider__thumbs .swiper-slide:hover {
  opacity: 0.85;
}

.c-imageSlider__thumbs .swiper-slide-thumb-active {
  opacity: 1;
  outline-color: #1E2142;
}

.c-imageSlider__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.c-imageSlider__notice {
  background-color: #F1F1F1;
  border-radius: 0.25rem;
  color: #333;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  padding-block: 0.5rem;
  padding-inline: 0.75rem;
}

.c-imageSlider--editor .c-imageSlider__main > img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.c-imageSlider--editor .c-imageSlider__thumbs {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.c-imageSlider--editor .c-imageSlider__thumb {
  background-color: #F1F1F1;
  border-radius: 0.375rem;
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  opacity: 0.55;
  outline: 2px solid transparent;
  outline-offset: -0.125rem;
  overflow: hidden;
  position: relative;
}
.c-imageSlider--editor .c-imageSlider__thumb:first-child {
  opacity: 1;
  outline-color: #1E2142;
}
.c-imageSlider--editor .c-imageSlider__thumb > img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.c-imageSlider--editor .c-imageSlider__notice {
  grid-column: 1/-1;
}

.nav-links {
  display: flex;
  justify-content: space-around;
}

.c-imgHover {
  position: relative;
}

.c-imgHover img {
  transition: 0.5s opacity;
  width: 2.25rem;
}

.c-imgHover img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}
.c-imgZoom {
  overflow: hidden;
  position: relative;
}
.c-imgZoom img {
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s;
}
.c-link {
  line-height: 1;
  position: relative;
}

.c-link::after {
  background: url(../img/common/link.svg) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: -0.9375rem;
  top: 0.3em;
  width: 0.625rem;
}

.c-marker {
  background: linear-gradient(transparent 70%, #FCF65F 0%);
  display: inline;
}

.c-relatedPost {
  margin-block: 1.5rem;
}

.c-relatedPost--placeholder {
  background-color: #F1F1F1;
  border: 1px dashed #D9D9D9;
  border-radius: 0.5rem;
  color: #333;
  font-size: 0.8125rem;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  text-align: center;
}

.c-relatedPost .c-relatedPost__link {
  align-items: stretch;
  background-color: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 0.5rem;
  color: #333;
  display: flex;
  gap: 1.25rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  text-decoration: none;
  transition: box-shadow 0.3s ease, -webkit-transform 0.3s ease;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  transition: box-shadow 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-relatedPost__link:hover {
  -webkit-transform: translateY(-0.125rem);
  box-shadow: 6px 6px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.125rem);
}

.c-relatedPost__thumb {
  aspect-ratio: 16/10;
  background-color: #F1F1F1;
  border-radius: 0.25rem;
  flex-shrink: 0;
  overflow: hidden;
  width: 12.5rem;
}

.c-relatedPost__thumbImg {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.c-relatedPost__thumbPlaceholder {
  background: linear-gradient(135deg, #F1F1F1 0%, #D9D9D9 100%);
  display: block;
  height: 100%;
  width: 100%;
}

.c-relatedPost__body {
  flex: 1;
  min-width: 0;
}

.c-relatedPost__meta {
  align-items: center;
  color: #7995BE;
  display: flex;
  font-size: 0.75rem;
  gap: 0.75rem;
}

.c-relatedPost__date {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.04em;
}

.c-relatedPost__cat {
  background-color: #F1F1F1;
  border-radius: 0.25rem;
  color: #333;
  font-size: 0.6875rem;
  padding-block: 0.125rem;
  padding-inline: 0.5rem;
}

.c-relatedPost__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  border-bottom: none;
  display: -webkit-box;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 0.5rem;
  overflow: hidden;
  padding-left: 0;
}
.c-relatedPost__title::before {
  content: none;
}

.c-relatedPost__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #333;
  display: -webkit-box;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-top: 0.5rem;
  overflow: hidden;
}

.c-tag {
  border: 1px solid #D9D9D9;
  color: #000;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
}

.c-underBar {
  display: inline-block;
  position: relative;
}
.c-underBar::before {
  -webkit-transform: translateX(-50%);
  background-color: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.5s;
  width: 100%;
}
.p-access {
  margin-top: 6.25rem;
}

.p-access__address,
.p-access__map-work {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-access__map {
  margin-top: 2.375rem;
}
.p-access__map iframe {
  height: 56.25rem;
  margin: 0 auto;
  max-width: 75rem;
  width: 100%;
}

.p-access__map {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.p-achievements {
  background-image: url("../img/top/top-bg2.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  height: 100%;
  padding-block: 5rem 3.125rem;
  width: 100%;
}

.p-achievements__inner {
  position: relative;
}

.p-achievements__content {
  margin-top: 4.25rem;
}

.p-achievements__items {
  margin: auto;
  max-width: 65.625rem;
}

.p-achievements__item {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 22.5rem 1fr;
  position: relative;
}
.p-achievements__item:hover .p-achievements__img img {
  opacity: 0.85;
}
.p-achievements__item.--02 {
  grid-template-columns: 1fr 0.8fr;
}
.p-achievements__item.--02 > *:first-child {
  order: 2;
}
.p-achievements__item.--02 > *:last-child {
  order: 1;
}
.p-achievements__item:not(:last-of-type) {
  border-bottom: 1px solid #D9D9D9;
}

.p-achievements__item + .p-achievements__item {
  margin-top: 1.25rem;
}

.p-achievements__link {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.p-achievements__img {
  aspect-ratio: 360/270;
  border: 5px solid #E38EA6;
  border-radius: 1.25rem 0 1.25rem 0;
  margin-bottom: 1.125rem;
  overflow: hidden;
  width: 100%;
}
.p-achievements__img img {
  -o-object-fit: cover;
  border-radius: 0.9375rem 0 0.9375rem 0;
  display: block;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
  width: 100%;
}
.p-achievements__img.--white {
  background-color: #fff;
}
.p-achievements__img.--gray {
  border-color: #9DB1CF;
  border-radius: 0 1.25rem 0 1.25rem;
}
.p-achievements__img.--gray img {
  border-radius: 0 0.9375rem 0 0.9375rem;
}

.p-achievements__title {
  align-items: center;
  display: flex;
  font-size: 3.125rem;
  font-weight: 700;
  gap: 1.125rem;
  line-height: 1;
}
.p-achievements__title.--white {
  color: #fff;
}
.p-achievements__title span {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1.25rem;
  line-height: 1.3;
  overflow: hidden;
}

.p-achievements__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  border-bottom: 0.0625rem solid #E38EA6;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-top: 0.9375rem;
  overflow: hidden;
}
.p-achievements__text.--pink {
  color: #E38EA6;
}
.p-achievements__text.--gray {
  border-bottom-color: #9DB1CF;
  color: #9DB1CF;
}
.p-achievements__text.--white {
  color: #fff;
}

.p-achievements__text--detail {
  display: none;
}

.p-achievements__footer {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 0.5rem;
}

.p-achievements__cat {
  align-items: center;
  background-color: #E38EA6;
  color: #fff;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 0.625rem;
  height: 2.125rem;
  justify-content: center;
  width: 10.3125rem;
}
.p-achievements__cat .p-achievements__cat-item + .p-achievements__cat-item::before {
  -webkit-transform: skewX(-20deg);
  content: "／";
  display: inline-block;
  margin-right: 0.375rem;
  transform: skewX(-20deg);
}
.p-achievements__cat.--gray {
  background-color: #9DB1CF;
}

.p-achievements__btn {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

@-webkit-keyframes p-achievements-arrow-stretch-line {
  0%, 100% {
    right: 0;
    width: 3.125rem;
  }
  50% {
    right: -1.125rem;
    width: 4.25rem;
  }
}

@keyframes p-achievements-arrow-stretch-line {
  0%, 100% {
    right: 0;
    width: 3.125rem;
  }
  50% {
    right: -1.125rem;
    width: 4.25rem;
  }
}
@-webkit-keyframes p-achievements-arrow-stretch-head {
  0%, 100% {
    right: -0.0625rem;
  }
  50% {
    right: -1.1875rem;
  }
}
@keyframes p-achievements-arrow-stretch-head {
  0%, 100% {
    right: -0.0625rem;
  }
  50% {
    right: -1.1875rem;
  }
}
.p-achievements__link:hover ~ .p-achievements__body .p-achievements__btn .c-btn.--02::before,
.p-achievements__btn .c-btn.--02:hover::before {
  -webkit-animation: p-achievements-arrow-stretch-line 1.6s ease-in-out infinite;
  animation: p-achievements-arrow-stretch-line 1.6s ease-in-out infinite;
}

.p-achievements__link:hover ~ .p-achievements__body .p-achievements__btn .c-btn.--02::after,
.p-achievements__btn .c-btn.--02:hover::after {
  -webkit-animation: p-achievements-arrow-stretch-head 1.6s ease-in-out infinite;
  animation: p-achievements-arrow-stretch-head 1.6s ease-in-out infinite;
}

.p-achievements__btnArea {
  margin-top: 5rem;
  text-align: center;
}

.p-achievements__ttl {
  color: #9DB1CF !important;
  text-align: left;
}

.p-achievements__ttl span {
  color: #000;
  font-size: 1.25rem !important;
}

.p-articleArea {
  background-color: #1E2142;
  padding-bottom: 7rem;
  padding-top: 5rem;
}

.p-articleArea__title {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  text-align: center;
}

.p-articleArea__content {
  margin-top: 6.875rem;
}

/*
 * 吹き出しブロック（asakura/balloon）
 * Figma 5826:9907 準拠
 *  - 全体フレーム 717 x 62（コンテンツ依存で可変）
 *  - アバター: 62x62 円形（outer 62 / inner 60 で1px ringの見た目）
 *  - テキスト: x=74 / y=10 / w=643 / h=42（20px Regular #333 leading 1.3）
 *  - インラインハイライト: #E2829D（$pink02）
 */
.p-balloon {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  width: 100%;
}

.p-balloon__avatar {
  background-color: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 50%;
  flex: 0 0 3.875rem;
  height: 3.875rem;
  margin: 0;
  overflow: hidden;
  width: 3.875rem;
}
.p-balloon__avatar img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-balloon__text {
  color: #333;
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 0;
  min-width: 0;
}

.p-balloon__hl {
  color: #E2829D;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant セレクタ（p / img / span）の上書きを打ち消す
 */
.p-balloon-block {
  margin-block: 1.5rem;
  position: relative;
}

.p-singlePost__body .p-balloon-block .p-balloon__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0;
}
.p-singlePost__body .p-balloon-block .p-balloon__hl {
  color: #E2829D;
}
.p-singlePost__body .p-balloon-block .p-balloon__avatar img {
  height: 100%;
  margin-top: 0;
}

.p-blogArticles {
  background-color: #fff;
  padding-block: 5rem;
}

.p-blogArticles__grid {
  -webkit-column-gap: 0;
  -moz-column-gap: 0;
  align-items: stretch;
  column-gap: 0;
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 3rem;
}

.p-blogArticles__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: auto;
  min-width: 0;
  padding-inline: 2rem;
  width: 100%;
}
.p-blogArticles__card:nth-child(3n) {
  border-right: none;
}

.p-blogArticles__link {
  color: inherit;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
}
.p-blogArticles__link:hover .p-blogArticles__thumb img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.p-blogArticles__link:hover .p-blogArticles__btn::before {
  width: 100%;
}

.p-blogArticles__thumb {
  background-color: #f2f2f2;
  border-radius: 0.25rem;
  display: block;
  flex-shrink: 0;
  margin: 0;
  position: relative;
  width: 100%;
}
.p-blogArticles__thumb img {
  -o-object-fit: cover;
  -o-object-position: center;
  display: block;
  height: 100%;
  inset: 0;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
}

.p-blogArticles__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.625rem;
}

.p-blogArticles__meta {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.p-blogArticles__cat {
  color: #E38EA6;
  font-size: 1rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.p-blogArticles__divider {
  background-color: #e9e9e9;
  border: 1px solid #ededed;
  display: inline-block;
  flex-shrink: 0;
  height: 0.875rem;
  width: 1px;
}

.p-blogArticles__date {
  color: #333;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.p-blogArticles__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #333;
  display: -webkit-box;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-blogArticles__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #6e6e6e;
  display: -webkit-box;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-blogArticles__btn {
  height: 1.25rem;
  position: relative;
}
.p-blogArticles__btn::before {
  background-color: #E38EA6;
  border-radius: 0.125rem;
  bottom: 0;
  content: "";
  height: 0.1875rem;
  left: 0;
  position: absolute;
  transition: width 0.3s ease;
  width: calc(100% - 1.375rem);
}
.p-blogArticles__btn::after {
  background-color: #E38EA6;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 9' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4.5h16M12.5 1 17 4.5 12.5 8'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem auto;
  content: "";
  height: 1.25rem;
  position: absolute;
  right: 0;
  top: 0;
  width: 1.875rem;
}

.p-blogArticles__empty {
  color: #333;
  font-size: 1rem;
  grid-column: 1/-1;
  padding: 2.5rem 0;
  text-align: center;
}

.p-blogArticles__searchLead {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.04em;
  margin-bottom: 1.5rem;
}
.p-blogArticles__searchLead strong {
  color: #E38EA6;
  font-weight: 700;
}

.p-blogArticles__pagination {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.p-blogArticles__pagination .page-numbers {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  list-style: none;
}
.p-blogArticles__pagination .page-numbers li {
  display: flex;
}
.p-blogArticles__pagination .page-numbers a,
.p-blogArticles__pagination .page-numbers span {
  align-items: center;
  border-radius: 0.625rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  min-width: 2.75rem;
  padding-inline: 0.25rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-blogArticles__pagination .page-numbers a {
  background-color: #E38EA6;
  color: #fff;
}
.p-blogArticles__pagination .page-numbers a:hover {
  opacity: 0.8;
}
.p-blogArticles__pagination .page-numbers .current {
  background-color: #fff;
  border: 1px solid #E38EA6;
  color: #E38EA6;
}
.p-blogArticles__pagination .page-numbers .dots {
  background-color: transparent;
  border: none;
  color: #E38EA6;
}

.p-blogHero {
  background-color: #fff;
  padding-top: 3.125rem;
}

.p-blogHero__inner {
  margin-inline: auto;
  max-width: calc(75rem + 25px * 2);
  padding: 0 25px;
  position: relative;
  width: 100%;
}

.p-blogHero__swiper {
  border-radius: 1.25rem;
  overflow: hidden;
  position: relative;
}

.p-blogHero__slide {
  aspect-ratio: 1200/734;
  background-color: #F1F1F1;
  overflow: hidden;
  position: relative;
}

.p-blogHero__link {
  color: inherit;
  display: block;
  height: 100%;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.p-blogHero__thumb {
  height: 100%;
  inset: 0;
  margin: 0;
  position: absolute;
  width: 100%;
}
.p-blogHero__thumb img {
  -o-object-fit: fill;
  display: block;
  height: 100%;
  object-fit: fill;
  width: 100%;
}
.p-blogHero__thumb::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.35) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.p-blogHero__overlay {
  align-items: flex-start;
  bottom: 3.75rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  left: 1.875rem;
  position: absolute;
  right: 1.875rem;
  z-index: 1;
}

.p-blogHero__title {
  color: #333;
  font-size: 2.1875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  margin: 0;
}
.p-blogHero__title span {
  -webkit-box-decoration-break: clone;
  background-color: #fff;
  box-decoration-break: clone;
  display: inline;
  padding: 0.5rem 1.875rem;
}

.p-blogHero__meta {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  gap: 1rem;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
  margin-top: 1.5rem;
}

.p-blogHero__metaDivider {
  background-color: #fff;
  display: inline-block;
  height: 1.25rem;
  width: 1px;
}

.p-blogHero__date {
  font-family: inherit;
}

.p-blogHero__controls {
  align-items: center;
  bottom: 1.25rem;
  display: flex;
  gap: 1.25rem;
  left: 3.125rem;
  position: absolute;
  z-index: 2;
}

.p-blogHero__pause {
  -webkit-appearance: none;
  align-items: center;
  appearance: none;
  background: transparent;
  border: 3px solid #fff;
  cursor: pointer;
  display: flex;
  gap: 0.25rem;
  height: 2.1875rem;
  justify-content: center;
  padding: 0;
  transition: opacity 0.2s ease;
  width: 1.875rem;
}
.p-blogHero__pause:hover {
  opacity: 0.8;
}
.p-blogHero__pause::before, .p-blogHero__pause::after {
  background-color: #fff;
  content: "";
  display: block;
  height: 0.9375rem;
  width: 0.1875rem;
}

.p-blogHero__pause.is-paused {
  gap: 0;
}
.p-blogHero__pause.is-paused::before {
  background: transparent;
  border-bottom: 0.4375rem solid transparent;
  border-left: 0.625rem solid #fff;
  border-top: 0.4375rem solid transparent;
  height: 0;
  width: 0;
}
.p-blogHero__pause.is-paused::after {
  display: none;
}

.p-blogHero__progress {
  align-items: center;
  display: flex;
  gap: 0.3125rem;
}

.p-blogHero__progressBar {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 0.3125rem;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 4.625rem;
}
.p-blogHero__progressBar span {
  background-color: rgba(255, 255, 255, 0.5);
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}
.p-blogHero__progressBar span::before {
  -webkit-transform-origin: left center;
  -webkit-transform: scaleX(0);
  background-color: #fff;
  content: "";
  inset: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
}

.p-blogHero__progressBar.is-active span::before {
  -webkit-animation: blogHeroProgress var(--blogHeroDelay, 5s) linear forwards;
  animation: blogHeroProgress var(--blogHeroDelay, 5s) linear forwards;
}

.p-blogHero__progressBar.is-passed span::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.p-blogHero__progressBar.is-paused span::before {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

@-webkit-keyframes blogHeroProgress {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}

@keyframes blogHeroProgress {
  from {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
body:has(.p-blogFv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-blogFv {
  background-color: #1E2142;
  background-image: url(../img/blog-fv-bg.webp);
  background-position: center;
  background-size: cover;
  mix-blend-mode: multiply;
  overflow: hidden;
  padding-bottom: 11.25rem;
  padding-top: 12.5rem;
  position: relative;
}

.p-blogFv__inner {
  position: relative;
  z-index: 1;
}

.p-blogFv__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-blogFv__ttl {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  position: relative;
}

.p-blogFv__sub {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 1rem;
}

.p-blogFv--column {
  min-height: 35rem;
  padding-bottom: 1.25rem;
  padding-top: 13.125rem;
}

.p-blogFv--column .p-blogFv__en {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
  margin-bottom: 0;
}

.p-blogFv--column .p-blogFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.28;
}

.p-blogFv--column .p-blogFv__sub {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.125rem;
}

.p-blogFilter {
  background-color: #7995BE;
  padding-bottom: 3rem;
  padding-top: 3rem;
}

.p-blogFilter__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 25px;
}

.p-blogFilter__head {
  align-items: baseline;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.p-blogFilter__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-blogFilter__ja {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
}

.p-blogFilter__group {
  margin-bottom: 1.25rem;
}
.p-blogFilter__group:last-of-type {
  margin-bottom: 0;
}

.p-blogFilter__label {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.625rem;
}

.p-blogFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-blogFilter__tag {
  align-items: center;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 400;
  height: 2.1875rem;
  padding: 0 0.875rem;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.p-blogFilter__tag:hover {
  background-color: #7995BE;
  color: #fff;
}
.p-blogFilter__tag.--active {
  background-color: #1E2142;
  border-color: #1E2142;
  color: #fff;
}

.p-blogFilter__hash {
  margin-right: 0.125rem;
}

.p-blogFilter__reset {
  margin-top: 1.25rem;
}

.p-blogFilter__resetLink {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-blogFilter__resetLink:hover {
  color: #fff;
}

.p-blogArticles__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.25rem;
}

.p-blogArticles__tagPill {
  align-items: center;
  border: 1px solid #7995BE;
  border-radius: 0.75rem;
  color: #7995BE;
  display: inline-flex;
  font-size: 0.75rem;
  height: 1.5rem;
  padding: 0 0.625rem;
  white-space: nowrap;
}

.p-blogSearch {
  background-color: #fff;
}

.p-blogSearch__inner {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}

.p-blogSearch__form {
  border-bottom: 1px solid #E38EA6;
  height: 3.5625rem;
  max-width: 100%;
  position: relative;
  width: 18.75rem;
}

.p-blogSearch__input {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #333;
  font-size: 1rem;
  height: 100%;
  letter-spacing: 0.04em;
  outline: none;
  padding-right: 3.75rem;
  padding-top: 0;
  width: 100%;
}
.p-blogSearch__input::-webkit-input-placeholder {
  color: #D9D9D9;
}
.p-blogSearch__input:-ms-input-placeholder {
  color: #D9D9D9;
}
.p-blogSearch__input::-ms-input-placeholder {
  color: #D9D9D9;
}
.p-blogSearch__input::placeholder {
  color: #D9D9D9;
}
.p-blogSearch__input::-webkit-search-cancel-button, .p-blogSearch__input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.p-blogSearch__btn {
  align-items: center;
  background-color: #E38EA6;
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  padding-block: 0;
  padding-inline: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.2s ease;
  width: 3.125rem;
}
.p-blogSearch__btn:hover {
  opacity: 0.85;
}
.p-blogSearch__btn:focus-visible {
  outline: 2px solid #E38EA6;
  outline-offset: 2px;
}

.p-blogSearch__icon {
  display: block;
  height: 1.5625rem;
  width: 1.5625rem;
}

.p-can {
  background-color: #fff;
  padding-top: 6.25rem;
}

.p-can__inner {
  margin-inline: auto;
  max-width: 81.25rem;
  padding-inline: 1.25rem;
}

.p-can__title {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  text-align: center;
}

.p-can__diagramWrap {
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding-top: 3.75rem;
}

.p-can__diagram {
  -webkit-transform-origin: top center;
  flex-shrink: 0;
  height: 56.875rem;
  position: relative;
  transform-origin: top center;
  width: 69.75rem;
}

.p-can__center {
  align-items: center;
  display: flex;
  height: 20rem;
  justify-content: center;
  left: 23.75rem;
  position: absolute;
  top: 17.625rem;
  width: 20rem;
  z-index: 1;
}

.p-can__diamond {
  -webkit-transform: rotate(45deg);
  background-color: #F8F8F8;
  border: 1px solid #1E2142;
  inset: 0;
  position: absolute;
  transform: rotate(45deg);
  z-index: -1;
}

.p-can__centerLabel {
  color: #1E2142;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  z-index: 2;
}

.p-can__circle {
  align-items: center;
  background-color: #1E2142;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 13.375rem;
  justify-content: center;
  position: absolute;
  width: 13.1875rem;
  z-index: 3;
}

.p-can__circle--top {
  left: 26.75rem;
  top: 7.5625rem;
}

.p-can__circle--right {
  left: 39.4375rem;
  top: 22.8125rem;
}

.p-can__circle--bottom {
  left: 27.1875rem;
  top: 36.25rem;
}

.p-can__circle--left {
  left: 14.0625rem;
  top: 22.8125rem;
}

.p-can__circleText {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.p-can__textBlock {
  position: absolute;
  z-index: 2;
}

.p-can__textTitle {
  color: #333;
  display: inline-block;
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 0;
  position: relative;
}
.p-can__textTitle::after {
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left center;
  background-color: rgb(227, 142, 166);
  bottom: -0.25rem;
  content: "";
  height: 0.1875rem;
  left: 0;
  pointer-events: none;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
}
.p-can__textTitle.is-highlight::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.p-can__textList {
  -webkit-padding-start: 1.75rem;
  list-style: disc;
  margin-top: 2rem;
  padding-inline-start: 1.75rem;
}

.p-can__textItem {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}

.p-can__textBlock--tl {
  left: 0.9375rem;
  top: 7.5625rem;
  width: 18.125rem;
}

.p-can__textBlock--tl::before {
  -webkit-transform-origin: left center;
  background-color: #1E2142;
  content: "";
  height: 1px;
  left: -0.9375rem;
  position: absolute;
  top: 6.25rem;
  transform-origin: left center;
  width: 17.75rem;
}

.p-can__textBlock--tl::after {
  -webkit-transform-origin: top left;
  -webkit-transform: rotate(-11.46deg);
  background-color: #1E2142;
  content: "";
  height: 9.375rem;
  left: 16.75rem;
  position: absolute;
  top: 6.25rem;
  transform: rotate(-11.46deg);
  transform-origin: top left;
  width: 1px;
}

.p-can__textBlock--tr {
  left: 46.75rem;
  top: 0;
  width: 20.625rem;
}

.p-can__textBlock--tr .p-can__textTitle {
  font-size: 1.75rem;
}

.p-can__textBlock--tr::before {
  -webkit-transform-origin: right center;
  background-color: #1E2142;
  content: "";
  height: 1px;
  left: -2.875rem;
  position: absolute;
  top: 6.25rem;
  transform-origin: right center;
  width: 22.5625rem;
}

.p-can__textBlock--tr::after {
  -webkit-transform-origin: top left;
  -webkit-transform: rotate(45deg);
  background-color: #1E2142;
  content: "";
  height: 7.1875rem;
  left: -2.875rem;
  position: absolute;
  top: 6.25rem;
  transform: rotate(45deg);
  transform-origin: top left;
  width: 1px;
}

.p-can__textBlock--bl {
  left: 1.25rem;
  top: 41.875rem;
  width: 22.5rem;
}

.p-can__textBlock--bl::before {
  -webkit-transform-origin: left center;
  background-color: #1E2142;
  content: "";
  height: 1px;
  left: -0.75rem;
  position: absolute;
  top: 6.25rem;
  transform-origin: left center;
  width: 22.5rem;
}

.p-can__textBlock--bl::after {
  -webkit-transform-origin: top left;
  -webkit-transform: rotate(51.34deg);
  background-color: #1E2142;
  content: "";
  height: 6rem;
  left: 26.4375rem;
  position: absolute;
  top: 2.5rem;
  transform: rotate(51.34deg);
  transform-origin: top left;
  width: 1px;
}

.p-can__textBlock--br {
  left: 47.25rem;
  top: 38.5625rem;
  width: 23.125rem;
}

.p-can__textBlock--br::before {
  -webkit-transform-origin: left center;
  background-color: #1E2142;
  content: "";
  height: 1px;
  left: -0.75rem;
  position: absolute;
  top: 6.25rem;
  transform-origin: left center;
  width: 22.5rem;
}

.p-can__textBlock--br::after {
  -webkit-transform-origin: top left;
  -webkit-transform: rotate(-6.55deg);
  background-color: #1E2142;
  content: "";
  height: 8.875rem;
  left: -1.8125rem;
  position: absolute;
  top: -2.5rem;
  transform: rotate(-6.55deg);
  transform-origin: top left;
  width: 1px;
}
.p-can__center,
.p-can__circle,
.p-can__textBlock {
  opacity: 0;
  transition: opacity 0.7s ease-out, -webkit-transform 0.7s ease-out;
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
  transition: opacity 0.7s ease-out, transform 0.7s ease-out, -webkit-transform 0.7s ease-out;
}

.p-can__center {
  -webkit-transform: scale(0.6);
  transform: scale(0.6);
}

.p-can__center.is-canShow {
  -webkit-transform: scale(1);
  opacity: 1;
  transform: scale(1);
}

.p-can__circle {
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.p-can__circle.is-canShow {
  -webkit-transform: scale(1);
  opacity: 1;
  transform: scale(1);
}
.p-can__textBlock {
  -webkit-transform: translateY(1rem);
  transform: translateY(1rem);
}

.p-can__textBlock.is-canShow {
  -webkit-transform: translateY(0);
  opacity: 1;
  transform: translateY(0);
}
/*
 * レ点リスト形式ブロック（asakura/check-list）
 * Figma 5826:9882 準拠
 *  - 背景: #9db1cf
 *  - パディング: 24px
 *  - 項目間ギャップ: 8px
 *  - アイコンと本文のギャップ: 12px
 *  - アイコン: 20x20 / currentColor（白）
 *  - フォント: Noto Sans JP Regular 16px / 白 / line-height 1.3
 */
.p-checkList {
  background-color: #9db1cf;
  color: #fff;
  padding: 1.5rem;
  width: 100%;
}

.p-checkList__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-checkList__item {
  align-items: flex-start;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  gap: 0.75rem;
  letter-spacing: 0;
  line-height: 1.3;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-checkList__icon {
  color: #fff;
  flex: 0 0 auto;
  height: 1.25rem;
  margin-top: 0.0625rem;
  width: 1.25rem;
}

.p-checkList__text {
  color: #fff;
  flex: 1;
  line-height: 1.3;
  min-width: 0;
}

.p-checkList-block {
  margin-block: 1.5rem;
  position: relative;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant ul / li / span の上書き（list-style、padding-left、margin-top等）を打ち消す
 */
.p-singlePost__body .p-checkList-block .p-checkList__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-singlePost__body .p-checkList-block .p-checkList__item {
  color: #fff;
  list-style: none;
  margin-top: 0;
}
.p-singlePost__body .p-checkList-block .p-checkList__text {
  color: #fff;
}

.p-column {
  background-color: #1E2142;
  margin-top: 4rem;
  padding-bottom: 5rem;
  padding-top: 4rem;
}
.p-column.--02 {
  background-color: unset;
  padding-top: 0;
}
.p-column.--sns {
  margin-top: 0rem;
}

.p-column__wrapper {
  margin-top: 1.875rem;
}

.p-column .p-news__wrapper {
  margin: 0 auto;
  max-width: 75rem;
}

.p-column .p-news__txt {
  margin-top: 3.125rem;
}

.p-column--02 {
  background-color: #1E2142;
  margin-top: 5rem;
  padding-bottom: 5rem;
  padding-top: 5rem;
}

.p-column02__header {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
  margin: 0 auto;
  max-width: 76.25rem;
}

.p-column02__title {
  align-items: baseline;
  display: flex;
  flex-shrink: 0;
  gap: 1.25rem;
}

.p-column02__ttl--en {
  color: #9db1cf;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1;
}

.p-column02__ttl--ja {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.p-column02__header .p-column02__desc {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.p-column02__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: auto;
  margin-bottom: 3.25rem;
  margin-top: 2.125rem;
  max-width: 76.25rem;
}

.p-column02__tag {
  align-items: center;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 1.25rem;
  color: #333;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 400;
  height: 2.1875rem;
  justify-content: center;
  min-width: 6rem;
  padding: 0 1rem;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.p-column02__tag.is-active {
  background-color: #333;
  color: #fff;
}
.p-column02__tag:hover:not(.is-active) {
  background-color: rgb(234.6, 234.6, 234.6);
}

.js-columnSwiper02 {
  overflow: hidden;
  padding-bottom: 0.5rem;
}
.js-columnSwiper02 .swiper-wrapper {
  align-items: stretch;
}
.js-columnSwiper02 .swiper-slide {
  display: flex;
  height: auto;
}

.p-column02Card {
  background-color: #fff;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
}
.p-column02Card a {
  color: inherit;
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.p-column02Card__thumb {
  border-radius: 1.25rem 1.25rem 0 0;
  flex-shrink: 0;
  overflow: hidden;
}
.p-column02Card__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 360/270;
  display: block;
  object-fit: cover;
  width: 100%;
}

.p-column02Card__body {
  flex: 1;
  padding: 0.75rem 1.125rem 1.75rem;
}

.p-column02Card__meta {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.p-column02Card__badge {
  align-items: center;
  background-color: #E38EA6;
  border-radius: 1.25rem;
  color: #fff;
  display: inline-flex;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}

.p-column02Card__date {
  color: #6e6e6e;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.p-column02Card__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #333;
  display: -webkit-box;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.5rem;
  max-width: 25em;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-column02Card__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: rgba(51, 51, 51, 0.72);
  display: -webkit-box;
  font-size: 1rem;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-column02__btnArea {
  margin-top: 3rem;
  text-align: center;
}

body:has(.p-company) .p-header,
body:has(.p-company) .p-header.UpMove,
body:has(.p-company) .p-header.DownMove {
  background-color: transparent !important;
  left: 0 !important;
  position: fixed !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 10 !important;
}

.p-company {
  min-height: 36.875rem;
  overflow: hidden;
  padding-top: 6.875rem;
  position: relative;
  z-index: 1;
}
.p-company::before {
  background-image: url(../img/service/service-fv.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 36.875rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.p-company.--tall {
  min-height: 51.25rem;
}
.p-company.--tall::before {
  height: 51.25rem;
}
.p-company.--company {
  min-height: 55.625rem;
}
.p-company.--company::before {
  height: 55.625rem;
}
.p-company.--promise, .p-company.--component, .p-company.--flow, .p-company.--dx {
  min-height: 35rem;
}
.p-company.--promise::before, .p-company.--component::before, .p-company.--flow::before, .p-company.--dx::before {
  height: 35.625rem;
}
.p-company.--service::before, .p-company.--consulting::before, .p-company.--flow::before, .p-company.--company::before {
  background-image: url(../img/service/service-fv.webp);
}
.p-company.--promise::before {
  background-image: url(../img/promise-fv-bg.webp);
}
.p-company.--sns::before, .p-company.--contact::before, .p-company.--component::before {
  background-image: url(../img/sns/sns-fv.webp);
}
.p-company.--news::before {
  background-image: url(../img/news/news-fv.webp);
}
.p-company.--dx::before {
  background-image: url(../img/dx/_photo/dx-fv.webp);
}
.p-company.--marketing::before, .p-company.--production::before {
  display: none;
}
.p-company.--marketing, .p-company.--production {
  padding-top: 0;
}

.p-company.--company .p-company__inner {
  align-items: center;
  display: flex;
  height: 40rem;
  margin-inline: auto;
  max-width: 78.125rem;
  padding-inline: 1.5625rem;
  position: relative;
  z-index: 1;
}
.p-company.--company .p-company__wrapper {
  margin: 0;
  max-width: 60%;
}
.p-company.--company .p-company__en {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.p-company.--company .p-titleArea__main {
  font-size: 3.125rem;
  letter-spacing: 0.05em;
}
.p-company.--company .p-company__txt {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1rem;
}
.p-company.--company .p-company__photos {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 7.5rem;
  width: 100%;
}
.p-company.--company .p-company__photo {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  height: clamp(12.5rem, 27.7777777778vw, 25rem);
  overflow: hidden;
  position: absolute;
  width: clamp(12.5rem, 27.7777777778vw, 25rem);
}
.p-company.--company .p-company__photo img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-company.--company .p-company__photo.--01 {
  left: 46.5277777778%;
  top: 1.125rem;
}
.p-company.--company .p-company__photo.--02 {
  left: 61.6666666667%;
  top: 16.1875rem;
}
.p-company.--company .p-company__photo.--03 {
  left: 76.3888888889%;
  top: 1.125rem;
}

.p-company__content {
  display: flex;
  gap: 3.25rem;
  overflow: hidden;
}
.p-company__content figure {
  width: 33.3333333333%;
}
.p-company__content figure img {
  height: 100%;
  width: 100%;
}

.p-company__message-wrapper {
  bottom: 10rem;
  font-family: "Roboto", sans-serif;
  left: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  opacity: 0.17;
  overflow: hidden;
  position: absolute;
  width: 100%;
  width: 100vw;
}
.p-company__message-wrapper.--shadow {
  opacity: 1;
}
.p-company__message-wrapper.--02 {
  bottom: unset;
  top: 0;
}

.p-company__message {
  -webkit-animation: slideRightToLeft 20s linear infinite;
  animation: slideRightToLeft 20s linear infinite;
  color: #fff;
  font-size: 12.5rem;
  letter-spacing: 0.002em;
  line-height: 1.3;
  white-space: nowrap;
}
.p-company__message.--shadow {
  text-shadow: 3px 4px 4px rgb(0, 0, 0);
}

@-webkit-keyframes slideRightToLeft {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes slideRightToLeft {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
.p-company__slider {
  margin: 2.5rem 0;
  overflow: hidden;
  width: 100%;
}
.p-company__slider .swiper-wrapper {
  -webkit-animation: slideCompanyImages 60s linear infinite;
  animation: slideCompanyImages 60s linear infinite;
  display: flex;
  gap: 50px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-company__slider .p-company__slide {
  flex-shrink: 0;
  width: calc((183% - 40px) / 4);
}
.p-company__slider .p-company__slide img {
  -o-object-fit: cover;
  aspect-ratio: 477/290;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-serviceFv {
  color: #fff;
  height: 100%;
  margin: 0 auto;
  max-width: 75rem;
  padding: 5rem 1.25rem 5rem;
  position: relative;
  text-align: center;
}

.p-serviceFv__en {
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.p-serviceFv__ttl {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 3.5rem;
}

.p-serviceFv__catch {
  font-size: 3.125rem;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.p-serviceFv__desc {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -1.2px;
  line-height: 1.5;
}

@-webkit-keyframes slideCompanyImages {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes slideCompanyImages {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.page-template-page-connectedgame .p-header {
  background-color: transparent !important;
  z-index: 10 !important;
}

.p-connectedgame {
  height: 37.5rem;
  position: relative;
  z-index: 1;
}
.p-connectedgame::before {
  -webkit-transform: rotate(180deg);
  background-image: url(../img/connectedgame/hero-bg.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: calc(100% + 9.375rem);
  left: 0;
  position: absolute;
  top: -9.375rem;
  transform: rotate(180deg);
  width: 100%;
  z-index: -1;
}
.p-connectedgame::after {
  -webkit-transform: scaleY(-1);
  background-image: url(../img/connectedgame/hero-bg.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: calc(100% + 9.375rem);
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.8;
  position: absolute;
  top: -9.375rem;
  transform: scaleY(-1);
  width: 100%;
  z-index: -1;
}

.p-connectedgame__inner {
  padding-bottom: 3.125rem;
  padding-left: 8.75rem;
  padding-right: 8.75rem;
  padding-top: 10.375rem;
  position: relative;
  z-index: 2;
}

.p-connectedgame__en {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
}

.p-connectedgame__ttl {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 0.25rem;
}

.p-connectedgame__txt {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.125rem;
}

.p-gameServices {
  background: #fff;
  padding: 5rem 0 3.75rem;
}

.p-gameServices__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 8.75rem;
}

.p-gameServices__header {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-gameServices__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.25rem;
}

.p-gameServices__line {
  background: linear-gradient(to right, #f3bbc3 35%, #9db1cf 100%);
  height: 1px;
  margin: 0 auto;
  max-width: 100%;
  width: 40.625rem;
}

.p-gameServices__list {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}

.p-gameServices__item {
  align-items: flex-start;
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
}

.p-gameServices__content {
  flex: 1;
  padding-top: 2.75rem;
}

.p-gameServices__name {
  color: #E38EA6;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-gameServices__separator {
  background: linear-gradient(to right, #e38ea6, #9db1cf);
  height: 1px;
  margin-bottom: 1.5rem;
  max-width: 100%;
  width: 33.1875rem;
}

.p-gameServices__desc {
  color: #333;
  font-size: 1.25rem;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-gameServices__type {
  color: #333;
  font-size: 1rem;
  margin-bottom: 2.5rem;
}

.p-gameServices__type-val {
  color: #E38EA6;
}

.p-gameServices__btn {
  align-items: center;
  background: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.9375rem;
  justify-content: center;
  padding-right: 1.25rem;
  position: relative;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 17.6875rem;
}
.p-gameServices__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 0.625rem;
}
.p-gameServices__btn:hover {
  opacity: 0.7;
}

.p-gameServices__media {
  flex-shrink: 0;
  position: relative;
  width: 25rem;
}

.p-gameServices__figure img {
  display: block;
  height: auto;
  width: 100%;
}

.p-gameServices__badge {
  align-items: center;
  background-color: #7995BE;
  border-radius: 50%;
  bottom: 0rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  font-weight: 500;
  height: 6.875rem;
  justify-content: center;
  left: -1.125rem;
  line-height: 1.3;
  position: absolute;
  text-align: center;
  width: 6.875rem;
}

.p-gameServices__badge-label,
.p-gameServices__badge-date {
  line-height: 1.3;
}

.p-gameQuality {
  background: #fff;
  padding: 3.125rem 0 5rem;
}

.p-gameQuality__inner {
  margin: 0 auto;
  max-width: 75.625rem;
  padding: 0 1.5625rem;
}

.p-gameQuality__slider {
  position: relative;
}

.p-gameQuality__list {
  width: 100%;
}

.p-gameQuality__list .swiper-wrapper {
  align-items: stretch;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.p-gameQuality__card {
  background: #fff;
  border: 1px solid #d6d6d6 !important;
  border-radius: 1.25rem;
  box-sizing: border-box;
  height: auto;
  padding: 3.125rem 1.875rem;
}

.p-gameQuality__navBtn {
  background: transparent;
  border: 0;
  color: #d6d6d6;
  cursor: pointer;
  display: none;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
  padding: 0;
}

.p-gameQuality__ttl {
  color: #1E2142;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
  white-space: nowrap;
}

.p-gameQuality__card--center .p-gameQuality__ttl {
  text-align: center;
}

.p-gameQuality__desc {
  color: #333;
  font-size: 1rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  text-align: center;
}

.p-gameQuality__figure {
  aspect-ratio: 200/283;
  margin: auto;
  margin-bottom: 2.5rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-gameQuality__figure img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-gameQuality__btn {
  align-items: center;
  border-radius: 1.25rem;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  margin: 0 auto;
  margin-inline: auto;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.p-gameQuality__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.625rem;
}
.p-gameQuality__btn--pink {
  background-color: #E2829D;
  max-width: 26.4375rem;
  width: 100%;
}
.p-gameQuality__btn--pink:hover {
  background-color: rgb(216.3961038961, 88.6038961039, 124.5454545455);
  color: #fff;
}
.p-gameQuality__btn--pink:hover::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.p-gameQuality__btn--blue {
  background-color: #7995BE;
  max-width: 26.4375rem;
  width: 100%;
}
.p-gameQuality__btn--blue:hover {
  background-color: rgb(86.6582914573, 121.8341708543, 173.3417085427);
  color: #fff;
}
.p-gameQuality__btn--blue:hover::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}

body:has(.p-consultingFv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-consulting {
  background-color: #F5F5F5;
  padding-bottom: 6.25rem;
  padding-top: 5rem;
}

.p-consulting__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding: 0 1.25rem;
}

.p-consulting__header {
  background-color: #1a1a1a;
  margin-bottom: 3.75rem;
  padding: 3.75rem 2.5rem;
  text-align: center;
}

.p-consulting__title {
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

.p-consulting__subtitle {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.4;
}

.p-consulting__steps {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  margin-bottom: 3.75rem;
}

.p-consulting__step {
  align-items: stretch;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  overflow: hidden;
}

.p-consulting__step-number {
  align-items: center;
  background-color: #F3D0D8;
  clip-path: polygon(0% 0%, calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 7.5rem;
  padding: 1.875rem 1.25rem;
  position: relative;
}

.p-consulting__step-label {
  color: #fff;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.p-consulting__step-num {
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
}

.p-consulting__step-content {
  background-color: #fff;
  flex: 1;
  padding: 2.5rem 1.875rem;
}

.p-consulting__step-title {
  color: #2c3e50;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.p-consulting__step-box {
  background-color: #E68AA1;
  border-radius: 0.375rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  padding: 0.75rem 1.25rem;
}
.p-consulting__step-box.--anxiety .p-consulting__step-box-label {
  font-weight: bold;
  margin-right: 0.5rem;
}
.p-consulting__step-box.--period {
  font-weight: bold;
}

.p-consulting__step-list {
  color: #2c3e50;
  line-height: 2;
  list-style: disc;
  padding-left: 1.5rem;
}
.p-consulting__step-list li {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.p-consulting__step-list li:last-child {
  margin-bottom: 0;
}

.p-consulting__cta {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  padding-top: 2.5rem;
}

.p-consulting__cta-button {
  align-items: center;
  border-radius: 0.375rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: bold;
  justify-content: center;
  padding: 1.125rem 2.5rem;
  padding-right: 3.75rem;
  position: relative;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-consulting__cta-button:hover {
  opacity: 0.8;
}
.p-consulting__cta-button::after {
  content: ">";
  font-size: 1.25rem;
  font-weight: bold;
  position: absolute;
  right: 1.25rem;
}
.p-consulting__cta-button.--pink {
  background-color: #E68AA1;
}
.p-consulting__cta-button.--gray {
  background-color: #3C4A5A;
}

.p-consultingFv {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 1.5rem;
  height: 100%;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 78.125rem;
  padding: 5rem 1.5625rem;
}

.p-consultingFv__left {
  flex-shrink: 0;
  max-width: 31.25rem;
}

.p-consultingFv__en {
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.p-consultingFv__ttl {
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.p-consultingFv__catch {
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.p-consultingFv__cycle {
  aspect-ratio: 652/500;
  flex-shrink: 0;
  max-width: 40.75rem;
  position: relative;
  width: 45.2777777778vw;
}
.p-consultingFv__cycle figure img {
  -o-object-fit: contain;
  height: 31.25rem;
  object-fit: contain;
  width: 100%;
}

.p-consultingFv__ring {
  aspect-ratio: 1;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  left: 19.6319018405%;
  position: absolute;
  top: 15.9793814433%;
  width: 60.736196319%;
}

.p-consultingFv__circle {
  align-items: center;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  width: 29.2944785276%;
}
.p-consultingFv__circle.--pink {
  background: radial-gradient(circle at 40% 40%, #ecb4c8 0%, #d0688d 100%);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}
.p-consultingFv__circle.--blue {
  background: radial-gradient(circle at 40% 40%, #c0d2e8 0%, #8da8c8 100%);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}
.p-consultingFv__circle.--top {
  left: 35.4294478528%;
  top: 0;
}
.p-consultingFv__circle.--right {
  left: 70.7055214724%;
  top: 33.676975945%;
}
.p-consultingFv__circle.--bottom {
  left: 35.4294478528%;
  top: 67.1821305842%;
}
.p-consultingFv__circle.--left {
  left: 0;
  top: 33.676975945%;
}

.p-consultingFv__circle-main {
  color: #fff;
  display: block;
  font-size: clamp(0.75rem, 3.8343558282vw, 1.5625rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.p-consultingFv__circle-sub {
  color: #fff;
  display: block;
  font-size: clamp(0.625rem, 3.0674846626vw, 1.25rem);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}

.p-consultingFv__cycle-text {
  -webkit-transform: translateY(-50%);
  color: #fff;
  font-size: clamp(0.625rem, 3.0674846626vw, 1.25rem);
  font-weight: 400;
  left: 29.754601227%;
  line-height: 1.8;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  width: 40.490797546%;
}

.p-contact {
  background-color: #fff;
  padding-block: 5rem;
}

.p-contact__urgent {
  background-color: #f9e8ed;
  border-radius: 1.25rem;
  margin-top: 2.5rem;
  max-width: 100%;
  overflow: hidden;
  width: 21.3125rem;
}

.p-contact__urgent-header {
  align-items: center;
  background-color: #fff;
  border: 1px solid #f9e8ed;
  border-radius: 1.25rem 1.25rem 0 0;
  color: #e2829d;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 2.625rem;
  justify-content: center;
  line-height: 1.4;
  text-align: center;
}

.p-contact__urgent-body {
  padding: 1.5rem 1.125rem 1.875rem;
}

.p-contact__urgent-btn {
  display: block;
  text-decoration: none;
  transition: opacity 0.2s;
  width: 100%;
}
.p-contact__urgent-btn:hover {
  opacity: 0.7;
}

.p-contact__urgent-btnImg {
  display: block;
  height: auto;
  width: 100%;
}

.p-contact__urgent-warning {
  color: #e2829d;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1.25rem;
}

.p-contact__urgent-items {
  list-style: none;
  margin-top: 1.25rem;
  padding-left: 0;
}

.p-contact__urgent-item {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  padding-left: 1rem;
  text-indent: -1rem;
}
.p-contact__urgent-item::before {
  content: "・";
}
.p-contact__urgent-item + .p-contact__urgent-item {
  margin-top: 1rem;
}

.p-contactBox {
  margin-top: 8.75rem;
  padding: 5rem 0;
}

.p-contactBox__inner {
  margin: 0 auto;
  max-width: 81.25rem;
  padding: 0 1.5625rem;
}

.p-contactBox__items {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.p-contactBox__item {
  align-items: center;
  background-color: #1E2142;
  display: flex;
  flex-direction: column;
  padding: 3.125rem 2.5rem;
  text-align: center;
}

.p-contactBox__ttl {
  color: #fff !important;
  font-size: 1.75rem !important;
}

.p-contactBox__txt {
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 3.75rem;
  margin-top: 3.75rem;
}

.p-contactBox__btnArea {
  margin-top: auto;
}

/*
 * お問い合わせボタンブロック（asakura/contact-button）
 * Figma 5826:9796「Link」準拠
 *  - 背景: #fff / 枠線: 1px solid #333 / 角丸: 20px
 *  - テキスト: Noto Sans JP Bold 16px / #333 / 中央
 *  - 右端に chevron 矢印（#333）
 *  - hover: 背景 #333・テキスト/矢印 #fff に反転
 */
.p-contactButton-block.--left {
  text-align: left;
}
.p-contactButton-block.--center {
  text-align: center;
}
.p-contactButton-block.--right {
  text-align: right;
}

.p-contactButton {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.5rem;
  justify-content: center;
  line-height: 1.4;
  margin-top: 2.5rem;
  min-height: 2.9375rem;
  padding-block: 0.375rem;
  padding-inline: 2.5rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}
.p-contactButton:hover {
  background-color: #333;
  color: #fff;
}

.p-contactButton__arrow {
  -webkit-transform: translateY(-50%);
  height: 0.75rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
}

.p-contactForm {
  position: relative;
}

.p-contact__title {
  color: #333;
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.002em;
  line-height: 1.3;
}

.p-contact__container {
  align-items: flex-start;
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
  margin-top: 2.5rem;
}

.p-contact__left {
  flex-shrink: 0;
  width: 21.3125rem;
}

.p-contact__right {
  background-color: #fafafa;
  border-radius: 1.25rem;
  flex-shrink: 0;
  max-width: 100%;
  padding-block: 5rem;
  padding-inline: 7.5rem;
  width: 46.8125rem;
}

/* フォーム見た目 */
.p-contactForm__row {
  margin-top: 1rem;
}

.p-contactForm__label {
  align-items: center;
  display: flex;
  font-weight: 600;
  gap: 10px;
  margin-bottom: 8px;
}

.p-contactForm__badge {
  border-radius: 2px;
  font-size: 12px;
  line-height: 1.6;
  padding: 2px 10px;
}

.p-contactForm__badge.is-required {
  background: #1E2142;
  color: #fff;
}

.p-contactForm__badge.is-optional {
  background: #e6e6e6;
  color: #555;
}

.p-contactForm__input,
.p-contactForm__textarea {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  font-size: 16px;
  padding: 14px 14px;
  width: 100%;
}

.p-contactForm__textarea {
  min-height: 120px;
  resize: vertical;
}

.p-contactForm__checks .wpcf7-list-item {
  display: block;
  margin: 8px 0 0;
}

.p-contactForm__note {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
}

.p-contactForm__row--privacy {
  margin-top: 1.5rem;
  text-align: center;
}

.p-contactForm__actions {
  margin-top: 2rem;
  text-align: center;
}

.p-contactForm__submit {
  -webkit-appearance: none;
  appearance: none;
  background-color: #E38EA6;
  border: none;
  border-radius: 2.25rem;
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  padding-block: 1rem;
  padding-inline: 2rem;
  transition: opacity 0.2s;
}
.p-contactForm__submit:hover {
  opacity: 0.85;
}

/* disabled時（JSで制御） */
.p-contactForm__submit.is-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* ===== CF7 checkbox base ===== */
.p-contactForm .wpcf7-checkbox .wpcf7-list-item,
.p-contactForm .wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 20px 0 0;
}

.wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.p-contactForm .wpcf7-checkbox label,
.p-contactForm .wpcf7-acceptance label {
  align-items: flex-start;
  cursor: pointer;
  display: inline-flex;
  gap: 10px;
  line-height: 1.6;
}

/* input自体は隠す（クリックはlabelで拾う） */
.p-contactForm .wpcf7-checkbox input[type=checkbox],
.p-contactForm .wpcf7-acceptance input[type=checkbox] {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

/* ボックス（四角） */
.p-contactForm .wpcf7-checkbox .wpcf7-list-item-label,
.p-contactForm .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 16px;
  padding-left: 30px;
  position: relative;
  /* □ぶんの余白 */
}

.p-contactForm .wpcf7-checkbox .wpcf7-list-item-label::before,
.p-contactForm .wpcf7-acceptance .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 3px;
  content: "";
  height: 18px;
  left: 0;
  position: absolute;
  top: 0.3125rem;
  width: 18px;
}

/* レ点（チェックマーク） */
.p-contactForm .wpcf7-checkbox .wpcf7-list-item-label::after,
.p-contactForm .wpcf7-acceptance .wpcf7-list-item-label::after {
  -webkit-transform: rotate(45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 10px;
  left: 6px;
  opacity: 0;
  position: absolute;
  top: 0.4375rem;
  transform: rotate(45deg);
  width: 6px;
}

/* checked時：ボックス塗り＋レ点表示 */
.p-contactForm .wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::before,
.p-contactForm .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: #2b2f3a;
  /* お好みで */
  border-color: #2b2f3a;
  /* お好みで */
}

.p-contactForm .wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::after,
.p-contactForm .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

/* フォーカス時（キーボード操作） */
.p-contactForm .wpcf7-checkbox input[type=checkbox]:focus-visible + .wpcf7-list-item-label::before,
.p-contactForm .wpcf7-acceptance input[type=checkbox]:focus-visible + .wpcf7-list-item-label::before {
  outline: 2px solid #2b2f3a;
  outline-offset: 2px;
}

.p-contactForm__subNote {
  color: #E38EA6;
  font-size: 16px;
  margin-top: 1rem;
  text-align: center;
}

.p-contactFrom__content {
  margin-top: 2.5rem;
}

/* textarea 初期状態 */
.p-contactForm__textarea {
  height: 80px;
  /* JSで制御 */
  line-height: 1.6;
  max-height: none;
  /* 初期高さ */
  min-height: 80px;
  /* 手動リサイズ無効（任意） */
  overflow-y: hidden;
  /* 制限しない */
  resize: none;
}

.wpcf7-spinner {
  display: none;
}

.p-contactResult {
  background-color: #fff;
  padding-block: 5rem;
}

.p-contactResult__inner {
  text-align: center;
}

.p-contactResult__title {
  color: #333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-contactResult__txt {
  color: #333;
  font-size: 1rem;
  line-height: 2;
  margin-top: 1.5rem;
}

.p-contactResult__body {
  margin-top: 2.5rem;
}

.p-contactResult__btn {
  margin-top: 2.5rem;
}

.wpcf7-response-output {
  display: none;
}

.p-difference {
  background-image: url(../img/service/service-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  height: 100%;
  padding: 3.25rem 0;
}

.p-difference__inner {
  margin: 0 auto;
  max-width: 56.25rem;
  padding-inline: 1.25rem;
}

.p-difference__wrapper {
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-difference__title {
  margin-bottom: 0;
}

.p-difference__subtitle-box {
  background-color: #1E2142;
  border-radius: 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
  padding: 1.25rem 2rem;
  position: relative;
  text-align: center;
}
.p-difference__subtitle-box:before {
  -webkit-transform: translateX(-50%);
  background: #1E2142;
  bottom: -0.9375rem;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  content: "";
  display: inline-block;
  height: 20px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 30px;
}

.p-difference__desc {
  color: #333;
  font-size: 1.125rem;
  letter-spacing: 0;
  line-height: 1.7;
  margin-bottom: 3rem;
  text-align: center;
}

.p-difference__table-wrap {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

.p-difference__table {
  background-color: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  margin: auto;
  max-width: 48rem;
  width: 100%;
}

.p-difference__th {
  border: 1px solid #d9d9d9;
  font-size: 1.25rem;
  font-weight: 700;
  min-width: 16rem;
  padding: 1rem 1.25rem;
  text-align: center;
}
.p-difference__th:first-child {
  background: transparent;
  border: none;
}

.p-difference__th--label {
  background-color: transparent;
}

.p-difference__th--asakura {
  background-color: #E2829D;
  border-top: 2px solid #D22626;
  color: #fff;
  height: 4rem;
}
.p-difference__th--asakura.--01 {
  border-left: 2px solid #D22626;
  border-right: 2px solid #D22626;
  border-top: 2px solid #D22626;
}

.p-difference__th--general {
  background-color: #f8f8f8;
  color: #333;
}

.p-difference__row {
  border-bottom: 1px solid #d9d9d9;
}

.p-difference__td {
  border: 1px solid #d9d9d9;
  font-size: 1.25rem;
  height: 3.75rem;
  padding: 1rem 1.25rem;
  text-align: center;
  vertical-align: middle;
}

.p-difference__td--label {
  background-color: #fff;
  border-left: none;
  color: #333;
  font-weight: 700;
  text-align: left;
}

.p-difference__td--asakura {
  background-color: #E2829D;
  color: #fff;
}
.p-difference__td--asakura.--01 {
  border-left: 2px solid #D22626;
  border-right: 2px solid #D22626;
  border-top: 2px solid #D22626;
}
.p-difference__td--asakura.--02 {
  border-left: 2px solid #D22626 !important;
  border-right: 2px solid #D22626 !important;
}
.p-difference__td--asakura.--03 {
  border-left: 2px solid #D22626 !important;
  border-right: 2px solid #D22626 !important;
}
.p-difference__td--asakura.--04 {
  border-left: 2px solid #D22626 !important;
  border-right: 2px solid #D22626 !important;
}
.p-difference__td--asakura.--05 {
  border-left: 2px solid #D22626 !important;
  border-right: 2px solid #D22626 !important;
  font-weight: 300;
}
.p-difference__td--asakura.--06 {
  border-bottom: 2px solid #D22626 !important;
  border-left: 2px solid #D22626 !important;
  border-right: 2px solid #D22626 !important;
}

.p-difference__td--general {
  background-color: #fff;
  border-right: none;
  color: #333;
  text-align: center;
}

.p-difference__btn {
  margin-top: 3rem;
  text-align: center;
}
.p-difference__btn .c-btn {
  border: 1px solid #333;
}

/*
 * 資料請求ボタンブロック（asakura/document-request）
 * Figma 5826:9799「Link」準拠
 *  - 背景: #fff / 枠線: 1px solid #1E2142 / 角丸: 20px
 *  - テキスト: Noto Sans JP Bold 16px / #1E2142 / 中央
 *  - 右端に chevron 矢印（#1E2142）
 *  - hover: 背景 #1E2142・テキスト/矢印 #fff に反転
 */
.p-documentRequest-block.--left {
  text-align: left;
}
.p-documentRequest-block.--center {
  text-align: center;
}
.p-documentRequest-block.--right {
  text-align: right;
}

.p-documentRequest {
  align-items: center;
  background-color: #fff;
  border: 1px solid #1E2142;
  border-radius: 1.25rem;
  color: #1E2142;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.5rem;
  justify-content: center;
  line-height: 1.4;
  margin-top: 2.5rem;
  min-height: 2.9375rem;
  padding-block: 0.375rem;
  padding-inline: 2.5rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}
.p-documentRequest:hover {
  background-color: #1E2142;
  color: #fff;
}

.p-documentRequest__arrow {
  -webkit-transform: translateY(-50%);
  height: 0.75rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
}

.p-domain {
  background-color: #fff;
  padding: 5rem 0 5rem;
}

.p-domain__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-domain__ttl {
  color: #1E2142;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-domain__grid {
  display: grid;
  gap: 0.25rem;
  grid-template-columns: repeat(3, 1fr);
}

.p-domain__col {
  display: flex;
  flex-direction: column;
}

.p-domain__num {
  color: #E38EA6;
  font-size: 5rem;
  font-weight: 700;
  letter-spacing: -0.09em;
  line-height: 1;
  margin: 0 0 0.75rem;
  padding-bottom: 1.125rem;
}

.p-domain__col-ttl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.p-domain__line {
  background-color: #6E6E6E;
  height: 1px;
  margin-bottom: 1.25rem;
}

.p-domain__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
}

.p-domain__item {
  align-items: flex-start;
  color: #333;
  display: flex;
  font-size: 1.25rem;
  font-weight: 400;
  gap: 0.625rem;
  line-height: 1.6;
}
.p-domain__item::before {
  border: 2px solid #E38EA6;
  border-radius: 0.1875rem;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 0.875rem;
  margin-top: 0.75rem;
  width: 0.875rem;
}

.p-domain__btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 3.125rem;
  color: #333;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0;
  margin: auto;
  max-width: 17.1875rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  width: 100%;
}
.p-domain__btn:hover {
  background-color: #1E2142;
  border-color: #1E2142;
  color: #fff;
}
.p-domain__btn:hover::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.p-domain__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1.5px solid #333;
  border-right: 1.5px solid #333;
  content: "";
  height: 0.5rem;
  position: absolute;
  right: 0.0625rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.2s;
  width: 0.5rem;
}
.p-domain__btn.--02 {
  border: 0.125rem solid #333;
  border-radius: 1.25rem;
  border-width: 500;
  font-size: 1.125rem;
  max-width: 23.9375rem;
  padding: 1rem 1.5rem;
}
.p-domain__btn.--02::after {
  border-bottom: 0.125rem solid #333;
  border-right: 0.125rem solid #333;
  right: 3.25rem;
}
.p-domain__btn.--03 {
  border: 0.125rem solid #333;
  border-radius: 1.25rem;
  border-width: 500;
  font-size: 1.125rem;
  max-width: 16.75rem;
  padding: 1rem 1.5rem;
}
.p-domain__btn.--03:hover {
  color: #fff;
}
.p-domain__btn.--03:hover::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.p-domain__btn::after {
  border-bottom: 0.125rem solid #333;
  border-right: 0.125rem solid #333;
  right: 0.9375rem;
}
.p-domain__btn.--04 {
  border-radius: 0.3125rem;
  margin: auto;
  max-width: 16.75rem;
  width: 100%;
}

.p-domain__logos {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow: hidden;
  padding-top: 1.25rem;
}

.p-domain__logos-row {
  overflow: hidden;
  width: 100%;
}
.p-domain__logos-track {
  -webkit-animation: p-domain-scroll 25s linear infinite;
  align-items: center;
  animation: p-domain-scroll 25s linear infinite;
  display: flex;
  gap: 5rem;
  width: -webkit-max-content;
  width: max-content;
}
.p-domain__logos-track img {
  -o-object-fit: cover;
  flex-shrink: 0;
  max-width: none;
  object-fit: cover;
  width: auto;
}

.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(1),
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(5) {
  height: 2.5rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(2),
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(6) {
  height: 2.5rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(3),
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(7) {
  height: 8.125rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(4),
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(8) {
  height: 2.5rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(1) .p-domain__logos-track img:nth-child(4) {
  -o-object-fit: contain;
  aspect-ratio: 200/91;
  height: auto;
  object-fit: contain;
  object-fit: contain;
}

.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(1),
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(4) {
  height: 1.75rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(2),
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(5) {
  height: 2.875rem;
  max-width: 18.75rem;
  width: 100%;
}
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(3),
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(6) {
  -o-object-fit: contain;
  height: 9.375rem;
  max-width: 15rem;
  object-fit: contain;
  width: 100%;
}
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(3) {
  -o-object-fit: contain;
  height: 11.25rem;
  max-width: 18.75rem;
  object-fit: contain;
}
.p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(4) {
  height: 2.5rem;
}

@-webkit-keyframes p-domain-scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes p-domain-scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.p-domain--02 {
  padding-top: 5rem;
}

.p-domain--02__head {
  margin-inline: auto;
  max-width: 38.375rem;
  position: relative;
  text-align: center;
}

.p-domain--02__head::after {
  background-image: linear-gradient(90deg, #F3BBC3 0%, #9DB1CF 100%);
  content: "";
  display: block;
  height: 0.0625rem;
  margin-top: 0.5rem;
  width: 100%;
}

.p-domain--02 .p-domain__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0;
}

.p-domain--02 .p-domain__grid {
  gap: 4.375rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.75rem;
}

.p-domain--02 .p-domain__col {
  margin-top: 0;
}

.p-domain--02 .p-domain__num {
  border-bottom: 0;
  color: #9DB1CF;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.1em;
  line-height: 1;
  margin-bottom: 0;
  padding-bottom: 0;
}

.p-domain--02 .p-domain__line {
  background-color: transparent;
  background-image: linear-gradient(90deg, #F3BBC3 0%, #9DB1CF 100%);
  display: block;
  height: 0.0625rem;
  margin-bottom: 0;
  margin-top: 1.25rem;
}

.p-domain--02 .p-domain__col-ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 0;
  margin-top: 1.5rem;
}

.p-domain--02 .p-domain__list {
  gap: 0.5rem;
  margin-bottom: 2.5rem;
  margin-top: 1.75rem;
}

.p-domain--02 .p-domain__item {
  color: #333;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
}

.p-domain--02 .p-domain__item::before {
  border: 0.0625rem solid #9DB1CF;
  border-radius: 50%;
  height: 0.875rem;
  margin-top: 0.625rem;
  width: 0.875rem;
}

.p-domain--02 .p-domain__btn {
  border: 0.0625rem solid #333;
  border-radius: 1.25rem;
  color: #333;
  font-size: 1rem;
  font-weight: 500;
  height: 2.9375rem;
  margin-top: auto;
  max-width: 17.625rem;
  padding: 0;
  width: 100%;
}

.p-domain--02 .p-domain__btn::after {
  border-bottom: 0.09375rem solid #333;
  border-right: 0.09375rem solid #333;
  height: 0.5rem;
  right: 1.25rem;
  width: 0.5rem;
}

/* =====================================================
   p-dx : DXの推進ページ
   ===================================================== */
body:has(.p-company.--dx) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-dx {
  color: #333;
}

/* -----------------------------------------------------
   FV
   ----------------------------------------------------- */
.p-dxFv {
  margin: auto;
  max-width: 75rem;
  padding-bottom: 2.25rem;
  padding-right: 2.5rem;
  padding-top: 2.25rem;
}

.p-dxFv__sub {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 0rem;
}

.p-dxFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.p-dxFv__desc {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.9375rem;
  max-width: 60rem;
}

/* -----------------------------------------------------
   コンテンツ枠
   ----------------------------------------------------- */
.p-dx__content {
  padding-block: 5rem 7.5rem;
}

/* -----------------------------------------------------
   代表者からのメッセージ
   ----------------------------------------------------- */
.p-dxIntro {
  margin-top: 0rem;
}

.p-dxSection + .p-dxSection,
.p-dxIntro + .p-dxSection,
.p-dxIntro + .p-dxSection .p-dxSection__ttl {
  margin-top: 5rem;
}

.p-dxIntro__inner {
  align-items: center;
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: minmax(0, 1fr) 24.125rem;
  padding-block: 2.5rem;
  padding-inline: 2.5rem;
}

.p-dxIntro__ttl {
  color: #E2829D;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-dxIntro__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}

.p-dxIntro__ttl + .p-dxIntro__text {
  margin-top: 1.5rem;
}

.p-dxIntro__media {
  border-radius: 0.75rem;
  height: 18.1875rem;
  margin-top: -2rem;
  overflow: hidden;
  width: 100%;
}

.p-dxIntro__media img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-dxIntro__caption {
  font-size: 0.875rem;
  margin-top: 0.75rem;
}

/* -----------------------------------------------------
   セクション共通
   ----------------------------------------------------- */
.p-dxSection {
  margin-top: 5rem;
}

.p-dxSection__ttl {
  color: #333;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.p-dxSection__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  border: 0;
  height: 1px;
  margin-top: 1rem;
}

.p-dxSection__lead {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2rem;
}

.p-dxSection__figure {
  aspect-ratio: 715/538;
  border-radius: 0.75rem;
  margin-top: 2.5rem;
  max-width: 44.6875rem;
  overflow: hidden;
  width: 100%;
}

.p-dxSection__figure img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* -----------------------------------------------------
   QA ブロック
   ----------------------------------------------------- */
.p-dxQa {
  border-bottom: 1px solid #e5e5e5;
  margin-top: 0rem;
  padding-block: 2rem;
  padding-right: 2.625rem;
}
.p-dxQa.--02 {
  padding-top: 0rem;
}

.p-dxSection__line + .p-dxQa,
.p-dxSection__figure + .p-dxQa,
.p-dxSection__lead + .p-dxQa {
  margin-top: 1.5rem;
}

.p-dxQa__ttl {
  color: #E2829D;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-dxQa__body {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.25rem;
}
.p-dxQa__body.--02 {
  margin-top: 0rem;
}

.p-dxQa__body p:first-child {
  margin-top: 0rem;
}

.p-dxQa__lead {
  font-weight: 700;
}

.p-dxQa__body p.p-dxQa__lead {
  margin-top: 1.25rem;
}

.p-dxQa__body p.p-dxQa__lead:first-child {
  margin-top: 0rem;
}

.p-dxQa__list {
  list-style: disc;
  padding-left: 1.5rem;
}

.p-dxQa__list li {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
}

.p-dxQa__list li + li {
  margin-top: 0.5rem;
}

/* -----------------------------------------------------
   コールアウト（タグ付きの薄グレー枠）
   ----------------------------------------------------- */
.p-dxCallout {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  margin-top: 2rem;
  padding-block: 2rem;
  padding-inline: 2.1875rem;
}

.p-dxCallout__tag {
  background-color: #e38ea6;
  border-radius: 0.625rem;
  color: #fff;
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
}

.p-dxCallout__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}

/* -----------------------------------------------------
   DX推進ロードマップ
   ----------------------------------------------------- */
.p-dxRoadmap {
  margin-top: 1.5rem;
}

.p-dxRoadmap__card {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  padding-block: 1.5rem;
  padding-inline: 2.1875rem;
}

.p-dxRoadmap__card + .p-dxRoadmap__card {
  margin-top: 1rem;
}

.p-dxRoadmap__tag {
  background-color: #9db1cf;
  border-radius: 0.625rem;
  color: #fff;
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
}

.p-dxRoadmap__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.875rem;
}

/* -----------------------------------------------------
   KPI テーブル
   ----------------------------------------------------- */
.p-dxKpi {
  margin-top: 2rem;
  overflow-x: auto;
}

.p-dxKpi__table {
  border-collapse: collapse;
  min-width: 56.25rem;
  table-layout: fixed;
  width: 100%;
}

.p-dxKpi__table thead th {
  background-color: #9db1cf;
  border: 1px solid #d3d3d3;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-block: 1.125rem;
  padding-inline: 1.25rem;
  text-align: center;
}

.p-dxKpi__table thead th:first-child {
  font-size: 1.125rem;
  width: 44%;
}

.p-dxKpi__table tbody th,
.p-dxKpi__table tbody td {
  background-color: #fff;
  border: 1px solid #d3d3d3;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
  padding-block: 1.5rem;
  padding-inline: 1.25rem;
  text-align: left;
  vertical-align: middle;
}

.p-dxKpi__table tbody th {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
}

.p-dxKpi__table tbody td {
  color: #333;
  font-weight: 500;
  width: 18.4%;
}

/* -----------------------------------------------------
   SECURITY ACTION バッジ
   ----------------------------------------------------- */
.p-dxSecAction {
  background-color: #9db1cf;
  border-radius: 1.25rem;
  margin-top: 2rem;
  padding-block: 2rem;
  padding-inline: 2.1875rem;
}

.p-dxSecAction__badge {
  align-items: center;
  background-color: #fff;
  border-radius: 0.625rem;
  color: #000;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 700;
  gap: 0.375rem;
  letter-spacing: 0.04em;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
}

.p-dxSecAction__label {
  color: #9db1cf;
}

.p-dxSecAction__text {
  color: #fff;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}

.p-example {
  background-image: url(../img/company/company-bg02.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 7rem;
  padding-bottom: 7.5rem;
  padding-top: 2.75rem;
}

.p-example__list-content {
  align-items: stretch;
  display: flex;
  gap: 1.875rem;
  justify-content: center;
  margin-top: 3.75rem;
}

.p-example__content--left {
  width: 50%;
}

.p-example__content--right {
  width: 30.5555555556%;
}

.p-example__img-main {
  height: 100%;
  width: 100%;
}
.p-example__img-main img {
  -o-object-fit: cover;
  aspect-ratio: 450/721;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-example__text {
  letter-spacing: 0;
  line-height: 160%;
  max-width: 45rem;
  width: 100%;
}

.p-example__text + .p-example__text {
  margin-top: 1.25rem;
}

.p-example__btnArea {
  margin-top: 1.875rem;
  text-align: center;
}

.p-featuredArticles {
  background-color: #E38EA6;
  padding-block: 5rem;
}

.p-featuredArticles__head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 3rem;
}

.p-featuredArticles__ttl {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
}

.p-featuredArticles__line {
  background: linear-gradient(173deg, #f3bbc3 35%, #9db1cf 98%);
  display: block;
  height: 1px;
  width: 15.0625rem;
}

.p-featuredArticles__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

.p-featuredArticles__card {
  transition: opacity 0.3s ease;
}
.p-featuredArticles__card:hover {
  opacity: 0.85;
}

.p-featuredArticles__link {
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
}

.p-featuredArticles__thumb {
  aspect-ratio: 16/9;
  border-radius: 0.25rem;
  margin: 0;
  overflow: hidden;
  width: 100%;
}
.p-featuredArticles__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
}
.p-featuredArticles__link:hover .p-featuredArticles__thumb img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.p-featuredArticles__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-featuredArticles__meta {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}

.p-featuredArticles__tag {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem;
  color: #E38EA6;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
}

.p-featuredArticles__date {
  color: #edc3cf;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.p-featuredArticles__title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.p-featuredArticles__excerpt {
  color: #fff;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.p-fixedLinks {
  -webkit-transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: hidden;
  z-index: 1000;
}
.p-fixedLinks.is-visible {
  opacity: 1;
  visibility: visible;
}

.p-fixedLinks__item {
  align-items: center;
  border-radius: 0.625rem 0 0 0.625rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  height: 20.1875rem;
  justify-content: center;
  position: relative;
  text-decoration: none;
  transition: opacity 0.3s ease;
  width: 3.125rem;
}
.p-fixedLinks__item:hover {
  opacity: 0.85;
}

.p-fixedLinks__item--line {
  background-color: #E38EA6;
}

.p-fixedLinks__item--cafe {
  background-color: #9DB1CF;
}
.p-fixedLinks__item--cafe .p-fixedLinks__icon {
  -webkit-transform: translateX(-6.4%);
  transform: translateX(-6.4%);
}

.p-fixedLinks__icon {
  -o-object-fit: contain;
  display: block;
  height: 2.3125rem;
  margin-inline: auto;
  object-fit: contain;
  width: 2.3125rem;
}

.p-fixedLinks__text {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  width: 100%;
}
.p-fixedLinks__text span {
  display: block;
  line-height: 1.75rem;
  text-align: center;
  width: 100%;
}

.p-fixedLinks__text--rotate {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

body:has(.p-company.--flow) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-flowFv {
  margin: auto;
  max-width: 75rem;
  padding: 4.375rem 0 10vw;
  width: 100%;
}
.p-flowFv.--p-promiseFv {
  padding-top: 6.25rem;
}

.p-flowFv__sub {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}

.p-flowFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.p-flowFv__desc {
  color: #fff;
  font-size: 1.5625rem;
  font-weight: 400;
  line-height: 1.5;
}

.p-flowSteps {
  background-color: #fff;
  padding: 6.25rem 0 0;
}

.p-flowSteps__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-flowSteps__head {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-flowSteps__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-flowSteps__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.5rem;
  width: 40.625rem;
}

.p-flowSteps__desc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 3.75rem;
}

.p-flowSteps__cards {
  display: flex;
  gap: 0;
}

.p-flowSteps__card {
  clip-path: polygon(0 0, calc(100% - 80px) 0, 96% 50%, calc(100% - 80px) 100%, 0 100%);
  flex: 1;
  margin-right: -0.9375rem;
  padding: 1.375rem 1.25rem;
  position: relative;
  z-index: 1;
}
.p-flowSteps__card:nth-child(2) {
  z-index: 2;
}
.p-flowSteps__card:nth-child(3) {
  margin-right: 0;
  z-index: 3;
}
.p-flowSteps__card.--step01 {
  background-color: #e38ea6;
}
.p-flowSteps__card.--step02 {
  background-color: #6b7085;
}
.p-flowSteps__card.--step03 {
  background-color: #9db1cf;
}

.p-flowSteps__cardHead {
  align-items: center;
  color: #fff;
  display: flex;
  justify-content: center;
  max-width: 16.875rem;
  padding-right: 1.875rem;
  width: 100%;
}

.p-flowSteps__step {
  display: none;
}

.p-flowSteps__name {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-flowSteps__cardBody {
  background-color: #fff;
  box-sizing: border-box;
  height: 14.375rem;
  margin-top: 1.125rem;
  max-width: 100%;
  padding: 2.375rem 0.625rem 2.625rem 0.5rem;
  width: 16.875rem;
}

.p-flowSteps__lead {
  color: #333;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: -0.16px;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-flowSteps__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-flowSteps__list li {
  color: #333;
  font-size: 0.875rem;
  letter-spacing: -0.01em;
  line-height: 1.3;
  text-align: left;
}
.p-flowSteps__list li::before {
  content: "・";
}

.p-flowSupport {
  background-color: #fff;
  padding: 8.25rem 0 0;
}

.p-flowSupport__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-flowSupport__head {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-flowSupport__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-flowSupport__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.5rem;
  width: 17.3125rem;
}

.p-flowSupport__desc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}

.p-flowSupport__phase {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-flowSupport__phaseLabel {
  border: 1px solid;
  border-radius: 1.25rem;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.875rem;
  padding: 0.75rem 1.5rem;
}
.p-flowSupport__phaseLabel.--pink {
  border-color: #E38EA6;
  color: #E38EA6;
}
.p-flowSupport__phaseLabel.--blue {
  border-color: #E38EA6;
  color: #E38EA6;
}

.p-flowSupport__phaseDesc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-flowSupport__table {
  border-collapse: collapse;
  width: 100%;
}
.p-flowSupport__table th,
.p-flowSupport__table td {
  border: 1px solid #d3d3d3;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1rem 1.25rem;
  text-align: left;
}
.p-flowSupport__table th {
  background-color: #9db1cf;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  width: 13.75rem;
}
.p-flowSupport__table td {
  background-color: #fff;
  letter-spacing: 0.03em;
}

.p-flowSupport__slider {
  position: relative;
}

.p-flowSupport__sliderBtn {
  display: none;
}

.p-flowSupport__video {
  aspect-ratio: 16/9;
  border-radius: 0.5rem;
  margin: 1.875rem auto 0.9375rem;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  width: 33.5rem;
}

.p-flowSupport__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.p-flowSupport__ytIcon {
  -webkit-transform: translate(-50%, -50%);
  height: auto;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 5.5rem;
}

.p-flowSupport__message {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-flowSupport__note {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.p-flowSupport__accent {
  color: #9db1cf;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-flowDetail {
  background-color: #fff;
  padding: 6.25rem 0 0;
}

.p-flowDetail__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-flowDetail__head {
  margin-bottom: 1.875rem;
  text-align: center;
}

.p-flowDetail__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-flowDetail__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.5rem;
  width: 32.9375rem;
}

.p-flowDetail__desc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 3.75rem;
}

.p-flowDetail__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}

.p-flowDetail__box {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  padding: 2rem 2.5rem;
  transition: box-shadow 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
}

.p-flowDetail__num {
  color: #E38EA6;
  display: inline;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  margin-bottom: 0.25rem;
  margin-right: 0.625rem;
}

.p-flowDetail__name {
  color: #1E2142;
  display: inline;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-flowDetail__list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  margin-top: 1.5rem;
  padding: 0;
}
.p-flowDetail__list li {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
}
.p-flowDetail__list li::before {
  content: "・";
}

.p-flowAvail {
  background-color: #e89bb1;
  padding: 5rem 0 6.25rem;
}

.p-flowAvail__head {
  margin-bottom: 2.5rem;
  margin-bottom: 1.875rem;
  text-align: center;
}

.p-flowAvail__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-flowAvail__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto;
  width: 19.75rem;
}

.p-flowAvail__inner {
  margin: 0 auto;
  max-width: 90rem;
}

.p-flowAvail__box {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem;
  display: flex;
  gap: 4.75rem;
  padding: 3rem 4.375rem 3rem 3.125rem;
}

.p-flowAvail__thumb {
  aspect-ratio: 516/361;
  border-radius: 1.25rem;
  flex-shrink: 0;
  overflow: hidden;
  width: 32.25rem;
}
.p-flowAvail__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-flowAvail__content {
  text-align: center;
}

.p-flowAvail__heading {
  color: #333;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.p-flowAvail__text {
  color: #333;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 2.5rem;
  text-align: left;
}

.p-question__head {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-question__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.p-question__line {
  background: linear-gradient(174.82deg, #f3bbc3 35.08%, #9db1cf 98.31%);
  height: 1px;
  margin: 0 auto;
  width: 19.75rem;
}

.p-question__inner {
  margin: 0 auto;
  max-width: 62.5rem;
  padding-inline: 1.25rem;
}

.p-question__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-question__item {
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 1.25rem;
  overflow: hidden;
}

.p-question__q {
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  gap: 1.5rem;
  padding: 2rem 3rem;
  text-align: left;
  width: 100%;
}

.p-question__q-label {
  color: #e38ea6;
  flex-shrink: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-question__q-text {
  color: #333;
  flex: 1;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-question__icon {
  flex-shrink: 0;
  height: 1.125rem;
  margin-left: auto;
  position: relative;
  width: 1.125rem;
}
.p-question__icon::before, .p-question__icon::after {
  background-color: #e38ea6;
  border-radius: 2px;
  content: "";
  position: absolute;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
.p-question__icon::before {
  -webkit-transform: translateY(-50%);
  height: 2px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.p-question__icon::after {
  -webkit-transform: translateX(-50%);
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
}
.p-question__q[aria-expanded=true] .p-question__icon::after {
  -webkit-transform: translateX(-50%) rotate(90deg);
  opacity: 0;
  transform: translateX(-50%) rotate(90deg);
}

.p-question__a {
  overflow: hidden;
}

.p-question__a-inner {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  padding: 2rem 3rem;
}

.p-question__a-label {
  color: #e38ea6;
  flex-shrink: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-question__a-text {
  color: #333;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.p-flowAvail__btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #E2829D;
  border-radius: 1.25rem;
  color: #E2829D;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.75rem;
  justify-content: center;
  min-width: 26.4375rem;
  padding: 1rem 3rem;
  text-decoration: none;
  transition: all 0.2s;
}
.p-flowAvail__btn::after {
  -webkit-transform: rotate(-45deg);
  border-bottom: 2px solid #E2829D;
  border-right: 2px solid #E2829D;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 0.625rem;
  transform: rotate(-45deg);
  width: 0.625rem;
}
.p-flowAvail__btn:hover {
  background-color: #E2829D;
  color: #fff;
}
.p-flowAvail__btn:hover::after {
  border-color: #fff;
}

.p-flowFaq {
  background-color: #fff;
  padding: 3.75rem 0 5rem;
}

.p-flowFaq__heading {
  margin-bottom: 3rem;
  text-align: center;
}

.p-flowFaq__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: normal;
}

.p-flowFaq__line {
  background: linear-gradient(177deg, #f3bbc3 35%, #9db1cf 98%);
  height: 1px;
  margin: 1rem auto 0;
  max-width: 90%;
  width: 41.5rem;
}

.p-flowFaq__wrapper {
  margin-inline: auto;
  max-width: 52.5rem;
}

.p-flowFaq__tabs {
  display: flex;
}

.p-flowFaq__tab {
  align-items: center;
  border: none;
  border-radius: 1.25rem 1.25rem 0 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  flex: 1;
  font-size: 1.375rem;
  font-weight: 500;
  gap: 0.75rem;
  height: 5rem;
  justify-content: center;
  opacity: 0.55;
  transition: opacity 0.25s;
}
.p-flowFaq__tab::after {
  content: "▼";
  font-size: 1rem;
}
.p-flowFaq__tab.--flow {
  background-color: #E2829D;
}
.p-flowFaq__tab.--faq {
  background-color: #7995BE;
}
.p-flowFaq__tab.is-active {
  opacity: 1;
}

.p-flowFaq__card {
  background-color: #f8f8f8;
  border-radius: 0 0 1.25rem 1.25rem;
  padding: 5rem 4.375rem;
}

.p-flowFaq__panel {
  display: none;
}
.p-flowFaq__panel.is-active {
  display: block;
}

.p-flowFaq__steps {
  display: flex;
  flex-direction: column;
}

.p-flowFaq__step {
  align-items: center;
  display: flex;
  gap: 3rem;
}

.p-flowFaq__stepImg {
  flex-shrink: 0;
  height: 12.5rem;
  width: 12.5rem;
}
.p-flowFaq__stepImg img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-flowFaq__stepText {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.5rem;
}

.p-flowFaq__stepNum {
  color: #E2829D;
  font-family: "Poppins", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
}

.p-flowFaq__stepTtl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
}

.p-flowFaq__stepDesc {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.p-flowFaq__arrow {
  color: #E2829D;
  font-size: 1.25rem;
  line-height: 1;
  margin-left: 6.25rem;
  padding: 0.75rem 0;
  text-align: center;
}

.p-flowFaq__btnArea {
  margin-top: 3rem;
  text-align: center;
}

.p-flowFaq__btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 500;
  height: 3.125rem;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 17.6875rem;
}
.p-flowFaq__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.625rem;
}

.p-flowFaq__faqList {
  display: flex;
  flex-direction: column;
}

.p-flowFaq__faqItem {
  border-bottom: 1px solid #ccc;
}
.p-flowFaq__faqItem:first-child {
  border-top: 1px solid #ccc;
}

.p-flowFaq__faqQ {
  -webkit-user-select: none;
  -ms-user-select: none;
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 1rem;
  padding: 1.5rem 0.5rem;
  user-select: none;
}

.p-flowFaq__faqQIcon {
  color: #E2829D;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  width: 1.75rem;
}

.p-flowFaq__faqQText {
  color: #333;
  flex: 1;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-flowFaq__faqToggle {
  flex-shrink: 0;
  height: 1.5rem;
  position: relative;
  width: 1.5rem;
}
.p-flowFaq__faqToggle::before, .p-flowFaq__faqToggle::after {
  background-color: #333;
  content: "";
  position: absolute;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.p-flowFaq__faqToggle::before {
  -webkit-transform: translate(-50%, -50%);
  height: 2px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
}
.p-flowFaq__faqToggle::after {
  -webkit-transform: translate(-50%, -50%);
  height: 0.875rem;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
}
.is-open .p-flowFaq__faqToggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
}

.p-flowFaq__faqA {
  display: none;
  padding: 0 0.5rem 1.5rem;
}

.p-flowFaq__faqDivider {
  border: none;
  border-top: 1px solid #ccc;
  margin-bottom: 1rem;
}

.p-flowFaq__faqAInner {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}

.p-flowFaq__faqAIcon {
  color: #7995BE;
  flex-shrink: 0;
  font-size: 1.125rem;
  font-weight: 700;
  width: 1.75rem;
}

.p-flowFaq__faqAText {
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
}
.p-footer {
  background-color: #f1efef;
  color: #333;
  padding: 3.75rem 5rem 0;
}

.p-footer__inner {
  margin-inline: auto;
  max-width: 68.75rem;
  width: 100%;
}

.p-footer__wrapper {
  align-items: flex-start;
  display: flex;
  gap: 5rem;
}

.p-footer__body {
  flex-shrink: 0;
  width: 17.5rem;
}

.p-footer__logo {
  margin: 0 0 2.5rem;
}
.p-footer__logo a {
  display: inline-block;
}
.p-footer__logo img {
  -o-object-fit: contain;
  height: auto;
  object-fit: contain;
  width: 23.375rem;
}

.p-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-footer__address {
  color: #333;
  font-size: 1.125rem;
  line-height: 1.6;
}

.p-footer__contactItem {
  color: #333;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
}
.p-footer__contactItem a {
  color: #333;
  text-decoration: none;
}
.p-footer__contactItem a:hover {
  opacity: 0.7;
}

.p-footer__sns {
  align-items: center;
  display: flex;
  gap: 1rem;
  list-style: none;
  margin-top: 2.5rem;
  padding: 0;
}

.p-footer__snsItem a {
  display: block;
}
.p-footer__snsItem a:hover {
  opacity: 0.8;
}
.p-footer__snsItem img {
  -o-object-fit: contain;
  display: block;
  height: 2.9375rem;
  object-fit: contain;
  width: 2.9375rem;
}

.p-footer__nav {
  display: flex;
  flex: 1;
  gap: 3.75rem;
  padding-top: 2.5rem;
}

.p-footer__navCol {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3rem;
}

.p-footer__navGroup {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-footer__navTitle {
  align-items: center;
  border-bottom: 1px solid #000;
  color: #333;
  display: flex;
  font-size: 1.125rem;
  font-weight: 500;
  gap: 1rem;
  padding-bottom: 1rem;
  text-decoration: none;
}
.p-footer__navTitle::before {
  border-bottom: 3.5px solid transparent;
  border-left: 7px solid #333;
  border-top: 3.5px solid transparent;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 0;
  width: 0;
}
.p-footer__navTitle:hover {
  opacity: 0.7;
}

.p-footer__navToggle {
  display: none;
  flex-shrink: 0;
  height: 0.75rem;
  position: relative;
  width: 0.75rem;
}
.p-footer__navToggle::before, .p-footer__navToggle::after {
  background-color: #333;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
}
.p-footer__navToggle::before {
  -webkit-transform: translate(-50%, -50%);
  height: 1px;
  transform: translate(-50%, -50%);
  width: 0.75rem;
}
.p-footer__navToggle::after {
  -webkit-transform: translate(-50%, -50%);
  height: 0.75rem;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
  width: 1px;
}

.p-footer__navTitle.is-open .p-footer__navToggle::after {
  opacity: 0;
}

.p-footer__navLinks {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-footer__navLinks li {
  padding-left: 1rem;
}
.p-footer__navLinks li a {
  align-items: center;
  background-image: linear-gradient(to right, #f3bbc3, #9db1cf);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: #333;
  display: flex;
  font-size: 0.9375rem;
  gap: 1rem;
  line-height: 1.2;
  padding-bottom: 0.375rem;
  text-decoration: none;
  transition: background-size 0.3s ease;
}
.p-footer__navLinks li a::before {
  border-bottom: 3px solid transparent;
  border-left: 6px solid #333;
  border-top: 3px solid transparent;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 0;
  width: 0;
}
.p-footer__navLinks li a:hover {
  background-size: 100% 1px;
}

.p-footer__badges {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 3.75rem;
  padding-bottom: 2.5rem;
}
.p-footer__badges img {
  -o-object-fit: contain;
  height: 5.625rem;
  object-fit: contain;
  width: auto;
}
.p-footer__badges img:nth-child(2) {
  width: 7.5rem;
}
.p-footer__badges img:nth-child(3) {
  width: 10.625rem;
}
.p-footer__badges img:nth-child(4) {
  aspect-ratio: 1;
  aspect-ratio: 120/120;
  height: 100%;
  max-width: 7.5rem;
  width: 100%;
}
.p-footer__badges img:nth-child(5) {
  aspect-ratio: 120/120;
  height: 100%;
  max-width: 6.875rem;
  width: 100%;
}
.p-footer__badges img:nth-child(6) {
  aspect-ratio: 120/120;
  height: 100%;
  max-width: 6.875rem;
  width: 100%;
}
.p-footer__badges a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-footer__badges a:hover {
  -webkit-transform: translateY(-0.375rem);
  transform: translateY(-0.375rem);
}
.p-footer__badges a img {
  transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
  transition: filter 0.3s ease, opacity 0.3s ease;
  transition: filter 0.3s ease, opacity 0.3s ease, -webkit-filter 0.3s ease;
}
.p-footer__badges a:hover img {
  -webkit-filter: drop-shadow(0 0.375rem 0.75rem rgba(0, 0, 0, 0.18));
  filter: drop-shadow(0 0.375rem 0.75rem rgba(0, 0, 0, 0.18));
  opacity: 0.92;
}

.p-footer__bottom {
  padding: 1.5rem 0;
}

.p-footer__bottomLine {
  background-color: #ccc;
  height: 1px;
  margin-bottom: 1.5rem;
}

.p-footer__bottomLinks {
  display: flex;
  gap: 1.5625rem;
  justify-content: center;
  margin-bottom: 0.75rem;
}
.p-footer__bottomLinks a {
  color: #333;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-decoration: none;
}
.p-footer__bottomLinks a:hover {
  opacity: 0.7;
}

.p-footer__copy {
  color: #333;
  font-size: 0.75rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
}

.p-gallery {
  background-color: #fff;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
  padding-block: 5rem 0;
  position: relative;
  right: 50%;
  width: 100vw;
}

.p-gallery__inner {
  margin-inline: auto;
  max-width: 90rem;
  padding-inline: 8.75rem;
}

.p-gallery__head {
  text-align: center;
}

.p-gallery .p-gallery__sub {
  color: #333;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.07rem;
  line-height: 2;
  margin: 0;
}

.p-gallery .p-gallery__title {
  border-left: none;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  line-height: 1.6;
  margin: 0;
  padding-left: 0;
}

.p-gallery__swiper {
  margin-inline: auto;
  margin-top: 2.9375rem;
  max-width: 48.75rem;
  overflow: visible;
  position: relative;
}

.p-gallery__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-gallery__item {
  aspect-ratio: 380/400;
  background-color: #F7F7F7;
  border-radius: 0.625rem;
  box-sizing: border-box;
  max-width: 23.75rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-gallery__figure {
  height: 100%;
  margin: 0;
  width: 100%;
}

.p-gallery .p-gallery__image {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-gallery__grid {
  margin-inline: auto;
  margin-top: 2.9375rem;
  max-width: 48.75rem;
}

.p-gallery--col2 .p-gallery__list {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: repeat(2, 18.75rem);
  justify-content: center;
}

.p-gallery--col2 .p-gallery__item {
  aspect-ratio: 300/280;
  max-width: 100%;
}

.p-gallery__addBtn {
  align-items: center;
  background-color: #E38EA6;
  border: none;
  border-bottom-right-radius: 0.625rem;
  border-top-left-radius: 0.625rem;
  bottom: 0;
  cursor: pointer;
  display: flex;
  height: 4rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 0;
  transition: background-color 0.2s ease;
  width: 4.4375rem;
}

.p-gallery__addBtn:hover,
.p-gallery__addBtn:focus-visible {
  background-color: #E2829D;
}

.p-gallery__addBtn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

.p-gallery__addBtnIcon {
  display: block;
  height: 1.5rem;
  position: relative;
  width: 1.5rem;
}

.p-gallery__addBtnIcon::before,
.p-gallery__addBtnIcon::after {
  background-color: #fff;
  border-radius: 0.125rem;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
}

.p-gallery__addBtnIcon::before {
  -webkit-transform: translate(-50%, -50%);
  height: 0.125rem;
  transform: translate(-50%, -50%);
  width: 1.5rem;
}

.p-gallery__addBtnIcon::after {
  -webkit-transform: translate(-50%, -50%);
  height: 1.5rem;
  transform: translate(-50%, -50%);
  width: 0.125rem;
}

.p-gallery__pagination {
  align-items: center;
  bottom: auto;
  display: flex;
  gap: 0.1875rem;
  justify-content: flex-end;
  left: auto;
  margin-top: 1.25rem;
  position: relative;
  width: 100%;
}

.p-gallery__bullet {
  background-color: #999;
  border-radius: 0.625rem;
  cursor: pointer;
  display: inline-block;
  flex-shrink: 0;
  height: 0.125rem;
  transition: background-color 0.2s ease;
  width: 2.5rem;
}

.p-gallery__bullet--active {
  background-color: #333;
}

.p-gallery__modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 1.25rem;
  position: fixed;
  z-index: 100;
}

.p-gallery__modal[hidden] {
  display: none;
}

.p-gallery__modalOverlay {
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  inset: 0;
  position: absolute;
}

.p-gallery__modalBody {
  align-items: center;
  background-color: #E38EA6;
  border-radius: 0.625rem;
  box-sizing: border-box;
  display: flex;
  gap: 2.75rem;
  max-height: calc(100vh - 2.5rem);
  max-width: 62.9375rem;
  min-height: 32.5rem;
  overflow-y: auto;
  padding-block: 3.75rem;
  padding-inline: 4.0625rem;
  position: relative;
  width: 100%;
}

.p-gallery__modalFigure {
  aspect-ratio: 380/370;
  background-color: #fff;
  border-radius: 0.625rem;
  flex-shrink: 0;
  margin: 0;
  overflow: hidden;
  width: 23.75rem;
}

.p-gallery .p-gallery__modalImage {
  -o-object-fit: cover;
  -o-object-position: center;
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.p-gallery__modalList {
  -webkit-padding-start: 1.75rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5625rem;
  font-weight: 400;
  letter-spacing: 0.046875rem;
  line-height: 1.6;
  list-style: disc;
  margin: 0;
  max-width: 100%;
  padding: 0;
  padding-inline-start: 1.75rem;
  width: 28.3125rem;
}

.p-gallery__modalItem {
  margin: 0;
  padding: 0;
}

.p-gallery__modalItem[hidden] {
  display: none;
}

.p-gallery__modalItem--result {
  margin-top: 0.5rem;
}

.p-gallery__modalClose {
  background-color: transparent;
  border: none;
  cursor: pointer;
  height: 2.5rem;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2.5rem;
  z-index: 1;
}

.p-gallery__modalClose span {
  background-color: #fff;
  border-radius: 0.125rem;
  height: 0.125rem;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 1.75rem;
}

.p-gallery__modalClose span:nth-child(1) {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-gallery__modalClose span:nth-child(2) {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

html.is-galleryModalOpen {
  overflow: hidden;
}

.p-gallery--editor {
  box-sizing: border-box;
  left: auto;
  margin-inline: 0;
  max-width: 100%;
  padding-block: 1.5rem;
  position: static;
  right: auto;
  width: 100%;
}

.p-gallery--editor .p-gallery__list--editor {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.p-gallery--editor.p-gallery--col2 .p-gallery__list--editor {
  grid-template-columns: repeat(2, 1fr);
}

.p-gallery--editor .p-gallery__item {
  aspect-ratio: 380/400;
  height: auto;
  width: 100%;
}

.p-gallery__editorFields {
  border-top: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
}

.p-gallery__editorRow {
  align-items: flex-start;
  background-color: #f7f7f7;
  border-radius: 0.5rem;
  display: flex;
  gap: 1rem;
  padding: 0.75rem;
}

.p-gallery__editorThumb {
  aspect-ratio: 380/400;
  background-color: #fff;
  border-radius: 0.375rem;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  width: 7.5rem;
}

.p-gallery__editorThumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-gallery__editorIndex {
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 0.25rem;
  bottom: 0.25rem;
  color: #fff;
  font-size: 0.625rem;
  left: 0.25rem;
  padding: 0.125rem 0.375rem;
  position: absolute;
}

.p-gallery__editorInputs {
  flex: 1;
  min-width: 0;
}

.p-gide {
  margin-top: 2.375rem;
}

.p-gide__inner {
  background-color: rgba(204, 204, 204, 0.28);
  max-width: 75.625rem;
  padding-block: 2.625rem;
  padding-inline: 4.5rem;
  width: 100%;
}

.p-gide__container {
  display: flex;
  gap: min(8vw, 5rem);
}

.p-gide__wrapper {
  align-items: baseline;
  display: flex;
  flex-direction: column;
}

.p-gide__title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2;
}

.p-gide__tex {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 1.125rem;
}

.p-gide__btn {
  margin-top: 1.125rem;
}

.p-gide__items {
  display: flex;
  gap: 2.375rem;
}

.p-gide__item {
  max-width: 11.25rem;
}

.p-guidelineCard {
  aspect-ratio: 580/351;
  background-color: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 1.25rem;
  container-type: inline-size;
  margin-inline: auto;
  max-width: 36.25rem;
  position: relative;
  width: 100%;
}

.p-guidelineCard .p-guidelineCard__ttl {
  -webkit-transform: translate(-50%, -50%);
  border: none;
  color: #1e2142;
  font-size: 1.875rem;
  font-weight: 700;
  left: 50%;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
  top: 7.6724cqw;
  transform: translate(-50%, -50%);
  width: 100%;
}
.p-guidelineCard .p-guidelineCard__ttl::before {
  content: none;
}

.p-guidelineCard .p-guidelineCard__figure {
  height: 41.0345cqw;
  left: 2.5862cqw;
  margin: 0;
  position: absolute;
  top: 15.5172cqw;
  width: 28.8397cqw;
}
.p-guidelineCard .p-guidelineCard__figure img {
  -o-object-fit: cover;
  aspect-ratio: auto;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-guidelineCard .p-guidelineCard__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #333;
  display: -webkit-box;
  font-size: 2.7586cqw;
  left: 33.4483cqw;
  line-height: 1.3;
  margin: 0;
  overflow: hidden;
  position: absolute;
  text-overflow: ellipsis;
  top: 15.3448cqw;
  width: 61.8966cqw;
}

.p-guidelineCard .p-guidelineCard__btn {
  align-items: center;
  border: 2px solid #d6d6d6;
  border-radius: 3.4483cqw;
  display: flex;
  height: 10.3448cqw;
  justify-content: center;
  position: absolute;
  right: 10cqw;
  text-decoration: none;
  transition: opacity 0.3s ease;
  width: 54.3103cqw;
}
.p-guidelineCard .p-guidelineCard__btn:hover {
  opacity: 0.8;
}
.p-guidelineCard .p-guidelineCard__btn.is-disabled {
  pointer-events: none;
}

.p-guidelineCard .p-guidelineCard__btn--pdf {
  background-color: #e2829d;
  top: 33.7931cqw;
}

.p-guidelineCard .p-guidelineCard__btn--web {
  background-color: #9db1cf;
  top: 46.2069cqw;
}

.p-guidelineCard__btnText {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.7586cqw;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.p-guidelineCard__btnArrow {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  height: 1.7241cqw;
  position: absolute;
  right: 7.7586cqw;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 1.7241cqw;
}

.p-guidelineSection {
  padding-block: 0.625rem;
}

.p-guidelineSection .p-guidelineSection__ttl {
  border: none;
  color: #1e2142;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  text-align: center;
}
.p-guidelineSection .p-guidelineSection__ttl::before {
  content: none;
}

.p-guidelineSection .p-guidelineSection__line {
  background: linear-gradient(176.8deg, #f3bbc3 35%, #9db1cf 98%);
  display: block;
  height: 1px;
  margin: 0.5rem auto 0;
  max-width: 32.125rem;
  width: 100%;
}

.p-guidelineSection .p-guidelineSection__grid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, minmax(0, 36.25rem));
  justify-content: center;
  margin-top: 3.8125rem;
}
.p-guidelineSection .p-guidelineSection__grid .p-quality-block,
.p-guidelineSection .p-guidelineSection__grid .p-guidelineCard {
  margin: 0;
}

.p-guidelineSection .p-guidelineSection__more {
  margin-top: 3.125rem;
  text-align: center;
}

.p-guidelineSection .p-guidelineSection__moreBtn {
  align-items: center;
  background-color: #fff;
  border: 2px solid #1E2142;
  border-radius: 1.25rem;
  display: inline-flex;
  height: 3.75rem;
  justify-content: center;
  max-width: 23.9375rem;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 100%;
}

.p-guidelineSection .p-guidelineSection__moreText {
  color: #1E2142;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  transition: color 0.3s;
}

.p-guidelineSection .p-guidelineSection__moreArrow {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #1E2142;
  border-right: 2px solid #1E2142;
  height: 0.5rem;
  position: absolute;
  right: 4.375rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.5rem;
}

body.noscroll {
  overflow: hidden;
}

.p-header {
  align-items: center;
  display: flex;
  height: 6.875rem;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 3;
}

.p-header__sns {
  background: linear-gradient(90deg, #FAEEF5 0%, #E9F5FD 100%);
  height: 2.5rem;
}

.p-header__snsInner {
  height: inherit;
  margin-left: auto;
  margin-right: auto;
  width: 83.3333333333%;
}

.p-header__snsFlex {
  display: flex;
  gap: 0.9375rem;
  height: inherit;
  justify-content: flex-end;
}

.p-header__snsIcon {
  align-items: center;
  display: flex;
  height: inherit;
  justify-content: center;
  width: 1.4375rem;
}

.p-header__inner {
  align-items: center;
  background-color: #fff;
  border-radius: 3.125rem;
  display: flex;
  height: 5rem;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 72.5rem;
  padding-block: 1.5rem;
  padding-inline: 1.25rem 1rem;
  width: 100%;
  z-index: 3;
}

.p-header__logo {
  max-width: 10.625rem;
  position: relative;
}
.p-header__logo img {
  transition: -webkit-filter 0.3s ease-in-out;
  transition: filter 0.3s ease-in-out;
  transition: filter 0.3s ease-in-out, -webkit-filter 0.3s ease-in-out;
}

.p-header__logo-link {
  display: block;
  text-decoration: none;
}

.p-header__wrap {
  display: flex;
  gap: 1.5625rem;
  height: inherit;
  justify-content: space-between;
}

.p-header__nav {
  height: inherit;
}

.p-header__navList {
  color: #fff;
  justify-content: center;
}

.p-header__list {
  align-items: center;
  display: flex;
  gap: 1.75rem;
  height: inherit;
  justify-content: space-between;
}

.p-header__item {
  align-items: center;
  display: flex;
  height: inherit;
}

.p-header__item a {
  align-items: center;
  color: #3F3E3E;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  height: inherit;
  justify-content: center;
  line-height: normal;
  transition: opacity 0.3s ease-in-out;
}

.p-header__item:not(.p-header__item--cta) > a > span {
  display: inline-block;
  padding-bottom: 0.25rem;
  position: relative;
}

.p-header__item:not(.p-header__item--cta) > a > span::after {
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left center;
  background: linear-gradient(90deg, #E0A5B3 0%, #C3A6CB 100%);
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header__item--hasSubmenu {
  position: relative;
}

.p-header__submenu {
  -webkit-transform: translateX(-50%) translateY(-0.5rem);
  background-color: #fff;
  border-radius: 0 0 1.25rem 1.25rem;
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.06);
  left: 50%;
  opacity: 0;
  padding-bottom: 1.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-top: 1.5625rem;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translateX(-50%) translateY(-0.5rem);
  transition: opacity 0.25s ease, visibility 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
  visibility: hidden;
  width: 21.875rem;
  z-index: 4;
}
.p-header__submenuHead {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-bottom: 1.125rem;
  position: relative;
  text-align: center;
}

.p-header__submenuHead--link::after {
  background: #3F3E3E;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 0.3125rem;
  top: 0.375rem;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 0.375rem;
}
.p-header__submenuHead--link:hover::after {
  -webkit-transform: translateX(0.1875rem);
  transform: translateX(0.1875rem);
}

.p-header__submenuEn {
  color: #3F3E3E;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-header__submenuJa {
  color: #3F3E3E;
  font-family: "Roboto", sans-serif, "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  margin-top: 0.125rem;
}

.p-header__submenuLine {
  background: linear-gradient(90deg, #E0A5B3 0%, #C3A6CB 100%);
  display: block;
  height: 1px;
  margin-top: 0.625rem;
  width: 4.5rem;
}

.p-header__submenuList {
  display: flex;
  flex-direction: column;
  margin-top: 0.9375rem;
}

.p-header__submenuItem {
  margin-top: 1.4375rem;
}
.p-header__submenuItem:first-child {
  margin-top: 0;
}

.p-header__submenuItem a {
  align-items: center;
  color: #3F3E3E;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  gap: 0.625rem;
  height: auto;
  justify-content: space-between;
  line-height: 1.3;
}

.p-header__submenuItem a > span {
  display: inline-block;
  padding-bottom: 0.25rem;
  position: relative;
}

.p-header__submenuItem a > span::after {
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left center;
  background: linear-gradient(90deg, #E0A5B3 0%, #C3A6CB 100%);
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header__submenuArrow {
  flex-shrink: 0;
  height: 0.8125rem;
  width: 0.5rem;
}

.p-header__item--cta {
  margin-left: 0.5rem;
}

.p-header__item--cta a {
  padding: 0;
}

.p-header__item a .p-header__btn {
  align-items: center;
  background: #E38EA6;
  border: 1px solid #E38EA6;
  border-radius: 6.25rem;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  height: 3rem;
  justify-content: center;
  line-height: normal;
  text-align: center;
  transition: 0.3s all ease-in-out;
  width: 10.3125rem;
}
.c-hamburgerOuter {
  display: none;
}

.p-header__hamburger {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
}

.c-hamburger {
  cursor: pointer;
  display: block;
  height: 1.25rem;
  position: relative;
  transition: 0.3s all;
  width: 1.875rem;
}

.c-hamburger span:nth-child(1) {
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}

.c-hamburger span:nth-child(3) {
  -webkit-transform: translateY(7px);
  transform: translateY(7px);
}

/*OPEN時の動き*/
.js-open .c-hamburger span {
  background-color: #E38EA6;
  top: 50%;
  transition: ease-in-out 0.5s;
}

.js-open .c-hamburger span:nth-child(1) {
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.js-open .c-hamburger span:nth-child(2) {
  opacity: 0;
}

.js-open .c-hamburger span:nth-child(3) {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  left: 0;
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
  width: 100%;
}
.p-spNav {
  display: none;
}
.p-spNav.js-open {
  -webkit-transform: translateX(0%);
  opacity: 1;
  transform: translateX(0%);
  visibility: visible;
}

.p-spNav__inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-inline: 2.5rem;
  width: 100%;
}

.p-spNav__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-spNav__item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-spNav__link {
  -webkit-appearance: none;
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  font-weight: 500;
  justify-content: space-between;
  letter-spacing: 0.05em;
  line-height: 1.2;
  max-width: 100%;
  padding: 0;
  text-align: left;
  text-decoration: none;
  width: 17.5rem;
}

.p-spNav__label {
  display: inline-block;
}

.p-spNav__link--split {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.p-spNav__linkText {
  color: #fff;
  flex: 1;
  font: inherit;
  text-decoration: none;
}

.p-spNav__arrowBtn {
  -webkit-appearance: none;
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  height: 2rem;
  justify-content: center;
  margin-right: -0.5rem;
  padding: 0;
  width: 2rem;
}

.p-spNav__arrow {
  color: #fff;
  flex-shrink: 0;
  height: 0.375rem;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  width: 0.5625rem;
}

.p-spNav__item--hasSub.is-open .p-spNav__arrow {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-spNav__subList {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-spNav__subList[hidden] {
  display: none;
}

.p-spNav__subItem a {
  color: #fff;
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-decoration: none;
}

.p-spNav__divider {
  background-color: rgba(255, 255, 255, 0.5);
  display: block;
  height: 1px;
  max-width: 100%;
  width: 18.4375rem;
}

.p-spNav__contact {
  align-items: center;
  background-color: #E38EA6;
  border-radius: 1.25rem;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-top: 0;
  max-width: 18.4375rem;
  padding-block: 0.75rem;
  padding-inline: 2rem;
  text-decoration: none;
  width: 100%;
}
.p-spNav__contact span {
  display: inline-block;
}

.p-spNav__overlay {
  display: none;
  height: 100%;
  left: 0;
  max-width: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}

.DownMove {
  -webkit-transform: translateY(0);
  -webkit-animation: headerSlideDown 0.3s ease-in-out;
  animation: headerSlideDown 0.3s ease-in-out;
  left: 0;
  position: fixed !important;
  right: 0;
  top: 1.4375rem;
  transform: translateY(0);
  width: 100%;
  z-index: 20 !important;
}

.UpMove {
  -webkit-transform: translateY(-100%);
  background-color: #fff !important;
  left: 0;
  position: fixed !important;
  right: 0;
  top: 0;
  transform: translateY(-100%);
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  width: 100%;
  z-index: 20 !important;
}

@-webkit-keyframes headerSlideDown {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes headerSlideDown {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.p-hoge {
  color: blue;
  font-size: 6.25rem;
}

.p-hoge2 {
  color: pink;
  font-size: 1.875rem;
}

.p-hpWorkflow {
  background-color: #fff;
  padding-top: 5rem;
}

.p-hpWorkflow__inner {
  margin-inline: auto;
  max-width: 55rem;
  padding-inline: 1.25rem;
}

.p-hpWorkflow__head {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-hpWorkflow__headRight {
  margin-inline: auto;
  margin-top: 1.25rem;
}

.p-hpWorkflow__headLeft {
  flex-shrink: 0;
}

.p-hpWorkflow__num {
  color: #E38EA6;
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-hpWorkflow__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
  padding-top: 1.25rem;
  text-align: center;
}

.p-hpWorkflow__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin-bottom: 1.5rem;
  width: 100%;
}

.p-hpWorkflow__desc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-hpWorkflow__grid {
  -webkit-column-gap: 3.4375rem;
  -moz-column-gap: 3.4375rem;
  column-gap: 3.4375rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-inline: auto;
  max-width: 49.9375rem;
}

.p-hpWorkflow__col {
  display: block;
}

.p-hpWorkflow__step {
  align-items: flex-start;
  display: flex;
  gap: 1.5rem;
  position: relative;
}

.p-hpWorkflow__step + .p-hpWorkflow__step {
  margin-top: 2.125rem;
}

.p-hpWorkflow__col .p-hpWorkflow__step::before {
  -webkit-transform: translateX(-50%);
  background-color: #E2829D;
  bottom: -2.125rem;
  content: "";
  left: 1.5rem;
  position: absolute;
  top: 3rem;
  transform: translateX(-50%);
  width: 2px;
}

.p-hpWorkflow__col:last-child .p-hpWorkflow__step:last-child::before {
  bottom: 0;
}

.p-hpWorkflow__circle {
  align-items: center;
  background-color: #E2829D;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  height: 3rem;
  justify-content: center;
  position: relative;
  width: 3rem;
  z-index: 1;
}
.p-hpWorkflow__circle span {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
}

.p-hpWorkflow__text {
  max-width: 100%;
  padding-top: 0.5625rem;
  width: 100%;
}

.p-hpWorkflow__stepTtl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-hpWorkflow__stepDesc {
  color: #333;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.p-hpWorkflow2 {
  background-color: #fff;
  padding-top: 5rem;
}

.p-hpWorkflow2__inner {
  margin-inline: auto;
  max-width: 55rem;
  padding-inline: 1.25rem;
}

.p-hpWorkflow2__head {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-hpWorkflow2__headRight {
  margin-inline: auto;
}

.p-hpWorkflow2__headLeft {
  flex-shrink: 0;
}

.p-hpWorkflow2__num {
  color: #E38EA6;
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-hpWorkflow2__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-hpWorkflow2__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin-bottom: 1.5rem;
  width: 100%;
}

.p-hpWorkflow2__desc {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-hpWorkflow2__grid {
  -webkit-column-gap: 3.4375rem;
  -moz-column-gap: 3.4375rem;
  column-gap: 3.4375rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-inline: auto;
  max-width: 49.9375rem;
}

.p-hpWorkflow2__col {
  display: block;
}

.p-hpWorkflow2__step {
  align-items: flex-start;
  display: flex;
  gap: 1.5rem;
  position: relative;
}

.p-hpWorkflow2__step + .p-hpWorkflow2__step {
  margin-top: 2.125rem;
}

.p-hpWorkflow2__col .p-hpWorkflow2__step::before {
  -webkit-transform: translateX(-50%);
  background-color: #E2829D;
  bottom: -2.125rem;
  content: "";
  left: 1.5rem;
  position: absolute;
  top: 3rem;
  transform: translateX(-50%);
  width: 2px;
}

.p-hpWorkflow2__col:last-child .p-hpWorkflow2__step:last-child::before {
  bottom: 0;
}

.p-hpWorkflow2__col:first-child .p-hpWorkflow2__step:nth-child(3)::before {
  bottom: -0.625rem;
}

.p-hpWorkflow2__circle {
  align-items: center;
  background-color: #E2829D;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  height: 3rem;
  justify-content: center;
  position: relative;
  width: 3rem;
  z-index: 1;
}
.p-hpWorkflow2__circle span {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
}

.p-hpWorkflow2__text {
  max-width: 100%;
  padding-top: 0.5625rem;
  width: 100%;
}

.p-hpWorkflow2__stepTtl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-hpWorkflow2__stepDesc {
  color: #333;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.p-info {
  margin-top: 9.375rem;
}
.p-info__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 25px;
}
.p-info__wrapper {
  margin-bottom: 3rem;
}
.p-info__table-wrapper {
  margin-top: 3rem;
}
.p-info__table {
  background-color: #fff;
  border: 1px solid #7995BE;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.p-info__table tr {
  display: flex;
}
.p-info__table th,
.p-info__table td {
  border-bottom: 1px solid #DEDEDE;
  padding: 1.5rem 1.125rem;
  text-align: left;
  vertical-align: top;
}
.p-info__table th {
  align-items: center;
  background-color: #A1B3C0;
  border-right: 1px solid #DEDEDE;
  color: #fff;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  justify-content: center;
  text-align: center;
  width: 12.125rem;
}
.p-info__table th:nth-of-type(3) {
  background-color: #DEDEDE;
}
.p-info__table td {
  color: #333;
  width: 70%;
}
.p-info__table tr:last-child th,
.p-info__table tr:last-child td {
  border-bottom: none;
}
.p-info__address {
  line-height: 1.6;
}
.p-info__postal-code {
  margin-right: 0.5rem;
}
.p-info__address-text {
  display: inline;
}
.p-info__address-link {
  color: #1E2142;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-info__address-link:hover {
  opacity: 0.7;
}
.p-info__access {
  color: #333;
  font-size: 0.875rem;
}
.p-info__map-link {
  margin-top: 0.5rem;
}
.p-info__map-link a {
  align-items: center;
  color: #333;
  display: inline-flex;
  gap: 0.25rem;
  text-decoration: underline;
  transition: opacity 0.3s;
}
.p-info__map-link a:hover {
  opacity: 0.7;
}
.p-info__external-icon {
  flex-shrink: 0;
}
.p-info__business-list, .p-info__bank-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-info__business-list li, .p-info__bank-list li {
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
}
.p-info__business-list li:not(:last-child), .p-info__bank-list li:not(:last-child) {
  margin-bottom: 0.25rem;
}
.p-info__contact {
  line-height: 0.6;
}
.p-info__tel, .p-info__email {
  display: block;
}
.p-info__tel a, .p-info__email a {
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-info__tel a:hover, .p-info__email a:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.p-info__email {
  margin-top: 0.25rem;
}
.p-info__cert-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-info__cert-item {
  align-items: center;
  display: flex;
  justify-content: center;
  line-height: 0;
}
.p-info__cert-item img {
  -o-object-fit: contain;
  height: auto;
  max-height: 4.625rem;
  object-fit: contain;
  width: auto;
}
.p-info__table th.--gray {
  background-color: #7995BE;
  line-height: 5;
}

.p-interview {
  background-color: #fff;
  padding: 11.25rem 0 0rem;
}

.p-interview__inner {
  margin: auto;
  max-width: 78.125rem;
  width: 100%;
}

.p-interview__heading {
  text-align: center;
}

.p-interview__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: normal;
}

.p-interview__ttl-line {
  background: linear-gradient(176deg, #f3bbc3 35%, #9db1cf 98%);
  height: 1px;
  margin: 0.375rem auto 0;
  max-width: 80%;
  width: 28.9375rem;
}

.p-interview__sub {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 3.75rem;
  text-align: center;
}

.p-interview__content {
  align-items: flex-start;
  display: flex;
  gap: 2.5rem;
  margin-top: 1.875rem;
}

.p-interview__left {
  flex-shrink: 0;
  width: 25.875rem;
}

.p-interview__img {
  height: 25.875rem;
  overflow: hidden;
  width: 25.875rem;
}
.p-interview__img img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-interview__profile {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  margin-top: 1rem;
}

.p-interview__name {
  color: #333;
  font-size: 1.125rem;
  white-space: nowrap;
}

.p-interview__profile-text {
  color: #333;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem;
}

.p-interview__right {
  flex: 1;
  min-width: 0;
}

.p-interview__body {
  color: #333;
  font-size: 1.25rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 2rem;
}

.p-interview__btns {
  display: flex;
  gap: 1.25rem;
  margin-top: 1.875rem;
}

.p-interview__btn {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.25rem;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  position: relative;
  text-align: center;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  width: 16.75rem;
}
.p-interview__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 0.75rem;
  position: absolute;
  right: 1.0625rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s ease-in-out;
  width: 0.75rem;
}
.p-interview__btn.--company {
  background-color: #E2829D;
}
.p-interview__btn.--vision {
  background-color: #9db1cf;
}

.p-latestArticles {
  padding-block: 5rem;
}

.p-latestArticles__head {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 3rem;
}

.p-latestArticles__icon {
  background-image: url(../img/news/icon-note.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  flex-shrink: 0;
  height: 2.5rem;
  width: 2.5rem;
}

.p-latestArticles__ttl {
  color: #333;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.p-latestArticles__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

.p-latestArticles__card {
  background-color: #fff;
  border: 1px solid #E38EA6;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.p-latestArticles__card:hover {
  box-shadow: 0 4px 20px rgba(227, 142, 166, 0.2);
}

.p-latestArticles__link {
  box-sizing: border-box;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100%;
  padding: 2rem;
  text-decoration: none;
}

.p-latestArticles__thumb {
  aspect-ratio: 16/9;
  border-radius: 0.25rem;
  margin: 0;
  overflow: hidden;
  width: 100%;
}
.p-latestArticles__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
}
.p-latestArticles__link:hover .p-latestArticles__thumb img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.p-latestArticles__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
}

.p-latestArticles__meta {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.p-latestArticles__cat {
  color: #E38EA6;
  font-size: 1rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.p-latestArticles__divider {
  background-color: #e9e9e9;
  display: inline-block;
  flex-shrink: 0;
  height: 0.875rem;
  width: 1px;
}

.p-latestArticles__date {
  color: #333;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.p-latestArticles__title {
  color: #333;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.p-latestArticles__excerpt {
  color: #6e6e6e;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.p-latestArticles__btn {
  align-items: center;
  background-color: #E38EA6;
  border-radius: 1.25rem;
  display: flex;
  height: 2.9375rem;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s ease;
}
.p-latestArticles__link:hover .p-latestArticles__btn {
  background-color: #E2829D;
}

.p-latestArticles__btnTxt {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-latestArticles__arrow {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  display: inline-block;
  height: 0.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 0.625rem;
}

.p-latestArticles__empty {
  color: #333;
  font-size: 1rem;
  grid-column: 1/-1;
  text-align: center;
}

.p-latestArticles__pagination {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.p-latestArticles__pagination .page-numbers {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  list-style: none;
}
.p-latestArticles__pagination .page-numbers li {
  display: flex;
}
.p-latestArticles__pagination .page-numbers a,
.p-latestArticles__pagination .page-numbers span {
  align-items: center;
  border-radius: 0.625rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  min-width: 2.75rem;
  padding-inline: 0.25rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-latestArticles__pagination .page-numbers a {
  background-color: #E38EA6;
  color: #fff;
}
.p-latestArticles__pagination .page-numbers a:hover {
  opacity: 0.8;
}
.p-latestArticles__pagination .page-numbers .current {
  background-color: #fff;
  border: 1px solid #E38EA6;
  color: #E38EA6;
}
.p-latestArticles__pagination .page-numbers .dots {
  background-color: transparent;
  border: none;
  color: #E38EA6;
}

.p-makeSec__head {
  align-items: end;
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-makeSec__headRight {
  margin: 0 auto;
}

.p-makeSec__headLeft {
  flex-shrink: 0;
}

.p-makeSec__num {
  color: #E2829D;
  display: block;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-makeSec__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  letter-spacing: -0.00625rem;
  line-height: 1.3;
  text-align: center;
}

.p-makeSec__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.25rem;
  max-width: 47.25rem;
  width: 100%;
  width: 100%;
}

.p-makeFv {
  height: auto;
  overflow: hidden;
  padding: 6.25rem 0;
  position: relative;
}

.p-makeFv__bgWrap {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.p-makeFv__bgLayer {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.p-makeFv__bgLayer img {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}
.p-makeFv__bgLayer.--normal img {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.p-makeFv__bgLayer.--multiply {
  mix-blend-mode: multiply;
}
.p-makeFv__bgLayer.--multiply img {
  -webkit-transform: scaleY(-1);
  opacity: 0.8;
  transform: scaleY(-1);
}
.p-makeFv__bgLayer.--overlay img {
  -o-object-fit: cover;
  -o-object-position: center;
  object-fit: cover;
  object-position: center;
}

.p-makeFv__inner {
  -webkit-transform: translateY(-50%);
  -webkit-transform: translateX(-50%);
  align-items: center;
  display: flex;
  gap: 0.625rem;
  left: 50%;
  max-width: 75rem;
  position: absolute;
  top: 25%;
  transform: translateY(-50%);
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

.p-makeFv__text {
  flex: 1;
  margin-top: -6.25rem;
}

.p-makeFv__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.p-makeFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 1.25rem;
}

.p-makeFv__sub {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.p-makeFv__visual {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  position: relative;
  width: 33.25rem;
}
.p-makeFv__visual svg {
  display: block;
  height: auto;
  width: 100%;
}

body:has(.p-makeFv.--production) .p-header {
  background: transparent;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10;
}

.p-makeFv.--production {
  align-items: center;
  display: flex;
  height: 51.25rem;
  isolation: isolate;
  justify-content: center;
  min-height: 51.25rem;
  padding: 6.875rem 0 2.5rem;
}
.p-makeFv.--production .p-makeFv__bgWrap {
  z-index: auto;
}
.p-makeFv.--production .p-makeFv__inner {
  -webkit-transform: none;
  gap: 2.5rem;
  left: auto;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
  top: 1.25rem;
  transform: none;
  z-index: auto;
}
.p-makeFv.--production .p-makeFv__visual {
  aspect-ratio: 532/502;
  display: block;
  flex-shrink: 0;
  position: relative;
  width: 33.25rem;
}
.p-makeFv.--production .p-makeFv__visualChart {
  -webkit-filter: invert(1) hue-rotate(180deg);
  filter: invert(1) hue-rotate(180deg);
  inset: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
}
.p-makeFv.--production .p-makeFv__visualChart svg {
  display: block;
  height: 100%;
  width: 100%;
}
.p-makeFv.--production .p-makeFv__visualOverlay {
  inset: 0;
  position: absolute;
}
.p-makeFv.--production .p-makeFv__visualOverlay svg {
  display: block;
  height: 100%;
  width: 100%;
}
.p-makeFv.--production .p-makeFv__visualOverlay path {
  mix-blend-mode: plus-lighter;
}

.p-makeFv__img {
  margin: 0;
  position: relative;
}
.p-makeFv__img::before {
  background: url(../img/product/product-fv02.svg) no-repeat center center/contain;
  border-radius: 0.75rem;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
}
.p-makeFv__img img {
  border-radius: 0.75rem;
  display: block;
  height: auto;
  width: 100%;
}
.p-makeFv__img.--02::before {
  display: none;
}
.p-makeFv__img img {
  -o-object-fit: contain;
  aspect-ratio: 286/494;
  height: auto;
  max-width: 17.875rem;
  object-fit: contain;
}

.p-makeMistakes {
  background-color: #fff;
  padding: 5rem 0 0rem;
}

.p-makeMistakes__inner {
  margin: 0 auto;
  max-width: 55rem;
  padding-inline: 1.25rem;
}

.p-makeMistakes__lead {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
}

.p-makeMistakes__sub {
  color: #333;
  font-size: 1.25rem;
  font-weight: 300;
  margin-bottom: 0.625rem;
  margin-top: 1.25rem;
  text-align: center;
}

.p-makeMistakes__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  padding-top: 2.5rem;
}

.p-makeMistakes__card {
  align-items: center;
  background-color: #fff;
  border: 1px solid #9DB1CF;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1.25rem 1rem 1.25rem;
  position: relative;
  text-align: center;
}

.p-makeMistakes__icon {
  -webkit-transform: translateX(-50%);
  align-items: center;
  background-color: #EBEFF5;
  border: 1px solid #9DB1CF;
  border-radius: 1rem;
  display: flex;
  flex-shrink: 0;
  height: 4.5rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -2.25rem;
  transform: translateX(-50%);
  width: 8.75rem;
}
.p-makeMistakes__icon img {
  -o-object-fit: contain;
  height: 2.9375rem;
  object-fit: contain;
  width: 2.9375rem;
}

.p-makeMistakes__iconSpacer {
  height: 2rem;
}

.p-makeMistakes__cardTtl {
  color: #9DB1CF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-makeMistakes__cardDesc {
  color: #9DB1CF;
  font-size: 1rem;
  line-height: 1.7;
  padding: 0 1.5rem;
}

.p-makeMistakes__answer {
  background-color: #fff;
  border: 1px solid #E2829D;
  border-radius: 1.25rem;
  padding: 1.5rem 1.75rem;
  text-align: center;
}

.p-makeMistakes__answerLabel {
  color: #E38EA6;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.p-makeMistakes__answerText {
  color: #E38EA6;
  font-size: 1rem;
  line-height: 1.7;
}

.p-makeUsp {
  padding: 3.125rem 0 0rem;
}

.p-makeUsp__inner {
  margin: 0 auto;
  max-width: 66.875rem;
  padding-inline: 1.25rem;
}

.p-makeUsp__lead {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-align: center;
}

.p-makeUsp__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-makeUsp__item {
  align-items: flex-start;
  background-color: #fff;
  border: 0.0625rem solid #E2829D;
  border-radius: 0.75rem;
  display: flex;
  gap: 3.75rem;
  padding: 1.5rem 6rem 1.5rem 2.1875rem;
}

.p-makeUsp__img {
  flex-shrink: 0;
  height: 9.375rem;
  margin: 0;
  width: 12.5rem;
}
.p-makeUsp__img img {
  -o-object-fit: cover;
  border-radius: 0.5rem;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-makeUsp__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.875rem;
}

.p-makeUsp__ttl {
  color: #E38EA6;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-makeUsp__desc {
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
}

.p-makeUsp__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-makeUsp__tag {
  border: 0.0625rem solid #E38EA6;
  border-radius: 9999px;
  color: #E38EA6;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: -0.5rem;
  padding: 0.25rem 0.75rem;
}

.p-makeService {
  background-color: #fff;
  padding: 3.125rem 0 0;
}

.p-makeService__inner {
  margin: 0 auto;
  max-width: 67.75rem;
  padding-inline: 1.25rem;
}

.p-makeService__lead {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-makeService__table {
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-makeService__tableHead,
.p-makeService__tableRow {
  display: grid;
  grid-template-columns: 13.75rem 1fr;
}

.p-makeService__tableHead {
  background-color: #1E2142;
}

.p-makeService__tableRow {
  border-top: 1px solid #e0e0e0;
}
.p-makeService__tableRow:nth-child(even) {
  background-color: #fafafa;
}

.p-makeService__cell {
  align-self: center;
  color: #333;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.6;
  padding: 1.25rem 0.5rem;
}
.p-makeService__cell.--head {
  background-color: #9DB1CF;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}
.p-makeService__cell.--head:first-child {
  text-align: center;
}
.p-makeService__cell.--label {
  border-right: 1px solid #e0e0e0;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
.p-makeService__cell.--desc {
  font-size: 1rem;
  letter-spacing: 0.03em;
}

.p-makePrice {
  padding: 3.125rem 0 5rem;
}

.p-makePrice__inner {
  margin: 0 auto;
  max-width: 60rem;
  padding-inline: 1.25rem;
}

.p-makePrice__lead {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.p-makePrice__block {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 2.5rem 2.25rem 0rem;
}

.p-makePrice__blockHead {
  margin-bottom: 1.25rem;
}

.p-makePrice__blockTtl {
  border: 1px solid #E2829D;
  border-radius: 0.75rem;
  color: #E2829D;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0.5rem 1.5rem;
}

.p-makePrice__block:nth-of-type(2) .p-makePrice__blockTtl {
  background-color: #E2829D;
}

.p-makePrice__blockDesc {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 1.25rem;
  padding-left: 2.5rem;
}

.p-makePrice__compareArrow {
  display: none;
}

.p-makePrice__compareTable {
  border: 1px solid #9DB1CF;
  border-radius: 0.5rem;
  overflow: hidden;
  overflow-x: auto;
}

.p-makePrice__compareHead,
.p-makePrice__compareRow {
  display: grid;
  grid-template-columns: 10rem 1fr 1fr 1fr;
  min-width: 37.5rem;
}

.p-makePrice__compareHead {
  background-color: #1E2142;
}

.p-makePrice__compareRow {
  border-top: 1px solid #e0e0e0;
}

.p-makePrice__compareCell {
  align-content: center;
  border-right: 1px solid #e0e0e0;
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.6;
  padding: 0.875rem 1.25rem;
}
.p-makePrice__compareCell:last-child {
  border-right: none;
}
.p-makePrice__compareCell.--th {
  align-content: center;
  align-self: center;
  background-color: #9DB1CF;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  height: 100%;
  width: 100%;
}
.p-makePrice__compareCell.--th:first-child {
  text-align: center;
}
.p-makePrice__compareCell.--label {
  font-size: 0.875rem;
  font-weight: 700;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.p-makePrice__planArrow {
  display: none;
}

.p-makePrice__planTable {
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  overflow: hidden;
  overflow-x: auto;
}

.p-makePrice__planHead,
.p-makePrice__planRow {
  display: grid;
  grid-template-columns: 8.75rem 1fr 1fr 1fr;
  min-width: 35rem;
}

.p-makePrice__planHead {
  background-color: #1E2142;
}

.p-makePrice__planRow {
  border-top: 1px solid #e0e0e0;
}

.p-makePrice__planCell {
  border-right: 1px solid #e0e0e0;
  color: #333;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1.375rem 1rem;
}
.p-makePrice__planCell:last-child {
  border-right: none;
}
.p-makePrice__planCell.--th {
  background-color: #9DB1CF;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
}
.p-makePrice__planCell.--th.--02 {
  align-items: center;
  display: flex;
  justify-content: center;
}
.p-makePrice__planCell.--label {
  align-content: center;
  font-weight: 700;
  text-align: center;
}
.p-makePrice__planCell strong {
  font-size: 1.125rem;
  font-weight: 400;
}
.p-makePrice__planCell small {
  font-size: 0.75rem;
  font-weight: 500;
}

.p-makePrice__note {
  color: #666;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.7;
  margin-top: 1rem;
  padding-left: 2.5rem;
}

.p-makePrice__options {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  padding-top: 2.5rem;
}

.p-makePrice__optionCard {
  align-items: center;
  background-color: #fff;
  border: 1px solid #E2829D;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1rem 1.5rem;
  position: relative;
  text-align: center;
}

.p-makePrice__optionIcon {
  -webkit-transform: translateX(-50%);
  align-items: center;
  background-color: #F7DFE7;
  border: 1px solid #E2829D;
  border-radius: 1rem;
  display: flex;
  height: 4.5rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -2.25rem;
  transform: translateX(-50%);
  width: 8.625rem;
}
.p-makePrice__optionIcon img {
  -o-object-fit: contain;
  height: 2.5rem;
  object-fit: contain;
  width: 4rem;
}

.p-makePrice__optionIconSpacer {
  height: 3rem;
}

.p-makePrice__optionTtl {
  color: #E2829D;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.75rem;
  margin-top: 2rem;
}

.p-makePrice__optionList {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.p-makePrice__optionList li {
  color: #E2829D;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
}

.p-makePrice__cashflowChart {
  margin-top: 0.5rem;
}
.p-makePrice__cashflowChart figure img {
  -o-object-fit: contain;
  height: auto;
  margin: 1.25rem auto 0;
  max-width: 36.375rem;
  object-fit: contain;
}

.p-makePrice__chartBars {
  align-items: flex-end;
  border-bottom: 2px solid #333;
  display: flex;
  gap: 2rem;
  height: 25rem;
  justify-content: center;
  padding: 0 2.5rem;
}

.p-makePrice__chartBar {
  display: flex;
  flex: 0 0 10rem;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0.75rem;
}
.p-makePrice__chartBar.--other {
  background-color: #9DB1CF;
  height: 95%;
}
.p-makePrice__chartBar.--asakura {
  background-color: #E2829D;
  height: 26%;
}

.p-makePrice__chartBox {
  background-color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: #333;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  padding: 0.625rem 0.75rem;
  text-align: center;
  width: 100%;
}

.p-makePrice__chartMain {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: 0.375rem;
}

.p-makePrice__chartSub {
  color: #333;
  font-size: 0.8125rem;
  line-height: 1.6;
}

.p-makePrice__chartAxis {
  background-color: #333;
  height: 0.125rem;
}

.p-makePrice__chartLegend {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: center;
  margin-top: 1rem;
}

.p-makePrice__chartLegendItem {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.5rem;
}
.p-makePrice__chartLegendItem::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 1.25rem;
  width: 1.25rem;
}
.p-makePrice__chartLegendItem.--other::before {
  background-color: #9DB1CF;
}
.p-makePrice__chartLegendItem.--asakura::before {
  background-color: #E2829D;
}

.p-makeFlow {
  background-color: #fff;
  padding: 5rem 0 6.25rem;
}

.p-makeFlow__inner {
  margin: 0 auto;
  max-width: 60rem;
  padding-inline: 1.25rem;
}

.p-makeFlow__heading {
  margin-bottom: 2.5rem;
}

.p-makeFlow__ttl {
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}

.p-makeFlow__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  width: 100%;
}

.p-makeFlow__box {
  background-color: #f8f8f8;
  border-radius: 0.75rem;
  overflow: hidden;
}

.p-makeFlow__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.p-makeFlow__tab {
  background-color: #f0f0f0;
  border: none;
  color: #999;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  padding: 1.25rem 1.5rem;
  transition: 0.2s;
}
.p-makeFlow__tab.is-active {
  background-color: #fff;
  border-bottom: 3px solid #E2829D;
  color: #333;
}

.p-makeFlow__content {
  display: none;
  padding: 2.5rem 2.25rem;
}
.p-makeFlow__content.is-active {
  display: block;
}

.p-makeFlow__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-makeFlow__step {
  align-items: flex-start;
  display: flex;
  gap: 2rem;
  padding: 1.25rem 0;
}

.p-makeFlow__stepImg {
  flex-shrink: 0;
  height: 11.25rem;
  margin: 0;
  width: 11.25rem;
}
.p-makeFlow__stepImg img {
  -o-object-fit: cover;
  border-radius: 0.5rem;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-makeFlow__stepText {
  flex: 1;
  padding-top: 0.5rem;
}

.p-makeFlow__stepNum {
  color: #E2829D;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.p-makeFlow__stepTtl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}

.p-makeFlow__stepDesc {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
}

.p-makeFlow__stepArrow {
  background-color: #E2829D;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  height: 1.5rem;
  margin: 0.5rem auto;
  width: 1.875rem;
}

.p-makeFlow__link {
  margin-top: 2.5rem;
  text-align: center;
}

.p-makeFlow__faq {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}

.p-makeFlow__faqItem {
  background-color: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-makeFlow__faqQ {
  background-color: #f5f5f5;
  border-left: 4px solid #E2829D;
  color: #333;
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 1.25rem;
}

.p-makeFlow__faqA {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
  padding: 1rem 1.25rem;
}

body:has(.p-marketingFv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-marketingFv {
  background-color: #0d2240;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-marketingFv__bg {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.p-marketingFv__inner {
  height: 51.25rem;
  margin-inline: auto;
  max-width: 90rem;
  position: relative;
  z-index: 1;
}

.p-marketingFv__text {
  left: 6.875rem;
  max-width: 36.25rem;
  position: absolute;
  top: 20rem;
}

.p-marketingFv__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-marketingFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0.5rem;
}

.p-marketingFv__sub {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.25rem;
}

.p-marketingFv__visual {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.p-marketingFv__img {
  left: 63.125rem;
  position: absolute;
  top: 13.5rem;
  width: 17.9375rem;
}
.p-marketingFv__img img {
  display: block;
  height: auto;
  mix-blend-mode: screen;
  width: 100%;
}

.p-marketingFv__labelBlock {
  left: 46.3125rem;
  position: absolute;
  width: 17.5rem;
}
.p-marketingFv__labelBlock.--top {
  top: 18.9375rem;
}
.p-marketingFv__labelBlock.--bottom {
  top: 28.9375rem;
}

.p-marketingFv__badge {
  border: 1px solid #fff;
  color: #fff;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
  padding-block: 0.625rem;
  padding-inline: 1rem;
  text-align: center;
}
.p-marketingFv__badge.--blue {
  background-color: #80A7E2;
  width: 16.125rem;
}
.p-marketingFv__badge.--pink {
  background-color: #E38EA6;
  width: 9.375rem;
}

.p-marketingFv__labelText {
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.6;
  margin-top: 0.9375rem;
  white-space: nowrap;
}

.p-marketingFv__labelNote {
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-top: 0.5rem;
  white-space: nowrap;
}

.p-marketingLayer {
  background-color: #fff;
  padding: 5rem 0;
}

.p-marketingLayer__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.p-marketingLayer__diagram {
  align-items: flex-start;
  display: flex;
  gap: 2.5rem;
  width: 100%;
}

.p-marketingLayer__figure {
  flex-shrink: 0;
  width: 30rem;
}
.p-marketingLayer__figure img {
  display: block;
  height: auto;
  width: 100%;
}

.p-marketingLayer__labels {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.5rem;
  padding-top: 1.25rem;
}

.p-marketingLayer__label {
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.6;
  white-space: nowrap;
}
.p-marketingLayer__label.--top {
  color: #fff;
  font-weight: 300;
}

.p-marketingLayer__labelNote {
  color: 4white;
  font-size: 0.8125rem;
  margin-top: 0.25rem;
}

.p-marketingLayer__labelBadge {
  background-color: #E2829D;
  border: 0.0625rem solid #fff;
  color: #fff;
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 700;
  margin-top: 0.375rem;
  padding: 0.625rem 1rem;
}
.p-marketingLayer__labelBadge.--02 {
  background-color: #80A7E2;
}

.p-marketingLayer__usp {
  text-align: center;
}

.p-marketingLayer__uspBadge {
  background-color: #1E2142;
  border-radius: 1.875rem;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.625rem 2rem;
}

.p-marketingUsp {
  padding: 6.25rem 0 0;
}

.p-marketingUsp__head {
  align-items: end;
  display: flex;
  justify-content: center;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingUsp__headLeft {
  flex-shrink: 0;
}

.p-marketingUsp__headRight {
  margin: 0 auto 1.25rem;
}

.p-marketingUsp__num {
  color: #E2829D;
  display: block;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-marketingUsp__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-marketingUsp__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingUsp__lead {
  margin-bottom: 1.25rem;
  text-align: center;
}

.p-marketingUsp__leadTtl {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

.p-marketingUsp__sub {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
}

.p-marketingCommit {
  margin: 3.125rem auto 0;
  margin-bottom: 3.375rem;
  max-width: 64.375rem;
  width: 100%;
}
.p-marketingCommit:last-child {
  margin-bottom: 0;
}

.p-marketingCommit + .p-marketingCommit {
  margin-bottom: 0rem;
}

.p-marketingCommit__ttl {
  background-color: #fff;
  border: 1px solid #E38EA6;
  border-radius: 1.25rem;
  color: #E38EA6;
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 auto 1.5625rem;
  padding: 1rem 2rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-marketingCommit__lead {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  margin-bottom: 2rem;
  text-align: center;
}

.p-marketingFlow {
  align-items: stretch;
  align-items: center;
  display: grid;
  grid-template-columns: 1fr 1.9fr 1fr;
}

.p-marketingFlow__item {
  flex: 1;
  position: relative;
}
.p-marketingFlow__item:not(:last-child) {
  margin-right: 2.25rem;
}
.p-marketingFlow__item:not(:last-child)::after {
  -webkit-transform: translateY(-50%);
  color: #E2829D;
  content: "▶";
  font-size: 1rem;
  position: absolute;
  right: -1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.p-marketingFlow__box {
  background-color: #fff;
  border-radius: 1.25rem;
  height: 100%;
  line-height: 1.6;
  padding: 2.125rem 1.25rem;
  text-align: center;
}
.p-marketingFlow__box.--strategy {
  border: 2px solid #9db1cf;
}
.p-marketingFlow__box.--analysis {
  border: 2px solid #E38EA6;
}
.p-marketingFlow__box.--ad {
  border: 2px solid #E38EA6;
}

.p-marketingFlow__label {
  font-size: 1.25rem;
  font-weight: 700;
}
.--strategy .p-marketingFlow__label {
  color: #9db1cf;
}
.--analysis .p-marketingFlow__label, .--ad .p-marketingFlow__label {
  color: #E38EA6;
}

.p-marketingFlow__sub {
  color: #9db1cf;
  font-size: 1rem;
  font-weight: 300;
  margin-bottom: 0.625rem;
}
.p-marketingFlow__sub.--02 {
  color: #E38EA6;
}

.p-marketingFlow__desc {
  color: #333;
  font-size: 0.875rem;
}

.p-marketingFlow__list {
  color: #333;
  font-size: 0.875rem;
  line-height: 1.3;
  list-style: none;
}
.p-marketingFlow__list li {
  color: #E38EA6;
}

.p-marketingFlow__result {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 auto;
  margin-top: 1.5rem;
  padding-inline: 3.75rem;
  position: relative;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-marketingFlow__result::before {
  -webkit-transform: translateY(-50%);
  -webkit-transform: rotate(45deg);
  background-color: #333;
  color: #333;
  content: "";
  display: inline-block;
  height: 0.0625rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transform: rotate(45deg);
  width: 1.875rem;
}
.p-marketingFlow__result::after {
  -webkit-transform: translateY(-50%);
  -webkit-transform: rotate(-45deg);
  background-color: #333;
  color: #333;
  content: "";
  display: inline-block;
  height: 0.0625rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transform: rotate(-45deg);
  width: 1.875rem;
}

.p-marketingPdca {
  border-radius: 0.75rem;
  margin: 0 auto;
  max-width: 47.625rem;
}

.p-marketingPdca__ttl {
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2rem;
  text-align: center;
}

.p-marketingPdca__venn {
  align-items: stretch;
  display: flex;
  min-height: 12.5rem;
  position: relative;
}

.p-marketingPdca__pill {
  border-radius: 62.4375rem;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 1.75rem 1.75rem;
  position: relative;
  z-index: 0;
}
.p-marketingPdca__pill.--ad {
  background-color: #9db1cf;
  color: #fff;
  padding-right: 5rem;
}
.p-marketingPdca__pill.--creative {
  background-color: #E38EA6;
  color: #fff;
  margin-left: -3.5rem;
  padding-left: 5rem;
}

.p-marketingPdca__pillTtl {
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.625rem;
}

.p-marketingPdca__pillList {
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1.7;
  list-style: none;
}
.p-marketingPdca__pillList li + li {
  margin-top: 0.25rem;
}

.p-marketingPdca__center {
  -webkit-transform: translate(-50%, -50%);
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  color: #1E2142;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 7.5rem;
  justify-content: center;
  left: 50%;
  line-height: 1.4;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 7.5rem;
  z-index: 2;
}

.p-marketingFeatures {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, 1fr);
}

.p-marketingFeatures__item {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.875rem 1.875rem;
  transition: box-shadow 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
}
.p-marketingFeatures__item.--02 {
  padding-right: 0;
}

.p-marketingFeatures__header {
  align-items: flex-end;
  display: flex;
  gap: 0.75rem;
}

.p-marketingFeatures__num {
  color: #E2829D;
  display: block;
  flex-shrink: 0;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-marketingFeatures__ttl {
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  margin-bottom: 0.25rem;
}

.p-marketingFeatures__desc {
  color: #333;
  font-size: 0.875rem;
  line-height: 1.6;
  max-width: 26.4375rem;
}

.p-marketingMedia {
  background-color: #fff;
  padding: 2.1875rem 0;
}

.p-marketingMedia__inner {
  margin: 0 auto;
  max-width: 64.625rem;
  width: 100%;
}

.p-marketingMedia__head {
  align-items: end;
  display: flex;
  justify-content: center;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingMedia__headLeft {
  flex-shrink: 0;
}

.p-marketingMedia__headRight {
  margin: 0 auto 1.25rem;
}

.p-marketingMedia__num {
  color: #E38EA6;
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-marketingMedia__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-marketingMedia__line {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingMedia__sub {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-marketingMedia__table {
  border: 1px solid #D9D9D9;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-marketingMedia__slider {
  display: none;
}

.p-marketingMedia__navPrev,
.p-marketingMedia__navNext {
  background: none;
  border: none;
  bottom: 2rem;
  cursor: pointer;
  display: grid;
  padding: 0;
  place-items: center;
  position: absolute;
  top: 0;
  width: 1.875rem;
  z-index: 2;
}
.p-marketingMedia__navPrev::before,
.p-marketingMedia__navNext::before {
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.p-marketingMedia__navPrev.swiper-button-disabled,
.p-marketingMedia__navNext.swiper-button-disabled {
  cursor: default;
  opacity: 0.3;
}

.p-marketingMedia__navPrev {
  left: 0;
}
.p-marketingMedia__navPrev::before {
  border-color: transparent #9db1cf transparent transparent;
  border-width: 0.9375rem 1.25rem 0.9375rem 0;
}

.p-marketingMedia__navNext {
  right: 0;
}
.p-marketingMedia__navNext::before {
  border-color: transparent transparent transparent #9db1cf;
  border-width: 0.9375rem 0 0.9375rem 1.25rem;
}

.p-marketingMedia__card {
  background-color: #fff;
  border: 1px solid #9db1cf !important;
  border-radius: 1.25rem;
  flex-shrink: 0;
  height: auto;
  overflow: hidden;
  width: 15.625rem;
}

.p-marketingMedia__cardHead {
  background-color: #9db1cf;
  color: #fff;
  display: grid;
  padding-inline: 0.6875rem;
  place-items: center;
  text-align: center;
}

.p-marketingMedia__cardName {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.p-marketingMedia__cardNameSub {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.p-marketingMedia__cardBody {
  padding-block: 0.9375rem;
  padding-inline: 0.6875rem;
  text-align: center;
}

.p-marketingMedia__cardLabel {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.p-marketingMedia__cardDesc {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.p-marketingMedia__pagination {
  bottom: 0;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}
.p-marketingMedia__pagination .swiper-pagination-bullet {
  background-color: #D9D9D9;
  opacity: 1;
}
.p-marketingMedia__pagination .swiper-pagination-bullet-active {
  background-color: #9db1cf;
}

.p-marketingMedia__tableHead {
  background-color: #9db1cf;
  display: grid;
  grid-template-columns: 13.75rem 1fr;
}

.p-marketingMedia__tableRow {
  border-top: 1px solid #D9D9D9;
  display: grid;
  grid-template-columns: 13.75rem 1fr;
}
.p-marketingMedia__tableRow:first-of-type {
  border-top: none;
}

.p-marketingMedia__tableCell {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.03em;
  line-height: 1.7;
  padding: 1.25rem 0.125rem;
}
.p-marketingMedia__tableCell.--head {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
}
.p-marketingMedia__tableCell.--head.--02 {
  padding-left: 1.25rem;
}
.p-marketingMedia__tableCell.--label {
  background-color: #f4f6fb;
  border-right: 1px solid #D9D9D9;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-marketingMedia__tableCell.--desc {
  padding-inline: 1.25rem;
}

.p-marketingMedia__tableHead .p-marketingMedia__tableCell:first-child {
  font-size: 1.125rem;
  justify-content: center;
  text-align: center;
}

.p-marketingMedia__mediaName {
  color: #1E2142;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}

.p-marketingMedia__mediaNameSub {
  color: #000;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 0.125rem;
  text-align: center;
}

.p-marketingPrice {
  padding: 3.125rem 0 0;
}

.p-marketingPrice__inner {
  margin: auto;
  max-width: 64.625rem;
}

.p-marketingPrice__head {
  align-items: end;
  display: flex;
  justify-content: center;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingPrice__headLeft {
  flex-shrink: 0;
}

.p-marketingPrice__headRight {
  margin: 0 auto 1.25rem;
}

.p-marketingPrice__num {
  color: #E38EA6;
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-marketingPrice__ttl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-marketingPrice__line {
  background: #6E6E6E;
  height: 1px;
  margin: 0 auto 1.5rem;
  max-width: 47.25rem;
  width: 100%;
}

.p-marketingPrice__sub {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-marketingPrice__table {
  background-color: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 0.5rem;
  margin-bottom: 0.625rem;
  overflow: hidden;
}

.p-marketingPrice__cards {
  display: none;
}

.p-marketingPrice__card {
  background-color: #fff;
  border: 1px solid #9db1cf;
  border-radius: 1.25rem;
  overflow: hidden;
  width: 15.625rem;
}

.p-marketingPrice__cardHead {
  background-color: #9db1cf;
  color: #fff;
  display: grid;
  height: 5rem;
  padding-inline: 0.6875rem;
  place-items: center;
  text-align: center;
}

.p-marketingPrice__cardName {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.p-marketingPrice__cardBody {
  padding-block: 0.9375rem;
  padding-inline: 0.6875rem;
  text-align: center;
}

.p-marketingPrice__cardPrice {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.p-marketingPrice__cardDesc {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin-top: 1.3125rem;
}

.p-marketingPrice__cardNote {
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  letter-spacing: 0;
  line-height: 1.5;
}

.p-marketingPrice__tableHead {
  background-color: #9DB1CF;
  display: grid;
  grid-template-columns: 13.75rem 15rem 1fr;
}

.p-marketingPrice__tableRow {
  border-top: 1px solid #D9D9D9;
  display: grid;
  grid-template-columns: 13.75rem 15rem 1fr;
}

.p-marketingPrice__tableCell {
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
  padding: 1.5rem 0.9375rem;
}
.p-marketingPrice__tableCell.--head {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.p-marketingPrice__tableCell.--label {
  align-items: center;
  background-color: #fff;
  border-right: 1px solid #D9D9D9;
  color: #3f3e3e;
  display: flex;
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  text-align: center;
}
.p-marketingPrice__tableCell.--price {
  align-items: center;
  border-right: 1px solid #D9D9D9;
  color: #333;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
}
.p-marketingPrice__tableCell.--desc {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  justify-content: center;
}

.p-marketingPrice__note {
  color: #666;
  font-size: 0.8125rem;
}

.p-marketingPrice__recommend {
  border-left: 0.125rem solid #D3D3D3;
  letter-spacing: 0;
  margin-bottom: 2.5rem;
  padding-left: 1.25rem;
}

.p-marketingPrice__recommendTtl {
  color: #E2829D;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.p-marketingPrice__recommendDesc {
  color: #333;
  font-size: 0.9375rem;
  line-height: 1.8;
  margin-left: 1.25rem;
}

.p-marketingPrice__btn {
  text-align: center;
}

.p-marketingPrice__btnLink {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.75rem;
  padding: 0.875rem 2rem;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.p-marketingPrice__btnLink::after {
  -webkit-transform: rotate(-45deg);
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 0.625rem;
  transform: rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.625rem;
}

.p-marketingWorkflow {
  background-color: #fff;
  padding-top: 10rem;
}

.p-marketingWorkflow__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 25px;
}

.p-marketingWorkflow__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
}

.p-marketingWorkflow__line {
  background: linear-gradient(92deg, #F3BBC3 35.08%, #9DB1CF 98.31%);
  height: 2px;
  margin: 1.25rem auto 0;
  max-width: 47.8125rem;
}

.p-marketingWorkflow__sub {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 3.75rem;
  text-align: center;
}

.p-marketingWorkflow__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin: 2.5rem auto 0;
  max-width: 57.5rem;
}

.p-marketingWorkflow__item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-marketingWorkflow__q {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}

.p-marketingWorkflow__qIcon {
  align-items: center;
  background: linear-gradient(135deg, #9db1cf 0%, #7995be 100%);
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-family: "Poppins", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  height: 2.5rem;
  justify-content: center;
  line-height: 1;
  width: 2.5rem;
}

.p-marketingWorkflow__qText {
  color: #333;
  flex: 1;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  margin: 0;
  padding-top: 0.25rem;
}

.p-marketingWorkflow__aText {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.001em;
  line-height: 1.8;
  margin: 0;
  padding-left: 3.5rem;
}

.p-media {
  display: flex;
  font-size: 1.25rem;
  justify-content: space-between;
  margin-top: 6.875rem;
  max-width: 100%;
  padding-bottom: 6.25rem;
  padding-top: 9rem;
}

.foo {
  font-size: 6.25rem;
}

.p-media__head {
  font-size: 1.875rem;
}

.p-media__txt {
  font-size: 1.25rem;
}

.p-media__img {
  width: 100%;
}

.p-mission__txt {
  margin-top: 4.375rem;
  padding-bottom: 0.375rem;
}
.p-mission__txt.--pink {
  color: #E2829D;
}

.p-mission__txt--area {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 2.375rem;
}

.p-modal {
  background: rgba(255, 255, 255, 0.7);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.p-modal__block {
  -webkit-transform: translate(-50%, -50%);
  background-color: #FEAEBB;
  border-radius: 0.625rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 27.5rem;
}

.p-modal__wrap {
  padding: 3.75rem 0 2.5rem;
  position: relative;
}

body:has(.p-newsFv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-news {
  background: url(../img/top/news-bg.webp) center top/cover no-repeat;
  height: 100%;
  isolation: isolate;
  padding-bottom: 5rem;
  padding-top: 5rem;
  position: relative;
  width: 100%;
}
.p-news::after {
  background: url(../img/news/news-bg02.webp) center center/contain no-repeat;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 36.5rem;
  left: 0;
  position: absolute;
  width: 100%;
}
.p-news:has(#panel3.js-show)::after {
  display: none;
}

.p-news__inner {
  position: relative;
  z-index: 10;
}

.p-news__txt {
  color: #fff;
  font-size: 1.25rem;
  margin: auto;
  max-width: 75rem;
}

.p-news__wrapper.--02 {
  grid-template-columns: 1fr;
}
.p-news__ttl {
  color: #9DB1CF !important;
}
.p-news__ttl span {
  color: #fff !important;
}
.p-news__ttl.--black span {
  color: #000 !important;
}

.p-news__content {
  margin-top: 5rem;
}

.p-news__list--items {
  padding-left: 6.0625rem;
}

.p-news__tabItem {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem 0 0 0;
  color: #E38EA6;
  display: flex;
  flex-shrink: 0;
  font-size: 1.125rem;
  font-weight: 700;
  height: 3.9375rem;
  justify-content: center;
  width: 12.125rem;
}
.p-news__tabItem[aria-selected=true] {
  color: #fff;
}
.p-news__tabItem.--news {
  background-color: #333;
  color: #fff;
}
.p-news__tabItem.--news[aria-selected=true] {
  background-color: #fff;
  color: #333;
}
.p-news__tabItem.--blog {
  background-color: #9DB1CF;
  color: #fff;
}
.p-news__tabItem.--blog[aria-selected=true] {
  background-color: #fff;
  color: #9DB1CF;
}
.p-news__tabItem.--recruit {
  background-color: #E38EA6;
  color: #fff;
}
.p-news__tabItem.--recruit[aria-selected=true] {
  background-color: #fff;
  color: #E38EA6;
}

.p-news__item {
  align-items: baseline;
  display: flex;
  margin-bottom: 0.625rem;
  min-height: 6.25rem;
  padding-bottom: 1rem;
  position: relative;
}
.p-news__item:last-of-type {
  padding-bottom: 0;
}
.p-news__item::before {
  background-color: #D9D9D9;
  bottom: 0;
  content: "";
  height: 1px;
  left: -6.0625rem;
  position: absolute;
  right: -0.0625rem;
}
.p-news__item:last-of-type::before {
  display: none;
}
.p-news__item a {
  align-items: baseline;
  display: flex;
  min-height: inherit;
  padding-top: 1.25rem;
  position: relative;
  width: 100%;
}
.p-news__item a::before {
  -webkit-transform: translateY(-50%);
  background-image: url(../img/news/icon-btn.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 5.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  transition: background-image 0.3s ease;
  width: 5.625rem;
}
.p-news__item a:hover::before, .p-news__item a:active::before, .p-news__item a:focus::before {
  background-image: url(../img/news/icon-btn-hover.svg);
}

#panel2 .p-news__item a::before {
  background-image: url(../img/news/icon-btn-blog.svg);
}
#panel2 .p-news__item a:hover::before, #panel2 .p-news__item a:active::before, #panel2 .p-news__item a:focus::before {
  background-image: url(../img/news/icon-btn-blog-hover.svg);
}

.p-news__left {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1rem;
}

.p-news__right {
  flex: 1;
  max-width: 49.5rem;
  min-width: 0;
}

.p-news__tabList {
  display: flex;
  gap: 0.0625rem;
  padding-left: 1.4375rem;
}

.p-news__tabContent {
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 2.5rem 1rem 0;
}

.p-news__tabItemContent {
  display: none;
}
.p-news__tabItemContent.js-show {
  display: block;
}

.p-news__date {
  color: #6E6E6E;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin-right: 0.75rem;
}

.p-news__title {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
.p-news__title.--02 {
  padding-left: 0;
}

.p-news__excerpt {
  color: #5C5C5C;
  font-size: 0.875rem;
  line-height: 1.4;
  margin-right: 1rem;
  margin-top: 0.625rem;
}
.p-news__excerpt.--02 {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 2;
  margin-top: 2rem;
}

.p-news__btnArea {
  margin-top: 4rem;
  text-align: center;
}

.p-news__btn.--02 {
  margin-top: 5.875rem;
}

.p-news__body {
  margin-top: 5.875rem;
}

.p-newsFv {
  background-color: #7ab4d4;
  min-height: 31.25rem;
  overflow: hidden;
  padding: 12.5rem 0 3.75rem;
  position: relative;
}
.p-newsFv::before {
  -webkit-transform: rotate(180deg);
  background-image: url(../img/news/news-fv-bg.webp);
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0;
  position: absolute;
  transform: rotate(180deg);
  z-index: 0;
}
.p-newsFv::after {
  -webkit-transform: scaleY(-1);
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.8;
  position: absolute;
  transform: scaleY(-1);
  z-index: 1;
}

.p-newsFv__bg {
  display: none;
}

.p-newsFv__inner {
  position: relative;
  z-index: 2;
}

.p-newsFv__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.p-newsFv__ttl {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.25rem;
}

.p-newsFv__sub {
  color: #fff;
  font-size: 1.875rem;
  line-height: 1.7;
}

.p-newsPage {
  background-color: #fff;
  padding: 5rem 0 6.25rem;
}

.p-newsPage__layout {
  align-items: flex-start;
  display: flex;
  gap: 5rem;
}

.p-newsPage__sidebar {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 3rem;
  width: 12.5rem;
}

.p-newsPage__sideSection {
  display: flex;
  flex-direction: column;
}

.p-newsPage__sideTtl {
  color: #E38EA6;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.p-newsPage__sideLine {
  background: linear-gradient(to right, #f3bbc3, #9db1cf);
  height: 1px;
  margin-bottom: 0.875rem;
  width: 100%;
}

.p-newsPage__sideList {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  list-style: none;
}

.p-newsPage__sideItem a {
  color: #000;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s;
}
.p-newsPage__sideItem a:hover {
  color: #E38EA6;
}

.p-newsPage__sideLink {
  color: #000;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s;
}
.p-newsPage__sideLink:hover {
  color: #E38EA6;
}
.p-newsPage__sideLink.is-active {
  color: #E38EA6;
  font-weight: 700;
}

.page__main {
  margin-top: 5rem;
}

.p-newsPage__main {
  flex: 1;
  min-width: 0;
}

.p-newsPage__list {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.p-newsPage__item {
  border-bottom: 1px solid #D9D9D9;
  position: relative;
}
.p-newsPage__item::after {
  -webkit-transform: translateY(-50%);
  color: #E38EA6;
  content: "▶︎";
  font-size: 1.25rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.p-newsPage__link {
  display: block;
  padding: 1.5rem 0;
  padding-right: 2.5rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-newsPage__link:hover {
  opacity: 0.7;
}

.p-newsPage__meta {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.p-newsPage__date {
  color: #000;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.p-newsPage__tag {
  align-items: center;
  background-color: #fff;
  border: 0.0625rem solid #E38EA6;
  border-radius: 0.625rem;
  color: #E38EA6;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}

.p-newsPage__postTtl {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  color: #000;
  display: -webkit-box;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-newsPage__empty {
  color: #333;
  font-size: 1rem;
  padding: 2.5rem 0;
}

.p-newsPage__pagination {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.p-newsPage__pagination .page-numbers {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  list-style: none;
}
.p-newsPage__pagination .page-numbers li {
  display: flex;
}
.p-newsPage__pagination .page-numbers a,
.p-newsPage__pagination .page-numbers span {
  align-items: center;
  border-radius: 0.625rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  min-width: 2.75rem;
  padding-inline: 0.25rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-newsPage__pagination .page-numbers a {
  background-color: #E38EA6;
  color: #fff;
}
.p-newsPage__pagination .page-numbers a:hover {
  opacity: 0.8;
}
.p-newsPage__pagination .page-numbers .current {
  background-color: #fff;
  border: 1px solid #E38EA6;
  color: #E38EA6;
}
.p-newsPage__pagination .page-numbers .dots {
  background-color: transparent;
  border: none;
  color: #E38EA6;
}

.p-newsArea {
  margin-top: 8.375rem;
}

.p-news__wrapper {
  display: grid;
  gap: 5rem;
  grid-template-columns: 1fr 1.2fr;
}

.p-news__box {
  padding-left: 1.875rem;
  position: relative;
}
.p-news__box:before {
  background-image: url("../img/border-01.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 6.25rem;
  left: 0;
  position: absolute;
  width: 0.75rem;
}

.p-newsArea__content {
  margin-top: 4rem;
}

.p-newsArea__title {
  color: #000;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-newArea__text {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 0.875rem;
  position: relative;
}
.p-newArea__text.--02 {
  padding-bottom: 4.5rem;
}

.p-column__btn {
  margin-top: 4.375rem;
}

/*
 * リスト形式ブロック（asakura/numbered-list）
 * Figma 5826:9863 準拠
 *  - 背景: #9db1cf
 *  - パディング: 24px
 *  - 項目間ギャップ: 8px
 *  - 番号と本文のギャップ: 12px
 *  - フォント: Noto Sans JP Regular 16px / 白 / line-height 1.3
 *  - 番号は CSS counter で自動連番（1. 2. 3. ...）
 */
.p-numberedList {
  background-color: #9db1cf;
  color: #fff;
  padding: 1.5rem;
  width: 100%;
}

.p-numberedList__list {
  counter-reset: p-numberedList-counter;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-numberedList__item {
  align-items: flex-start;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  gap: 0.75rem;
  letter-spacing: 0;
  line-height: 1.3;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-numberedList__item::before {
  color: #fff;
  content: counter(p-numberedList-counter) ".";
  counter-increment: p-numberedList-counter;
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
}

.p-numberedList__text {
  color: #fff;
  flex: 1;
  line-height: 1.3;
  min-width: 0;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant ol / li / span の上書き（list-style:decimal、padding-left、margin-top等）を打ち消す
 */
.p-numberedList-block {
  margin-block: 1.5rem;
  position: relative;
}

.p-singlePost__body .p-numberedList-block .p-numberedList__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-singlePost__body .p-numberedList-block .p-numberedList__item {
  color: #fff;
  list-style: none;
  margin-top: 0;
}
.p-singlePost__body .p-numberedList-block .p-numberedList__text {
  color: #fff;
}

.p-okList {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  line-height: 1;
  overflow-wrap: break-word;
  padding: 0.9375rem 2.1875rem 1.0625rem 1.5625rem;
  word-break: break-word;
}

.p-okList .p-okList__tag {
  align-items: center;
  background-color: #e2829d;
  border-radius: 0.625rem;
  color: #fff;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.25rem 0.75rem;
}

.p-okList--ng .p-okList__tag {
  background-color: #9db1cf;
}

.p-okList .p-okList__body {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0.9375rem 0 0 0.625rem;
}
.p-okList .p-okList__body p {
  margin: 0;
}
.p-okList .p-okList__body ul,
.p-okList .p-okList__body ol {
  margin: 0;
  padding-left: 1.4em;
}
.p-okList .p-okList__body ul {
  list-style-type: "・";
}
.p-okList .p-okList__body ol {
  list-style: decimal;
}
.p-okList .p-okList__body li {
  margin-top: 0;
}

.p-okList .p-okList__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0.9375rem 0 0 0.625rem;
}

/*
  Figma: node 6228-3384 (Group 1000009447)
  Frame: 1064x622 (cards 522x469, pill 345x100 rounded 50, gap 20)
*/
.p-poster02 {
  margin-inline: auto;
  max-width: 66.5rem;
  padding-top: 4.125rem;
}

.p-poster02__cards {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
}

.p-poster02__card {
  border-radius: 1.25rem;
  height: 29.3125rem;
  padding-inline: 1.75rem;
  padding-top: 5.875rem;
  position: relative;
}

.p-poster02__card--blue {
  background-color: #9db1cf;
}

.p-poster02__card--pink {
  background-color: #e2829d;
  border: 1px solid #e38ea6;
}

.p-poster02__pill {
  -webkit-transform: translateX(-50%);
  align-items: center;
  background-color: #fff;
  border-radius: 3.125rem;
  display: flex;
  height: 6.25rem;
  justify-content: center;
  left: 50%;
  max-width: calc(100% - 1.25rem);
  position: absolute;
  top: -3.125rem;
  transform: translateX(-50%);
  width: 21.5625rem;
}

.p-poster02__pill--blue {
  border: 1px solid #9db1cf;
}

.p-poster02__pill--pink {
  border: 1px solid #e28294;
}

.p-poster02__pillText {
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-poster02__pill--blue .p-poster02__pillText {
  color: #9db1cf;
}

.p-poster02__pill--pink .p-poster02__pillText {
  color: #e2829d;
}

.p-poster02__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-poster02__listItem {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-poster02__listItem + .p-poster02__listItem {
  margin-top: 1.875rem;
}

.p-poster02__illust {
  bottom: 0;
  margin: 0;
  pointer-events: none;
  position: absolute;
}

.p-poster02__illust--blue {
  -webkit-transform: translateX(-50%);
  left: 50%;
  transform: translateX(-50%);
  width: 12.125rem;
}

.p-poster02__illust--pink {
  -webkit-transform: translateX(-50%);
  left: 50%;
  transform: translateX(-50%);
  width: 15.3125rem;
}

.p-poster02__illust img {
  display: block;
  height: auto;
  width: 100%;
}

.p-poster02__btnWrap {
  margin-top: 2.5rem;
  text-align: center;
}

.p-poster02__btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 500;
  height: 2.9375rem;
  justify-content: center;
  max-width: 100%;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 17.6875rem;
}

.p-poster02__btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  height: 0.5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.5rem;
}
.p-poster {
  margin-top: 9.625rem;
  padding-bottom: 5rem;
}

.p-poster__inner {
  margin: auto;
}

.p-poster__header {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-poster__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-poster__hd-line {
  background: linear-gradient(176deg, #f3bbc3 35%, #9db1cf 98%);
  height: 1px;
  margin: 1rem auto;
  max-width: 100%;
  width: 26.5rem;
}

.p-poster__sub {
  color: #E38EA6;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-poster__desc {
  color: #333;
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 1rem;
  text-align: center;
}

.p-poster__cards {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 1fr 1fr;
  margin-inline: auto;
  max-width: 64.375rem;
}

.p-poster__card {
  align-items: center;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 3.75rem 1.25rem 3.125rem;
  position: relative;
}
.p-poster__card--pink {
  background-color: #E38EA6;
}
.p-poster__card--pink:before {
  background: url(../img/component/poster-promise.webp) no-repeat center center/contain;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: -9.6875rem;
  width: 20rem;
}
.p-poster__card--blue {
  background-color: #9db1cf;
}
.p-poster__card--blue:before {
  background: url(../img/component/poster-news.webp) no-repeat center center/contain;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: -9.6875rem;
  width: 24.125rem;
}

.p-poster__card-ttl {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-poster__card-line {
  background: linear-gradient(176deg, #f3bbc3 35%, #9db1cf 98%);
  flex-shrink: 0;
  height: 0.0625rem;
  margin: 1.25rem 0 1.5rem;
  max-width: 100%;
  min-height: 0.0625rem;
  width: 17.875rem;
}

.p-poster__card-txt {
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.3;
  margin-bottom: 2.5rem;
  text-align: center;
}
.p-poster__card-txt.--list {
  list-style: none;
  margin-top: 1.25rem;
  padding: 0;
}
.p-poster__card-txt.--list li + li {
  margin-top: 0.5rem;
}

.p-poster__card-btn {
  align-items: center;
  background: #fff;
  border: 2px solid #6e6e6e;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  margin-top: auto;
  max-width: 100%;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 19.5rem;
}
.p-poster__card-btn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  height: 0.5rem;
  position: absolute;
  right: 1.875rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.5rem;
}

.p-poster__card-img {
  margin-top: auto;
  width: 100%;
}
.p-poster__card-img img {
  display: block;
  height: auto;
  width: 100%;
}

.p-vision__txt {
  font-size: 1.75rem !important;
  text-align: center;
}
.p-vision__txt.--pink {
  color: #E2829D;
}

.p-page {
  padding-block: 2.5rem 5rem;
}

.p-page__title {
  color: #1e2142;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.p-page__body {
  margin-top: 2.5rem;
}
.p-page__body > * + * {
  margin-top: 1.5rem;
}

.p-page__body .wp-container-core-columns-is-layout-8f761849 {
  padding-block: 2rem;
  position: relative;
}
.p-page__body .wp-container-core-columns-is-layout-8f761849::before {
  -webkit-transform: translateX(-50%);
  background-image: url("../img/quality/quality-bg.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}

.p-page__main {
  margin-block: 5rem;
}

.p-pageTop {
  align-items: center;
  aspect-ratio: 1;
  background-color: #1E2142;
  border: none;
  border-radius: 50%;
  bottom: 1.875rem;
  color: #fff;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  justify-content: center;
  opacity: 0;
  padding: 0;
  position: fixed;
  right: 3.125rem;
  transition: opacity 0.4s ease, visibility 0.4s ease, background-color 0.3s ease;
  visibility: hidden;
  width: 3.75rem;
  z-index: 50;
}
.p-pageTop.is-visible {
  opacity: 1;
  visibility: visible;
}

.p-pageTop__arrow {
  -webkit-transform: rotate(-45deg);
  aspect-ratio: 1;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  display: block;
  margin-top: 0.25rem;
  transform: rotate(-45deg);
  width: 0.625rem;
}

.p-pageTop__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

body:has(.p-philosophy__fv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

main.p-philosophy .p-philosophy__fv.p-company {
  height: 31.25rem;
  margin-top: 0;
  padding-top: 11.25rem;
}
main.p-philosophy .p-philosophy__fv.p-company::before {
  height: calc(100% + 6.875rem);
  top: 0;
}
main.p-philosophy .p-philosophy__fv.p-company .p-sns__inner {
  box-sizing: border-box;
  height: 100%;
  max-width: 75rem;
  padding-inline: 1.25rem;
  width: 100%;
}
main.p-philosophy .p-philosophy__fv.p-company .p-sns__wrapper.p-titleArea {
  margin-inline: 0;
  max-width: 46.5625rem;
  padding: 0;
}
main.p-philosophy .p-philosophy__fv.p-company .p-sns__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
  margin-bottom: 0;
}
main.p-philosophy .p-philosophy__fv.p-company .p-sns__ttl.p-titleArea__main {
  color: #fff;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.28;
  margin-top: 0;
  text-align: left;
}
main.p-philosophy .p-philosophy__fv.p-company .p-sns__txt.p-titleArea__sub {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  margin-top: 1.125rem;
}
main.p-philosophy .p-vision {
  margin-top: 8.25rem;
  text-align: center;
}
main.p-philosophy .p-vision__ttl.p-title__main {
  background-image: none;
  color: #1E2142;
  display: inline-block;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0;
  position: relative;
  text-align: center !important;
  text-shadow: none;
}
main.p-philosophy .p-vision__ttl.p-title__main::before {
  display: none;
}
main.p-philosophy .p-vision__ttl.p-title__main::after {
  -webkit-transform: translateX(-50%);
  background: linear-gradient(176deg, #F3BBC3 35%, #9DB1CF 98%);
  bottom: -0.5625rem;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 26.5rem;
}
main.p-philosophy .p-vision .p-vision__txt.p-title__sub {
  border-bottom: none;
  color: #E38EA6;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 2.8125rem;
  padding: 0;
}
main.p-philosophy .p-vision__txt--area {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 1.25rem;
}
main.p-philosophy .p-value {
  margin-top: 10rem;
  text-align: center;
}
main.p-philosophy .p-value__ttl.p-title__main {
  background-image: none;
  color: #1E2142;
  display: inline-block;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0;
  position: relative;
  text-align: center !important;
  text-shadow: none;
}
main.p-philosophy .p-value__ttl.p-title__main::before {
  display: none;
}
main.p-philosophy .p-value__ttl.p-title__main::after {
  -webkit-transform: translateX(-50%);
  background: linear-gradient(178deg, #F3BBC3 35%, #9DB1CF 98%);
  bottom: -0.5625rem;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 44rem;
}
main.p-philosophy .p-value__container {
  margin-bottom: 0;
  margin-top: 3.75rem;
}
main.p-philosophy .p-poster {
  margin-top: 10rem;
}
main.p-philosophy .p-poster__header {
  margin-bottom: 0;
  text-align: center;
}
main.p-philosophy .p-poster__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
}
main.p-philosophy .p-poster__hd-line {
  background: linear-gradient(176deg, #f3bbc3 35%, #9db1cf 98%);
  height: 1px;
  margin: 1rem auto 0;
  max-width: 100%;
  width: 26.5rem;
}
main.p-philosophy .p-poster__sub {
  color: #E38EA6;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 3.75rem;
  text-align: center;
}
main.p-philosophy .p-poster__desc {
  color: #333;
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 1.25rem;
  text-align: center;
}
main.p-philosophy .p-poster__cards {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: 31.25rem 31.25rem;
  justify-content: center;
  margin-inline: auto;
  margin-top: 1.875rem;
  max-width: 64.375rem;
}
main.p-philosophy .p-poster__card {
  align-items: center;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  height: 27.125rem;
  justify-content: space-between;
  overflow: hidden;
  padding: 8.9375rem 1.875rem 3.4375rem;
  position: relative;
  width: 31.25rem;
}
main.p-philosophy .p-poster__card-ttl {
  color: #fff;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0;
  text-align: center;
}
main.p-philosophy .p-poster__card-line {
  background: #fff;
  flex-shrink: 0;
  height: 0.0625rem;
  margin: 0.25rem 0 1.5625rem;
  max-width: 100%;
  min-height: 0.0625rem;
  width: 17.875rem;
}
main.p-philosophy .p-poster__card-txt {
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.3;
  margin-bottom: 1.875rem;
  text-align: center;
}
main.p-philosophy .p-poster__card-btn {
  border-radius: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  height: 3.75rem;
  width: 19.5rem;
}

/*
 * ポイントブロック（asakura/point）
 * Figma 5826:9914 準拠
 *  - 背景: #e2829d
 *  - パディング: 上下24px / 左25px / 右24px
 *  - 見出しと項目リストのギャップ: 10px
 *  - 見出し: 左の白縦バー(4×28) + Noto Sans JP Bold 20px / 白 / line-height 1.4
 *  - 見出しと縦バーのギャップ: 16px
 *  - 項目: アイコン(20×20 白) + テキスト(Noto Sans JP Regular 16px 白 / line-height 1.3)
 *  - 項目間ギャップ: 10px / 項目内ギャップ: 12px
 */
.p-point {
  background-color: #e2829d;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1.5rem 1.5rem 1.5rem 1.5625rem;
  width: 100%;
}

.p-point__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.p-point__bar {
  background-color: #fff;
  display: block;
  flex: 0 0 auto;
  height: 1.75rem;
  width: 0.25rem;
}

.p-point__title {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  margin: 0;
}

.p-point__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-point__item {
  align-items: flex-start;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  gap: 0.75rem;
  letter-spacing: 0;
  line-height: 1.3;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-point__icon {
  color: #fff;
  flex: 0 0 auto;
  height: 1.25rem;
  margin-top: 0.0625rem;
  width: 1.25rem;
}

.p-point__text {
  color: #fff;
  flex: 1;
  line-height: 1.3;
  min-width: 0;
}

.p-point-block {
  margin-block: 1.5rem;
  position: relative;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant ul / li / p / span の上書き（list-style、padding-left、margin-top等）を打ち消す
 */
.p-singlePost__body .p-point-block .p-point__title {
  color: #fff;
  margin: 0;
}
.p-singlePost__body .p-point-block .p-point__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-singlePost__body .p-point-block .p-point__item {
  color: #fff;
  list-style: none;
  margin-top: 0;
}
.p-singlePost__body .p-point-block .p-point__text {
  color: #fff;
}

.p-postTags {
  background-color: #7995BE;
  padding-bottom: 3.75rem;
  padding-top: 3.75rem;
}

.p-postTags__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 25px;
}

.p-postTags__head {
  align-items: baseline;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

.p-postTags__en {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-postTags__ja {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.p-postTags__group {
  margin-bottom: 1.5rem;
}
.p-postTags__group:last-child {
  margin-bottom: 0;
}

.p-postTags__label {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.p-postTags__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-postTags__tag {
  align-items: center;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 400;
  height: 2.1875rem;
  padding: 0 0.875rem;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.p-postTags__tag:hover {
  background-color: #7995BE;
  color: #fff;
}
.p-postTags__tag.--active {
  background-color: #1E2142;
  border-color: #1E2142;
  color: #fff;
}

.p-postTags__hash {
  margin-right: 0.125rem;
}

.p-singlePost__body .p-postToc__list,
.p-singlePost__body .p-postToc__subList {
  list-style: none;
}

.p-postToc {
  background-color: #fff;
  border: 1px solid #E38EA6;
  margin-block: 2.5rem;
  padding-block: 1.875rem 1.75rem;
  padding-inline: 1rem;
}

.p-postToc__ttl {
  color: #E38EA6;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 1.75rem;
}

.p-postToc__ttl::after {
  background-color: #E38EA6;
  content: "";
  display: block;
  height: 1px;
  margin-top: 0.875rem;
  width: 6.75rem;
}

.p-postToc__list {
  list-style: none;
}

.p-postToc__item {
  margin-top: 1.25rem;
}

.p-postToc__item:first-child {
  margin-top: 0;
}

.p-postToc__link {
  align-items: baseline;
  color: #E38EA6;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.25rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-postToc__link:hover {
  opacity: 0.7;
}

.p-postToc__num {
  color: #E38EA6;
  flex-shrink: 0;
}

.p-postToc__label {
  flex: 1;
}

.p-postToc__subList {
  list-style: none;
  margin-top: 0.25rem;
  padding-left: 0.75rem;
}

.p-postToc__subList .p-postToc__item {
  margin-top: 0.25rem;
}

.p-postToc__subList .p-postToc__link {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}

body:has(.l-policy) .p-header {
  background-color: #1E2142 !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

body:has(.l-policy) .c-bread-crumb-list.l-bread {
  margin-top: 8.125rem;
}

.l-policy {
  background-color: #fff;
  padding-block: 5rem 7.5rem;
}
.l-policy .p-main__body {
  width: 100%;
}
.l-policy .p-main__left {
  margin-inline: auto;
  max-width: 55rem;
}
.l-policy .topPage {
  margin-bottom: 4rem;
}
.l-policy .topPage__inner {
  text-align: center;
}
.l-policy .p-title.p-privacy {
  padding-bottom: 1.25rem;
  position: relative;
}
.l-policy .p-title.p-privacy::after {
  -webkit-transform: translateX(-50%);
  background-color: #1E2142;
  bottom: 0;
  content: "";
  height: 0.1875rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 3.75rem;
}
.l-policy .c-title__section,
.l-policy .c-privacy_title {
  color: #1E2142;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin: 0;
}
.l-policy .privacy__inner {
  width: 100%;
}
.l-policy .privacy__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.l-policy .privacy__wrapperText {
  color: #333;
  font-size: 1rem;
  line-height: 1.9;
  margin: 0;
}
.l-policy dl {
  margin: 0;
}
.l-policy .privacy__body {
  display: flex;
  flex-direction: column;
}
.l-policy .privacy__body dt {
  margin: 0;
}
.l-policy .privacy__body dd {
  margin: 0;
}
.l-policy .privacy__body dd + dd {
  margin-top: 0.625rem;
}
.l-policy .privacy__bodyTitle {
  border-left: 0.1875rem solid #1E2142;
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  padding-left: 1rem;
}
.l-policy .privacy__bodyTitle span {
  display: inline-block;
}
.l-policy .privacy__bodyText,
.l-policy .privact__bodyText {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.95;
}
.l-policy .privacy__bodyText-items,
.l-policy .privact__bodyText {
  padding-left: 1rem;
  text-indent: -1rem;
}

/*
 * 品質ブロック（asakura/quality）
 * Figma 5936:3198 準拠
 *  - 全体フレーム 535 x 301
 *  - タイトル: x=48 / y=0 / w=454 / h=39 (30px Bold #1e2142 leading1.3)
 *  - 画像: x=0 / y=65 / w=167 / h=236
 *  - 説明文: x=189 / y=74 / w=346 / h=131 (16px Regular #333 leading1.3)
 *  - リンクボタン: x=192 / y=225 / w=315 / h=60 (#e2829d / border2px #d6d6d6 / radius20px)
 */
.p-quality {
  margin-inline: auto;
  max-width: 33.4375rem;
  position: relative;
  width: 100%;
}

.p-quality__ttl {
  color: #1e2142;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-left: 3rem;
  margin-top: 0;
  max-width: calc(100% - 3rem);
  width: 28.375rem;
}

.p-quality__body {
  margin-top: 1.625rem;
  min-height: 14.75rem;
  position: relative;
}

.p-quality__figure {
  height: 14.75rem;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 10.4375rem;
}
.p-quality__figure img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-quality__main {
  margin-left: 11.8125rem;
}

.p-quality__text {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 0.5625rem;
  max-width: 100%;
  width: 21.625rem;
}

.p-quality__link {
  align-items: center;
  background-color: #E2829D;
  border: 2px solid #d6d6d6;
  border-radius: 1.25rem;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  letter-spacing: 0;
  margin-top: 1.25rem;
  max-width: 100%;
  padding-left: 1rem;
  padding-right: 2.5rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
  width: 19.6875rem;
}
.p-quality__link:hover {
  opacity: 0.85;
}

.p-quality__linkText {
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
}

.p-quality__linkArrow {
  -webkit-transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  height: 0.625rem;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant セレクタ（h2 / p / a / ul など）の上書きを打ち消す
 */
.p-quality-block {
  margin-block: 2.5rem;
  position: relative;
}

.p-singlePost__body .p-quality-block .p-quality__ttl {
  border: 0;
  color: #1e2142;
  font-size: 1.875rem;
  line-height: 1.3;
  margin-top: 0;
  padding: 0;
}
.p-singlePost__body .p-quality-block .p-quality__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0.5625rem;
}
.p-singlePost__body .p-quality-block .p-quality__link {
  color: #fff;
  text-decoration: none;
}
.p-singlePost__body .p-quality-block .p-quality__link:hover {
  opacity: 0.85;
}
.p-singlePost__body .p-quality-block .p-quality__linkText {
  color: #fff;
}
.p-singlePost__body .p-quality-block .p-quality__figure img {
  height: 100%;
  margin-top: 0;
}

/*
 * 品質への約束ブロック（asakura/quality-promise）
 * Figma 5937:3202 準拠
 *  - カード（frame 580 x 351 / 白bg / border 1px #d6d6d6 / radius 20）
 *  - タイトル: x=198 / y=25 / w=183 / h=39（30px Bold #1e2142 leading 1.3 / card中央寄せ）
 *  - 画像: x=15 / y=90 / w=167 / h=236
 *  - 説明文: x=194 / y=99 / w=356 / h=131（16px Regular #333 leading 1.3）
 *  - リンクボタン: x=207 / y=250 / w=315 / h=60（#9db1cf / border 2px #d6d6d6 / radius 20）
 *    └ 矢印は right=44.86px の位置
 */
.p-qualityPromise {
  background-color: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 1.25rem;
  margin-inline: auto;
  max-width: 36.25rem;
  min-height: 21.9375rem;
  padding: 1.5625rem 1.875rem 1.5625rem 0.9375rem;
  position: relative;
  width: 100%;
}

.p-qualityPromise__ttl {
  color: #1e2142;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 0;
  text-align: center;
  width: 100%;
}

.p-qualityPromise__body {
  margin-top: 1.625rem;
  min-height: 14.75rem;
  position: relative;
}

.p-qualityPromise__figure {
  height: 14.75rem;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 10.4375rem;
}
.p-qualityPromise__figure img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-qualityPromise__main {
  margin-left: 11.1875rem;
}

.p-qualityPromise__text {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  margin-top: 0.5625rem;
  max-width: 100%;
  width: 22.25rem;
}

.p-qualityPromise__link {
  align-items: center;
  background-color: #9db1cf;
  border: 2px solid #d6d6d6;
  border-radius: 1.25rem;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  letter-spacing: 0;
  margin-inline: auto;
  margin-top: 1.25rem;
  max-width: 100%;
  padding-left: 1rem;
  padding-right: 2.5rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
  width: 19.6875rem;
}
.p-qualityPromise__link:hover {
  opacity: 0.85;
}

.p-qualityPromise__linkText {
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
}

.p-qualityPromise__linkArrow {
  -webkit-transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  height: 0.625rem;
  position: absolute;
  right: 2.8125rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant セレクタ（h2 / p / a / img）の上書きを打ち消す
 */
.p-qualityPromise-block {
  margin-block: 2.5rem;
  position: relative;
}

.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__ttl {
  border: 0;
  color: #1e2142;
  font-size: 1.875rem;
  line-height: 1.3;
  margin-top: 0;
  padding: 0;
  text-align: center;
}
.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__text {
  color: #333;
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0.5625rem;
}
.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__link {
  color: #fff;
  text-decoration: none;
}
.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__link:hover {
  opacity: 0.85;
}
.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__linkText {
  color: #fff;
}
.p-singlePost__body .p-qualityPromise-block .p-qualityPromise__figure img {
  height: 100%;
  margin-top: 0;
}

.p-question {
  background-color: #e89bb1;
  margin-top: 4.5rem;
  overflow: hidden;
  padding-bottom: 5rem;
  position: relative;
}
.p-question .p-ttl__main {
  color: #fff;
}
.p-question__inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 25px;
  position: relative;
  z-index: 1;
}
.p-question__ttl-wrapper {
  padding-top: 3rem;
}
.p-question__wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 3rem auto 0;
  max-width: 62.5rem;
}
.p-question__item {
  background-color: #fff;
  border: 1px solid #d3d3d3;
  cursor: pointer;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.p-question__item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.p-question__q {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  padding: 2rem 3rem;
}
.p-question__q-icon {
  color: #E38EA6;
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-question__q-text {
  color: #333;
  flex: 1;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
  margin: 0;
}
.p-question__toggle {
  flex-shrink: 0;
  height: 1.125rem;
  position: relative;
  width: 1.125rem;
}
.p-question__toggle::before, .p-question__toggle::after {
  background-color: #E38EA6;
  border-radius: 1px;
  content: "";
  position: absolute;
  transition: opacity 0.2s ease;
}
.p-question__toggle::before {
  -webkit-transform: translateY(-50%);
  height: 2px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.p-question__toggle::after {
  -webkit-transform: translateX(-50%);
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 2px;
}
.p-question__item.is-open .p-question__toggle::after {
  opacity: 0;
}
.p-question__a {
  display: none;
  padding: 0 3rem 2rem;
}
.p-question__divider {
  background-color: #d3d3d3;
  border: none;
  height: 1px;
  margin: 0 0 1.5rem;
  width: 100%;
}
.p-question__a-inner {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}
.p-question__a-icon {
  color: #E38EA6;
  flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}
.p-question__a-text {
  color: #333;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

.p-quoteNote {
  background-color: #9DB1CF;
  color: #fff;
  padding-block: 1.5rem;
  padding-inline: 1.5rem;
}

.p-quoteNote__head {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  gap: 1rem;
  line-height: 1.4;
  margin: 0;
}
.p-quoteNote__head::before {
  background-color: #fff;
  content: "";
  flex-shrink: 0;
  height: 1.75rem;
  width: 0.25rem;
}

.p-quoteNote__list {
  color: #fff;
  counter-reset: p-quoteNote;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  list-style: none;
  margin-top: 0.5rem;
  padding: 0;
}
.p-quoteNote__list li {
  align-items: flex-start;
  counter-increment: p-quoteNote;
  display: flex;
  gap: 0.75rem;
}
.p-quoteNote__list li::before {
  content: "・";
  flex-shrink: 0;
  min-width: 0.875rem;
}
.p-quoteNote__list li + li {
  margin-top: 0.5rem;
}

.p-recommend {
  background-image: url(../img/service/service-fv03.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  padding: 6.25rem 0;
  width: 100%;
}

.p-recommend__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-recommend__header {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-recommend__title {
  color: #1E2142;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 1.25rem;
}

.p-recommend__txt {
  color: #333;
  font-size: 1.125rem;
  letter-spacing: 0;
  line-height: 1.7;
}

.p-recommend__btn {
  font-size: 1rem;
  margin-top: 3rem;
  text-align: center;
}
.p-recommend__btn .c-btn {
  border: 1px solid #333;
}

.p-relatedArticles {
  background-color: #9db1cf;
  padding-block: 5rem;
}

.p-relatedArticles__head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 3rem;
}

.p-relatedArticles__ttl {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
}

.p-relatedArticles__line {
  background: linear-gradient(170deg, #f3bbc3 35%, #9db1cf 98%);
  display: block;
  height: 1px;
  width: 11.25rem;
}

.p-relatedArticles__grid {
  -webkit-column-gap: 1.25rem;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 3rem;
}

.p-relatedArticles__more {
  margin-top: 3rem;
  text-align: center;
}

.p-relatedArticles__moreBtn {
  align-items: center;
  background-color: #fff;
  border: 2px solid #1E2142;
  border-radius: 1.25rem;
  display: inline-flex;
  height: 3.75rem;
  justify-content: center;
  max-width: 100%;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 23.9375rem;
}

.p-relatedArticles__moreText {
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  transition: color 0.3s;
}

.p-relatedArticles__moreArrow {
  -webkit-transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #1E2142;
  border-top: 2px solid #1E2142;
  height: 0.5rem;
  position: absolute;
  right: 4.3125rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.3s;
  width: 0.5rem;
}

.p-relatedArticles__card {
  transition: opacity 0.3s ease;
}
.p-relatedArticles__card:hover {
  opacity: 0.85;
}

.p-relatedArticles__link {
  color: inherit;
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.p-relatedArticles__thumb {
  margin: 0;
  width: 100%;
}
.p-relatedArticles__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 320/200;
  display: block;
  height: auto;
  height: 100%;
  object-fit: cover;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
}
.p-relatedArticles__link:hover .p-relatedArticles__thumb img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.p-relatedArticles__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 1rem;
}

.p-relatedArticles__textArea {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-relatedArticles__meta {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.p-relatedArticles__tag {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem;
  color: #9db1cf;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
}

.p-relatedArticles__date {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.p-relatedArticles__title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.p-relatedArticles__excerpt {
  color: #fff;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/*
 * 関連サービス案内ボタンブロック（asakura/related-service）
 * Figma 5826:9802「Link」準拠
 *  - 背景: #fff / 枠線: 1px solid #1E2142 / 角丸: 20px
 *  - テキスト: Noto Sans JP Bold 16px / #1E2142 / 中央
 *  - 右端に chevron 矢印（#1E2142）
 *  - hover: 背景 #1E2142・テキスト/矢印 #fff に反転
 */
.p-relatedService-block.--left {
  text-align: left;
}
.p-relatedService-block.--center {
  text-align: center;
}
.p-relatedService-block.--right {
  text-align: right;
}

.p-relatedService {
  align-items: center;
  background-color: #fff;
  border: 1px solid #1E2142;
  border-radius: 1.25rem;
  color: #1E2142;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.5rem;
  justify-content: center;
  line-height: 1.4;
  margin-top: 2.5rem;
  min-height: 2.9375rem;
  padding-block: 0.375rem;
  padding-inline: 2.5rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}
.p-relatedService:hover {
  background-color: #1E2142;
  color: #fff;
}

.p-relatedService__arrow {
  -webkit-transform: translateY(-50%);
  height: 0.75rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
}

.p-representative {
  background-color: #fff;
  background-image: url("../img/single/representative-bg.webp");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding-block: 5rem;
  position: relative;
}

.p-representative__head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 3.75rem;
}

.p-representative__ttl {
  color: #1E2142;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
}

.p-representative__line {
  background: linear-gradient(173deg, #f3bbc3 35%, #9db1cf 98%);
  display: block;
  height: 1px;
  width: 15.0625rem;
}

.p-representative__body {
  align-items: flex-start;
  display: flex;
  gap: 1.875rem;
}

.p-representative__photo {
  flex: 0 0 15.8125rem;
  margin: 0;
  width: 15.8125rem;
}
.p-representative__photo img {
  -o-object-fit: cover;
  aspect-ratio: 253/296;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-representative__main {
  flex: 1;
  min-width: 0;
}

.p-representative__cardHead {
  align-items: center;
  background-color: #1E2142;
  border-top-right-radius: 1.25rem;
  color: #fff;
  display: inline-flex;
  gap: 1.75rem;
  height: 3.375rem;
  max-width: 100%;
  padding-inline: 1.5rem;
}

.p-representative__company {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-representative__name {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-representative__cardBody {
  border-left: 1px solid #1E2142;
  padding-left: 1.875rem;
  padding-right: 1.25rem;
  padding-top: 1.875rem;
}

.p-representative__text {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-representative__share {
  margin-top: 2.5rem;
}

.p-representative__shareHead {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  padding-left: 1.875rem;
}

.p-representative__shareTtl {
  color: #1E2142;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-representative__shareSub {
  color: #1E2142;
  font-size: 0.875rem;
  line-height: 1;
}

.p-representative__snsList {
  display: flex;
  gap: 1.875rem;
  list-style: none;
  margin-top: 1rem;
  padding-left: 1.875rem;
}

.p-representative__snsItem {
  flex: 1;
  max-width: 17.6875rem;
}

.p-representative__snsBtn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.75rem;
  height: 2.9375rem;
  justify-content: center;
  padding-left: 1.25rem;
  padding-right: 2.5rem;
  position: relative;
  text-decoration: none;
  transition: opacity 0.2s;
  width: 100%;
}
.p-representative__snsBtn:hover {
  opacity: 0.8;
}

.p-representative__snsIcon {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  height: 1.875rem;
  justify-content: center;
  width: 1.875rem;
}
.p-representative__snsIcon img {
  -o-object-fit: contain;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-representative__snsLabel {
  color: #333;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-representative__snsArrow {
  -webkit-transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid #333;
  border-top: 1px solid #333;
  height: 0.5rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.5rem;
}

/*
 * 代表一言ブロック（asakura/representative-voice）
 * Figma 6423:3184 準拠
 *  - 左: 角丸写真 329x312（radius 20）＋ 代表名（#E2829D）
 *  - 右: メッセージ 734幅 / 16px Regular #333 leading 1.3 / 中央揃え
 *  - インラインハイライト: 太字 #E2829D（$pink02）
 */
.p-repVoice {
  align-items: center;
  display: flex;
  gap: 1.5625rem;
  width: 100%;
}

.p-repVoice__media {
  flex: 0 0 auto;
  max-width: 40%;
  width: 17.5rem;
}

.p-repVoice__photo {
  aspect-ratio: 329/312;
  border-radius: 1.25rem;
  margin: 0;
  overflow: hidden;
}
.p-repVoice__photo img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-repVoice__meta {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.75rem;
}

.p-repVoice__company {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0;
  text-align: left;
}

.p-repVoice__name {
  color: #E2829D;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0;
  text-align: left;
}

.p-repVoice__text {
  color: #333;
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 0;
  min-width: 0;
}

.p-repVoice__hl {
  color: #E2829D;
  font-weight: 700;
}

.p-repVoice-block {
  margin-block: 2.5rem;
  position: relative;
}

/*
 * 投稿本文（.p-singlePost__body）内に挿入された場合のみ：
 * descendant セレクタ（p / img）の上書きを打ち消す
 */
.p-singlePost__body .p-repVoice-block .p-repVoice__text {
  color: #333;
  margin-top: 0;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__meta {
  margin-top: 0.75rem;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__company {
  color: #333;
  margin-top: 0;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__name {
  color: #E2829D;
  margin-top: 0;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__text {
  font-size: 1rem;
  line-height: 1.3;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__hl {
  color: #E2829D;
  font-weight: 700;
}
.p-singlePost__body .p-repVoice-block .p-repVoice__photo img {
  height: 100%;
  margin-top: 0;
}

.p-select {
  overflow: hidden;
  padding: 5rem 0;
  position: relative;
}

.p-select__bg-text {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -webkit-user-select: none;
  -ms-user-select: none;
  color: rgba(30, 33, 66, 0.1);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: bold;
  left: 3.125rem;
  letter-spacing: 0.05em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
  user-select: none;
  white-space: nowrap;
}

.p-select__items {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2rem;
}

.p-select__item {
  align-items: center;
  display: grid;
  gap: 1.75rem;
  grid-template-columns: auto 1fr;
}

.p-select__item figure {
  align-self: center;
  overflow: hidden;
}

.p-select__item figure img {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.p-select__item:nth-child(1) figure {
  aspect-ratio: 211/213;
  width: 13.1875rem;
}

.p-select__item:nth-child(2) figure {
  aspect-ratio: 168/239;
  width: 10.5rem;
}

.p-select__item:nth-child(3) figure {
  aspect-ratio: 214/189;
  width: 13.375rem;
}

.p-select__item:nth-child(4) figure {
  aspect-ratio: 193/123;
  width: 12.0625rem;
}

.p-select__ttl span {
  color: #E38EA6;
  font-size: 3.125rem !important;
}

.p-select__item--title {
  font-size: 1.75rem;
  font-weight: 25rem;
  letter-spacing: 0.21em;
  line-height: 70px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-select__item--title::after {
  background: linear-gradient(90deg, #F3BBC3 0%, #9DB1CF 100%);
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  width: 100%;
}

.p-select__item--txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
}
.p-select__item--txt span {
  color: #E38EA6;
  font-size: 5rem;
  font-weight: 700;
}
.p-select__item--txt.--normal {
  align-items: center;
  display: flex;
  font-size: clamp(1rem, 1.5vw, 40px);
}

.p-select__item--info {
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 130%;
}

.p-select__item--body--wrapper {
  display: flex;
}

.p-select__btnArea {
  margin-top: 3.75rem;
  text-align: center;
}

body:has(.p-serviceFv) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-service {
  background: url(../img/service/service-bg.webp) no-repeat 20% 50%/cover;
  background-color: #fff;
  isolation: isolate;
  padding: 12.5rem 0;
  position: relative;
}
.p-service.--02 {
  background: unset;
  padding-bottom: 0rem;
}

.p-service__bg-text {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -webkit-user-select: none;
  -ms-user-select: none;
  color: rgba(30, 33, 66, 0.1);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: bold;
  left: 3.125rem;
  letter-spacing: 0.05em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
  user-select: none;
  white-space: nowrap;
}

.p-service__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 71.5rem;
}

.p-service__wrapper {
  margin-bottom: 6.25rem;
  text-align: center;
}

.p-title__main {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  text-align: center;
}
.p-title__main.--white {
  color: #fff;
}
.p-title__main.--left {
  text-align: left !important;
}
.p-title__main span {
  font-size: 1.25rem;
  font-weight: 700;
  margin-left: 1.25rem;
}

.p-service__ttl {
  font-size: 3.125rem;
}

.p-title__sub {
  color: #333;
  font-size: 3rem;
  font-weight: bold;
}

.p-service__txt--area {
  color: #333;
  display: flex;
  flex-wrap: wrap;
  font-size: 2.5rem;
  font-weight: bold;
  gap: 0.625rem;
  margin-top: 1rem;
}

.p-service__span {
  background-color: #1E2142;
  border-radius: 0.625rem;
  color: #333;
  color: #fff;
  display: inline-block;
  display: inline-block;
  font-size: 3rem;
  font-weight: bold;
  margin: 0 0.3125rem;
  padding-inline: 1.25rem;
}

.p-service__content {
  margin: 0 auto;
  max-width: min(55rem, 49vw);
  min-height: min(46.25rem, 45vw);
  padding: 0.5rem 0.5rem;
  position: relative;
  width: 100%;
}

.p-service__center {
  -webkit-transform: translateX(-50%);
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.p-service__triangle {
  -webkit-filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
  border-bottom: 8.75rem solid #fff;
  border-left: 11.25rem solid transparent;
  border-right: 11.25rem solid transparent;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
  height: 0;
  position: relative;
  width: 0;
}

.p-service__logo {
  -webkit-transform: translate(-50%, 160%);
  color: #1E2142;
  font-size: 2rem;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: translate(-50%, 140%);
  white-space: nowrap;
}

.p-service__item {
  align-items: center;
  color: inherit;
  display: flex;
  flex-direction: column;
  position: absolute;
  text-decoration: none;
}

.p-service__item--hp {
  -webkit-transform: translateX(-50%);
  border: 0.125rem solid rgba(30, 33, 66, 0.5);
  border-radius: 50%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.p-service__item--marketing {
  border: 0.125rem solid #E38EA6;
  border-radius: 50%;
  bottom: -0.5rem;
  left: 0;
}

.p-service__item--dx {
  border: 0.125rem solid #87CEEB;
  border-radius: 50%;
  bottom: -0.5rem;
  right: 0;
}

.p-service__circle {
  -webkit-filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
  align-items: center;
  border: 0.625rem solid #fff;
  border-radius: 50%;
  color: inherit;
  display: flex;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
  height: min(23.75rem, 24vw);
  justify-content: center;
  position: relative;
  text-decoration: none;
  width: min(23.75rem, 24vw);
}

.p-service__circle--hp {
  cursor: pointer;
}
.p-service__circle--hp:hover ~ .p-service__detail--hp {
  opacity: 1;
  visibility: visible;
}
.p-service__circle--hp:hover {
  background: #fff;
  border: 0.0625rem solid #1E2142;
}
.p-service__circle--hp:hover .p-service__circle-title {
  color: #1A1A1A;
}
.p-service__circle--hp:hover::after {
  border: 0.0625rem solid #1E2142;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__circle--hp {
  background: linear-gradient(90deg, #808080 0%, #1A1A1A 29%, #808080 100%);
}

.p-service__circle--marketing {
  cursor: pointer;
}
.p-service__circle--marketing:hover ~ .p-service__detail--marketing {
  opacity: 1;
  visibility: visible;
}
.p-service__circle--marketing:hover {
  background: #fff;
  border: 0.0625rem solid #E38EA6;
}
.p-service__circle--marketing:hover .p-service__circle-title {
  color: #E38EA6;
}
.p-service__circle--marketing:hover::after {
  border: 0.0625rem solid #E38EA6;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__circle--marketing {
  background: linear-gradient(90deg, #FFD9DE 0%, #F3BBC3 29%, #FFD9DE 100%);
}

.p-service__circle--dx {
  cursor: pointer;
}
.p-service__circle--dx:hover ~ .p-service__detail--dx {
  opacity: 1;
  visibility: visible;
}
.p-service__circle--dx:hover {
  background: #fff;
  border: 0.0625rem solid #87CEEB;
}
.p-service__circle--dx:hover .p-service__circle-title {
  color: #87CEEB;
}
.p-service__circle--dx:hover::after {
  border: 0.0625rem solid #87CEEB;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__circle--dx {
  background: linear-gradient(90deg, #B7CCEA 0%, #9DB1CF 29%, #B7CCEA 100%);
}

.p-service__circle-title {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 1.25rem;
  text-align: center;
}

.p-service__detail {
  position: absolute;
  text-align: left;
}

.p-service__detail--hp {
  opacity: 0;
  right: -20rem;
  text-align: right;
  top: -4.375rem;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  width: 17.5rem;
}
.p-service__detail--hp.--02 {
  -webkit-transform: translateX(-50%);
  left: 70%;
  opacity: 0;
  text-align: right;
  top: -9.375rem;
  transform: translateX(-50%);
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  width: 31.25rem;
}
.p-service__detail--hp.--02:after {
  background-color: #808080;
  bottom: -3.125rem;
  content: "";
  content: "";
  display: inline-block;
  height: 0.0625rem;
  left: 8.75rem;
  position: absolute;
  rotate: 90deg;
  width: 5.125rem;
  z-index: 5;
}
.p-service__detail--hp .p-service__detail-title {
  font-size: min(1vw, 1.75rem);
  letter-spacing: 0;
  position: relative;
}
.p-service__detail--hp .p-service__detail-title:after {
  background-color: #000;
  bottom: -2.875rem;
  content: "";
  content: "";
  display: inline-block;
  height: 1px;
  left: -9.375rem;
  position: absolute;
  rotate: -45deg;
  width: 8.125rem;
}

.p-service__detail--marketing {
  left: -12.5rem;
  opacity: 0;
  text-align: left;
  top: -8.5rem;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  width: 17.5rem;
}
.p-service__detail--marketing.--02 {
  top: -6.875rem;
  width: 22.5rem;
}
.p-service__detail--marketing.--02::after {
  background-color: #E38EA6;
  bottom: -3.125rem;
  content: "";
  content: "";
  display: inline-block;
  height: 0.0625rem;
  left: 14rem;
  position: absolute;
  rotate: -145deg;
  width: 5.125rem;
  z-index: 5;
}
.p-service__detail--marketing .p-service__detail-title:before {
  left: 0;
  width: 120%;
}
.p-service__detail--marketing .p-service__detail-title:after {
  background-color: #000;
  content: "";
  display: inline-block;
  height: 0.0625rem;
  position: absolute;
  right: -6.625rem;
  rotate: 45deg;
  top: 120%;
  width: 3.625rem;
  z-index: 0;
}

.p-service__detail-title {
  font-size: 1.75rem;
  letter-spacing: 0;
  line-height: 1.5;
  padding-bottom: 0.625rem;
  position: relative;
  text-align: left;
}
.p-service__detail-title span {
  display: inline-block;
  white-space: nowrap;
}
.p-service__detail-title::before {
  background-color: #000;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 1px;
  left: -2.5rem;
  position: absolute;
  width: 105%;
  z-index: 10;
}

.p-service__detail--dx {
  opacity: 0;
  right: -18rem;
  text-align: left;
  top: -8.75rem;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  width: 17.5rem;
}
.p-service__detail--dx.--03 {
  top: -7.5rem;
  width: 23.125rem;
}
.p-service__detail--dx.--03:after {
  background-color: #87CEEB;
  left: -4rem;
  position: absolute;
  rotate: -45deg;
  top: 133%;
}
.p-service__detail--dx::after {
  background-color: #000;
  content: "";
  height: 1px;
  left: -7rem;
  position: absolute;
  rotate: -45deg;
  top: 33.2%;
  width: 5.2375rem;
  z-index: 10;
}

.p-service__detail-text {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
  /*text-align: left; 32px */
}

.p-service__list {
  list-style: none;
  margin: 0;
  margin-top: 1.25rem;
  padding: 0;
}

.p-service__list-item {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.35;
  line-height: 1.8;
  padding-left: 1.25rem;
  position: relative;
  text-align: left;
}
.p-service__list-item::before {
  color: #333;
  content: "・";
  left: 0;
  position: absolute;
}

.p-service__triangle {
  cursor: pointer;
  transition: border-bottom-color 0.3s ease;
}
.p-service__triangle:hover {
  border-bottom-color: #1E2142;
}
.p-service__triangle:hover .p-service__logo {
  color: #fff;
}

.p-service__center:hover ~ .p-service__item--hp .p-service__circle--hp {
  background: #fff;
  border: 0.0625rem solid #1E2142;
}
.p-service__center:hover ~ .p-service__item--hp .p-service__circle--hp .p-service__circle-title {
  color: #1A1A1A;
}
.p-service__center:hover ~ .p-service__item--hp .p-service__circle--hp::after {
  border: 0.0625rem solid #1E2142;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__center:hover ~ .p-service__item--hp .p-service__detail--hp {
  opacity: 1;
  visibility: visible;
}
.p-service__center:hover ~ .p-service__item--marketing .p-service__circle--marketing {
  background: #fff;
  border: 0.0625rem solid #E38EA6;
}
.p-service__center:hover ~ .p-service__item--marketing .p-service__circle--marketing .p-service__circle-title {
  color: #E38EA6;
}
.p-service__center:hover ~ .p-service__item--marketing .p-service__circle--marketing::after {
  border: 0.0625rem solid #E38EA6;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__center:hover ~ .p-service__item--marketing .p-service__detail--marketing {
  opacity: 1;
  visibility: visible;
}
.p-service__center:hover ~ .p-service__item--dx .p-service__circle--dx {
  background: #fff;
  border: 0.0625rem solid #87CEEB;
}
.p-service__center:hover ~ .p-service__item--dx .p-service__circle--dx .p-service__circle-title {
  color: #87CEEB;
}
.p-service__center:hover ~ .p-service__item--dx .p-service__circle--dx::after {
  border: 0.0625rem solid #87CEEB;
  border-radius: 50%;
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}
.p-service__center:hover ~ .p-service__item--dx .p-service__detail--dx {
  opacity: 1;
  visibility: visible;
}

.p-service__btn {
  margin-top: 3.75rem;
  text-align: center;
}

.p-serviceDetail__overviewGrid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.125rem;
  padding-block: 0rem 5rem;
}

.p-serviceDetail__overviewCol {
  display: flex;
  flex-direction: column;
}

.p-serviceDetail__overviewNum {
  color: #9db1cf;
  font-family: "Poppins", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.625rem;
  line-height: 1;
  margin-top: 0;
}

.p-serviceDetail__overviewTtl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 1rem;
}

.p-serviceDetail__overviewLine {
  background: linear-gradient(90deg, #f3bbc3 35%, #9db1cf 98%);
  height: 0.0625rem;
  margin-top: 1rem;
}

.p-serviceDetail__overviewList {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  margin-top: 1.25rem;
  padding: 0;
}

.p-serviceDetail__overviewItem {
  align-items: flex-start;
  color: #333;
  display: flex;
  font-size: 1.25rem;
  font-weight: 400;
  gap: 0.625rem;
  line-height: 1.6;
}
.p-serviceDetail__overviewItem::before {
  border: 0.125rem solid #E38EA6;
  border-radius: 0.1875rem;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 0.875rem;
  margin-top: 0.75rem;
  width: 0.875rem;
}

.p-serviceDetail__overviewBtn {
  align-items: center;
  background-color: #fff;
  border: 0.0625rem solid #333;
  border-radius: 3.125rem;
  color: #333;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 500;
  height: 2.9375rem;
  justify-content: center;
  margin-inline: auto;
  margin-top: 2rem;
  max-width: 17.1875rem;
  position: relative;
  text-decoration: none;
  transition: opacity 0.2s;
  width: 100%;
}
.p-serviceDetail__overviewBtn:hover {
  opacity: 0.7;
}
.p-serviceDetail__overviewBtn::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 1.5px solid #333;
  border-right: 1.5px solid #333;
  content: "";
  height: 0.5rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 0.5rem;
}

.p-serviceDetail {
  background-color: #fff;
  padding-top: 5rem;
}

.p-serviceDetail__heading {
  text-align: center;
}

.p-serviceDetail__headingSub {
  color: #000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.375rem;
}

.p-serviceDetail__headingTtl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 0.75rem;
}

.p-serviceDetail__headingLine {
  background: linear-gradient(90deg, #f3bbc3 0%, #9db1cf 100%);
  height: 0.0625rem;
  margin-inline: auto;
  width: 19.6875rem;
}

.p-serviceDetail__inner {
  margin-inline: auto;
  max-width: 75rem;
  padding-inline: 1.5625rem;
}

.p-serviceDetail__item {
  align-items: flex-start;
  display: flex;
  gap: 2.5rem;
  margin-bottom: 3.75rem;
  margin-top: 3.125rem;
}
.p-serviceDetail__item.--column {
  flex-direction: column;
}

.p-serviceDetail__content {
  flex: 0 0 auto;
  max-width: 40.625rem;
  width: 100%;
}
.p-serviceDetail__content.--01 {
  text-align: center;
}

.p-serviceDetail__numBlock {
  align-items: flex-end;
  display: flex;
  gap: 1.75rem;
  margin-bottom: 1.25rem;
}

.p-serviceDetail__num {
  color: #E2829D;
  flex-shrink: 0;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.625rem;
  line-height: 1;
}

.p-serviceDetail__numSubText {
  font-size: 1.125rem;
  font-weight: 400;
  margin-top: 0.625rem;
}

.p-serviceDetail__numTtl {
  color: #333;
  font-size: 1.5625rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-serviceDetail__hr {
  border: none;
  border-top: 0.0625rem solid #ccc;
  margin-bottom: 3.125rem;
}

.p-serviceDetail__tag {
  background-color: #fff;
  border: 0.0625rem solid #E38EA6;
  border-radius: 1.25rem;
  color: #E38EA6;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
  padding: 0.625rem 1.25rem;
}

.p-serviceDetail__desc {
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
  text-align: center;
}

.p-serviceDetail__diagram {
  flex: 1;
  min-width: 0;
}

.p-serviceDetail__diagTop {
  display: flex;
  justify-content: center;
  margin-bottom: 0.625rem;
  position: relative;
}
.p-serviceDetail__diagTop::after {
  border-left: 0.625rem solid transparent;
  border-right: 0.625rem solid transparent;
  border-top: 1.125rem solid #E38EA6;
  bottom: -1.125rem;
  content: "";
  height: 0;
  left: calc(30% - 0.375rem);
  opacity: 0.5;
  position: absolute;
  width: 0;
}

.p-serviceDetail__diagBottom {
  display: flex;
  gap: 1rem;
  position: relative;
}
.p-serviceDetail__diagBottom::before {
  background-color: #7995BE;
  content: "";
  height: 0.125rem;
  opacity: 0.4;
  position: absolute;
  right: calc(50% - 1.875rem);
  top: 2.8125rem;
  width: 3.75rem;
}

.p-serviceDetail__diagCard {
  border-radius: 1.25rem;
  color: #fff;
  flex: 1;
  padding: 3.125rem 1rem 1rem;
  position: relative;
}
.p-serviceDetail__diagCard.--strategy {
  background-color: #E38EA6;
}
.p-serviceDetail__diagCard.--execute {
  background-color: #6e6e6e;
}
.p-serviceDetail__diagCard.--improve {
  background-color: #7995BE;
}

.p-serviceDetail__diagBadge {
  -webkit-transform: translateX(-50%);
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -1.25rem;
  transform: translateX(-50%);
  width: 3.125rem;
}
.p-serviceDetail__diagBadge.--strategy {
  background-color: #e0778f;
}
.p-serviceDetail__diagBadge.--execute {
  background-color: #E38EA6;
}
.p-serviceDetail__diagBadge.--improve {
  background-color: #7995be;
}

.p-serviceDetail__diagCardBody {
  text-align: center;
}

.p-serviceDetail__diagCardTtl {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
.p-serviceDetail__diagCardTtl.--sm {
  font-size: 0.9375rem;
}

.p-serviceDetail__diagCardSub {
  font-size: 0.6875rem;
  font-weight: 400;
}

.p-serviceDetail__diagCardTxt {
  font-size: 0.8125rem;
  line-height: 1.5;
}
.p-serviceDetail__diagCardTxt.--left {
  text-align: left;
}

.p-serviceDetail__features {
  display: flex;
  gap: 1.875rem;
}

.p-serviceDetail__featureItem {
  flex: 1;
  text-align: center;
}

.p-serviceDetail__featureTag {
  background-color: #fff;
  border: 0.0625rem solid #E38EA6;
  border-radius: 1.25rem;
  color: #E38EA6;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  padding: 0.75rem 1.25rem;
  white-space: nowrap;
  width: 100%;
}

.p-serviceDetail__featureTxt {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.6;
  padding-left: 1.375rem;
  padding-right: 1.125rem;
}

.p-serviceDetail__diagram--pyramid {
  flex: 1;
  min-width: 0;
}

.p-serviceDetail__pyramidWrap {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.p-serviceDetail__pyramidLeft {
  flex-shrink: 0;
}

.p-serviceDetail__pyramidImgWrap {
  position: relative;
  width: 23.9375rem;
}

.p-serviceDetail__pyramidChart {
  display: block;
  width: 100%;
}

.p-serviceDetail__pyramidFlag {
  -webkit-transform: translateX(-50%);
  left: 50%;
  position: absolute;
  top: -2.375rem;
  transform: translateX(-50%);
  width: 4.6875rem;
}

.p-serviceDetail__pyramidLabels {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.5rem;
}

.p-serviceDetail__pyramidLabel {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.p-serviceDetail__pyramidLine {
  background-color: #ccc;
  display: block;
  flex-shrink: 0;
  height: 0.0625rem;
  width: 5rem;
}
.p-serviceDetail__pyramidLine.--long {
  width: 3.75rem;
}
.p-serviceDetail__pyramidLine.--longer {
  width: 2.5rem;
}
.p-serviceDetail__pyramidLine.--longest {
  width: 1.25rem;
}

.p-serviceDetail__pyramidLabelText {
  min-width: 0;
}

.p-serviceDetail__pyramidLabelTitle {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: underline;
}
.p-serviceDetail__pyramidLabelTitle.--output {
  color: #db3866;
}
.p-serviceDetail__pyramidLabelTitle.--action {
  color: #6e6e6e;
}
.p-serviceDetail__pyramidLabelTitle.--strategy {
  color: #7995BE;
}
.p-serviceDetail__pyramidLabelTitle.--fact {
  color: #E38EA6;
}

.p-serviceDetail__pyramidLabelDesc {
  color: #333;
  font-size: 1.25rem;
  line-height: 1.6;
}
.p-serviceDetail__dxSection {
  margin-top: 5rem;
}

.p-serviceDetail__numInfo {
  flex: 1;
  font-size: 1.5625rem;
}

.p-serviceDetail__numSub {
  color: #333;
  font-weight: 700;
  line-height: 1.4;
}

.p-serviceDetail__dxDesc {
  color: #333;
  font-size: 1.125rem;
  line-height: 1.7;
  margin-bottom: 3.125rem;
}

.p-serviceDetail__dxGrid {
  display: grid;
  gap: 1.25rem 2.5rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 3.125rem;
}

.p-serviceDetail__dxGridItem {
  text-align: center;
}

.p-serviceDetail__dxOval {
  align-items: center;
  border-radius: 18.75rem;
  color: #fff;
  display: flex;
  gap: 1.25rem;
  margin-inline: auto;
  max-width: 69rem;
  overflow: hidden;
  padding: 2.5rem 3.125rem;
  position: relative;
  width: 100%;
}
.p-serviceDetail__dxOval::before {
  background: linear-gradient(to right, #9db1cf 50%, #e89bb1 50%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 0;
}
.p-serviceDetail__dxOval > * {
  position: relative;
  z-index: 1;
}

.p-serviceDetail__dxOvalHalf {
  flex: 1;
  text-align: center;
}

.p-serviceDetail__dxOvalTitle {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

.p-serviceDetail__dxOvalSub {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.p-serviceDetail__dxOvalList {
  list-style: none;
  margin: 0 0 1.25rem 0;
  padding: 0;
}
.p-serviceDetail__dxOvalList li {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  text-align: center;
}
.p-serviceDetail__dxOvalList li:last-child {
  margin-bottom: 0;
}

.p-serviceDetail__dxOvalResult {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1.25rem;
}

.p-serviceDetail__dxOvalCenter {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
}

.p-serviceDetail__dxOvalCenterCircle {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  height: 12.5rem;
  justify-content: center;
  padding: 1.25rem;
  text-align: center;
  width: 12.5rem;
}

.p-serviceDetail__dxOvalCenterTxt {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.p-serviceDetail__dxOvalCenterArrow {
  color: #333;
  display: block;
  font-size: 1.25rem;
}

.p-serviceDetail__dxOvalTxt {
  text-align: center;
}

.p-serviceDetail__dxOvalTxt span {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 1.25rem;
  padding-inline: 1.25rem;
  position: relative;
}
.p-serviceDetail__dxOvalTxt span::before {
  border-left: 0.0625rem solid #000;
  content: "";
  height: 1.25rem;
  left: 0;
  position: absolute;
  rotate: -45deg;
  top: 0;
  width: 0.125rem;
}
.p-serviceDetail__dxOvalTxt span::after {
  border-right: 0.0625rem solid #000;
  content: "";
  height: 1.25rem;
  position: absolute;
  right: 0;
  rotate: 45deg;
  top: 0;
  width: 0.125rem;
}

.p-consultingDifference {
  background-color: #fff;
  padding: 3.75rem 0 0;
}

.p-consultingDifference__inner {
  margin-inline: auto;
  max-width: 66.5rem;
  padding-inline: 1.25rem;
}

.p-consultingDifference__heading {
  margin-bottom: 1.5rem;
}

.p-consultingDifference__ttl {
  color: #1E2142;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

.p-consultingDifference__line {
  background: linear-gradient(90deg, #f3bbc3 35%, #9db1cf 98%);
  height: 0.0625rem;
  width: 12.0625rem;
}

.p-consultingDifference__lead {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.25rem;
}

.p-consultingDifference__grid {
  display: grid;
  gap: 1.25rem 1.875rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-consultingDifference__card {
  background-color: #f8f8f8;
  border-radius: 1.25rem;
  min-height: 18.4375rem;
  padding: 1.75rem 1.75rem 2rem;
  transition: box-shadow 0.3s ease;
}
.p-consultingDifference__card:hover {
  box-shadow: 0 4px 20px rgba(227, 142, 166, 0.2);
}

.p-consultingDifference__cardHead {
  align-items: end;
  display: flex;
  gap: 1.125rem;
  margin-bottom: 1rem;
}

.p-consultingDifference__num {
  color: #e2829d;
  flex-shrink: 0;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: -0.25rem;
  line-height: 1;
}

.p-consultingDifference__cardTtl {
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 1.35;
  white-space: nowrap;
}

.p-consultingDifference__txt {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.6;
}

.p-consultingDifference__tool {
  background-color: #fff;
  margin-top: 0.875rem;
  padding: 0.5rem 0.75rem;
}

.p-consultingDifference__toolHead,
.p-consultingDifference__toolTxt {
  color: #333;
  font-size: 0.75rem;
  line-height: 1.5;
}
.p-serviceDetail__textArea {
  margin-top: 0.625rem;
  text-align: center;
}

.p-singlePost {
  background-color: #f7f7f7;
  padding-top: 2.5rem;
}
.p-singlePost .l-breadcrumb {
  margin-inline: auto;
  max-width: 70rem;
}

.p-singlePost__layout {
  align-items: start;
  display: grid;
  gap: 3.1875rem;
  grid-template-columns: 49.375rem 16.0625rem;
  margin-bottom: 5rem;
  margin-inline: auto;
  margin-top: 3.125rem;
  max-width: 70rem;
}

.p-singlePost__main {
  background-color: #fff;
  min-width: 0;
  padding: 1.25rem 2rem 2.5rem 2rem;
}

.p-singlePost__head {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-singlePost__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.p-singlePost__tag {
  align-items: center;
  background-color: #e38ea6;
  border-radius: 1.25rem;
  color: #fff;
  display: inline-flex;
  font-size: 0.875rem;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
}

.p-singlePost__dates {
  color: #777;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-singlePost__title {
  color: #333;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-singlePost__thumb {
  aspect-ratio: 720/540;
  margin: auto;
  max-width: 44.5rem;
  width: 100%;
}
.p-singlePost__thumb img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-singlePost__body,
.p-worksSingle__body,
.p-promise__content,
.parent-pageid-219 .p-page__body {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 2rem;
}
.p-singlePost__body p,
.p-worksSingle__body p,
.p-promise__content p,
.parent-pageid-219 .p-page__body p {
  margin-top: 1rem;
}
.p-singlePost__body p:first-child,
.p-worksSingle__body p:first-child,
.p-promise__content p:first-child,
.parent-pageid-219 .p-page__body p:first-child {
  margin-top: 0;
}
.p-singlePost__body h2,
.p-worksSingle__body h2,
.p-promise__content h2,
.parent-pageid-219 .p-page__body h2 {
  border-left: 4px solid #e38ea6;
  color: #e38ea6;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 2.5rem;
  padding-left: 1rem;
}
.p-singlePost__body h2.wp-block-heading,
.p-worksSingle__body h2.wp-block-heading,
.p-promise__content h2.wp-block-heading,
.parent-pageid-219 .p-page__body h2.wp-block-heading {
  margin-top: 20px !important;
}
.p-singlePost__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
.p-worksSingle__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
.p-promise__content h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
.parent-pageid-219 .p-page__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl) {
  border-bottom: 0.125rem solid #999;
  color: #999;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1.25rem;
  padding-bottom: 0.375rem;
  padding-left: 1.5rem;
  position: relative;
}
.p-singlePost__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl)::before,
.p-worksSingle__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl)::before,
.p-promise__content h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl)::before,
.parent-pageid-219 .p-page__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl)::before {
  -webkit-transform: rotate(45deg);
  background-color: #999;
  bottom: -0.1875rem;
  content: "";
  height: 0.9375rem;
  left: 0.25rem;
  position: absolute;
  transform: rotate(45deg);
  width: 0.1rem;
}
.p-singlePost__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl).wp-block-heading,
.p-worksSingle__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl).wp-block-heading,
.p-promise__content h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl).wp-block-heading,
.parent-pageid-219 .p-page__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl).wp-block-heading {
  margin-top: 2rem;
}
.p-singlePost__body img,
.p-worksSingle__body img,
.p-promise__content img,
.parent-pageid-219 .p-page__body img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
.p-singlePost__body .wp-block-image,
.p-worksSingle__body .wp-block-image,
.p-promise__content .wp-block-image,
.parent-pageid-219 .p-page__body .wp-block-image {
  margin-top: 2rem;
  max-width: 45rem;
  width: 100%;
}
.p-singlePost__body .wp-block-image img,
.p-worksSingle__body .wp-block-image img,
.p-promise__content .wp-block-image img,
.parent-pageid-219 .p-page__body .wp-block-image img {
  -o-object-fit: cover;
  aspect-ratio: 720/540;
  object-fit: cover;
  width: 100%;
}
.p-singlePost__body .wp-block-gallery,
.p-worksSingle__body .wp-block-gallery,
.p-promise__content .wp-block-gallery,
.parent-pageid-219 .p-page__body .wp-block-gallery {
  margin-top: 1.25rem !important;
}
.p-singlePost__body .wp-block-gallery .wp-block-image,
.p-worksSingle__body .wp-block-gallery .wp-block-image,
.p-promise__content .wp-block-gallery .wp-block-image,
.parent-pageid-219 .p-page__body .wp-block-gallery .wp-block-image {
  max-width: none;
}
.p-singlePost__body .wp-block-gallery .wp-block-image img,
.p-worksSingle__body .wp-block-gallery .wp-block-image img,
.p-promise__content .wp-block-gallery .wp-block-image img,
.parent-pageid-219 .p-page__body .wp-block-gallery .wp-block-image img {
  aspect-ratio: auto;
}
.p-singlePost__body .wp-block-table,
.p-worksSingle__body .wp-block-table,
.p-promise__content .wp-block-table,
.parent-pageid-219 .p-page__body .wp-block-table {
  margin-top: 1.25rem !important;
}
.p-singlePost__body .has-fixed-layout,
.p-worksSingle__body .has-fixed-layout,
.p-promise__content .has-fixed-layout,
.parent-pageid-219 .p-page__body .has-fixed-layout {
  margin-top: 1.25rem !important;
}
.p-singlePost__body .table-wrap,
.p-worksSingle__body .table-wrap,
.p-promise__content .table-wrap,
.parent-pageid-219 .p-page__body .table-wrap {
  margin-top: 1.25rem;
}
.p-singlePost__body ul,
.p-singlePost__body ol,
.p-worksSingle__body ul,
.p-worksSingle__body ol,
.p-promise__content ul,
.p-promise__content ol,
.parent-pageid-219 .p-page__body ul,
.parent-pageid-219 .p-page__body ol {
  margin-top: 1rem;
}
.p-singlePost__body ul li,
.p-singlePost__body ol li,
.p-worksSingle__body ul li,
.p-worksSingle__body ol li,
.p-promise__content ul li,
.p-promise__content ol li,
.parent-pageid-219 .p-page__body ul li,
.parent-pageid-219 .p-page__body ol li {
  margin-top: 0.5rem;
}
.p-singlePost__body ol,
.p-worksSingle__body ol,
.p-promise__content ol,
.parent-pageid-219 .p-page__body ol {
  list-style: decimal;
  padding-left: 1.5rem;
}
.p-singlePost__body ul:where(:not([class]), .wp-block-list),
.p-worksSingle__body ul:where(:not([class]), .wp-block-list),
.p-promise__content ul:where(:not([class]), .wp-block-list),
.parent-pageid-219 .p-page__body ul:where(:not([class]), .wp-block-list) {
  list-style-type: "・";
  padding-left: 1.5rem;
}
.p-singlePost__body blockquote,
.p-worksSingle__body blockquote,
.p-promise__content blockquote,
.parent-pageid-219 .p-page__body blockquote {
  background-color: #1E2142;
  color: #fff;
  margin-top: 1.5rem;
  padding: 1.5rem;
}

.p-singlePost__body h2.wp-block-heading,
.p-worksSingle__body h2.wp-block-heading {
  margin-top: 40px !important;
}

.p-promise__content h2,
.parent-pageid-219 .p-page__body h2 {
  border-left: none;
}

html img[sizes=auto],
html img[sizes^="auto,"] {
  contain-intrinsic-size: auto 3em;
}

.p-worksSingle__body .wp-block-image {
  max-width: none;
}
.p-worksSingle__body .wp-block-image img {
  aspect-ratio: revert-layer;
}

.p-worksSingle__body a:not([class]) {
  color: #1E2142;
  text-decoration: underline;
  transition: color 0.3s ease;
}
.p-worksSingle__body a:not([class]):hover {
  color: #e38ea6;
}

.p-singlePost__backWrap {
  display: flex;
  justify-content: center;
}

/* ============================
   Sidebar
   ============================ */
.p-singlePost__aside {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}

.p-singleSidebar {
  background-color: #fff;
  padding: 1.875rem 1.25rem;
}

.p-singleSidebar__head {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.p-singleSidebar__heading {
  border-bottom: 1px solid #333;
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-bottom: 0.75rem;
}

.p-singleSidebar__sideTitle {
  border-bottom: 1px solid #fff;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* Profile */
.p-singleSidebar--profile {
  display: flex;
  flex-direction: column;
}

.p-singleSidebar__profileImg {
  aspect-ratio: 217/163;
  overflow: hidden;
  width: 100%;
}
.p-singleSidebar__profileImg img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-singleSidebar__profile {
  margin-top: 1rem;
}

.p-singleSidebar__profileRole {
  color: #777;
  font-size: 0.75rem;
  line-height: 1.4;
}

.p-singleSidebar__profileName {
  color: #333;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 0.25rem;
}

.p-singleSidebar__profileText {
  color: #333;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-top: 1rem;
}

.p-singleSidebar__sns {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  margin-top: 1.5rem;
}
.p-singleSidebar__sns li {
  height: 1.875rem;
  width: 1.875rem;
}
.p-singleSidebar__sns a {
  display: block;
  transition: opacity 0.3s ease;
}
.p-singleSidebar__sns a:hover {
  opacity: 0.7;
}
.p-singleSidebar__sns img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

/* Popular */
.p-singleSidebar--popular {
  padding: 1.875rem 1.25rem;
}

.p-singleSidebar__popularList {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.p-singleSidebar__popularItem a {
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
}
.p-singleSidebar__popularItem a:hover {
  opacity: 0.85;
}

.p-singleSidebar__popularImg {
  aspect-ratio: 220/170;
  width: 100%;
}
.p-singleSidebar__popularImg img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-singleSidebar__popularMeta {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}

.p-singleSidebar__popularTag {
  align-items: center;
  background-color: #e38ea6;
  border-radius: 1.25rem;
  color: #fff;
  display: inline-flex;
  font-size: 0.75rem;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
}

.p-singleSidebar__popularDate {
  color: #777;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-singleSidebar__popularTitle {
  color: #333;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.p-singleSidebar__popularExcerpt {
  color: #333;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 0.25rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Tag */
.p-singleSidebar--tag {
  background-color: #9db1cf;
  padding: 1.875rem 1.25rem;
}

.p-singleSidebar__tagGroup {
  margin-top: 1.25rem;
}
.p-singleSidebar__tagGroup:first-of-type {
  margin-top: 0;
}

.p-singleSidebar__tagLabel {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.p-singleSidebar__tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.625rem;
}
.p-singleSidebar__tagList li a {
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1.4;
  text-decoration: none;
}
.p-singleSidebar__tagList li a:hover {
  opacity: 0.8;
}

/* TOC */
.p-singleSidebar--toc {
  background-color: #e38ea6;
  max-height: calc(100vh - 7.5rem);
  overflow-y: auto;
  padding-block: 1.875rem;
  padding-inline: 1.375rem;
  position: sticky;
  top: 6.25rem;
}

.p-singleSidebar__tocList {
  list-style: none;
  padding-inline: 0;
}

.p-singleSidebar__tocItem {
  margin-top: 1.25rem;
}
.p-singleSidebar__tocItem:first-child {
  margin-top: 0;
}

.p-singleSidebar__tocLink {
  color: #f7f7f7;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.25rem;
  line-height: 1.5;
  text-decoration: none;
}
.p-singleSidebar__tocLink:hover {
  opacity: 0.85;
}

.p-singleSidebar__tocNum {
  flex-shrink: 0;
}

.p-singleSidebar__tocSubList {
  list-style: none;
  margin-top: 0.25rem;
  padding-inline: 0.75rem;
}

.p-singleSidebar__tocSubItem {
  margin-top: 0.25rem;
}
.p-singleSidebar__tocSubItem:first-child {
  margin-top: 0;
}
.p-singleSidebar__tocSubItem a {
  color: #f7f7f7;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.71;
  text-decoration: none;
}
.p-singleSidebar__tocSubItem a:hover {
  opacity: 0.85;
}

/* ============================
   Floating CTAs (right edge)
   ============================ */
.p-singleFloat {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 17.5rem;
  z-index: 20;
}

.p-singleFloat__btn {
  align-items: center;
  border-bottom-left-radius: 0.625rem;
  border-top-left-radius: 0.625rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding-bottom: 1.25rem;
  padding-top: 1.5625rem;
  pointer-events: auto;
  text-decoration: none;
  transition: opacity 0.2s ease;
  width: 5.5rem;
}
.p-singleFloat__btn:hover {
  opacity: 0.85;
}

.p-singleFloat__btn--cafe {
  background-color: #9db1cf;
  height: 23.1875rem;
}

.p-singleFloat__icon {
  align-items: center;
  display: flex;
  height: 2.3125rem;
  justify-content: center;
  margin-bottom: 1rem;
  width: 2.3125rem;
}
.p-singleFloat__icon img {
  -o-object-fit: contain;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.p-singleFloat__label {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3125rem;
  text-orientation: upright;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.p-slider {
  padding-bottom: 4.875rem;
  position: relative;
  width: 100%;
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
.p-slider .swiper-slide-active .p-slider__img,
.p-slider .swiper-slide-duplicate-active .p-slider__img,
.p-slider .swiper-slide-prev .p-slider__img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both;
}
.p-slider .swiper-pagination-progressbar {
  background-color: red;
  height: 2px;
  z-index: 2;
}
.p-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #F3BBC3;
}

.p-slider__img {
  height: 100%;
  overflow: hidden;
}
.p-slider__img img {
  -o-object-fit: cover;
  display: block;
  height: auto;
  object-fit: cover;
  overflow: hidden;
  width: 100%;
}

.p-slider__ttl--wrapper {
  color: #fff;
}
.p-slider__ttl--wrapper.--01 {
  height: 100%;
  left: 3.125rem;
  position: absolute;
  top: 10rem;
  width: 100%;
}
.p-slider__ttl--wrapper.--02 {
  height: 100%;
  left: 3.125rem;
  position: absolute;
  top: min(15rem, 24vw);
  width: 100%;
}
.p-slider__ttl--wrapper.--03 {
  height: 100%;
  left: 3.125rem;
  position: absolute;
  top: 22.5rem;
  width: 100%;
}
.p-slider__ttl--wrapper.--04 {
  height: 100%;
  left: 3.125rem;
  position: absolute;
  top: 17.5rem;
  width: 100%;
}

.p-slider__slide {
  overflow: hidden;
  position: relative;
}

.p-slider__dots {
  -webkit-transform: translateX(-50%);
  align-items: center;
  bottom: 0.375rem;
  display: flex;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 10;
}

.p-slider__dot {
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  height: 1.25rem;
  transition: background-color 0.3s ease;
  width: 1.25rem;
  z-index: 16;
}
.p-slider__dot.is-active {
  background-color: #F3BBC3;
}
.p-slider__dot.is-passed {
  background-color: #F3BBC3;
}

.p-slider__progress {
  background-color: rgba(255, 255, 255, 0.3);
  height: 0.125rem;
  overflow: hidden;
  position: relative;
  width: min(17.5rem, 24vw);
}

.p-slider__progress-fill {
  background-color: #F3BBC3;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: none;
  width: 0%;
}
.p-slider__progress-fill.is-animating {
  transition: width linear;
}
.p-slider__progress-fill.is-complete {
  transition: none;
  width: 100%;
}

.p-slider__pagination {
  display: none !important;
}

.p-slider__ttl {
  font-family: "Poppins", sans-serif;
  font-size: min(5rem, 11.2vw);
  font-weight: 500;
  letter-spacing: 0.002em;
  line-height: 1.25;
  text-shadow: 3px 4px 4px rgba(0, 0, 0, 0.35);
}

.p-slider__txt {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.002em;
  line-height: 1.5;
  margin-top: 1.5rem;
  text-shadow: 3px 4px 4px rgba(0, 0, 0, 0.35);
}

.p-slider__btn {
  height: 60px;
  width: 60px;
}

.swiper-slide {
  border: 1rem;
}

.p-slider__particles {
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 6;
}

body:has(.p-sns__inner.--company) .p-header {
  background-color: transparent !important;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

.p-sns {
  margin-top: 7.5rem;
}

.p-sns__en {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.p-sns__inner {
  margin: auto;
  position: relative;
}
.p-sns__inner.--company {
  margin: auto;
  max-width: 75rem;
  padding-top: 7.5rem;
}

.p-sns__box {
  align-items: center;
  display: grid;
  gap: 3.75rem;
  grid-template-columns: 46.25rem 1fr;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}
.p-sns__box.--fv-bg {
  position: relative;
}
.p-sns__box.--fv-bg:before {
  background: url(../img/sns/sns-fv-bg.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.p-sns__box.--column01 {
  grid-template-columns: 1fr;
}
.p-sns__box.--reverse {
  grid-template-columns: 1fr 45.5rem;
}

.p-sns__box + .p-sns__box {
  margin-top: 5rem;
}

.p-sns__heading {
  align-items: flex-start;
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.p-sns__headingText {
  padding-top: 0.625rem;
}

.p-sns__num {
  color: #E2829D;
  flex-shrink: 0;
  font-family: "Poppins", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-sns__line {
  background: linear-gradient(to right, #E38EA6, #7995BE);
  height: 1px;
  margin: 1.25rem 0;
}

.p-sns__textArea {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-sns__wrapper {
  margin-top: 3.75rem;
  padding-bottom: 1.75rem;
}

.p-sns__content {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: hidden;
  width: 100%;
}

.p-sns__ttl {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}
.p-sns__ttl.--center {
  text-align: center;
}

.p-sns__ttl__sub {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.p-sns__txt {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.3;
}

.p-sns__items {
  margin-top: 1rem;
}

.p-sns__item {
  font-size: 1rem;
  line-height: 1.3;
}

.p-sns__item + .p-sns__item {
  margin-top: 0.625rem;
}

.p-sns__btnArea {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.p-sns__btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid;
  border-radius: 1.25rem;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.9375rem;
  justify-content: center;
  letter-spacing: 0.05em;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  width: 17.75rem;
}
.p-sns__btn::before {
  -webkit-transform: translateY(-50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-sns__btn::after {
  -webkit-transform: translateY(-60%) rotate(-45deg);
  border-bottom: 1px solid;
  border-right: 1px solid;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-60%) rotate(-45deg);
  width: 0.625rem;
}
.p-sns__btn.--instagram {
  background-color: #CC39A4;
  background-image: radial-gradient(ellipse at top left, #FFCC52 0%, rgba(255, 204, 82, 0) 40%), radial-gradient(ellipse at bottom right, #FFCC52 0%, rgba(255, 204, 82, 0) 40%);
  border-color: transparent;
  color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.p-sns__btn.--instagram::before {
  background-image: url(../img/icon-sns-insta.webp);
  display: none;
  height: 2rem;
  left: 3.125rem;
  width: 2.0625rem;
}
.p-sns__btn.--instagram:hover {
  background-color: #fff;
  background-image: none;
  border-color: #cc39a4;
  color: #cc39a4;
}
.p-sns__btn.--instagram:hover::before {
  display: block;
}
.p-sns__btn.--youtube {
  border-color: #f03;
  color: #f03;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-sns__btn.--youtube::before {
  background-image: url(../img/icon-sns-youtube.webp);
  height: 3.125rem;
  left: 2.8125rem;
  width: 3.125rem;
}
.p-sns__btn.--youtube:hover {
  background-color: #f03;
  color: #fff;
}
.p-sns__btn.--official {
  border-color: #E692A9;
  color: #E692A9;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-sns__btn.--official::before {
  display: none;
}
.p-sns__btn.--official:hover {
  background-color: #E692A9;
  color: #fff;
}

.p-sns__img {
  max-width: 100%;
  min-width: 0;
}
.p-sns__img img {
  display: block;
  height: auto;
  max-width: 100%;
}
.p-sns__img.--phone {
  margin: auto;
  max-width: 16.25rem;
}
.p-sns__img.--phone img {
  width: 100%;
}
.p-sns__img.--desktop {
  width: 100%;
}
.p-sns__img.--desktop img {
  height: auto;
  width: 100%;
}

.p-media {
  overflow: hidden;
  padding: 3.75rem 0;
  position: relative;
}
.p-media::before {
  background: url(../img/sns/sns-fv-bg.webp) center center/cover no-repeat;
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.p-media__inner {
  margin: auto;
  max-width: 75rem;
}

.p-media__header {
  margin-bottom: 2.5rem;
  text-align: center;
}

.p-media__ttl {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-media__line {
  background: linear-gradient(177deg, #f3bbc3 35%, #9db1cf 98%);
  height: 1px;
  margin: 1rem auto 0;
  max-width: 100%;
  width: 41.8125rem;
}

.p-media__body {
  align-items: start;
  display: grid;
  gap: 3.75rem;
  grid-template-columns: 1fr 2fr;
}

.p-media__img {
  border-radius: 1.25rem;
  overflow: hidden;
}
.p-media__img img {
  display: block;
  height: auto;
  width: 100%;
}

.p-media__txt {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
}

.p-media__btnArea {
  margin-top: 2rem;
}

.p-media__btn {
  align-items: center;
  background: #fff;
  border: 1px solid #333;
  border-radius: 1.25rem;
  color: #333;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.9375rem;
  justify-content: center;
  position: relative;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  width: 17.6875rem;
}
.p-media__btn::after {
  -webkit-transform: translateY(-60%) rotate(-45deg);
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-60%) rotate(-45deg);
  transition: border-color 0.3s;
  width: 0.625rem;
}

.p-solve {
  background-color: #1E2142;
  overflow: hidden;
  padding-bottom: 6.75rem;
  padding-top: 5.625rem;
  position: relative;
}

.p-solve__bg {
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.p-solve__bg img {
  -o-object-fit: cover;
  height: 389.68%;
  left: -20.77%;
  max-width: none;
  object-fit: cover;
  opacity: 0.6;
  position: absolute;
  top: -177.51%;
  width: 241.83%;
}

.p-solve__wrapper {
  align-items: end;
  display: flex;
  gap: 2.5rem;
  position: relative;
  z-index: 1;
}

.p-solve__left {
  flex: 1;
}

.p-solve__right {
  flex-shrink: 0;
  margin-bottom: 2.5rem;
  width: 31.9375rem;
}
.p-solve__right img {
  display: block;
  height: auto;
  width: 100%;
}

.p-solve__wrapper {
  color: #fff;
  font-weight: 700;
}
.p-solve__wrapper.--02 {
  text-align: center;
}

.p-solve__title {
  color: #E2829D;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  position: relative;
}
.p-solve__title span {
  font-size: 2.625rem;
}

.p-solve__txt {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 300;
  letter-spacing: 0.002em;
  line-height: 1.3;
  margin-top: 1.875rem;
}
.p-solve__txt:first-of-type {
  margin-top: 1.5rem;
}
.p-solve__txt.--02 {
  line-height: 1.6;
  margin-top: 1.25rem;
  padding: 0 1.5rem;
}

.p-solve__container {
  display: flex;
  gap: 2rem;
}

.p-solve__btn {
  margin-top: 2.625rem;
}

.p-solve__cta-btn {
  border-radius: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  height: 3.75rem;
}

.p-solve__txtArea {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-top: 2.5rem;
}

.p-splash {
  display: none;
}

.is-splash-active .p-splash {
  -webkit-animation: pSplashOverlay 3.7s ease forwards;
  align-items: center;
  animation: pSplashOverlay 3.7s ease forwards;
  background-color: #ECECEC;
  display: flex;
  inset: 0;
  justify-content: center;
  pointer-events: none;
  position: fixed;
  z-index: 99999;
}
.is-splash-active .p-splash__inner {
  align-items: center;
  display: flex;
  justify-content: center;
}
.is-splash-active .p-splash__logo {
  display: block;
  height: auto;
  margin-inline: auto;
  max-width: 60%;
  width: 18.75rem;
}
.is-splash-active .p-splash__petal {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  -webkit-animation: pSplashDraw 0.3s linear forwards;
  animation: pSplashDraw 0.3s linear forwards;
}
.is-splash-active .p-splash__petal--1 {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.is-splash-active .p-splash__petal--2 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.is-splash-active .p-splash__petal--3 {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.is-splash-active .p-splash__petal--4 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.is-splash-active .p-splash__petal--5 {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}
.is-splash-active .p-splash__petal--pink {
  fill-opacity: 0;
  -webkit-animation: pSplashDraw 0.3s linear 1s forwards, pSplashFillIn 0.4s ease-out 1.3s forwards;
  animation: pSplashDraw 0.3s linear 1s forwards, pSplashFillIn 0.4s ease-out 1.3s forwards;
}
.is-splash-active .p-splash__knot {
  -webkit-transform-origin: center;
  -webkit-transform: scale(0);
  -webkit-animation: pSplashPop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 1.6s forwards;
  animation: pSplashPop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 1.6s forwards;
  transform: scale(0);
  transform-box: fill-box;
  transform-origin: center;
}
.is-splash-active .p-splash__wordmark {
  fill-opacity: 0;
  stroke: #1B2A4C;
  stroke-width: 2;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  -webkit-animation: pSplashDrawText 1s ease-in-out 1.7s forwards, pSplashFillIn 0.5s ease-out 2.4s forwards;
  animation: pSplashDrawText 1s ease-in-out 1.7s forwards, pSplashFillIn 0.5s ease-out 2.4s forwards;
}

@-webkit-keyframes pSplashDraw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes pSplashDraw {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes pSplashFillIn {
  to {
    fill-opacity: 1;
  }
}
@keyframes pSplashFillIn {
  to {
    fill-opacity: 1;
  }
}
@-webkit-keyframes pSplashPop {
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes pSplashPop {
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes pSplashDrawText {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes pSplashDrawText {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes pSplashOverlay {
  0%, 85% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes pSplashOverlay {
  0%, 85% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/* タブナビゲーション */
.p-taxTabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.3125rem;
  justify-content: flex-start;
  margin: 0 auto 3.25rem;
  max-width: 75rem;
}

.p-taxTabs__navItem {
  align-items: center;
  background-color: #fff;
  border: 0.125rem solid #fff;
  border-radius: 1.25rem;
  color: #333;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  height: 2.1875rem;
  justify-content: center;
  line-height: 1;
  padding: 0 1rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}

.p-taxTabs__navItem.is-active {
  background-color: #333;
  border-color: #fff;
  color: #fff;
}
/* コンテンツ切り替え */
.p-taxTabs__content {
  display: none;
}

.p-taxTabs__content.is-active {
  display: block;
}

/* カルーセル左端に余白を設ける */
.p-taxTabs__contents {
  padding-left: 1.25rem;
}

.p-taxTabs__slider {
  position: relative;
}

.p-taxTabs__navBtn {
  display: none;
}
.js-taxSwiper .swiper-wrapper {
  align-items: stretch;
}

.js-taxSwiper .swiper-slide {
  display: flex;
  height: auto;
  width: 22.5rem;
}

/* カード */
.p-taxCard {
  background-color: #fff;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  width: 100%;
}
.p-taxCard a {
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}
.p-taxCard.--02 {
  margin: auto;
  margin-top: 1.5rem;
  max-width: 22.5rem;
}

.p-taxCard__thumb {
  flex-shrink: 0;
  height: auto;
  width: 100%;
}
.p-taxCard__thumb img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-tacCard__container {
  background-color: #fff;
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  padding: 1.25rem 1.125rem 1.5rem;
}

.p-taxCard__content--wrapper {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}

.p-taxCard__term {
  align-items: center;
  background-color: #E38EA6;
  border-radius: 1.25rem;
  color: #fff;
  display: inline-flex;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  padding: 0.25rem 1rem;
  white-space: nowrap;
}

.p-taxCard__date {
  color: #6E6E6E;
  font-size: 0.875rem;
  white-space: nowrap;
}

.p-taxCard__title {
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.002em;
  line-height: 1.6;
  margin-top: 1.125rem;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  width: 100%;
}

.p-taxCard__excerpt {
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  color: rgba(51, 51, 51, 0.72);
  display: -webkit-box;
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0.625rem;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  width: 100%;
}

.p-taxTabs__btnArea {
  margin-top: 2.5rem;
  text-align: center;
}

.p-taxTabs__contents .swiper-slide {
  flex-shrink: 0;
  height: auto;
  width: 22.5rem;
}
.p-titleArea {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  margin: auto;
}
.p-titleArea.--02 .p-sns__wrapper {
  padding-top: 1rem;
}

.p-company.--contact .p-sns__inner.--company {
  margin: auto;
  max-width: 75rem;
  padding-top: 0;
}

.p-company.--contact .p-sns__wrapper.p-titleArea {
  margin-top: 6.75rem !important;
}

.p-titleArea__main {
  font-size: 3rem;
  text-align: left;
}

.p-company__txt {
  font-size: 1.75rem;
  margin-top: 2.5rem;
}

.p-titleArea__sub {
  font-size: 1.75rem;
  font-weight: 300;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-top: 2.125rem;
}

.p-title {
  font-family: "Plus Jakarta Sans", sans-serif;
}
.p-title.--02 .p-title__main {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  position: relative;
  text-align: left !important;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, 0 1px 0 #fff;
}
.p-title.--02 .p-title__main::before {
  background-color: #7995BE;
  bottom: 0.625rem;
  content: "";
  height: 10px;
  left: 0;
  opacity: 0.8;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.p-title.--02 .p-title__main.--pos {
  padding-left: 14rem;
}
.p-title .p-title__span {
  font-size: 2.5rem;
}
.p-title .p-title__span.--pink {
  color: #E38EA6;
}
.p-title .p-title__sub {
  border-bottom: 1px solid #7995BE;
}
.p-title .p-title__sub.--pos {
  padding-left: 14rem;
}
.p-title.--03 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-top {
  background-color: #1E2142;
  padding-bottom: 2.25rem;
  padding-top: 2.5rem;
  position: relative;
}
.p-top:before {
  background-color: #1E2142;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: -7.5rem;
  width: 100%;
}
.p-top:after {
  -webkit-transform: translate3d(0, -50%, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: url("../img/top/top-fv-line.svg") no-repeat left center/100% 100%;
  clip-path: inset(0 100% 0 0);
  content: "";
  height: 34.375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 100%;
  will-change: clip-path;
  z-index: 1;
}
.p-top.is-lineDraw:after {
  -webkit-animation: topFvLineDraw 3s linear forwards;
  animation: topFvLineDraw 3s linear forwards;
}

@-webkit-keyframes topFvLineDraw {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes topFvLineDraw {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
.p-top__inner {
  margin-inline: auto;
  max-width: 75rem;
}

@-webkit-keyframes scrollIndicatorDown {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}

@keyframes scrollIndicatorDown {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}
.p-top__scroll {
  align-items: center;
  bottom: 100px;
  display: flex;
  flex-direction: row-reverse;
  gap: 0.625rem;
  position: absolute;
  right: 80px;
  z-index: 10;
}

.p-top__scroll-text {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-orientation: mixed;
  writing-mode: vertical-rl;
}

.p-top__scroll-arrow {
  -webkit-animation: scrollIndicatorDown 1.6s ease-in-out infinite;
  animation: scrollIndicatorDown 1.6s ease-in-out infinite;
  background: #fff;
  display: block;
  height: 3.75rem;
  position: relative;
  width: 1px;
}
.p-top__scroll-arrow::after {
  -webkit-transform: translateX(-33%) rotate(45deg);
  border-right: 1px solid #fff;
  bottom: 0.125rem;
  content: "";
  height: 0.5rem;
  left: 50%;
  position: absolute;
  transform: translateX(-33%) rotate(45deg);
  width: 0.5rem;
}

.p-trouble {
  padding-bottom: 0;
  padding-top: 5rem;
}

.p-trouble__inner {
  margin: auto;
  max-width: 75rem;
  padding-inline: 1.25rem;
}

.p-trouble__ttl {
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-trouble__ttl-pink {
  color: #E38EA6;
}

.p-trouble__container {
  align-items: center;
  display: grid;
  gap: 3.75rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 3.75rem;
}

.p-trouble__left figure img {
  -o-object-fit: contain;
  max-height: 27.5rem;
  object-fit: contain;
  width: 100%;
}

.p-trouble__box {
  background-color: #f8f8f8;
  border-radius: 1rem;
  padding: 2.5rem 2rem;
}

.p-trouble__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-trouble__item {
  -webkit-transform: translateY(1.875rem);
  align-items: center;
  color: #333;
  display: flex;
  font-size: 1.125rem;
  font-weight: 300;
  gap: 0.75rem;
  letter-spacing: 0;
  line-height: 1.3;
  opacity: 0;
  transform: translateY(1.875rem);
}
.p-trouble__list.is-visible .p-trouble__item {
  -webkit-animation: p-trouble-slideUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation: p-trouble-slideUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(2) {
  -webkit-animation-delay: 0.12s;
  animation-delay: 0.12s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(3) {
  -webkit-animation-delay: 0.24s;
  animation-delay: 0.24s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(4) {
  -webkit-animation-delay: 0.36s;
  animation-delay: 0.36s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(5) {
  -webkit-animation-delay: 0.48s;
  animation-delay: 0.48s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(6) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(7) {
  -webkit-animation-delay: 0.72s;
  animation-delay: 0.72s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(8) {
  -webkit-animation-delay: 0.84s;
  animation-delay: 0.84s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(9) {
  -webkit-animation-delay: 0.96s;
  animation-delay: 0.96s;
}
.p-trouble__list.is-visible .p-trouble__item:nth-child(10) {
  -webkit-animation-delay: 1.08s;
  animation-delay: 1.08s;
}
.p-trouble__item::before {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CE2229' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12 10 17 19 7'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.875rem 0.875rem;
  border: 2px solid #000;
  border-radius: 0.25rem;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 1.25rem;
  width: 1.25rem;
}

@-webkit-keyframes p-trouble-slideUp {
  0% {
    -webkit-transform: translateY(1.875rem);
    opacity: 0;
    transform: translateY(1.875rem);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes p-trouble-slideUp {
  0% {
    -webkit-transform: translateY(1.875rem);
    opacity: 0;
    transform: translateY(1.875rem);
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
.p-trouble__resolve {
  background-color: #1E2142;
  margin-top: 5rem;
  padding: 3.75rem 1.25rem;
  text-align: center;
}

.p-trouble__resolve-txt {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.p-ttl__main {
  font-size: 3rem;
  letter-spacing: 0em;
  line-height: 1.3;
}

.p-ttl {
  margin: auto;
  padding-bottom: 0.5rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-ttl::before {
  -webkit-transform: translateX(-50%);
  background: url(../img/border-color.webp) no-repeat center center/cover;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 0.5625rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5rem;
}

.p-value {
  margin-top: 11.375rem;
  text-align: center;
}
.p-value__container {
  aspect-ratio: 1;
  margin: 3.75rem auto;
  max-width: 50rem;
  position: relative;
  width: 100%;
}
.p-value__diagram {
  height: 100%;
  position: relative;
  width: 100%;
}
.p-value__center {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 47%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.p-value__triangle {
  align-items: center;
  background-color: #fff;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  display: flex;
  height: 8rem;
  justify-content: center;
  position: relative;
  width: 18.75rem;
}
.p-value__logo {
  -webkit-transform: translate(-50%, -10%);
  color: #1E2142;
  font-size: 2rem;
  font-weight: 700;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0;
  position: absolute;
  top: 55%;
  transform: translate(-50%, -10%);
  white-space: nowrap;
}
.p-value__circle {
  align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  height: 26.25rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 26.25rem;
}
.p-value__circle--top {
  -webkit-transform: translate(-50%, calc(-50% - 120px));
  background: linear-gradient(90deg, #808080 0%, #1A1A1A 29%, #808080 100%);
  border: 0.625rem solid rgba(160, 160, 165, 0.05);
  transform: translate(-50%, calc(-50% - 120px));
}
.p-value__circle--top .p-value__circle-text {
  margin-top: -3.75rem;
}
.p-value__circle--left {
  -webkit-transform: translate(calc(-50% - 185px), calc(-50% + 95px));
  background: linear-gradient(90deg, #FFD9DE 0%, #F3BBC3 29%, #FFD9DE 100%);
  border: 0.625rem solid #E38EA6;
  transform: translate(calc(-50% - 185px), calc(-50% + 95px));
}
.p-value__circle--right {
  -webkit-transform: translate(calc(-50% + 150px), calc(-50% + 108px));
  background: linear-gradient(90deg, #B7CCEA 0%, #9DB1CF 29%, #B7CCEA 100%);
  border: 0.625rem solid #7995BE;
  transform: translate(calc(-50% + 150px), calc(-50% + 108px));
}
.p-value__hover-text {
  color: #333;
  font-size: 1.25rem;
  line-height: 1.6;
  opacity: 1;
  padding: 1.25rem 1.5rem;
  pointer-events: none;
  position: absolute;
  text-align: left;
  visibility: visible;
  white-space: normal;
  width: -webkit-max-content;
  width: max-content;
  z-index: 20;
}
.p-value__hover-text p {
  margin: 0;
}
.p-value__hover-text--top-right {
  -webkit-transform: translate(calc(100% + 1.25rem), 0);
  right: 0;
  top: -1.875rem;
  transform: translate(calc(100% + 1.25rem), 0);
  width: 27.5rem;
}
.p-value__hover-text--top-right:before {
  background-color: #000;
  content: "";
  display: inline-block;
  height: 1px;
  left: -54px;
  position: absolute;
  rotate: -45deg;
  top: 105px;
  width: 3.75rem;
  z-index: 2;
}
.p-value__hover-text--left {
  left: -10rem;
  top: -5.625rem;
  width: 27.5rem;
}
.p-value__hover-text--left:before {
  background-color: #000;
  content: "";
  display: inline-block;
  height: 1px;
  position: absolute;
  right: -3.4375rem;
  rotate: -45deg;
  rotate: 45deg;
  top: 8.3125rem;
  width: 100px;
  z-index: 2;
}
.p-value__hover-text--bottom-right {
  -webkit-transform: translate(calc(100% + 1.25rem), 0);
  right: 0;
  top: -10%;
  transform: translate(calc(100% + 1.25rem), 0);
  width: 27.5rem;
}
.p-value__hover-text--bottom-right:before {
  background-color: #000;
  content: "";
  height: 1px;
  left: -4rem;
  position: absolute;
  rotate: 45deg;
  top: 0px;
  width: 80px;
  z-index: 2;
}
.p-value .p-value__circle__inner {
  align-items: center;
  border: 10px solid #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  max-width: 110%;
  width: 400px;
}
.p-value__circle-text {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 400;
  font-weight: 700;
  letter-spacing: 0.002em;
  line-height: 1.3;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.p-value__items {
  margin-top: 3.75rem;
}

.p-value__item + .p-value__item {
  margin-top: 2.5rem;
}

.p-value__item-ttl {
  align-items: center;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
}
.p-value__item-ttl span {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 500;
  margin-right: 0.75rem;
}

.p-value__item-txt {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 2rem;
}

.p-value .p-value__ttl.p-title__main {
  background-image: linear-gradient(90deg, #F3BBC3 35%, #9DB1CF 98%);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 2px;
  color: #1E2142;
  display: inline-block;
  font-size: 3.125rem;
  padding-bottom: 1rem;
  padding-left: 0;
  text-align: center !important;
  text-shadow: none;
}

.p-value .p-value__ttl.p-title__main::before {
  display: none;
}

.p-vision {
  margin-top: 17.5rem;
  text-align: center;
}

.p-vision__wrapper:nth-child(2) {
  margin-top: 10rem;
}

.p-vision .p-vision__ttl.p-title__main {
  background-image: linear-gradient(90deg, #F3BBC3 35%, #9DB1CF 98%);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 2px;
  color: #1E2142;
  display: inline-block;
  font-size: 3.125rem;
  padding-bottom: 1rem;
  padding-left: 0;
  text-align: center !important;
  text-shadow: none;
}

.p-vision .p-vision__ttl.p-title__main::before {
  display: none;
}

.p-vision .p-vision__txt.p-title__sub {
  border-bottom: none;
  color: #E38EA6;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 2.5rem;
  padding-left: 0;
  text-align: center;
}

.p-vision .p-vision__txt--area {
  color: #333;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 1.5rem;
  padding-left: 0;
  text-align: center;
}

.p-vision .p-vision__txt--area.--pos {
  padding-left: 0;
}

.p-vision__txt--area:nth-child(2) {
  margin-top: 3.75rem !important;
}

body:has(.p-worksHero) .p-header {
  background-color: transparent !important;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10 !important;
}

/* ========= ヒーロー ========= */
.p-worksHero {
  background-color: #1E2142;
  background-image: url("../img/blog-fv-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding-block: 14rem 10.625rem;
  position: relative;
}

.p-worksHero__inner {
  color: #fff;
  position: relative;
}

.p-worksHero__en {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-worksHero__ttl {
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.p-worksHero__desc {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 2rem;
}

.p-worksBreadcrumb {
  color: #fff;
  padding-block: 1rem;
}

.p-breadcrumb {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0.3125rem;
}
.p-breadcrumb a,
.p-breadcrumb .p-breadcrumb__icon {
  flex-shrink: 0;
  white-space: nowrap;
}

/* ========= SPECIAL INTERVIEW セクション ========= */
.p-worksFeature {
  --feature-color: #e9a5b8;
  background-color: var(--feature-color);
  overflow: hidden;
  padding-block: 1.625rem 3.75rem;
  position: relative;
}

.p-worksFeature--pink {
  --feature-color: #e9a5b8;
}

.p-worksFeature--blue {
  --feature-color: #b1c1d9;
}

.p-worksFeature__bgText {
  -webkit-transform: translateY(-50%) rotate(-90deg);
  -webkit-transform-origin: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  color: rgba(30, 33, 66, 0.1);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  left: -27.5rem;
  letter-spacing: 0.3125rem;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  user-select: none;
  white-space: nowrap;
}

.p-worksFeature__inner {
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  max-width: 75rem;
  padding-inline: 7.5rem;
  position: relative;
  z-index: 1;
}

.p-worksFeature__head {
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  grid-template-rows: auto auto;
  max-width: 40rem;
  row-gap: 1.25rem;
}

.p-worksFeature__num {
  align-self: end;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 6.25rem;
  font-weight: 700;
  grid-column: 1;
  grid-row: 1;
  letter-spacing: -0.05em;
  line-height: 1;
  text-align: center;
}

.p-worksFeature__ttl {
  align-self: end;
  color: #fff;
  font-size: 1.875rem;
  font-weight: 700;
  grid-column: 2;
  grid-row: 1;
  letter-spacing: 0.04em;
  line-height: 1;
  padding-bottom: 0.75rem;
  text-align: center;
}

.p-worksFeature__line {
  background-color: #fff;
  display: block;
  grid-column: 1/-1;
  grid-row: 2;
  height: 1px;
  width: 100%;
}

.p-worksFeature__body {
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  display: grid;
  grid-template-columns: 19rem 1fr;
  margin-top: 2.0625rem;
}

.p-worksFeature__left {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.p-worksFeature__client {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.p-worksFeature__project {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin-top: 0.75rem;
}

.p-worksFeature__badge {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem;
  color: var(--feature-color);
  display: inline-flex;
  font-size: 1.25rem;
  font-weight: 700;
  height: 2.9375rem;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-top: 1.75rem;
  min-width: 14.125rem;
  padding-inline: 1.75rem;
}

.p-worksFeature__hl {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  list-style: none;
  margin-top: 2.5rem;
  padding: 0;
}

.p-worksFeature__hlItem {
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.p-worksFeature__hlMark {
  flex-shrink: 0;
}

.p-worksFeature__image {
  aspect-ratio: 644/381;
  background-color: rgba(255, 255, 255, 0.2);
  border-bottom-left-radius: 1.875rem;
  border-top-right-radius: 1.875rem;
  height: auto;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-worksFeature__image img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-worksFeature__card {
  aspect-ratio: 958/368;
  background-color: #fff;
  border-radius: 1.25rem;
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 3rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-worksFeature__cardImage {
  inset: 1.25rem;
  margin: 0;
  position: absolute;
}
.p-worksFeature__cardImage img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-worksFeature__more {
  align-items: center;
  background-color: #fff;
  border-radius: 1.25rem;
  color: var(--feature-color);
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.9375rem;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-left: auto;
  margin-top: 2.9375rem;
  padding-right: 1.25rem;
  position: relative;
  text-decoration: none;
  transition: opacity 0.2s;
  width: 17.6875rem;
}
.p-worksFeature__more:hover {
  opacity: 0.85;
}

.p-worksFeature__moreText {
  color: var(--feature-color);
}

.p-worksFeature__moreArrow {
  -webkit-transform: translateY(-65%) rotate(45deg);
  border-right: 1px solid var(--feature-color);
  border-top: 1px solid var(--feature-color);
  height: 0.625rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-65%) rotate(45deg);
  width: 0.625rem;
}

/* ========= Achievements セクション ========= */
.p-works {
  background-color: #fff;
  padding-block: 5rem 7.5rem;
  position: relative;
}

.p-works__head {
  align-items: baseline;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 3.75rem;
}

.p-works__en {
  color: #9db1cf;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-works__ttl {
  color: #1E2142;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.p-works__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  list-style: none;
  padding-inline: 3.75rem;
}

.p-works__item {
  --works-color: #e38ea6;
}

.p-works__item--blue {
  --works-color: #9db1cf;
}

.p-works__link {
  align-items: stretch;
  color: #333;
  display: grid;
  gap: 3.125rem;
  grid-template-columns: 22.5rem 1fr;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-works__link:hover {
  opacity: 0.85;
}
.p-works__link:hover .p-works__more {
  -webkit-transform: translateX(0.375rem);
  transform: translateX(0.375rem);
}
.p-works__link:hover .p-works__moreText {
  color: var(--works-color);
}
.p-works__link:hover .p-works__moreArrow {
  border-color: var(--works-color);
}

.p-works__thumb {
  border: 5px solid var(--works-color);
  border-bottom-right-radius: 1.25rem;
  border-top-left-radius: 1.25rem;
  height: 16.875rem;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-works__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-works__body {
  display: flex;
  flex-direction: column;
  padding-top: 1.25rem;
}

.p-works__row {
  display: flex;
  gap: 1.75rem;
}

.p-works__num {
  color: #333;
  flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}

.p-works__heading {
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  color: #333;
  display: -webkit-box;
  flex: 1;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  min-width: 0;
  overflow: hidden;
  padding-top: 0.25rem;
}

.p-works__desc {
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  color: var(--works-color);
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-top: 1.25rem;
  overflow: hidden;
}

.p-works__divider {
  background-color: #333;
  border: 0;
  display: block;
  height: 1px;
  margin: 0.5rem 0 0;
  padding: 0;
  width: 100%;
}

.p-works__footer {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 0.5rem;
}

.p-works__tags {
  align-items: center;
  background-color: var(--works-color);
  color: #fff;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 2.125rem;
  letter-spacing: 0.04em;
  line-height: 1;
  padding-inline: 1rem;
}

.p-works__tag {
  white-space: nowrap;
}

.p-works__tagSep {
  display: inline-block;
  font-weight: 400;
  opacity: 0.7;
  padding-inline: 0.625rem;
}

.p-works__more {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  gap: 0.75rem;
  padding-right: 1.75rem;
  position: relative;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-works__moreText {
  color: #333;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  transition: color 0.3s ease;
}

.p-works__moreArrow {
  -webkit-transform: translateY(-65%) rotate(45deg);
  border-right: 1px solid #333;
  border-top: 1px solid #333;
  height: 0.5rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-65%) rotate(45deg);
  transition: border-color 0.3s ease;
  width: 0.5rem;
}

.p-works__empty {
  color: #333;
  font-size: 1rem;
  padding-block: 5rem;
  text-align: center;
}

.p-worksPagination {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.p-worksPagination .page-numbers {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-worksPagination .page-numbers li {
  display: flex;
}
.p-worksPagination .page-numbers a,
.p-worksPagination .page-numbers span {
  align-items: center;
  border-radius: 0.625rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  min-width: 2.75rem;
  padding-inline: 0.25rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-worksPagination .page-numbers a {
  background-color: #e38ea6;
  color: #fff;
}
.p-worksPagination .page-numbers a:hover {
  opacity: 0.8;
}
.p-worksPagination .page-numbers .current {
  background-color: #fff;
  border: 1px solid #e38ea6;
  color: #e38ea6;
}
.p-worksPagination .page-numbers .dots {
  background-color: transparent;
  border: none;
  color: #e38ea6;
}

/* ========= single 用 ========= */
.p-worksSingle {
  background-color: #f7f7f7;
  padding-block: 2.5rem 7.5rem;
}

.p-worksSingle__layout {
  align-items: start;
  display: grid;
  gap: 3.1875rem;
  grid-template-columns: 49.375rem 16.0625rem;
  margin-inline: auto;
  margin-top: 2.5rem;
  max-width: 68.625rem;
}

.p-worksSingle__main {
  background-color: #fff;
  padding: 2.5rem;
}

.p-worksSingle__aside {
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  position: sticky;
  top: 8.125rem;
}

.p-worksSingle__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-worksSingle__tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-worksSingle__dates {
  display: flex;
  gap: 1rem;
  margin-left: auto;
  margin-left: auto;
}

.p-worksSingle__date {
  color: #333;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-worksSingle__tag {
  align-items: center;
  background-color: #e38ea6;
  color: #fff;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 700;
  height: 1.75rem;
  letter-spacing: 0.04em;
  line-height: 1;
  padding-inline: 0.75rem;
}

.p-worksSingle__ttl {
  color: #333;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.p-worksSingle__thumb {
  aspect-ratio: 700/400;
  border-radius: 0.5rem;
  margin: 0;
  overflow: hidden;
  width: 100%;
}

.p-worksSingle__thumb img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-worksSingle__body {
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 2rem;
}

.p-worksSingle__back {
  margin-top: 4rem;
  text-align: center;
}

.p-reason {
  background-color: #fff;
  padding: 6.25rem 0 0;
}

.p-reason__inner {
  margin: 0 auto;
  max-width: 75rem;
  padding: 0 1.25rem 3.75rem;
}

.p-reason__wrapper {
  margin-bottom: 5rem;
  text-align: center;
}

.p-reason__title {
  color: #1E2142;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.p-reason__txt {
  color: #333;
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}

.p-reason__box {
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1.3fr 1fr;
}
.p-reason__box + .p-reason__box {
  margin-top: 6rem;
}
.p-reason__box.--reverse {
  direction: rtl;
}
.p-reason__box.--reverse > * {
  direction: ltr;
}

.p-reason__heading {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.p-reason__num {
  color: #d3d3d3;
  flex-shrink: 0;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
}

.p-reason__ttl {
  color: #E2829D;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.3;
  padding-top: 0.625rem;
}

.p-reason__line {
  border: none;
  border-top: 1px solid #333;
  margin: 0 0 1.75rem;
}

.p-reason__desc {
  color: #333;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}

.p-reason__img--sm img {
  -o-object-fit: contain;
  height: 16.25rem;
  object-fit: contain;
}

.p-reason__bar {
  background-color: #1E2142;
  padding: 2.5rem 1.25rem;
  text-align: center;
}

.p-reason__bar-txt {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-introduction {
  background-image: url("../img/top/introduction-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  display: inline-block;
  height: 100%;
  margin-top: 2rem;
  overflow: hidden;
  padding-top: 3rem;
  position: relative;
  width: 100%;
}

.p-introduction__bg-text {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -webkit-user-select: none;
  -ms-user-select: none;
  color: rgba(30, 33, 66, 0.1);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 6.25rem;
  font-weight: bold;
  left: 3.125rem;
  letter-spacing: 0.05em;
  pointer-events: none;
  position: absolute;
  top: 57%;
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
  user-select: none;
  white-space: nowrap;
}

.p-introduction__wrapper {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: 0.6fr 1fr;
}
.p-introduction__wrapper figure img {
  -o-object-fit: cover;
  height: 44rem;
  max-width: 100%;
  object-fit: cover;
  width: 28.25rem;
}

.p-introduction__textArea {
  padding-bottom: 1.25rem;
}

.p-introduction__title {
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.021em;
  line-height: 2.875rem;
}
.p-introduction__title span {
  font-size: 1.25rem;
}

.p-introduction__content {
  border-left: 2px solid;
  margin-top: 1.25rem;
}

.p-introduction__content--wrapper {
  padding-left: 1rem;
}

.p-introduction__content--title,
.p-introduction__career--title {
  background-color: #1E2142;
  border-radius: 0 20px 0 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.021em;
  line-height: 0.8;
  padding: 0.9375rem 4rem 0.9375rem 1.5625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-introduction__content--title span,
.p-introduction__career--title span {
  display: inline-block;
  font-size: 1rem;
  margin-left: 1.25rem;
}

.p-introduction__content--body {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 1.875rem;
}

.p-introduction__content--sns {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-introduction__sns-item a {
  display: block;
}
.p-introduction__sns-item a:hover {
  opacity: 0.8;
}
.p-introduction__sns-item img {
  -o-object-fit: contain;
  display: block;
  height: 2.875rem;
  object-fit: contain;
  width: 2.875rem;
}

.p-introduction__content--subTtl {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.021em;
  line-height: 1.8;
  margin-top: 1.25rem;
}
.p-introduction__content--subTtl span {
  display: inline-block;
  margin-right: 2.5rem;
}

.p-introduction__content--address {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.021em;
  line-height: 1.7;
}

.p-introduction__content--txt {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 0.9375rem;
  max-width: 32.5rem;
  width: 100%;
}

.p-introduction__career {
  border-left: 2px solid;
  margin-top: 1.75rem;
}

.p-introduction__career--title {
  margin-top: 1.75rem;
  padding-right: 7.5rem;
}

.p-introduction__career--txt {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-top: 1.25rem;
  max-width: 38.125rem;
  padding-left: 1.25rem;
  width: 100%;
}

.p-introduction__btnArea {
  margin-top: 2rem;
  text-align: center;
  width: 100%;
}

.p-introduction__sns-item a img {
  -o-object-fit: contain;
  display: block;
  height: auto;
  max-width: 2.875rem;
  object-fit: contain;
  width: 100%;
}

.u-base1 {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.u-base2 {
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.u-flex {
  display: flex;
}

.u-font14 {
  font-size: 0.875rem;
}

.u-font16 {
  font-size: 1rem;
}

.u-font18 {
  font-size: 1.125rem;
}

.u-font20 {
  font-size: 1.25rem;
}

.u-font22 {
  font-size: 1.375rem;
}

.u-font24 {
  font-size: 1.5rem;
}

.u-font28 {
  font-size: 1.75rem;
}

.u-font32 {
  font-size: 2rem;
}

.u-font40 {
  font-size: 2.5rem;
}

.u-hover {
  transition: opacity 0.5s;
}

.u-hover:hover {
  opacity: 0.6;
  transition: opacity 0.5s;
}

.u-lh10 {
  line-height: 1;
}

.u-lh13 {
  line-height: 1.3;
}

.u-lh15 {
  line-height: 1.5;
}

.u-lh16 {
  line-height: 1.6;
}

.u-lh20 {
  line-height: 2;
}

.u-ls05 {
  letter-spacing: 0.05em;
}

.u-ls10 {
  letter-spacing: 0.1em;
}

.u-ls15 {
  letter-spacing: 0.15em;
}

.u-ls20 {
  letter-spacing: 0.2em;
}

.u-mt10 {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.u-mt20 {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.u-mt30 {
  margin-top: 30px !important;
  margin-top: 1.875rem !important;
}

.u-mt40 {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.u-mt50 {
  margin-top: 50px !important;
  margin-top: 3.125rem !important;
}

.u-mt60 {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.u-mt70 {
  margin-top: 70px !important;
  margin-top: 4.375rem !important;
}

.u-mt80 {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.u-mt90 {
  margin-top: 90px !important;
  margin-top: 5.625rem !important;
}

.u-mt100 {
  margin-top: 100px !important;
  margin-top: 6.25rem !important;
}

.u-mt110 {
  margin-top: 110px !important;
  margin-top: 6.875rem !important;
}

.u-mt120 {
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.u-mt130 {
  margin-top: 130px !important;
  margin-top: 8.125rem !important;
}

.u-mt140 {
  margin-top: 140px !important;
  margin-top: 8.75rem !important;
}

.u-mt150 {
  margin-top: 150px !important;
  margin-top: 9.375rem !important;
}

.u-mt160 {
  margin-top: 160px !important;
  margin-top: 10rem !important;
}

.u-mt170 {
  margin-top: 170px !important;
  margin-top: 10.625rem !important;
}

.u-mt180 {
  margin-top: 180px !important;
  margin-top: 11.25rem !important;
}

.u-mt190 {
  margin-top: 190px !important;
  margin-top: 11.875rem !important;
}

.u-mt200 {
  margin-top: 200px !important;
  margin-top: 12.5rem !important;
}

.u-shadow {
  box-shadow: 6px 6px 16px rgba(0, 0, 0, 0.16);
}

.u-sp {
  display: none;
}

.u-textLeft {
  text-align: Left !important;
}

.u-textCenter {
  text-align: Center !important;
}

.u-textRight {
  text-align: Right !important;
}

.u-textJustify {
  text-align: Justify !important;
}
.u-w300 {
  font-weight: 300;
}

.u-w400 {
  font-weight: 400;
}

.u-w500 {
  font-weight: 500;
}

.u-w600 {
  font-weight: 600;
}

.u-w700 {
  font-weight: 700;
}

.u-w900 {
  font-weight: 900;
}

@media (min-width: 768px) {
  .p-can__textBlock::before,
  .p-can__textBlock::after {
    opacity: 0;
    transition: opacity 0.6s ease-out 0.2s;
  }
  .p-can__textBlock.is-canShow::before,
  .p-can__textBlock.is-canShow::after {
    opacity: 1;
  }
  .p-taxTabs__navBtn {
    align-items: center;
    background-color: #fff;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);
    color: #333;
    cursor: pointer;
    display: flex;
    font-size: 1.125rem;
    height: 2.75rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    top: 8.4375rem;
    transition: opacity 0.3s;
    width: 2.75rem;
    z-index: 2;
  }
  .p-taxTabs__navBtn:hover {
    opacity: 0.7;
  }
  .p-taxTabs__navBtn.swiper-button-disabled {
    cursor: default;
    opacity: 0.35;
  }
  .p-taxTabs__navBtn.swiper-button-lock {
    display: none;
  }
  .p-taxTabs__navBtn--prev {
    left: -0.25rem;
  }
  .p-taxTabs__navBtn--next {
    right: 4.375rem;
  }
}

@media screen and (min-width: 768px) {
  .c-btn:hover {
    color: #333;
    opacity: 0.7;
    transition: 0.3s all;
  }
  .c-btn.--pink:hover {
    background-color: #fff;
    border-color: #E38EA6;
    color: #E38EA6;
    opacity: 1;
  }
  .c-btn.--pink:hover::before, .c-btn.--pink:hover::after {
    background: transparent;
  }
  .c-btn.--green:hover {
    background-color: #fff;
    border-color: #7995BE;
    color: #7995BE;
    opacity: 1;
  }
  .c-hoverRun:hover {
    background-size: 100% 1px;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-underBar:hover:before {
    opacity: 0;
    transition: 0.5s all;
  }
}

@media screen and (min-width: 769px) {
  .c-imgHover:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .c-imgHover:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
  .c-imgZoom:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
  }
}

@media screen and (max-width: 1300px) {
  html {
    font-size: 1.2307692308vw;
  }
}

@media screen and (max-width: 1200px) {
  .p-blogArticles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-blogArticles__card:nth-child(3n) {
    border-right: 1px solid #E38EA6;
  }
  .p-blogArticles__card:nth-child(2n) {
    border-right: none;
  }
  .p-blogHero__title {
    font-size: 1.625rem;
  }
  .p-connectedgame__inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .p-gameServices__inner {
    padding: 0 2.5rem;
  }
  .p-gameQuality__inner {
    padding: 0 2.5rem;
  }
  .p-gameQuality__card {
    padding: 2.5rem 1.25rem;
  }
  .p-consultingFv {
    gap: 1rem;
  }
  .p-consultingFv__cycle {
    width: clamp(22.5rem, 34.7222222222vw, 31.25rem);
  }
  .p-contact__title {
    font-size: 1.25rem;
  }
  .p-contact__right {
    padding-block: 3.75rem;
    padding-inline: 3.75rem;
  }
  .p-featuredArticles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-header__snsInner {
    width: 95%;
  }
  .p-header__item a {
    font-size: clamp(0.75rem, 1.5vw, 1rem);
  }
  .p-latestArticles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-representative__snsList {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .p-singlePost__layout {
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) 16.0625rem;
  }
  .p-solve__right {
    width: 22.5rem;
  }
  .p-worksFeature__bgText {
    font-size: 4.375rem;
    left: -20rem;
  }
  .p-worksFeature__inner {
    padding-inline: 4rem;
  }
  .p-worksFeature__body {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    grid-template-columns: 16.25rem 1fr;
  }
  .p-works__link {
    gap: 2rem;
    grid-template-columns: 18.75rem 1fr;
  }
  .p-worksSingle__layout {
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) 16.0625rem;
  }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .p-can__diagram {
    -webkit-transform: scale(0.7);
    margin-bottom: -16.6875rem;
    transform: scale(0.7);
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  .p-can__diagram {
    -webkit-transform: scale(0.55);
    margin-bottom: -25rem;
    transform: scale(0.55);
  }
}

@media (max-width: 767px) {
  .p-company__slider .swiper-wrapper {
    gap: 25px;
  }
  .p-company__slider .p-company__slide {
    width: calc((100% - 75px) / 4);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
  a[href^="tel:"] {
    pointer-events: all;
  }
  .l-bread {
    margin-top: 1.5rem;
  }
  .l-bread.--sns {
    margin-top: 1rem;
  }
  .l-bread.--company {
    margin-top: 1rem;
  }
  .l-inner {
    padding-left: 25px;
    padding-right: 25px;
    width: 100%;
  }
  .l-promise__bread {
    margin-top: 1rem;
  }
  .l-sec {
    padding: 5rem 0 6.25rem;
  }
  .l-sec01 {
    padding: 4.5rem 0 5.75rem;
  }
  .c-btn {
    font-size: 1rem;
  }
  .c-column2 {
    gap: 1.875rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column2--gap60 {
    gap: 2.5rem;
  }
  .c-column2--gapSp20 {
    gap: 1.25rem;
  }
  .c-column3 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4 {
    grid-template-columns: repeat(1, 1fr);
  }
  .c-column4--sp2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-headline1__main {
    font-size: 1.25rem;
    padding-left: 1.375rem;
  }
  .c-headline1__sub {
    margin-top: 1.625rem;
    padding-left: 1.375rem;
  }
  .c-imageSlider {
    aspect-ratio: auto;
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }
  .c-imageSlider__col--main {
    aspect-ratio: auto;
    height: auto;
  }
  .c-imageSlider__col--thumbs {
    height: auto;
  }
  .c-imageSlider__main {
    height: auto;
    inset: auto;
    position: relative;
  }
  .c-imageSlider__thumbs {
    height: auto;
    inset: auto;
    position: relative;
  }
  .c-imageSlider__main .swiper-wrapper {
    height: auto;
  }
  .c-imageSlider__main .swiper-slide {
    height: auto;
  }
  .c-imageSlider__slide img {
    aspect-ratio: 16/10;
  }
  .c-imageSlider__nav {
    height: 2rem;
    width: 2rem;
  }
  .c-imageSlider__thumbs .swiper-wrapper {
    align-items: stretch;
  }
  .c-imageSlider__thumbs .swiper-slide {
    aspect-ratio: 16/10;
    height: auto;
  }
  .c-imageSlider--editor .c-imageSlider__thumbs {
    flex-direction: row;
    gap: 0.5rem;
  }
  .c-relatedPost .c-relatedPost__link {
    gap: 0.75rem;
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
  }
  .c-relatedPost__thumb {
    align-self: center;
    width: 8.5rem;
  }
  .c-relatedPost__title {
    font-size: 0.9375rem;
    margin-top: 0.25rem;
  }
  .c-relatedPost__excerpt {
    font-size: 0.75rem;
    margin-top: 0.25rem !important;
  }
  .p-access {
    margin-top: 5rem;
  }
  .p-access__map iframe {
    height: 25rem;
  }
  .p-achievements {
    padding-block: 2.5rem;
  }
  .p-achievements__content {
    margin-top: 1.75rem;
  }
  .p-achievements__items {
    max-width: 100%;
  }
  .p-achievements__item.--02 {
    gap: 0;
    grid-template-columns: 1fr;
  }
  .p-achievements__item.--02 > *:first-child {
    order: 0;
  }
  .p-achievements__item.--02 > *:last-child {
    order: 0;
  }
  .p-achievements__item {
    gap: 0;
    grid-template-columns: 1fr;
  }
  .p-achievements__item > .p-achievements__body {
    display: contents;
  }
  .p-achievements__item + .p-achievements__item {
    margin-top: 1.875rem;
  }
  .p-achievements__img {
    aspect-ratio: 300/200;
    margin-bottom: 0.9375rem;
    margin-inline: auto;
    max-width: 21.25rem;
  }
  .p-achievements__title {
    font-size: 1.875rem;
    gap: 0.75rem;
  }
  .p-achievements__title span {
    font-size: 1.125rem;
  }
  .p-achievements__text {
    font-size: 0.875rem;
    order: 4;
  }
  .p-achievements__footer {
    margin-top: 0.5rem;
    order: 3;
  }
  .p-achievements__cat {
    font-size: 1rem;
    width: 8.5rem;
  }
  .p-achievements__ttl {
    text-align: center;
  }
  .p-achievements__ttl span {
    font-size: 1.125rem;
  }
  .p-articleArea {
    margin-top: 3.75rem;
    padding-bottom: 3.75rem;
    padding-top: 2.5rem;
  }
  .p-articleArea__title {
    font-size: 2rem;
  }
  .p-articleArea__content {
    margin-top: 3.75rem;
  }
  .p-balloon__avatar {
    flex-basis: 3rem;
    height: 3rem;
    width: 3rem;
  }
  .p-balloon__text {
    font-size: 1rem;
  }
  .p-singlePost__body .p-balloon-block .p-balloon__text {
    font-size: 0.875rem;
  }
  .p-balloon-block .p-balloon__avatar img {
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-blogArticles {
    padding-block: 3rem;
  }
  .p-blogArticles__grid {
    grid-auto-rows: auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
  }
  .p-blogArticles__card {
    border-bottom: 1px solid #D9D9D9;
    border-right: none;
    padding-bottom: 2rem;
    padding-inline: 0;
  }
  .p-blogArticles__card:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .p-blogArticles__thumb img {
    aspect-ratio: 300/200;
    height: auto;
  }
  .p-blogArticles__title {
    font-size: 1rem;
  }
  .p-blogHero {
    padding-top: 2rem;
  }
  .p-blogHero__inner {
    padding: 0 25px;
  }
  .p-blogHero__slide {
    aspect-ratio: 4/2.6;
  }
  .p-blogHero__thumb img {
    -o-object-fit: unset;
    object-fit: unset;
  }
  .p-blogHero__overlay {
    bottom: 1.5rem;
    left: 1.25rem;
    right: 1.25rem;
  }
  .p-blogHero__title {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    line-height: 1.1;
  }
  .p-blogHero__title span {
    font-size: 0.75rem;
    padding: 0.1875rem;
  }
  .p-blogHero__meta {
    font-size: 0.875rem;
    gap: 0.625rem;
    margin-top: 0.75rem;
  }
  .p-blogHero__metaDivider {
    font-size: 0.75rem;
    height: 0.875rem;
  }
  .p-blogHero__date {
    font-size: 0.75rem;
  }
  .p-blogHero__controls {
    display: none;
  }
  .p-blogHero__pause {
    border-width: 2px;
    gap: 0.1875rem;
    height: 1.625rem;
    width: 1.375rem;
  }
  .p-blogHero__pause::before, .p-blogHero__pause::after {
    height: 0.625rem;
    width: 0.125rem;
  }
  .p-blogHero__pause.is-paused::before {
    border-bottom-width: 0.3125rem;
    border-left-width: 0.4375rem;
    border-top-width: 0.3125rem;
  }
  .p-blogHero__progressBar {
    height: 0.25rem;
    width: 3rem;
  }
  .p-blogFv {
    margin-top: -3.75rem;
    padding-bottom: 7.125rem;
    padding-top: 18.75rem;
  }
  .p-blogFv__en {
    font-size: 1.125rem;
  }
  .p-blogFv__ttl {
    font-size: 1.875rem;
  }
  .p-blogFv__sub {
    font-size: 0.875rem;
  }
  .p-blogFv--column {
    height: 34.375rem;
    margin-top: -3.75rem;
    min-height: 34.375rem;
    padding-bottom: 3.75rem;
    padding-top: 12.5rem;
  }
  .p-blogFv--column .p-blogFv__en {
    font-size: 1rem;
  }
  .p-blogFv--column .p-blogFv__ttl {
    font-size: 2rem;
  }
  .p-blogFv--column .p-blogFv__sub {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
  }
  .p-blogFilter {
    padding-bottom: 2rem;
    padding-top: 2rem;
  }
  .p-blogFilter__inner {
    padding: 0 25px;
  }
  .p-blogFilter__head {
    margin-bottom: 1.25rem;
  }
  .p-blogFilter__en {
    font-size: 2.25rem;
  }
  .p-blogFilter__ja {
    font-size: 1rem;
  }
  .p-blogFilter__tag {
    font-size: 0.8125rem;
    height: 1.875rem;
    padding: 0 0.625rem;
  }
  .p-blogFilter__tag:nth-child(n+7) {
    display: none;
  }
  .p-can__inner {
    padding-inline: 0.9375rem;
  }
  .p-can__title {
    font-size: 1.75rem;
  }
  .p-can__diagramWrap {
    overflow: visible;
    padding-top: 2.5rem;
  }
  .p-can__diagram {
    -webkit-transform: none;
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: auto;
    transform: none;
    width: 100%;
  }
  .p-can__center {
    display: none;
  }
  .p-can__centerLabel {
    font-size: 1.375rem;
  }
  .p-can__circle {
    height: 7.5rem;
    left: auto;
    position: relative;
    top: auto;
    width: 7.5rem;
  }
  .p-can__circle--top {
    order: 1;
  }
  .p-can__circle--right {
    margin-top: 0.625rem;
    order: 5;
  }
  .p-can__circle--bottom {
    margin-top: 0.625rem;
    order: 7;
  }
  .p-can__circle--left {
    margin-top: 1.125rem;
    order: 3;
  }
  .p-can__circleText {
    font-size: 1.25rem;
  }
  .p-can__textBlock {
    max-width: 26.25rem;
    position: relative;
    width: 100%;
  }
  .p-can__textTitle {
    border: none;
    font-size: 1.5625rem;
    padding-bottom: 0.5rem;
  }
  .p-can__textList {
    -webkit-padding-start: 1.25rem;
    display: inline-block;
    margin-top: 0.1875rem;
    padding-inline-start: 1.25rem;
    text-align: center;
  }
  .p-can__textItem {
    font-size: 1.125rem;
  }
  .p-can__textBlock--tl {
    left: 0;
    margin-inline: auto;
    max-width: 20rem;
    order: 4;
    text-align: center;
    top: 0;
    width: 100%;
  }
  .p-can__textBlock--tl::before {
    display: none;
  }
  .p-can__textBlock--tl::after {
    display: none;
  }
  .p-can__textBlock--tr {
    left: 0;
    margin-inline: auto;
    max-width: 20rem;
    order: 2;
    text-align: center;
    width: 100%;
  }
  .p-can__textBlock--tr .p-can__textTitle {
    font-size: 1.5625rem;
  }
  .p-can__textBlock--tr::before {
    display: none;
  }
  .p-can__textBlock--tr::after {
    display: none;
  }
  .p-can__textBlock--bl {
    left: 0;
    margin-inline: auto;
    max-width: 20rem;
    order: 8;
    text-align: center;
    top: 0;
    width: 100%;
  }
  .p-can__textBlock--bl::before {
    display: none;
  }
  .p-can__textBlock--bl::after {
    display: none;
  }
  .p-can__textBlock--br {
    left: 0;
    margin-inline: auto;
    max-width: 20rem;
    order: 6;
    text-align: center;
    top: 0;
    width: 100%;
  }
  .p-can__textBlock--br::before {
    display: none;
  }
  .p-can__textBlock--br::after {
    display: none;
  }
  .p-can__center,
  .p-can__circle,
  .p-can__textBlock {
    -webkit-transform: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
  .p-can__center {
    -webkit-transform: none;
    transform: none;
  }
  .p-can__circle {
    -webkit-transform: none;
    transform: none;
    transition: none;
  }
  .p-can__circle.is-canShow {
    -webkit-transform: none;
    transform: none;
  }
  .p-can__textBlock {
    -webkit-transform: none;
    transform: none;
  }
  .p-checkList {
    padding: 1rem;
  }
  .p-checkList__item {
    font-size: 0.875rem;
  }
  .p-column {
    margin-top: 3rem;
    padding-bottom: 2.5rem;
    padding-top: 3rem;
  }
  .p-column__wrapper {
    margin-top: 1rem;
  }
  .p-column__inner {
    padding-left: 25px;
    padding-right: 25px;
  }
  .p-column .p-news__wrapper {
    max-width: 100%;
  }
  .p-column .p-news__txt {
    margin-top: 1.5rem;
  }
  .p-column--02 {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
  }
  .p-column02__header {
    flex-direction: column;
    gap: 2rem;
    max-width: 100%;
  }
  .p-column02__ttl--en {
    font-size: 2.25rem;
  }
  .p-column02__header .p-column02__desc {
    font-size: 0.875rem;
  }
  .p-column02__tags {
    margin-bottom: 2rem;
    margin-top: 1.5rem;
    max-width: 100%;
  }
  .p-column02Card__title {
    font-size: 1rem;
  }
  .p-column02Card__excerpt {
    font-size: 0.875rem;
  }
  .p-column02__btnArea {
    margin-top: 2rem;
  }
  .p-company {
    margin-top: -3.125rem;
    min-height: 34.25rem;
    padding-top: 0;
  }
  .p-company::before {
    height: 34.375rem;
  }
  .p-company.--tall {
    min-height: 27rem;
  }
  .p-company.--tall::before {
    height: 37.5rem;
  }
  .p-company.--company {
    min-height: 31.25rem;
  }
  .p-company.--company::before {
    height: 25rem;
  }
  .p-company.--promise, .p-company.--component, .p-company.--flow, .p-company.--dx {
    margin-top: -3.125rem;
    min-height: 35rem;
  }
  .p-company.--promise::before, .p-company.--component::before, .p-company.--flow::before, .p-company.--dx::before {
    height: 35rem;
  }
  .p-company.--company .p-company__inner {
    align-items: flex-start;
    height: auto;
    min-height: 0;
    padding: 10rem 1.5625rem 4rem;
  }
  .p-company.--company .p-company__wrapper {
    max-width: 100%;
  }
  .p-company.--company .p-company__en {
    font-size: 0.875rem;
  }
  .p-company.--company .p-titleArea__main {
    font-size: 1.875rem;
  }
  .p-company.--company .p-company__txt {
    font-size: 1rem;
    margin-top: 0.75rem;
  }
  .p-company.--company .p-company__photos {
    display: none;
  }
  .p-company__message-wrapper {
    bottom: unset;
    top: 0;
  }
  .p-company__message {
    font-size: 6.25rem;
    top: 8.625rem;
  }
  .p-company__slider {
    margin: 1.25rem 0;
  }
  .p-serviceFv {
    margin: 0;
    max-width: 100%;
    padding: 9.375rem 1.5625rem 0;
    text-align: left;
    top: 0;
  }
  .p-serviceFv__en {
    font-size: 0.875rem;
    line-height: 1;
  }
  .p-serviceFv__ttl {
    font-size: 1.875rem;
    line-height: 1.633;
    margin-bottom: 0.3125rem;
  }
  .p-serviceFv__catch {
    font-size: 1.25rem;
    letter-spacing: -1.2px;
    line-height: 1.5;
    margin-bottom: 0;
  }
  .p-serviceFv__desc {
    display: none;
  }
  .p-connectedgame {
    height: 31.25rem;
    padding-block: 5rem 3.75rem;
  }
  .p-connectedgame__inner {
    padding-bottom: 0;
    padding-inline: 1.5625rem;
    padding-top: 5rem;
  }
  .p-connectedgame__ttl {
    font-size: 2rem;
    margin-top: 0.5rem;
  }
  .p-connectedgame__txt {
    font-size: 1rem;
    margin-top: 1rem;
  }
  .p-gameServices {
    padding: 3.5rem 0 3.75rem;
  }
  .p-gameServices__inner {
    padding: 0 1.25rem;
  }
  .p-gameServices__header {
    margin-bottom: 2rem;
  }
  .p-gameServices__ttl {
    font-size: 1.875rem;
  }
  .p-gameServices__item {
    flex-direction: column;
  }
  .p-gameServices__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-top: 0rem;
  }
  .p-gameServices__name {
    font-size: 1.375rem;
  }
  .p-gameServices__separator {
    width: auto;
  }
  .p-gameServices__desc {
    font-size: 1rem;
  }
  .p-gameServices__media {
    width: 100%;
  }
  .p-gameQuality {
    padding-bottom: 3rem;
    padding-top: 3.5rem;
  }
  .p-gameQuality__inner {
    padding: 0 1.25rem;
  }
  .p-gameQuality__slider {
    padding-inline: 1rem;
  }
  .p-gameQuality__list .swiper-wrapper {
    display: flex;
    gap: 0;
    grid-template-columns: none;
  }
  .p-gameQuality__card {
    padding: 2rem 0.875rem;
  }
  .p-gameQuality__navBtn {
    -webkit-transform: translateY(-50%);
    align-items: center;
    display: flex;
    height: 2.8125rem;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.3s;
    width: 1.875rem;
    z-index: 2;
  }
  .p-gameQuality__navBtn:hover {
    opacity: 0.7;
  }
  .p-gameQuality__navBtn.swiper-button-disabled {
    cursor: default;
    opacity: 0.4;
  }
  .p-gameQuality__navBtn--prev {
    left: 0;
  }
  .p-gameQuality__navBtn--next {
    right: 0;
  }
  .p-gameQuality__ttl {
    font-size: 1.375rem;
    text-align: center;
    white-space: normal;
  }
  .p-gameQuality__figure {
    margin-bottom: 1.25rem;
    max-width: 12.5rem;
  }
  .p-consulting {
    padding-bottom: 3.75rem;
    padding-top: 2.5rem;
  }
  .p-consulting__header {
    margin-bottom: 2.5rem;
    padding: 2.5rem 1.25rem;
  }
  .p-consulting__title {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
  .p-consulting__subtitle {
    font-size: 1rem;
  }
  .p-consulting__steps {
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .p-consulting__step {
    flex-direction: column;
  }
  .p-consulting__step-number {
    clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 30px), 50% 100%, 0% calc(100% - 30px));
    min-width: 100%;
    padding: 1.25rem 0.9375rem;
  }
  .p-consulting__step-label {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
  }
  .p-consulting__step-num {
    font-size: 2.25rem;
  }
  .p-consulting__step-content {
    padding: 1.875rem 1.25rem;
  }
  .p-consulting__step-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
  }
  .p-consulting__step-box {
    font-size: 0.875rem;
    margin-bottom: 1rem;
    padding: 0.625rem 1rem;
  }
  .p-consulting__step-list {
    line-height: 1.8;
    padding-left: 1.25rem;
  }
  .p-consulting__step-list li {
    font-size: 0.875rem;
    margin-bottom: 0.375rem;
  }
  .p-consulting__cta {
    flex-direction: column;
    gap: 1rem;
    padding-top: 1.875rem;
  }
  .p-consulting__cta-button {
    font-size: 1rem;
    padding: 1rem 1.875rem;
    padding-right: 3.125rem;
  }
  .p-consulting__cta-button::after {
    font-size: 1.125rem;
    right: 0.9375rem;
  }
  .p-consultingFv {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    justify-content: center;
    padding: 11.25rem 1.25rem 3.75rem;
  }
  .p-consultingFv__left {
    max-width: 100%;
  }
  .p-consultingFv__en {
    font-size: 0.875rem;
  }
  .p-consultingFv__ttl {
    font-size: 1.875rem;
    margin-bottom: 1rem;
  }
  .p-consultingFv__catch {
    font-size: 1.25rem;
  }
  .p-consultingFv__cycle {
    display: none;
  }
  .p-contact {
    padding-block: 2.5rem;
  }
  .p-contact__urgent {
    margin-top: 1.5rem;
    width: 100%;
  }
  .p-contact__urgent-header {
    font-size: 1rem;
  }
  .p-contactBox {
    margin-top: 3.75rem;
    padding: 0;
  }
  .p-contactBox__inner {
    max-width: 100%;
    padding: 0 1.25rem;
  }
  .p-contactBox__items {
    gap: 1.25rem;
    grid-template-columns: 1fr;
  }
  .p-contactBox__item {
    padding: 2.5rem 1.25rem;
  }
  .p-contactBox__ttl {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
  .p-contactBox__txt {
    font-size: 1rem;
    margin-bottom: 2rem;
    margin-top: 2rem;
  }
  .p-contact__title {
    font-size: 1.25rem;
  }
  .p-contact__container {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
  .p-contact__left {
    width: 100%;
  }
  .p-contact__right {
    padding-block: 2.5rem;
    padding-inline: 1rem;
    width: 100%;
  }
  .wpcf7-checkbox {
    grid-template-columns: auto;
  }
  .p-contactForm__subNote {
    letter-spacing: -0.4px;
  }
  .p-contactFrom__content {
    margin-top: 1.5rem;
  }
  .p-contactResult {
    padding-block: 2.5rem;
  }
  .p-contactResult__title {
    font-size: 1.375rem;
  }
  .p-contactResult__txt {
    font-size: 0.875rem;
    line-height: 1.8;
    margin-top: 1rem;
    text-align: left;
  }
  .p-contactResult__body {
    margin-top: 1.5rem;
  }
  .p-contactResult__btn {
    margin-top: 2rem;
  }
  .p-difference {
    padding: 3rem 0;
  }
  .p-difference__wrapper {
    margin-bottom: 1.75rem;
  }
  .p-difference__subtitle-box {
    border-radius: 0.5rem;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    text-align: center;
  }
  .p-difference__desc {
    font-size: 0.9375rem;
    margin-bottom: 2rem;
    text-align: left;
  }
  .p-difference__table {
    min-width: 25rem;
  }
  .p-difference__th {
    font-size: 1rem;
    padding: 0.75rem 0.625rem;
  }
  .p-difference__td {
    font-size: 1rem;
    height: 3rem;
    padding: 0.75rem 0.5rem;
  }
  .p-difference__btn {
    margin-top: 2rem;
  }
  .p-domain {
    padding: 2.25rem 0 0rem;
  }
  .p-domain__inner {
    max-width: 100%;
    padding-inline: 1.25rem;
  }
  .p-domain__ttl {
    font-size: 1.75rem;
    margin-bottom: 2.5rem;
  }
  .p-domain__grid {
    grid-template-columns: 1fr;
  }
  .p-domain__head {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    align-items: center;
    column-gap: 1rem;
    display: flex;
    margin-bottom: 1.5rem;
  }
  .p-domain__head .p-domain__num {
    margin: 0;
  }
  .p-domain__head .p-domain__col-ttl {
    flex: 1;
    margin-bottom: 0;
  }
  .p-domain__col + .p-domain__col {
    margin-top: 1.875rem;
  }
  .p-domain__num {
    font-size: 3.125rem;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .p-domain__list {
    gap: 0.3125rem;
  }
  .p-domain__item {
    font-size: 1.125rem;
  }
  .p-domain__btn.--03 {
    font-size: 1rem;
  }
  .p-domain__logos {
    margin-top: 1.25rem;
  }
  .p-domain__logos-row:nth-child(2) {
    display: none;
  }
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(1),
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(4) {
    height: 5rem;
    max-width: 18.75rem;
    width: 100%;
  }
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(2),
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(5) {
    height: 5rem;
    max-width: 18.75rem;
    width: 100%;
  }
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(3),
  .p-domain__logos-row:nth-child(2) .p-domain__logos-track img:nth-child(6) {
    height: 5rem;
    max-width: 18.75rem;
    width: 100%;
  }
  .p-domain--02 {
    padding-top: 2.5rem;
  }
  .p-domain--02 .p-domain__ttl {
    font-size: 1.75rem;
  }
  .p-domain--02 .p-domain__grid {
    gap: 2.5rem;
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
  }
  .p-domain--02 .p-domain__col {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    align-items: center;
    column-gap: 1rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .p-domain--02 .p-domain__num {
    border-bottom: 0;
    flex-shrink: 0;
    font-size: 4.5rem;
    margin-bottom: 0;
    order: 1;
  }
  .p-domain--02 .p-domain__line {
    flex-basis: 100%;
    order: 3;
    width: 100%;
  }
  .p-domain--02 .p-domain__col-ttl {
    flex: 1;
    font-size: 1.25rem;
    margin-top: 0;
    order: 2;
  }
  .p-domain--02 .p-domain__list {
    flex-basis: 100%;
    order: 4;
    width: 100%;
  }
  .p-domain--02 .p-domain__item {
    font-size: 1.125rem;
  }
  .p-domain--02 .p-domain__btn {
    flex-basis: 100%;
    order: 5;
  }
  .p-dxFv {
    padding-inline: 1.25rem;
    padding-top: 11.25rem;
  }
  .p-dxFv__sub {
    font-size: 0.875rem;
  }
  .p-dxFv__ttl {
    font-size: 2rem;
  }
  .p-dxFv__desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-top: 1.25rem;
  }
  .p-dx__content {
    padding-block: 3.125rem 4.375rem;
  }
  .p-dxSection + .p-dxSection,
  .p-dxIntro + .p-dxSection,
  .p-dxIntro + .p-dxSection .p-dxSection__ttl {
    margin-top: 3.125rem;
  }
  .p-dxIntro__inner {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    padding-block: 1.75rem;
    padding-inline: 1.25rem;
  }
  .p-dxIntro__ttl {
    font-size: 1.125rem;
  }
  .p-dxIntro__ttl + .p-dxIntro__text {
    margin-top: 1rem;
  }
  .p-dxIntro__media {
    aspect-ratio: 386/291;
    height: auto;
    margin-top: 0rem;
  }
  .p-dxSection {
    margin-top: 3.125rem;
  }
  .p-dxSection__ttl {
    font-size: 1.375rem;
  }
  .p-dxSection__lead {
    font-size: 0.9375rem;
    margin-top: 1.25rem;
  }
  .p-dxSection__figure {
    margin-top: 1.75rem;
  }
  .p-dxQa {
    padding-block: 1.5rem;
    padding-right: 0rem;
  }
  .p-dxQa__ttl {
    font-size: 1.0625rem;
  }
  .p-dxQa__body {
    margin-top: 0.875rem;
  }
  .p-dxCallout {
    padding-block: 1.5rem;
    padding-inline: 1.25rem;
  }
  .p-dxCallout__tag {
    font-size: 0.8125rem;
  }
  .p-dxCallout__text {
    font-size: 0.9375rem;
  }
  .p-dxRoadmap__card {
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }
  .p-dxRoadmap__tag {
    font-size: 0.8125rem;
  }
  .p-dxRoadmap__text {
    font-size: 0.9375rem;
  }
  .p-dxSecAction {
    padding-block: 1.5rem;
    padding-inline: 1.25rem;
  }
  .p-dxSecAction__text {
    font-size: 0.9375rem;
  }
  .p-example {
    margin-top: 2rem;
    padding-bottom: 3.75rem;
  }
  .p-example__inner {
    padding-left: 25px;
    padding-right: 25px;
  }
  .p-example__list-content {
    display: block;
    margin-top: 2rem;
    position: relative;
  }
  .p-example__content--left {
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .p-example__content--right {
    display: none;
  }
  .p-example__img-main {
    inset: 0;
    position: absolute;
  }
  .p-example__img-main img {
    aspect-ratio: auto;
    height: 100%;
  }
  .p-featuredArticles {
    padding-block: 3rem;
  }
  .p-featuredArticles__head {
    margin-bottom: 2rem;
  }
  .p-featuredArticles__ttl {
    font-size: 1.75rem;
  }
  .p-featuredArticles__grid {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }
  .p-featuredArticles__title {
    font-size: 1.125rem;
  }
  .p-fixedLinks {
    display: none;
  }
  .p-flowFv {
    padding: 10.5rem 1.25rem 3.125rem 7.4666666667vw;
  }
  .p-flowFv.--p-promiseFv {
    padding-top: 13.75rem;
  }
  .p-flowFv__sub {
    font-size: 0.875rem;
    margin-bottom: 0.375rem;
  }
  .p-flowFv__ttl {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
  }
  .p-flowFv__desc {
    font-size: 1.25rem;
    letter-spacing: -0.075rem;
    text-align: left;
  }
  .p-flowSteps {
    padding: 3.75rem 0 0;
  }
  .p-flowSteps__head {
    margin-bottom: 1.625rem;
  }
  .p-flowSteps__ttl {
    font-size: 1.625rem;
    letter-spacing: 0.125rem;
  }
  .p-flowSteps__line {
    margin-bottom: 1.1875rem;
    width: 100%;
  }
  .p-flowSteps__desc {
    font-size: 1.125rem;
    margin: auto;
    margin-top: 0rem;
    max-width: 18.75rem;
    text-align: center;
  }
  .p-flowSteps__cards {
    flex-direction: column;
    gap: 6rem;
    margin-inline: auto;
    max-width: 19.4375rem;
    width: 100%;
  }
  .p-flowSteps__card {
    clip-path: none;
    flex: none;
    margin-right: 0;
    min-height: auto;
    padding: 1.625rem 1.25rem 0.5rem;
    width: 100%;
  }
  .p-flowSteps__card::after {
    background-color: inherit;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    height: 5.375rem;
    inset: auto 0 -5.3125rem 0;
    position: absolute;
  }
  .p-flowSteps__cardHead {
    max-width: 100%;
    padding-right: 0;
  }
  .p-flowSteps__name {
    font-size: 1.125rem;
  }
  .p-flowSteps__cardBody {
    height: 14.375rem;
    margin-inline: auto;
    margin-top: 1.0625rem;
    max-width: 16.875rem;
    padding: 2.5rem 0.125rem;
    width: 100%;
  }
  .p-flowSteps__lead {
    font-size: 1rem;
    letter-spacing: -0.46px;
    text-align: left;
  }
  .p-flowSteps__list {
    gap: 1.375rem;
  }
  .p-flowSteps__list li {
    text-align: left;
  }
  .p-flowSupport {
    margin-top: 6rem;
    padding: 5rem 0 0;
  }
  .p-flowSupport__head {
    margin-bottom: 2.5rem;
  }
  .p-flowSupport__ttl {
    font-size: 1.625rem;
  }
  .p-flowSupport__desc {
    font-size: 1.125rem;
    margin: auto;
    max-width: 20.3125rem;
    text-align: center;
  }
  .p-flowSupport__phase {
    margin-bottom: 1.875rem;
    text-align: left;
  }
  .p-flowSupport__phaseLabel {
    font-size: 1rem;
    max-width: 18.75rem;
    padding: 0.5rem 1rem;
    text-align: center;
    width: 100%;
  }
  .p-flowSupport__phaseDesc {
    font-size: 0.875rem;
    text-align: left;
  }
  .p-flowSupport__table th,
  .p-flowSupport__table td {
    border: none;
    display: block;
    font-size: 0.875rem;
    padding: 0;
    width: 100%;
  }
  .p-flowSupport__table th {
    font-size: 1rem;
    padding: 0.9375rem 1.25rem;
    text-align: center;
    width: 100%;
  }
  .p-flowSupport__table td {
    color: #333;
    font-weight: 500;
    padding: 1.875rem 0.6875rem 1.75rem;
  }
  .p-flowSupport__table {
    -ms-scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    border-collapse: separate;
    display: block;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .p-flowSupport__table::-webkit-scrollbar {
    display: none;
  }
  .p-flowSupport__table tbody {
    display: flex;
    gap: 1.25rem;
    padding-inline: calc((100% - 15.625rem) / 2);
  }
  .p-flowSupport__table tr {
    border: 1px solid #9db1cf;
    border-radius: 1.25rem;
    display: block;
    flex: 0 0 15.625rem;
    margin: 0;
    max-width: 15.625rem;
    overflow: hidden;
    scroll-snap-align: center;
    width: 15.625rem;
  }
  .p-flowSupport__sliderBtn {
    -webkit-transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    display: block;
    height: 2.8125rem;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem;
    z-index: 2;
  }
  .p-flowSupport__sliderBtn::before {
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    margin-inline: auto;
    width: 0;
  }
  .p-flowSupport__sliderBtn.--prev {
    left: -0.625rem;
  }
  .p-flowSupport__sliderBtn.--prev::before {
    border-color: transparent #9db1cf transparent transparent;
    border-width: 0.9375rem 1.25rem 0.9375rem 0;
  }
  .p-flowSupport__sliderBtn.--next {
    right: -0.625rem;
  }
  .p-flowSupport__sliderBtn.--next::before {
    border-color: transparent transparent transparent #9db1cf;
    border-width: 0.9375rem 0 0.9375rem 1.25rem;
  }
  .p-flowSupport__message {
    margin-bottom: 2.5rem;
  }
  .p-flowSupport__note {
    font-size: 0.875rem;
    text-align: center;
  }
  .p-flowSupport__accent {
    font-size: 1rem;
  }
  .p-flowDetail {
    padding: 3.75rem 0;
  }
  .p-flowDetail__head {
    margin-bottom: 1.5rem;
  }
  .p-flowDetail__ttl {
    font-size: 1.625rem;
  }
  .p-flowDetail__line {
    width: 100%;
  }
  .p-flowDetail__desc {
    font-size: 0.875rem;
    margin-top: 2rem;
    text-align: left;
  }
  .p-flowDetail__grid {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }
  .p-flowDetail__box {
    padding: 1.25rem 1rem;
  }
  .p-flowDetail__num {
    font-size: 2.5rem;
  }
  .p-flowDetail__name {
    font-size: 1.125rem;
  }
  .p-flowDetail__list li {
    font-size: 0.875rem;
  }
  .p-flowAvail {
    padding: 3.75rem 0;
  }
  .p-flowAvail__ttl {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
  }
  .p-flowAvail__line {
    width: 12.5rem;
  }
  .p-flowAvail__inner {
    padding-inline: 1.25rem;
  }
  .p-flowAvail__box {
    align-items: center;
    flex-direction: column;
    gap: 1.5rem;
    padding: 2rem 1.5rem;
  }
  .p-flowAvail__thumb {
    max-width: 25rem;
    width: 100%;
  }
  .p-flowAvail__content {
    width: 100%;
  }
  .p-flowAvail__heading {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .p-flowAvail__text {
    font-size: 0.875rem;
    margin-bottom: 1.75rem;
    text-align: left;
  }
  .p-question__head {
    margin-bottom: 2.5rem;
  }
  .p-question__ttl {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
  }
  .p-question__line {
    width: 12.5rem;
  }
  .p-question__q {
    gap: 1rem;
    padding: 1.5rem 1.5rem;
  }
  .p-question__a-inner {
    gap: 0.75rem;
    padding: 1.5rem 1.5rem;
  }
  .p-question__a-text {
    font-size: 0.875rem;
  }
  .p-flowAvail__btn {
    font-size: 0.875rem;
    min-width: 0;
    padding: 0.875rem 1.75rem;
    width: 100%;
  }
  .p-flowFaq {
    padding: 2.5rem 0 1.5rem;
  }
  .p-flowFaq__heading {
    margin-bottom: 2rem;
  }
  .p-flowFaq__ttl {
    font-size: 1.75rem;
  }
  .p-flowFaq__wrapper {
    max-width: 100%;
  }
  .p-flowFaq__tab {
    font-size: 0.9375rem;
    gap: 0.5rem;
    height: 3.5rem;
  }
  .p-flowFaq__card {
    padding: 2rem 1.25rem;
  }
  .p-flowFaq__step {
    gap: 1.5rem;
  }
  .p-flowFaq__stepImg {
    height: 6.25rem;
    width: 6.25rem;
  }
  .p-flowFaq__stepText {
    gap: 1rem;
  }
  .p-flowFaq__stepNum {
    font-size: 0.875rem;
  }
  .p-flowFaq__stepTtl {
    font-size: 1rem;
  }
  .p-flowFaq__stepDesc {
    font-size: 0.875rem;
  }
  .p-flowFaq__arrow {
    margin-left: 3.125rem;
    padding: 0.5rem 0;
  }
  .p-flowFaq__btnArea {
    margin-top: 2rem;
  }
  .p-flowFaq__btn {
    max-width: 17.6875rem;
    width: 100%;
  }
  .p-flowFaq__faqQ {
    gap: 0.75rem;
    padding: 1rem 0.25rem;
  }
  .p-flowFaq__faqQText {
    font-size: 0.9375rem;
  }
  .p-flowFaq__faqA {
    padding: 0 0.25rem 1rem;
  }
  .p-flowFaq__faqAInner {
    gap: 0.75rem;
  }
  .p-flowFaq__faqAText {
    font-size: 0.875rem;
  }
  .p-flowFaq__tab.--faq {
    background-color: #9db1cf;
  }
  .p-footer {
    padding: 4rem 1.5625rem 0;
  }
  .p-footer__wrapper {
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-footer__body {
    width: 100%;
  }
  .p-footer__logo {
    margin: 0;
  }
  .p-footer__logo img {
    width: 10.5rem;
  }
  .p-footer__address {
    font-size: 0.875rem;
  }
  .p-footer__contactItem {
    font-size: 0.875rem;
  }
  .p-footer__sns {
    margin-top: 1rem;
  }
  .p-footer__snsItem img {
    height: 2.5rem;
    width: 1.875rem;
  }
  .p-footer__nav {
    flex-direction: column;
    gap: 2rem;
    padding-top: 0rem;
    width: 100%;
  }
  .p-footer__navCol {
    gap: 2rem;
  }
  .p-footer__navTitle {
    cursor: pointer;
    justify-content: space-between;
  }
  .p-footer__navTitle::before {
    display: none;
  }
  .p-footer__navToggle {
    display: inline-block;
    margin: -0.75rem;
    padding: 0.75rem;
  }
  .p-footer__navLinks {
    display: none;
    padding-top: 1rem;
  }
  .p-footer__badges {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    align-items: center;
    column-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    margin-top: 2.5rem;
    row-gap: 1.5rem;
  }
  .p-footer__badges img {
    aspect-ratio: auto;
    height: auto;
    max-height: 5.3125rem;
    max-width: 100%;
    width: auto;
  }
  .p-gallery {
    padding-block: 3rem;
  }
  .p-gallery__inner {
    padding-inline: 0.9375rem;
  }
  .p-gallery .p-gallery__sub {
    font-size: 0.75rem;
  }
  .p-gallery .p-gallery__title {
    font-size: 1.75rem;
  }
  .p-gallery__swiper {
    margin-top: 1.75rem;
  }
  .p-gallery__list {
    -webkit-transform: none !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transform: none !important;
  }
  .p-gallery__item {
    aspect-ratio: 250/160;
    margin-inline: auto;
    max-width: 100%;
    width: 100%;
  }
  .p-gallery__grid {
    margin-top: 1.75rem;
  }
  .p-gallery--col2 .p-gallery__list {
    -webkit-transform: none !important;
    display: grid;
    gap: 0.625rem;
    grid-template-columns: repeat(2, 1fr);
    transform: none !important;
  }
  .p-gallery--col2 .p-gallery__item {
    aspect-ratio: 300/280;
    margin-inline: 0;
    max-width: 100%;
  }
  .p-gallery--col2 .p-gallery__addBtn {
    height: 2.5rem;
    width: 2.75rem;
  }
  .p-gallery--col2 .p-gallery__addBtnIcon {
    height: 1rem;
    width: 1rem;
  }
  .p-gallery--col2 .p-gallery__addBtnIcon::before {
    width: 1rem;
  }
  .p-gallery--col2 .p-gallery__addBtnIcon::after {
    height: 1rem;
  }
  .p-gallery__pagination {
    display: none;
  }
  .p-gallery__bullet {
    width: 1.75rem;
  }
  .p-gallery__modalBody {
    align-items: center;
    flex-direction: column;
    gap: 1.25rem;
    min-height: 0;
    padding-block: 2.5rem;
    padding-inline: 1.5rem;
  }
  .p-gallery__modalFigure {
    max-width: 23.75rem;
    width: 100%;
  }
  .p-gallery__modalList {
    -webkit-padding-start: 1.375rem;
    font-size: 1rem;
    padding-inline-start: 1.375rem;
    width: 100%;
  }
  .p-gallery__modalClose {
    height: 2rem;
    right: 0.75rem;
    top: 0.75rem;
    width: 2rem;
  }
  .p-gallery--editor .p-gallery__list--editor {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-gallery__editorRow {
    flex-direction: column;
  }
  .p-gide__container {
    flex-direction: column;
  }
  .p-gide__wrapper {
    align-items: center;
    margin: auto;
    text-align: center;
  }
  .p-gide__items {
    justify-content: center;
  }
  .p-guidelineCard {
    aspect-ratio: auto;
    height: auto;
    padding: 1.5rem 1.25rem;
  }
  .p-guidelineCard .p-guidelineCard__ttl {
    -webkit-transform: none;
    font-size: 1.25rem;
    position: static;
    text-align: center;
    transform: none;
    width: 100%;
  }
  .p-guidelineCard .p-guidelineCard__figure {
    height: 14.875rem;
    margin: 1rem auto 0;
    position: static;
    width: 10.454375rem;
  }
  .p-guidelineCard .p-guidelineCard__text {
    -webkit-line-clamp: unset;
    font-size: 1rem;
    margin-top: 1rem;
    position: static;
    width: 100%;
  }
  .p-guidelineCard .p-guidelineCard__btn {
    border-radius: 1.25rem;
    height: 3.75rem;
    margin-inline: auto;
    max-width: 19.6875rem;
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
  }
  .p-guidelineCard .p-guidelineCard__btn--pdf {
    margin-top: 1.25rem;
    top: auto;
  }
  .p-guidelineCard .p-guidelineCard__btn--web {
    margin-top: 0.75rem;
    top: auto;
  }
  .p-guidelineCard__btnText {
    font-size: 1rem;
  }
  .p-guidelineCard__btnArrow {
    height: 0.625rem;
    right: 1.25rem;
    width: 0.625rem;
  }
  .p-guidelineSection .p-guidelineSection__ttl {
    font-size: 2rem;
  }
  .p-guidelineSection .p-guidelineSection__grid {
    gap: 1.5rem;
    grid-template-columns: minmax(0, 36.25rem);
    margin-top: 2rem;
  }
  .p-guidelineSection .p-guidelineSection__more {
    margin-top: 2rem;
  }
  .p-guidelineSection .p-guidelineSection__moreArrow {
    right: 1.75rem;
  }
  .p-header {
    height: 3.125rem;
    top: 0.75rem;
  }
  .p-header__sns {
    display: none;
  }
  .p-header__inner {
    height: 2.5rem;
    padding-block: 0;
    padding-inline: 0.5rem;
  }
  .p-header__logo {
    max-width: 130px;
    top: 0rem;
    z-index: 3;
  }
  .p-header__logo img {
    content: url(../img/logo-sp.webp);
  }
  body.noscroll .p-header__logo img {
    -webkit-filter: none;
    filter: none;
  }
  .p-header__wrap {
    display: none;
  }
  .p-header__submenu {
    display: none;
  }
  .c-hamburgerOuter {
    align-items: center;
    display: block;
    display: flex;
    height: 3.125rem;
    justify-content: center;
    position: relative;
    width: 4.0625rem;
    z-index: 3;
  }
  .c-hamburger span {
    background-color: #000;
    border-radius: 1px;
    display: inline-block;
    height: 2px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: calc((100% - 2px) / 2);
    transition: ease-in-out 0.5s all;
    width: 100%;
  }
  body:not(.noscroll) .p-header.p-header.p-header {
    background-color: transparent !important;
    left: auto !important;
    position: sticky !important;
    right: auto !important;
    top: 0.75rem !important;
  }
  body.noscroll .p-header,
  body.noscroll .p-header.DownMove,
  body.noscroll .p-header.UpMove {
    background-color: #fff !important;
    top: 0 !important;
  }
  .p-spNav {
    -webkit-transform: translateX(105%);
    -webkit-overflow-scrolling: touch;
    background-color: #1e2142;
    display: block;
    height: 100dvh;
    max-width: 100%;
    opacity: 0;
    overflow-y: auto;
    padding-bottom: 3.75rem;
    padding-top: 6.875rem;
    position: fixed;
    right: 0;
    top: 3.125rem;
    transform: translateX(105%);
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out, transform 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    visibility: hidden;
    width: 100%;
    z-index: 2;
  }
  .p-hpWorkflow {
    padding-top: 1.25rem;
  }
  .p-hpWorkflow__head {
    gap: 2rem;
    justify-content: flex-start;
    margin-bottom: 1rem;
  }
  .p-hpWorkflow__headRight {
    margin-inline: 0;
  }
  .p-hpWorkflow__num {
    font-size: 3.125rem;
  }
  .p-hpWorkflow__ttl {
    font-size: 1.125rem;
    padding-top: 0rem;
  }
  .p-hpWorkflow__desc {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
    text-align: center;
  }
  .p-hpWorkflow__grid {
    grid-template-columns: 1fr;
  }
  .p-hpWorkflow__step + .p-hpWorkflow__step {
    margin-top: 2.25rem;
  }
  .p-hpWorkflow__col + .p-hpWorkflow__col {
    margin-top: 2.25rem;
  }
  .p-hpWorkflow__col .p-hpWorkflow__step::before {
    bottom: -2.25rem;
  }
  .p-hpWorkflow__col:last-child .p-hpWorkflow__step:last-child::before {
    bottom: 0;
  }
  .p-hpWorkflow__stepTtl {
    font-size: 1.0625rem;
  }
  .p-hpWorkflow__stepDesc {
    font-size: 0.875rem;
  }
  .p-hpWorkflow2 {
    padding-top: 1.25rem;
  }
  .p-hpWorkflow2__head {
    gap: 2rem;
    justify-content: center;
    margin-bottom: 1rem;
  }
  .p-hpWorkflow2__headRight {
    margin-inline: 0;
  }
  .p-hpWorkflow2__num {
    font-size: 3.125rem;
  }
  .p-hpWorkflow2__ttl {
    font-size: 1.125rem;
  }
  .p-hpWorkflow2__desc {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
    text-align: center;
  }
  .p-hpWorkflow2__grid {
    grid-template-columns: 1fr;
  }
  .p-hpWorkflow2__step + .p-hpWorkflow2__step {
    margin-top: 2.25rem;
  }
  .p-hpWorkflow2__col + .p-hpWorkflow2__col {
    margin-top: 2.25rem;
  }
  .p-hpWorkflow2__col .p-hpWorkflow2__step::before {
    bottom: -2.25rem;
  }
  .p-hpWorkflow2__col:last-child .p-hpWorkflow2__step:last-child::before {
    bottom: 0;
  }
  .p-hpWorkflow2__col:first-child .p-hpWorkflow2__step:nth-child(3)::before {
    bottom: -2.25rem;
  }
  .p-hpWorkflow2__stepTtl {
    font-size: 1.0625rem;
  }
  .p-hpWorkflow2__stepDesc {
    font-size: 0.875rem;
  }
  .p-info {
    margin-top: 5rem;
  }
  .p-info__inner {
    padding: 0 25px;
  }
  .p-info__table th,
  .p-info__table td {
    font-size: 0.875rem;
    padding: 1rem 1.25rem;
  }
  .p-info__table th {
    width: 35%;
  }
  .p-info__table td {
    width: 65%;
  }
  .p-info__access {
    font-size: 0.8125rem;
  }
  .p-info__cert-list {
    gap: 0.625rem;
  }
  .p-info__cert-item img {
    max-height: 3.5rem;
  }
  .p-interview {
    padding: 3rem 0 0rem;
  }
  .p-interview__inner {
    max-width: 100%;
  }
  .p-interview__ttl {
    font-size: 1.75rem;
  }
  .p-interview__ttl-line {
    width: 60%;
  }
  .p-interview__sub {
    font-size: 1.125rem;
    margin-top: 1.25rem;
    text-align: center;
  }
  .p-interview__content {
    flex-direction: column;
    gap: 0.9375rem;
    margin-top: 1.25rem;
  }
  .p-interview__left {
    width: 100%;
  }
  .p-interview__img {
    aspect-ratio: 1/1;
    height: auto;
    width: 100%;
  }
  .p-interview__profile {
    gap: 0.375rem;
    justify-content: center;
    margin-top: 0.625rem;
    text-align: center;
  }
  .p-interview__name {
    font-size: 1rem;
  }
  .p-interview__profile-text {
    font-size: 0.75rem;
  }
  .p-interview__body {
    font-size: 0.875rem;
    margin-top: 0rem;
  }
  .p-interview__btns {
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }
  .p-interview__btn {
    max-width: 16.75rem;
    width: 100%;
  }
  .p-latestArticles {
    padding-block: 3rem;
  }
  .p-latestArticles__head {
    margin-bottom: 2rem;
  }
  .p-latestArticles__grid {
    grid-template-columns: 1fr;
  }
  .p-latestArticles__title {
    font-size: 1rem;
  }
  .p-makeSec__head {
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .p-makeSec__headRight {
    margin: 0;
  }
  .p-makeSec__headRight.--02 {
    padding-top: 0.5rem;
  }
  .p-makeSec__num {
    font-size: 3.75rem;
  }
  .p-makeSec__ttl {
    font-size: 1.125rem;
    text-align: left;
  }
  .p-makeSec__line {
    margin-bottom: 0.625rem;
  }
  .p-makeFv {
    padding: 3.75rem 0 2.5rem;
  }
  .p-makeFv__inner {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-makeFv__text {
    letter-spacing: -0.09375rem;
    margin-top: 0rem;
  }
  .p-makeFv__en {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
  .p-makeFv__ttl {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
  }
  .p-makeFv__sub {
    font-size: 1.25rem;
  }
  .p-makeFv__visual {
    max-width: 25rem;
    width: 100%;
  }
  .p-makeFv.--production {
    height: auto;
    margin-top: -3.75rem;
    min-height: 25.625rem;
    padding: 5rem 0 2.5rem;
  }
  .p-makeFv.--production .p-makeFv__visual {
    aspect-radio: 1;
    max-width: 100%;
  }
  .p-makeMistakes {
    padding: 3.75rem 0 0.625rem;
  }
  .p-makeMistakes__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-makeMistakes__lead {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  .p-makeMistakes__sub {
    font-size: 0.875rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
  .p-makeMistakes__grid {
    gap: 3rem;
    grid-template-columns: 1fr;
    margin: auto;
    max-width: 15.625rem;
    width: 100%;
  }
  .p-makeMistakes__iconSpacer {
    height: 1rem;
  }
  .p-makeMistakes__cardTtl {
    font-size: 1rem;
  }
  .p-makeMistakes__cardDesc {
    padding: 0 1rem;
  }
  .p-makeMistakes__answer {
    margin: auto;
    max-width: 20.3125rem;
    padding: 1.25rem 2.375rem;
  }
  .p-makeMistakes__answerText {
    font-size: 0.875rem;
  }
  .p-makeUsp {
    padding: 1.25rem 0 0rem;
  }
  .p-makeUsp__inner {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-makeUsp__lead {
    font-size: 1rem;
    margin-bottom: 2rem;
    text-align: center;
  }
  .p-makeUsp__item {
    flex-direction: column;
    gap: 2rem;
    padding: 1.25rem 1rem;
  }
  .p-makeUsp__img {
    height: 11.25rem;
    width: 100%;
  }
  .p-makeUsp__ttl {
    font-size: 1.0625rem;
    text-align: center;
  }
  .p-makeUsp__desc {
    font-size: 0.875rem;
  }
  .p-makeService {
    padding: 2.5rem 0 0;
  }
  .p-makeService__lead {
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
    text-align: center;
  }
  .p-makeService__table {
    border: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-inline: auto;
    max-width: 15.625rem;
    overflow: visible;
  }
  .p-makeService__tableHead,
  .p-makeService__tableRow {
    grid-template-columns: 1fr;
  }
  .p-makeService__tableRow:nth-child(even) {
    background-color: #fff;
  }
  .p-makeService__tableRow {
    background-color: #fff;
    border: 1px solid #9DB1CF;
    border-radius: 1.25rem;
    overflow: hidden;
  }
  .p-makeService__cell.--label {
    align-items: center;
    align-self: stretch;
    background-color: #9DB1CF;
    border-bottom: none;
    border-right: none;
    color: #fff;
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    justify-content: center;
    line-height: 1.5;
    padding: 1rem;
  }
  .p-makeService__cell.--desc {
    color: #333;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding: 1rem;
    text-align: center;
  }
  .p-makeService__cell {
    font-size: 0.875rem;
    padding: 0.75rem 1rem;
  }
  .p-makePrice {
    padding: 2rem 0 2.5rem;
  }
  .p-makePrice__lead {
    font-size: 1rem;
  }
  .p-makePrice__block {
    padding: 1.25rem 0.5rem;
  }
  .p-makePrice__blockHead {
    margin-bottom: 0.9375rem;
  }
  .p-makePrice__blockTtl {
    font-size: 0.9375rem;
    padding: 0.375rem 0.625rem;
    text-align: center;
    width: 100%;
  }
  .p-makePrice__blockDesc {
    font-size: 0.8125rem;
    letter-spacing: 0;
    margin-bottom: 1.5rem;
    padding-left: 0;
    text-align: left;
  }
  .p-makePrice__compareWrap {
    position: relative;
  }
  .p-makePrice__compareArrow {
    -webkit-transform: translateY(-50%);
    -webkit-appearance: none;
    align-items: center;
    appearance: none;
    background: none;
    border: none;
    color: #9DB1CF;
    cursor: pointer;
    display: flex;
    font-size: 1.875rem;
    font-weight: 700;
    height: 2.8125rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem;
    z-index: 1;
  }
  .p-makePrice__compareArrow.--prev {
    left: -2.1875rem;
  }
  .p-makePrice__compareArrow.--next {
    right: -2.1875rem;
  }
  .p-makePrice__compareTable {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    border: none;
    border-radius: 0;
    column-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 15.625rem);
    min-width: 0;
    overflow-y: visible;
    padding-bottom: 0.5rem;
    row-gap: 0;
    scroll-behavior: smooth;
    width: 100%;
  }
  .p-makePrice__compareHead,
  .p-makePrice__compareRow {
    display: contents;
  }
  .p-makePrice__compareRow {
    border-top: none;
  }
  .p-makePrice__compareCell:last-child {
    border-right: 1px solid #9DB1CF;
  }
  .p-makePrice__compareCell {
    background-color: #fff;
    border-left: 1px solid #9DB1CF;
    border-right: 1px solid #9DB1CF;
    color: #333;
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding: 0.5rem 0.25rem;
    text-align: center;
  }
  .p-makePrice__compareCell.--label {
    display: none;
  }
  .p-makePrice__compareCell.--th {
    align-content: center;
    background-color: #9DB1CF;
    border: 1px solid #9DB1CF;
    border-radius: 1.25rem 1.25rem 0 0;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    min-height: 5rem;
    padding: 1rem;
    text-align: center;
  }
  .p-makePrice__compareCell.--th:first-child {
    display: none;
  }
  .p-makePrice__compareCell.--th small {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
  }
  .p-makePrice__compareCell::before {
    content: attr(data-label);
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0.125rem;
  }
  .p-makePrice__compareCell.--th::before {
    content: none;
  }
  .p-makePrice__compareCell small {
    font-size: 0.875rem;
  }
  .p-makePrice__compareRow:last-child .p-makePrice__compareCell {
    border-bottom: 1px solid #9DB1CF;
    border-radius: 0 0 1.25rem 1.25rem;
  }
  .p-makePrice__planWrap {
    position: relative;
  }
  .p-makePrice__planArrow {
    -webkit-transform: translateY(-50%);
    -webkit-appearance: none;
    align-items: center;
    appearance: none;
    background: none;
    border: none;
    color: #9DB1CF;
    cursor: pointer;
    display: flex;
    font-size: 1.875rem;
    font-weight: 700;
    height: 2.8125rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem;
    z-index: 1;
  }
  .p-makePrice__planArrow.--prev {
    left: -2.1875rem;
  }
  .p-makePrice__planArrow.--next {
    right: -2.1875rem;
  }
  .p-makePrice__planTable {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    border: none;
    border-radius: 0;
    column-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 15.625rem);
    min-width: 0;
    overflow-y: visible;
    padding-bottom: 0.5rem;
    row-gap: 0;
    scroll-behavior: smooth;
    width: 100%;
  }
  .p-makePrice__planHead,
  .p-makePrice__planRow {
    display: contents;
  }
  .p-makePrice__planRow {
    border-top: none;
  }
  .p-makePrice__planCell:last-child {
    border-right: 1px solid #9DB1CF;
  }
  .p-makePrice__planCell {
    align-self: center;
    background-color: #fff;
    border-left: 1px solid #9DB1CF;
    border-right: 1px solid #9DB1CF;
    color: #333;
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding: 0.5rem 0.25rem;
    text-align: center;
  }
  .p-makePrice__planCell.--label {
    display: none;
  }
  .p-makePrice__planCell.--th {
    align-content: center;
    background-color: #9DB1CF;
    border: 1px solid #9DB1CF;
    border-radius: 1.25rem 1.25rem 0 0;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    min-height: 5rem;
    padding: 1rem;
    text-align: center;
  }
  .p-makePrice__planCell.--th:first-child, .p-makePrice__planCell.--th.--02 {
    display: none;
  }
  .p-makePrice__planCell.--th small {
    color: #fff;
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
  }
  .p-makePrice__planCell::before {
    content: attr(data-label);
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0.125rem;
  }
  .p-makePrice__planCell.--th::before {
    content: none;
  }
  .p-makePrice__planCell strong {
    font-size: 0.875rem;
    font-weight: 400;
  }
  .p-makePrice__planCell small {
    color: #333;
    font-size: 0.875rem;
    font-weight: 400;
  }
  .p-makePrice__planRow:last-child .p-makePrice__planCell {
    border-bottom: 1px solid #9DB1CF;
    border-radius: 0 0 1.25rem 1.25rem;
    padding-bottom: 1rem;
  }
  .p-makePrice__options {
    gap: 3rem;
    grid-template-columns: 1fr;
  }
  .p-makePrice__optionTtl {
    font-size: 0.9375rem;
  }
  .p-makePrice__chartBars {
    gap: 1.5rem;
    height: 20rem;
    padding: 0 1rem;
  }
  .p-makePrice__chartBar {
    flex: 0 0 7.5rem;
    padding: 0.5rem;
  }
  .p-makePrice__chartBox {
    font-size: 0.75rem;
    padding: 0.5rem 0.5rem;
  }
  .p-makePrice__chartMain {
    font-size: 0.8125rem;
  }
  .p-makePrice__chartSub {
    font-size: 0.6875rem;
  }
  .p-makePrice__chartLegend {
    gap: 1rem;
  }
  .p-makePrice__chartLegendItem {
    font-size: 0.8125rem;
  }
  .p-makeFlow {
    padding: 3.75rem 0 5rem;
  }
  .p-makeFlow__heading {
    margin-bottom: 1.5rem;
  }
  .p-makeFlow__ttl {
    font-size: 1.25rem;
    text-align: left;
  }
  .p-makeFlow__tab {
    font-size: 0.875rem;
    padding: 0.875rem 0.75rem;
  }
  .p-makeFlow__content {
    padding: 1.5rem 1rem;
  }
  .p-makeFlow__step {
    flex-direction: column;
    gap: 1rem;
  }
  .p-makeFlow__stepImg {
    height: 10rem;
    width: 100%;
  }
  .p-makeFlow__stepTtl {
    font-size: 1.0625rem;
  }
  .p-makeFlow__stepDesc {
    font-size: 0.875rem;
  }
  .p-makeFlow__link {
    margin-top: 1.5rem;
  }
  .p-makeFlow__faqQ {
    font-size: 0.875rem;
    padding: 0.75rem 0.875rem;
  }
  .p-makeFlow__faqA {
    font-size: 0.8125rem;
    padding: 0.75rem 0.875rem;
  }
  .p-marketingFv__inner {
    height: auto;
    min-height: 25.625rem;
    padding-block: 10rem 3rem;
    padding-inline: 1.25rem;
  }
  .p-marketingFv__text {
    -webkit-transform: translate(-50%, -50%);
    left: 57%;
    position: absolute;
    top: 56%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
  .p-marketingFv__en {
    font-size: 0.875rem;
  }
  .p-marketingFv__ttl {
    font-size: 1.875rem;
    margin-top: 0.375rem;
  }
  .p-marketingFv__sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
  .p-marketingFv__visual {
    display: none;
  }
  .p-marketingLayer {
    padding: 3.125rem 0;
  }
  .p-marketingLayer__diagram {
    flex-direction: column;
  }
  .p-marketingLayer__figure {
    width: 100%;
  }
  .p-marketingLayer__label {
    font-size: 0.875rem;
  }
  .p-marketingLayer__labelNote {
    font-size: 0.75rem;
  }
  .p-marketingUsp {
    padding: 3.75rem 0 1.25rem;
  }
  .p-marketingUsp__head {
    align-items: center;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 0rem;
  }
  .p-marketingUsp__headRight {
    margin: 0;
  }
  .p-marketingUsp__num {
    font-size: 3.125rem;
  }
  .p-marketingUsp__ttl {
    font-size: 1.125rem;
  }
  .p-marketingUsp__line {
    margin-bottom: 0.625rem;
  }
  .p-marketingUsp__lead {
    margin-bottom: 0.625rem;
  }
  .p-marketingUsp__leadTtl {
    font-size: 1rem;
  }
  .p-marketingUsp__sub {
    font-size: 0.875rem;
  }
  .p-marketingCommit {
    margin-top: 1.25rem;
    max-width: 100%;
  }
  .p-marketingCommit__ttl {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    padding: 1rem 1.25rem;
  }
  .p-marketingCommit__lead {
    font-size: 0.875rem;
    margin: auto;
    max-width: 16.875rem;
    text-align: left;
  }
  .p-marketingFlow {
    flex-direction: column;
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
  .p-marketingFlow__item {
    margin: auto;
    max-width: 13.75rem;
  }
  .p-marketingFlow__item.--01 {
    max-width: 13.5rem;
    width: 100%;
  }
  .p-marketingFlow__item.--02 {
    max-width: 18.75rem;
  }
  .p-marketingFlow__item:not(:last-child) {
    margin: auto;
    margin-bottom: 1rem;
  }
  .p-marketingFlow__item:not(:last-child)::after {
    -webkit-transform: translateX(-50%);
    bottom: -1.375rem;
    content: "▼";
    left: 50%;
    right: auto;
    top: auto;
    transform: translateX(-50%);
  }
  .p-marketingFlow__box {
    line-height: 1.1;
    padding-block: 1.25rem;
    padding-inline: 0.3125rem;
  }
  .p-marketingFlow__label {
    font-size: 1rem;
  }
  .p-marketingFlow__sub.--02 {
    margin-bottom: 0.625rem;
  }
  .p-marketingFlow__sub {
    margin-bottom: 0rem;
  }
  .p-marketingFlow__sub.--03 {
    margin-bottom: 0.625rem;
  }
  .p-marketingFlow__list li:nth-child(n+2) {
    margin-top: 1.25rem;
  }
  .p-marketingFlow__result {
    font-size: 0.9375rem;
    margin-top: 1rem;
  }
  .p-marketingPdca {
    margin-top: 1.25rem;
    max-width: 100%;
  }
  .p-marketingPdca figure {
    display: inline-block;
    display: flex;
    justify-content: center;
    margin: auto;
    margin: auto;
    max-width: 12.125rem;
    width: 100%;
  }
  .p-marketingPdca__ttl {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
  .p-marketingPdca__venn {
    flex-direction: column;
    gap: 0.75rem;
    min-height: auto;
  }
  .p-marketingPdca__pill.--ad {
    border-radius: 1rem;
    padding: 1.25rem;
  }
  .p-marketingPdca__pill.--creative {
    border-radius: 1rem;
    margin-left: 0;
    padding: 1.25rem;
  }
  .p-marketingPdca__pillTtl {
    font-size: 0.875rem;
  }
  .p-marketingPdca__pillList {
    font-size: 0.75rem;
  }
  .p-marketingPdca__center {
    display: none;
  }
  .p-marketingFeatures {
    gap: 1rem;
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
  .p-marketingFeatures__item {
    min-height: 11.0625rem;
    padding-block: 1.125rem;
  }
  .p-marketingFeatures__header {
    align-items: baseline;
  }
  .p-marketingFeatures__num {
    font-size: 1.875rem;
  }
  .p-marketingFeatures__ttl {
    font-size: 1.125rem;
  }
  .p-marketingFeatures__desc {
    max-width: 100%;
  }
  .p-marketingMedia {
    padding: 1.25rem 0 0;
  }
  .p-marketingMedia__inner {
    max-width: 100%;
  }
  .p-marketingMedia__head {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .p-marketingMedia__headRight {
    margin: 0 0.625rem 0;
  }
  .p-marketingMedia__num {
    font-size: 3.125rem;
  }
  .p-marketingMedia__ttl {
    font-size: 1.125rem;
  }
  .p-marketingMedia__sub {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
  }
  .p-marketingMedia__table {
    display: none;
  }
  .p-marketingMedia__slider {
    display: block;
    margin-top: 1.5rem;
    padding-bottom: 2rem;
    position: relative;
  }
  .p-marketingMedia__cardHead {
    line-height: 1.5;
    padding-block: 0.875rem;
  }
  .p-marketingMedia__tableHead {
    display: none;
  }
  .p-marketingMedia__tableRow {
    border-top: 1px solid #D9D9D9;
    grid-template-columns: 1fr;
  }
  .p-marketingMedia__tableRow:first-of-type {
    border-top: none;
  }
  .p-marketingMedia__tableCell.--label {
    border-bottom: 1px solid #D9D9D9;
    border-right: none;
  }
  .p-marketingMedia__tableCell {
    padding: 1rem 1rem;
  }
  .p-marketingPrice {
    padding: 2rem 0 0.75rem;
  }
  .p-marketingPrice__head {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .p-marketingPrice__headRight {
    margin: 0 0.625rem 0;
  }
  .p-marketingPrice__num {
    font-size: 3.75rem;
  }
  .p-marketingPrice__ttl {
    font-size: 1.125rem;
  }
  .p-marketingPrice__line {
    margin: 0.625rem auto 1.5rem;
  }
  .p-marketingPrice__sub {
    font-size: 0.9375rem;
    margin-top: 0.625rem;
  }
  .p-marketingPrice__table {
    display: none;
  }
  .p-marketingPrice__cards {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.5rem;
  }
  .p-marketingPrice__tableHead {
    display: none;
  }
  .p-marketingPrice__tableRow {
    border-top: 1px solid #D9D9D9;
    grid-template-columns: 1fr;
  }
  .p-marketingPrice__tableRow:first-of-type {
    border-top: none;
  }
  .p-marketingPrice__tableCell.--label {
    border-bottom: 1px solid #D9D9D9;
    border-right: none;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    justify-content: flex-start;
    text-align: left;
  }
  .p-marketingPrice__tableCell.--price {
    border-bottom: 1px solid #D9D9D9;
    border-right: none;
  }
  .p-marketingPrice__tableCell {
    padding: 1rem;
  }
  .p-marketingPrice__recommend {
    border-left: unset;
    margin: auto;
    margin-bottom: 0.9375rem;
    margin-top: 1rem;
    max-width: 15.625rem;
    padding-left: 0rem;
  }
  .p-marketingPrice__recommendDesc {
    margin-left: 0;
  }
  .p-marketingPrice__btnLink {
    font-size: 0.875rem;
    padding: 0.75rem 1.5rem;
  }
  .p-marketingWorkflow {
    padding-top: 5rem;
  }
  .p-marketingWorkflow__inner {
    padding: 0 25px;
  }
  .p-marketingWorkflow__ttl {
    font-size: 1.75rem;
  }
  .p-marketingWorkflow__line {
    margin-top: 1rem;
  }
  .p-marketingWorkflow__sub {
    font-size: 0.9375rem;
    margin-top: 1.5rem;
  }
  .p-marketingWorkflow__list {
    gap: 2rem;
    margin-top: 2rem;
  }
  .p-marketingWorkflow__item {
    margin: auto;
    max-width: 20.125rem;
  }
  .p-marketingWorkflow__q {
    align-items: center;
    flex-direction: column;
  }
  .p-marketingWorkflow__qIcon {
    font-size: 1.0625rem;
    height: 2.125rem;
    width: 2.125rem;
  }
  .p-marketingWorkflow__qText {
    font-size: 1rem;
    width: 100%;
  }
  .p-marketingWorkflow__aText {
    font-size: 0.875rem;
    padding: 0;
  }
  .p-media {
    flex-direction: column-reverse;
    margin-top: 0rem;
    padding-bottom: 3.25rem;
    padding-top: 2.5rem;
  }
  .p-media__head {
    font-size: 6.25rem;
  }
  .p-media__txt {
    color: red;
    font-size: 2.5rem;
  }
  .p-media__img {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  .p-media__body {
    margin-top: 1.875rem;
    width: 100%;
  }
  .p-mission {
    margin-top: -10.25rem;
  }
  .p-mission__txt--area {
    font-size: 1rem;
    margin-top: 1rem;
  }
  .p-mission__ttl span {
    font-size: 1.25rem;
  }
  .p-modal__block {
    width: 80%;
  }
  .p-modal__wrap {
    padding: 2.5rem 0 1.875rem;
  }
  .p-news {
    margin-top: 2.5rem;
    padding-bottom: 2.5rem;
    padding-top: 0rem;
  }
  .p-news__txt {
    font-size: 1.125rem;
    max-width: 100%;
  }
  .p-news__ttl {
    text-align: left !important;
  }
  .p-news__content {
    margin-top: 1.875rem;
  }
  .p-news__list--items {
    padding-left: 0rem;
  }
  .p-news__tabItem {
    border-radius: 1.25rem 0 0 0;
    font-size: 0.875rem;
    height: 3rem;
    width: 6.25rem;
  }
  .p-news__item::before {
    -webkit-transform: translateX(-50%);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 100%;
  }
  .p-news__item a {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
    padding-right: 4.5rem;
  }
  .p-news__item a::before {
    height: 3.75rem;
    width: 3.75rem;
  }
  .p-news__left {
    width: 100%;
  }
  .p-news__right {
    max-width: 100%;
    width: 100%;
  }
  .p-news__tabList {
    flex-wrap: wrap;
    padding-left: 0;
  }
  .p-news__tabContent {
    padding: 1.25rem 0.75rem 0;
  }
  .p-news__date {
    font-size: 0.875rem;
  }
  .p-news__title {
    font-size: 1rem;
    padding-left: 0;
  }
  .p-news__btnArea {
    margin-top: 2.5rem;
  }
  .p-news__btn.--02 {
    margin-top: 2.5rem;
  }
  .p-news__link:before {
    right: 0 !important;
  }
  .p-news__body {
    margin-top: 2.5rem;
  }
  .p-newsFv {
    margin-top: -4.375rem;
    padding: 5.625rem 0 3.125rem;
  }
  .p-newsFv__inner {
    padding-top: 6.25rem;
  }
  .p-newsFv__en {
    font-size: 0.875rem;
  }
  .p-newsFv__ttl {
    font-size: 2rem;
  }
  .p-newsFv__sub {
    font-size: 1.125rem;
  }
  .p-newsPage {
    padding: 2rem 0 3.75rem;
  }
  .p-newsPage__layout {
    flex-direction: column-reverse;
    gap: 2.5rem;
  }
  .p-newsPage__sidebar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
    width: 100%;
  }
  .p-newsPage__sideSection {
    min-width: 8.75rem;
  }
  .p-newsPage__postTtl {
    font-size: 1rem;
    line-height: 1.7;
  }
  .p-newsArea {
    margin-top: 3.75rem;
  }
  .p-news__wrapper {
    gap: 2.5rem;
    grid-template-columns: auto;
  }
  .p-news__box:before {
    width: 0.75rem;
  }
  .p-newsArea__title {
    font-size: 2rem;
  }
  .p-newArea__text {
    font-size: 1.25rem;
  }
  .p-newArea__text.--02 {
    padding-bottom: 2rem;
  }
  .p-column__btn {
    margin-top: 2rem;
  }
  .p-numberedList {
    padding: 1rem;
  }
  .p-numberedList__item {
    font-size: 0.875rem;
  }
  .p-numberedList__item::before {
    font-size: 0.875rem;
  }
  .p-poster02 {
    padding-inline: 1.25rem;
    padding-top: 2.5rem;
  }
  .p-poster02__cards {
    gap: 5rem;
    grid-template-columns: 1fr;
    margin-inline: auto;
    max-width: 31.25rem;
  }
  .p-poster02__card {
    height: auto;
    padding-block: 4.375rem 6.875rem;
    padding-inline: 1.25rem;
  }
  .p-poster02__pill {
    height: 4.375rem;
    top: -2.1875rem;
    width: 17.5rem;
  }
  .p-poster02__pillText {
    font-size: 1.25rem;
  }
  .p-poster02__listItem {
    font-size: 1rem;
  }
  .p-poster02__listItem + .p-poster02__listItem {
    margin-top: 1.25rem;
  }
  .p-poster02__illust--blue {
    width: 6.25rem;
  }
  .p-poster02__illust--pink {
    width: 11.875rem;
  }
  .p-poster02__btnWrap {
    margin-top: 2rem;
  }
  .p-poster02__btn {
    height: 3.125rem;
    width: 16.25rem;
  }
  .p-poster {
    margin-top: 5rem;
    padding-bottom: 2.5rem;
  }
  .p-poster__inner {
    padding-inline: 1.25rem;
  }
  .p-poster__header {
    margin-bottom: 2rem;
  }
  .p-poster__ttl {
    font-size: 1.75rem;
  }
  .p-poster__desc {
    font-size: 1rem;
  }
  .p-poster__cards {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    max-width: 31.25rem;
  }
  .p-poster__card--pink:before {
    top: -6.875rem;
    width: 7.5rem;
  }
  .p-poster__card--blue:before {
    top: -6.25rem;
    width: 9.375rem;
  }
  .p-poster__card {
    height: auto;
    padding-bottom: 2.5rem;
  }
  .p-poster__card-ttl {
    font-size: 1.375rem;
  }
  .p-poster__card-txt {
    text-align: left;
  }
  .p-poster__card-btn {
    font-size: 1rem;
    height: 3.125rem;
    width: 100%;
  }
  .p-vision__txt {
    font-size: 1.25rem !important;
  }
  .p-page {
    padding-block: 1.5rem 3rem;
  }
  .p-page__title {
    font-size: 1.75rem;
  }
  .p-page__body {
    margin-top: 1.5rem;
  }
  .p-page__body .wp-container-core-columns-is-layout-8f761849 {
    padding-block: 2.5rem;
  }
  .p-page__main {
    margin-block: 2.5rem;
  }
  .p-pageTop {
    bottom: 0.9375rem;
    right: 0.9375rem;
    width: 3rem;
  }
  main.p-philosophy .p-philosophy__fv.p-company {
    height: auto;
    margin-top: 0;
    min-height: none;
    padding-top: 0;
  }
  main.p-philosophy .p-philosophy__fv.p-company::before {
    height: 36.5rem;
    top: 0;
  }
  main.p-philosophy .p-philosophy__fv.p-company .p-sns__inner {
    padding-top: 15.625rem;
  }
  main.p-philosophy .p-philosophy__fv.p-company .p-sns__en {
    font-size: 0.875rem;
  }
  main.p-philosophy .p-philosophy__fv.p-company .p-sns__ttl.p-titleArea__main {
    font-size: 2rem;
  }
  main.p-philosophy .p-philosophy__fv.p-company .p-sns__txt.p-titleArea__sub {
    font-size: 1rem;
    margin-top: 0.75rem;
  }
  main.p-philosophy .p-vision {
    margin-top: 3.75rem;
  }
  main.p-philosophy .p-vision__ttl.p-title__main {
    font-size: 1.75rem;
  }
  main.p-philosophy .p-vision__ttl.p-title__main::after {
    width: 100%;
  }
  main.p-philosophy .p-vision .p-vision__txt.p-title__sub {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
  main.p-philosophy .p-vision__txt--area {
    font-size: 1rem;
  }
  main.p-philosophy .p-value {
    margin-top: 5rem;
  }
  main.p-philosophy .p-value__ttl.p-title__main {
    font-size: 1.75rem;
  }
  main.p-philosophy .p-value__ttl.p-title__main::after {
    width: 100%;
  }
  main.p-philosophy .p-value__container {
    margin-top: 2.5rem;
  }
  main.p-philosophy .p-poster {
    margin-top: 5rem;
  }
  main.p-philosophy .p-poster__ttl {
    font-size: 1.75rem;
  }
  main.p-philosophy .p-poster__sub {
    font-size: 1rem;
    margin-top: 1.875rem;
  }
  main.p-philosophy .p-poster__desc {
    font-size: 1rem;
  }
  main.p-philosophy .p-poster__cards {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
    max-width: 31.25rem;
  }
  main.p-philosophy .p-poster__card {
    height: auto;
    padding: 2.5rem 1.25rem 2.5rem;
    width: 100%;
  }
  main.p-philosophy .p-poster__card-ttl {
    font-size: 1.375rem;
  }
  main.p-philosophy .p-poster__card-line {
    margin: 0.625rem 0 1.25rem;
  }
  main.p-philosophy .p-poster__card-txt {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
  main.p-philosophy .p-poster__card-btn {
    font-size: 1rem;
    height: 3.125rem;
    width: 100%;
  }
  .p-philosophy {
    margin-top: -4.375rem;
  }
  .p-point {
    padding: 1rem;
  }
  .p-point__title {
    font-size: 1.125rem;
  }
  .p-point__item {
    font-size: 0.875rem;
  }
  .p-postTags {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
  }
  .p-postTags__inner {
    padding: 0 25px;
  }
  .p-postTags__head {
    margin-bottom: 1.5rem;
  }
  .p-postTags__en {
    font-size: 2.25rem;
  }
  .p-postTags__ja {
    font-size: 1rem;
  }
  .p-postTags__label {
    font-size: 1rem;
  }
  .p-postTags__tag {
    font-size: 0.875rem;
    height: 1.875rem;
    padding: 0 0.75rem;
  }
  .p-postToc {
    margin-block: 1.5rem;
    padding-block: 1.5rem;
    padding-inline: 1rem;
  }
  body:has(.l-policy) .c-bread-crumb-list.l-bread {
    margin-top: 3.75rem;
  }
  .l-policy {
    padding-block: 2.5rem 4rem;
  }
  .l-policy .topPage {
    margin-bottom: 2.5rem;
  }
  .l-policy .c-title__section,
  .l-policy .c-privacy_title {
    font-size: 1.625rem;
  }
  .l-policy .privacy__wrapper {
    gap: 2rem;
  }
  .l-policy .privacy__wrapperText {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  .l-policy .privacy__bodyTitle {
    border-left-width: 0.125rem;
    font-size: 1.0625rem;
    margin-bottom: 0.875rem;
    padding-left: 0.75rem;
  }
  .l-policy .privacy__bodyText,
  .l-policy .privact__bodyText {
    font-size: 0.875rem;
    line-height: 1.85;
  }
  .p-quality__ttl {
    font-size: 1.375rem;
    margin-left: 0;
    max-width: 100%;
    text-align: center;
    width: 100%;
  }
  .p-quality__body {
    margin-top: 1.25rem;
    min-height: 0;
  }
  .p-quality__figure {
    margin-inline: auto;
    position: static;
  }
  .p-quality__main {
    margin-left: 0;
    margin-top: 1.25rem;
  }
  .p-quality__text {
    font-size: 0.875rem;
    margin-top: 0;
    width: 100%;
  }
  .p-quality__link {
    font-size: 0.875rem;
    height: 3.375rem;
    margin-inline: auto;
  }
  .p-singlePost__body .p-quality-block .p-quality__ttl {
    font-size: 1.375rem;
  }
  .p-singlePost__body .p-quality-block .p-quality__text {
    font-size: 0.875rem;
    margin-top: 0;
  }
  .p-qualityPromise {
    min-height: 0;
    padding: 1.25rem;
  }
  .p-qualityPromise__ttl {
    font-size: 1.375rem;
  }
  .p-qualityPromise__body {
    margin-top: 1.25rem;
    min-height: 0;
  }
  .p-qualityPromise__figure {
    margin-inline: auto;
    position: static;
  }
  .p-qualityPromise__main {
    margin-left: 0;
    margin-top: 1.25rem;
  }
  .p-qualityPromise__text {
    font-size: 0.875rem;
    margin-top: 0;
    width: 100%;
  }
  .p-qualityPromise__link {
    font-size: 0.875rem;
    height: 3.375rem;
  }
  .p-qualityPromise__linkArrow {
    right: 1.25rem;
  }
  .p-singlePost__body .p-qualityPromise-block .p-qualityPromise__ttl {
    font-size: 1.375rem;
  }
  .p-singlePost__body .p-qualityPromise-block .p-qualityPromise__text {
    font-size: 0.875rem;
    margin-top: 0;
  }
  .p-question {
    margin-top: 3rem;
    padding-bottom: 3.75rem;
  }
  .p-question__inner {
    padding: 0 25px;
  }
  .p-question__wrapper {
    gap: 1rem;
    margin-top: 2rem;
  }
  .p-question__q {
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
  }
  .p-question__q-text {
    font-size: 0.875rem;
  }
  .p-question__a {
    padding: 0 1.5rem 1.25rem;
  }
  .p-question__a-text {
    font-size: 0.875rem;
  }
  .p-quoteNote {
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }
  .p-quoteNote__head {
    font-size: 1.125rem;
    gap: 0.75rem;
  }
  .p-quoteNote__head::before {
    height: 1.5rem;
    width: 0.1875rem;
  }
  .p-quoteNote__list {
    font-size: 0.9375rem;
  }
  .p-quoteNote__list li {
    gap: 0.625rem;
  }
  .p-recommend {
    padding: 3rem 0;
  }
  .p-recommend__header {
    margin-bottom: 2.5rem;
  }
  .p-recommend__title {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
  .p-recommend__txt {
    margin-top: 1.875rem;
  }
  .p-relatedArticles {
    padding-block: 3rem;
  }
  .p-relatedArticles__head {
    margin-bottom: 2rem;
  }
  .p-relatedArticles__ttl {
    font-size: 1.75rem;
  }
  .p-relatedArticles__grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-relatedArticles__more {
    margin-top: 2rem;
  }
  .p-relatedArticles__moreArrow {
    right: 1.75rem;
  }
  .p-relatedArticles__title {
    font-size: 1.125rem;
  }
  .p-representative {
    padding-block: 3rem;
  }
  .p-representative__head {
    margin-bottom: 2rem;
  }
  .p-representative__ttl {
    font-size: 1.75rem;
  }
  .p-representative__line {
    width: 11.25rem;
  }
  .p-representative__body {
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-representative__photo {
    width: 100%;
  }
  .p-representative__photo img {
    aspect-ratio: 360/300;
  }
  .p-representative__photo {
    flex: 0 0 auto;
    margin-inline: auto;
    max-width: 20rem;
    width: 100%;
  }
  .p-representative__cardHead {
    flex-wrap: wrap;
    gap: 1rem;
    height: auto;
    padding-block: 0.625rem;
    padding-inline: 1rem;
  }
  .p-representative__company {
    font-size: 1rem;
  }
  .p-representative__name {
    font-size: 0.875rem;
  }
  .p-representative__cardBody {
    padding-left: 1.25rem;
    padding-right: 0rem;
    padding-top: 1.25rem;
  }
  .p-representative__text {
    font-size: 0.875rem;
  }
  .p-representative__share {
    margin-top: 2rem;
  }
  .p-representative__shareHead {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-left: 1.25rem;
  }
  .p-representative__snsList {
    flex-direction: column;
    gap: 0.75rem;
    padding-left: 1.25rem;
  }
  .p-representative__snsItem {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
  }
  .p-repVoice {
    flex-direction: column;
    gap: 1rem;
  }
  .p-repVoice__media {
    max-width: 17.5rem;
    width: 100%;
  }
  .p-repVoice__text {
    text-align: left;
  }
  .p-select {
    padding-top: 2.5rem;
  }
  .p-select__bg-text {
    font-size: 3.75rem;
    left: 2.125rem;
    top: 12.5rem;
  }
  .p-select__items {
    gap: 1.875rem;
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }
  .p-select__item {
    gap: 1.125rem;
    grid-template-columns: 6.25rem 1fr;
  }
  .p-select__item:nth-child(1) figure {
    aspect-ratio: 100/101;
    width: 6.25rem;
  }
  .p-select__item:nth-child(2) figure {
    aspect-ratio: 100/142;
    width: 6.25rem;
  }
  .p-select__item:nth-child(3) figure {
    aspect-ratio: 100/100;
    width: 6.25rem;
  }
  .p-select__item:nth-child(4) figure {
    aspect-ratio: 100/100;
    width: 6.25rem;
  }
  .p-select__ttl span {
    font-size: 1.75rem !important;
  }
  .p-select__item--body {
    margin: auto;
    max-width: 12.5rem;
    text-align: center;
  }
  .p-select__item--title {
    font-size: 1.5625rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding-bottom: 0.25rem;
    width: 100%;
  }
  .p-select__item--title::after {
    height: 1px;
  }
  .p-select__item--txt {
    font-size: 0.75rem;
    margin-top: 0.5rem;
  }
  .p-select__item--txt span {
    font-size: 2.5rem;
  }
  .p-select__item--txt.--normal {
    font-size: 0.875rem;
  }
  .p-select__item--info {
    font-size: 0.8125rem;
    margin-top: 0.5rem;
  }
  .p-select__item--body--wrapper {
    justify-content: center;
  }
  .p-select__btnArea {
    margin-top: 2.5rem;
  }
  .p-service {
    padding: 3.125rem 0;
  }
  .p-service__bg-text {
    font-size: 3.125rem;
    left: 2.125rem;
    top: 22%;
  }
  .p-service__inner {
    padding-inline: 1rem;
  }
  .p-service__wrapper {
    margin-bottom: 2.5rem;
  }
  .p-title__main {
    font-size: 1.875rem;
    text-align: center;
  }
  .p-title__main span {
    font-size: 1.125rem;
  }
  .p-service__ttl {
    font-size: 1.75rem;
  }
  .p-title__sub {
    font-size: 1rem;
  }
  .p-service__txt--area {
    font-size: 0.875rem;
    gap: 0;
    justify-content: center;
    margin-top: 1.25rem;
  }
  .p-service__span {
    font-size: 1.75rem;
    margin-bottom: 0.625rem;
    margin-inline: 0.1875rem;
  }
  .p-service__txt--trail {
    display: block;
    font-size: 1.75rem;
    text-align: center;
    width: 100%;
  }
  .p-service__content {
    max-width: min(25rem, 96vw);
    min-height: min(22.5rem, 88vw);
    padding: 0.5rem 0.5rem;
  }
  .p-service__center {
    -webkit-transform: translate(-50%, -50%);
    left: 50%;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .p-service__triangle {
    border-bottom: 5rem solid #fff;
    border-left: 5rem solid transparent;
    border-right: 5rem solid transparent;
  }
  .p-service__logo {
    -webkit-transform: translate(-45%, 180%);
    bottom: -1.375rem;
    font-size: 1rem;
    transform: translate(-45%, 180%);
  }
  .p-service__item {
    margin-bottom: 0;
    position: absolute;
  }
  .p-service__item--hp {
    -webkit-transform: translateX(-50%);
    border-width: 0.375rem;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  .p-service__item--marketing {
    border-width: 0.375rem;
    bottom: -0.5rem;
    left: 0;
  }
  .p-service__item--dx {
    border-width: 0.375rem;
    bottom: -0.5rem;
    right: 0;
  }
  .p-service__circle {
    border-width: 0.375rem;
    height: min(11.25rem, 42vw);
    width: min(11.25rem, 42vw);
  }
  .p-service__circle-title {
    font-size: 1rem;
    padding: 0;
  }
  .p-service__detail {
    display: none;
    margin-top: 0;
    position: absolute;
    text-align: left;
  }
  .p-service__detail--hp {
    margin-top: 0;
    position: absolute;
    right: -10rem;
    text-align: right;
    top: -2.1875rem;
    width: 8.75rem;
  }
  .p-service__detail--hp .p-service__detail-title {
    font-size: 0.875rem;
  }
  .p-service__detail--hp .p-service__detail-title:after {
    bottom: -1.4375rem;
    left: -4.6875rem;
    width: 4.0625rem;
  }
  .p-service__detail--marketing {
    left: -6.25rem;
    margin-top: 0;
    position: absolute;
    text-align: left;
    top: -4.25rem;
    width: 8.75rem;
  }
  .p-service__detail--marketing .p-service__detail-title {
    font-size: 0.875rem;
  }
  .p-service__detail--marketing .p-service__detail-title:after {
    right: -3.3125rem;
    width: 1.8125rem;
  }
  .p-service__detail-title {
    font-size: 0.875rem;
    padding-bottom: 0.3125rem;
  }
  .p-service__detail-title::before {
    left: -1.25rem;
    width: 105%;
  }
  .p-service__detail--dx {
    margin-top: 0;
    position: absolute;
    right: -5.625rem;
    text-align: left;
    top: -4.375rem;
    width: 8.75rem;
  }
  .p-service__detail--dx::after {
    left: -2.1875rem;
    top: 33.2%;
    width: 1.625rem;
  }
  .p-service__list {
    display: none;
  }
  .p-service__list-item {
    font-size: 0.875rem;
    padding-left: 1.125rem;
  }
  .p-service__btn {
    margin-top: 2.5rem;
  }
  .p-serviceDetail__overviewGrid {
    gap: 3rem;
    grid-template-columns: 1fr;
    padding-block: 0rem 3.75rem;
  }
  .p-serviceDetail__overviewNum {
    font-size: 3.75rem;
    letter-spacing: -0.3125rem;
  }
  .p-serviceDetail__overviewTtl {
    font-size: 1.125rem;
  }
  .p-serviceDetail__overviewItem {
    font-size: 0.875rem;
  }
  .p-serviceDetail {
    padding-top: 3.125rem;
  }
  .p-serviceDetail__headingSub {
    font-size: 0.875rem;
  }
  .p-serviceDetail__headingTtl {
    font-size: 2rem;
    margin-bottom: 0.625rem;
  }
  .p-serviceDetail__inner {
    padding-inline: 1.25rem;
  }
  .p-serviceDetail__item {
    flex-direction: column;
    gap: 0rem;
    margin-bottom: 1.25rem;
  }
  .p-serviceDetail__content.--01 {
    display: contents;
  }
  .p-serviceDetail__content {
    width: 100%;
  }
  .p-serviceDetail__content.--01 > .p-serviceDetail__numBlock {
    order: 1;
  }
  .p-serviceDetail__content.--01 + .p-serviceDetail__diagram {
    order: 2;
  }
  .p-serviceDetail__content.--01 > .p-serviceDetail__hr {
    order: 3;
  }
  .p-serviceDetail__content.--01 > .p-serviceDetail__tag {
    order: 4;
  }
  .p-serviceDetail__content.--01 > .p-serviceDetail__desc {
    order: 5;
  }
  .p-serviceDetail__numBlock {
    align-items: flex-start;
  }
  .p-serviceDetail__num {
    font-size: 2.625rem;
    letter-spacing: 0;
  }
  .p-serviceDetail__numSubText {
    font-size: 0.875rem;
  }
  .p-serviceDetail__numTtl {
    font-size: 1rem;
  }
  .p-serviceDetail__hr {
    margin-bottom: 2rem;
  }
  .p-serviceDetail__tag {
    font-size: 1.125rem;
    padding: 0.5rem 0.5rem;
  }
  .p-serviceDetail__tag.--02 {
    font-size: 1rem;
  }
  .p-serviceDetail__desc {
    font-size: 0.875rem;
    text-align: left;
  }
  .p-serviceDetail__diagCardTtl {
    font-size: 0.875rem;
  }
  .p-serviceDetail__diagCardTxt {
    font-size: 0.75rem;
  }
  .p-serviceDetail__features {
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-serviceDetail__featureTag {
    font-size: 1.125rem;
    margin-bottom: 0.625rem;
    padding: 0.625rem 1rem;
    white-space: normal;
  }
  .p-serviceDetail__featureTxt {
    font-size: 0.875rem;
    padding-inline: 0;
    text-align: left;
  }
  .p-serviceDetail__pyramidImgWrap {
    width: 100%;
  }
  .p-serviceDetail__pyramidFlag {
    top: -1.5625rem;
    width: 3.125rem;
  }
  .p-serviceDetail__pyramidLabelTitle {
    font-size: 0.875rem;
  }
  .p-serviceDetail__pyramidLabelDesc {
    font-size: 0.875rem;
  }
  .p-serviceDetail__pyramidWrap {
    align-items: flex-start;
    flex-direction: column;
  }
  .p-serviceDetail__pyramidLeft {
    width: 100%;
  }
  .p-serviceDetail__pyramidLabels {
    gap: 1rem;
    width: 100%;
  }
  .p-serviceDetail__pyramidLine {
    display: none;
  }
  .p-serviceDetail__dxSection {
    margin-top: 3.125rem;
  }
  .p-serviceDetail__numSub {
    font-size: 0.875rem;
  }
  .p-serviceDetail__dxDesc {
    font-size: 0.875rem;
    margin-bottom: 1.875rem;
  }
  .p-serviceDetail__dxGrid {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin-bottom: 2.5rem;
  }
  .p-serviceDetail__dxOval {
    max-width: 100%;
  }
  .p-serviceDetail__dxOval {
    border-radius: 1.875rem;
    flex-direction: column;
    padding: 1.875rem 1.25rem;
  }
  .p-serviceDetail__dxOval::before {
    background: linear-gradient(to bottom, #9db1cf 50%, #e89bb1 50%);
  }
  .p-serviceDetail__dxOvalTitle {
    font-size: 1rem;
  }
  .p-serviceDetail__dxOvalSub {
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
  }
  .p-serviceDetail__dxOvalList li {
    font-size: 0.8125rem;
    margin-bottom: 0.75rem;
  }
  .p-serviceDetail__dxOvalResult {
    font-size: 0.875rem;
    margin-top: 0.75rem;
  }
  .p-serviceDetail__dxOvalCenterCircle {
    height: 10rem;
    padding: 0.9375rem;
    width: 10rem;
  }
  .p-serviceDetail__dxOvalCenterTxt {
    font-size: 0.875rem;
    margin-bottom: 0.375rem;
  }
  .p-serviceDetail__dxOvalTxt span {
    font-size: 1rem;
  }
  .p-consultingDifference {
    padding: 3rem 0;
  }
  .p-consultingDifference__ttl {
    font-size: 1.75rem;
    margin-bottom: 0.625rem;
    text-align: center;
  }
  .p-consultingDifference__line {
    margin: auto;
  }
  .p-consultingDifference__lead {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  .p-consultingDifference__grid {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .p-consultingDifference__card {
    min-height: 0;
    padding: 1.25rem 0.9375rem 1.5rem;
  }
  .p-consultingDifference__cardTtl {
    font-size: 1.125rem;
    white-space: normal;
  }
  .p-consultingDifference__card {
    padding: 1.25rem;
  }
  .p-consultingDifference__cardHead {
    gap: 0.75rem;
    margin-bottom: 0.75rem;
  }
  .p-consultingDifference__num {
    font-size: 2.5rem;
    letter-spacing: -0.125rem;
  }
  .p-consultingDifference__txt {
    font-size: 1rem;
  }
  .p-consultingDifference__toolHead,
  .p-consultingDifference__toolTxt {
    font-size: 0.75rem;
  }
  .p-singlePost {
    padding-top: 1.25rem;
  }
  .p-singlePost .l-inner {
    padding-inline: 1rem;
  }
  .p-singlePost__layout {
    gap: 2.5rem;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 2.5rem;
    margin-top: 1.5rem;
  }
  .p-singlePost__main {
    padding: 1rem;
  }
  .p-singlePost__title {
    font-size: 1.625rem;
  }
  .p-singlePost__body h2,
  .p-worksSingle__body h2,
  .p-promise__content h2,
  .parent-pageid-219 .p-page__body h2 {
    font-size: 1.375rem;
  }
  .p-singlePost__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
  .p-worksSingle__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
  .p-promise__content h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl),
  .parent-pageid-219 .p-page__body h3:where(:not([class]), .wp-block-heading):not(.p-quoteNote__head):not(.c-relatedPost__title):not(.p-guidelineCard__ttl) {
    font-size: 1.125rem;
  }
  .p-singlePost__body .wp-block-image,
  .p-worksSingle__body .wp-block-image,
  .p-promise__content .wp-block-image,
  .parent-pageid-219 .p-page__body .wp-block-image {
    max-width: 100%;
  }
  .p-singlePost__aside {
    align-self: auto;
  }
  .p-singleSidebar__popularImg {
    aspect-ratio: 220/140;
  }
  .p-singleSidebar--toc {
    max-height: none;
    overflow-y: visible;
    position: static;
    top: auto;
  }
  .p-singleFloat {
    bottom: 1.25rem;
    flex-direction: row;
    gap: 0.5rem;
    right: 0.625rem;
    top: auto;
  }
  .p-singleFloat__btn {
    border-radius: 0.5rem;
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
    width: 3.5rem;
  }
  .p-singleFloat__btn--cafe {
    height: auto;
  }
  .p-singleFloat__label {
    display: none;
  }
  .p-slider {
    border-radius: 1.25rem;
    margin-inline: 1.5625rem;
    overflow: hidden;
    padding-bottom: 0;
    width: auto;
  }
  .p-slider__img img {
    height: 100%;
  }
  .p-slider__ttl--wrapper.--01, .p-slider__ttl--wrapper.--02, .p-slider__ttl--wrapper.--03, .p-slider__ttl--wrapper.--04 {
    bottom: auto;
    height: auto;
    left: 0.75rem;
    right: 0.75rem;
    top: 10.5rem;
    width: auto;
  }
  .p-slider__slide {
    aspect-ratio: 325/470;
  }
  .p-slider__dots {
    display: none;
  }
  .p-slider__ttl {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    text-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(0, 0, 0, 0.25);
  }
  .p-slider__txt {
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: -0.06em;
    line-height: 1.5;
    margin-top: 0.625rem;
    text-shadow: none;
  }
  .p-sns {
    margin-top: 2.5rem;
  }
  .p-sns__en {
    font-size: 0.875rem;
  }
  .p-sns__inner {
    max-width: 100%;
    padding-inline: 1.25rem;
  }
  .p-sns__inner.--company {
    padding-top: 11.25rem;
  }
  .p-sns__box {
    gap: 0;
    grid-template-columns: 1fr;
    margin: auto;
    max-width: 31.25rem;
  }
  .p-sns__box .p-sns__textArea {
    display: contents;
  }
  .p-sns__box .p-sns__img {
    margin-top: 1.25rem;
  }
  .p-sns__box .p-sns__btnArea {
    order: 1;
  }
  .p-sns__box.--fv-bg:before {
    margin-left: calc(50% - 50vw);
  }
  .p-sns__box.--reverse {
    grid-template-columns: auto;
  }
  .p-sns__box.--reverse .p-sns__img {
    margin-bottom: 1.25rem;
    margin-top: 0;
  }
  .p-sns__box + .p-sns__box {
    margin-top: 3.75rem;
  }
  .p-sns__heading {
    gap: 0.5rem;
  }
  .p-sns__num {
    font-size: 3.125rem;
  }
  .p-sns__wrapper {
    max-width: 100% !important;
  }
  .p-sns__ttl {
    font-size: 1.875rem !important;
  }
  .p-sns__ttl__sub {
    font-size: 1.5rem;
  }
  .p-sns__btnArea {
    justify-content: center;
  }
  .p-sns__btn {
    display: flex;
    margin: auto;
  }
  .p-sns__img {
    margin: auto;
    width: 100%;
  }
  .p-media__inner {
    padding-inline: 1.25rem;
  }
  .p-media__header {
    margin-bottom: 1.5rem;
  }
  .p-media__ttl {
    font-size: 1.75rem;
  }
  .p-media__body {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }
  .p-media__txt.--sns-media {
    color: #1E2142;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .p-media__btnArea {
    text-align: center;
  }
  .p-solve {
    padding-bottom: 2rem;
    padding-top: 2rem;
  }
  .p-solve__wrapper {
    flex-direction: column;
  }
  .p-solve__right {
    display: none;
  }
  .p-solve__title {
    font-size: 1.75rem;
    margin-bottom: 0rem;
    text-align: center;
  }
  .p-solve__title span {
    font-size: 1rem;
  }
  .p-solve__txt {
    font-size: 1.125rem;
    margin-top: 0.5rem;
  }
  .p-solve__txt.--02 {
    padding: 0;
  }
  .p-solve__container {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-solve__btn + .p-solve__btn {
    margin-top: 0rem;
  }
  .p-solve__txtArea {
    font-size: 1rem;
  }
  .is-splash-active .p-splash__logo {
    width: 12.5rem;
  }
  .p-taxTabs__nav {
    gap: 0.5rem;
    margin-bottom: 2rem;
    max-width: 100%;
  }
  .p-taxTabs__navItem {
    font-size: 0.875rem;
    height: 2rem;
  }
  .p-taxTabs__navItem:nth-child(n+8) {
    display: none;
  }
  .p-taxTabs__contents {
    padding-left: 0;
  }
  .p-taxTabs__navBtn {
    display: none;
  }
  .js-taxSwiper .swiper-slide {
    width: 100%;
  }
  .p-taxCard {
    height: auto;
    width: 100%;
  }
  .p-taxCard__thumb {
    aspect-ratio: 400/270;
    height: auto;
  }
  .p-taxCard__thumb img {
    height: auto;
  }
  .p-taxCard__term {
    font-size: 0.8125rem;
  }
  .p-taxCard__date {
    font-size: 0.8125rem;
  }
  .p-taxCard__title {
    font-size: 1.125rem;
    margin-top: 1rem;
  }
  .p-taxCard__excerpt {
    font-size: 0.875rem;
  }
  .p-taxTabs__contents .js-taxSwiper {
    overflow: visible;
  }
  .p-taxTabs__contents .swiper-wrapper {
    -webkit-transform: none !important;
    display: block;
    transform: none !important;
  }
  .p-taxTabs__contents .swiper-slide {
    margin-right: 0 !important;
    width: 100% !important;
  }
  .p-taxTabs__contents .swiper-slide + .swiper-slide {
    margin-top: 1.5rem;
  }
  .p-taxTabs__contents .swiper-slide:nth-child(n+4) {
    display: none;
  }
  .p-company.--contact .p-sns__inner.--company {
    padding-top: 15.5rem;
  }
  .p-company.--contact .p-sns__wrapper.p-titleArea {
    margin-top: 0 !important;
  }
  .p-titleArea__main {
    font-size: 2rem;
  }
  .p-titleArea__sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
  .p-title.--02 .p-title__main.--02 {
    font-size: 1.5rem;
  }
  .p-title.--02 .p-title__main.--pos {
    padding-left: 0;
  }
  .p-title .p-title__span {
    font-size: 1.5rem;
  }
  .p-title .p-title__sub {
    font-size: 1.125rem;
  }
  .p-title .p-title__sub.--pos {
    padding-left: 0;
  }
  .p-title.--03 {
    font-size: 1.5rem;
  }
  .p-top:after {
    -webkit-transform: none;
    background-image: url("../img/top/top-fv-line-sp.svg");
    background-position: left top;
    background-size: 100% 100%;
    height: 25.375rem;
    top: 4.8125rem;
    transform: none;
  }
  .p-top__scroll {
    display: none;
  }
  .p-trouble {
    padding-top: 2.5rem;
  }
  .p-trouble__ttl {
    font-size: 1.75rem;
  }
  .p-trouble__container {
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
  }
  .p-trouble__left figure img {
    max-height: 16.25rem;
  }
  .p-trouble__box {
    border-radius: 0.75rem;
    padding: 1.125rem 0.75rem;
  }
  .p-trouble__list {
    gap: 1.125rem;
  }
  .p-trouble__item {
    align-items: baseline;
    gap: 1.125rem;
  }
  .p-trouble__resolve {
    margin-top: 3.125rem;
    padding: 0.875rem 1.25rem;
  }
  .p-trouble__resolve-txt {
    font-size: 1.75rem;
  }
  .p-ttl__main {
    font-size: 2rem;
  }
  .p-value {
    margin-top: 5rem;
  }
  .p-value__hover-text {
    font-size: 0.875rem;
  }
  .p-value__hover-text--top-right {
    left: -382%;
    top: 179%;
    width: 16.25rem;
  }
  .p-value__container {
    margin: 2.5rem auto 11.25rem;
    max-width: 37.5rem;
  }
  .p-value__triangle {
    height: 4.25rem;
    margin-top: -3.4375rem;
    width: 10.25rem;
  }
  .p-value__logo {
    font-size: 1rem;
  }
  .p-value__circle {
    height: 12.5rem;
    width: 12.5rem;
  }
  .p-value__circle--top {
    -webkit-transform: translate(-50%, calc(-50% - 75px));
    transform: translate(-50%, calc(-50% - 75px));
  }
  .p-value__circle--left {
    -webkit-transform: translate(calc(-50% - 80px), calc(-50% + 50px));
    transform: translate(calc(-50% - 80px), calc(-50% + 50px));
  }
  .p-value__circle--right {
    -webkit-transform: translate(calc(-50% + 78px), calc(-50% + 50px));
    transform: translate(calc(-50% + 78px), calc(-50% + 50px));
  }
  .p-value__circle-text {
    font-size: 1rem;
    line-height: 1.6;
  }
  .p-value__hover-text {
    font-size: 0.875rem;
    padding: 1rem 0.25rem;
    width: 100vw;
  }
  .p-value__hover-text--top-right {
    -webkit-transform: translate(calc(100% + 0.625rem), 0);
    transform: translate(calc(100% + 0.625rem), 0);
  }
  .p-value__hover-text--left {
    -webkit-transform: translate(calc(-100% - 0.625rem), -50%);
    transform: translate(calc(-100% - 0.625rem), -50%);
  }
  .p-value--bottom-right {
    -webkit-transform: translate(calc(100% + 0.625rem), 0);
    transform: translate(calc(100% + 0.625rem), 0);
  }
  .p-value__items {
    margin-top: 2.5rem;
  }
  .p-value__item + .p-value__item {
    margin-top: 1.25rem;
  }
  .p-value__item-ttl {
    font-size: 1.25rem;
  }
  .p-value__item-ttl span {
    font-size: 1.75rem;
  }
  .p-value__item-txt {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
  .p-value__hover-text--top-right {
    left: -242%;
    top: 179%;
  }
  .p-value__hover-text--top-right:before {
    display: none;
  }
  .p-value__hover-text--bottom-right {
    left: -195%;
    top: 110%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-value__hover-text--bottom-right:before {
    display: none;
  }
  .p-value__hover-text--left {
    left: 173%;
    top: 155%;
  }
  .p-value__hover-text--left:before {
    display: none;
  }
  .p-value__ttl span {
    font-size: 1.25rem;
  }
  .p-value .p-value__ttl.p-title__main {
    font-size: 1.75rem;
  }
  .p-vision {
    margin-top: 3.75rem;
  }
  .p-vision__wrapper:nth-child(2) {
    margin-top: 3.75rem;
  }
  .p-vision .p-vision__ttl.p-title__main {
    font-size: 1.75rem;
  }
  .p-vision .p-vision__txt.p-title__sub {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
  .p-vision .p-vision__txt--area {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
  .p-vision__txt--area:nth-child(2) {
    margin-top: 1.25rem !important;
  }
  .p-worksHero {
    margin-top: -3.75rem;
    padding-block: 16rem 9rem;
  }
  .p-worksHero__en {
    font-size: 1rem;
  }
  .p-worksHero__ttl {
    font-size: 2rem;
  }
  .p-worksHero__desc {
    font-size: 0.9375rem;
    margin-top: 1.25rem;
  }
  .p-breadcrumb {
    font-size: 0.75rem;
  }
  .p-worksFeature {
    padding-block: 2.5rem;
  }
  .p-worksFeature__bgText {
    display: none;
  }
  .p-worksFeature__inner {
    padding-inline: 1.25rem;
  }
  .p-worksFeature__head {
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    grid-template-columns: 4.375rem 1fr;
    max-width: 100%;
    row-gap: 0.75rem;
  }
  .p-worksFeature__num {
    font-size: 3.5rem;
  }
  .p-worksFeature__ttl {
    font-size: 1.25rem;
    padding-bottom: 0.25rem;
    text-align: left;
  }
  .p-worksFeature__body {
    grid-template-columns: 1fr;
    margin-top: 1.75rem;
    row-gap: 1.75rem;
  }
  .p-worksFeature__client {
    font-size: 1.0625rem;
  }
  .p-worksFeature__badge {
    font-size: 1rem;
    height: 2.5rem;
    min-width: 0;
  }
  .p-worksFeature__card {
    aspect-ratio: 900/500;
    margin-top: 2rem;
  }
  .p-worksFeature__cardImage {
    inset: 1.25rem;
  }
  .p-worksFeature__more {
    margin-inline: auto;
    max-width: 17.6875rem;
    width: 100%;
  }
  .p-works {
    padding-block: 3rem 2rem;
  }
  .p-works__head {
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 2.5rem;
  }
  .p-works__en {
    font-size: 2rem;
  }
  .p-works__list {
    gap: 3rem;
    padding-inline: 0;
  }
  .p-works__link {
    gap: 1.25rem;
    grid-template-columns: 1fr;
  }
  .p-works__thumb {
    aspect-ratio: 360/270;
    height: auto;
  }
  .p-works__body {
    padding-top: 0;
  }
  .p-works__row {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .p-works__num {
    font-size: 2.25rem;
  }
  .p-works__heading {
    font-size: 1.0625rem;
  }
  .p-works__desc {
    font-size: 0.875rem;
    margin-top: 0.75rem;
  }
  .p-works__tags {
    font-size: 0.875rem;
    height: 1.75rem;
    padding-inline: 0.75rem;
  }
  .p-works__tagSep {
    padding-inline: 0.375rem;
  }
  .p-worksSingle {
    padding-block: 1.5rem 3.75rem;
  }
  .p-worksSingle__layout {
    gap: 2.5rem;
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }
  .p-worksSingle__main {
    padding: 1.5rem;
  }
  .p-worksSingle__aside {
    position: static;
    top: auto;
  }
  .p-worksSingle__dates {
    gap: 0.75rem;
    margin-left: 0;
  }
  .p-worksSingle__date {
    font-size: 0.75rem;
  }
  .p-worksSingle__ttl {
    font-size: 1.375rem;
  }
  .p-worksSingle__back {
    margin-top: 2.5rem;
  }
  .p-reason {
    padding: 2.5rem 0 0;
  }
  .p-reason__inner {
    padding: 0 1.25rem 2.5rem;
  }
  .p-reason__wrapper {
    margin-bottom: 3rem;
  }
  .p-reason__title {
    font-size: 1.75rem;
    margin-bottom: 1.875rem;
  }
  .p-reason__txt {
    font-size: 1.125rem;
    text-align: left;
  }
  .p-reason__box + .p-reason__box {
    margin-top: 1.875rem;
  }
  .p-reason__box {
    gap: 2rem;
    grid-template-columns: 1fr;
  }
  .p-reason__box figure {
    margin: 0 auto;
    max-width: 18.75rem;
  }
  .p-reason__heading {
    align-items: baseline;
  }
  .p-reason__num {
    font-size: 3.125rem;
  }
  .p-reason__ttl {
    font-size: 1.25rem;
  }
  .p-reason__img--sm img {
    height: 8.75rem;
  }
  .p-reason__bar {
    padding: 1.5rem 1.25rem;
  }
  .p-reason__bar-txt {
    font-size: 1.375rem;
    text-align: center;
  }
  .p-introduction {
    margin-top: 2.5rem;
  }
  .p-introduction__bg-text {
    font-size: 3.125rem;
    left: 1.875rem;
    top: 21rem;
  }
  .p-introduction__inner {
    max-width: 21.625rem;
  }
  .p-introduction__wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-introduction__wrapper figure {
    height: 15.625rem;
    margin-inline: auto;
    width: 15.625rem;
  }
  .p-introduction__wrapper figure img {
    height: 100%;
    width: 100%;
  }
  .p-introduction__textArea {
    display: contents;
  }
  .p-introduction__title {
    font-size: 1.625rem;
    line-height: 1.3;
    order: -1;
    text-align: center;
  }
  .p-introduction__title span {
    font-size: 1rem;
  }
  .p-introduction__content {
    margin-top: 0rem;
  }
  .p-introduction__content--title span,
  .p-introduction__career--title span {
    margin-left: 0;
  }
  .p-introduction__content--body {
    align-items: flex-start;
    flex-direction: column;
  }
  .p-introduction__content--sns {
    padding-left: 25px;
    padding-right: 25px;
  }
  .p-introduction__content--subTtl span {
    font-size: 1rem;
  }
  .p-introduction__content--txt {
    max-width: 100%;
  }
  .p-introduction__career {
    margin-top: 0rem;
  }
  .p-introduction__career--txt {
    max-width: 100%;
  }
  .p-introduction__btnArea {
    margin-top: 2.5rem;
    max-width: 16.25rem;
  }
  .u-font18 {
    font-size: 1rem;
  }
  .u-font20 {
    font-size: 1rem;
  }
  .u-font22 {
    font-size: 1.125rem;
  }
  .u-font24 {
    font-size: 1.125rem;
  }
  .u-mt100 {
    margin-top: 1.875rem;
  }
  .u-mtSp10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .u-mtSp20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .u-mtSp30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }
  .u-mtSp40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .u-mtSp50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
  }
  .u-mtSp60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .u-mtSp70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
  }
  .u-mtSp80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .u-mtSp90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
  }
  .u-mtSp100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
  }
  .u-mtSp110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
  }
  .u-mtSp120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
  }
  .u-mtSp130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
  }
  .u-mtSp140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
  }
  .u-mtSp150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
  }
  .u-mtSp160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
  }
  .u-mtSp170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
  }
  .u-mtSp180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
  }
  .u-mtSp190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
  }
  .u-mtSp200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
  }
  .u-pc {
    display: none !important;
  }
  .u-sp {
    display: block;
  }
  .u-textMdLeft {
    text-align: Left !important;
  }
  .u-textMdCenter {
    text-align: Center !important;
  }
  .u-textMdRight {
    text-align: Right !important;
  }
  .u-textMdJustify {
    text-align: Justify !important;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-value__hover-text--top-right {
    left: -195%;
    top: 179%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-value__hover-text--left {
    left: 185%;
    top: 142%;
    width: 150%;
  }
  .p-value--bottom-right {
    left: -184%;
    top: 110%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
  .c-relatedPost__title {
    font-size: 0.875rem;
  }
  .c-relatedPost__excerpt {
    display: none;
  }
}

@media (any-hover: hover) {
  .c-btn.--back:hover {
    background-color: #1E2142;
    border-color: #1E2142;
    color: #fff;
    opacity: 1;
  }
  .c-btn.--back:hover::before {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-flowDetail__box:hover {
    -webkit-transform: translateY(-6px);
    background-color: #fff;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
    transform: translateY(-6px);
  }
  .p-flowFaq__btn:hover {
    background-color: #333;
    border-color: #333;
    color: #fff;
  }
  .p-flowFaq__btn:hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-guidelineSection .p-guidelineSection__moreBtn:hover {
    background-color: #1E2142;
    border-color: #1E2142;
  }
  .p-guidelineSection .p-guidelineSection__moreBtn:hover .p-guidelineSection__moreText {
    color: #fff;
  }
  .p-guidelineSection .p-guidelineSection__moreBtn:hover .p-guidelineSection__moreArrow {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-header__item:not(.p-header__item--cta) > a:hover > span::after,
  .p-header__item--hasSubmenu:hover > a > span::after,
  .p-header__item--hasSubmenu:focus-within > a > span::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  .p-header__item a:hover {
    opacity: 0.7;
  }
  .p-header__item--hasSubmenu:hover .p-header__submenu,
  .p-header__item--hasSubmenu:focus-within .p-header__submenu {
    -webkit-transform: translateX(-50%) translateY(0);
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
    visibility: visible;
  }
  .p-header__item--hasSubmenu:hover > a,
  .p-header__item--hasSubmenu:focus-within > a {
    opacity: 1;
  }
  .p-header__submenuItem a:hover > span::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  .p-header__item:hover a .p-header__btn {
    background: #fff;
    color: #E38EA6;
    transition: 0.3s all ease-in-out;
  }
  .p-interview__btn.--company:hover {
    background-color: #fff;
    border-color: #E2829D;
    color: #E2829D;
  }
  .p-interview__btn.--company:hover::after {
    border-bottom-color: #E2829D;
    border-right-color: #E2829D;
  }
  .p-interview__btn.--vision:hover {
    background-color: #fff;
    border-color: #9db1cf;
    color: #9db1cf;
  }
  .p-interview__btn.--vision:hover::after {
    border-bottom-color: #9db1cf;
    border-right-color: #9db1cf;
  }
  .p-marketingFeatures__item:hover {
    -webkit-transform: translateY(-6px);
    background-color: #fff;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
    transform: translateY(-6px);
  }
  .p-marketingPrice__btnLink:hover {
    background-color: #1E2142;
    border-color: #1E2142;
    color: #fff;
  }
  .p-marketingPrice__btnLink:hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-poster02__btn:hover {
    background-color: #1E2142;
    border-color: #1E2142;
    color: #fff;
  }
  .p-poster02__btn:hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-poster__card-btn:hover {
    background-color: #1E2142;
    border-color: #1E2142;
    color: #fff;
  }
  .p-poster__card-btn:hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
  .p-relatedArticles__moreBtn:hover {
    background-color: #1E2142;
    border-color: #1E2142;
  }
  .p-relatedArticles__moreBtn:hover .p-relatedArticles__moreText {
    color: #fff;
  }
  .p-relatedArticles__moreBtn:hover .p-relatedArticles__moreArrow {
    border-right-color: #fff;
    border-top-color: #fff;
  }
  .p-media__btn:hover {
    background-color: #1E2142;
    border-color: #1E2142;
    color: #fff;
  }
  .p-media__btn:hover::after {
    border-bottom-color: #fff;
    border-right-color: #fff;
  }
}

@media (hover: hover) {
  .p-pageTop:hover {
    background-color: #7995BE;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */