#student_message_modal{
	position: fixed;
	z-index: 1100;
	top		: 0;
	left	: 0;
	right	: 0;
	bottom	: 0;
	width	: 100%;
	height	: 100%;
	display	: none;
	background: rgba(0,0,0,0.25);
	cursor	: pointer;
}
#student_message_box{
	position: fixed;
	z-index: 1101;
	top		: 4rem;
	left	: 2em;
	right	: 2em;
	bottom	: 2em;
	overflow-y: auto;
	display	: none;
	background	: rgba(255,255,255,0.95);
}
#student_message_box > .row{
	margin-right	: 0;
	margin-left		: 0;
	min-height		: 100%;
}

body[data-pagename="message"]{
	background			: #f6f3ef;
}
body[data-pagename="message"] nav.navbar-smartstudy{
	background			: #c0ac66;
}
div.look_color #message_left{
	background			: #e19f9e;
	color				: white;
	padding				: 8px 8px;
}
div.look_color #message_center{
	background			: #f6f3ef;
	color				: #333;
	padding				: 0;
	margin-top			: -3.5rem;
	position			: relative;
	overflow-y			: auto;
}
div.look_color #message_right{
	background			: #f6f3ef;
	color				: #333;
	padding				: 0;
	position			: relative;
}
/*スクロールバー全体*/
#message_center::-webkit-scrollbar {
	width				: 10px;
}

/*スクロールバーの軌道*/
#message_center::-webkit-scrollbar-track {
	margin-top			: 3.5rem;
	border-radius		: 10px;
	box-shadow			: inset 0 0 6px rgba(0, 0, 0, .1);
}

/*スクロールバーの動く部分*/
#message_center::-webkit-scrollbar-thumb {
	background-color	: rgba(0, 0, 50, .1);
	border-radius		: 10px;
	box-shadow			:0 0 0 1px rgba(255, 255, 255, .3);
}

/* 左メニュー */
div.message_menu > ul > li{
	background			: transparent;
	border				: none;
	padding				: .25em;
}
#message_new{
	background			: white;
	display				: inline-block;
	border-radius		: 0.5em;
}
#message_new > span:first-child{
	display				: inline-block;
	background			: #82a945;
	color				: #f3fabd;
	border-radius		: 100%;
	width				: 1.5em;
	height				: 1.5em;
	line-height			: 1.5em;
	text-align			: center;
}
#message_new > span + span{
	color				: #333;
}
.menu_separator{
	padding				: .8em .3em 0 .5em;
}
.menu_item{
	cursor				: pointer;
	padding				: .5em;
}
.menu_item:hover{
	background			: rgba(255,255,255,0.1);
}
.menu_item .icon,
.message_item .icon{
	display				: inline-block;
	width				: 1.5em;
	height				: 1.5em;
	vertical-align		: top;
}
.menu_item .icon.school{
	background		: url(temp/icon_school.png) no-repeat 0 0;
	background-size	: contain;
}
.menu_item .icon.teacher{
	background		: url(temp/icon_teacher.png) no-repeat 0 0;
	background-size	: contain;
}
.menu_item .icon.student{
	background		: url(temp/icon_student.png) no-repeat 0 0;
	background-size	: contain;
}
.menu_item > span{
	display			: inline-block;
	vertical-align	: top;
}
.menu_item .message_badge{
	background		: red;
	border-radius	: 2em;
	margin-left		: .5em;
}
/* 中メニュー */
#message_center_buffer{
	height			: 3.5rem;
}
ul#message_list{
	padding			: 1em;
}
ul#message_list > li.list-group-item{
	padding			: 0;
	/*border-bottom	: none;*/
}
ul#message_list > li.list-group-item:last-child{
	border-bottom	: 1px solid rgba(0,0,0,.125);
}

ul#message_list > li.list-group-item > div{
	padding			: .75rem 1.25rem;
}
ul#message_list > li.message_response,
ul#message_list > li.message_response_form{
	border-top	: none;
}
ul#message_list mark{
	background: lightpink;
	padding: initial;
}
.icon_wrap{
	width			: 2.5em;
	height			: 2.5em;
	min-width		: 2.5em;
	margin-right	: 1em;
	background		: gray;
	border-radius	: 100%;
	overflow		: hidden;
	position		: relative;
	z-index			: 7;
	display   		: inline-block;
	vertical-align	: middle;
}
.icon_wrap.message_to_photo{
	width			: 1.5em;
	height			: 1.5em;
	min-width		: 1.5em;
    margin-right	: 0.5em;
}
.icon_wrap > img{
	vertical-align : top;
}
.message_item .response_bar{
	position		: absolute;
    width			: 0;
    height			: 100%;
    top				: 1em;
    left			: 2.4em;
    border-left		: .25em solid lightgray;
    z-index			: 6;
    display			: none;
}
.message_item.has_response .response_bar,
.message_item.write_response .response_bar{
	display			: block;
}
.message_item.unread{
	background		: var(--bg-cream);
	cursor			: pointer;
}
.message_item.deleted{
	display			: none !important;
}
.message_unread{
	display			: none;
}
.message_item.unread .message_unread{
	color			: red;
	padding			: 1em 0;
	font-weight		: bold;
	display			: block;
}
.message_item.unread .message_body,
.message_item.unread .message_detail,
.message_item.unread .message_attachment,
.message_item.unread .message_footer{
	display			: none !important;
}
.message_item.hidden_category,
.message_item.hidden_search{
	display			: none;
}
div.message_header > div{
	padding			: .5em 0;
}
div.message_header > div.message_to,
#message_new_destination_select{
	padding			: .5em 0em;
	border-radius	: 2em;
}
#message_new_destination_select{
	padding			: .5em 1em;
	border			: 1px solid #c0ac66;
	cursor			: pointer;
}
div.message_arrow{
	background		: url(temp/icon_right_triangle.png) no-repeat 0 0;
	background-size	: contain;
	margin			: 0.5em 1em;
}
div.message_wrap{
	position		: relative;
}
div.message_body{
	margin			: .5em 0;
}
div.message_body > textarea{
	width			: 100%;
	border			: 1px solid #f0f0f0;
	padding			: 0.5em;
}
div.message_homework{
	margin			: .5em 0;
}
div.message_detail{
	margin			: .5em 0;
}
div.message_attachment,
div.message_attachment_select{
	color			: #577890;
	cursor			: pointer;
}
div.message_picture_select{
	color			: #899348;
	cursor			: pointer;
}
div.message_picture_select[data-number="2"],
div.message_picture_select[data-number="3"],
div.message_picture_select[data-number="4"]{
	display			: none;
}
div.message_picture_select .picture_name{
	color			: lightgray;
}
div.message_picture_select.uploaded .picture_name{
	color			: #899348;
}
div.message_ui_button{
	font-size		: .8em;
	cursor			: pointer;
	padding			: 0.25em;
	border-radius	: 0.5em;
}
div.message_edit{
	color			: #1f961c;
	border			: 1px solid #1f961c;
	margin-right	: .5em;
}
div.message_delete{
	color			: #dc4d46;
	border			: 1px solid #dc4d46;
}
div.message_before,
div.message_balloon,
div.message_star{
	color			: darkgray;
}
div.message_star.star_on,
.message_item.starred div.message_star{
	color			: #f6bf42;
}
div.message_star .oi-star{
	font-size		: 1.25em;
}
div.message_balloon,
div.message_star{
	cursor			: pointer;
}
.message_item div.balloon.icon{
	background		: url(temp/icon_balloon_off.png) no-repeat 0 0;
	background-size	: contain;
}
.message_item div.balloon_on div.balloon.icon{
	background		: url(temp/icon_balloon_on.png) no-repeat 0 0;
	background-size	: contain;
}
.message_item div.attachment.icon{
	background		: url(temp/icon_attachment.png) no-repeat 0 0;
	background-size	: contain;
}
.message_item div.picture.icon{
	background		: url(temp/icon_picture.png) no-repeat 0 0;
	background-size	: contain;
}
.message_item div.link.icon{
	background		: url(temp/icon_link.png) no-repeat 0 0;
	background-size	: contain;
}
#student_message_box .message_reply_check{
	display			: none;
}
.message_item.no_reply div.message_balloon{
	color			: transparent;
	display			: none;
}
.message_item.no_reply div.balloon.icon{
	background		: none;
}
div.message_read{
	color			: green;
}
.message_item.single_message[data-is_read=""] div.message_read{
	color			: transparent;
}
.attachment_name{
	display			: inline-block;
	font-size		: 0.8em;
	padding			: 0 0.5em;
}
.picture_name{
	display			: inline-block;
	font-size		: 0.8em;
}
.message_picture_wrap {
	border-radius	: .2em;
	border			: 1px solid rgba(0,0,0,.125);
}
.message_picture_wrap > img{
	border-radius	: .2em;
	max-height		: 12em;
	cursor			: pointer;
}

div.message_footer{
	margin			: .5em 0;
}
div.message_footer span.count{
	display			: inline-block;
	margin			: 0 .5em 0 0;
	min-width		: 1.5em;
	vertical-align	: top;
}
.single_message div.message_read span.count{
	display			: none;
}
.message_response .message_balloon > span.count{
	color			: transparent;
}
.message_new_send .submit_text,
.message_response_send .submit_text{
	display			: inline;
}
.message_new_send .spinner-border,
.message_response_send .spinner-border{
	display			: none;
}
.message_new_send.loading .submit_text,
.message_response_send.loading .submit_text{
	display			: none;
}
.message_new_send.loading .spinner-border,
.message_response_send.loading .spinner-border{
	display			: block;
}

#message_new_dialog{
	padding			: 1em;
	padding-bottom	: 0;
	display			: none;
}
.message_dialog > div{
	background		: white;
	border			: 1px solid rgba(0,0,0,.125);
}

.message_dialog .dialog_header{
	background		: #c9df5e;
	padding			: .75rem 1.25rem;
	color			: #597639;
}
.message_dialog .dialog_body{
	padding			: .75rem 1.25rem;
}
.message_to.no_select{
	color			: lightgray;
}
.message_to .destination{
	display			: block;
}
.message_to .destination:not(:first-child){
	display			: none;
}
.message_to .destination_others{
	display			: inline-block;
	margin-left		: 2em;
	padding			: .2em;
	border			: 1px solid gray;
	border-radius	: .5em;
}
.message_to.open .destination:not(:first-child){
	display			: block;
}
.message_to.open .destination_others{
	display			: none;
}
.dialog_destination{
	display			: none;
}
.dialog_destination_option{
	background		: #eef9b2;
	padding			: 0 15px;
}
.dialog_destination_selector{
	padding			: 0 15px;
}
.dialog_destination_option > div.row,
.dialog_destination_selector > div.row,
.dialog_footer{
	padding			: .75rem 1.25rem;
}
.dialog_destination_option > div.row > div{
	padding			: 0;
	margin			: .25em 0;
}
.dialog_destination_option .detail_name{
	min-width		: 5em;
	padding			: .25em;
	text-align		: right;
}
.dialog_destination_option .detail_select{
	background			: white;
	border-radius		: 5px;
	padding				: .25em 0;
	width				: 100%;
	max-width			: 100%;
}
.dialog_destination_option .look_button{
	background			: white;
}


.enable_button.btn-right,
.disable_button.btn-left{
	text-align			: center;
	padding				: .5em;
	margin				: .5em .25em;
	text-shadow			: none;
	border-radius		: .5em;
	line-height			: 0;
	font-size			: 1.5em;
	color				: white;
	cursor				: pointer;
}
.enable_button.btn-right{
	background			: #b5dbe5;
}
.disable_button.btn-left{
	background			: #fadede;
}
ul.disable_list > li.ui-selected{
	background-color	: #b5dbe5;
}
ul.enable_list > li.ui-selected{
	background-color	: #fadede;
}
ul.destination_list{
	height				: 12em;
}
ul.destination_list > li.account_item{
	padding				: .25rem .5rem;
	border-radius		: 0;
}

/* attachment */
.message_modal_center{
	padding				: 1em;
	background			: transparent !important;
}
.message_modal_center .message_dialog > div{
	border			: none;
}
#message_dialog_attachment_list{
	max-height		: 10em;
	padding-top		: 1em;
}
li.attachment_list_item.selected{
	background		: var(--bg-cream);
}

.dialog_attachment_selector{
	padding			: 0 15px;
	overflow-y		: auto;
}
div.modal_picture_bg{
	background		: rgba(0,0,0,0.25);
    width			: 110%;
    height			: 110%;
    position		: fixed;
    z-index			: 1200;
    margin-top		: -4rem;
	margin-left		: -4rem;
    cursor			: pointer;
}
div.message_dialog_fixed{
	top				: 4.5rem;
	position		: fixed;
	background		: rgba(248,248,248,0.9);
	z-index			: 1210;
	width			: 47%;
	min-height		: 30em;
	height			: calc(90% - 4em);
	width			: calc(50% - 2em);
	overflow-y		: auto;
}
div.picture_viewer_fixed{
	top				: 4.5rem;
	left			: calc(10% - 1em);
	position		: fixed;
	background		: transparent;
	z-index			: 1210;
	width			: 80%;
	height			: 100%;
	max-height		: calc(90% - 4em);
	overflow-y		: auto;
	text-align: center;
}
div.picture_viewer_fixed > img{
	width			: fit-content;
	margin			: 0 auto;
}
ul > .empty_item{
	color			: lightgray;
	padding			: 1em !important;
}
@media screen and (max-width: 768px){
	#message_center{
		height			: auto !important;
	}
	#message_center_buffer{
		height			: 0;
	}
	div.message_dialog_fixed{
		width			: calc(100% - 2em);
	}
}

/* 編集モーダル */
#admin_view_menutab > span.tab.active{
	background	: white;
}
#textbook_list{
	border		: 1px solid;
	height		: 8em;
	overflow	: auto;
	cursor		: pointer;
	background	: white;
}
.modal_content div.stars > span.oi-star {
    text-shadow: 0 0 2px red, 0 0 1px orange;
    color: white;
    line-height: 1.5em;
    display: inline-block;
    cursor: pointer;
    width: 1.1em;
    font-size: 1.2em;
}
.modal_content div.stars > span.oi-star.on {
    color: #eedd33;
    text-shadow: 0 0 2px red, 0 0 2px red;
}

.modal_content div.stars {
	padding: 0.5em;
}

#modal_comment_destinations > .focus_star,
#modal_comment_destinations > #progress_list > div,
#modal_comment_destinations > .type_progress,
.create_progress {
	background: #c8e4ff !important;
	border: 2px solid #a7b4e2;
	font-weight:bold;
	color: #0906ad;
	display: inline-flex;
    align-items: center;
}

#modal_comment_destinations > .understand_star,
#modal_comment_destinations > #homework_list > div,
#modal_comment_destinations > .type_homework,
.create_homework {
	background: #ffe2c8 !important;
	border: 2px solid #dbbc91;
	font-weight: bold;
	color: #86630a;
	display: inline-flex;
    align-items: center;
}

#modal_comment_destinations > .understand_star,
#modal_comment_destinations > .focus_star{
	padding: 0.1em 1em;
}

.pointer,
.close_comment,
.close,
.text_list_table > tbody > tr {
    cursor: pointer;
}

.modal_content .modal_schedule_comment_table,
.modal_content .modal_text_list_table {
	border-spacing: 0px 1em;
    border-collapse: separate;
}

.modal_content .modal_schedule_comment_table > tbody > tr,
.modal_content .modal_text_list_table > tbody > tr {
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    padding: 0.3em;
    border-radius: 0.5em;
    background: white;
	border: 2px solid gray;
}

.modal_content .modal_schedule_comment_table > tbody > tr > td:first-child,
.modal_content .modal_text_list_table > tbody > tr > td:first-child {
	font-weight:bold;
	font-size: 120%;
	color: #1c661b;
}

.modal_text_list_table td {
    padding: 0.5em;
}

.modal_content .homework_coments_table,
.modal_content .text_list_table {
	max-height: 20em;
    display: block;
    overflow-y: scroll;
    width: auto;
}

.modal_content .text_list_table {
	max-height: 30em;
}

.modal_comment_progress > div > div > input[type="text"],
.modal_comment_homework > div > div > input[type="text"] {
	background-color: rgba(255,255,255,0.7);
}

#modal_comment_destinations > .type_homework,
#modal_comment_destinations > .type_progress{
    display: block !important;
}

#modal_comment_destinations > .type_progress > span,
#modal_comment_destinations > .type_homework > span,
#modal_comment_destinations > .create_progress > .add_button,
#modal_comment_destinations > .create_homework > .add_button,
#modal_comment_destinations .create_progress #search_create_progress,
#modal_comment_destinations .create_progress #text_create_progress,
#modal_comment_destinations .create_homework #search_create_homework,
#modal_comment_destinations .create_homework #text_create_homework{
	display: inline-block;
    background: #0906ad;
    color: white;
    border-radius: 0.8em;
    line-height: 1.5em;
    text-align: center;
	padding-left: 0.5em;
    padding-right: 0.5em;
}
#modal_comment_destinations > .type_homework > span{
    background: #86630a;
}
#modal_comment_destinations .create_progress .add_button,
#modal_comment_destinations .create_progress #search_create_progress,
#modal_comment_destinations .create_progress #text_create_progress {
    background: #48a0d3!important;
    color: white!important;
	margin-left: 0.5em;
    margin-right: 0.5em;
}
#modal_comment_destinations .create_homework .add_button,
#modal_comment_destinations .create_homework #search_create_homework,
#modal_comment_destinations .create_homework #text_create_homework {
    background: #f3ae3d!important;
    color: white!important;
	margin-left: 0.5em;
    margin-right: 0.5em;
}


.modal_content .modal_text_list_table .text_table_header{
	width: 10em;
}

.modal_content .modal_text_list_table .selected{
	background: #fffbd2;
}

.modal_content #progress_list,
.modal_content #homework_list{
	display: block;
	margin-right: 0em;
    padding: 0em;
}

.modal_content #progress_list > div,
.modal_content #homework_list > div{
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    padding: 0.3em  1em;
    border-radius: 0.5em;
}

.border_bottom {
	border-bottom: 1px solid lightgray;
}

.close_comment{
	padding-left: 1em;
}
.content_table[data-content='text_create_tab'],
.content_table[data-content='text_edit_tab']{
	margin-top: 0!important;
}



/* 右メニュー */
.search_box{
	padding			: .5em;
}
.search_box > .title{
	padding			: .5em 0;
    border-bottom: 2px solid white;
}
.search_box .d-flex{
	margin			: .5em 0;
}
.search_box .d-flex > div{
	vertical-align	: middle;
}
.search_box .d-flex > div:first-child{
	font-size		: .8em;
	padding			: .4em;
	white-space		: nowrap;
}
.search_box .d-flex > div.search_wrap{
	border-radius	: 1em;
}
.search_wrap > input,
.search_wrap > select{
	width			: 100%;
	border			: none;
	background		: white;
	border-radius	: .8em;
	padding			: .2em;
}
.search_box .search_button,
.search_box .cancel_button{
	background		: white;
	border-radius	: .8em;
	padding			: .2em;
	color			: #333;
	margin-left		: .5em;
	text-align		: center;
	cursor			: pointer;
}
.search_box .cancel_button{
	font-size		: .5em;
	padding			: 1em;
	margin-left		: 0;
	margin-right	: .5em;
}
.look_button{
	display			: inline-block;
	border			: 2px solid #7a883a;
	color			: #597639;
	background		: #eef9b2;
	border-radius	: .8em;
	padding			: .25em 1.5em;
	cursor			: pointer;
}
/* その他パーツ */
div.message_modal{
	position		: absolute;
	z-index			: 100;
	width			: 100%;
	height			: 100%;
	background		: rgba(0,0,0,0.25);
}
div.message_sending{
	position		: absolute;
	top				: 0;
	width			: 100%;
	height			: 100%;
	z-index			: 1;
	background		: rgba(220,220,220,0.3);
	color			: darkgray;
}