@charset "UTF-8";
/*

 WORKS
----------------------------------------------- */
.contents_wraper {
  padding-inline: calc(50dvw - 573px);
}
@media (width < 1226px) {
  .contents_wraper {
    padding-inline: 40px;
  }
}
.contents_wraper {
  display: grid;
}
@media (width > 768px) {
  .contents_wraper {
    margin-top: 100px;
    grid-template-columns: 230px 1fr;
    grid-template-areas: "head head" "side main";
    gap: 0px 80px;
  }
}
@media (width <= 768px) {
  .contents_wraper {
    margin-top: 50px;
    padding-top: 100px;
    gap: 100px;
  }
}
@media (width <= 768px) {
  .contents_wraper .main_contents {
    padding-top: 0;
  }
}

/* 投稿タイプ名 */
.post_type_name {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 450;
  font-size: 50rem;
}
@media (width > 768px) {
  .post_type_name {
    grid-area: head;
    margin-bottom: 100px;
  }
}

/* タグ */
.tax_name {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 450;
}
@media (width > 768px) {
  .tax_name {
    margin-bottom: 70px;
    font-size: 24rem;
  }
}
.tax_name::before {
  content: "";
  width: 5px;
  height: 1px;
  background-color: currentColor;
}

/* main contents */
@media (width > 768px) {
  .main_contents {
    grid-area: main;
  }
}

/* 記事詳細 */
.post-header {
  margin-bottom: 70px;
}
.post-header .title {
  margin-bottom: 15px;
  font-size: 30rem;
  font-weight: 400;
  line-height: 1.5;
}
.post-header .term {
  color: #6A7282;
  font-family: var(--font-en);
}
.post-header .term + .term {
  margin-left: 1em;
}
@media (width > 768px) {
  .post-header .info {
    margin-block: 55px 70px;
  }
}
@media (width <= 768px) {
  .post-header .info {
    margin-block: 30px 40px;
  }
}
.post-header .info dt, .post-header .info dd {
  display: inline;
  font-size: 14rem;
  line-height: 2.4;
}
.post-header .info dd::after {
  content: "\a";
  white-space: pre;
}
.post-header .eyecatch img {
  width: 100%;
}

.wp-entry :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 4em;
  margin-bottom: 1em;
  line-height: 2.1;
  font-weight: 600;
  font-size: 15rem;
}
.wp-entry p {
  margin-block: 1em;
  font-size: 15rem;
  line-height: 2.1;
}
@media (width > 768px) {
  .wp-entry figure {
    margin-block: 75px;
  }
}
@media (width <= 768px) {
  .wp-entry figure {
    margin-block: 50px;
  }
}

/* Other Works */
@media (width > 768px) {
  .related_works {
    margin-top: 160px;
  }
}
@media (width <= 768px) {
  .related_works {
    margin-top: 150px;
  }
}
.related_works h3 {
  margin-bottom: 40px;
  font-weight: 450;
  font-size: 36rem;
}
@media (width <= 768px) {
  .related_works .works-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
  }
}

/* side bar */
@media (width > 768px) {
  .side_bar {
    grid-area: side;
  }
}
@media (width <= 768px) {
  .side_bar {
    margin-top: 50px;
  }
}
.side_bar h3 {
  font-weight: 450;
  font-size: 24rem;
}
@media (width > 768px) {
  .side_bar .art {
    margin-top: 90px;
  }
}
@media (width <= 768px) {
  .side_bar .art {
    margin-top: 50px;
  }
}
.side_bar .art dt {
  margin-bottom: 0.5em;
  font-style: italic;
  font-size: 18rem;
}
.side_bar .art dd {
  display: flex;
  gap: 10px;
  font-size: 18rem;
}
.side_bar .art dd + dd {
  margin-top: 0.2em;
}
.side_bar .art dd::before {
  margin-top: 0.7em;
  content: "";
  width: 5px;
  height: 1px;
  background-color: currentColor;
}
.side_bar .art a {
  position: relative;
  text-decoration: none;
}
.side_bar .art a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--color-border);
  background-color: currentColor;
  transform: scale(0, 1);
  transform-origin: right;
  transition: transform 0.4s;
}
.side_bar .art a:hover::after {
  transform-origin: left;
  transform: scale(1, 1);
}
.side_bar .produce {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
}
.side_bar .produce dt {
  width: 100%;
  margin-bottom: 0.5em;
  font-style: italic;
}
@media (width > 768px) {
  .side_bar .produce dt {
    font-size: 18rem;
  }
}
.side_bar .produce dd {
  font-size: 17rem;
}
.side_bar .produce dd::after {
  content: "/";
  margin-inline: 0.3em;
}
.side_bar .produce dd:last-child::after {
  display: none;
}

/* ベースのスタイルを上書き */
@media (width > 768px) {
  .works-list {
    gap: 40px 80px;
  }
}
@media (width <= 768px) {
  .works-list {
    gap: 60px;
  }
}