@media (min-width: 768px) {
  .c-mv {
    margin-bottom: 3.5rem;
  }
}

.card-item {
  position: relative;
}
@media (min-width: 768px) {
  .card-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 4rem 6rem;
  }
}
.card-item:not(:last-child) {
  margin-bottom: 3.5rem;
}
@media (min-width: 768px) {
  .card-item:not(:last-child) {
    margin-bottom: 7.6rem;
  }
}
@media (min-width: 768px) {
  .card-item--reverse {
    flex-direction: row-reverse;
  }
}
.card-item--2media .card-image {
  border-radius: none;
  display: flex;
  gap: 1rem;
}
@media (min-width: 768px) {
  .card-item--2media .card-image {
    width: 49.2rem;
  }
}
.card-item--2media .card-image > div {
  border-radius: 2rem;
  overflow: hidden;
}
.card-body {
  display: flex;
  gap: 2.6rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .card-body {
    gap: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .card-ttl.hline05 {
    margin-bottom: 3.8rem;
  }
}
@media (min-width: 768px) {
  .card-ttl.hline04 {
    margin-bottom: 4.3rem;
  }
}
.card-image {
  border-radius: 2rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .card-image {
    width: 29.6rem;
    flex-shrink: 0;
  }
}
.card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.card-icon {
  width: 5.463rem;
  position: absolute;
  top: 4rem;
  right: -0.1rem;
  z-index: 1;
}
@media (min-width: 768px) {
  .card-icon {
    width: 9.105rem;
    top: auto;
    right: -3.9rem;
    bottom: -2.2rem;
  }
}
.card-btn {
  margin-top: 3rem;
  text-align: center;
}
@media (min-width: 768px) {
  .card-btn {
    margin-top: 4rem;
    text-align: left;
  }
}
.card-btn .btn {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  padding: 1.6rem 2.6rem;
}
@media (min-width: 768px) {
  .card-btn .btn {
    font-size: 1.8rem;
    padding: 2.2rem 3.2rem;
  }
}
.card-btn .btn .icon {
  margin-left: 2rem;
}
@media (min-width: 768px) {
  .card-btn .btn .icon {
    margin-left: 3rem;
  }
}
.card .award-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-top: 0.3rem;
}
@media (min-width: 768px) {
  .card .award-list {
    gap: 2rem;
    margin-top: 5rem;
  }
}
.card .award-list__item {
  background: #F7F7F0;
  background: linear-gradient(240deg, rgb(247, 247, 240) 0%, rgb(242, 235, 216) 100%);
  border-radius: 2rem;
  display: flex;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
  padding: 1rem 1rem 2rem;
}
@media (min-width: 768px) {
  .card .award-list__item {
    gap: 3rem;
    flex-direction: row;
  }
}
.card .award-list__media {
  width: 10.5rem;
  aspect-ratio: 1;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .card .award-list__media {
    width: 12rem;
  }
}
.card .award-list__content {
  text-align: center;
}
@media (min-width: 768px) {
  .card .award-list__content {
    text-align: left;
  }
}
.card .award-list__content p {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.42;
}
@media (min-width: 768px) {
  .card .award-list__content p {
    font-size: 1.7rem;
  }
}
.card .award-list__content h5 {
  color: var(--color-primary);
  font-size: 1.4rem;
  line-height: 1.6363636364;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 0.6rem;
}
@media (min-width: 768px) {
  .card .award-list__content h5 {
    font-size: 2.2rem;
  }
}
.card .award-list__content .c-star {
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .card .award-list__content .c-star {
    margin-top: 1rem;
  }
}
@media (max-width: 767px) {
  .card .award-list__content .c-star li {
    font-size: 1rem;
    text-align: left;
  }
}
.card .benefit-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.card .benefit-list__item {
  background-color: #EBEBD9;
  border-radius: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
}
@media (min-width: 768px) {
  .card .benefit-list__item {
    align-items: center;
    flex-direction: row;
    gap: 3.2rem;
    padding-inline: 4.4rem;
  }
}
.card .benefit-list__title {
  font-size: 1.6rem;
  text-align: center;
}
@media (min-width: 768px) {
  .card .benefit-list__title {
    font-size: 2rem;
    width: 12.9rem;
    flex-shrink: 0;
    text-align: left;
  }
}
.card .benefit-list__desc {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .card .benefit-list__desc {
    font-size: 1.6rem;
    flex: 1;
  }
}
.card .example-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
}
@media (min-width: 768px) {
  .card .example-list {
    -moz-column-gap: clamp(20px, 1.4641288433vw, 20px);
    column-gap: clamp(20px, 1.4641288433vw, 20px);
    grid-template-columns: repeat(3, 1fr);
  }
}
.card .example-list__media {
  border-radius: 2rem;
  overflow: hidden;
}
.card .example-list__ttl {
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  margin-top: 1.4rem;
}
@media (min-width: 768px) {
  .card .example-list__ttl {
    font-size: 2rem;
    margin-top: 2rem;
  }
}

.p-intro {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-intro__wrap {
    display: flex;
    gap: 8rem;
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .p-intro__wrap {
    gap: 12rem;
  }
}
.p-intro__media {
  position: relative;
}
@media (min-width: 768px) {
  .p-intro__media {
    width: 32rem;
    flex-shrink: 0;
  }
}
@media (max-width: 767px) {
  .p-intro__media {
    margin-top: 3.5rem;
  }
}
.p-intro__media > div {
  aspect-ratio: 325/200;
  border-radius: 2rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-intro__media > div {
    aspect-ratio: 320/487;
  }
}
@media (min-width: 768px) {
  .p-intro__media-icon {
    width: 30.9375%;
    height: 57.4948665298%;
    position: absolute;
    left: calc(100% - 5.7rem);
    bottom: -2rem;
  }
}
.p-intro__body {
  position: relative;
}
@media (min-width: 768px) {
  .p-intro__body {
    margin-top: -0.4rem;
  }
}
.p-intro__icon {
  position: absolute;
  top: 10.1rem;
  right: 3.28rem;
  width: 8.948rem;
  height: 7rem;
}
@media (min-width: 768px) {
  .p-intro__icon {
    top: 4rem;
    right: 0;
    width: 16.6rem;
    height: 13rem;
  }
}
.p-intro__ttl .hline03 span {
  color: var(--color-primary);
}
.p-intro__ttl .hline03 span span {
  position: relative;
}
.p-intro__ttl .hline03 span span::before {
  content: "";
  background-color: var(--color-primary);
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  position: absolute;
  top: -0.5rem;
  right: 0;
  left: -0.4rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-intro__ttl .hline03 span span::before {
    top: 0;
    width: 0.8rem;
    height: 0.8rem;
  }
}
@media (max-width: 767px) {
  .p-intro__ttl .sp {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
}
.p-intro__ttl .sp .hline03:nth-child(2) {
  margin-top: 0.9rem;
}
.p-intro__ttl .sp .hline03:nth-child(1), .p-intro__ttl .sp .hline03:nth-child(3) {
  padding-left: 1.6rem;
}
.p-intro__desc {
  margin-top: 3.4rem;
}
@media (min-width: 768px) {
  .p-intro__desc {
    margin-top: 5.8rem;
  }
}
.p-intro__desc .c-txt-lg + .c-txt-lg {
  margin-top: 1.8rem;
}
@media (min-width: 768px) {
  .p-intro__desc .c-txt-lg + .c-txt-lg {
    margin-top: 2rem;
  }
}

.p-culture {
  background: #F7F7F0;
  background: linear-gradient(180deg, rgb(247, 247, 240) 0%, rgb(242, 235, 216) 100%);
  position: relative;
  z-index: 1;
  padding-top: 7.3rem;
}
@media (min-width: 768px) {
  .p-culture {
    padding-top: 16.4rem;
  }
}
.p-culture__wrap {
  position: relative;
}
.p-culture__icon {
  width: 4.975rem;
  position: absolute;
  top: -5.9rem;
  right: 3.5rem;
}
@media (min-width: 768px) {
  .p-culture__icon {
    top: -2.4rem;
    right: 6rem;
  }
}
.p-culture::before, .p-culture::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  z-index: -1;
}
.p-culture::before {
  background: url("../images/culture/bg_culture_before_sp.jpg") no-repeat left center/cover;
  height: 32vw;
  top: -21.3333333333vw;
}
@media (min-width: 768px) {
  .p-culture::before {
    background-image: url("../images/culture/bg_culture_before.jpg");
    height: 23.2796486091vw;
    top: -13.7628111274vw;
  }
}
.p-culture::after {
  background: url("../images/culture/bg_culture_after_sp.jpg") no-repeat left center/cover;
  bottom: -26.6666666667vw;
  height: 26.6666666667vw;
}
@media (min-width: 768px) {
  .p-culture::after {
    background-image: url("../images/culture/bg_culture_after.jpg");
    bottom: -15.5197657394vw;
    height: 20.4978038067vw;
  }
}
.p-culture .hline01 {
  margin-bottom: 4.4rem;
}
@media (min-width: 768px) {
  .p-culture .hline01 {
    margin-bottom: 7rem;
  }
}
@media (max-width: 767px) {
  .p-culture .hline01--center {
    margin-inline: 0;
  }
}
@media (max-width: 767px) {
  .p-culture .hline01-jp {
    padding-left: 1.8rem;
    text-align: left;
  }
}
.p-culture__list {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-culture__list {
    margin-top: 7rem;
  }
}
.p-culture__item {
  background-color: #fff;
  border: 0.4rem solid #F7F7F0;
  border-radius: 2rem;
  padding: 4.6rem 2.6rem;
}
@media (min-width: 768px) {
  .p-culture__item {
    padding: 7.6rem;
  }
}
.p-culture__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-culture__item:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.p-culture__item > .hline04 {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .p-culture__item > .hline04 {
    margin-bottom: 5rem;
  }
}
@media (max-width: 767px) {
  .p-culture__item.--award-list {
    padding-bottom: 2.5rem;
  }
}

.p-working {
  margin-top: 10rem;
  padding-top: 7rem;
}
@media (min-width: 768px) {
  .p-working {
    margin-top: 15.5197657394vw;
    padding-top: 12rem;
  }
}
.p-working .hline01 {
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-working .hline01 {
    margin-bottom: 7rem;
  }
}
@media (max-width: 767px) {
  .p-working .hline01--center {
    margin-inline: 0;
  }
}
@media (max-width: 767px) {
  .p-working .hline01-jp {
    padding-left: 1.8rem;
    text-align: left;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .p-working__txt {
    font-size: 1.7rem;
  }
}
.p-working__list {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-working__list {
    margin-top: 6.4rem;
  }
}
.p-working__item {
  background-color: #F7F7F0;
  border-radius: 2rem;
  padding: 5rem 3rem;
}
@media (min-width: 768px) {
  .p-working__item {
    padding: 8rem;
  }
}
.p-working__item:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-working__item:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.p-working__item > .hline04 {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .p-working__item > .hline04 {
    margin-bottom: 5rem;
  }
}
.p-working__item .desc-list {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(1, 1fr);
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-working__item .desc-list {
    -moz-column-gap: clamp(45px, 6.588579795vw, 90px);
    column-gap: clamp(45px, 6.588579795vw, 90px);
    grid-template-columns: repeat(3, 1fr);
    margin-top: 8rem;
  }
}
.p-working__item .desc-list .desc-item {
  position: relative;
}
@media (min-width: 768px) {
  .p-working__item .desc-list .desc-item:not(:last-child)::after {
    background-color: #B5B5B6;
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: calc(-1 * clamp(22px, 3.2210834553vw, 44px));
    bottom: 0;
  }
}
.p-working__item .desc-list .desc-item .hline05 {
  margin-bottom: 2.6rem;
}
@media (min-width: 768px) {
  .p-working__item .desc-list .desc-item .hline05 {
    margin-bottom: 3.5rem;
  }
}