@charset "UTF-8";
.p-menu {
  margin-top: var(--section-gap);
}
.p-menu__heading {
  margin-bottom: 1.25em;
}
.p-menu__main {
  container-type: inline-size;
}
@media (min-width: 1025px) {
  .p-menu__main {
    padding-inline: 2em;
  }
}
.p-menu__list {
  --column-count: 4;
  --column-gap: min(3cqw, 1.75em);
  --row-gap: min(3cqw, 1.5em);
}
@container (width <= 1000px) {
  .p-menu__list {
    --column-count: 3;
  }
}
@container (width <= 800px) {
  .p-menu__list {
    --column-count: 2;
  }
}
.p-menu__item__link {
  width: 100%;
  height: 100%;
}

.p-subject-section {
  margin-top: var(--section-gap-lg);
}
.p-subject-section__inner {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--section-gap-lg);
}

.p-subject__main {
  --column-gap: 5.5cqw;
  position: relative;
}
.p-subject__header {
  position: relative;
}
.p-subject__labels {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-flow: column wrap;
  max-height: 100%;
  padding: 0.5em;
  font-size: var(--font-size-xl);
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: 0.2em;
  background-color: var(--color-primary);
  transform: translateX(-0.5em) translateY(-0.5em);
}
.p-subject__labels__item {
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.p-subject__labels__item:nth-child(n+2)::before {
  content: "・";
}
.p-subject__body {
  position: relative;
}
.p-subject__heading {
  margin-bottom: 0.85em;
}
@container (width > 750px) {
  .p-subject__heading {
    margin-top: 0.5em;
    margin-left: calc((var(--column-gap) + 0.4em) * -1);
    text-shadow: 0 0 2px #fff, 1px 1px 1.5px #fff, -1px -1px 1.5px #fff, 1px -1px 1.5px #fff, -1px 1px 1.5px #fff;
  }
}
.p-subject__overview {
  display: flex;
  flex-direction: column;
  row-gap: 0.6em;
  margin-bottom: 1em;
  font-size: clamp(1.8rem, 4 * var(--vw), var(--font-size-xl) * 1.1);
  line-height: 1.5;
}
.p-subject__overview__item > span {
  display: inline;
  padding: 0 0.5em 0.1em;
  background-color: color-mix(in srgb, var(--color-primary) 17%, #fff);
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
@supports not (background-color: color-mix(in srgb, #000, #fff)) {
  .p-subject__overview__item > span {
    background-color: rgba(var(--color-primary-rgb), 17%);
  }
}
.p-subject__note-list {
  margin-top: 1.5em;
  font-size: 0.9em;
}
.p-subject__buttons {
  display: flex;
  flex-direction: column;
  gap: 1em;
  align-items: flex-end;
  margin-top: min(3em, 10cqw);
}
@media (max-width: 525px) {
  .p-subject__buttons {
    align-items: center;
  }
}
.p-subject__column-list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--section-gap-sm);
  padding: max(3cqw, 2em) max(4cqw, 1.5em);
  margin-inline: calc(var(--container-padding) / -2);
  margin-top: var(--section-gap-sm);
  background-color: var(--color-secondary);
  border-radius: var(--radius-md);
}

.p-column__heading {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1em;
  font-size: clamp(1.8rem, 4.6 * var(--vw), 2.7rem);
}
.p-column__body {
  --row-gap: 1.5em;
}

.p-collab {
  position: relative;
  z-index: 0;
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap-lg);
  margin-top: var(--section-gap);
  margin-bottom: calc(var(--section-gap) / -1);
}
.p-collab__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-mask-image: linear-gradient(to top, transparent, #000 var(--section-gap-lg));
          mask-image: linear-gradient(to top, transparent, #000 var(--section-gap-lg));
}
.p-collab__heading {
  --max-size: 3.5rem;
  margin-bottom: 1em;
}
.p-collab__intro {
  font-size: var(--font-size-lg);
}
.p-collab__body {
  container-type: inline-size;
  margin-top: 2.5em;
}
.p-collab__list {
  --column-count: 3;
  --column-gap: max(1.5em, 3cqw);
  --row-gap: max(1.5em, 3cqw);
}
@container (width <= 840px) {
  .p-collab__list {
    --column-count: 2;
  }
}
@container (width <= 560px) {
  .p-collab__list {
    --column-count: 1;
    justify-content: center;
  }
}
.p-collab__item {
  max-width: 400px;
}
.p-collab__banner {
  display: block;
  width: 100%;
}
.p-collab__banner:link {
  transition: opacity 0.2s;
}
.p-collab__banner:link:hover {
  opacity: 0.7;
}
.p-collab__banner > img {
  width: 100%;
}

/* 追加css */
.p-pattern03 {
  margin-top: var(--section-gap);
}
.p-pattern03__heading {
  margin-bottom: var(--header-gap-lg);
}
.p-pattern03__item + .p-pattern03__item {
  margin-top: var(--section-gap-sm);
}

.p-pattern03-02 {
  margin-top: var(--section-gap);
}
.p-pattern03-02__heading {
  margin-bottom: var(--header-gap-lg);
}
.p-pattern03-02__item + .p-pattern03-02__item {
  margin-top: var(--section-gap-sm);
}
.p-pattern03-02__item__header {
  background-color: var(--color-primary);
}
.p-pattern03-02__item__heading {
  color: var(--color-text-contrast);
}

.p-pattern08 {
  margin-top: var(--section-gap);
}
.p-pattern08__heading {
  margin-bottom: var(--header-gap);
}
.p-pattern08__body {
  container: body/inline-size;
}
.p-pattern08__list {
  --column-count: 3;
  --column-gap: max(4cqw, 2.2em);
  --row-gap: var(--section-gap-sm);
}
@container body (width <= 900px) {
  .p-pattern08__list {
    --column-count: 2;
  }
}
@container body (width <= 530px) {
  .p-pattern08__list {
    --column-count: 1;
  }
}
.p-pattern08__item__heading {
  margin-bottom: 0.5em;
  text-align: center;
}
.p-pattern08__item__image {
  max-width: 380px;
  margin-inline: auto;
}

.p-pattern05 {
  --gradation-height: var(--section-gap-lg);
  position: relative;
  z-index: 0;
  padding-block: var(--section-gap);
  margin-top: var(--section-gap);
}
.p-pattern05__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height), #000 calc(100% - var(--gradation-height)), transparent);
          mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height), #000 calc(100% - var(--gradation-height)), transparent);
}
.p-pattern05__bg > img {
  display: block;
  width: 100%;
  min-width: 600px;
  height: 100%;
  opacity: 0.34;
}
.p-pattern05__heading {
  margin-bottom: var(--header-gap-lg);
}
.p-pattern05__item__heading {
  margin-bottom: var(--header-gap-xs);
}

.services_table_area {
  margin-bottom: 50px;
}

.services_table table {
  text-align: center;
  margin-top: 50px;
}

.services_table_02 table {
  text-align: center;
  margin-top: 30px;
  table-layout: fixed;
  width: 800px;
}

.services_table_in th:first-child {
  width: 16em !important;
}

.services_table_border {
  border-bottom: none !important;
}

@media (max-width: 768px) {
  .services_table_in > tbody > tr > td {
    min-width: min(7em, 85* var(--vw));
    padding: 1.25em 1em;
  }
}


