@import url(https://cdn.jsdelivr.net/npm/ress@2.0.4/dist/ress.min.css);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap);

ul,
ol {
    list-style: none
}

:root {
    --arleady-read-text-content: "既読"
}

:root {
    --color-default-font: #1b1b1b;
    --color-primary: #3b515c;
    --color-above-primary: #fff;
    --color-highlight: #f9aa33;
    --color-smp-background: #f2f2f2;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--color-default-font)
}

:focus {
    outline: none
}

body {
    overflow-x: hidden
}

a {
    display: contents;
    text-decoration: none
}

a:-webkit-any-link {
    color: unset
}

a>* {
    transition: all .3s ease
}

a:hover>* {
    opacity: .5
}

img {
    display: block
}

mark {
    background-color: var(--color-highlight)
}

ul,
ol {
    list-style: none
}

.is-loading {
    position: relative
}

.is-loading::before {
    position: absolute;
    content: "";
    background-image: url(./img/common/loading.svg);
    background-size: contain;
    width: 48px;
    height: 48px;
    top: calc((100% - 48px) / 2);
    left: calc((100% - 48px) / 2)
}

.c-error-text {
    color: #f00000;
    background: #ffe8e6;
    font-size: 14px;
    font-weight: bold;
    width: 100%
}

.c-error-text__has-border {
    border: 1px solid #f00000;
    border-radius: 8px;
    font-size: 16px;
    padding: 12px 16px
}

.c-error-text__caption {
    color: var(--color-default-font);
    font-size: 12px;
    font-weight: normal
}

.c-item__icon_wrapper {
    height: 60px;
    display: inline-flex;
    align-items: center;
    position: relative
}

.c-item__icon {
    line-height: 60px;
    fill: var(--color-above-primary);
    width: 22px
}

.c-item__icon * {
    fill: var(--color-above-primary)
}

.c-item__unread {
    position: absolute;
    top: 10px;
    left: 11px;
    text-align: left;
    padding: .25em .5em .3em;
    line-height: 1em;
    background-color: #f00000;
    color: var(--color-above-primary);
    border-radius: 50%;
    font-size: 12px
}

.c-item__text {
    padding-left: 16px;
    color: var(--color-above-primary)
}

.c-message-edit-and-actions,
.c-message-input-and-actions,
.c-sent-message-container {
    display: inline-flex;
    position: relative;
    width: 100%;
    padding: 0 16px 16px 0
}

.c-message-edit-and-actions__textarea,
.c-message-input-and-actions__textarea,
.c-sent-message-container__textarea {
    border: 1px solid #c8c8c8;
    border-radius: 8px;
    max-height: 224px;
    min-height: 56px;
    font-size: 16px;
    line-height: 1.5em;
    padding: 14px 28px 14px 14px;
    margin: 8px 0 0 48px;
    width: 100%;
    height: calc(14px * 2 + 1.5em);
    max-height: calc(14px + 1.5em * 8.75)
}

.c-message-edit-and-actions form,
.c-message-input-and-actions form,
.c-sent-message-container form {
    width: 100%;
    display: inherit;
    position: inherit
}

.c-message-input-and-actions__file-input,
.c-sent-message-container__file-input {
    display: none
}

.c-message-edit-and-actions__submit,
.c-message-input-and-actions__submit,
.c-sent-message-container__submit {
    margin: auto 0 0 16px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-message-edit-and-actions__submit:hover,
.c-message-input-and-actions__submit:hover,
.c-sent-message-container__submit:hover {
    opacity: .5
}

.c-message-edit-and-actions__submit__alt,
.c-message-input-and-actions__submit__alt,
.c-sent-message-container__submit__alt {
    width: 56px
}

.c-message-input-and-actions__selec-atch,
.c-sent-message-container__selec-atch {
    position: absolute;
    right: 88px;
    bottom: 16px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-message-input-and-actions__format-bold,
.c-message-input-and-actions__format-italic {
    position: absolute;
    bottom: 16px;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background-color: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: bold;
    color: #666;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-message-input-and-actions__format-italic {
    font-style: italic;
    font-family: Georgia, serif
}

.c-message-input-and-actions__format-bold {
    right: 152px
}

.c-message-input-and-actions__format-italic {
    right: 120px
}

.c-message-input-and-actions__format-bold:hover,
.c-message-input-and-actions__format-italic:hover {
    opacity: .5
}

.c-message-input-and-actions__selec-stamp,
.c-sent-message-container__selec-stamp,
.c-message-input-and-actions__selec-keyboard,
.c-sent-message-container__selec-keyboard,
.c-message-input-and-actions__update-cancel {
    position: absolute;
    left: 15px;
    bottom: 16px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-message-input-and-actions__selec-atch:hover,
.c-sent-message-container__selec-atch:hover {
    opacity: .5
}

.c-message-input-and-actions__title,
.c-sent-message-container__title {
    display: flex;
    align-items: center;
    flex-direction: row;
    background-color: #f2f2f2;
    padding: 24px
}

.c-message-input-and-actions__title__text,
.c-sent-message-container__title__text {
    font-size: 20px;
    font-weight: bold
}

.c-message-input-and-actions__title__icon,
.c-sent-message-container__title__icon {
    height: 24px;
    margin-right: .4em
}

.c-message-edit-and-actions__cancel-edit,
.c-sent-message-container__cancel-edit {
    position: absolute;
    left: 15px;
    bottom: 16px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-search_candidates_list__list_item {
    display: flex;
    transition: all .3s ease;
    cursor: pointer
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) {
    padding: 12px 24px
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) .c-user-info__icon-wrapper {
    margin: 0 17px 0 5px
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) .c-user-info__icon {
    width: 32px;
    height: 32px
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) .c-user-info__identity-container {
    display: flex;
    flex-direction: column;
    margin: 3px 0 0 0
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) .c-user-info__belonging {
    font-size: 12px;
    line-height: 1em
}

.c-search_candidates_list__list_item:not(.c-search_candidates_list__search_enter) .c-user-info__name {
    font-size: 14px;
    font-weight: normal;
    line-height: 1em
}

.c-search_candidates_list__list_item:hover {
    background-color: #e9e9e9
}

.c-search_candidates_list__search_enter {
    display: flex;
    padding: 12px 0 12px 32px
}

.c-search_candidates_list__search_enter__icon {
    width: 21px;
    margin: 0 12px 0 0
}

.c-search_candidates_list__search_enter__name {
    font-size: 14px;
    padding: 0 12px
}

.c-search_candidates_list__search_enter__caption {
    font-size: 12px;
    color: #969696;
    line-height: 1.6168em
}

.c-menu_list__item {
    height: 60px;
    padding: 0 24px
}

.c-menu_list__item a {
    align-items: center;
    display: flex
}

.c-menu_list__item.is_selected {
    background-color: #d9d9d9;
    pointer-events: none
}

.c-menu_list__item.is_selected .c-item__icon {
    fill: var(--color-default-font)
}

.c-menu_list__item.is_selected .c-item__icon * {
    fill: var(--color-default-font)
}

.c-menu_list__item.is_selected .c-item__text {
    color: var(--color-default-font)
}

.c-menu_list__free {
    border-top: 1px solid var(--color-default-font);
    margin-top: 8px;
    padding-top: 8px;
    padding-bottom: 60px
}

.c-menu_list__configure {
    position: fixed;
    bottom: 0;
    width: 256px;
    background-color: #3b515c
}

.c-user-info__belonging {
    white-space: nowrap;
    font-size: 12px;
    z-index: 2
}

.c-user-info__date {
    font-size: 12px
}

@media screen and (max-width: 500px) {
    .c-user-info__date {
        color: #969696
    }
}

.c-user-info__name {
    white-space: nowrap;
    font-size: 20px;
    font-weight: bold
}

.c-user-info__icon {
    border-radius: 50%;
    width: 56px;
    height: 56px;
    /* object-fit: cover */
}

.c-user-info__icon__unset {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-above-primary);
    border-radius: 50%
}

.c-user-info__icon__unset .c-user-info__belonging,
.c-user-info__icon__unset .c-user-info__name {
    max-width: 1em;
    line-height: 1em;
    overflow: hidden;
    font-size: 20px;
    font-weight: normal;
    color: var(--color-default-font)
}

.c-user-info__icon-wrapper {
    margin-left: 16px
}

.c-user-info__icon-wrapper.is_blocked {
    position: relative
}

.c-user-info__icon-wrapper.is_blocked::before {
    content: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 12a12 12 0 11-12 12 12 12 0 0112-12zm-9.6 12a9.6 9.6 0 009.6 9.6 9.51 9.51 0 006-2.07L16.47 18.05A9.51 9.51 0 0014.4 24zm9.6-9.6a9.51 9.51 0 00-5.95 2.07L31.53 30a9.51 9.51 0 002.07-6 9.6 9.6 0 00-9.6-9.6z' fill='%23f00000' fill-rule='evenodd'/%3E%3C/svg%3E");
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .72);
    top: 0;
    left: 0;
    border-radius: 50%;
    z-index: 5
}

@media screen and (max-width: 500px) {
    .c-user-info__icon-wrapper.is_blocked::before {
        content: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 12a12 12 0 11-12 12 12 12 0 0112-12zm-9.6 12a9.6 9.6 0 009.6 9.6 9.51 9.51 0 006-2.07L16.47 18.05A9.51 9.51 0 0014.4 24zm9.6-9.6a9.51 9.51 0 00-5.95 2.07L31.53 30a9.51 9.51 0 002.07-6 9.6 9.6 0 00-9.6-9.6z' fill='%23f00000' fill-rule='evenodd'/%3E%3C/svg%3E");
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, .72);
        top: 0;
        left: 0;
        border-radius: 50%;
        z-index: 4
    }
}

.c-publish__icon-wrapper {
    margin: 18px 0 0 8px;
}

.c-publish__icon {
    width: 20px;
    height: 20px;
}

.c-publish__icon.close {
    background: #4c6068d4;
    border-radius: 50%;
}

.c-post-thumbnail {
    width: 100%;
}

.c-search_candidates_area {
    position: absolute;
    top: 56px;
    left: 0;
    background-color: var(--color-above-primary);
    width: 50vw;
    min-width: 208px;
    border-radius: 8px;
    filter: drop-shadow(0 1px 2px #a4a4a4);
    padding: 8px 0;
    display: none
}

.c-search_candidates_area.show {
    display: block
}

.c-sent-message-container {
    display: none
}

.c-sent-message-container__body {
     padding: 16px;
     margin: 0 0 calc(86px + 16px) 0;
     background-color: var(--color-above-primary);
     border-radius: 8px;
     margin-left: 16px
 }
 
.c-sent-message-container__body__caption-container {
     display: flex;
     justify-content: space-between;
 }
 
.c-sent-message-container__body__caption {
     font-size: 12px;
     color: #969696
 }
 
.c-sent-message-container__body__caption_senddate {
     font-size: 12px;
     color: #969696;
 }
 
.c-sent-message-container__body__caption_updated {
     font-size: 12px;
     /* color: #969696; */
 }
 
.c-sent-message-container__body__text {
     padding: 8px 0 0 0;
     font-size: 16px;
     text-align: justify
 }

.c-post-container__body {
    padding: 16px;
    background-color: var(--color-above-primary);
    border-radius: 8px;
    margin-left: 16px;
}

.c-post-container__body__caption-container {
    display: flex;
    justify-content: space-between;
}

.c-post-container__body__caption {
    font-size: 12px;
    color: #969696
}

.c-post-container__body__caption_senddate {
    font-size: 12px;
    color: #969696;
}

.c-post-container__body__caption_updated {
    font-size: 12px;
    /* color: #969696; */
}

.c-post-container__body__text {
    padding: 8px 0 0 0;
    font-size: 16px;
    text-align: justify
}


.c-inner-contents__header__icon {
    margin-right: 15px
}

.c-inner-contents__header__texts {
    display: flex;
    flex-direction: column;
    padding-top: .5em;
    height: 56px
}

.c-inner-contents__header__texts>span {
    line-height: 1em
}

.c-inner-contents__header__texts__send_at_once {
    display: flex;
    align-items: center;
    flex-direction: row
}

.c-inner-contents__header__texts__send_at_once .c-inner-contents__header__action-icon {
    margin-right: .5em
}

.c-inner-contents__header__button__action {
    margin-left: auto;
    /*width: 48px;*/
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    transition: all .3s ease
}

/* Personal chat header: the action buttons stay on one line and the partner's name is shortened instead */
.l-inner-contents__header--personal-chat .c-inner-contents__header__texts {
    min-width: 0
}

.l-inner-contents__header--personal-chat .c-inner-contents__header__texts>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    /* line-height is 1em: widen the clip box so ascenders/descenders are not cut, without moving the text */
    padding-top: .2em;
    padding-bottom: .2em;
    margin-top: -.2em;
    margin-bottom: -.2em
}

.l-inner-contents__header--personal-chat .c-inner-contents__header__button__action {
    flex-shrink: 0
}

.l-inner-contents__header--personal-chat .c-inner-contents__header__button__action button {
    white-space: nowrap
}

.c-inner-contents__header__action {
    margin-left: auto;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    transition: all .3s ease
}

.c-inner-contents__header__action:hover {
    background-color: #d9d9d9
}

.c-inner-contents__header__action-icon {
    width: 24px
}

.c-inner-contents-send-message-list {
    padding: 0 14px
}

@media screen and (max-width: 500px) {
    .c-inner-contents-send-message-list {
        padding: 0 14px 28px 14px
    }
}


.c-inner-contents-send-message-list__list-item__right>.c-hover-edit-container-list-wrapper {
    position: absolute;
    top: -18px;
    left: -57.6px
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list {
    display: none;
    z-index: 5;
    position: absolute;
    top: -46.24px;
    /*
    top: -60.24px;
    right: -76px;
    */
    padding: 0 8px;
    width: 124px;
    height: 76px;
    justify-content: space-evenly;
    background-image: url(./img/common/edit_bg.svg);
    background-size: cover
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list__list-item {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none;
    margin: 4px 0 0 0;
    padding: 3px;
    height: 36px
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list__list-item:hover {
    opacity: .5
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list.is_below {
    top: unset;
    bottom: -45.24px;
    background-image: url(./img/common/reaction_bg_flipped.svg)
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list.is_below .c-hover-edit-container-list__list-item {
    margin-top: 16px
}

.c-inner-contents-send-message-list__list-item:hover .c-hover-edit-container-list {
    display: flex
}

.c-inner-contents-send-message-list__list-item .c-hover-edit-container-list__list-item__image {
    height: 36px;
}

@media screen and (max-width: 500px) {
    .c-inner-contents-send-message-list__list-item:hover .c-hover-edit-container-list {
        display: ""
    }
}

/* SMT 版のラッパー。位置決めは中の吹き出し側で行うため、ここでは流れに戻す。
   （従来はアイコン画像と同じ座標に絶対配置され、吹き出しの外に飛び出していた） */
.c-inner-contents-send-message-list__list-item__left>.c-hover-reaction-container-list-wrapper {
    position: static
}

.c-inner-contents-send-message-list__list-item {
    position: relative
}

.c-inner-contents-send-message-list__list-item__textContent {
    word-break: break-all;
    min-width: 7em
}

/*
 * コメント本文はQuillのHTML（div/p）を含むため、__textContentのpタグから
 * ブラウザによって外に出され、上記のword-breakが効かない。
 * 折り返しをコメント欄の吹き出し側に持たせて長文でもボックス内に収める。
 */
.c-inner-contents-post-comment-list .c-inner-contents-send-message-list__list-item__left {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list {
    /* 吹き出しの外（真上）に配置し、本文には重ねない。
       箱は中身にぴったり合わせ、箱の中はすべてクリック可能にする。 */
    display: none;
    z-index: 5;
    position: absolute;
    left: 0;
    bottom: 100%;
    box-sizing: border-box;
    width: max-content;
    padding: 8px;
    gap: 6px;
    justify-content: flex-start;
    background-color: var(--color-above-primary, #fff);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(27, 27, 27, .28)
}

/* 吹き出しへ向かう小さな三角。装飾のみなので当たり判定から外す。 */
.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list::after {
    content: "";
    position: absolute;
    top: 100%;
    /* 横に逃した分だけしっぽを戻して、吹き出しを指したままにする */
    left: calc(24px + var(--tail-shift, 0px));
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 8px solid var(--color-above-primary, #fff);
    pointer-events: none
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list__list-item {
    box-sizing: border-box;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    transition: background-color .2s ease;
    cursor: pointer;
    user-select: none
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list__list-item:hover {
    background-color: #f2f2f2
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list.is_below {
    top: 100%;
    bottom: auto
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list.is_below::after {
    top: auto;
    bottom: 100%;
    border-top: 0;
    border-bottom: 8px solid var(--color-above-primary, #fff)
}

.c-inner-contents-send-message-list__list-item .c-hover-reaction-container-list__list-item__image {
    margin: 0;
    width: 36px;
    height: 36px;
    line-height: 1em;
    /* 画像ドラッグが click を奪うのを防ぐ */
    pointer-events: none
}

.c-inner-contents-send-message-list__list-item:hover .c-hover-reaction-container-list {
    display: flex
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list {
    display: flex;
    flex-wrap: wrap
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list__list_item {
    display: flex
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list__list_item:not(:last-of-type) {
    margin-right: .5em
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list__list_item__image {
    margin: .4em .2em 0 0;
    height: 16.8px;
    line-height: 1em
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list__list_item__num {
    margin: .4em 0 0 0;
    font-size: 14px;
    line-height: 1em
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container-list:hover {
    cursor: pointer
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list {
    display: none;
    position: absolute;
    color: var(--color-default-font);
    width: 240px;
    background-color: var(--color-above-primary);
    bottom: 20px;
    /* JS がホバー時に上下の余白を見て上書きする。
       ここの値は JS が動かない場合の保険。 */
    max-height: min(320px, 50vh);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0;
    border-radius: 8px;
    z-index: 5;
    filter: drop-shadow(0px 2px 4px rgba(27, 27, 27, 0.4))
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 6px 0;
    cursor: pointer
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__icon,
.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__icon__unset {
    width: 36px;
    height: 36px
}

/* 一覧の背景も --color-above-primary (#fff) なので、
   白いアイコン（画像無しの代替アイコンや、
   背景が白い写真）が白地に溶けて輪郭が見えない。
   この一覧の中だけ、両方に枠線を付ける。
   box-sizing を変えて行の高さ（48px）をずらさない。 */
.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__icon,
.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__icon__unset {
    box-sizing: border-box;
    border: 1px solid #d9d9d9
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__name {
    font-weight: normal;
    font-size: 14px;
    margin-left: .5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 130px;
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item .c-user-info__sent {
    margin: 0 16px 0 auto;
    width: 20px
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__list-item:hover {
    background-color: #f2f2f2
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list.is_below {
    bottom: unset;
    top: 24px
}

.c-inner-contents-send-message-list__list-item .c-reaction-sender-container-list__right {
    right: 0;
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container {
    position: relative
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container:hover .c-reaction-sender-container-list {
    display: block;
}

.c-inner-contents-send-message-list__list-item .c-gained-reaction-container:hover+.c-hover-reaction-container-list {
    display: none
}

.c-inner-contents-send-message-list__list-item .c-atch-container-list {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none;
    margin-left: 0
}

.c-inner-contents-send-message-list__list-item .c-atch-container-list:hover {
    opacity: .5
}

.c-inner-contents-send-message-list__list-item .c-atch-container-list__item:last-of-type {
    padding-right: 16px
}

.c-inner-contents-send-message-list__list-item .c-atch-container-list__base-name__stem {
    display: inline-block;
    max-width: 8em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 1em;
    word-break: break-all
}

.c-atch-container-list__item-link {
    padding-right: 16px;
    display: table;
}

.c-atch-container-list__item-link .c-atch-container-list__base-name {
    font-size: 16px;
    word-break: break-all;
    display: table-cell;
    vertical-align: middle;
}

.c-atch-container-list__item-link .c-atch-container-list__base-name .c-atch-container-list__base-name__link {
    display: inline-block;
    max-width: 29em; /* 画面表示サイズ調整 */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all
}

.c-inner-contents-send-message-list__list-item__date {
    text-align: center;
    font-size: 12px;
    color: #5a5a5a;
    padding-bottom: 16px
}

.c-inner-contents-send-message-list__list-item__message_type_member_inout {
    text-align: center;
    font-size: 12px;
    color: #5a5a5a;
    padding-bottom: 16px
}

.c-inner-contents-send-message-list__list-item__right,
.c-inner-contents-send-message-list__list-item__left {
    position: relative;
    width: fit-content;
    margin: 8px 0 0 auto;
    text-align: justify;
    padding: 14px 18px 16px;
    color: var(--color-above-primary);
    background-color: var(--color-primary);
    max-width: 36em;
    border-radius: 16px 16px 0 16px;
    border: 1px solid #1d2a31
}

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

    .c-inner-contents-send-message-list__list-item__right,
    .c-inner-contents-send-message-list__list-item__left {
        max-width: 73vw
    }
}

.c-inner-contents-send-message-list__list-item__right+.c-inner-contents-send-message-list__list-item__date,
.c-inner-contents-send-message-list__list-item__left+.c-inner-contents-send-message-list__list-item__date {
    padding-top: 30px
}

.c-inner-contents-send-message-list__list-item__right+.c-inner-contents-send-message-list__list-item__message_type_member_inout,
.c-inner-contents-send-message-list__list-item__left+.c-inner-contents-send-message-list__list-item__message_type_member_inout {
    padding-top: 30px
}

.c-inner-contents-send-message-list__list-item__right .c-atch-container-list {
    background-color: #2d3e47;
    border-color: #1d2a31
}

.c-inner-contents-send-message-list__list-item__right.is_read::before,
.c-inner-contents-send-message-list__list-item__right.is_updated::before {
    position: absolute;
    white-space: pre;
    content: attr(data-updated_count) "\A" attr(data-read_count);
    bottom: 0;
    left: -5em;
    color: #5a5a5a;
    font-size: 12px
}

.c-inner-contents-send-message-list__list-item__left.is_updated::after {
    position: absolute;
    content: attr(data-updated_count);
    bottom: 0;
    right: -5em;
    color: #5a5a5a;
    font-size: 12px
}

.c-inner-contents-send-message-list__list-item__left {
    margin: 36px auto 0 45px;
    border-radius: 0 16px 16px 16px;
    color: var(--color-default-font);
    background-color: var(--color-above-primary);
    border-width: 0
}

.c-inner-contents-send-message-list__list-item__left>.c-user-info__icon-wrapper {
    position: absolute;
    top: -18px;
    left: -57.6px
}

.c-inner-contents-send-message-list__list-item__left>.c-user-info__icon-wrapper .c-user-info__icon,
.c-inner-contents-send-message-list__list-item__left>.c-user-info__icon-wrapper .c-user-info__icon__unset {
    margin: 0;
    width: 36px;
    height: 36px
}

.c-inner-contents-send-message-list__list-item__left>.c-user-info__name {
    position: absolute;
    top: -1.75em;
    left: 0;
    font-size: 12px;
    font-weight: normal
}

.c-inner-contents-send-message-list__list-item__right__stamp,
.c-inner-contents-send-message-list__list-item__left__stamp {
    background-color: #f2f2f2;
    border: 0px;
    padding: 0;
}

.c-atch-container-list {
    display: flex;
    padding: 10px 0;
    background-color: #f2f2f2;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    width: fit-content;
    margin: 16px 0 0 16px
}

@media screen and (max-width: 500px) {
    .c-atch-container-list {
        margin-right: 16px
    }
}

.c-atch-container-list__icon-wrapper {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-atch-container-list__icon-wrapper__delete {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-atch-container-list__icon-wrapper__delete:hover {
    opacity: .5
}

.c-atch-container-list__icon {
    width: 18px
}

.c-atch-image-preview-wrapper {
    display: block;
    margin: 16px 0 0 16px;
    max-width: 240px;
}

.c-atch-image-preview {
    display: block;
    max-width: 240px;
    max-height: 240px;
    width: auto;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid #d9d9d9;
    transition: all .3s ease;
}

.c-atch-image-preview:hover {
    opacity: .8
}

.c-atch-image-preview__meta {
    margin-top: 4px;
    display: flex;
    flex-direction: column;
}

.c-atch-image-preview__meta .c-atch-container-list__base-name {
    margin-top: 0;
}

/* 期限内の画像：ファイル名／サイズ／有効期限を画像の下端に重ねて表示する（#18949 モック案1）。
   吹き出しの色に関係なく白文字で読めるよう、下端に暗いグラデーションを敷く。
   幅は画像に合わせる（fit-content）ので、帯が画像からはみ出さない。 */
.c-atch-image-preview-wrapper:not(.is-expired) {
    position: relative;
    width: fit-content;
}

.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-image-preview__meta {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin-top: 0;
    padding: 8px 10px 9px;
    background: linear-gradient(to top, rgba(0, 0, 0, .75), rgba(0, 0, 0, .35));
    border-radius: 0 0 8px 8px;
    line-height: 1.35;
}

.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__base-name,
.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__size,
.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__date_limit {
    color: #fff;
}

.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__base-name {
    font-size: 13px;
}

/* 帯が画像を覆いすぎないよう、狭い幅でも有効期限が1行に収まるサイズにする */
.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__size,
.c-atch-image-preview-wrapper:not(.is-expired) .c-atch-container-list__date_limit {
    font-size: 10px;
}

/* 有効期限切れ／期限不明の画像：サムネイルは読み込まず、禁止アイコン（上）＋
   ファイル情報（下）を1枚のカードにまとめる。吹き出しの背景色（自分＝濃色／相手＝白）に
   依存しないよう、カード側で背景と文字色を持つ（#18949） */
.c-atch-image-preview-wrapper.is-expired {
    /* 既定の margin-left:16px（および SMT の margin-right:16px）を打ち消し、本文と左端を揃える */
    margin: 16px 0 0;
    background-color: #e9e9e9;
    border-radius: 8px;
    overflow: hidden;
}

.c-atch-image-preview-wrapper.is-expired .c-atch-image-preview {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    border: 0;
    border-radius: 0;
    cursor: default;
}

.c-atch-image-preview-wrapper.is-expired .c-atch-image-preview:hover {
    opacity: 1;
}

.c-atch-image-preview-wrapper.is-expired .c-atch-image-preview__meta {
    margin-top: 0;
    padding: 10px;
}

.c-atch-image-preview-wrapper.is-expired .c-atch-container-list__base-name {
    margin-top: 0;
    color: #262626;
}

.c-atch-image-preview-wrapper.is-expired .c-atch-container-list__size,
.c-atch-image-preview-wrapper.is-expired .c-atch-container-list__date_limit {
    color: #8c8c8c;
}

@media screen and (max-width: 500px) {
    .c-atch-image-preview-wrapper {
        max-width: 180px;
        margin-right: 16px;
    }

    .c-atch-image-preview {
        max-width: 180px;
        max-height: 180px;
    }
}

/* 送信前プレビュー：画像とキャンセルボタンの重ね表示 */
.js-upload_file_image_wrapper {
    position: relative;
}

.js-upload_file_image_wrapper .js-upload_file_delete_button {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .85);
}

/* 送信前プレビュー（複数ファイル）：小さい画像は横並び、大きい/複数種混在時は折り返す */
.c-atch-upload-preview-list {
    display: flex;
    flex-wrap: wrap;
}

.c-atch-upload-preview-list__item {
    max-width: 240px;
}

@media screen and (max-width: 500px) {
    .c-atch-upload-preview-list__item {
        max-width: 180px;
    }
}

.js-upload_item_image_wrapper {
    position: relative;
}

.js-upload_item_image_wrapper .js-upload_item_delete_button {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .85);
}

.c-atch-container-list__base-name {
    font-size: 16px;
    margin-top: .5em;
    word-break: break-all
}

.c-atch-container-list__size {
    font-size: 12px
}

.c-atch-container-list__date_limit {
    font-size: 12px
}

.c-atch-container-list__item:nth-of-type(3) {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-start-conversation-container {
    padding-top: 108px
}

@media screen and (max-width: 500px) {
    .c-start-conversation-container {
        padding: 16px 0 0 0
    }
}

.c-start-conversation-container__icon {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-start-conversation-container__icon .c-user-info__icon {
    width: 80px;
    height: 80px;
    margin: 0
}

.c-start-conversation-container__alert {
    padding: 16px;
    text-align: center;
    max-width: 428px;
    margin: 0 auto 10px;
    border: 1px solid #f00000;
    border-radius: 8px
}

.c-start-conversation-container__alert .c-error-text__caption {
    font-weight: normal;
    padding-top: .2em
}

@media screen and (max-width: 500px) {
    .c-start-conversation-container__alert .c-error-text__caption {
        text-align: justify
    }
}

.c-start-conversation-container__alert .c-error-text__caption img {
    display: inline-block;
    height: .9em;
    margin: 0 .2em
}

.c-start-conversation-container__identity {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
    padding-bottom: 28px
}

.c-start-conversation-container__identity .c-user-info__name {
    padding-top: 16px
}

.c-start-conversation-container__illustration {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 36px
}

.c-start-conversation-container__illustration__img {
    width: 80px
}

.c-start-conversation-container__texts {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 28px
}

.c-start-conversation-container__texts__title {
    font-size: 24px;
    font-weight: bold
}

.c-start-conversation-container__texts__caption {
    padding-top: 27px
}

@media screen and (max-width: 500px) {
    .c-start-conversation-container__texts__caption {
        font-size: 12px
    }
}

.c-start-conversation-container:not(.is_yet) {
    padding-top: 0
}

.c-start-conversation-container:not(.is_yet) .c-start-conversation-container__illustration,
.c-start-conversation-container:not(.is_yet) .c-start-conversation-container__texts {
    display: none
}

.c-delete-conversation-container__texts {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 14px;
    padding-bottom: 14px;
}

.c-input-with-title-container {
    display: flex;
    gap: 20px; /* 要素間の間隔 */
}

.c-input-with-title {
    position: relative
}

.c-input-with-title.tab-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
}

.c-input-with-title__title {
    position: absolute;
    top: -0.5em;
    background: var(--color-above-primary);
    left: .5em;
    line-height: 1em;
    margin: 0 .25em;
    font-size: 12px;
    color: #6e6e6e
}

.c-input-with-title__title.tab-title {
    top: 1.5em;
}

.c-input-with-title__input_container.tab-title {
    margin-top: 0;
    flex: 1;
}

.c-input-with-title__input {
    border: 1px solid #969696;
    border-radius: 8px;
    padding: 14px;
    font-size: 16px;
    width: 100%
}

c-input-with-title__input_left {
    border: 1px solid #969696;
    border-radius: 8px;
    padding: 14px;
    font-size: 16px;
    width: 80%
}
c-input-with-title__input_right {
    border: 1px solid #969696;
    border-radius: 8px;
    padding: 14px;
    font-size: 16px;
}

.c-input-with-title__input_container {
    margin-top: 26px
}

.c-input-with-label {
    position: relative
}

.c-input-with-label__label {
    position: absolute;
    top: 0;
    width: 100%
}

.c-input-with-label__label__text {
    white-space: nowrap;
    position: absolute;
    top: -0.5em;
    background: var(--color-above-primary);
    left: .5em;
    line-height: 1em;
    margin: 0 .25em;
    font-size: 12px;
    color: var(--color-default-font);
    display: none
}

@media screen and (max-width: 500px) {
    .c-input-with-label__label__text {
        background-color: var(--color-smp-background)
    }
}

.c-input-with-label__label__icon {
    position: absolute;
    top: 1em;
    right: 1em;
    opacity: .6;
    cursor: pointer
}

.c-input-with-label__input {
    border: 1px solid #969696;
    border-radius: 8px;
    padding: 14px calc(14px + 2em) 14px 14px;
    font-size: 16px;
    width: 100%;
    background-color: var(--color-above-primary)
}

@media screen and (max-width: 500px) {
    .c-input-with-label__input {
        background-color: var(--color-smp-background)
    }
}

.c-input-with-label__input:focus {
    outline: 0;
    border: 2px solid var(--color-default-font);
    filter: drop-shadow(0px 6px 4px #969696)
}

.c-input-with-label__input:focus+.c-input-with-label__label .c-input-with-label__label__text {
    display: block
}

.c-input-with-label__input:focus+.c-input-with-label__label .c-input-with-label__label__icon {
    opacity: 1
}

.c-input-with-email {
    position: relative
}

.c-input-with-email__label {
    position: absolute;
    top: 0;
    width: 100%
}

.c-input-with-email__label__text {
    white-space: nowrap;
    position: absolute;
    top: -0.5em;
    background: var(--color-above-primary);
    left: .5em;
    line-height: 1em;
    margin: 0 .25em;
    font-size: 12px;
    color: var(--color-default-font);
    display: none
}

@media screen and (max-width: 500px) {
    .c-input-with-email__label__text {
        background-color: var(--color-smp-background)
    }
}

.c-input-with-email__label__icon {
    position: absolute;
    top: 1em;
    right: 1em;
    opacity: .6;
    cursor: pointer
}

.c-input-with-email__input {
    border: 1px solid #969696;
    border-radius: 8px;
    padding: 14px calc(14px + 2em) 14px 14px;
    font-size: 16px;
    width: 100%;
    background-color: var(--color-above-primary)
}

@media screen and (max-width: 500px) {
    .c-input-with-email__input {
        background-color: var(--color-smp-background)
    }
}

.c-input-with-email__input:focus {
    outline: 0;
    border: 2px solid var(--color-default-font);
    filter: drop-shadow(0px 6px 4px #969696)
}

.c-input-with-email__input:focus+.c-input-with-email__label .c-input-with-email__label__text {
    display: block
}

.c-input-with-email__input:focus+.c-input-with-email__label .c-input-with-email__label__icon {
    opacity: 1
}

.c-action-button {
    font-size: 14px;
    background-color: #f9aa33;
    padding: 9px 16px;
    border-radius: 28px;
    transition: all .3s ease;
    cursor: pointer
}

.c-action-button:hover {
    filter: drop-shadow(0 2px 4px rgba(235, 148, 80, 0.7))
}

.c-action-button__has-icon {
    display: flex
}

.c-action-button__has-icon__icon {
    height: 1em;
    margin: .25em .25em 0 0
}

.c-alert-button {
    font-size: 14px;
    background-color: #e17373;
    padding: 9px 16px;
    border-radius: 28px;
    transition: all .3s ease;
    cursor: pointer
}

.c-alert-button:hover {
    filter: drop-shadow(0 2px 4px rgba(231, 126, 126, 0.788))
}

.c-alert-button__has-icon {
    display: flex
}

.c-alert-button__has-icon__icon {
    height: 1em;
    margin: .25em .25em 0 0
}

.c-cancel-button {
    font-size: 14px;
    color: #f9aa33;
    padding: 9px 16px;
    border-radius: 28px;
    margin-right: 8px;
    transition: all .3s ease;
    cursor: pointer
}

.c-cancel-button:hover {
    background-color: #fff5a0
}

.c-select-box {
    position: relative
}

.c-select-box__select {
    cursor: pointer;
    border: 1px solid #969696;
    width: 100%;
    padding: 14px;
    outline: 0;
    border-radius: 8px
}

.c-select-box::after {
    position: absolute;
    content: "";
    right: 24px;
    top: calc((100% - 18px) / 2);
    width: 18px;
    height: 18px;
    margin: 6px 4px 0 0;
    opacity: .5;
    background-image: url(./img/common/chevron.svg);
    background-size: contain
}

.c-search-and-add-member-list-container-list,
.c-search-and-add-tab-member-list-container-list {
    display: flex;
    padding: 0 16px;
    justify-content: space-between;
    margin-top: 16px
}

.c-search-and-add-member-list-container-list__list-item,
.c-search-and-add-tab-member-list-container-list__list-item {
    display: flex;
    align-items: center
}

.c-search-and-add-member-list-container-list__list-item__arrow,
.c-search-and-add-tab-member-list-container-list__list-item__arrow {
    color: #969696;
    font-size: 24px;
    font-weight: bold
}

.c-search-and-add-member-list__list_title,
.c-search-and-add-tab-member-list__list_title {
    display: flex
}

.c-search-and-add-member-list__list_title__icon,
.c-search-and-add-tab-member-list__list_title__icon {
    width: 20px;
    height: 20px;
    margin: auto 0;
}

.c-search-and-add-member-list__list_title__text,
.c-search-and-add-tab-member-list__list_title__text {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 0 .5em
}

.c-search-and-add-member-list__list_title__select__wrapper,
.c-search-and-add-tab-member-list__list_title__select__wrapper {
    position: relative;
    width: 100%;
}
.c-search-and-add-member-list__list_title__select__wrapper::after,
.c-search-and-add-tab-member-list__list_title__select__wrapper::after {

    content: "";
    position: absolute;
    top: 6px;
    right: 16px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
}

.c-search-type-property {
    display: block;
}

.c-search-type-email {
    display: none;
}

.c-search-and-add-member-list__list_title__select__text,
.c-search-and-add-tab-member-list__list_title__select__text {
    width: 100%;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 0 .5em
}

.c-search-and-add-member-list__list_data,
.c-search-and-add-tab-member-list__list_data {
    height: 480px;
    width: 375px;
    margin: 16px 0 0 0;
    border: 1px solid #969696;
    border-radius: 8px;
    overflow: scroll
}

.c-search-and-add-member-list__list_data__input,
.c-search-and-add-tab-member-list__list_data__input {
    padding: 0 15px 0;
    background-color: var(--color-above-primary);
    margin: 15px 0 0 0
}

.c-search-and-add-member-list__list_data__input .c-input-with-label__label__icon,
.c-search-and-add-tab-member-list__list_data__input .c-input-with-label__label__icon {
    right: 2.5em
}

.c-search-and-add-member-list__list_data__input .c-input-with-email__label__icon,
.c-search-and-add-tab-member-list__list_data__input .c-input-with-email__label__icon {
    right: 2.5em
}

.c-input-with-title .c-input-with-label__label__icon {
    right: 3em;
    width: 20px;
    height: 20px;
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__input,
    .c-search-and-add-tab-member-list__list_data__input {
        background-color: var(--color-smp-background)
    }
}

.c-search-and-add-member-list__list_data__select-container,
.c-search-and-add-tab-member-list__list_data__select-container {
    padding: 0 15px 0;
    margin: 15px 0 0 0
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__select-container,
    .c-search-and-add-tab-member-list__list_data__select-container {
        background-color: var(--color-smp-background)
    }
}

.c-search-and-add-member-list__list_data__fixed_area,
.c-search-and-add-tab-member-list__list_data__fixed_area {
    position: fixed;
    background-color: var(--color-above-primary);
    width: 373px;
    border-radius: 8px 8px 0 0;
    z-index: 6
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__fixed_area {
        width: 100%;
        padding-bottom: 16px;
        background-color: var(--color-smp-background)
    }
    .c-search-and-add-member-list__list_data__fixed_area.add-tab-member {
        padding-bottom: 5px;
    }
}

.c-search-and-add-member-list__list_data__selected_tags__list,
.c-search-and-add-tab-member-list__list_data__selected_tags__list {
    padding: 8px 15px;
    display: flex;
    flex-wrap: wrap
}

.c-search-and-add-member-list__list_data__selected_tags__list__list-item,
.c-search-and-add-tab-member-list__list_data__selected_tags__list__list-item {
    background-color: #d9d9d9;
    width: fit-content;
    border-radius: 28px;
    display: flex;
    font-size: 14px;
    align-items: center;
    padding: 10px 10px 12px 16px;
    margin: 8px 8px 0 0
}

.c-search-and-add-member-list__list_data__selected_tags__list__list-item__text,
.c-search-and-add-tab-member-list__list_data__selected_tags__list__list-item__text {
    padding-right: 6px;
    line-height: 1em;
    font-weight: bold
}

.c-search-and-add-member-list__list_data__selected_tags__list__list-item__icon,
.c-search-and-add-tab-member-list__list_data__selected_tags__list__list-item__icon {
    height: 1.2em;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-search-and-add-member-list__list_data__selected_tags__list__list-item__icon:hover,
.c-search-and-add-tab-member-list__list_data__selected_tags__list__list-item__icon:hover {
    opacity: .5
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__select_target,
    .c-search-and-add-tab-member-list__list_data__select_target {
        width: 100%
    }
}

.c-search-and-add-member-list__list_data__select_target__select-target-list,
.c-search-and-add-tab-member-list__list_data__select_target__select-target-list {
    padding-bottom: 16px
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__select_target__select-target-list,
    .c-search-and-add-tab-member-list__list_data__select_target__select-target-list {
        padding-bottom: 0
    }
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item,
.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item {
    display: flex;
    align-items: center;
    padding: 13px 0;
    position: relative;
    transition: all .3s ease
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item .c-user-info__identity-container {
    display: flex;
    flex-direction: column;
    margin-left: .5em
}

.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item .c-group-info__identity-container {
    display: flex;
    flex-direction: column;
    margin-left: 1.5em
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item .c-user-info__name,
.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item .c-group-info__name {
    font-size: 16px
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper,
.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper {
    transition: all .3s ease;
    width: 18px;
    height: 18px;
    margin: 0 24px 0 auto;
    opacity: .6;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper,
    .c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper {
        width: auto;
        height: auto;
        margin: 0 0 0 auto;
        padding: 18px;
        opacity: .6 !important
    }
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper,
    .c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper {
        width: 18px;
        height: 18px
    }
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item:hover,
.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item:hover {
    background: #f2f2f2;
    cursor: pointer
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item:hover .c-search-and-add-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper,
.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item:hover .c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item__delete-wrapper {
    opacity: 1
}

.c-search-and-add-member-list__list_data__select_target__select-target-list__list-item::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    right: 18px;
    background-color: #d9d9d9;
    width: calc(100% - 90px)
}

.c-search-and-add-tab-member-list__list_data__select_target__select-target-list__list-item::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    right: 18px;
    background-color: #d9d9d9;
    width: calc(100% - 40px)
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list-by-email__list_data__select_target {
        width: 100%
    }
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list {
    padding-bottom: 16px
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list-by-email__list_data__select_target__select-target-list {
        padding-bottom: 0
    }
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item {
    display: flex;
    align-items: center;
    padding: 13px 0;
    position: relative;
    transition: all .3s ease
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item .c-user-info__identity-container {
    display: flex;
    flex-direction: column;
    margin-left: .5em
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item .c-user-info__name {
    font-size: 16px
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item__delete-wrapper {
    transition: all .3s ease;
    width: 18px;
    height: 18px;
    margin: 0 24px 0 auto;
    opacity: .6;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item__delete-wrapper {
        width: auto;
        height: auto;
        margin: 0 0 0 auto;
        padding: 18px;
        opacity: .6 !important
    }
}

@media screen and (max-width: 500px) {
    .c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item__delete {
        width: 18px;
        height: 18px
    }
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item:hover {
    background: #f2f2f2;
    cursor: pointer
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item:hover .c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item__delete-wrapper {
    opacity: 1
}

.c-search-and-add-member-list-by-email__list_data__select_target__select-target-list__list-item::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 0;
    right: 18px;
    background-color: #d9d9d9;
    width: calc(100% - 90px)
}

.c-switchable-segmentation .segmented {
    background-color: #5a5a5a;
    border-radius: 50px;
    height: 36px;
    padding: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin: 0 auto
}

.c-switchable-segmentation .segmented>button {
    border-radius: 21px;
    border: 0;
    padding: 0 16px;
    background: transparent;
    position: relative;
    z-index: 2;
    height: 32px;
    transition: all .2s;
    color: var(--color-above-primary);
    cursor: pointer;
    margin-right: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-switchable-segmentation .segmented>button:hover {
    opacity: .5
}

.c-switchable-segmentation .segmented>button.dropdown-menu-container {
    padding: 0
}

.c-switchable-segmentation .segmented>button.dropdown-menu-container>.dropdown-menu {
    padding: 0 20px;
    height: 32px
}

.c-switchable-segmentation .segmented>button .arrow {
    width: 8px;
    height: 5px;
    margin-left: 10px
}

.c-switchable-segmentation .segmented>button .arrow svg {
    display: block
}

.c-switchable-segmentation .segmented>button:last-child {
    margin-right: 0
}

.c-switchable-segmentation .segmented>button:not(.active):active {
    background: rgba(0, 0, 0, .07)
}

.c-switchable-segmentation .segmented>button.active {
    color: #5a5a5a;
    background-color: #d9d9d9
}

.c-switchable-segmentation .segmented-highlight {
    background: #d9d9d9;
    color: #0a0b2a;
    height: 32px;
    border-radius: 50px;
    position: absolute;
    width: var(--width);
    transform: translateX(var(--translateX));
    transition: all .2s ease;
    z-index: 1;
    left: 0;
    top: 2px
}

.c-switchable-segmentation .dropdown-menu {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-divide-three-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden
}

.c-divide-three-container>*:first-of-type {
    width: 28px;
    height: 56px;
    grid-area: 1/1/3/2
}

.c-divide-three-container>*:first-of-type>img {
    width: 28px;
    height: 56px;
    object-fit: cover
}

.c-divide-three-container>*:nth-of-type(2) {
    grid-area: 1/2/2/3
}

.c-divide-three-container>*:nth-of-type(3) {
    grid-area: 2/2/3/3
}

.c-divide-three-container>*:nth-of-type(n + 2) {
    width: 28px;
    height: 28px
}

.c-divide-three-container>*:nth-of-type(n + 2)>img {
    width: 28px;
    height: 28px;
    object-fit: cover
}

.c-divide-two-container {
    width: 56px;
    height: 56px;
    display: flex;
    border-radius: 50%;
    overflow: hidden
}

.c-divide-two-container>* {
    width: 28px;
    height: 56px
}

.c-divide-two-container>*>img {
    width: 28px;
    height: 56px;
    object-fit: cover
}

.c-at-once-send-address-list {
    padding: 16px 0;
    border-radius: 7px;
    background: var(--color-above-primary);
    max-height: 410px;
    overflow-y: scroll
}

.c-at-once-send-address-list__container {
    padding: 0 16px;
    background-color: #f2f2f2
}

.c-at-once-send-address-list__list-item {
    display: flex;
    align-items: center;
    padding: 7px 0 7px 16px
}

.c-at-once-send-address-list__list-item .c-error-text {
    margin-right: 16px
}

.c-at-once-send-address-list__list-item__delete {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none;
    padding: 16px
}

.c-at-once-send-address-list__list-item__delete:hover {
    opacity: .5
}

.c-at-once-send-address-list__list-item .c-user-info__icon-wrapper {
    margin-left: 0
}

.c-at-once-send-address-list__list-item .c-user-info__icon__delete {
    opacity: .5;
    width: 20px
}

.c-at-once-send-address-list__list-item__add-or-edit {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.c-at-once-send-address-list__list-item__add-or-edit:hover {
    opacity: .5
}

.c-at-once-send-address-list__list-item__add-or-edit .c-user-info__name {
    font-weight: normal;
    font-size: 16px
}

.c-at-once-send-address-list__list-item__is-error {
    color: #f00000;
    transition: all .3s ease
}

.c-at-once-send-address-list__list-item__is-error .c-user-info__icon {
    border: 2px solid #f00000
}

.c-at-once-send-address-list__list-item__is-error:hover {
    cursor: pointer;
    background-color: #ffe8e6
}

.select {
    z-index: 5;
    width: 100%;
    height: 54px;
    cursor: pointer;
    background-color: var(--color-above-primary);
    box-shadow: 0 2px 0 var(--color-above-primary);
    border-radius: 2px;
    position: relative
}

@media screen and (max-width: 500px) {
    .select {
        background-color: var(--color-smp-background);
        box-shadow: 0 2px 0 var(--color-smp-background)
    }
}

.select_options {
    position: relative;
    background-color: var(--color-above-primary);
    border-radius: 8px
}

@media screen and (max-width: 500px) {
    .select_options {
        background-color: var(--color-smp-background)
    }
}

.select_expand {
    width: 0;
    height: 54px;
    position: absolute;
    top: 0;
    right: 0
}

.select_expand::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='M7 5.6L1.7.3C1.3-.1.7-.1.3.3c-.4.4-.4 1 0 1.4l6 6c.4.4 1 .4 1.4 0l6-6c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L7 5.6z' fill-rule='evenodd' clip-rule='evenodd' fill='%231b1b1b'/%3E%3C/svg%3E");
    position: absolute;
    top: 0;
    right: 14px;
    width: 14px;
    height: 8px;
    font-size: 28px;
    pointer-events: none;
    z-index: 2;
    transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
    opacity: .6
}

@media screen and (max-width: 500px) {
    .select_expand::after {
        top: 50%;
    }
}

.select_expand:hover::after {
    opacity: 1
}

.select_expand:checked::after {
    transform: scaleY(-1) translateY(-550%)
}

@media screen and (max-width: 500px) {
    .select_expand:checked::after {
        top: 0;
        transform: scaleY(-1) translateY(-330%)
    }
}

.select_expandLabel {
    display: block;
    width: 100%;
    height: 54px;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer
}

.select_close {
    display: none
}

.select_closeLabel {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none
}

.select_items {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #969696;
    border-radius: 8px;
    padding-top: 54px
}

.select_input {
    display: none
}

.select_label {
    transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
    display: block;
    height: 0;
    line-height: 54px;
    overflow: hidden;
    color: #3e3e3e;
    background-color: var(--color-above-primary);
    border-radius: 8px;
    cursor: pointer;
    padding-left: 15px
}

@media screen and (max-width: 500px) {
    .select_label {
        background-color: var(--color-smp-background)
    }
}

.select_label-placeholder {
    height: 54px;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .6;
    background-color: transparent
}

.select_expand:checked+.select_closeLabel {
    display: block
}

.select_expand:checked+.select_closeLabel+.select_options .select_label {
    height: 54px;
    background-color: var(--color-above-primary)
}

@media screen and (max-width: 500px) {
    .select_expand:checked+.select_closeLabel+.select_options .select_label {
        background-color: var(--color-smp-background)
    }
}

.select_expand:checked+.select_closeLabel+.select_options .select_label:hover {
    background-color: #f2f2f2
}

.select_expand:checked+.select_closeLabel+.select_options+.select_expandLabel {
    display: none
}

.select_input:checked+.select_label {
    height: 54px;
    margin-top: -54px
}

.select:hover .select_options {
    background-color: var(--color-above-primary)
}

@media screen and (max-width: 500px) {
    .select:hover .select_options {
        background-color: var(--color-smp-background)
    }
}

.select:hover .select_label {
    background-color: var(--color-above-primary)
}

@media screen and (max-width: 500px) {
    .select:hover .select_label {
        background-color: var(--color-smp-background)
    }
}

.select:hover .select_items {
    border: 2px solid #1b1b1b
}

.c-checkbox-control {
    position: relative;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    width: 100%;
    align-items: center
}

.c-checkbox-control__indicator {
    margin: 4% 18px 0 0;
    position: absolute;
    top: 2px;
    right: 0;
    height: 20px;
    width: 20px;
    border: 1px solid #969696;
    border-radius: 4px
}

.c-checkbox-control__indicator:after {
    content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 3px;
    width: 7px;
    height: 10px;
    border: solid var(--color-above-primary);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.c-checkbox-control__hidden-input {
    position: absolute;
    z-index: -1;
    opacity: 0
}

.c-checkbox-control__hidden-input:checked~.c-checkbox-control__indicator {
    background: var(--color-primary);
    border-color: var(--color-primary)
}

.c-checkbox-control__hidden-input:checked~.c-checkbox-control__indicator:after {
    display: block
}

.c-selected-member-edit-list {
    height: 108px;
    padding: 16px 16px 16px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;
    background-color: var(--color-above-primary);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    filter: drop-shadow(0 -4px 8px rgba(27, 27, 27, 0.4))
}

.c-selected-member-edit-list__add-member {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.c-selected-member-edit-list__add-member__icon {
    width: 18px
}

.c-selected-member-edit-list__add-member__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background-color: var(--color-primary)
}

.c-selected-member-edit-list__add-member__text {
    font-size: 12px
}

.c-selected-member-edit-list__selected-member {
    margin: 0 15px 0 0;
    overflow-x: scroll;
    padding: 3px 0 0 0
}

.c-selected-member-edit-list__selected-member__list {
    display: flex
}

.c-selected-member-edit-list__selected-member__list__list-item {
    margin-left: 8px;
    position: relative;
    text-align: center
}

.c-selected-member-edit-list__selected-member__list__list-item .c-user-info__icon-wrapper {
    margin: 0
}

.c-selected-member-edit-list__selected-member__list__list-item .c-user-info__identity-container {
    max-width: 5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px
}

.c-selected-member-edit-list__selected-member__list__list-item .c-user-info__name {
    font-size: 12px;
    font-weight: normal
}

.c-selected-member-edit-list__selected-member__list__list-item__delete-icon {
    width: 20px
}

.c-selected-member-edit-list__selected-member__list__list-item__delete-icon-wrapper {
    position: absolute;
    right: -4px;
    top: -4px;
    padding: 2px;
    display: inline-block;
    border-radius: 50%;
    background-color: #fff
}

.c-selected-member-edit-list+.c-search-and-add-member-list__list_data__select_target .c-search-and-add-member-list__list_data__select_target__select-target-list {
    padding-bottom: 108px
}

body {
    position: relative;
    display: flex
}

.l-header {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100vw;
    height: 96px;
    justify-content: flex-start;
    background-color: var(--color-primary);
    padding: 0 24px;
    align-items: center;
    z-index: 20
}

@media screen and (max-width: 500px) {
    .l-header {
        max-width: 500px;
        padding: 0;
        width: 100%;
        position: fixed;
        height: 54px;
        background-color: #83a2ba;
    }
}

.l-header__banner {
    margin-right: 24px
}

.l-header__banner img {
    max-width: 208px;
    max-height: 48px;
    object-fit: contain
}

.l-header__search {
    position: relative
}

.l-header__search .search__glass,
.l-header__search .search__delete {
    position: absolute;
    top: 0;
    right: 0;
    margin: 16px 16px 0 0;
    width: 21px;
    height: 21px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.l-header__search .search__glass:hover,
.l-header__search .search__delete:hover {
    opacity: .5
}

.l-header__search .search__delete {
    display: none
}

.l-header__search .search__input {
    width: 50vw;
    min-width: 208px;
    background-color: #27363d;
    color: var(--color-above-primary);
    height: 56px;
    border-radius: 7px;
    font-size: 16px;
    text-indent: 14px;
    padding-right: calc(21px + 16px * 2)
}

.l-header__search .search__input::placeholder {
    color: #959595
}

.l-header__search .search__input.inputting+.search_icons .search__glass {
    display: none
}

.l-header__search .search__input.inputting+.search_icons .search__delete {
    display: block
}

.l-header__c-user-info {
    margin-left: auto;
    padding-left: 1em;
    color: var(--color-above-primary);
    display: flex;
    text-align: right
}

.l-header__c-user-info .c-user-info__belonging,
.l-header__c-user-info .c-user-info__name {
    color: var(--color-above-primary)
}

.l-header__c-user-info .c-user-info__icon__unset .c-user-info__belonging,
.l-header__c-user-info .c-user-info__icon__unset .c-user-info__name {
    color: var(--color-default-font)
}

.l-header__smp-inner-list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center
}

.l-header__smp-inner-list > li:nth-of-type(2){
    margin-right: auto;
    margin-left: 32px;
}

.l-header__smp-inner-list__list-item {
    max-width: calc(100% - 140px);
    display: flex;
}

.l-header__smp-inner-list__list-item__icon {
    height: 24px
}

.l-header__smp-inner-list__list-item__icon__wrapper {
    padding: 15px;
    width: 54px
}

.l-header__smp-inner-list__list-item__icon__prev {
    height: 14px
}

.l-header__smp-inner-list__list-item__title {
    /*
    color: var(--color-above-primary);
    */
    color: #1b1b1b;
    /*
    font-weight: bold;
    */
    font-size: 20px;
    line-height: 24px;
    margin: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    white-space: nowrap;
}

.l-menu {
    background-color: var(--color-primary);
    width: 256px;
    height: calc(100vh - 96px);
    max-height: calc(100vh - 96px);
    position: relative;
    margin-top: 96px;
    padding-top: 64px;
    overflow-y: scroll
}

.l-menu::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.l-menu::-webkit-scrollbar-track {
    border-radius: 10px
}

.l-menu::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(255, 255, 255, .5)
}

.l-main {
    margin-top: 96px;
    display: flex;
    overflow: hidden;
    height: calc(100vh - 96px)
}

@media screen and (max-width: 500px) {
    .l-main {
        height: calc(100vh - 54px);
        margin-top: 54px;
        background-color: var(--color-smp-background);
        overflow-y: scroll
    }
}

.inner-menu-card__texts {
    width: 100%;
    padding: 0 14px;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (max-width: 500px) {
    .inner-menu-card__texts {
        padding: 0 16px;
        position: relative
    }

    .inner-menu-card__texts::after {
        content: "";
        position: absolute;
        width: calc(100% - 16px * 2);
        bottom: -16px;
        left: 16px;
        border-bottom: 1px solid #d9d9d9
    }
}

.inner-menu-card__texts__lower {
    position: relative;
    width: 100%
}

.inner-menu-card__message {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: .3em;
    max-width: 22em
}

@media screen and (max-width: 500px) {
    .inner-menu-card__message {
        color: #969696
    }
}

.inner-menu-card_thumbnail {
    width: 100%;
    height: 56px;
    overflow: hidden;
    margin: 4px 0;
}

.inner-menu-card_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.inner-menu-card_thumbnail.no-image {
    height: 0px;
    margin: 0;
}

.l-inner-menu {
    width: 391px;
    min-width: 391px;
    background-color: #d9d9d9;
}

.l-inner-menu::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.l-inner-menu::-webkit-scrollbar-track {
    border-radius: 10px
}

.l-inner-menu::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #3b515c
}

.l-inner-menu.is-loading .l-inner-menu-card-list-container,
.l-inner-menu.is-loading .l-inner-menu-helper-text-container,
.l-inner-menu.is-loading .l-inner-menu-contacts-tabs-container,
.l-inner-menu.is-loading .l-inner-menu-groupchat-tabs-container
{
    display: none
}

.l-inner-menu.is-loading::before {
    top: calc((50% - 48px) / 2)
}

.l-inner-menu .l-inner-menu-title-container {
    padding: 30px 14px 0 14px;
    position: absolute;
    width: 391px;
    z-index: 10;
    height: 84px;
    background-color: #d9d9d9;
    display: flex;
    width: 391px;
    justify-content: space-between;
    margin-top: 0px!important;
}

.l-inner-menu .l-inner-menu-title-container__title {
    font-weight: bold;
    font-size: 16px;
    padding: 0 0 0 14px
}

.l-inner-menu .l-inner-menu-title-container__button-wrapper {
    padding: 16px;
    border-radius: 50%;
    transform: translateY(-16px);
    transition: all .3s ease;
    cursor: pointer
}

.l-inner-menu .l-inner-menu-title-container__button-wrapper {
    padding: 6px;
    border-radius: 50%;
    transform: translateY(-16px);
    transition: all .3s ease;
    cursor: pointer
}

.l-inner-menu .l-inner-menu-title-container__icon-wrapper:hover {
    background-color: #e9e9e9
}

.l-inner-menu .l-inner-menu-title-container__icon {
    width: 24px
}

.l-inner-menu .l-inner-menu-item-list-container {
    overflow-y: scroll;
    overflow-x: hidden;
}

.l-inner-menu-item-list-container::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.l-inner-menu-item-list-container::-webkit-scrollbar-track {
    border-radius: 10px
}

.l-inner-menu-item-list-container::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #3b515c
}

.l-inner-menu-item-list-container__new-message, 
.l-inner-menu-item-list-container__broadcast-message,
.l-inner-menu-item-list-container_search,
.l-inner-menu-item-list-container_search-posts {
    margin: 84px 0 0 14px;
    height: calc(100vh - 180px);
}
.l-inner-menu-item-list-container__chat,
.l-inner-menu-item-list-container__group-chat,
.l-inner-menu-item-list-container__posts {
    margin: 168px 0 0 14px;
    height: calc(100vh - 265px);
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item {
    padding: 0
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item .inner-menu-card__texts {
    min-height: unset
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item .inner-menu-card__texts>div {
    padding: 16px 0
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item .inner-menu-card__texts>div:not(:only-of-type):first-of-type {
    padding: 16px 0 0
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item .inner-menu-card__texts>div:not(:only-of-type):nth-of-type(2) {
    padding: 0 0 16px
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item .inner-menu-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 9px;
    margin-bottom: 9px
}

.l-inner-menu .l-inner-menu-title-container__segmentation+.l-inner-menu-card-list-container .l-inner-menu-card-list__list-item>.c-user-info__name {
    font-size: 16px
}

.l-inner-menu .l-inner-menu-contacts-tabs-container,
.l-inner-menu .l-inner-menu-groupchat-tabs-container {
    padding: 84px 14px 0 14px;
    position: absolute;
    width: 391px;
    z-index: 9;
    /* height: 84px; */
    background-color: #d9d9d9;
    display: flex;
    justify-content: space-between;
    margin-top: 0px!important;
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__select-contats-tabs-container,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__select-groupchat-tabs-container {
    padding: 0 0 0 0;
    margin: 0 0 1em 0;
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__select-contats-tabs-container__wrapper,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__select-groupchat-tabs-container__wrapper {
    width: 300px;
    /* height: 300px; */
    /* overflow-y: visible; */
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__select-contats-tabs,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__select-groupchat-tabs {
    background-color: #d9d9d9;
    box-shadow: 0;
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__icon-wrapper,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__icon-wrapper {
    width: 56px;
    height: 56px;
    padding: 16px;
    border-radius: 50%;
    /* transform: translateY(-16px); */
    transition: all .3s ease;
    cursor: pointer;
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__icon-wrapper:hover,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__icon-wrapper:hover {
    background-color: #e9e9e9
}

.l-inner-menu .l-inner-menu-contacts-tabs-container__icon,
.l-inner-menu .l-inner-menu-groupchat-tabs-container__icon {
    width: 6px;
    margin: auto;
    display: block;
}

.l-inner-menu .search__input{
    width: 300px;
    background-color: #ffffff;
    height: 56px;
    border-radius: 7px;
    font-size: 16px;
    text-indent: 14px;
    padding-right: calc(21px + 16px * 2);   
}

/* Y軸回転アニメーション */
@keyframes rotateY {
  0% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(180deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}

.l-picked-up-scope-target {
    padding-top: 16px
}

/* Removed empty ruleset */

.l-picked-up-scope-target__message {
    display: flex;
    margin: 0 0 0 24px;
    align-items: center
}

.l-picked-up-scope-target__message__text {
    font-size: 20px;
    margin: 0 0 0 .35em
}

.l-picked-up-scope-target__message__icon {
    height: 20px
}

.l-picked-up-scope-target+.l-inner-menu-card-list {
    padding-top: 16px
}

.l-picked-up-scope-target+.l-inner-menu-helper-text-container {
    padding-top: 20px
}

.inner-menu-card__icon+.inner-menu-card__texts {
    padding-left: 0;
    width: calc(100% - 88px)
}

.inner-menu-card__icon+.inner-menu-card__texts__post {
    padding-left: 0;
    width: calc(100% - 44px)
}

.inner-menu-card__icon+.inner-menu-card__texts .inner-menu-card__message {
    max-width: 17em
}

.inner-menu-card__icon+.inner-menu-card__texts .inner-menu-card__message:only-child {
    max-width: 100%
}

.l-inner-contents {
    width: calc(100vw - 256px - 391px);
    min-width: 391px;
    background-color: #f2f2f2;
    overflow-y: scroll
}

.l-inner-contents::-webkit-scrollbar {
    width: 5px;
    height: 5px
}

.l-inner-contents::-webkit-scrollbar-track {
    border-radius: 10px
}

.l-inner-contents::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #3b515c
}

@media screen and (max-width: 500px) {
    .l-inner-contents {
        min-width: unset;
        width: 100%
    }
}

.l-inner-contents__header {
    height: 80px;
    display: flex;
    padding: 16px 24px 26px 8px;
    position: absolute;
    width: calc(100vw - 256px - 391px);
    z-index: 15;
    background-color: #f2f2f2;
    border-bottom: 1px solid;
    border-color: #d9d9d9;
}

.l-inner-contents__header .c-user-info__icon {
    margin-left: 0
}

.l-inner-contents__body {
    height: calc(100% - 80px);
    margin-top: 80px
}

@media screen and (max-width: 500px) {
    .l-inner-contents__body {
        margin: 0
    }
}

.l-inner-contents__footer {
    position: fixed;
    bottom: 0;
    z-index: 10;
    background-color: var(--color-above-primary);
    width: calc(100vw - 256px - 391px)
}

@media screen and (max-width: 500px) {
    .l-inner-contents__footer {
        width: 100%;
        position: fixed;
    }
}

.l-inner-contents__footer .c-error-text {
    padding: 16px
}

.l-inner-contents__footer .l-inner-menu-helper-text-container {
    background-color: #f2f2f2
}


.l-inner-contents__footer__botom-container {
    display: flex;
    justify-content: center;
    height: 86px;
    padding: 24px 0;
    background-color: #f2f2f2;
    position: fixed;
    bottom: 0;
    width: calc(100% - 391px - 256px);
}

.l-inner-contents__footer__botom-button {
    /* height: 86px;
    padding: 24px 0;
    background-color: #f2f2f2;
    position: fixed;
    bottom: 0;
    width: calc(100% - 391px - 256px); */
    padding: 4px;
    display: none
}

.l-inner-contents__footer__botom-button .c-action-button {
    margin: 0 auto
}

.l-inner-contents__not-fixed-stack {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0
}

.l-inner-contents__not-fixed-stack .l-inner-contents__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.l-inner-contents__not-fixed-stack .l-inner-contents__footer {
    position: relative;
    width: 100%
}

.l-inner-contents__not-fixed-stack .l-inner-menu-helper-text-container {
    padding: 16px 0
}

.l-inner-contents.afterSending .l-inner-contents__header {
    position: relative
}

.l-inner-contents.afterSending .l-inner-contents__body {
    margin: 0
}

.l-inner-contents.afterSending .l-inner-menu-helper-text-container,
.l-inner-contents.afterSending .c-at-once-send-address-list__list-item__add-or-edit,
.l-inner-contents.afterSending .c-at-once-send-address-list__list-item__delete {
    display: none
}

.l-inner-contents.afterSending .c-sent-message-container {
    display: block
}

.l-inner-contents.afterSending .c-atch-container-list {
    margin-left: 0;
    padding-right: 20px;
    transition: all .3s ease;
    cursor: pointer;
    user-select: none
}

.l-inner-contents.afterSending .c-atch-container-list:hover {
    opacity: .5
}

.l-inner-contents.afterSending .c-atch-container-list__icon-wrapper__delete {
    display: none
}

.l-inner-contents.afterSending .l-inner-contents__footer {
    display: none
}

.l-inner-contents.afterSending .l-inner-contents__footer__botom-button {
    display: block
}

.l-inner-contents.afterSending .c-message-edit-and-actions {
    display: none
}

.l-inner-menu-helper-text-container {
    padding: 92.4px 0 0;
    margin: auto
}


.l-inner-menu-helper-text-container__text {
    text-align: center;
    font-size: 12px
}

.l-inner-menu-helper-text-container__icon {
    display: inline-block;
    height: .8em;
    margin: 0 .25em
}

@media screen and (max-width: 500px) {
    .l-inner-menu-card-list {
        padding: 86px 0 0 0
    }
}

.l-inner-menu-card-list__list-item {
    display: flex;
    padding: 16px 0;
    cursor: pointer;
    transition: all .3s ease
}

.l-inner-menu-card-list__list-item:hover {
    background-color: #e9e9e9
}

.l-inner-menu-card-list__list-item.is_selected {
    background-color: #f2f2f2;
    pointer-events: none
}

.l-inner-menu-card-list__list-item__has-no-group {
    padding: 0 14px
}

.l-inner-menu-card-list__list-item__has-no-group .inner-menu-card__texts {
    text-align: center;
    font-size: 12px;
    background-color: #fff;
    padding: 24px 0;
    border-radius: 8px
}

.l-inner-menu-card-list__list-item__has-no-group .inner-menu-card__texts-wrapper {
    width: 100%
}

.l-inner-menu-card-list__list-item__has-no-group .inner-menu-card__texts::after {
    display: none
}

.l-inner-menu-card-list__list-item-checkbox{
    margin-left: 16px;
}

@media screen and (max-width: 500px) {
    .l-inner-menu-card-list .inner-menu-card__texts .c-user-info__name {
        font-size: 16px
    }
}

.l-inner-menu-card-list .inner-menu-card__texts__upper+.c-user-info__name {
    overflow: hidden;
    text-overflow: ellipsis
}

.l-inner-menu-card-list .inner-menu-card__texts:only-child .inner-menu-card__message {
    max-width: calc(100% - 2em)
}

.l-inner-menu-card-list .inner-menu-card__texts:only-child .inner-menu-card__message:only-child {
    max-width: 100%
}

.l-inner-menu-card-list .inner-menu-card__texts .c-user-info_identity_container {
    max-width: calc(100% - 97px);
    width: 100%
}

.l-inner-menu-card-list .inner-menu-card__texts .c-user-info_identity_container>span {
    overflow: hidden;
    text-overflow: ellipsis
}

.l-inner-menu-card-list .inner-menu-card__texts .c-user-info_date_container {
    width: 97px;
    text-align: right
}

.l-inner-menu-card-list .inner-menu-card__texts .c-item__unread {
    margin-top: .35em
}

@media screen and (max-width: 500px) {
    .l-inner-menu-card-list-container {
        width: 100%
    }
}

.l-inner-menu-card-list-container__send-at-once .c-user-info_identity_container {
    position: relative
}

.l-inner-menu-card-list-container__send-at-once .c-user-info_identity_container .c-user-info__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 9em;
    font-size: 16px
}

.l-inner-menu-card-list-container__send-at-once .c-user-info_identity_container .c-user-info__num {
    position: absolute;
    right: 0;
    line-height: 1em;
    font-weight: bold
}

.inner-menu-card__icon {
    margin: 0 16px 0 0
}

.inner-menu-card__icon .c-user-info__icon {
    margin: 0
}

.inner-menu-card__texts__upper {
    display: flex;
    justify-content: space-between
}

.inner-menu-card__texts__upper .c-user-info_identity_container,
.inner-menu-card__texts__upper .c-user-info_date_container {
    display: flex;
    flex-direction: column
}

.inner-menu-card__texts__upper .c-user-info_identity_container .c-user-info__belonging,
.inner-menu-card__texts__upper .c-user-info_identity_container .c-user-info__name,
.inner-menu-card__texts__upper .c-user-info_identity_container .c-user-info__date,
.inner-menu-card__texts__upper .c-user-info_date_container .c-user-info__belonging,
.inner-menu-card__texts__upper .c-user-info_date_container .c-user-info__name,
.inner-menu-card__texts__upper .c-user-info_date_container .c-user-info__date {
    line-height: 1em
}

.c-groupchat-group__name {
    line-height: 1.5em !important
}

.inner-menu-card__texts__upper>*:only-child {
    max-width: 100% !important
}

.inner-menu-card__texts__lower .c-item__unread {
    left: unset;
    right: 0;
    top: 0
}

.l-modal {
    position: fixed;
    top: 0;
    /*user-select: none;*/
    z-index: 100
}

.l-modal-inner {
    width: 100vw;
    height: 100vh;
    display: none
}

.l-modal-inner.is-open {
    display: flex !important
}

.l-modal-inner__has-single-button .l-modal-overlay .l-modal-body .l-modal-title {
    text-align: center
}

.l-modal-inner__has-single-button .l-modal-overlay .l-modal-body .l-modal-buttons {
    justify-content: center
}

.l-modal-overlay {
    background-color: rgba(0, 0, 0, .5);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.l-modal-overlay__transparent {
    background-color: transparent
}

.l-modal-body {
    background-color: var(--color-above-primary);
    padding: 30px 24px 24px 24px;
    width: 311px;
    filter: drop-shadow(0 0 0 rgba(2, 27, 27, 0.4));
    border-radius: 16px
}

.l-modal-body__select-member {
    width: 854px;
    padding: 8px 0 16px
}

.l-modal-body__select-member .c-input-with-title {
    padding: 0 16px
}

.l-modal-body__select-member .c-input-with-title__title {
    left: calc(0.5em + 16px)
}

.l-modal-body__select-member>.c-input-with-title__input_container {
    border-bottom: 1px solid #969696;
    padding: 0 0 24px 0
}

.l-modal-body__select-member .l-modal-buttons {
    border-top: 1px solid #969696;
    padding: 16px 14px 0
}

.l-modal-body__contacts-tabs,
.l-modal-body__groupchat-tabs {
    padding: 8px 0 16px
}

.l-modal-body__contacts-tabs .l-modal-title,
.l-modal-body__groupchat-tabs .l-modal-title {
    padding: 16px 24px 12px 24px;
}

.l-modal-body__contacts-tabs .c-input-with-title__title,
.l-modal-body__groupchat-tabs .c-input-with-title__title {
    left: calc(0.5em + 16px)
}

.l-modal-body__contacts-tabs .l-modal-buttons,
.l-modal-body__groupchat-tabs .l-modal-buttons {
    border-top: 1px solid #969696;
    padding: 8px 14px 0;
    margin-top: 12px;
}

.c-contacts-tab-edit__list_item,
.c-groupchat-tab-edit__list_item{
    height: 60px;
    padding: 0 24px
}

.c-contacts-tab-edit__list_item::after {
    content: "";
    position: absolute;
    height: 1px;
    bottom: 0;
    right: 18px;
    background-color: #d9d9d9;
    width: calc(100% - 90px);
}

.c-contacts-tab-edit__list_item__item,
.c-groupchat-tab-edit__list_item__item {
    align-items: center;
    display: flex;
    /* background-color: #6e6e6e; */
}

.c-contacts-tab-edit__list_item:hover,
.c-groupchat-tab-edit__list_item:hover {
    background-color: #f2f2f2;
}

.c-contacts-tab-edit__list_item__text,
.c-groupchat-tab-edit__list_item__text {
    padding-left: 16px;
    color: var(--color-default-font)
}

.l-modal-body__select-member__at-once .c-search-and-add-member-list__list_data__fixed_area {
    padding: 0 0 16px 0
}

.l-modal-body__select-member__at-once .c-search-and-add-member-list__list_data__fixed_area+.c-search-and-add-member-list__list_data__select_target {
    padding: 85px 0 0 0
}

.l-modal-title {
    font-size: 16px;
    font-weight: bold
}

.l-modal-caption {
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 14px;
    text-align: justify
}

.l-modal-buttons {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end
}

.l-modal-inner__confirm-member .l-modal-overlay {
    background-color: transparent;
    justify-content: flex-end;
    align-items: flex-start
}

.l-modal-inner__confirm-member .l-modal-body {
    margin: 156px 30px;
    padding: 8px 0;
    width: 272px;
    overflow: hidden;
    position: relative
}

.l-modal-inner__confirm-member .l-modal-body .c-action-button {
    padding: 18px 0;
    position: absolute;
    bottom: 0;
    width: 272px;
    background-color: var(--color-above-primary);
    border-radius: 0;
    border-top: 1px solid #d9d9d9;
    outline: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center
}

.l-modal-inner__confirm-member .l-modal-body .c-action-button__icon {
    width: 24px;
    margin-right: 6px
}

.l-modal-inner__confirm-member .l-modal-body .c-action-button:hover {
    filter: none
}

.l-modal-inner__confirm-member .l-modal-body .c-action-button:hover .c-action-button__text {
    opacity: .5;
    pointer-events: none
}

.l-modal-inner__confirm-member .l-modal-body .c-action-button:hover .c-action-button__icon {
    pointer-events: none;
    opacity: .5
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list {
    overflow: scroll;
    max-height: 480px;
    padding-bottom: 64px
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item {
    padding: 6px 0;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: all .3s ease;
    max-height: 480px
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item:hover {
    background-color: #f2f2f2
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__identity-container {
    display: flex;
    flex-direction: column
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__icon-wrapper {
    margin: 0 8px 0 16px
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__icon,
.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__icon__unset {
    width: 36px;
    height: 36px
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__icon span,
.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__icon__unset span {
    font-size: 14px;
    color: var(--color-default-font)
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__belonging {
    font-size: 12px;
    color: #969696
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container .member-confirm-list__list-item .c-user-info__name {
    font-size: 14px;
    font-weight: normal
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container:not(.group_editable) .member-confirm-list {
    padding-bottom: 0
}

.l-modal-inner__confirm-member .l-modal-body .member-confirm-list__container:not(.group_editable)+.c-action-button {
    display: none
}

.debug_iframe_container {
    height: calc(100vh- 96px)
}

.debug_iframe_container .debug_iframe {
    width: calc(100vw - 256px);
    height: 100%
}

.debug_body {
    height: 100vh
}

.debug_body .l-inner-menu {
    height: 100vh
}

.debug_body .l-inner-contents {
    width: calc(100vw - 391px)
}

.debug_body .l-inner-contents__header {
    width: calc(100vw - 391px)
}

.debug_body [aria-labelledby=modal-confirm-member-title] {
    margin-top: 60px
}

@media screen and (max-width: 500px) {
    .l-smp-body {
        max-width: 500px;
        margin: 0 auto;
        height: 100vh;
        overflow: hidden;
        display: initial
    }

    .l-smp-body__debug .l-header {
        height: calc(54px + 52px) !important;
        padding-top: 52px;
        position: fixed
    }

    .l-smp-body__debug .l-header::before {
        content: "";
        position: absolute;
        background-image: url(./img/common/debug_header.svg);
        top: 0;
        left: 0;
        width: 100%;
        height: 52px;
        background-position: center
    }

    .l-smp-body__debug .l-main {
        margin-top: calc(54px + 52px) !important;
        height: calc(100vh - 54px - 52px) !important
    }
}

.l-error {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #344752;
    height: 100vh;
}

.l-error-img {
    margin: 0 auto;
    width: 12vh;
}

.l-error-title {
    margin: 2vh;
    color: white;
    font-size: 24px;
}

.l-error-text {
    margin: 0 4vh;
    font-size: 14px;
    color: white;
}

/* stamp */
.l-inner-contents__stamp_preview {
    position: absolute;
    height: 208px;
    bottom: calc(80px + 320px); /* 入力部分 + スタンプ部分 */
    z-index: 15;
    background-color: rgba(27, 27, 27, 0.5);
    width: calc(100vw - 256px - 391px)
}
.l-inner-contents__stamp_preview_smt {
    position: absolute;
    height: 150px;
    bottom: calc(80px + 320px); /* 入力部分 + スタンプ部分 */
    z-index: 15;
    background-color: rgba(27, 27, 27, 0.5);
    width: 100vw;
}

.c-inner-contents__stamp_preview {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform:  translate(-50%, -50%);
}

.c-inner-contents__stamp_preview-img {
    width: 160px;
    height: 160px;
}
.c-inner-contents__stamp_preview-img_smt {
    width: 120px;
    height: 120px;
}

.c-inner-contents__stamp_preview__action__close {
    position: absolute;
    top: 22px;
    right: 22px;
    cursor: pointer;
}
.c-inner-contents__stamp_preview__action_close-img {
    width: 12px;
    height: 12px;
}

.c-stamp-container {
    height: 320px;
}

.c-stamp-kind-container {
    height: 70px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin-left: 6px;
}

.c-stamp-kind-item {
    display: inline-block;
    margin: 0 6px 0 0;
    cursor: pointer;
    border-radius: 8px;
}

/*
.c-stamp-kind-wrapper {

}
*/

.c-stamp-kind_img {
    height: 56px;
}
.c-stamp-item-flex-container {
    height: 250px;
    overflow-y: auto;
    /* white-space: nowrap; */
    -webkit-overflow-scrolling: touch;
    display: inline-flex;
    flex-direction: row; /* 横並び(row) or 縦並び(colomun) */
    flex-wrap: wrap; /* 単一行(nowrap) or 複数行(wrap)*/
    /* flex-flow: row wrap */ /* まとめて記載する方法 */
    justify-content: flex-start; /* 寄せと間隔 */
    align-items: flex-start; /* アイテムの配置方法 */
    align-content: flex-start; /* 垂直方向の寄せと間隔（2行目以降に影響する）*/
}

.c-stamp-item-flex-item {
    margin: 0 6px 6px 0;
    /* background: #f2f2f2; */
    order: 0; /* 表示順 */
    flex-grow: 0; /* アイテムの伸長係数の比率 */
    flex-shrink: 1; /* アイテムの縮小係数の比率 */
    flex-basis: auto; /* アイテムの初期サイズを定義 */
    /* flex: 0 1 auto; */ /* まとめて記載する方法 */
    align-self: auto; /* align-items の設定を上書きできる */
    cursor: pointer;
    border-radius: 8px;
}

/*
.c-stamp-item_wrapper {
}
*/

.c-stamp-item_img {
    width: 100px;
    height: 100px;
}
.c-stamp-item_img_smt {
    width: 87px;
    height: 87px;
}

.c-atch-container-list__stamp {
    width: 270px;
    /* height: 270px; */
}

.c-atch-container-list__stamp_smt {
    width: 150px;
    margin-left: -45px;
}

.c-atch-container-list__stamp-wrapper_other_smt {
    padding-left: 2.0em;
}

.loader {
    font-size: 5px;
    margin: 160px auto;
    text-indent: -9999em;
    width: 11em;
    height: 11em;
    border-radius: 50%;
    background: #c1c1c1;
    background: -moz-linear-gradient(left, #c1c1c1 10%, rgba(255, 255, 255, 0) 42%);
    background: -webkit-linear-gradient(left, #c1c1c1 10%, rgba(255, 255, 255, 0) 42%);
    background: -o-linear-gradient(left, #c1c1c1 10%, rgba(255, 255, 255, 0) 42%);
    background: -ms-linear-gradient(left, #c1c1c1 10%, rgba(255, 255, 255, 0) 42%);
    background: linear-gradient(to right, #c1c1c1 10%, rgba(255, 255, 255, 0) 42%);
    position: relative;
    -webkit-animation: load3 1.4s infinite linear;
    animation: load3 1.4s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}
.loader:before {
    width: 50%;
    height: 50%;
    background: #c1c1c1;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}
.loader:after {
    background: #ffffff;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
@-webkit-keyframes load3 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes load3 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* groupchat-tab-container */
.l-inner-menu-card-list.tab-menu {
    padding: 110px 0 0 0
}

.c-search-and-add-tab-member-list-tag-menu-container {
    width: 100%;
    height: 30px;
}

.c-search-and-add-tab-member-list-tag-menu {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    height: 30px;
    margin: 10px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
}

.c-search-and-add-tab-member-list-tag-menu::-webkit-scrollbar {
    display: none;
}

.c-search-and-add-tab-member-list-tag-menu__item {
    flex: 0 0 auto;
    margin-right: 12px;
}

.c-search-and-add-tab-member-list-tag-menu__item.selected {
    flex: 0 0 auto;
    border-bottom: 2px solid;
    border-color: #a2a2a2;
}
.c-search-and-add-tab-member-list-tag-menu__item__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    white-space: nowrap;
    text-decoration: none;
    color: #333;
    font-size: 16px;
    scroll-snap-align: start;
    transition: all 0.2s ease;
    max-width: 140px;
    overflow: hidden;
    display: inline-block;
    text-overflow: ellipsis;
}

.c-inner-contents-send-message-list__list-item .c-hover-all-reaction-container-list {
    display: none;
    z-index: 5;
    position: absolute;
    bottom: 70%;
    /* margin-bottom: 8px; */
    left: 30%;
    padding: 12px;
    width: 320px;
    max-height: min(200px, calc(100vh - 100px));
    overflow-y: auto;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.c-inner-contents-send-message-list__list-item .c-hover-all-reaction-container-list__list-item {
    transition: all .3s ease;
    cursor: pointer;
    user-select: none;
    padding: 4px;
    height: 40px;
    flex: 0 0 auto;
}

.c-inner-contents-send-message-list__list-item .c-hover-all-reaction-container-list__list-item:hover {
    opacity: .5;
}

.c-inner-contents-send-message-list__list-item .c-hover-all-reaction-container-list.is_below {
    top: auto;
    bottom: auto;
    margin-top: 8px;
    margin-bottom: 0;
}

.c-inner-contents-send-message-list__text-container:hover .c-hover-all-reaction-container-list {
    display: flex;
}

.c-inner-contents-send-message-list__list-item .c-hover-all-reaction-container-list__list-item__image {
    height: 32px;
    width: 32px;
    object-fit: contain;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.c-hover-all-reaction-container-list::-webkit-scrollbar {
    width: 4px;
}

.c-hover-all-reaction-container-list::-webkit-scrollbar-track {
    background: transparent;
}

.c-hover-all-reaction-container-list::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

/* Update the post reaction popup to match comment reaction popup */
.c-hover-all-reaction-post-content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 320px;
    max-height: 200px;
    overflow-y: auto;
    padding: 12px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

/* Update post reaction items to match comment reaction items */
.c-hover-all-reaction-post-content__list-item {
    transition: all 0.3s ease;
    cursor: pointer;
    user-select: none;
    padding: 4px;
    height: 40px;
    flex: 0 0 auto;
}

/* Update hover effect to match comment reactions */
.c-hover-all-reaction-post-content__list-item:hover {
    transform: none;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.c-hover-all-reaction-post-content__list-item__image {
    height: 32px;
    width: 32px;
    object-fit: contain;
}

/* Add scrollbar styles to match */
.c-hover-all-reaction-post-content::-webkit-scrollbar {
    width: 4px;
}

.c-hover-all-reaction-post-content::-webkit-scrollbar-track {
    background: transparent;
}

.c-hover-all-reaction-post-content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

/* Only a mention that still carries its target is highlighted. Copying rendered
   content and pasting it back drops data-user-id, and that leftover span notifies
   nobody, so it has to read as plain text rather than look like a live mention. */
.l-inner-contents .mention[data-user-id]:not([data-user-id=""]) {
    color: rgba(0, 0, 255, 1);
}

.c-hover-edit-container-divider {
    border: 0;
    height: 1px;
    background-color: #e0e0e0;
    margin: 8px 0;
    width: 100%;
}

.quill-content {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
    overflow: auto;
}


.mention-popup {
    position: absolute;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-height: 200px;
    overflow-y: auto;
    width: 250px;
    z-index: 9999;
    background-color: #fff;
}

.mention-search-text {
    padding: 8px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.mention-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mention-item {
    padding: 8px 12px;
    display: flex;
    align-items: center;
}

.mention-item:hover, 
.mention-item.selected {
    background-color: #f0f0f0;
}

.mention-user {
    display: flex;
    cursor: pointer;
    align-items: center;
}

.mention-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    margin-right: 8px;
    text-align: center;
    background-color: #c1c1c1;
}

.mention-name {
    font-weight: 500;
    margin-right: 8px;
}

.mention-open-chat {
    margin-left: auto;
    cursor: pointer;
}

.mention-department {
    color: #666;
    font-size: 0.9em;
}

.l-modal-body__push-history {
    width: 550px;
}

.c-history-list__header {
        display: flex;
        padding: 12px 16px;
        background-color: #f8f9fa;
        font-weight: bold;
        border-bottom: 1px solid #e9ecef;
    }

.c-history-list__item {
        display: flex;
        padding: 12px 16px;
        border-bottom: 1px solid #e9ecef;
    }

.c-history-list__col {
        padding: 0 8px;
 }

 .c-history-list__col--user-id {
    width: 60%;
}

.l-modal-body .c-history-list {
        max-height: 400px;
        overflow-y: auto;
        margin: 0 -16px;
}

/* Reaction Users Popup */
.c-reaction-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    background: #f5f5f5;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    border-radius: 12px;
    padding: 4px 10px;
    font-size: 12px;
    color: #555;
    cursor: pointer;
}

.c-reaction-users-popup {
    display: none;
    position: absolute;
    bottom: 50%;
    left: -50%;
    /* transform: translateX(-50%) translateY(-10px); */
    width: 240px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    margin-bottom: 10px;
    overflow: hidden;
}

.c-reaction-badge-container {
    position: relative;
    display: inline-block;
}

.c-reaction-badge-container:hover .c-reaction-users-popup {
    display: block;
    opacity: 1;
    /* transform: translateX(-50%) translateY(0); */
}

.c-reaction-users-popup__header {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    background-color: #f9f9f9;
}

.c-reaction-users-popup__icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

.c-reaction-users-popup__count {
    font-size: 12px;
    color: #666;
    font-weight: 500;
    display: flex;
}

.c-reaction-users-popup__list {
    max-height: 240px;
    overflow-y: auto;
}

.c-reaction-user {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    transition: background-color 0.2s ease;
}

.c-reaction-user:hover {
    background-color: #f5f5f5;
}

.c-reaction-user__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    overflow: hidden;
    flex-shrink: 0;
}

.c-reaction-user__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-reaction-user__avatar-text {
    font-size: 14px;
    font-weight: 500;
    color: #757575;
}

.c-reaction-user {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.c-reaction-user__name {
    font-size: 14px;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    margin: 0 12px;
}

.c-reaction-user__icon {
    margin-left: auto;
}

.c-reaction-user__icon img {
    width: 18px;
    height: 18px;
    opacity: 0.8;
}

.c-reaction-badge.is-current-user {
    background-color: #e3f2fd;
    border-color: #90caf9;
}
.c-reaction-badge-img-container {
    margin-right: 4px;
    display: flex;
    align-items: center;
}
.c-reaction-badge-img-container img {
    width: 18px;
    height: 18px;
    display: block;
}

.c-post-container__body__reactions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

/* .c-post-container__body__reactions .c-reaction-badge {
    border-radius: 12px; 
    padding: 2px 8px; 
    font-size: 12px; 
    color: #555; 
    display: flex; 
    align-items: center;
} */

.c-reaction-menu-container {
    position: relative;
    display: inline-block;
}

.c-hover-all-reaction-post-content {
    display: none;
    position: absolute;
    bottom: 100%;
    right: 0;
    z-index: 1000;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 90vw;
    transform: translateX(0);
}

.c-post-container__body__reactions .c-reaction-badge.new-reaction-badge {
    border-radius: 12px; 
    padding: 2px 8px; 
    font-size: 12px; 
    color: #555; 
    display: flex; 
    align-items: center;
}

.c-comment-info {
    margin-top: 10px;
    font-size: 0.9em;
    color: #4997d7;
}

.c-comments-section {
    margin: 20px; 
    border-top: 1px solid #eee; 
    padding: 20px 0px 64px;
}

.c-comments-section h3 {
    font-size: 16px;
    margin-bottom: 15px;
    color: #333;
}

.c-comments-section .c-inner-contents-send-message-list {
    padding-bottom: 112px;
}

.c-comments-section .c-comment {
    display: flex;
    margin-bottom: 15px;
    border-bottom: 1px solid #f5f5f5;
}

.c-comment .c-reaction-badge {
    border-radius: 12px; 
    padding: 2px 8px; 
    font-size: 12px; 
    color: #555; 
    display: flex; 
    align-items: center;
}

.c-attachment-section {
    margin: 0 20px;
}

.c-post-container__body__attachments a {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #f0f4f8;
    color: #1a365d;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #cbd5e0;
    font-size: 14px;
    transition: all 0.2s ease;
}

.c-post-container__body__attachments__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.attachment-item {
    margin-bottom: 8px;
}
.attachment-item input[type="file"] {
    display: block;
}

.custom-post-title {
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}
/* "@掲示板" mention: the virtual suggestion entry and the token it inserts */
.mention-avatar--board {
    background-color: #4a6fa5;
    color: #fff;
    line-height: 24px;
}

.mention-note {
    color: #666;
    font-size: 0.85em;
    font-weight: normal;
    margin-left: 6px;
}

.l-inner-contents .mention[data-user-id="__board__"] {
    font-weight: 600;
}

/* Links inside a post body or a comment (#18676).
   The global a { display: contents } / a:-webkit-any-link { color: unset } near the top of this
   file has to be cancelled out, otherwise a link is indistinguishable from plain text.
   Scoped by container rather than by the js-autolink class, because a URL pasted into the editor
   is stored as a plain Quill anchor and carries no class of ours. */
#post-content a,
#comment_list .c-inner-contents-send-message-list__text-container__textContent a {
    display: inline;
    color: #2251c4;
    text-decoration: underline;
    word-break: break-all
}

#post-content a:hover,
#comment_list .c-inner-contents-send-message-list__text-container__textContent a:hover {
    opacity: .7
}

/* Download button for attachments and images (#18680).
   An icon overlaid on the top-right corner of the image preview, the file card
   and the images on the bulletin board. The attachment link is an <a>, so the
   button cannot be nested inside it and is a span driven by JS instead.
   Expired attachments get no download_url from the server, so no button at all. */
.c-atch-download {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 1;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0;
    background-color: rgba(255, 255, 255, .92);
    border: 1px solid #d9d9d9;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    cursor: pointer;
    transition: all .3s ease;
}

.c-atch-download:hover,
.c-atch-download:focus {
    background-color: #fff;
    opacity: .85;
}

.c-atch-download__icon {
    width: 16px;
    height: 16px;
    display: block;
}

/* Positioning context for the button */
.c-atch-image-preview-wrapper,
.c-atch-container-list {
    position: relative;
}

/* Keep the file card text clear of the button */
.c-atch-container-list.has-download .c-atch-container-list__item:last-of-type,
.c-inner-contents-send-message-list__list-item .c-atch-container-list.has-download .c-atch-container-list__item:last-of-type {
    padding-right: 44px;
}

/* Download button for the images of a post comment (#18680). It sits in the
   comment action row next to the reaction badges, because the reaction menu is
   anchored over the comment body and would cover a button placed on the
   picture itself. */
/* The comment action row. The blade partial already sets these inline; the row
   built in JS did not, so the badges and the download button are laid out here
   instead. */
.c-comment__reactions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.c-comment-images-download {
    /* pinned to the right edge of the action row */
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    background-color: #f2f2f2;
    border: 1px solid #d9d9d9;
    border-radius: 12px;
    color: #2d3e47;
    font-size: 12px;
    line-height: 1.7;
    white-space: nowrap;
    cursor: pointer;
    transition: all .3s ease;
}

.c-comment-images-download:hover,
.c-comment-images-download:focus {
    opacity: .7;
}

.c-comment-images-download__icon {
    width: 14px;
    height: 14px;
    display: block;
}

/* Bulletin board: thumbnail and inline images */
.c-image-download-wrapper {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

/* The thumbnail is sized with width: 100%, which needs a block-level parent to
   resolve against; inside an inline-block wrapper it would fall back to the
   image's natural width. */
.c-image-download-wrapper--block {
    display: block;
}

/* Images pasted into a comment sit outside .ql-editor, so Quill's
   img { max-width: 100% } does not reach them and a wide picture pushes the
   comment past the column. */
#comment_list .c-inner-contents-send-message-list__text-container__textContent img {
    max-width: 100%;
    height: auto;
}

/* ------------------------------------------------------------------
   グループチャットのメンション表示
   セレクタの形は掲示板側（.l-inner-contents .mention[data-user-id]:not(...)）に
   合わせる。チャットも .l-inner-contents の中にあるため、同じ形にしないと
   詳細度で負けて掲示板の青に上書きされる。
   通常のメンションの色は掲示板の指定をそのまま使う（同じ青）。
   ------------------------------------------------------------------ */

/* 自分の吹き出しだけ下地が --color-primary（#3b515c）と濃く、掲示板の青だと
   コントラスト 1.03:1 でほぼ読めないため、同系色の明るい青に置き換える */
.l-inner-contents .c-inner-contents-send-message-list__list-item__right .mention[data-user-id]:not([data-user-id=""]) {
    color: #b0bcff;
}

/* 自分宛てのメンションだけ赤字にする。
   「自身に対してのものなのかの判別化」という今回の要望そのもの。 */
.l-inner-contents .mention--me[data-user-id]:not([data-user-id=""]) {
    color: #d32f2f;
    /* 掲示板が @掲示板 を 600 で強調しているのに合わせる */
    font-weight: 600;
}

/* 自分の吹き出しの濃い下地では、上の赤はコントラストが足りないため明るい赤にする */
.l-inner-contents .c-inner-contents-send-message-list__list-item__right .mention--me[data-user-id]:not([data-user-id=""]) {
    color: #ffb3ad;
}

/* 候補一覧のアバター。
   画像がない人は頭文字を <span> で出すが、<span> は display:inline のままだと
   .mention-avatar の width/height が効かず、丸にならないうえ行ごとに名前の
   開始位置がずれる。掲示板側のポップアップには影響させたくないので、
   チャットのポップアップにだけ当てる。 */
.mention-popup--chat .mention-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    font-size: 12px;
    line-height: 1;
    color: #333;
}

.mention-popup--chat img.mention-avatar {
    object-fit: cover;
}

/* 長い表示名（例「ウィルオブ・ワーク インフォメーション」）でも 1 行に収める。
   ポップアップ幅は 250px 固定のため、折り返すと行の高さがばらつく。 */
.mention-popup--chat .mention-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== Quote reply (#20737) ===== */

/* Reply button beside the bubble, on the side facing the middle of the screen, 8px away.
   It only shows while the bubble is hovered, so the way to it must never leave the hover:
   - it sits in an invisible strip as tall as the bubble and touching it (a child of the
     bubble, so hovering the strip still hovers the bubble), which bridges the 8px gap at
     any height;
   - hiding waits 0.3s, so a diagonal path or a pointer slipping off for a moment does not
     lose it; visibility/opacity rather than display, so a hidden strip takes no clicks. */
.c-inner-contents-send-message-list__list-item .c-hover-reply-area {
    z-index: 4;
    position: absolute;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
    width: 40px;
    display: flex;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity .15s ease .3s, visibility 0s linear .45s
}

.c-inner-contents-send-message-list__list-item__right .c-hover-reply-area {
    right: 100%;
    justify-content: flex-start
}

.c-inner-contents-send-message-list__list-item__left .c-hover-reply-area {
    left: 100%;
    justify-content: flex-end
}

.c-inner-contents-send-message-list__list-item:hover .c-hover-reply-area {
    visibility: visible;
    opacity: 1;
    transition: opacity .15s ease, visibility 0s
}

/* Room for the strip: a bubble with the button never grows into the strip's 40px, so a long
   message cannot push its button out of the list. Bulletin board comments share these
   bubble classes but have no button, so they keep their width. */
.c-inner-contents-send-message-list__list-item__right:has(> .c-hover-reply-area) {
    max-width: min(36em, calc(100% - 40px))
}

.c-inner-contents-send-message-list__list-item__left:has(> .c-hover-reply-area) {
    /* 45px left margin for the avatar + the strip */
    max-width: min(36em, calc(100% - 85px))
}

@media screen and (max-width: 500px) {
    .c-inner-contents-send-message-list__list-item__right:has(> .c-hover-reply-area) {
        max-width: min(73vw, calc(100% - 40px))
    }

    .c-inner-contents-send-message-list__list-item__left:has(> .c-hover-reply-area) {
        max-width: min(73vw, calc(100% - 85px))
    }
}

.c-hover-reply-button {
    display: block;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    padding: 6px;
    border-radius: 50%;
    background-color: var(--color-above-primary, #fff);
    box-shadow: 0 1px 4px rgba(27, 27, 27, .28);
    cursor: pointer;
    user-select: none
}

.c-hover-reply-button:hover {
    opacity: .6
}

.c-hover-reply-button__image {
    display: block;
    width: 20px;
    height: 20px;
    pointer-events: none
}

/* The quoted message at the top of a reply. Translucent so it reads on both bubble colours.
   Name, text, then the original's image, stamp or file on a row of its own. */
.c-reply-quote {
    display: block;
    margin: 0 0 8px;
    padding: 6px 10px;
    border-left: 3px solid currentColor;
    border-radius: 4px;
    background-color: rgba(127, 127, 127, .18);
    font-size: 12px;
    line-height: 1.5;
    cursor: pointer;
    min-width: 7em
}

.c-reply-quote__name {
    display: block;
    font-weight: bold
}

.c-reply-quote__name:empty {
    display: none
}

/* Keeps the line breaks of the original (the text carries at most three lines); a long line that
   wraps is still cut at three lines with an ellipsis */
.c-reply-quote__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    white-space: pre-line;
    overflow: hidden;
    word-break: break-all;
    opacity: .85
}

/* A message made of an image, a file or a stamp only has no text */
.c-reply-quote__text:empty {
    display: none
}

.c-reply-quote__preview {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin-top: 4px
}

.c-reply-quote__preview-image {
    display: block;
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 4px;
    object-fit: cover
}

.c-reply-quote__preview.is-stamp .c-reply-quote__preview-image,
.c-reply-quote__preview.is-expired .c-reply-quote__preview-image {
    width: 56px;
    height: 56px;
    border-radius: 0;
    object-fit: contain
}

.c-reply-quote__preview.is-file .c-reply-quote__preview-image {
    width: 20px;
    height: 20px;
    border-radius: 0;
    object-fit: contain
}

/* The file icons are dark: white on the dark bubble of one's own messages */
.c-inner-contents-send-message-list__list-item__right .c-reply-quote__preview.is-file .c-reply-quote__preview-image {
    filter: brightness(0) invert(1)
}

/* A stamp has no bubble. One that replies to a message gets the bubble of its side, as an image or
   a file has, so that its quote looks like every other quote; a plain stamp keeps none. */
.c-inner-contents-send-message-list__list-item__right__stamp:has(> .c-reply-quote:not([data-reply_to_id=""])) {
    padding: 14px 18px 16px;
    background-color: var(--color-primary);
    border: 1px solid #1d2a31
}

.c-inner-contents-send-message-list__list-item__left__stamp:has(> .c-reply-quote:not([data-reply_to_id=""])) {
    padding: 14px 18px 16px;
    background-color: var(--color-above-primary)
}

/* In that bubble the stamp sits in the content box like an image: without the shifts the
   smartphone screens give a bubble-less stamp, which would push it out of the bubble */
.c-inner-contents-send-message-list__list-item__right__stamp:has(> .c-reply-quote:not([data-reply_to_id=""])) .c-atch-container-list__stamp_smt,
.c-inner-contents-send-message-list__list-item__left__stamp:has(> .c-reply-quote:not([data-reply_to_id=""])) .c-atch-container-list__stamp_smt {
    margin-left: 0
}

.c-inner-contents-send-message-list__list-item__left__stamp:has(> .c-reply-quote:not([data-reply_to_id=""])) .c-atch-container-list__stamp-wrapper_other_smt {
    padding-left: 0
}

.c-reply-quote__preview-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: .85
}

.c-reply-quote__preview-name:empty {
    display: none
}

/* Thumbnail of the "replying to" bar */
.c-reply-preview__thumb {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    object-fit: cover
}

.c-reply-preview__thumb.is-stamp,
.c-reply-preview__thumb.is-expired {
    border-radius: 0;
    object-fit: contain
}

.c-reply-preview__thumb.is-file {
    width: 28px;
    height: 28px;
    border-radius: 0;
    object-fit: contain
}

.c-reply-quote.is-deleted {
    cursor: default;
    font-style: italic;
    opacity: .7
}

/* Brief highlight of the quoted message after jumping to it */
.c-inner-contents-send-message-list__list-item.is-reply-target {
    animation: c-reply-target-blink 1.6s ease-out
}

@keyframes c-reply-target-blink {
    0%, 40% {
        box-shadow: 0 0 0 3px var(--color-highlight, #f9aa33)
    }

    100% {
        box-shadow: 0 0 0 3px transparent
    }
}

/* "Replying to" bar above the input, lined up with the textarea */
.c-reply-preview {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 16px 0 48px;
    padding: 6px 10px;
    border-left: 3px solid var(--color-primary, #3b515c);
    border-radius: 4px;
    background-color: #f2f2f2;
    font-size: 12px
}

.c-reply-preview__body {
    flex: 1 1 auto;
    min-width: 0
}

.c-reply-preview__label {
    display: block;
    font-weight: bold
}

.c-reply-preview__text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.c-reply-preview__cancel {
    flex: 0 0 auto;
    cursor: pointer
}

.c-reply-preview__cancel-icon {
    display: block;
    width: 20px;
    height: 20px
}

/* Over the chat while a quoted message is being loaded, so the list growing and scrolling
   underneath is not seen. Fixed and sized from the chat area by the script, since that area
   is itself the scroll container. The spinner is the one of the posts screen (.c-loading-spinner):
   .is-loading points to an image that is not in the repository. */
.c-reply-loading {
    position: fixed;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(242, 242, 242, .85)
}

.c-reply-loading__spinner {
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    border: 5px solid #f3f3f3;
    border-top-color: #3498db;
    border-radius: 50%;
    animation: c-reply-loading-spin 1s linear infinite
}

@keyframes c-reply-loading-spin {
    to {
        transform: rotate(360deg)
    }
}
