/* ========================================
   user-n100k-dic.css
   ユーザー閲覧画面スタイル（n100ku- 接頭辞）
======================================== */

.n100ku-container {
    max-width: 1200px;
    margin: 0 auto;
    font-family: sans-serif;
    color: #333;
    background: #f0e8dc;
    border-radius: 20px;
    padding: 16px;
    box-sizing: border-box;
}

/* ══════════════════════════════════════
   上段レイアウト：検索行＋薄茶色フィルターパネル（全幅）
══════════════════════════════════════ */
.n100ku-top-row {
    margin-bottom: 20px;
}

/* ── ヒーロー画像（ご案内＋検索バーをオーバーレイ） ── */
.n100ku-hero {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
}
.n100ku-hero-img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}
.n100ku-hero-toolbar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
}

/* ── ご案内ボタン ── */
.n100ku-info-btn {
    flex-shrink: 0;
    padding: 6px 18px;
    font-size: 0.95em;
    font-weight: bold;
    border: 1.5px solid #d0d0d0;
    border-radius: 28px;
    background: #fff;
    color: #555;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0,0,0,0.07);
    transition: background 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.n100ku-info-btn:hover { background: #f5f5f5; border-color: #bbb; }
.n100ku-info-btn:active { background: #ececec; }

/* ── 検索バー ── */
.n100ku-search-box {
    display: block;
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    padding: 6px 48px 6px 18px;
    font-size: 1.05em;
    border: 1.5px solid #d0d0d0;
    border-radius: 28px;
    box-sizing: border-box;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") calc(100% - 16px) center / 18px no-repeat;
    box-shadow: 0 1px 5px rgba(0,0,0,0.07);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    color: #333;
}
.n100ku-search-box::placeholder { color: #bbb; }
.n100ku-search-box:focus {
    border-color: #90bce8;
    box-shadow: 0 1px 8px rgba(74,144,226,0.18);
}

/* ── 薄茶色フィルターパネル ── */
.n100ku-filter-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #f0e8dc;
    padding: 12px 16px 16px;
}

/* 各列：縦線なし */
.n100ku-filter-col {
    min-width: 0;
}

/* 列タイトル */
.n100ku-filter-col-title {
    font-size: 0.85em;
    font-weight: bold;
    color: #5c4a2a;
    margin-bottom: 6px;
}

/* タイトル下の横線（端から端まで・縦線なし） */
.n100ku-filter-col-line {
    border: none;
    border-top: 1.5px solid #d9c9b5;
    margin: 0 0 10px 0;
}

/* ── 現在選択中のフィルター表示（検索バーの入力を忘れて件数が少ないと誤解しないための表示） ── */
.n100ku-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 10px 4px;
    font-size: 0.86em;
}
.n100ku-active-filter-label {
    color: #999;
    font-weight: bold;
    margin-right: 2px;
}
.n100ku-active-filter-chip {
    display: inline-block;
    background: #fdf6ea;
    border: 1px solid #e6d9c2;
    color: #5c4a2a;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 999px;
}

/* ── ご案内ポップ ── */
.n100ku-info-overlay-bg {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 10001;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}
.n100ku-info-overlay-bg.n100ku-show { display: flex; }
.n100ku-info-overlay-inner {
    position: relative;
    background: #fff;
    border-radius: 10px;
    width: 100%;
    max-width: 420px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 22px 24px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.25);
    box-sizing: border-box;
}
.n100ku-info-overlay-close {
    position: absolute;
    top: 10px; right: 12px;
    background: none;
    border: none;
    font-size: 1.15em;
    color: #888;
    cursor: pointer;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}
.n100ku-info-overlay-close:hover { background: #f0f0f0; color: #333; }
.n100ku-info-overlay-title {
    font-size: 1.1em;
    font-weight: bold;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}

/* ── 店舗フィルター（表題＋ボタンを一行で表示） ── */
.n100ku-store-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.n100ku-store-row .n100ku-filter-col-title {
    margin-bottom: 0;
    white-space: nowrap;
}
.n100ku-store-filter-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* ── カテゴリーフィルター（5列グリッド・均一サイズ・大分類タイル） ── */
.n100ku-category-filter-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(96px, calc((100% - 32px) / 5)), 1fr));
    gap: 8px;
}

/* ── フィルターボタン共通 ── */
.n100ku-store-btn,
.n100ku-category-btn {
    font-size: 0.85em;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    user-select: none;
    font-weight: normal;
    text-align: center;
}

/* 店舗ボタン：ピル型 */
.n100ku-store-btn {
    padding: 6px 10px;
    border-radius: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* カテゴリーボタン：絵文字＋ラベルのタイル型（大分類） */
.n100ku-category-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 10px 4px 9px;
    border-radius: 14px;
    box-shadow: 0 2px 5px rgba(80, 60, 30, 0.06);
    min-width: 0;
}
.n100ku-category-btn .n100ku-category-icon {
    font-size: 1.35em;
    line-height: 1;
}
.n100ku-category-btn .n100ku-category-label {
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.n100ku-store-btn:hover,
.n100ku-category-btn:hover  { background: #f5f5f5; }
.n100ku-store-btn.n100ku-filter-active    { background: #5c4a2a; color: #fff; border-color: #5c4a2a; }
.n100ku-category-btn.n100ku-filter-active { background: #6c5ce7; color: #fff; border-color: #6c5ce7; }

/* ── カテゴリー詳細アコーディオン（大分類説明＋小分類タブ） ── */
.n100ku-category-detail {
    margin-top: 12px;
    background: #fff;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 2px 6px rgba(80, 60, 30, 0.08);
    box-sizing: border-box;
}
.n100ku-category-detail[hidden] { display: none; }
.n100ku-category-desc {
    font-size: 0.85em;
    color: #5c4a2a;
    line-height: 1.6;
    margin: 0 0 10px 0;
}
.n100ku-category-tabbar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}
.n100ku-category-tab {
    font-size: 0.85em;
    font-weight: bold;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    padding: 6px 14px;
    border-radius: 20px;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.n100ku-category-tab:hover { background: #f5f5f5; }
.n100ku-category-tab-active { color: #fff; }

/* カード一覧の一番下に複製表示する小分類タブバー（説明文なし・切替の手間削減用） */
.n100ku-category-tabbar-bottom {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed #ddd;
}

/* ── テキスト案内エリア ── */
.n100ku-info-area {
    font-size: 0.85em;
    color: #444;
    line-height: 1.7;
    white-space: pre-line;
}

.n100ku-result-grid { margin-top: 8px; }
.n100ku-no-result { color: #999; padding: 20px; text-align: center; }

/* ══════════════════════════════════════
   掲示板（件数＋新着アイテム）
══════════════════════════════════════ */
.n100ku-board {
    background: #fff;
    border: 1px solid #e6dcc8;
    border-radius: 14px;
    padding: 18px 20px 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.n100ku-board-count {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px dashed #ddd;
}
.n100ku-board-pin { font-size: 1.05em; }
.n100ku-board-num {
    font-size: 1.6em;
    font-weight: 800;
    color: #5c4a2a;
    font-variant-numeric: tabular-nums;
}
.n100ku-board-label { font-size: 0.85em; color: #666; }

.n100ku-board-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.95em;
    font-weight: bold;
    color: #333;
    margin-bottom: 12px;
}

.n100ku-new-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.n100ku-new-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.15s;
    position: relative;
}
.n100ku-new-item:hover { background: #faf7f2; }

.n100ku-new-thumb {
    width: 150px; height: 150px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f2f2f2;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4em;
}
.n100ku-new-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 右側：日付 → 大分類名 → 小分類名 → 用語名 の縦並び */
.n100ku-new-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.n100ku-new-date { font-size: 0.75em; color: #999; }
.n100ku-new-cat1 { font-size: 0.8em; font-weight: bold; color: #5c4a2a; }
.n100ku-new-badge {
    align-self: flex-start;
    font-size: 0.72em;
    font-weight: bold;
    color: #fff;
    padding: 1px 7px;
    border-radius: 4px;
}
.n100ku-new-name {
    font-size: 0.98em;
    font-weight: bold;
    color: #232323;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.n100ku-new-new-tag {
    position: absolute;
    top: 8px;
    right: 8px;
    flex-shrink: 0;
    font-size: 0.68em;
    font-weight: bold;
    color: #fff;
    background: #e2604f;
    padding: 2px 7px;
    border-radius: 999px;
}

/* PC表示：2列×2行のグリッド（4件表示。右側の空白を解消） */
@media (min-width: 769px) {
    .n100ku-new-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 18px;
    }
}


/* ══════════════════════════════════════
   商品カード
══════════════════════════════════════ */
.n100ku-term-item { padding: 18px; border: 1px solid #eee; border-radius: 6px; background: #fff; margin-bottom: 16px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; }
.n100ku-card-left  { flex: 2; min-width: 0; }
.n100ku-card-right { flex: 1; max-width: 300px; width: 100%; padding: 12px; box-sizing: border-box; }
.n100ku-term-item.n100ku-no-right .n100ku-card-left  { flex: 1; }
.n100ku-term-item.n100ku-no-right .n100ku-card-right { display: none !important; }
.n100ku-term-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.n100ku-term-cat-badge { color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.78em; font-weight: bold; }
.n100ku-title-wrap { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.n100ku-term-title { font-size: 1.25em; font-weight: bold; margin: 0; color: #232323; line-height: 1.2; }
.n100ku-term-yomi  { font-size: 0.85em; color: #666; }
.n100ku-card-info-table { width: 100%; border-collapse: collapse; margin: 8px 0 12px; font-size: 0.9em; }
.n100ku-card-info-table th, .n100ku-card-info-table td { border: 1px solid #e0e0e0; padding: 6px 10px; text-align: left; vertical-align: middle; }
.n100ku-card-info-table th { background: #f5f5f5; color: #333; font-weight: bold; white-space: nowrap; width: 1%; }
.n100ku-card-info-table td { color: #444; }
.n100ku-card-filter-link { cursor: pointer; color: #2c5f8a; text-decoration: underline dotted; transition: color 0.15s; }
.n100ku-card-filter-link:hover { color: #1a3d5e; }
.n100ku-term-note { padding: 10px 14px; background: #fff5f5; border-radius: 4px; color: #c0392b; font-size: 0.9em; line-height: 1.5; margin-top: 6px; }
.n100ku-card-divider-note     { border: 0; border-top: 1px solid #eee; margin: 8px 0 6px; }
.n100ku-card-divider-articles { border: 0; border-top: 1px solid #ddd; margin: 12px 0 8px; }
.n100ku-term-rel  { font-size: 0.9em; color: #555; }
.n100ku-rel-label { font-size: 0.88em; font-weight: bold; color: #555; margin: 0 0 6px 0; }
.n100ku-rel-tag { display: inline-block; background: #f0f0f0; border: 1px solid #ddd; border-radius: 4px; padding: 2px 8px; margin-right: 5px; margin-bottom: 5px; font-size: 0.85em; color: #4a90e2; font-weight: bold; cursor: pointer; transition: background-color 0.1s ease; user-select: none; }
.n100ku-rel-tag:hover { background-color: #e5e9ec; color: #2475d2; }
.n100ku-articles-title { font-size: 0.95em; font-weight: bold; color: #2c3e50; margin: 0 0 8px 0; display: flex; align-items: center; gap: 5px; border-bottom: 1px solid #eee; padding-bottom: 4px; }
.n100ku-articles-list { margin: 0; padding-left: 18px; }
.n100ku-articles-list li { margin-bottom: 6px; font-size: 0.88em; line-height: 1.4; color: #333; }
.n100ku-articles-link { color: #4a90e2; text-decoration: none; font-weight: 500; word-break: break-all; }
.n100ku-articles-link:hover { text-decoration: underline; }
.n100ku-card-image-wrapper { width: 100%; margin-bottom: 12px; border-radius: 4px; overflow: hidden; border: 1px solid #eee; display: flex; justify-content: center; align-items: center; }
.n100ku-card-image { max-width: 300px; max-height: 300px; width: auto; height: auto; object-fit: contain; background: #f8f8f8; display: block; }

/* ── 画像オーバーレイ ── */
.n100ku-img-overlay-bg { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.82); z-index: 10000; justify-content: center; align-items: center; }
.n100ku-img-overlay-bg.n100ku-show { display: flex; }
.n100ku-img-overlay-inner { position: relative; max-width: 90vw; max-height: 90vh; display: flex; flex-direction: column; align-items: center; }
.n100ku-img-overlay-close { position: absolute; top: -14px; right: -14px; background: #fff; color: #333; border: none; border-radius: 50%; width: 32px; height: 32px; font-size: 1em; cursor: pointer; font-weight: bold; line-height: 1; z-index: 1; }
.n100ku-img-overlay-close:hover { background: #eee; }
.n100ku-img-overlay-img { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: 4px; background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,0.5); }
.n100ku-img-overlay-caption { color: #eee; font-size: 0.95em; margin-top: 12px; text-align: center; }

/* ── レスポンシブ ── */
@media (max-width: 768px) {
    .n100ku-term-item  { flex-direction: column; gap: 12px; }
    .n100ku-card-right { max-width: 100%; }
}
@media (max-width: 600px) {
    .n100ku-hero-img { height: 160px; }
    .n100ku-hero-toolbar { bottom: 10px; padding: 0 12px; gap: 6px; }
    .n100ku-info-btn { padding: 6px 12px; font-size: 0.88em; }
    .n100ku-category-filter-wrap { grid-template-columns: repeat(auto-fill, minmax(max(78px, calc((100% - 32px) / 5)), 1fr)); }
}\n\n

/* ===== 2026-09 横幅オーバーフロー防止（既存レイアウト維持） ===== */
.n100ku-container,
.n100ku-container * {
    box-sizing: border-box;
}
.n100ku-container {
    width: 100%;
    max-width: 1200px;
    overflow-x: clip;
}
.n100ku-top-row,
.n100ku-filter-panel,
.n100ku-main-wrap,
.n100ku-new-list,
.n100ku-new-item,
.n100ku-new-body,
.n100ku-card-main,
.n100ku-card-left,
.n100ku-card-right {
    min-width: 0;
}
@media (min-width: 769px) {
    .n100ku-new-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.n100ku-new-thumb {
    max-width: 100%;
}

/* 関連記事をカード最下部へ置くための内部ラッパー。従来の左右配置は維持する。 */
.n100ku-term-item {
    display: block;
    width: 100%;
    max-width: 100%;
}
.n100ku-card-main {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}
.n100ku-card-main .n100ku-card-left {
    flex: 2;
    min-width: 0;
}
.n100ku-card-main .n100ku-card-right {
    flex: 1;
    max-width: 300px;
    width: 100%;
    padding: 12px;
}
.n100ku-card-image-wrapper {
    max-width: 100%;
}
.n100ku-card-image {
    max-width: 100%;
}
.n100ku-card-info-table {
    width: 100%;
}
.n100ku-card-info-table td,
.n100ku-articles-link {
    overflow-wrap: break-word;
    word-break: normal;
}
@media (max-width: 768px) {
    .n100ku-card-main {
        flex-direction: column;
        gap: 12px;
    }
    .n100ku-card-main .n100ku-card-right {
        max-width: 100%;
    }
}

/* ===== 2026-09-07 カード配置修正：狭幅でも既存の左右構成を維持 ===== */
@media (max-width: 768px) {
    .n100ku-term-item {
        display: block;
        width: 100%;
        max-width: 100%;
    }
    .n100ku-card-main {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
        min-width: 0;
    }
    .n100ku-card-main .n100ku-card-left {
        flex: 1 1 62%;
        min-width: 0;
    }
    .n100ku-card-main .n100ku-card-right {
        flex: 0 1 38%;
        width: auto;
        max-width: 220px;
        min-width: 0;
        padding: 0;
    }
    .n100ku-card-image-wrapper,
    .n100ku-card-image {
        max-width: 100%;
    }
    .n100ku-card-info-table {
        width: 100%;
        table-layout: auto;
    }
    .n100ku-card-info-table th,
    .n100ku-card-info-table td {
        overflow-wrap: break-word;
        word-break: normal;
    }
}


/* 共通アカウント／共通マイページ導線 */
.n100ku-account-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 8px 10px;
    background: #fff;
    border-radius: 12px;
    box-sizing: border-box;
}
.n100ku-account-user {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.n100ku-account-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 34px;
}
.n100ku-account-user strong,
.n100ku-account-guide {
    overflow: hidden;
    text-overflow: ellipsis;
}
.n100ku-account-guide { color: #666; font-size: .9em; }
.n100ku-mypage-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 14px;
    border: 1px solid #d9c9b5;
    border-radius: 999px;
    background: #fdf6ea;
    color: #5c4a2a;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.n100ku-mypage-link:hover { background: #f7ead6; color: #4c3b20; }
@media (max-width: 520px) {
    .n100ku-account-bar { align-items: stretch; flex-direction: column; }
    .n100ku-mypage-link { width: 100%; box-sizing: border-box; }
}

.n100ku-account-entry { margin: 0 0 14px; padding: 12px; background: #fff; border-radius: 12px; box-sizing: border-box; }
.n100ku-account-message { margin: 0 0 10px; padding: 8px 10px; background: #fdf6ea; border: 1px solid #e6d9c2; border-radius: 8px; }
.n100ku-account-forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.n100ku-account-form { min-width: 0; padding: 10px; border: 1px solid #e5ddd2; border-radius: 10px; }
.n100ku-account-form h3 { margin: 0 0 3px; font-size: 1em; }
.n100ku-account-form p { margin: 0 0 8px; color: #777; font-size: .84em; }
.n100ku-account-form input[type="email"] { width: 100%; min-width: 0; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d5d5d5; border-radius: 7px; }
.n100ku-account-form button { width: 100%; margin-top: 7px; padding: 8px 10px; border: 0; border-radius: 7px; background: #5c4a2a; color: #fff; font-weight: 700; cursor: pointer; }
@media (max-width: 620px) { .n100ku-account-forms { grid-template-columns: 1fr; } }


/* 共通マイページ：100均ユーザー投稿・管理 */
.n100ku-user-post-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.n100ku-user-post-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.n100ku-user-post-form input,.n100ku-user-post-form select,.n100ku-user-post-form textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d6d6d6;border-radius:6px;font:inherit;background:#fff}.n100ku-user-wide,.n100ku-user-submit{grid-column:1/-1}.n100ku-user-edit-image{width:100px;height:100px;object-fit:cover;border-radius:8px;margin-top:6px}.n100ku-my-items{display:grid;gap:10px}.n100ku-my-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.n100ku-my-item>img{width:72px;height:72px;object-fit:cover;border-radius:8px}.n100ku-my-item>div:first-of-type{display:flex;flex-direction:column;gap:5px;min-width:0}.n100ku-my-item small{color:#777}.n100ku-my-actions{display:flex;align-items:center;gap:8px}.n100ku-my-actions form{margin:0}.n100ku-my-actions button{border:0;background:none;text-decoration:underline;cursor:pointer;padding:0}.n100ku-mypage-msg{font-weight:700}@media(max-width:700px){.n100ku-user-post-form{grid-template-columns:1fr}.n100ku-user-wide,.n100ku-user-submit{grid-column:auto}.n100ku-my-item{grid-template-columns:56px minmax(0,1fr)}.n100ku-my-item>img{width:56px;height:56px}.n100ku-my-actions{grid-column:2}}

/* 2.4: 100均専用マイページ */
.n100ku-mypage-shell{width:100%;max-width:1100px;margin:0 auto;box-sizing:border-box;color:#333}
.n100ku-mypage-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:11px 16px;border:1px solid #e2d8cb;border-radius:12px;background:#f0e8dc;box-sizing:border-box}
.n100ku-mypage-header>div{display:flex;align-items:baseline;gap:10px;min-width:0}.n100ku-mypage-header strong{font-size:1.2rem;color:#4f402d}.n100ku-mypage-header span{font-size:.85rem;color:#806f59}.n100ku-mypage-header a{flex:0 0 auto;color:#5c4a2a;font-weight:700;text-decoration:none}
.n100ku-mypage-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.n100ku-mypage-title h2{margin:0}.n100ku-mypage-title a{color:#66594b;text-decoration:none;font-weight:700}
.n100ku-dashboard-grid{align-items:start}.n100ku-account-card{display:grid;gap:9px}.n100ku-common-profile{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.n100ku-profile-avatar,.n100ku-avatar-fallback{width:88px;height:88px;border-radius:50%;object-fit:cover}.n100ku-avatar-fallback{display:flex;align-items:center;justify-content:center;background:#eee6db;font-size:34px}.n100ku-common-profile strong{overflow-wrap:anywhere}.n100ku-point-box{width:100%;padding:8px 10px;border:1px solid #e2d8cb;border-radius:8px;background:#fdf9f3;text-align:center;box-sizing:border-box}.n100ku-account-card .hmc-btn{width:100%;box-sizing:border-box;text-align:center;justify-content:center}
.n100ku-item-noimage{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eee;color:#888;font-size:.75rem;text-align:center}.n100ku-public-head{display:flex;align-items:center;gap:18px}.n100ku-public-head img{width:100px;height:100px;border-radius:50%;object-fit:cover}.n100ku-public-head h2{margin:0 0 8px}.n100ku-public-head p{margin:0;white-space:normal}.n100ku-mymain textarea{width:100%;box-sizing:border-box}
@media(max-width:700px){.n100ku-mypage-header,.n100ku-mypage-title{align-items:flex-start}.n100ku-mypage-header>div{flex-direction:column;gap:2px}.n100ku-public-head{align-items:flex-start}.n100ku-item-noimage{width:56px;height:56px}.n100ku-mypage-title h2{font-size:1.35rem}}

/* ===== 100均商品辞典 共通ヘッダー（ハンドメイド帖の構成を踏襲） ===== */
.n100ku-site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:12px 14px 10px;border-bottom:1px solid #e5ded4;background:#f3eadf;box-sizing:border-box}
.n100ku-site-brand{display:flex;flex-direction:column;min-width:0;line-height:1.15}.n100ku-site-brand strong{font-size:1.35rem;color:#1f1b16}.n100ku-site-brand span{margin-top:3px;font-size:.78rem;color:#8a6d4a}
.n100ku-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-wrap:wrap}.n100ku-site-nav-link{appearance:none;border:0;background:transparent;padding:3px 0;color:#2e2923;text-decoration:none;font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap}.n100ku-site-nav-link:hover{text-decoration:underline}.n100ku-site-home{display:inline-flex;align-items:center;gap:4px}.n100ku-site-mypage{display:inline-flex;align-items:center;justify-content:center;padding:7px 17px;border:1px solid #d8c9b7;border-radius:999px;background:#fffaf4;color:#2e2923;font-weight:700;text-decoration:none;white-space:nowrap}.n100ku-site-mypage:hover{background:#fff}
.n100ku-mypage-shell{margin-top:14px}.n100ku-mypage-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.n100ku-mypage-title h2{margin:0}.n100ku-dashboard-grid{margin-top:12px}
@media(max-width:700px){.n100ku-site-header{align-items:flex-start;flex-direction:column}.n100ku-site-nav{width:100%;justify-content:flex-start;gap:10px}.n100ku-site-mypage{margin-left:auto}.n100ku-site-brand strong{font-size:1.2rem}}

/* ===== 2.6 共通UI整合：ハンドメイド帖の完成レイアウトを100均へ適用 ===== */
.n100ku-container{background:#fff!important;border-radius:0!important;padding:8px!important;max-width:1200px}
.n100ku-sticky-header{position:sticky;top:0;z-index:60;background:rgba(255,253,250,.96);backdrop-filter:blur(8px)}
.n100ku-site-header{display:grid!important;grid-template-columns:minmax(145px,auto) minmax(0,1fr);align-items:center!important;gap:8px!important;width:100%;min-height:44px;padding:3px 8px!important;margin:0!important;border:1px solid #eee6df!important;border-radius:8px 8px 0 0!important;background:rgba(255,253,250,.96)!important;box-sizing:border-box}
.n100ku-site-brand{min-width:0;line-height:1.1}
.n100ku-site-brand a{display:block;color:#2f2a26;text-decoration:none;white-space:nowrap}
.n100ku-site-brand strong{display:block;font-size:1rem!important;line-height:1.1;margin:0 0 1px!important;white-space:nowrap}
.n100ku-site-brand span{display:block;font-size:.72em!important;line-height:1.1;color:#665c55;white-space:nowrap}
.n100ku-site-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;flex-wrap:nowrap!important;min-width:0;white-space:nowrap}
.n100ku-site-nav-link{flex:0 0 auto;border:0!important;background:transparent!important;padding:3px 5px!important;color:#2f2a26!important;font-size:.78rem!important;line-height:1.1!important;text-decoration:none!important;white-space:nowrap;cursor:pointer}
.n100ku-site-home{display:inline-flex!important;align-items:center!important;gap:3px!important}
.n100ku-site-home svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.n100ku-site-mypage{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto;min-height:28px!important;padding:3px 9px!important;border:1px solid #ddd3ca!important;border-radius:999px!important;background:#fff!important;color:#2f2a26!important;font-size:.78rem!important;font-weight:700;text-decoration:none!important;white-space:nowrap;box-sizing:border-box}
.n100ku-site-mypage:hover{background:#fff!important}

/* ヒーロー内は検索だけ。端から端まで使用 */
.n100ku-hero-toolbar{left:0!important;right:0!important;display:block!important;padding:0 18px!important}
.n100ku-hero-toolbar .n100ku-search-box{width:100%!important;max-width:none!important}

/* 初めての方へ：ハンドメイド帖と同じ「案内モーダル」の情報構造 */
.n100ku-info-overlay-bg{z-index:10020!important}
.n100ku-guide-box{max-width:860px!important;padding:24px!important}
.n100ku-guide-title{border-bottom:1px solid #e8e0d8;padding-bottom:12px;margin-bottom:14px}
.n100ku-guide-title h3{margin:0 0 4px;font-size:1.35rem}.n100ku-guide-title p{margin:0;color:#756c65}
.n100ku-guide-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.n100ku-guide-sections>section{border:1px solid #e6ddd5;border-radius:12px;background:#fff;padding:15px;box-sizing:border-box}
.n100ku-guide-sections h4{margin:0 0 8px;font-size:1rem}.n100ku-guide-sections p{margin:0;line-height:1.7;color:#514a45;font-size:.9rem}
.n100ku-guide-usage{grid-column:1/-1}.n100ku-guide-sub{padding:10px 0;border-top:1px solid #eee7e1}.n100ku-guide-sub:first-of-type{border-top:0;padding-top:0}.n100ku-guide-sub h5{margin:0 0 4px;font-size:.92rem}
.n100ku-guide-close-note{text-align:center;color:#857b73;font-size:.82rem;margin-top:14px}

/* 100均専用マイページ：ハンドメイド帖の左右2カラムを踏襲 */
.n100ku-mypage-shell{width:100%;max-width:1120px;margin:14px auto 0!important;box-sizing:border-box;color:#2f2a26;background:#fff}
.n100ku-mypage-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px!important}.n100ku-mypage-title h2{margin:0;font-size:1.35rem}.n100ku-mypage-title a{text-decoration:none;color:#4f76b9!important;font-weight:400!important;font-size:.9rem}
.n100ku-dashboard-grid{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;margin-top:0!important}
.n100ku-dashboard-grid .hmc-myside,.n100ku-dashboard-grid .hmc-mymain{min-width:0}
.n100ku-dashboard-grid .hmc-panel,.n100ku-mypage-post-form{background:#fff;border:1px solid #e6ddd5;border-radius:14px;padding:14px;margin-bottom:12px;box-sizing:border-box}
.n100ku-dashboard-grid .hmc-panel h3{margin:0 0 12px;font-size:1.08rem}
.n100ku-account-card{text-align:center!important;display:grid!important;gap:8px!important}
.n100ku-common-profile{display:flex!important;flex-direction:column;align-items:center;gap:7px;text-align:center}.n100ku-profile-avatar,.n100ku-avatar-fallback{width:88px!important;height:88px!important;border-radius:50%;object-fit:cover}.n100ku-avatar-fallback{display:flex;align-items:center;justify-content:center;background:#ededed;font-size:34px}
.n100ku-point-box{border:0!important;background:transparent!important;padding:4px!important;color:#7b5d9d;text-align:center}
.n100ku-account-card .hmc-btn,.n100ku-dashboard-grid .hmc-btn,.n100ku-mypage-post-form .hmc-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#3f3832;color:#fff!important;text-decoration:none;padding:8px 12px;cursor:pointer;box-sizing:border-box}
.n100ku-account-card .hmc-btn{width:100%}.n100ku-account-card .hmc-btn-sub{background:#eee9e4!important;color:#2f2a26!important}
.n100ku-dashboard-grid .hmc-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.n100ku-dashboard-grid .hmc-section-head h3{margin:0}
.n100ku-dashboard-grid textarea{width:100%;min-height:96px;padding:10px 11px;border:1px solid #cfc6bf;border-radius:8px;background:#fff;box-sizing:border-box;font:inherit}
.n100ku-dashboard-grid .hmc-achievements{display:flex;flex-wrap:wrap;gap:8px}.n100ku-dashboard-grid .hmc-achievements span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #eee6df;border-radius:8px;background:#faf8f6}
.n100ku-dashboard-grid .hmc-muted{font-size:.9em;color:#756c65}
.n100ku-my-items{display:grid;gap:10px}.n100ku-my-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.n100ku-my-item>img,.n100ku-item-noimage{width:72px;height:72px;border-radius:8px;object-fit:cover}.n100ku-item-noimage{display:flex;align-items:center;justify-content:center;background:#f2efec;color:#8b827b;font-size:.75rem}.n100ku-my-item>div:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.n100ku-my-item small{color:#777}.n100ku-my-actions a{color:#4f76b9}

@media(max-width:700px){
 .n100ku-site-header{grid-template-columns:110px minmax(0,1fr)!important;gap:4px!important;padding:3px 5px!important}.n100ku-site-brand strong{font-size:.72rem!important}.n100ku-site-brand span{font-size:.49rem!important}.n100ku-site-nav{gap:3px!important}.n100ku-site-nav-link{font-size:7.8px!important;padding:2px 1px!important}.n100ku-site-mypage{font-size:7.8px!important;padding:3px 5px!important;min-height:23px!important}.n100ku-site-home svg{width:9px;height:9px}
 .n100ku-guide-sections{grid-template-columns:1fr}.n100ku-guide-usage{grid-column:auto}
 .n100ku-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}.n100ku-mypage-title{align-items:flex-start}.n100ku-hero-toolbar{padding:0 12px!important}
}

/* ===== 2.7 ハンドメイド帖ヘッダー機能・寸法を共通化 ===== */
.n100ku-container{width:100%!important;max-width:100%!important;margin:0!important;padding:24px 0 0!important;box-sizing:border-box!important;background:#fff!important;overflow:visible!important}
.n100ku-sticky-header{position:sticky!important;top:var(--n100ku-sticky-offset,0px)!important;z-index:90!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important;background:#fff!important;border:1px solid #e5ddd6!important;border-radius:10px!important;box-shadow:0 2px 7px rgba(60,45,35,.035)!important;overflow:visible!important;backdrop-filter:none!important}
.n100ku-site-header{display:grid!important;grid-template-columns:minmax(125px,auto) minmax(0,1fr)!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;padding:7px 10px!important;margin:0!important;background:#f8f1eb!important;border:0!important;border-bottom:1px solid #e8dfd8!important;border-radius:10px 10px 0 0!important;box-sizing:border-box!important}
.n100ku-site-brand{min-width:0!important;line-height:normal!important}.n100ku-site-brand a{color:#2f2a26!important;text-decoration:none!important}.n100ku-site-brand strong{display:block!important;margin:0 0 3px!important;font-size:1.35rem!important;line-height:1.25!important;white-space:nowrap!important}.n100ku-site-brand span{display:block!important;margin:0!important;color:#665c55!important;font-size:.88em!important;line-height:1.45!important;white-space:nowrap!important}
.n100ku-site-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:12px!important;width:auto!important;min-width:0!important;overflow:visible!important;white-space:nowrap!important}
.n100ku-site-nav-link{flex:0 1 auto!important;min-width:0!important;min-height:0!important;padding:2px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#4b4038!important;font-size:inherit!important;font-weight:400!important;line-height:normal!important;text-decoration:none!important;white-space:nowrap!important}.n100ku-site-home{display:inline-flex!important;align-items:center!important;gap:5px!important}.n100ku-site-home svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linejoin:round!important}
.n100ku-site-mypage{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:28px!important;padding:4px 12px!important;border:1px solid #d7c5b7!important;border-radius:999px!important;background:#f3e9df!important;color:#3e342d!important;font-size:inherit!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important}
.n100ku-top-filter-drawer{position:relative!important;top:auto!important;z-index:1!important;width:100%!important;min-width:0!important;margin:0!important;padding:0 10px 9px!important;background:#fff!important;border:0!important;border-radius:0 0 10px 10px!important;box-shadow:none!important;box-sizing:border-box!important}
.n100ku-top-filter-drawer>summary{display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;align-items:center!important;column-gap:18px!important;width:100%!important;min-width:0!important;padding:10px 2px!important;min-height:44px!important;background:#fff!important;color:#4b4038!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important;list-style:none!important;box-sizing:border-box!important}.n100ku-top-filter-drawer>summary::-webkit-details-marker{display:none}.n100ku-filter-summary-label{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}.n100ku-filter-summary-label:after{content:'▼';font-size:.78em;line-height:1}.n100ku-top-filter-drawer[open] .n100ku-filter-summary-label:after{content:'▲'}
.n100ku-header-search{position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;cursor:text!important}.n100ku-header-search svg{position:absolute!important;left:11px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:16px!important;fill:none!important;stroke:#746b65!important;stroke-width:1.8!important;pointer-events:none!important}.n100ku-header-search input{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:30px!important;padding:5px 12px 5px 34px!important;border:1px solid #d8cec6!important;border-radius:999px!important;background:#fff!important;color:#2f2a26!important;line-height:1.2!important;box-sizing:border-box!important}
.n100ku-top-filter-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;width:100%!important;min-width:0!important;padding:5px 0 10px!important;background:#fff!important;border-top:1px solid #eee6df!important;box-sizing:border-box!important}.n100ku-filter-menu{min-width:0!important;padding:0 10px!important}.n100ku-filter-menu+.n100ku-filter-menu{border-left:1px solid #eee6df!important}.n100ku-header-filter-title{padding:5px 2px 4px!important;margin:0 0 8px!important;border-bottom:1px solid #d8cec6!important;background:#fff!important;color:#4b4038!important;text-align:center!important;font-size:12px!important;font-weight:700!important}
.n100ku-top-filter-row .n100ku-store-filter-wrap{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}.n100ku-top-filter-row .n100ku-category-filter-wrap{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;gap:8px!important}.n100ku-top-filter-row .n100ku-category-detail{margin-top:8px!important}
/* 画像内に置いていた検索UIは廃止 */
.n100ku-hero-toolbar{display:none!important}.n100ku-top-row{margin-top:0!important}.n100ku-hero{margin-top:0!important}
@media(max-width:700px){.n100ku-container{width:100%!important;max-width:100%!important;margin:0!important}.n100ku-site-header{grid-template-columns:minmax(92px,.72fr) minmax(0,2.28fr)!important;gap:6px!important;padding:6px 7px!important}.n100ku-site-brand strong{font-size:.82rem!important}.n100ku-site-brand span{font-size:.56rem!important}.n100ku-site-nav{gap:6px!important}.n100ku-site-nav-link{font-size:9px!important;padding:1px 0!important}.n100ku-site-mypage{font-size:9px!important;padding:3px 7px!important;min-height:23px!important}.n100ku-site-home svg{width:12px!important;height:12px!important}.n100ku-top-filter-drawer{padding:0 7px 7px!important}.n100ku-top-filter-drawer>summary{column-gap:8px!important;padding:9px 1px!important;min-height:0!important;font-size:10px!important}.n100ku-filter-summary-label{gap:3px!important}.n100ku-header-search input{height:28px!important;font-size:10px!important;padding:4px 8px 4px 27px!important}.n100ku-header-search svg{left:8px!important;width:13px!important;height:13px!important}.n100ku-top-filter-row{grid-template-columns:1fr 1fr!important}.n100ku-filter-menu{padding:0 3px!important}.n100ku-header-filter-title{font-size:9px!important}.n100ku-top-filter-row .n100ku-category-filter-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.n100ku-site-header{grid-template-columns:84px minmax(0,1fr)!important;gap:4px!important;padding-left:5px!important;padding-right:5px!important}.n100ku-site-brand strong{font-size:.72rem!important}.n100ku-site-brand span{font-size:.49rem!important}.n100ku-site-nav{gap:4px!important}.n100ku-site-nav-link{font-size:7.8px!important}.n100ku-site-mypage{font-size:7.8px!important;padding:3px 5px!important}.n100ku-site-home svg{width:10px!important;height:10px!important}.n100ku-top-filter-drawer>summary{column-gap:7px!important;font-size:9px!important}.n100ku-header-search input{font-size:9px!important}}

/* ===== 2.9 画像下の従来フィルターを復元 ===== */
.n100ku-legacy-filter-panel{display:flex!important;margin-top:0!important;border-radius:0 0 12px 12px!important;}
.n100ku-legacy-filter-panel .n100ku-store-filter-wrap,.n100ku-legacy-filter-panel .n100ku-category-filter-wrap{display:flex;flex-wrap:wrap;gap:6px;}
@media(max-width:700px){.n100ku-container{padding-top:24px!important}.n100ku-legacy-filter-panel{display:flex!important;padding:10px 12px 14px!important}}

/* ===== 3.0 category grid / 100均コミュニティ ===== */
.n100ku-top-filter-row .n100ku-category-filter-wrap,
.n100ku-legacy-filter-panel .n100ku-category-filter-wrap{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;width:100%!important;
}
.n100ku-top-filter-row .n100ku-category-filter-wrap button,
.n100ku-legacy-filter-panel .n100ku-category-filter-wrap button{
 width:100%!important;min-width:0!important;min-height:38px!important;height:100%!important;margin:0!important;padding:7px 8px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
}
.n100ku-community-shell{width:100%;box-sizing:border-box;padding:4px 0 24px;color:#2f2a26}
.n100ku-community-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.n100ku-community-head h2{margin:0;font-size:1.35rem}.n100ku-community-head a{color:#5b5048;text-decoration:none}
.n100ku-community-intro{padding:12px 14px;margin-bottom:12px;border:1px solid #e6ddd5;border-radius:10px;background:#fffaf6}
.n100ku-new-thread{margin:0 0 16px;border:1px solid #e3d8cf;border-radius:10px;background:#fff}.n100ku-new-thread>summary{padding:11px 14px;font-weight:700;cursor:pointer}.n100ku-community-form{display:grid;gap:10px;padding:14px;border-top:1px solid #eee5de}.n100ku-community-form label{display:grid;gap:5px;font-weight:700}.n100ku-community-form input,.n100ku-community-form select,.n100ku-community-form textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8cec6;border-radius:7px;background:#fff;font:inherit}.n100ku-community-form button{justify-self:start;padding:8px 16px;border:0;border-radius:7px;background:#443b35;color:#fff;font-weight:700;cursor:pointer}
.n100ku-thread-list{display:grid;gap:9px}.n100ku-thread-card{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e6ddd5;border-radius:10px;background:#fff;color:#2f2a26;text-decoration:none}.n100ku-thread-card:hover{background:#fffaf6}.n100ku-thread-type{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;border-radius:999px;background:#f1e8df;font-size:.78rem}.n100ku-thread-meta{font-size:.78rem;color:#80746b}.n100ku-thread-detail,.n100ku-reply{padding:14px;border:1px solid #e6ddd5;border-radius:10px;background:#fff}.n100ku-thread-detail h3{margin:8px 0 5px}.n100ku-thread-detail p,.n100ku-reply p{margin:9px 0 0;line-height:1.75}.n100ku-replies{display:grid;gap:8px;margin:16px 0}.n100ku-replies h3{margin:0 0 2px}.n100ku-reply-form{border:1px solid #e6ddd5;border-radius:10px;background:#fff}.n100ku-community-login,.n100ku-community-empty{padding:12px 14px;border:1px solid #eee5de;border-radius:8px;background:#faf8f6}
@media(max-width:700px){.n100ku-top-filter-row .n100ku-category-filter-wrap,.n100ku-legacy-filter-panel .n100ku-category-filter-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}.n100ku-thread-card{grid-template-columns:1fr}.n100ku-community-head{align-items:flex-start}}
/* 3.1: ハンドメイド帖コミュニティの完成レイアウトを100均へ踏襲 */
.n100ku-community-shell{width:100%;box-sizing:border-box;padding:4px 0 24px;color:#2f2a26}
.n100ku-page-title h2{margin:0;font-size:1.45rem}.n100ku-community-guide{margin:8px 0 18px;padding:12px 16px;background:#fff8f2;color:#66584e;line-height:1.75;border-radius:8px}.n100ku-community-guide p{margin:0 0 7px}.n100ku-community-guide ul{margin:0;padding-left:1.4em}
.n100ku-community-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.n100ku-community-grid main>h3,.n100ku-community-form h3{margin-top:0}
.n100ku-panel{border:1px solid #e8dfd8;border-radius:10px;padding:16px;background:#fff}.n100ku-thread-card{display:block!important;border:1px solid #e8dfd8!important;border-radius:9px!important;padding:12px!important;margin:9px 0!important;text-decoration:none;color:inherit;background:#fff!important}.n100ku-thread-card span{font-size:.8em;color:#94755f}.n100ku-thread-card strong,.n100ku-thread-card small{display:block;margin-top:4px}.n100ku-thread-card small{font-size:.8em;color:#80746b}
.n100ku-community-form{display:block!important;padding:16px!important;border:1px solid #e8dfd8!important;border-radius:10px!important;background:#fff}.n100ku-panel.n100ku-community-form{margin:0}.n100ku-community-form input,.n100ku-community-form textarea,.n100ku-community-form select{display:block;width:100%;box-sizing:border-box;margin:7px 0;padding:9px;border:1px solid #d8d0ca;border-radius:7px;background:#fff;font:inherit}.n100ku-btn{border:0;border-radius:7px;padding:9px 15px;background:#4f453e;color:#fff;font-weight:700;cursor:pointer}
.n100ku-back{display:inline-block;margin:0 0 8px;color:#65584e;text-decoration:none}.n100ku-thread-main,.n100ku-reply{border:1px solid #e8dfd8;border-radius:10px;padding:16px;margin:12px 0;background:#fff}.n100ku-thread-main>span{font-size:.85em;color:#987965}.n100ku-thread-main h2{margin:7px 0}.n100ku-thread-main p,.n100ku-reply p{line-height:1.75}.n100ku-thread-owner-actions{display:flex;gap:10px;align-items:flex-start;margin-top:15px;padding-top:12px;border-top:1px solid #eee}.n100ku-thread-owner-actions details{flex:1}.n100ku-thread-owner-actions summary{cursor:pointer;font-weight:700;color:#65564b}.n100ku-thread-delete{border:1px solid #d7aaa0;background:#fff5f3;color:#a44536;border-radius:7px;padding:8px 13px;cursor:pointer}.n100ku-inline-form{display:inline;margin-left:8px}.n100ku-inline-form button{border:1px solid #d8cec6;background:#fff;border-radius:999px;padding:4px 9px;cursor:pointer}
@media(max-width:760px){.n100ku-community-grid{grid-template-columns:1fr}.n100ku-thread-owner-actions{display:block}.n100ku-thread-owner-actions form{margin-top:10px}}

/* ===== 3.3 public author: handmade layout parity ===== */
.n100ku-public-author-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.n100ku-public-author-profile{display:flex;gap:20px;align-items:center;min-width:0}
.n100ku-public-author-profile>img,.n100ku-public-author-profile>.n100ku-avatar-fallback{width:120px;height:120px;flex:0 0 120px;border-radius:50%;object-fit:cover;object-position:center center;align-self:center}
.n100ku-public-author-profile h2{margin:4px 0 10px}
.n100ku-public-author-profile p{margin:0;line-height:1.8}
.n100ku-public-social{min-width:170px;padding-left:22px;border-left:1px solid #eadfd6}
.n100ku-public-social h3{margin:0 0 12px}
.n100ku-public-social a{display:block;margin:9px 0;text-decoration:none}
@media(max-width:760px){.n100ku-public-author-head{grid-template-columns:1fr}.n100ku-public-social{padding-left:0;border-left:0;border-top:1px solid #eadfd6;padding-top:14px}.n100ku-public-author-profile{display:block}.n100ku-public-author-profile>img,.n100ku-public-author-profile>.n100ku-avatar-fallback{margin:0 auto 12px}}

/* ===== 3.4 レイアウト基準：ハンドメイド帖と同じ表示密度・余白 ===== */
/* 公開側はテーマのフォントをそのまま継承する。 */
.n100ku-container{font-family:inherit!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;background:#fff!important;}
.n100ku-container *{font-family:inherit;}

/* ヘッダーはハンドメイド帖と同じ考え方で、横幅を使い切り一列に整列する。 */
.n100ku-sticky-header{width:100%!important;max-width:none!important;margin:0 0 18px!important;border:0!important;border-bottom:1px solid #eee6df!important;border-radius:0!important;box-shadow:none!important;background:rgba(255,253,250,.96)!important;}
.n100ku-site-header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;width:100%!important;padding:12px 0!important;background:rgba(255,253,250,.96)!important;border:0!important;border-bottom:0!important;border-radius:0!important;box-sizing:border-box!important;}
.n100ku-site-brand{flex:1 1 auto!important;min-width:0!important;}
.n100ku-site-brand strong{margin:0 0 3px!important;font-size:1.35rem!important;line-height:1.25!important;}
.n100ku-site-brand span{margin:0!important;font-size:.88em!important;line-height:1.45!important;}
.n100ku-site-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;flex-wrap:nowrap!important;white-space:nowrap!important;}
.n100ku-site-nav-link{flex:0 0 auto!important;padding:0!important;font-size:inherit!important;line-height:normal!important;}
.n100ku-site-home{display:inline-flex!important;align-items:center!important;gap:5px!important;}
.n100ku-site-home svg{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linejoin:round!important;}
.n100ku-site-mypage{flex:0 0 auto!important;padding:9px 12px!important;min-height:0!important;font-size:inherit!important;border:1px solid #ddd3ca!important;border-radius:999px!important;background:#fff!important;}

/* 検索部もヘッダー幅をそのまま使い、余分な外側余白を作らない。 */
.n100ku-top-filter-drawer{width:100%!important;padding:0 0 9px!important;}
.n100ku-top-filter-drawer>summary{padding:10px 2px!important;}
.n100ku-hero,.n100ku-top-row,.n100ku-legacy-filter-panel,.n100ku-community-shell,.n100ku-mypage-shell{width:100%!important;max-width:none!important;box-sizing:border-box!important;}

@media(max-width:700px){
 .n100ku-container{padding:0 12px!important;}
 .n100ku-site-header{gap:8px!important;padding:10px 0!important;}
 .n100ku-site-brand strong{font-size:1.08rem!important;}
 .n100ku-site-brand span{font-size:.8rem!important;}
 .n100ku-site-nav{gap:6px!important;}
 .n100ku-site-nav-link{font-size:.84rem!important;}
 .n100ku-site-mypage{font-size:.84rem!important;padding:7px 10px!important;}
 .n100ku-site-home svg{width:16px!important;height:16px!important;flex-basis:16px!important;}
}
@media(max-width:620px){
 .n100ku-site-header{display:block!important;}
 .n100ku-site-brand{width:100%!important;}
 .n100ku-site-nav{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;margin-top:10px!important;width:100%!important;}
 .n100ku-site-mypage{margin-left:0!important;}
}

/* ===== 3.5 ハンドメイド帖表示基準へ統一 ===== */
.n100ku-container{
    font-family:inherit;
    font-size:14px;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 16px;
    color:#2f2a26;
    background:transparent;
    border-radius:0;
}
.n100ku-container *{font-family:inherit;}
.n100ku-sticky-header{margin:0 0 18px;border-bottom:1px solid #eee6df;background:rgba(255,253,250,.96);}
.n100ku-site-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 0;background:transparent;}
.n100ku-site-brand{flex:0 1 auto;min-width:0;}
.n100ku-site-brand strong{display:block;margin:0 0 3px;font-size:1.35rem;line-height:1.25;white-space:nowrap;}
.n100ku-site-brand span{display:block;margin:0;color:#665c55;font-size:.88em;line-height:1.45;white-space:nowrap;}
.n100ku-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;min-width:0;white-space:nowrap;}
.n100ku-site-nav-link{font-size:13px;line-height:1.2;padding:5px 0;border:0;background:transparent;color:#2f2a26;white-space:nowrap;}
.n100ku-site-mypage{display:inline-flex;align-items:center;font-size:13px;line-height:1.2;padding:5px 12px;border:1px solid #ddd3ca;border-radius:999px;background:#fff;color:#2f2a26;white-space:nowrap;}
.n100ku-site-home{display:inline-flex;align-items:center;gap:5px;}
.n100ku-site-home svg{width:16px;height:16px;flex:0 0 16px;}
.n100ku-top-filter-drawer{padding:0 0 9px;}
.n100ku-top-filter-drawer>summary{padding:8px 2px;font-size:13px;column-gap:12px;}
.n100ku-header-search input{font-size:14px;}
@media(max-width:700px){
 .n100ku-container{padding:0 12px;}
 .n100ku-site-header{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;padding:10px 0 12px;}
 .n100ku-site-brand strong{font-size:1.08rem;}
 .n100ku-site-brand span{font-size:.8rem;}
 .n100ku-site-nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px;}
 .n100ku-site-nav-link,.n100ku-site-mypage{font-size:.84rem;}
 .n100ku-site-mypage{padding:5px 10px;}
}

/* ===== 3.6 ハンドメイド帖 2.12.04 の表示寸法を基準に再統一 ===== */
/* 記事側の余白をツール内で重ねない。ハンドメイド帖と同じ記事端の使い方。 */
.n100ku-container{
  font-family:inherit!important;
  width:100%!important;
  max-width:1120px!important;
  margin:28px auto!important;
  padding:0 16px!important;
  box-sizing:border-box!important;
  color:#2f2a26!important;
  background:transparent!important;
  overflow:visible!important;
  container-type:inline-size;
}
.n100ku-container *{font-family:inherit!important;box-sizing:border-box}

/* ヘッダー外枠・色・密度はハンドメイド帖と同じ。 */
.n100ku-sticky-header{
  position:sticky!important;
  top:var(--n100ku-sticky-offset,0px)!important;
  z-index:90!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 12px!important;
  background:#fff!important;
  border:1px solid #e5ddd6!important;
  border-radius:10px!important;
  box-shadow:0 2px 7px rgba(60,45,35,.035)!important;
  overflow:visible!important;
}
.n100ku-site-header{
  display:grid!important;
  grid-template-columns:minmax(125px,auto) minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:7px 10px!important;
  background:#f8f1eb!important;
  border:0!important;
  border-bottom:1px solid #e8dfd8!important;
  border-radius:10px 10px 0 0!important;
}
.n100ku-site-brand{min-width:0!important;line-height:normal!important}
.n100ku-site-brand a{color:#2f2a26!important;text-decoration:none!important}
.n100ku-site-brand strong{
  display:block!important;
  margin:0 0 3px!important;
  font-size:1.35rem!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.n100ku-site-brand span{
  display:block!important;
  margin:0!important;
  color:#665c55!important;
  font-size:.88em!important;
  line-height:1.45!important;
  white-space:nowrap!important;
}
.n100ku-site-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.n100ku-site-nav-link{
  flex:0 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:2px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#4b4038!important;
  font-size:inherit!important;
  font-weight:400!important;
  line-height:normal!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.n100ku-site-home{display:inline-flex!important;align-items:center!important;gap:5px!important}
.n100ku-site-home svg{width:18px!important;height:18px!important;flex:0 0 18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linejoin:round!important}
.n100ku-site-mypage{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:28px!important;
  margin:0!important;
  padding:4px 12px!important;
  border:1px solid #d7c5b7!important;
  border-radius:999px!important;
  background:#f3e9df!important;
  color:#3e342d!important;
  font-size:inherit!important;
  font-weight:700!important;
  line-height:normal!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* 2段目は空行を作らず、ラベルと検索欄そのものの padding だけで高さを作る。 */
.n100ku-top-filter-drawer{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 10px 9px!important;
  background:#fff!important;
  border:0!important;
  border-radius:0 0 10px 10px!important;
  box-shadow:none!important;
}
.n100ku-top-filter-drawer>summary{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 2px!important;
  background:#fff!important;
  color:#4b4038!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  list-style:none!important;
}
.n100ku-top-filter-drawer>summary::-webkit-details-marker{display:none!important}
.n100ku-filter-summary-label{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0!important;white-space:nowrap!important}
.n100ku-filter-summary-label:after{content:'▼'!important;display:inline-block!important;position:static!important;margin:0!important;font-size:.78em!important;line-height:1!important}
.n100ku-top-filter-drawer[open] .n100ku-filter-summary-label:after{content:'▲'!important}
.n100ku-header-search{position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
.n100ku-header-search svg{position:absolute!important;left:11px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:16px!important;fill:none!important;stroke:#746b65!important;stroke-width:1.8!important;pointer-events:none!important}
.n100ku-header-search input{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:30px!important;margin:0!important;padding:5px 12px 5px 34px!important;border:1px solid #d8cec6!important;border-radius:999px!important;background:#fff!important;color:#2f2a26!important;font-size:inherit!important;line-height:1.2!important}

@media(max-width:700px){
  .n100ku-container{width:100%!important;max-width:1120px!important;margin:28px auto!important;padding:0 16px!important}
  .n100ku-site-header{grid-template-columns:minmax(92px,.72fr) minmax(0,2.28fr)!important;gap:6px!important;padding:6px 7px!important}
  .n100ku-site-brand strong{font-size:.82rem!important;white-space:nowrap!important}
  .n100ku-site-brand span{font-size:.56rem!important;white-space:nowrap!important}
  .n100ku-site-nav{gap:6px!important;justify-content:flex-end!important;flex-wrap:nowrap!important;width:auto!important;margin:0!important}
  .n100ku-site-nav-link{font-size:9px!important;padding:1px 0!important}
  .n100ku-site-mypage{font-size:9px!important;padding:3px 7px!important;min-height:23px!important}
  .n100ku-site-home svg{width:12px!important;height:12px!important;flex-basis:12px!important}
  .n100ku-top-filter-drawer{padding:0 7px 7px!important}
  .n100ku-top-filter-drawer>summary{grid-template-columns:max-content minmax(0,1fr)!important;column-gap:8px!important;padding:9px 1px!important;min-height:0!important;font-size:10px!important}
  .n100ku-filter-summary-label{gap:3px!important}
  .n100ku-header-search input{height:28px!important;font-size:10px!important;padding:4px 8px 4px 27px!important}
  .n100ku-header-search svg{left:8px!important;width:13px!important;height:13px!important}
}
@media(max-width:430px){
  .n100ku-site-header{grid-template-columns:84px minmax(0,1fr)!important;gap:4px!important;padding-left:5px!important;padding-right:5px!important}
  .n100ku-site-brand strong{font-size:.72rem!important}
  .n100ku-site-brand span{font-size:.49rem!important}
  .n100ku-site-nav{gap:4px!important}
  .n100ku-site-nav-link{font-size:7.8px!important}
  .n100ku-site-mypage{font-size:7.8px!important;padding:3px 5px!important}
  .n100ku-site-home svg{width:10px!important;height:10px!important;flex-basis:10px!important}
  .n100ku-top-filter-drawer>summary{column-gap:7px!important;font-size:9px!important}
  .n100ku-header-search input{font-size:9px!important}
}


/* ===== 3.8 記事内レイアウト修正：親記事幅を基準に98%、横方向の無駄余白を除去 ===== */
.n100ku-container{
  width:98%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.n100ku-sticky-header,
.n100ku-top-row,
.n100ku-hero,
.n100ku-filter-panel,
.n100ku-legacy-filter-panel,
.n100ku-community-shell,
.n100ku-mypage-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .n100ku-container{
    width:98%!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
  }
}

/* ===== 3.13 ハンドメイド帖基準：記事内配置とヘッダー密度の最終統一 ===== */
/* 辞書が存在する記事だけ、#primary にテーマが付ける 20px 内余白を解除する。 */
#primary:has(.n100ku-container){
  padding:0!important;
}

/* ハンドメイド帖と同等のヘッダー密度へ戻す。 */
.n100ku-site-header{
  grid-template-columns:minmax(145px,auto) minmax(0,1fr)!important;
  gap:8px!important;
  min-height:44px!important;
  padding:3px 8px!important;
}
.n100ku-site-brand strong{
  margin:0 0 1px!important;
  font-size:1rem!important;
  line-height:1.1!important;
}
.n100ku-site-brand span{
  font-size:.72em!important;
  line-height:1.1!important;
}
.n100ku-site-nav{gap:8px!important}
.n100ku-site-nav-link{
  padding:3px 5px!important;
  font-size:.78rem!important;
  line-height:1.1!important;
}
.n100ku-site-home svg{
  width:14px!important;
  height:14px!important;
  flex-basis:14px!important;
}
.n100ku-site-mypage{
  min-height:28px!important;
  padding:3px 9px!important;
  font-size:.78rem!important;
}
.n100ku-top-filter-drawer>summary{
  min-height:38px!important;
  padding:6px 2px!important;
}

@media(max-width:700px){
  #primary:has(.n100ku-container){padding:0!important}
  .n100ku-site-header{grid-template-columns:minmax(92px,.72fr) minmax(0,2.28fr)!important;gap:6px!important;padding:6px 7px!important}
  .n100ku-site-brand strong{font-size:.82rem!important}
  .n100ku-site-brand span{font-size:.56rem!important}
  .n100ku-site-nav{gap:6px!important}
  .n100ku-site-nav-link{font-size:9px!important;padding:1px 0!important}
  .n100ku-site-mypage{font-size:9px!important;padding:3px 7px!important;min-height:23px!important}
}


/* ===== 3.14 上側余白と追従をハンドメイド帖基準へ統一 ===== */
/* 横幅98%の既存結果は維持。上方向だけ余白を持たせない。 */
#primary:has(.n100ku-container){padding-top:0!important;}
.n100ku-container{margin-top:0!important;}
/* ハンドメイド帖の .hmc-sticky-header と同じ追従基準。 */
.n100ku-sticky-header{position:sticky!important;top:0!important;z-index:90!important;}
