/* Default Options */
/* Media Query */
/* Transform Font Size */
/* --------------------------------- */
.project {
  display: flex;
  flex-direction: column;
  gap: 60px;
  /* --------------------------------- */
}
.project-ui {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.project-ui-result {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
}
.project-ui-result li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(5px, 0.5vw, 10px);
  border-inline-end: 1px solid rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  box-sizing: border-box;
}
.project-ui-result li:last-child {
  border-inline-end: 0;
}
.project-ui-result .title {
  font-size: clamp(0.75rem, 0.567721519rem + 0.5063291139vw, 1rem);
  font-weight: 500;
}
.project-ui-result .number {
  font-size: clamp(2.25rem, 1.703164557rem + 1.5189873418vw, 3rem);
  font-weight: 600;
  line-height: 1;
}
.project-ui-result .text {
  font-size: 0.75rem;
}
.project-index {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.project-index .p-projectlist {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.project-nopost {
  margin-block-start: var(--space-sm);
}
@media screen and (min-width: 768px) {
  .project-index .p-projectlist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--column-gap);
  }
}
@media screen and (min-width: 1080px) {
  .project-ui {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
  .project-ui-result {
    grid-template-columns: repeat(2, auto);
    gap: var(--space-xs);
  }
  .project-ui-result li {
    padding-inline-end: var(--space-xs);
    flex-direction: row;
    gap: var(--space-xxs);
  }
  .project-ui-result li:last-child {
    padding-inline-end: 0;
  }
}
@media screen and (min-width: 1366px) {
  .project-index .p-projectlist {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1920px) {
  .project-index .p-projectlist {
    grid-template-columns: repeat(4, 1fr);
  }
}
.project-detail .p-pageheader .inner {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: repeat(2, auto);
  align-items: center;
}
.project-detail .p-pageheader .inner .jp {
  grid-area: 1/1/2/2;
  font-size: clamp(2.5rem, -0.0518987342rem + 7.0886075949vw, 6rem);
  font-weight: 500;
}
.project-detail .p-pageheader .inner .en {
  grid-area: 2/1/3/2;
  font-size: clamp(0.875rem, 0.6015822785rem + 0.7594936709vw, 1.25rem);
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}
.project-detail .p-pageheader .inner .number {
  grid-area: 1/2/3/3;
  font-size: clamp(3rem, -0.6455696203rem + 10.1265822785vw, 8rem);
  font-weight: 400;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5);
}
.project-detail .l-contents {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.project-detail-aside dl {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  row-gap: 10px;
  font-size: 0.875rem;
  line-height: 1.6;
}
.project-detail-aside dt {
  font-weight: 500;
}
.project-detail-aside a {
  display: flex;
}
.project-detail-aside a svg {
  width: 12px;
  margin-inline-end: 5px;
}
.project-detail-image {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(5px, 0.5vw, 10px);
  list-style: none;
}
.project-detail-image li {
  aspect-ratio: 2/3;
  border-radius: 5px;
  overflow: hidden;
}
.project-detail-image li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.project-detail-image li.wide {
  aspect-ratio: 16/9;
  grid-column: 1/3;
}
.project-detail-image li.noimg {
  aspect-ratio: 16/9;
  grid-column: 1/3;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.1);
}
.project-detail-image li.noimg svg {
  width: 60%;
  max-width: 360px;
  opacity: 0.1;
}
.project-detail-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.project-detail-nav .prev {
  display: flex;
  justify-content: start;
}
.project-detail-nav .next {
  display: flex;
  justify-content: end;
}
.project-detail-nav a {
  display: flex;
  align-items: center;
  column-gap: var(--space-xxs);
  text-decoration: none;
}
.project-detail-nav .u-txt-f-number {
  font-size: clamp(2rem, 1.635443038rem + 1.0126582278vw, 2.5rem);
  font-weight: 400;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5);
}
.project-detail-nav .jp,
.project-detail-nav .en {
  display: none;
}
.project-detail-nav .prev .c-icon-arrow {
  transform: scale(-1, 1);
}
.project-detail-nav .next a {
  flex-direction: row-reverse;
}
.project-detail-foot {
  padding-block-start: var(--space-sm);
  display: flex;
  justify-content: center;
  align-items: center;
  border-block-start: 1px solid rgba(0, 0, 0, 0.15);
}
.project-detail-foot a {
  display: flex;
  gap: 10px;
  font-size: clamp(1rem, 0.817721519rem + 0.5063291139vw, 1.25rem);
  font-weight: 500;
  text-decoration: none;
}
@media screen and (min-width: 1080px) {
  .project-detail .l-contents {
    display: grid;
    grid-template-columns: var(--grid-column-guide);
    column-gap: var(--column-gap);
    row-gap: var(--space-md);
  }
  .project-detail-aside {
    grid-column: 1/4;
  }
  .project-detail-aside dl {
    position: sticky;
    top: 120px;
  }
  .project-detail-image {
    grid-column: 5/13;
  }
  .project-detail-nav {
    grid-column: 1/13;
  }
  .project-detail-nav a {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(2, auto);
    column-gap: var(--space-xxs);
    align-items: center;
    text-decoration: none;
    line-height: 1.2;
  }
  .project-detail-nav .prev .c-icon-arrow {
    grid-area: 1/1/3/2;
  }
  .project-detail-nav .prev .u-txt-f-number {
    grid-area: 1/2/3/3;
  }
  .project-detail-nav .prev .jp {
    grid-area: 1/3/2/4;
  }
  .project-detail-nav .prev .en {
    grid-area: 2/3/3/4;
  }
  .project-detail-nav .next .c-icon-arrow {
    grid-area: 1/3/3/4;
  }
  .project-detail-nav .next .u-txt-f-number {
    grid-area: 1/2/3/3;
  }
  .project-detail-nav .next .jp {
    grid-area: 1/1/2/2;
  }
  .project-detail-nav .next .en {
    grid-area: 2/1/3/2;
  }
  .project-detail-nav .jp {
    display: block;
    font-size: clamp(1rem, 0.817721519rem + 0.5063291139vw, 1.25rem);
    font-weight: 500;
    grid-area: 1/3/2/4;
  }
  .project-detail-nav .en {
    display: block;
    font-size: clamp(0.75rem, 0.7044303797rem + 0.1265822785vw, 0.8125rem);
    font-weight: 500;
    color: rgba(0, 0, 0, 0.5);
    grid-area: 2/3/3/4;
  }
  .project-detail-foot {
    grid-column: 1/13;
  }
}

/* --------------------------------- */
/* --------------------------------- */