    .container {
      font-family: sans-serif;
      margin: 20px;
    }

    .heading-area {
      display: flex;
      align-items: baseline;
      justify-content: flex-start;
      gap: 12px;
      flex-wrap: wrap;
    }

    .main-heading {
      font-size: 1.6em;
      font-weight: bold;
      white-space: nowrap;
    }

    .upper-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      font-size: 0.9em;
      margin-top: 5px;
    }

    .lower-links {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      font-size: 0.9em;
      margin-top: 10px;
      align-items: center;
    }

    .year-group {
      white-space: nowrap;
    }

    .year-label {
      font-weight: bold;
      margin-right: 4px;
    }

    .slash {
      margin: 0 4px;
      color: #999;
    }
    a {
      text-decoration: none;
      color: #3b9fcf; /* 水色寄りの落ち着いたリンク色 */
    }
    
    a:hover {
      text-decoration: underline;
      color: #2a6f9c; /* hoverで少し濃く */
    }
    .year-nav {
      padding: 0 0.3em;
      font-weight: bold;
      text-decoration: none;
      color: #007acc;
    }
    .year-nav.disabled {
        color: #ccc;
        pointer-events: none;
    }
    .year-label {
        font-size: 1.1em;
        font-weight: bold;
        white-space: nowrap;
    }