/* //////////////////////////////////////////////////

Title : post.scss
For   : bell-c/

Created       : 2025-11-10
Last Modified : 2025-11-21

==========================================

Content

////////////////////////////////////////////////// */
/**
 * page item title
 */
.c-page-item__title {
  font-family: var(--font-ja);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  text-align: center;
  border-bottom: 0.3rem solid var(--color-light-gray);
}
.c-page-item__sub-title {
  font-family: var(--font-ja);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  border-left: 0.8rem solid var(--color-primary);
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-page-item__title {
    font-size: 2.4rem;
    padding-bottom: 2.8rem;
  }
  .c-page-item__sub-title {
    font-size: 1.8rem;
    padding: 1.1rem 1.1rem 1.1rem 2rem;
    line-height: 1.6;
    text-box-trim: trim-both;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-page-item__title {
    font-size: 4rem;
    padding-bottom: 3.2rem;
  }
  .c-page-item__sub-title {
    font-size: 2.8rem;
    padding: 0.5em 0.5em 0.5em 1em;
    line-height: 1.5;
  }
}
/**
 * page list
 */
.c-page-list {
  display: flex;
  flex-direction: column;
}
.c-page-list__item {
  display: flex;
  border-bottom: 2px solid #eaeff1;
}
.c-page-list__label {
  font-family: var(--font-ja);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
}
.c-page-list__value {
  font-family: var(--font-ja);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.09em;
  text-box-trim: trim-both;
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-page-list {
    gap: 2.8rem;
  }
  .c-page-list__item {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding-bottom: 2rem;
  }
  .c-page-list__label {
    font-size: 1.4rem;
  }
  .c-page-list__value {
    font-size: 1.4rem;
    text-align: center;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-page-list {
    gap: 4rem;
  }
  .c-page-list__item {
    justify-content: space-between;
    padding-bottom: 4rem;
  }
  .c-page-list__label {
    font-size: 2rem;
    padding-inline: 2rem;
  }
  .c-page-list__value {
    font-size: 2rem;
    max-width: 80%;
    text-align: right;
  }
}
/**
 * page link
 */
.c-page-link {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
}
.c-page-link::after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: var(--page-link-icon-variant, url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAwQzEyLjQxODMgMCAxNiAzLjU4MTcyIDE2IDhDMTYgMTIuNDE4MyAxMi40MTgzIDE2IDggMTZDMy41ODE3MiAxNiAwIDEyLjQxODMgMCA4QzAgMy41ODE3MiAzLjU4MTcyIDAgOCAwWk01Ljg4NjcyIDUuNTA3ODFMOC41NzQyMiA4LjE5NDM0TDUuODg2NzIgMTAuODgwOUw3LjMwMDc4IDEyLjI5NDlMMTEuNDAyMyA4LjE5NDM0TDcuMzAwNzggNC4wOTI3N0w1Ljg4NjcyIDUuNTA3ODFaIiBmaWxsPSIjMDYzNDg4Ii8+PC9zdmc+"));
  background-size: 100%;
  background-repeat: no-repeat;
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-page-link {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-page-link {
    font-size: 1.8rem;
    letter-spacing: 0.09em;
  }
}
/**
 * table
 */
.c-page-table {
  line-height: 1.5;
}
.c-page-table tr {
  border-bottom: 1px solid var(--color-light-gray);
}
.c-page-table__label {
  font-weight: 700;
}
.c-page-table__value {
  font-weight: 400;
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-page-table {
    width: 100%;
    border-top: 1px solid var(--color-light-gray);
    font-size: 1.4rem;
  }
  .c-page-table :where(th, td) {
    text-align: center;
  }
  .c-page-table tr {
    display: grid;
    grid-template-columns: 100%;
    row-gap: 2rem;
    padding-block: 2rem;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-page-table {
    width: 100%;
    font-size: 1.8rem;
    white-space: nowrap;
  }
  .c-page-table__label {
    padding-block: 4rem;
    -webkit-padding-start: 2rem;
            padding-inline-start: 2rem;
  }
  .c-page-table__value {
    padding-block: 4rem;
    width: 1%;
  }
}
/**
 * page header
 */
.c-page-header__container {
  max-width: var(--container-full);
  width: 100%;
  margin-inline: auto;
}

.c-page-heading {
  position: relative;
}
.c-page-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.8rem;
  background-image: linear-gradient(to right, var(--color-white) 0%, var(--color-secondary) 50%, var(--color-primary) 100%);
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-page-header {
    padding-block: 4rem;
    padding-inline: 2rem;
  }
  .c-page-heading {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-page-header {
    padding-block: 10rem;
    padding-inline: 3rem;
  }
  .c-page-heading {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
    padding-inline: 13rem;
  }
}
/**
 * post summaries
 */
.c-post__categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.c-post__categories-list-element {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  line-height: 1;
}
.c-post__post-date {
  font-family: var(--font-en);
  color: var(--post-date-color, var(--color-primary));
  font-weight: 700;
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-post__categories-list-element {
    padding-block: 0.5em;
    padding-inline: 1em;
    font-size: 1rem;
  }
  .c-post__post-date {
    font-size: var(--post-date-font-size, 1.4rem);
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-post__categories-list {
    justify-content: flex-end;
  }
  .c-post__categories-list-element {
    padding-block: 0.5em;
    padding-inline: 0.5em;
    font-size: 1.4rem;
  }
  .c-post__post-date {
    font-size: var(--post-date-font-size, 1.8rem);
  }
}
/**
 * button
 */
.c-post-button__link {
  --button-background-default: var(--color-background-gradient);
  --button-color-default: var(--color-white);
  position: relative;
  display: var(--button-display, grid);
  place-items: center;
  max-width: var(--button-width, var(--button-width-default));
  width: 100%;
  min-height: var(--button-height, var(--button-height-default));
  padding-inline: var(--button-gutter, var(--button-gutter-default));
  background: var(--button-background-active, var(--button-background-default));
  font-size: var(--button-font-size, var(--button-font-size-default));
  letter-spacing: var(--button-letter-spacing, 0.05em);
  font-weight: var(--button-font-weight, 600);
  color: var(--button-color-active, var(--button-color-default));
  text-align: var(--button-text-align, center);
  transition: all var(--transition-default);
  line-height: var(--button-line-height, 1);
}
.c-post-button__link:hover, .c-post-button__link:active {
  opacity: var(--opacity-default);
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .wp-block-buttons {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
  .c-post-button__link {
    --button-width-default: 30rem;
    --button-height-default: 5rem;
    --button-gutter-default: 4rem;
    --button-font-size-default: 1.4rem;
    --button-icon-position-default: 3rem;
    --button-icon-size-default: 0.8rem;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .wp-block-buttons {
    -webkit-margin-before: 6rem;
            margin-block-start: 6rem;
  }
  .c-post-button__link {
    --button-width-default: 30rem;
    --button-height-default: 6.8rem;
    --button-gutter-default: 4rem;
    --button-font-size-default: 1.8rem;
    --button-icon-position-default: 3rem;
    --button-icon-size-default: 0.8rem;
  }
}
/**
 * column layout
 */
.c-post-columns {
  --image-cell-spacer: 0;
  display: grid;
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-post-columns {
    grid-template-columns: 100%;
    row-gap: 2rem;
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-post-columns {
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
  }
  .c-post-columns[data-columns="2"] {
    --large-column-size: 60%;
    gap: 4rem;
  }
  .c-post-columns[data-columns="2"][data-layout=left-large] {
    grid-template-columns: var(--large-column-size) 1fr;
  }
  .c-post-columns[data-columns="2"][data-layout=right-large] {
    grid-template-columns: 1fr var(--large-column-size);
  }
  .c-post-columns[data-columns="2"][data-layout=equal] {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-post-columns[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
/**
 * tags
 */
.c-post__tags {
  display: flex;
  flex-wrap: wrap;
  color: #aeaeae;
  font-weight: 700;
  line-height: 1.8;
}
.c-post__tags li::before {
  content: "#";
}

/* --- for small viewport --- */
@media (max-width: 767px) {
  .c-post__tags {
    font-size: 1.2rem;
    gap: 1em;
  }
}
/* --- for large viewport --- */
@media (min-width: 768px) {
  .c-post__tags {
    font-size: 1.4rem;
    row-gap: var(--post-tags-gap, 1.6rem);
  }
}
/**
 * terms
 */
.p-terms {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  -webkit-padding-after: 100px;
          padding-block-end: 100px;
  font-size: 1.6rem;
  line-height: 1.75;
}
.p-terms :where(*) + :where(*) {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.p-terms :where(a) {
  color: var(--color-primary);
  text-decoration: underline;
}
.p-terms :where(ul, ol) {
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
}
.p-terms :where(ul) li {
  list-style: disc;
}
.p-terms :where(ol) li {
  list-style: decimal;
}
.p-terms :where(table) th {
  background-color: var(--color-background-default);
  color: var(--color-primary);
  font-weight: 700;
  text-align: center;
}
.p-terms :where(h2, h3, h4, h5) {
  padding-block: 0.25em;
  padding-inline: 1em;
  background-color: var(--color-background-default);
  color: var(--color-primary);
  font-weight: 700;
}
.p-terms :where(h2, h3, h4, h5) {
  font-size: 1.5em;
}
.p-terms__container :where(h2) {
  -webkit-margin-after: 2em;
          margin-block-end: 2em;
}
.p-terms__container :where(h2):not(:first-child) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
/*# sourceMappingURL=post.css.map */