@charset "utf-8";
/*
 * 交流ひろば（/channel・一覧・トピック詳細）のスタイル。
 * 交換日記A案（白ベース・ソフトモダン）にそろえる。
 * 既存の page/channel.css・single/channel.css より後に読み込んで上書きする。
 */

.hiroba {
    color: #4a4238;
}
.hiroba-lead {
    font-size: 14px;
    line-height: 1.85;
    color: #6b6156;
    margin: 0 0 24px;
}
.hiroba-back {
    margin: 0 0 18px;
    font-size: 13px;
    font-weight: 700;
}
.hiroba-back a {
    color: #b06000;
}
.hiroba-icon {
    display: block;
    flex-shrink: 0;
}
.hiroba-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.hiroba-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    color: #7d7364;
}

/* 見出し（共通のh2帯を打ち消す） */
.hiroba .hiroba-section {
    margin: 0 0 30px;
}
.hiroba .hiroba-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.hiroba .hiroba-section__title,
.hiroba .hiroba-comments-head .hiroba-section__title,
.hiroba .hiroba-form-section .hiroba-section__title {
    background: none;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    margin: 0;
    color: #4a4238;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
}
.hiroba .hiroba-section__sub {
    font-size: 12px;
    font-weight: 500;
    color: #7d7364;
}
.hiroba .hiroba-section__note {
    font-size: 11.5px;
    color: #7d7364;
    margin: 0;
}
.hiroba .hiroba-section__link {
    font-size: 12.5px;
    font-weight: 700;
    color: #b06000;
    white-space: nowrap;
}

/* ピル */
.hiroba-pill {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.hiroba-pill--official {
    background: #fff3e0;
    color: #b06000;
}
.hiroba-pill--new {
    background: #ff8800;
    color: #fff;
}
.hiroba-pill--soft {
    background: #fff3e0;
    color: #b06000;
}
.hiroba-pill--waiting {
    background: #edf7ea;
    color: #3f7a36;
}
.hiroba-pill--closed {
    background: #f1ebe2;
    color: #6b6156;
}
.hiroba-pill--age {
    background: #f7f2ea;
    color: #6b6156;
    height: 18px;
    font-size: 10px;
    padding: 0 7px;
}
.hiroba-pill--first {
    background: #edf7ea;
    color: #3f7a36;
    height: 18px;
    font-size: 10px;
    padding: 0 7px;
}

/* ボタン */
.hiroba .hiroba-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    border: 0;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
}
.hiroba .hiroba-btn--primary {
    background: #ff8800;
    color: #fff;
    box-shadow: 0 2px 8px rgba(255, 136, 0, .22);
}
.hiroba .hiroba-btn--primary:hover {
    background: #f07c00;
    color: #fff;
    opacity: 1;
}
.hiroba .hiroba-btn--outline {
    background: #fffdf8;
    color: #b06000;
    border: 1.5px solid #ffb35c;
}
.hiroba-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 38px;
    padding: 0 13px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5dccd;
    font-size: 12.5px;
    font-weight: 700;
    color: #5b5146;
    white-space: nowrap;
    cursor: pointer;
}

/* 年代別ルーム */
.hiroba-rooms__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.hiroba-rooms__item {
    margin: 0;
}
.hiroba-room {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 9px;
    height: 100%;
    padding: 20px 10px 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
    color: #4a4238;
    text-decoration: none;
}
.hiroba-room:hover {
    border-color: #ffb35c;
    box-shadow: 0 4px 14px rgba(255, 136, 0, .12);
    opacity: 1;
    text-decoration: none;
}
.hiroba-room__icon,
.hiroba-joined__icon,
.hiroba-topic-head__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}
.hiroba-room__icon {
    width: 56px;
    height: 56px;
}
.hiroba-room__icon img {
    width: 40px;
    height: 40px;
}
.hiroba-room__icon--sprout {
    background: #ffe3c2;
    color: #b35f00;
}
.hiroba-room__icon--leaf {
    background: #dcefd6;
    color: #3f7a36;
}
.hiroba-room__icon--flower {
    background: #dde9f6;
    color: #3d5f86;
}
.hiroba-room__icon--tree {
    background: #f8dfe7;
    color: #9c4460;
}
.hiroba-room__icon--mentalkun {
    background: #fff3e0;
}
.hiroba-room__name {
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
}
.hiroba-room__meta {
    display: flex;
    justify-content: center;
    gap: 12px;
    font-size: 11.5px;
    color: #7d7364;
}

/* 参加中のトピック */
.hiroba-joined__list {
    list-style: none;
    margin: 0;
    padding: 2px 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
}
.hiroba-joined__item {
    margin: 0;
    border-bottom: 1px solid #f2e9dc;
}
.hiroba-joined__item:last-child {
    border-bottom: 0;
}
.hiroba-joined__link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 8px 0;
    color: #4a4238;
    text-decoration: none;
}
.hiroba-joined__link:hover {
    opacity: 1;
    text-decoration: none;
}
.hiroba-joined__icon {
    width: 38px;
    height: 38px;
}
.hiroba-joined__avatar img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: block;
}
.hiroba-joined__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.hiroba-joined__title {
    font-size: 14.5px;
    font-weight: 700;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.hiroba-joined__sub {
    font-size: 11.5px;
    color: #7d7364;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* クイック絞り込み */
.hiroba-quick {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.hiroba-quick__item {
    margin: 0;
}
.hiroba-quick__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 52px;
    padding: 0 6px;
    background: #fff;
    border: 1px solid #eee6d9;
    border-radius: 12px;
    color: #5b5146;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.hiroba-quick__tile:hover {
    opacity: 1;
    text-decoration: none;
    border-color: #ffb35c;
}
.hiroba-quick__tile.is-active {
    border-color: #ffb35c;
    background: #fff7ec;
    color: #b06000;
}
.hiroba-quick__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}
.hiroba-quick__tile--active .hiroba-quick__icon {
    background: #fff3e0;
    color: #e07800;
}
.hiroba-quick__tile--waiting .hiroba-quick__icon {
    background: #edf7ea;
    color: #4f8a45;
}
.hiroba-quick__tile--new .hiroba-quick__icon {
    background: #fff8dc;
    color: #9a7000;
}
.hiroba-quick__tile--joined .hiroba-quick__icon {
    background: #fdeef2;
    color: #b4506b;
}

/* 件数・並び順・絞り込み */
.hiroba-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.hiroba-result__count {
    margin: 0;
    font-size: 13px;
    color: #6b6156;
    white-space: nowrap;
}
.hiroba-result__count strong {
    font-size: 20px;
    font-weight: 800;
    color: #4a4238;
    margin: 0 2px;
}
.hiroba-result__tools {
    display: flex;
    align-items: center;
    gap: 8px;
}
.hiroba-sort {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.hiroba .hiroba-sort select {
    appearance: none;
    -webkit-appearance: none;
    height: 38px;
    margin: 0;
    padding: 0 32px 0 14px;
    border-radius: 999px;
    border: 1px solid #e5dccd;
    background: #fff;
    color: #5b5146;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 38px;
}
.hiroba-sort .hiroba-icon {
    position: absolute;
    right: 11px;
    pointer-events: none;
    color: #8a7f6f;
}
.hiroba-filter {
    margin-bottom: 14px;
}
.hiroba-filter[hidden] {
    display: none;
}

/* トピック一覧 */
.hiroba-topic-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.hiroba-topic {
    margin: 0;
}
.hiroba-topic__link {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    padding: 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
    color: #4a4238;
    text-decoration: none;
}
.hiroba-topic__link:hover {
    border-color: #ffb35c;
    box-shadow: 0 4px 14px rgba(255, 136, 0, .12);
    opacity: 1;
    text-decoration: none;
}
.hiroba-topic__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.hiroba-topic__title {
    font-size: 15.5px;
    font-weight: 800;
    line-height: 1.5;
}
.hiroba-topic__desc {
    font-size: 12.5px;
    line-height: 1.75;
    color: #6b6156;
}
.hiroba-topic__latest {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #faf6ef;
    border-radius: 12px;
    padding: 8px 10px;
    font-size: 12px;
    color: #5b5146;
}
.hiroba-topic__latest .hiroba-icon {
    color: #b8ad9e;
}
.hiroba-topic__latest-text {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.hiroba-topic__empty {
    border: 1.5px dashed #ddd2c2;
    border-radius: 12px;
    padding: 8px 10px;
    font-size: 12px;
    color: #6b6156;
}
.hiroba-topic__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
    margin-top: auto;
    padding-top: 2px;
    font-size: 11.5px;
    color: #7d7364;
}
.hiroba-topic__avatar img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: block;
}
.hiroba-topic__author {
    gap: 5px;
}
.hiroba-empty {
    padding: 18px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    font-size: 13px;
    color: #6b6156;
}
.hiroba-pagination {
    margin-top: 18px;
}

/* トピックを作る */
.hiroba-create {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 30px 0 0;
    padding: 20px 24px;
    border: 1.5px dashed #ddd2c2;
    border-radius: 18px;
}
.hiroba-create__body {
    flex: 1;
}
.hiroba-create__title {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 800;
}
.hiroba-create__text {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.75;
    color: #6b6156;
}

/* トピック詳細 */
.hiroba-detail .article-header {
    margin-bottom: 8px;
}
.hiroba-topic-head {
    padding: 20px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
    margin-bottom: 14px;
}
.hiroba-topic-head__status {
    margin: 0 0 10px;
}
.hiroba-topic-head__top {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.hiroba-topic-head--room .hiroba-topic-head__top {
    flex-direction: row;
    align-items: center;
}
.hiroba-topic-head__icon {
    width: 56px;
    height: 56px;
}
.hiroba-topic-head__icon img {
    width: 40px;
    height: 40px;
}
.hiroba-topic-head__titles {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.hiroba .hiroba-topic-head__title {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    color: #4a4238;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.5;
}
.hiroba-topic-head__author {
    display: flex;
    align-items: center;
    gap: 12px;
}
.hiroba-topic-head__avatar {
    position: relative;
}
.hiroba-topic-head__avatar img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: block;
}
.hiroba-topic-head__who {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 13px;
}
.hiroba-topic-head__name {
    font-weight: 700;
}
.hiroba-topic-head__profile {
    font-size: 11.5px;
    color: #7d7364;
}
.hiroba-topic-head__body {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.9;
    color: #4a4238;
}
.hiroba-topic-head__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 14px 0 0;
    font-size: 12px;
    color: #7d7364;
}

/* 安全のお知らせ */
.hiroba-safety {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
    background: #f3f7f2;
    border: 1px solid #dfe9dc;
    border-radius: 14px;
}
.hiroba-safety__icon {
    color: #4f8a45;
    margin-top: 2px;
}
.hiroba-safety__text {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
    color: #48553f;
}

/* 投稿欄 */
.hiroba .hiroba-post {
    padding: 14px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
    margin-bottom: 20px;
}
.hiroba-post__row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.hiroba-post__avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
}
.hiroba-post__field {
    flex: 1;
    min-width: 0;
    display: block;
}
.hiroba .hiroba-post__textarea {
    display: block;
    width: 100%;
    min-height: 74px;
    margin: 0;
    padding: 10px 12px;
    background: #fffdf8;
    border: 1px solid #e8dfd2;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a4238;
    resize: vertical;
}
.hiroba-post__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}
.hiroba-post__count {
    font-size: 11.5px;
    color: #7d7364;
}
.hiroba-greetings {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.hiroba .hiroba-greetings__btn {
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #fffaf2;
    border: 1px solid #efdcc0;
    color: #8a5a1f;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
}
.hiroba .hiroba-greetings__btn:hover {
    background: #fff3e0;
}
.hiroba-login-note {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.8;
    color: #5b5146;
}
.hiroba-login-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

/* コメント一覧 */
.hiroba-comments-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 24px 0 12px;
}
.hiroba-comments-head .hiroba-section__link {
    margin-left: auto;
}
.hiroba .hiroba-comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.hiroba .hiroba-comment-list > li {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}
.hiroba-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11.5px;
    font-weight: 700;
    color: #8a7f6f;
}
.hiroba-divider::before,
.hiroba-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e2d7c7;
}
.hiroba-comment {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
}
.hiroba .reply-to-list .hiroba-comment {
    background: #faf6ef;
    border-color: #efe5d6;
    box-shadow: none;
}
.hiroba-comment__head {
    display: flex;
    align-items: center;
    gap: 10px;
}
.hiroba-comment__avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
}
.hiroba-comment__who {
    flex: 1;
    min-width: 0;
}
.hiroba-comment__name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    font-size: 13.5px;
    font-weight: 800;
}
.hiroba-comment__name a {
    color: #4a4238;
}
.hiroba-comment__time {
    font-size: 11px;
    color: #8a7f6f;
}
.hiroba-comment__body {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.85;
}
.hiroba-comment__body p {
    margin: 0 0 8px;
}
.hiroba-comment__body p:last-child {
    margin-bottom: 0;
}
.hiroba-comment__body.is-secret {
    background: #faf6ef;
    border-radius: 12px;
    padding: 10px 12px;
}
.hiroba-comment__secret {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    margin-bottom: 6px;
    border-radius: 999px;
    background: #f1ebe2;
    color: #6b6156;
    font-size: 10.5px;
    font-weight: 700;
}
.hiroba-comment__locked {
    margin: 0;
    font-size: 12.5px;
    color: #8a7f6f;
}
.hiroba-comment__foot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.hiroba-comment__reply {
    margin-left: auto;
}

/* 「…」メニュー */
.hiroba-menu {
    position: relative;
    margin-left: auto;
}
.hiroba-menu__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #9a8f80;
    cursor: pointer;
    list-style: none;
}
.hiroba-menu__toggle::-webkit-details-marker {
    display: none;
}
.hiroba-menu__toggle:hover {
    background: #faf6ef;
}
.hiroba-menu__body {
    position: absolute;
    top: 38px;
    right: 0;
    min-width: 150px;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid #ede3d4;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(120, 90, 40, .14);
}
.hiroba-menu__body .edit-tool {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 0;
    padding: 0;
}
.hiroba-menu__body .edit-tool a,
.hiroba-menu__body .edit-tool button {
    font-size: 12.5px;
    white-space: nowrap;
}

/* リアクション */
.hiroba-rx {
    min-width: 0;
}
.hiroba-rx__chips {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
}
.hiroba-rx__chips > li {
    margin: 0;
    padding: 0;
}
.hiroba-rx__item[hidden] {
    display: none;
}
.hiroba .hiroba-rx__chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid #efe4d4;
    background: #fffaf2;
    color: #7a5a2f;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
}
.hiroba .hiroba-rx__chip.is-on {
    background: #fff3e0;
    border-color: #ffb35c;
    color: #b06000;
}
.hiroba-rx__add {
    position: relative;
}
.hiroba .hiroba-rx__open {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #e8dfd2;
    background: #fff;
    color: #8a7f6f;
    padding: 0;
    cursor: pointer;
}
.hiroba .hiroba-rx__open[aria-expanded="true"] {
    border-color: #ffb35c;
    color: #b06000;
}
.hiroba-rx__panel {
    position: absolute;
    bottom: 40px;
    left: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 250px;
    padding: 10px;
    background: #fff;
    border: 1px solid #ede3d4;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(120, 90, 40, .14);
}
.hiroba-rx__panel[hidden] {
    display: none;
}
.hiroba .hiroba-rx__option {
    height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid #efe4d4;
    background: #fffaf2;
    color: #7a5a2f;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
}
.hiroba .hiroba-rx__option.is-on {
    background: #fff3e0;
    border-color: #ffb35c;
    color: #b06000;
}

/* 返信 */
.hiroba .btn-comment-child-display {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 8px 0 0 12px;
    padding: 0 12px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid #e8dfd2;
    background: #fff;
    color: #6b6156;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.hiroba .reply-to-list {
    list-style: none;
    margin: 10px 0 0 12px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.hiroba .reply-to-list.is-hidden {
    display: none;
}
.hiroba .toggle-reply-to-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid #e8dfd2;
    background: #fff;
    color: #6b6156;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.hiroba .toggle-reply-to-item {
    display: none;
    margin-top: 10px;
}

/* 投稿フォーム（通常形式） */
.hiroba-form-section {
    margin-top: 26px;
}
.hiroba .hiroba-comment-form {
    margin-top: 12px;
    padding: 16px;
    background: #fff;
    border: 1px solid #f2e9dc;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(180, 140, 80, .06);
}

@media screen and (max-width: 600px) {

.hiroba-lead {
    font-size: 13px;
}
.hiroba .hiroba-section__title {
    font-size: 17px;
}
.hiroba-rooms__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.hiroba-room {
    padding: 16px 8px 14px;
}
.hiroba-room__icon {
    width: 50px;
    height: 50px;
}
.hiroba-room__name {
    font-size: 14px;
}
.hiroba-room__meta {
    gap: 10px;
    font-size: 11px;
}
.hiroba-quick {
    gap: 6px;
}
.hiroba-quick__tile {
    flex-direction: column;
    gap: 5px;
    height: auto;
    padding: 9px 2px 8px;
    font-size: 11px;
}
.hiroba-quick__icon {
    width: 30px;
    height: 30px;
}
.hiroba-topic-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
.hiroba-topic__link {
    padding: 14px;
}
.hiroba-create {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    text-align: center;
    padding: 18px 16px;
}
.hiroba .hiroba-btn {
    width: 100%;
}
.hiroba-topic-head {
    padding: 16px;
}
.hiroba .hiroba-topic-head__title {
    font-size: 20px;
}
.hiroba-comment {
    padding: 12px 14px;
}
.hiroba-rx__panel {
    width: 220px;
}
.hiroba-login-actions {
    flex-direction: column;
}

}
