.activity-inner {
  max-height: 320px;
  min-height: 320px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s;
}
.activity-inner.expanded {
  max-height: none;
}
.read-more-btn {
  display: block;
  background: #f5f5f5;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 0.3em 1em;
  margin: 0.5em auto 0 auto;
  cursor: pointer;
  text-align: center;
  font-size: 0.9em;
}
/* ==============================
   イベントフォーム関連
   ============================== */
.css-event-form {
  max-width: 960px;
  padding: 2rem;
  margin: 3rem auto;
  background: #f8f8f8;
  box-shadow: 0px 13px 28px rgba(25, 25, 25, 0.1);
  transition: 0.03s ease-in-out;
  /* margin-bottom: 2rem; */
  border-radius: 1rem;
}

/* ==============================
   マップ関連
   ============================== */
.em.em-location-where.has-map .em-location-map-container,
.em.em-location-where.has-map div.em-location-data .em-location-map-404,
.em.em-location-where.has-map div.em-location-data .em-location-map-content {
  max-width: 100%;
  aspect-ratio: 3 / 2;
}

/* ==============================
   ボタン関連
   ============================== */
.em.pixelbones.input .button.button-primary,
.em.pixelbones.input button.button-primary,
.em.pixelbones.input input[type="submit"].button-primary,
.em.pixelbones.input input[type="reset"].button-primary,
.em.pixelbones.input input[type="button"].button-primary,
.em.pixelbones .input .button.button-primary,
.em.pixelbones .input button.button-primary,
.em.pixelbones .input input[type="submit"].button-primary,
.em.pixelbones .input input[type="reset"].button-primary,
.em.pixelbones .input input[type="button"].button-primary,
.em.pixelbones .button.button-primary.input,
.em.pixelbones button.button-primary.input,
.em.pixelbones input[type="submit"].button-primary.input,
.em.pixelbones input[type="reset"].button-primary.input,
.em.pixelbones input[type="button"].button-primary.input {
  color: var(--button-primary-color) !important;
  background-color: coral !important;
  border: none !important;
  font-size: 0.8rem !important;
  padding: 0.75rem 3rem !important;
  overflow: visible !important;
  height: auto !important;
  margin: 3rem auto;
  display: block;
}

/* ==============================
   メッセージ・画像・アバター関連
   ============================== */
div#message.info p {
  text-align: center;
  font-size: 12px;
}
div#event-image {
  border: dotted #ccc 1.5px;
  border-radius: 1rem;
  overflow: hidden;
}

.em i {
  color: crimson;
  font-weight: bold;
}
.spam-activity {
  display: none;
}
.pageavatar {
  background: olive;
  max-width: 50px;
  border-radius: 50%;
  overflow: hidden;
}
.kettei {
  border: 0.5px solid #fff;
  font-size: 0.7rem;
  padding: 0.2rem 1rem;
  border-radius: 0.75rem;
  background: cornflowerblue;
  color: #fff;
}
.yameta {
  font-size: 0.7rem;
  color: #444;
  margin-left: 0.5rem;
  text-decoration: none;
}
.pageavatar img {
  display: block;
}
button#insert-media-button {
  position: absolute;
  top: 12px;
  font-size: 0.6rem;
  right: 8px;
  border-radius: 0.5rem;
  border: 0.5px solid #ccc;
  padding: 7px 1rem;
  color: #444;
}
div#whats-new-textarea {
  position: relative;
  max-width: calc(100% - 2rem);
  display: block;
  margin: 0 auto;
}
img {
  max-width: 100%;
  box-sizing: border-box;
}

/* ==============================
   アクティビティアイテム・アバター関連
   ============================== */
.mas-i {
  background: #f8f8f8;
  animation: none;
}
main#primary {
  min-height: 90vh;
  position: relative;
  top: 4rem;
}
footer#colophon {
  padding: 2rem;
  background: none;
  text-align: center;
}
.site-info {
  font-size: 10px;
  letter-spacing: 0.14rem;
  color: #454545;
  opacity: 0.6;
}
.activity-inner img {
  margin: 0.5rem 0;
  border-radius: 1rem;
  height: auto !important;
}
.load-more {
  list-style-type: none;
  position: static !important;
  width: 100% !important;
  transform: none !important;
  margin: 3rem auto !important;
  left: 0 !important;
  right: 0 !important;
  display: block !important;
}
.load-more a {
  list-style-type: none;
  display: block;
  background: #ddd;
  text-align: center;
  padding: 2rem;
  border-radius: 1rem;
  text-decoration: none;
  color: #666;
  max-width: 50%;
  margin: 5rem auto;
}
#activity-stream {
  width: calc(100% - 4vw);
  position: relative;
  margin: 0 auto;
  padding: 0 !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 769px) and (max-width: 1100px) {
  #activity-stream {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1101px) and (max-width: 1280px) {
  #activity-stream {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1281px) {
  #activity-stream {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

#activity-stream > li {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  list-style: none;
}

/* ul#activity-stream {
  margin: 3vw;
  padding: 0;
} */
.activity-item.mas-i {
  background: #f8f8f8;
  /* position: absolute; */
  list-style-type: none;
  box-shadow: 0px 13px 28px rgba(25, 25, 25, 0.1);
  /* transition: 0.03s ease-in-out; */
  transform: translate3d(0px, 0px, 0px) !important; /*消さないで*/
  border-radius: 1rem;
  padding: 0.5rem;
  box-sizing: border-box;
  margin-bottom: 40px;
}

@media (max-width: 1280px) and (min-width: 1101px) {
}

@media (max-width: 1100px) and (min-width: 769px) {
}
.mas-i .activity-avatar img,
.mas-i .acomment-avatar img {
  max-width: 32px;
  border-radius: 100%;
  max-height: 32px;
  overflow: hidden;
  margin: 0.25rem;
}
.activity-avatar,
.acomment-avatar {
  display: flex;
}
.activity-inner,
.acomment-content {
  padding: 0 0.5rem 0.5rem;
  font-size: 0.89401rem;
  overflow-wrap: anywhere !important;
}
.activity-avatar a.activity-user-link,
.acomment-avatar a.activity-user-link {
  margin-top: 14px;
  margin-left: 5px;
  font-size: 11px;
  text-decoration: none;
  color: #454545;
}
.activity-single-link {
  font-size: 11px;
  opacity: 0.5;
  vertical-align: middle;
  text-align: right;
  color: #174f9e;
  margin-left: auto;
  padding-top: 14px;
  padding-right: 0.25rem;
}
#activity-stream .activity-meta a,
#activity-stream .acomment-options a {
  overflow: hidden;
  width: 19.5%;
  display: inline-block;
  height: 32px;
  opacity: 0.6;
}
#activity-stream .activity-meta a.acomment-reply:before,
#activity-stream .activity-meta a.view:before,
#activity-stream .acomment-options a.acomment-reply:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(https://hi-bi.net/wp-content/themes/cls2025/img/comment-dots.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.fav:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/star.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.unfav:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/star-fill.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.edit-activity:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/edit.svg);
  background-size: 53px 48px;
  background-repeat: no-repeat;
  background-position: center -6px;
}
#activity-stream .activity-meta a.delete-activity:before,
#activity-stream .activity-meta a.acomment-delete:before,
#activity-stream .activity-meta a.delete-activity-single:before,
#activity-stream .acomment-options a.acomment-delete:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/trash.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}
#activity-stream .activity-meta a.spam-activity:before,
#activity-stream .acomment-options a.spam-activity-comment:before {
  content: "";
  display: block;
  height: 32px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/spam.svg);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 6px;
}

.friendship-button .friendship-button.add:before {
  content: "";
  display: inline-block;
  height: 20px;
  background-image: url(//hi-bi.net/wp-content/themes/cls2025/img/user-add.svg);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center 1px;
  width: 24px;
  position: relative;
  top: 5px;
  opacity: 0.4;
  margin-right: 0.23rem;
}
div#item-header {
  max-width: 1600px;
  padding: 0 2rem;
  transition: 0.15s all ease-in;
}
div#item-header.scrolled {
  position: fixed;
  z-index: 893893;
  top: 0;
  left: 50px;
  padding: 10px;
}
div#post-mention {
  display: none !important;
}
#item-header-cover-image #item-buttons div a {
  display: block;
  background: #fff;
  padding: 0.2rem 1rem;
  border: 0.5px solid #ccc;
  border-radius: 2rem;
  text-decoration: none;
  font-size: 13px;
  color: #444;
}
#item-header.scrolled a.proficon {
  max-width: 28px;
  max-height: 28px;
  top: 6px;
  position: relative;
}
#item-header b.activity-user-link {
  top: 7px;
}
#item-header #item-header-cover-image #item-buttons div {
  top: 2px;
}
.activity-permalink #buddypress #activity-stream li {
  max-width: 100% !important;
  width: 800px !important;
  display: block !important;
  position: relative !important;
  margin: 3rem auto;
  transform: none !important;
}
button#image-only-button {
  background: royalblue;
  border: none;
  font-size: 0.75rem;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  margin: 1rem;
}
.activity-permalink .has-background .activity-meta {
  background: rgba(1, 1, 1, 0.6) !important;
  border-radius: 0.75rem 0.75rem 0 0 !important;
}
.activity-permalink .activity-comments {
  border-radius: 0 0 0.75rem 0.75rem !important;
}
.has-background .activity-comments.mieru,
.has-background.has-comments .activity-comments {
  height: auto;
  overflow: visible;
  background: rgba(1, 1, 1, 0.6);
  border-radius: 0.75rem;
  padding: 1rem;
}
.has-background .na,
.has-background .acomment-content,
.has-background .activity-comments.mieru label.bp-screen-reader-text {
  color: #fff !important;
}
.activity-permalink .has-background .activity-comments.mieru label.bp-screen-reader-text {
  color: #454545 !important;
}
.has-background .acomment-options {
  filter: invert(1);
}
.activity-meta {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  padding: 1rem 0;
}

/* 
.activity.activity_update.activity-item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px; 
    padding: 20px; 
} */

.activity.activity_update.activity-item.has-background {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* min-height: 600px;  */
  /* padding: 20px; コンテンツが見えるように */
}
.activity.activity_update.activity-item.has-background .activity-inner {
  min-height: 320px;
}
.activity-inner p:empty {
  display: none; /* 空の<p>タグを非表示 */
}
.has-background:before {
  content: "";
  width: 100%;
  height: 5rem;
  display: block;
  margin: -0.5rem;
  border-radius: 1rem 1rem 0 0;
  position: absolute;
  z-index: -1;
  background: #4a4a4a;
  background: linear-gradient(180deg, rgba(1, 1, 1, 0.8) 30%, rgba(1, 1, 1, 0) 100%);
  opacity: 0.35;
}
.has-background:after {
  content: "";
  width: 100%;
  height: 5rem;
  display: block;
  margin: -0.5rem;
  border-radius: 0 0 1rem 1rem;
  position: absolute;
  bottom: 0.5rem;
  z-index: -1;
  background: #4a4a4a;
  background: linear-gradient(0deg, rgba(1, 1, 1, 0.8) 30%, rgba(1, 1, 1, 0) 100%);
  opacity: 0.35;
}
.has-background .activity-user-link,
.has-background .activity-single-link {
  color: #fff !important;
}
#activity-stream .has-background .activity-meta a {
  filter: invert(1);
}
.ac-reply-avatar .avatar {
  max-width: 26px;
  border-radius: 100%;
  max-height: 26px;
}
.activity-comments,
.just-posted .activity-comments,
.ac-form {
  padding: 0;
  /* height: 0;
    overflow: hidden; */
  transition: height 0.53s ease; /* スムーズなアニメーション（任意） */
}
.activity-comments .ac-reply-content .bp-screen-reader-text {
  font-size: 10px;
  color: #888;
  display: block;
  margin: 0.5rem;
}
.activity-comments .ac-reply-content textarea.ac-input {
  border: 0.5px solid #ccc;
  width: 100%;
  border-radius: 0.75rem;
  padding: 0.7rem;
}
.has-comments .activity-comments,
.has-comments .just-posted .activity-comments {
  height: auto;
  overflow: visible;
  transition: height 0.53s ease; /* スムーズなアニメーション（任意） */
}
.activity-comments.mieru,
.activity-comments.mieru .ac-form,
.has-comments .activity-comments {
  height: auto;
  overflow: visible;
  padding: 10px;
  /* background: #eee; */
  border-radius: 0.75rem;
}
.yameta {
  font-size: 0.7rem;
  color: #ccc;
  margin-left: 0.5rem;
  text-decoration: none;
}
.activity-comments.mieru textarea {
  border-radius: 0.75rem;
  margin: 0.25rem;
  width: calc(100% - 0.5rem);
  border: 1px solid #ccc;
  padding: 0.4rem;
  font-size: 0.8rem;
}
.activity-comments.mieru label.bp-screen-reader-text {
  color: gray;
  font-size: 0.6rem;
  margin: 0 0.25rem;
}
.activity-comments ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.acomment-content {
  font-size: 0.85rem;
  opacity: 0.976;
}
#whats-new-submit .kettei {
  margin: 1rem;
}
div#whats-new-content {
  padding: 2rem;
}

/* .activity-image {
    max-width: 100%;
    height: auto;
} */
#whats-new-messages.updated {
  background: #e0ffe0;
  padding: 10px;
  border: 1px solid #28a745;
}
#whats-new-messages.error {
  background: #ffe0e0;
  padding: 10px;
  border: 1px solid #dc3545;
}
#activity-stream p {
  font-size: 0.9rem;
  margin: 0.25rem 0 0 0;
}
b.activity-user-link {
  top: 10px;
  position: relative;
  margin-left: 0.8rem;
  font-size: 0.9rem;
}
a.proficon {
  max-width: 48px;
  border-radius: 100%;
  overflow: hidden;
  height: 48px;
  transition: 0.2555s all;
}
#item-header-cover-image #item-buttons div {
  display: inline-block;
  font-size: 0.7852rem;
  margin-left: 1rem;
  position: relative;
  top: 7px;
}
.em.pixelbones .em-location-map-container p {
  margin: 0 0 5px !important;
  line-height: 168% !important;
  font-size: 12px !important;
}
#primary .em .input .filepond--drop-label {
  font-size: 12px !important;
  margin: 0.5rem auto !important;
  display: block;
  text-align: center;
  line-height: 2rem !important;
}
.input.em-location-data-url,
.multi-day-event-info {
  display: none !important;
}
#primary h3 {
  font-weight: bold !important;
  font-size: 1.235rem !important;
  margin: 2.91rem 0 1rem !important;
}

/* ==============================
   アクティビティカレンダー関連
   ============================== */
/* ▼▼▼ ここからカレンダー部分 ▼▼▼ */

/* カレンダー全体の枠・レイアウト */
.bp-activity-calendar {
  width: 100%;
  max-width: 300px;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 0.7rem;
}

/* カレンダーのセル（曜日・日付） */
.bp-activity-calendar th,
.bp-activity-calendar td {
  width: 40px;
  height: 40px;
  text-align: center;
  border: 1px solid #eee;
}

/* 曜日ヘッダーのスタイル */
.bp-activity-calendar th {
  background: #f8f8f8;
  color: #333;
  font-weight: bold;
}

/* アクティブな日付セル（イベントがある日など） */
.bp-activity-calendar td.active {
  background: orange; /* ←ここで色を変更できます */
}

/* アクティブセル内のリンク */
.bp-activity-calendar td.active a {
  color: #fff;
  text-decoration: none;
  display: block;
}

/* 空セル（何もない日） */
.bp-activity-calendar td.empty {
  background: #f8f8f8;
}

/* カレンダーのナビゲーション（前月・次月など） */
.calendar-nav {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Arial, sans-serif;
  font-size: 0.7rem;
}
.calendar-nav a {
  text-decoration: none;
  color: #0073aa;
  font-weight: bold;
  cursor: pointer;
}
.calendar-nav a:hover {
  color: #005177;
}
div#bp-activity-calendar-container {
  display: inline-block;
}
/* ▲▲▲ ここまでカレンダー部分 ▲▲▲ */

/* ==============================
   その他・調整用
   ============================== */
#bp-ajax-loader {
  display: none;
  text-align: center;
  margin: 10px 0;
}
.wakegi,
#subnav {
  display: none; /* 仮消し */
}

/* ==============================
   フローティングPOST/Photoボタン & 全画面フォーム
============================== */
#floating-action-buttons {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 9999;
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
#show-post-form:before {
  content: "POST";
  font-size: 7px;
  position: absolute;
  color: #191919;
  bottom: 5px;
}
#show-photo-form:before {
  content: "PHOTO";
  font-size: 7px;
  position: absolute;
  color: #191919;
  bottom: 5px;
}
#show-calendar-modal:before {
  content: "CAL";
  font-size: 7px;
  position: absolute;
  color: #191919;
  bottom: 5px;
}
.fab {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: background 0.7s all;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fab-photo,
.fab-post,
.fab-calendar {
  background: #f0e7da;
}
.fab:hover {
  filter: brightness(0.9);
}
#fullscreen-calendar-modal .calendar-modal-content {
  height: auto !important;
  width: auto !important;
}
#fullscreen-post-form,
#fullscreen-calendar-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.45);
  z-index: 191989869998;
  display: none;
  align-items: center;
  justify-content: center;
}
#fullscreen-post-form form,
#fullscreen-calendar-modal .calendar-modal-content {
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1rem;
  /* max-width: 480px; */
  width: 95vw;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  position: relative;
  height: 95vh;
}
#fullscreen-post-form textarea {
  width: 100%;
  min-height: 120px;
  border-radius: 1rem;
  border: 1px solid #ccc;
  padding: 1rem;
  font-size: 1rem;
  margin-bottom: 1rem;
}
#whats-new_ifr {
  height: 67.845964894891vh !important;
}
/* #fullscreen-post-form .button {
  margin: 0.5rem 0.5rem 0 0;
  border-radius: 2rem;
  padding: 0.7rem 2rem;
  font-size: 1rem;
  background: #2196f3;
  color: #fff;
  border: none;
  cursor: pointer;
} */

#fullscreen-post-form .kettei.actpost {
  background: #74070e;
  color: #fff;
  border-radius: 2rem;
  padding: 0.5rem 2rem;
  font-size: 0.7rem;
  border: none;
  cursor: pointer;
}
#modal-close {
  position: absolute;
  top: 32px;
  right: 48px;
  z-index: 10001;
}
#close-modal {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #888;
  transition: color 0.2s;
}
#close-modal:hover {
  color: #e91e63;
}
.media-modal {
  z-index: 999454546541888160000 !important;
}
#tinymce img {
  max-width: calc(100% - 1rem) !important;
  height: auto !important;
}
.media-sidebar {
  display: none !important;
}
.attachments-browser .media-toolbar,
.attachments-browser .uploader-inline,
.attachments-browser.has-load-more .attachments-wrapper,
.attachments-browser:not(.has-load-more) .attachments {
  right: 0 !important;
}
.media-modal {
  z-index: 999454546541888160000 !important;
  box-shadow: none !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  height: 94% !important;
}
@media (max-width: 768px) {
  .activity-item.mas-i {
    padding: 0.5rem !important;
    margin: 2rem auto !important;
    position: relative !important;
    width: 95% !important;
  }
}

/* ==============================
   Masonryアニメーション・初期非表示
   ============================== */
.activity-list .activity-item {
  transform: translateY(2rem);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}
.activity-list .activity-item.masonry-visible {
  transform: translateY(2rem);
}
.activity-list .activity-item.scroll-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
