.topBan{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.topBanCol{
  width:50%;
  float:left;
}

.topBanItemLeft{
  margin: 0 2% 4% 0;
  aspect-ratio:5/8;
  overflow:hidden;
  border:1px #eee solid;
}
.topBanItemRight{
  margin:0 0 4% 2%;
  aspect-ratio:5/8;
  overflow:hidden;
  border:1px #eee solid;
}
.topNaviButton{width:38%;margin-left:8%;}
.topNavi{padding:3rem 0;}

.topNaviButton2{width:90%;margin-left:5%;}
.topNavi2{padding-top:1rem;}

.topIcon{margin:1rem auto;text-align:center;width:96%;}

.topKessai{
border:1px solid #000;
}

.topIcon .topSouryou{
border:1px solid #000;
}

img.half{
  width:calc(50% - 4px);
}

.topInfo{text-align:center;}

.yukata-ban{margin-top:1rem;border: 1px solid #aaa; width:90%;}

 /* ---------------- Layout ---------------- */
  .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    cursor: pointer; /* hand cursor even in gaps */
  }

  /* ---------------- Tag style ---------------- */
  .tagcloud a {
    background: none;
    border: 1px solid #ccc;
    border-radius: 20px;
    color: #555;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    font-size: 14px; /* uniform size */
    white-space: nowrap;
    text-decoration: none;
    margin: 2px;
    box-sizing: border-box;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    cursor: inherit; /* inherit hand cursor from parent */
  }

  .tagcloud a .tag-caption::before {
    content: "#";
  }

  .tagcloud a:hover {
    background-color: #72c7e6;
    border-color: #72c7e6;
    color: #fff;
  }

  /* ---------------- Dark-mode adjustments (optional) ----------------
  @media (prefers-color-scheme: dark) {
    .tagcloud a {
      border-color: #555;
      color: #dcdcdc;
    }
    .tagcloud a:hover {
      background-color: #005d89;
      border-color: #005d89;
    }
  }
*/