@charset "UTF-8";
.p-company\:category {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:category {
    width: 90%;
    margin: 0 auto;
  }
}
.p-company\:category__list {
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:category__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:category__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-company\:category__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-company\:category__list-item {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:category__list-item {
    min-width: 20rem;
  }
}
.p-company\:category__link {
  display: block;
  position: relative;
  border-radius: 200px;
}
.p-company\:category__link.is-category-current {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:category__link {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:category__link:hover, .p-company\:category__link:focus-visible {
    color: var(--color-white);
    background-color: var(--color-black);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:category__link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-black);
  border-radius: 200px;
  opacity: 0.2;
}
.p-company\:category__link-text {
  display: block;
  position: relative;
  padding: 1rem 3rem;
  font-size: 1.4rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:category__link-text {
    min-height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.3rem 1rem;
    font-size: 1.2rem;
    line-height: 1.2;
  }
}

.p-company\:main {
  display: block;
  position: relative;
  margin-top: -5rem;
}
.p-company\:main__copy {
  display: block;
  position: relative;
  margin-top: 5rem;
  font-size: 1.2rem;
  line-height: 1.6;
  word-break: break-all;
}

.p-company\:main-content {
  display: block;
  position: relative;
}
.p-company\:main-content + .p-company\:main-content {
  margin-top: 12rem;
  padding-top: 13rem;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content + .p-company\:main-content {
    margin-top: 4rem;
    padding-top: 5rem;
  }
}
.p-company\:main-content + .p-company\:main-content::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #5a4b9c 0%, #ce2b94 100%);
}
@media screen and (max-width: 960px) {
  .p-company\:main-content + .p-company\:main-content::before {
    width: calc(100% + 4rem);
    left: -2rem;
  }
}
.p-company\:main-content__cap {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto 7.1rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__cap {
    margin-bottom: 4.5rem;
  }
}
.p-company\:main-content__inner {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-company\:main-content__inner {
    max-width: 65rem;
  }
}
.p-company\:main-content__business {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7.1rem 5rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__business {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 1.8rem;
  }
}
.p-company\:main-content__business-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-company\:main-content__slide {
  width: calc(100% - 6rem);
  display: block;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 961px) {
  .p-company\:main-content__slide {
    padding: 0 3rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__slide {
    width: 100%;
  }
}
.p-company\:main-content__slidenav {
  width: 4rem;
  height: 4rem;
  display: block;
  position: absolute;
  top: 50%;
  background-color: var(--color-black);
  border-radius: 50%;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__slidenav {
    width: 3.5rem;
    height: 3.5rem;
    top: min(calc((100vw - 14rem) * .32),17.34rem);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-content__slidenav {
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:main-content__slidenav:hover, .p-company\:main-content__slidenav:focus-visible {
    background-color: var(--color-violet);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:main-content__slidenav.--prev {
  left: 0;
  transform: translate(0, -50%) scale(-1, 1);
}
.p-company\:main-content__slidenav.--next {
  right: 0;
  transform: translate(0, -50%);
}
.p-company\:main-content__slidenav-icon {
  width: 1rem;
  height: auto;
  display: block;
  position: absolute;
  top: 50%;
  left: 55%;
  fill: var(--color-white);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__slidenav-icon {
    width: 0.8rem;
  }
}
.p-company\:main-content__story {
  display: flex;
  position: relative;
}
.p-company\:main-content__story-item {
  width: calc(50% - 25px);
  flex-shrink: 0;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__story-item {
    width: 100%;
  }
}
.p-company\:main-content__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.1rem 5rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:main-content__nav {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem 5rem;
  }
}
.p-company\:main-content__nav-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-company\:main-content__more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  margin: 5rem auto 0;
}

.p-company\:main-hero {
  display: block;
  position: relative;
}
.p-company\:main-hero__slide {
  display: block;
  position: relative;
  /* overflow: hidden; */
}
.p-company\:main-hero__list {
  display: block;
  position: relative;
  z-index: 0;
}
.p-company\:main-hero__list-item {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 0;
  transition: opacity 0s linear 1.5s;
}
.p-company\:main-hero__list-item:first-child {
  position: relative;
}
.p-company\:main-hero__list-item.is-current {
  opacity: 1 !important;
  z-index: 1;
  transition: opacity 1.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-company\:main-hero__kv {
  display: block;
  position: relative;
}
.p-company\:main-hero__kv-img {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-company\:main-hero__kv-copy {
  display: block;
  position: relative;
  margin-top: 1rem;
  font-size: 1.1rem;
  color: var(--color-gray);
  text-align: right;
  line-height: 1.5;
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-company\:main-hero__kv-copy {
    margin-top: 0.75rem;
    font-size: 1rem;
  }
}
.is-current .p-company\:main-hero__kv-copy {
  opacity: 1;
}
.p-company\:main-hero__brand {
  width: 40rem;
  display: block;
  position: relative;
  margin: 9rem auto 0;
}
@media screen and (max-width: 960px) {
  .p-company\:main-hero__brand {
    width: 21rem;
    margin-top: 3.2rem;
  }
}

.p-company\:main-message {
  display: block;
  position: relative;
  margin-top: 5.8rem;
}
@media screen and (max-width: 960px) {
  .p-company\:main-message {
    margin-top: 1.8rem;
  }
}
.p-company\:main-message__lead {
  display: block;
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.15rem;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-company\:main-message__lead {
    font-size: 1.4rem;
  }
}
.p-company\:main-message__lead-main {
  display: block;
  position: relative;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-company\:main-message__lead-main {
    font-size: 3.2rem;
  }
}
.p-company\:main-message__lead-sub {
  display: block;
  position: relative;
  font-size: 2.2rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  left: 0.1rem;
}
@media screen and (max-width: 960px) {
  .p-company\:main-message__lead-sub {
    font-size: 1.8rem;
  }
}
.p-company\:main-message__link {
  width: 18rem;
  display: block;
  position: relative;
  margin: 2.4rem auto 0;
}
@media screen and (max-width: 960px) {
  .p-company\:main-message__link {
    width: 18rem;
    margin-top: 1.6rem;
  }
}

.p-company\:main-business {
  display: block;
  position: relative;
}
.p-company\:main-business__thumb {
  display: block;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-business__thumb {
    transition: box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:main-business:hover .p-company\:main-business__thumb, .p-company\:main-business:focus-visible .p-company\:main-business__thumb {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:main-business__title {
  display: block;
  position: relative;
  margin-top: 1.4rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-company\:main-business__title {
    margin-top: 1rem;
    font-size: 1.3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-business:hover .p-company\:main-business__title, .p-company\:main-business:focus-visible .p-company\:main-business__title {
    text-decoration: underline;
  }
}

.p-company\:main-story {
  display: block;
  position: relative;
}
.p-company\:main-story__thumb {
  display: block;
  position: relative;
  margin-bottom: 2rem;
}
@media screen and (max-width: 960px) {
  .p-company\:main-story__thumb {
    width: calc(100% - 12rem);
    margin: 0 auto 3.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-story__thumb {
    transition: box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:main-story:hover .p-company\:main-story__thumb, .p-company\:main-story:focus-visible .p-company\:main-story__thumb {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:main-story__cap {
  display: block;
  position: relative;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--color-orange);
}
@media screen and (max-width: 960px) {
  .p-company\:main-story__cap {
    font-size: 1.5rem;
  }
}
.p-company\:main-story__title {
  display: block;
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-company\:main-story__title {
    font-size: 2.4rem;
  }
}
.p-company\:main-story__text {
  display: block;
  position: relative;
  margin-top: 0.5rem;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company\:main-story__text {
    font-size: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-story:hover .p-company\:main-story__text, .p-company\:main-story:focus-visible .p-company\:main-story__text {
    text-decoration: underline;
  }
}

.p-company\:main-nav {
  height: 25rem;
  display: block;
  position: relative;
  background: var(--color-gray-light);
}
@media screen and (max-width: 960px) {
  .p-company\:main-nav {
    height: 20rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:main-nav {
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:main-nav:hover, .p-company\:main-nav:focus-visible {
    background-color: var(--color-gray-hov);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:main-nav__title {
  display: block;
  position: absolute;
  top: 38%;
  left: 50%;
  font-size: 2.4rem;
  text-align: center;
  font-weight: 700;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-company\:main-nav__title {
    top: 30%;
    font-size: 2.2rem;
  }
}
.p-company\:main-nav__btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: absolute;
  top: 66%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-company\:message {
  display: block;
  position: relative;
}
.p-company\:message__header {
  display: block;
  position: relative;
  margin-bottom: 10rem;
}
@media screen and (max-width: 960px) {
  .p-company\:message__header {
    margin-bottom: 5rem;
  }
}
.p-company\:message__inner {
  display: block;
  position: relative;
}
.p-company\:message__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:message__text {
    font-size: 1.3rem;
  }
}

.p-company\:message-outline {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:message-outline {
    display: grid;
    grid-template-columns: min(40%, 40.5rem) 1fr;
    gap: 6rem min(10%, 10rem);
    grid-template-areas: "header inner";
  }
}
.p-company\:message-outline__header {
  grid-area: header;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__header {
    margin-bottom: 4rem;
  }
}
.p-company\:message-outline__inner {
  grid-area: inner;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:message-outline__inner {
    padding-top: 12.8rem;
  }
}
.p-company\:message-outline__lead {
  display: block;
  position: relative;
  font-size: 2.4rem;
  line-height: 2;
  font-weight: 700;
}
@media screen and (min-width: 961px) {
  .p-company\:message-outline__lead {
    margin-top: -0.4rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__lead {
    font-size: 1.5rem;
  }
}
.p-company\:message-outline__lead-main {
  display: block;
  position: relative;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__lead-main {
    font-size: 3.2rem;
  }
}
.p-company\:message-outline__lead-sub {
  display: block;
  position: relative;
  font-size: 2.2rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  left: 0.1rem;
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__lead-sub {
    font-size: 1.8rem;
  }
}
.p-company\:message-outline__text {
  display: block;
  position: relative;
  margin-top: 2.6rem;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__text {
    font-size: 1.6rem;
  }
}
.p-company\:message-outline__author {
  display: block;
  position: relative;
  margin-top: 2.8rem;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company\:message-outline__author {
    font-size: 1.6rem;
  }
}

.p-company\:business {
  display: block;
  position: relative;
}

.p-company\:business-outline {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:business-outline {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-company\:business-outline__header {
  grid-area: header;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px){
  .p-company\:message-outline__header {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-company\:message-outline__inner {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-company\:business-outline__header {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-outline__header {
    flex: 1 1 0;
    min-width: 1px;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-outline__header {
    margin-bottom: 4.6rem;
  }
}
.p-company\:business-outline__title {
  display: block;
  position: relative;
  max-width: 100rem;
  margin-bottom: 4.8rem;
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company\:business-outline__title {
    margin-bottom: 4.5rem;
  }
}
.p-company\:business-outline__description {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
}
.p-company\:business-outline__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:business-outline__inner {
    width: 46rem;
    margin-left: 8rem;
  }
}
.p-company\:business-outline__footer {
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:business-outline__footer {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-outline__footer {
    margin-top: 2.4rem;
  }
}

.p-company\:business-works {
  display: block;
  position: relative;
  margin-top: 10rem;
}
.p-company\:business-works__header {
  display: block;
  position: relative;
  margin-bottom: 5rem;
}
.p-company\:business-works__title {
  display: block;
  position: relative;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-company\:business-works__title {
    font-size: 2rem;
  }
}
.p-company\:business-works__inner {
  display: block;
  position: relative;
}

.p-company\:business-detail {
  display: block;
  position: relative;
}
.p-company\:business-detail + .p-company\:business-detail {
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail + .p-company\:business-detail {
    margin-top: 2rem;
  }
}
.p-company\:business-detail__header {
  display: block;
  position: relative;
  padding: 2.6rem 10rem 2.6rem 5rem;
  color: var(--color-white);
  background: var(--color-violet);
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__header {
    padding: 2.6rem 8rem 2.6rem 4rem;
  }
}
.p-company\:business-detail__title {
  display: block;
  position: relative;
  font-size: 1.8rem;
  line-height: 1.5;
}
.p-company\:business-detail__deco {
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translate(0, -50%);
  background-color: transparent;
  border-radius: 50%;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__deco {
    right: 3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:business-detail__deco {
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:business-detail__header:hover .p-company\:business-detail__deco {
    background-color: var(--color-white);
  }
}
.p-company\:business-detail__deco::before {
  content: "";
  width: calc(100% - 2rem);
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:business-detail__deco::before {
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:business-detail__header:hover .p-company\:business-detail__deco::before {
    background-color: var(--color-violet);
  }
}
.p-company\:business-detail__deco::after {
  content: "";
  width: 0.2rem;
  height: calc(100% - 2rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-white);
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1), transform 0.4s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-drawer-open .p-company\:business-detail__deco::after {
  opacity: 0;
  transform: translate(-50%, -20%);
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:business-detail__header:hover .p-company\:business-detail__deco::after {
    background-color: var(--color-violet);
  }
}
.p-company\:business-detail__inner {
  display: none;
  position: relative;
  overflow: hidden;
}
.p-company\:business-detail__content {
  display: block;
  position: relative;
  padding: 5.5rem 5rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__content {
    padding: 2.5rem 0;
  }
}
.p-company\:business-detail__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
}
.p-company\:business-detail__text:not(:first-child) {
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__text:not(:first-child) {
    margin-top: 5rem;
  }
}
.p-company\:business-detail__lineup {
  display: block;
  position: relative;
}
.p-company\:business-detail__lineup:not(:first-child) {
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__lineup:not(:first-child) {
    margin-top: 3rem;
  }
}
.p-company\:business-detail__schedule {
  display: block;
  position: relative;
}
.p-company\:business-detail__schedule:not(:first-child) {
  margin-top: 10rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-detail__schedule:not(:first-child) {
    margin-top: 8rem;
  }
}

.p-company\:business-schedule {
  display: block;
  position: relative;
}
.p-company\:business-schedule__title {
  display: block;
  position: relative;
  margin-bottom: 5rem;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__title {
    margin-bottom: 3rem;
  }
}
.p-company\:business-schedule__list {
  display: block;
  position: relative;
}
.p-company\:business-schedule__list-item {
  display: block;
  position: relative;
}
.p-company\:business-schedule__list-item + .p-company\:business-schedule__list-item {
  margin-top: 6.4rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__list-item + .p-company\:business-schedule__list-item {
    margin-top: 3.2rem;
  }
}
.p-company\:business-schedule__list-item + .p-company\:business-schedule__list-item::before {
  content: "";
  width: 0.35rem;
  height: 6.6rem;
  display: block;
  position: absolute;
  top: -3.2rem;
  left: 50%;
  background: var(--color-violet);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__list-item + .p-company\:business-schedule__list-item::before {
    height: 3.4rem;
    top: -1.6rem;
  }
}
.p-company\:business-schedule__time {
  width: 10.2rem;
  height: 10.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  color: var(--color-white);
  background-color: var(--color-violet);
  border-radius: 50%;
}
.p-company\:business-schedule__time-text {
  width: 100%;
  display: block;
  position: relative;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
}
.p-company\:business-schedule__frame {
  width: calc(50% - 12rem);
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:business-schedule__frame {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .p-company\:business-schedule__list-item:nth-child(odd) .p-company\:business-schedule__frame {
    left: 0;
  }
  .p-company\:business-schedule__list-item:nth-child(even) .p-company\:business-schedule__frame {
    right: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__frame {
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-schedule__frame::before {
    content: "";
    width: 5rem;
    height: 0.1rem;
    display: block;
    position: absolute;
    top: 50%;
    border-bottom: 0.1rem solid var(--color-violet);
  }
  .p-company\:business-schedule__list-item:nth-child(odd) .p-company\:business-schedule__frame::before {
    right: -1rem;
    transform: translate(100%, -50%);
  }
  .p-company\:business-schedule__list-item:nth-child(even) .p-company\:business-schedule__frame::before {
    left: -1rem;
    transform: translate(-100%, -50%);
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__frame::before {
    content: "";
    width: 0.35rem;
    height: 1rem;
    display: block;
    position: absolute;
    top: -0.4rem;
    left: 50%;
    background: var(--color-violet);
    transform: translate(-50%, -50%);
  }
}
.p-company\:business-schedule__content {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:business-schedule__content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-company\:business-schedule__list-item:nth-child(odd) .p-company\:business-schedule__content {
    margin-left: auto;
  }
  .p-company\:business-schedule__list-item:nth-child(even) .p-company\:business-schedule__content {
    margin-right: auto;
  }
  @supports selector(:has(+ *)) {
    .p-company\:business-schedule__content:has(.p-company\:business-schedule__text) {
      width: 100%;
    }
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__content {
    margin: 0.8rem 0;
    padding: 1.8rem 2.5rem;
  }
  .p-company\:business-schedule__content::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border: 0.2rem solid var(--color-violet);
  }
}
.p-company\:business-schedule__cap {
  display: block;
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-violet);
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__cap {
    font-size: 1.6rem;
    text-align: center;
  }
}
.p-company\:business-schedule__cap:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__cap:not(:last-child) {
    margin-bottom: 0.6rem;
  }
}
.p-company\:business-schedule__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__text {
    font-size: 1.4rem;
  }
}
.p-company\:business-schedule__img {
  width: 75%;
  display: block;
  position: relative;
  margin-top: 1.5rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-schedule__img {
    width: 100%;
    margin: 1rem auto 0;
  }
}

.p-company\:business-lineup {
  display: block;
  position: relative;
}
.p-company\:business-lineup__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.5rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:business-lineup__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.8rem 2rem;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-lineup[data-pc-col="1"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-lineup[data-pc-col="2"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-lineup[data-pc-col="3"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
}
@media screen and (min-width: 961px) {
  .p-company\:business-lineup[data-pc-col="4"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 3.5rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-lineup[data-sp-col="1"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-lineup[data-sp-col="2"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.8rem 2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-lineup[data-sp-col="3"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.8rem 2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:business-lineup[data-sp-col="4"] .p-company\:business-lineup__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
}
.p-company\:business-lineup__list-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-company\:business-lineup__list-item.--span\:2 {
  grid-column-end: span 2;
}
.p-company\:business-lineup__list-item.--span\:3 {
  grid-column-end: span 3;
}
.p-company\:business-lineup__list-item.--span\:4 {
  grid-column-end: span 4;
}

.p-company\:business-card {
  display: block;
  position: relative;
}
.p-company\:business-card__thumb {
  display: block;
  position: relative;
}
.p-company\:business-card__thumb:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-card__thumb:not(:last-child) {
    margin-bottom: 0.8rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:business-card__thumb {
    transition: box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:business-card[href]:hover .p-company\:business-card__thumb, .p-company\:business-card[href]:focus-visible .p-company\:business-card__thumb {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:business-card__thumb-img {
  display: block;
  position: relative;
}
.p-company\:business-card__title {
  display: block;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-card__title {
    font-size: 1.3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:business-card[href]:hover .p-company\:business-card__title, .p-company\:business-card[href]:focus-visible .p-company\:business-card__title {
    text-decoration: underline;
  }
}
.p-company\:business-card__copy {
  display: block;
  position: relative;
  margin-top: 0.5rem;
  font-size: 1.1rem;
  color: var(--color-gray);
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (max-width: 960px) {
  .p-company\:business-card__copy {
    margin-top: 0.25rem;
    font-size: 1rem;
  }
}

.p-company\:business-nav {
  display: block;
  position: relative;
}
.p-company\:business-nav__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
  gap: 3.4rem 2rem;
}
@media screen and (max-width: 960px) {
  .p-company\:business-nav__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem 1.5rem;
  }
}

.p-company\:story {
  display: block;
  position: relative;
}
.p-company\:story__inner {
  display: block;
  position: relative;
}
.p-company\:story__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem 5rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-company\:story__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4.5rem 3rem;
  }
}
.p-company\:story__list-item {
  min-width: 0;
  display: block;
  position: relative;
}

.p-company\:story-data {
  display: block;
  position: relative;
}
.p-company\:story-data__thumb {
  display: block;
  position: relative;
  margin-bottom: 2rem;
}
@media screen and (max-width: 960px) {
  .p-company\:story-data__thumb {
    margin-bottom: 1.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:story-data__thumb {
    transition: box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:story-data:hover .p-company\:story-data__thumb, .p-company\:story-data:focus-visible .p-company\:story-data__thumb {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-company\:story-data__cap {
  display: block;
  position: relative;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--color-orange);
}
@media screen and (max-width: 960px) {
  .p-company\:story-data__cap {
    margin-bottom: 0.35rem;
    font-size: 1.5rem;
  }
}
.p-company\:story-data__title {
  display: block;
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-company\:story-data__text {
  display: block;
  position: relative;
  margin-top: 0.5rem;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company\:story-data__text {
    margin-top: 0.35rem;
    font-size: 1.55rem;
    letter-spacing: 0.05rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:story-data:hover .p-company\:story-data__text, .p-company\:story-data:focus-visible .p-company\:story-data__text {
    text-decoration: underline;
  }
}

.p-company\:story-in {
  display: block;
  position: relative;
  padding-bottom: 4rem;
}
.p-company\:story-in__header {
  display: block;
  position: relative;
  margin-bottom: 11rem;
}
@media screen and (max-width: 960px) {
  .p-company\:story-in__header {
    margin-bottom: 3rem;
  }
}
.p-company\:story-in__outline {
  display: block;
  position: relative;
}
.p-company\:story-in__inner {
  display: block;
  position: relative;
}
.p-company\:story-in__member {
  display: block;
  position: relative;
}
.p-company\:story-in__interview {
  display: block;
  position: relative;
}
.p-company\:story-in__interview:not(:first-child) {
  margin-top: 9.6rem;
}
@media screen and (max-width: 960px) {
  .p-company\:story-in__interview:not(:first-child) {
    margin-top: 2.5rem;
  }
}
.p-company\:story-in__footer {
  display: block;
  position: relative;
  margin-top: 10rem;
}
@media screen and (max-width: 960px) {
  .p-company\:story-in__footer {
    margin-top: 3.5rem;
  }
}
.p-company\:story-in__back {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  margin: 0 auto;
}

.p-company\:about {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:about {
    margin-top: -2rem;
  }
}
.p-company\:about__logo {
  width: 24rem;
  display: block;
  position: relative;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 960px) {
  .p-company\:about__logo {
    margin-bottom: 2rem;
  }
}
.p-company\:about__data {
  display: block;
  position: relative;
}
.p-company\:about__note {
  display: block;
  position: relative;
  padding: 1rem 0 4rem;
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 960px) {
  .p-company\:about__note {
    padding: 0.5rem 0 3.4rem;
    font-size: 1rem;
  }
}

.p-company\:about-data {
  display: block;
  position: relative;
  padding: 2.2rem 0;
}
@media screen and (min-width: 961px) {
  .p-company\:about-data {
    display: flex;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:about-data {
    padding: 2rem 0;
  }
}
.p-company\:about-data::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem dashed var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
}
.p-company\:about-data__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:about-data__header {
    min-width: 15rem;
    margin-right: 2rem;
  }
  .--lang\:en .p-company\:about-data__header {
    min-width: 27rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__header {
    margin-bottom: 0.5rem;
  }
}
.p-company\:about-data__title {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__title {
    font-size: 1.4rem;
  }
}
.p-company\:about-data__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:about-data__inner {
    flex: 1 1 0;
    min-width: 0;
  }
}
.p-company\:about-data__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__text {
    font-size: 1.5rem;
  }
}
.p-company\:about-data__name {
  display: flex;
  justify-content: flex-start;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__name {
    font-size: 1.4rem;
  }
}
.p-company\:about-data__name-sub {
  min-width: 11rem;
  display: block;
  position: relative;
  margin-right: 1rem;
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__name-sub {
    min-width: 8rem;
  }
}
@media screen and (min-width: 961px) {
  .--lang\:en .p-company\:about-data__name-sub {
    min-width: 31rem;
  }
}
@media screen and (max-width: 960px) {
  .--lang\:en .p-company\:about-data__name-sub {
    width: 15rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .--lang\:en .p-company\:about-data__name-sub {
    min-width: 31rem;
  }
}
.p-company\:about-data__name-main {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  position: relative;
}
.p-company\:about-data__officers {
  --col: 1;
  --row: 1;
  display: grid;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:about-data__officers {
    grid-template-columns: repeat(var(--col), 1fr);
    grid-template-rows: repeat(var(--row), auto);
    gap: 1.5rem 3rem;
    grid-auto-flow: column;
  }
  .p-company\:about-data__officers.--col\:auto {
    grid-template-columns: auto;
  }
  .p-company\:about-data__officers.--row\:auto {
    grid-template-rows: auto;
    grid-auto-flow: row;
  }
  .p-company\:about-data__officers.--col\:1 {
    --col: 1;
  }
  .p-company\:about-data__officers.--row\:1 {
    --row: 1;
  }
  .p-company\:about-data__officers.--col\:2 {
    --col: 2;
  }
  .p-company\:about-data__officers.--row\:2 {
    --row: 2;
  }
  .p-company\:about-data__officers.--col\:3 {
    --col: 3;
  }
  .p-company\:about-data__officers.--row\:3 {
    --row: 3;
  }
  .p-company\:about-data__officers.--col\:4 {
    --col: 4;
  }
  .p-company\:about-data__officers.--row\:4 {
    --row: 4;
  }
  .p-company\:about-data__officers.--col\:5 {
    --col: 5;
  }
  .p-company\:about-data__officers.--row\:5 {
    --row: 5;
  }
  .p-company\:about-data__officers.--col\:6 {
    --col: 6;
  }
  .p-company\:about-data__officers.--row\:6 {
    --row: 6;
  }
  .p-company\:about-data__officers.--col\:7 {
    --col: 7;
  }
  .p-company\:about-data__officers.--row\:7 {
    --row: 7;
  }
  .p-company\:about-data__officers.--col\:8 {
    --col: 8;
  }
  .p-company\:about-data__officers.--row\:8 {
    --row: 8;
  }
  .p-company\:about-data__officers.--col\:9 {
    --col: 9;
  }
  .p-company\:about-data__officers.--row\:9 {
    --row: 9;
  }
  .p-company\:about-data__officers.--col\:10 {
    --col: 10;
  }
  .p-company\:about-data__officers.--row\:10 {
    --row: 10;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:about-data__officers {
    gap: 1rem;
  }
}
.p-company\:about-data__officers-item {
  display: block;
  position: relative;
}

.p-company\:about-content {
  display: block;
  position: relative;
  padding: 3.8rem 0;
}
@media screen and (max-width: 960px) {
  .p-company\:about-content {
    padding: 3.2rem 0;
  }
}
.p-company\:about-content::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem solid var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
}
.p-company\:about-content__header {
  display: block;
  position: relative;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 960px) {
  .p-company\:about-content__header {
    margin-bottom: 2rem;
  }
}
.p-company\:about-content__title {
  display: block;
  position: relative;
  font-size: 2.2rem;
  line-height: 1.3;
  font-weight: 700;
}
.p-company\:about-content__inner {
  display: block;
  position: relative;
}
.p-company\:about-content__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2.2;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:about-content__text {
    font-size: 1.4rem;
    line-height: 2.1;
  }
}

.p-company\:about-group {
  display: block;
  position: relative;
}
.p-company\:about-group__inner {
  display: block;
  position: relative;
}
.p-company\:about-group__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem 1rem;
  position: relative;
}
@media screen and (min-width: 961px) and (max-width: 1200px) {
  .p-company\:about-group__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .p-company\:about-group__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) {
  .p-company\:about-group__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-company\:about-group__list-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-company\:about-group__link {
  display: block;
  position: relative;
}
.p-company\:about-group__link-thumb {
  display: block;
  position: relative;
  transform: translateY(0);
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:about-group__link-thumb {
    transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company\:about-group__link[href]:hover .p-company\:about-group__link-thumb, .p-company\:about-group__link[href]:focus-visible .p-company\:about-group__link-thumb {
    transform: translateY(-0.6rem);
  }
}
.p-company\:about-group__link-thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 1rem;
  box-shadow: 0.3rem 0.3rem 1rem 0 var(--color-black-alpha-20);
  opacity: 0.75;
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:about-group__link-thumb::before {
    transition: box-shadow 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-company\:about-group__link[href]:hover .p-company\:about-group__link-thumb::before, .p-company\:about-group__link[href]:focus-visible .p-company\:about-group__link-thumb::before {
    box-shadow: 0 0.5rem 1rem 0 var(--color-black-alpha-20);
  }
}
.p-company\:about-group__link-img {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
.p-company\:about-group__link-cap {
  display: block;
  position: relative;
  margin-top: 0.6rem;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:about-group__link-cap {
    font-size: 1.1rem;
  }
}

.p-company\:access {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:access {
    display: flex;
    justify-content: flex-start;
  }
}
.p-company\:access__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:access__header {
    width: 35.5rem;
    margin-right: 16.4rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company\:access__header {
    margin-bottom: 3rem;
  }
}
.p-company\:access__address {
  display: block;
  position: relative;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .p-company\:access__address {
    font-size: 1.8rem;
  }
}
.p-company\:access__link {
  width: 35.5rem;
  display: block;
  position: relative;
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-company\:access__link {
    width: 35rem;
    max-width: 100%;
  }
}
.p-company\:access__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-company\:access__inner {
    flex: 1 1 0;
    min-width: 0;
  }
}
.p-company\:access__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2.2;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-company\:access__text {
    font-size: 1.3rem;
    line-height: 2;
  }
}

.p-company\:form {
  display: block;
  position: relative;
}
.p-company\:form__inner {
  display: block;
  position: relative;
}
.p-company\:form__content {
  display: block;
  position: relative;
}
.p-company\:form__form {
  display: block;
  position: relative;
  padding: 3.8rem 0;
}
.p-company\:form__form:not(:first-child)::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem solid var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
}

.p-company\:form-content {
  display: block;
  position: relative;
  padding: 3.8rem 0;
}
.p-company\:form-content:not(:first-child)::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem solid var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
}
.p-company\:form-content__header {
  display: block;
  position: relative;
  margin-bottom: 1.8rem;
}
.p-company\:form-content__title {
  display: block;
  position: relative;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
}
.p-company\:form-content__inner {
  display: block;
  position: relative;
}
.p-company\:form-content__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 2.2;
  font-weight: 500;
}

.p-company\:form-confirm {
  display: block;
  position: relative;
  padding-top: 3.8rem;
}
.p-company\:form-confirm::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem solid var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
}
.p-company\:form-confirm__text {
  display: block;
  position: relative;
  margin-bottom: 3.4rem;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.p-company {
  --color-violet: #695fa5;
  --color-orange: #cd5546;
  display: block;
  position: relative;
}
.p-company__container {
  display: block;
  position: relative;
  padding: 6.8rem 0 9rem;
}
@media screen and (max-width: 960px) {
  .p-company__container {
    padding: 5.6rem 0 3rem;
  }
}
.p-company__header {
  display: block;
  position: relative;
  margin: 0 auto 3.8rem;
}
@media screen and (max-width: 960px) {
  .p-company__header {
    width: calc(100% - 4rem);
    margin-bottom: 4.8rem;
  }
}
.p-company__title {
  display: block;
  position: relative;
  font-size: 2.5rem;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.15rem;
}
@media screen and (max-width: 960px) {
  .p-company__title {
    text-align: left;
    font-size: 2.6rem;
  }
}
.p-company__category {
  display: block;
  position: relative;
  margin-top: 3.4rem;
}
@media screen and (max-width: 960px) {
  .p-company__category {
    margin-top: 5.2rem;
  }
}
.p-company__inner {
  width: var(--content-width);
  display: block;
  position: relative;
  padding: 5rem 0;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-company__inner {
    width: calc(100% - 4rem);
    padding: 5rem 0;
  }
}
.p-company__inner + .p-company__inner {
  margin-top: 4rem;
}
.p-company__inner::before {
  content: "";
  width: calc(100vw + 6.5rem);
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: -6.5rem;
  background-color: var(--color-frame);
  border-radius: 0 5rem 5rem 0;
}
@media screen and (max-width: 960px) {
  .p-company__inner::before {
    width: calc(100% + 4rem);
    left: -2rem;
  }
}
.p-company__cap {
  width: 100%;
  max-width: 100rem;
  display: block;
  position: relative;
  margin: 0 auto 4.6rem;
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-company__cap {
    margin-bottom: 2.2rem;
  }
}
.p-company__text {
  width: 100%;
  max-width: 100rem;
  display: block;
  position: relative;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 2.2;
  font-weight: 500;
}
.p-company__content {
  width: 100%;
  max-width: 100rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-company__content {
    padding-bottom: 4rem;
  }
}
.p-company__footer {
  width: var(--content-width);
  display: block;
  position: static;
  margin: 2rem auto -9rem;
}
@media screen and (max-width: 960px) {
  .p-company__footer {
    width: calc(100% - 4rem);
    margin: 1rem auto -7rem;
  }
}
.p-company__back {
  padding: 2rem 0;
  display: block;
  position: relative;
}
.p-company__more {
  width: 15.4rem;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, 50%);
}
@media screen and (max-width: 960px) {
  .p-company__more {
    width: 15rem;
    right: 2rem;
  }
}
.p-company__copy {
  display: block;
  position: relative;
  margin-top: 5rem;
  font-size: 1.2rem;
  line-height: 1.6;
  word-break: break-all;
}
@media screen and (max-width: 960px) {
  .p-company__copy {
    margin-top: 3rem;
  }
}

.p-company-btn {
  display: block;
  position: relative;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 200px;
  box-shadow: 0 0 0.5rem var(--color-black-alpha-20);
}
@media (hover: hover) and (pointer: fine) {
  .p-company-btn {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-company-btn:hover, .p-company-btn:focus-visible {
    background-color: var(--color-active);
    box-shadow: 0 0.5rem 2rem var(--color-black-alpha-20);
  }
}
.p-company-btn__text {
  display: block;
  position: relative;
  padding: 1.3rem 4.5rem 1.3rem 2.5rem;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 500;
}
.p-company-btn__arrow {
  width: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .p-company-btn:hover .p-company-btn__arrow, .p-company-btn:focus-visible .p-company-btn__arrow {
    animation: arrow_centerY 1s linear;
  }
}
.p-company-btn__arrow-icon {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-white);
}