  /* ===== VARIABLES ===== */
  :root {
    --primary-color: #2e2e2e;
    --secondary-color: #3b3b3b;
    --font-base: 'Roboto', sans-serif;
    --font-color: #f5f5f5;
  }
  
  /* ===== PC ===== */

  /* --- Body --- */

  body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--secondary-color);
    color: #eeeeee;
    font-family: var(--font-base);
  }

  /* --- Post --- */

  .post-grid {
    display: flex;
    justify-content: center;
    gap: 4rem;
    max-width: 1000px;
    margin: 2rem auto 0 auto;
    padding: 0 2rem;
  }

  /* --- Posts List --- */

  .post-list {
    flex: 0 0 70%;
    text-align: justify;
    hyphens: auto;
  }

  .post-title{
    font-size: 1.5rem;
  }

  .post-title a{
    text-decoration: none;
    color: #eeeeee;
  }

  .post-title a:hover{
    text-decoration: underline;
  }

  .post-title-date{
    color: #9a9a9a;
  }

  .post-image-container {
    display: flex;
    align-items: center;
    justify-content: center; 
    width: 100%;
    max-width: 100%;
  }

  .post-image {
    width: 100%;
    max-width: 700px;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .post-image:hover {
    transform: scale(1.02);
  }

  .post-body-summarize{
    margin: 1rem 0 4rem 0;
    text-align: justify;
  }

  /* --- Posts Last --- */

  .post-last {
    flex: 0 0 30%;
    text-align: left;
  }

  .post-last-introduction{
    font-size: 1.2rem;
  }

  .post-last-title{
    font-size: 1rem;
    margin-bottom: 0;
    text-align: justify;
    hyphens: auto;
  }

  .post-last-title a{
    text-decoration: none;
    color: #eeeeee;
  }

  .post-last-title a:hover{
    text-decoration: underline;
  }

  .post-last-date-container{
    margin-bottom: 1rem;
  }
  
  .post-last-date{
    font-size: 0.8rem;
    color: #9a9a9a;
  }

  /* --- Post --- */

  .post-article-container {
    margin: 1rem 0 3rem;
    line-height: 1.6rem;
    /*font-size: 1.1rem;*/
    text-align: justify;
    hyphens: auto;
    color: #eaeaea;
  }

  .post-article-container p {
    margin-bottom: 1rem;
  }

  .post-article-container-image {
    margin: 1rem 0;
  }

  .post-article-container-image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
  }

  .post-article-container-image figcaption {
    display: block;
    max-width: fit-content;
    margin-top: 0.5rem;
    text-align: center;
    font-style: italic;
    font-size: 1rem;
    margin-right: auto;
    margin-left: auto;
  }

  ol {
    margin: 0 auto;
    padding: 1rem;
    width: fit-content;
    list-style-position: inside;
  }

  .post-link{
    color: #5dccfb;
    text-decoration: none;
  }

  .post-link:hover{
    color: #89d9fb;
    text-decoration: underline;
  }

  .post-article-image {
    max-width: 90%;
    height: auto;
  }

  .video-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


  /* --- Character --- */

  .character {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 1;
    height: auto;
  }

  .character:hover {
    cursor: pointer;
  }

  /* --- Dialogue --- */

  .dialogue {
    position: fixed;
    bottom: 5rem;
    right: 10rem;
    z-index: 1;
    height: auto;
    opacity: 0;
    transition: opacity 1s;
  }

  .dialogue.visible {
    opacity: 1;
  }



/* ===== MOBILE ===== */

@media (max-width: 767px) {

  /* --- Post --- */

  .post-grid {
    display: flex;
    justify-content: center;
    gap: 0;
    max-width: 1000px;
    margin: 2rem auto 0 auto;
    padding: 0 2rem;
  }

  .post-list {
    flex: 0 0 100%;
    text-align: justify;
    hyphens: auto;
  }

  .post-last {
    display: none;
  }

  /* --- Mobile Character --- */

  .character {
    height: 10rem;
  }

  /* --- Mobile Dialogue --- */

  .dialogue {
    bottom: 3rem;
    right: 6rem;
    height: 3rem;
  }

}
