.home-top-small-noAd{
    height:50px;
}
.notif {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  margin-left: 12px;
}

.notif-toggle {
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  position: relative;
  background: transparent;
  border: none;
  cursor: pointer;
}

.notif-toggle:hover { background: #e9e9e9; }
.notif-toggle:focus-visible { outline: 2px solid #fb923c; outline-offset: 2px; }


.notif-icon {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
}
.notif-icon-small {
  position: relative;
  display: inline-block;

}
.svg-icon-notif-small {
    width: 20px;
    height: 20px;
    margin:0 auto;
    display: block;
}

.notif-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 14px;
  height: 14px;
  border-radius: 9999px;
  background: #e3342f;
  box-shadow: 0 0 0 2px #fff;
  display: none;
  pointer-events: none;
}

.notif-menu {
  position: absolute;
  right: 0;
  top: calc(100%);
  width: 360px;
  max-height: 480px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  padding: 8px 0;
  display: none;
  z-index: 3000;
}

.notif-menu.open {
  display: block !important;
}

.notif-head{
    font-size:12px;
    font-weight: 600;
    border-bottom:1px solid #000;
    padding:2px 0 ;
}
.notif-loading { padding: 12px 16px; font-size: 14px; color: #6b7280; }
.notif-list { list-style: none; margin: 0; padding: 0; }

.notif-item .notif-label { font-size: 12px; color: #6b7280; margin-right: 6px; }
.notif-item .notif-text { font-size: 14px; color: #111827; display: inline; }
.notif-item .notif-time { display: block; font-size: 12px; color: #9ca3af; margin-top: 4px; }
.notif-footer { padding: 8px 16px; text-align: right; }


.notif-item { padding: 10px 12px; border-bottom: 1px solid #cacaca; }
.notif-item:last-child { border-bottom: none; }

.notif-item a.notif-link { display: block; color: inherit; text-decoration: none; }

.notif-menu.closing,
.notif-menu.closing * {
  transition: none !important;
  animation: none !important;
}

.message-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-label {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 3px;
  border: 1px solid transparent;
  background: #f3f4f6;
    flex:0 0 auto;
}
.message-from {
  font-size: 12px;
  font-weight: 500;
  color: #111827;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.message-date {
  font-size: 12px;
  color: #9ca3af;
  flex: 0 0 auto;
}

.message-body { margin-top: 6px; }



/* ラベルの色（type 別） */
.message-label.is-comment      { color:#d02d2d; background:#fdeaea; border-color:#f7c8c8; }
.message-label.is-commentReply { color:#d02d2d; background:#fdeaea; border-color:#f7c8c8; }
.message-label.is-review       { color:#0028ca; background:#eaedff; border-color:#c9d6ff; }
.message-label.is-followTitle  { color:#00c96b; background:#e8fbf3; border-color:#bff3dc; }
.message-label.is-followUser   { color:#ea9a05; background:#fff3dd; border-color:#ffd889; }
.message-label.is-announcement { color:#ff007b; background:#ffe6f1; border-color:#ffc4dd; }
.message-label.is-stampReaction{ color:#0984ff; background:#eaf2ff; border-color:#c9dcff; }

.message-title { font-size: 13px; font-weight: 600; color:#111827; margin-bottom: 4px; }
.message-work  { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color:#111827; }
.work-title    { color:#111827; }
.work-subtitle { color:#374151; }

.message-text  {
    font-size: 13px;
    color:#111827;
    font-weight: 600;
}
.notif-small {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
}

.notif-small .notif-toggle {
  height: 44px;                 /* タップしやすい高さ */
  min-width: 44px;
  padding: 0 8px;
}

/* ヘッダ */
.notif-menu .notif-head {
  font-size: 13px;
  font-weight: 700;
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
}

/* 閉じる時にトランジションを殺す（既存） */
.notif-menu.closing,
.notif-menu.closing * {
  transition: none !important;
  animation: none !important;
}

.notif-close {
  font-size: 14px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background:#f7f7f7;
}

.notif-close:hover { background: #f3f4f6; }
.notif-close:active { background: #e5e7eb; }

.notif-menu.notif-menu-small {
  position: fixed;
  left: 0;
  right: 0;
  top: 120px;
  width: 100vw;                  /* 横幅いっぱい */
  max-height: calc(100vh - 120px);
  -webkit-overflow-scrolling: touch;
  z-index: 4000;
  padding-bottom:15px;
}

.notif-menu .notif-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
}
.notif-title {
  font-size: 14px;
  font-weight: 700;
}


.notif-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  z-index: 3500;
}

.notif-menu.open + .notif-backdrop { display: block; }

.notif-menu.closing,
.notif-menu.closing * {
  transition: none !important;
  animation: none !important;
}
.pink-link{
    border:1px solid #c04600;
    background: #f7e4f7;
}
.pink-link:hover{
    border:1px solid #c04600;
    background: #e4c0e4;
}
.main-link{
    border:1px solid #204af0;
    background: #e4ebf7;
}
.main-link:hover{
    border:1px solid #204af0;
    background: #abbad3;
}
@media screen and (max-width: 480px) {
    .notif-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: #e3342f;
  box-shadow: 0 0 0 2px #fff;
  display: none;
  pointer-events: none;
}
}
