@charset "utf-8";
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold; }
body {
	font-family:
	-apple-system, BlinkMacSystemFont,
	"游ゴシック体", YuGothic,
	"Yu Gothic M",
	"游ゴシック Medium", "Yu Gothic Medium",
	"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3,
	"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
	"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
	"メイリオ", Meiryo,
	Osaka,
	"ＭＳ Ｐゴシック", "MS PGothic",
	"Helvetica Neue", HelveticaNeue,
	Helvetica,
	Arial,
	"Segoe UI",
	sans-serif,
	"Apple Color Emoji",
	"Segoe UI Emoji",
	"Segoe UI Symbol",
	"Noto Color Emoji";

	font-size: 16px;
	font-size: 0.875rem;

	margin: 0;
	padding: 0;

    color: #444;
    background-color: #ddd;
}
body.local {
    background-color: #bfc5c9;
    background-color: #ddd;
}
body.staging {
    background: linear-gradient(180deg, #D9E1E1 0%, rgba(217, 225, 225, 0) 100%), #C0CBCB;
}

a {
    color: #0000ff;
	text-decoration: none;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
input, select, textarea {
    font-size: 0.8125rem;
}
strong {
    font-weight: bold;
}

header {
	position: relative;
	left: 0;
	top: 0;
	min-width: 1300px;
	/* max-width: 1920px; */
	height: 34px;
	display: flex;
	align-items: center;
	padding: 0 10px 0;
	box-sizing: border-box;
    font-size: 16px;
}
header a {
    color: #fff;
}
header.if {
	padding: 0;
}

.system_name {
	margin: 0 30px 0 10px;
}
.if_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 34px;
/* 	line-height: 36px; */
	padding: 0 0;
	box-sizing: border-box;
}
.if_header .btn_close {
	width: 24px;
}
#contents-wrapper {
	padding: 10px 30px 0 30px;
}
/* ---------------------------------------------------------- */
/* ハンバーガーメニュー */
/* ---------------------------------------------------------- */
#nav-drawer {
	position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
    display:none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 30px;
    height: 20px;
    vertical-align: bottom;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 25px;/*長さ*/
    border-radius: 3px;
    display: block;
    content: "";
    cursor: pointer;
	background-color: #fff;
}
#nav-open span:before {
    bottom: -8px;
}
#nav-open span:after {
    bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 10000;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
	width: 90%;
	max-width: 330px;
	height: 100%;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
	padding: 10px;
	background-color: #f2f2f2;
	color: #000;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
    display: block;
    opacity: 0.5;
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
    box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
}

#nav-content .staff-databox {
    width: 80%;
    border-radius: 8px;
    margin: 20px auto;
    padding: 20px 0;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.5;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    color: #000 !important;
}
#nav-content .staff-databox .myrole {
    font-size: 0.75rem;
}

#nav-content ul li:first-child {
    border-top: 1px dotted #ccc;
}
#nav-content > p {
    border-radius: 8px;
    padding: 6px 8px;
    text-align: center;
    background-color: #2d9cdb;
    color: #fff;
}

#nav-content ul {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0 8px;
}
#nav-content ul li {
    list-style-type: disc;
    list-style-position: inside;
    line-height: 2;
    padding: 8px 4px 8px 1rem;
    border-bottom: 1px dotted #103ea0;
    color: #000;
}
#nav-content ul li a {
    color: #000099;
}
#nav-content ul .menu-group {
    padding-left: 4px;
    line-height: 2;
    list-style-type: none;
}
#nav-content ul .separator {
    list-style-type: none;
    border: none;
	height: 2rem;
}
.proj_ver {
    display: block !important;
    width: 90% !important;
    margin: 0 auto;
    font-size: 0.5rem;
	color: #333 !important;
    text-align: right !important;
    border-bottom: none !important;
	background: none !important;
}
/* ---------------------------------------------------------- */
/* 送信フォーム */
/* ---------------------------------------------------------- */

/* 人アイコン */
.human_0 {
	background: url(../images/human_icon.svg) no-repeat;
	background-size: 100%;
}
.human_1 {
	background: url(../images/human_orange.png) no-repeat;
	background-size: 100%;
}
.human_2 {
	background: url(../images/human_yellow.png) no-repeat;
	background-size: 100%;
}
.human_3 {
	background: url(../images/human_lemon.png) no-repeat;
	background-size: 100%;
}
.human_4 {
	background: url(../images/human_lime.png) no-repeat;
	background-size: 100%;
}
.human_5 {
	background: url(../images/human_green.png) no-repeat;
	background-size: 100%;
}
.human_6 {
	background: url(../images/human_blue.png) no-repeat;
	background-size: 100%;
}
.human_7 {
	background: url(../images/human_lightblue.png) no-repeat;
	background-size: 100%;
}
.human_8 {
	background: url(../images/human_violet.png) no-repeat;
	background-size: 100%;
}
.human_9 {
	background: url(../images/human_red.png) no-repeat;
	background-size: 100%;
}
.human_10 {
	background: url(../images/human_pink.png) no-repeat;
	background-size: 100%;
}
.human_11 {
	background: url(../images/human_purple.png) no-repeat;
	background-size: 100%;
}


.title_bar {
	display: flex;
	align-items: center;
}
.status_change {
	display: flex;
	align-items: center;
	margin-left: 10px;
}
.status_change .op_alert {
	display: inline-block;
	width: 200px;
	margin: 0 5px;
	padding: 4px 5px;
	background-color: rgba(255, 0, 0, 1.0);
	border: 2px solid rgba(255, 255, 0, 0.8);
	border-radius: 4px;
	color: #fff;
	font-size: 0.75rem;
}

.alert-notification {
	animation: 2s ease-out 1s infinite alternate forwards running alert_brink;
}
@keyframes alert_brink {
	0%,100% {
    	opacity: 1;
    }

	50% {
		opacity: 0;
	}
}


/* ---------------------------------------------------------- */
/* ページング */
/* ---------------------------------------------------------- */
.paging-container {
	display: flex;
	align-items: center;
}
.paging-box {
	display: flex;
	align-items: center;
	justify-content: center;
}
.paging-container .select-wrapper {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 32px;
	line-height: 32px;
	font-size: 0.6875rem;
    text-align: center;
}
select {
	border: 1px solid #aaa;
	/* width: 100%; */
	border-radius: 4px;
	padding: 5px;
	cursor: pointer;
	font-size: 0.75rem;
}
select:disabled {
  pointer-events: none;
  background-color: #f1f1f1;
  color: #aaa;
}
.paging-container .select-wrapper select {
	height: 24px;
}
.paging-container .prev_next_page {
	width: 60px;
	height: 24px;
	margin: 0 10px;
	padding: 0;
	border: 1px solid #ccc;
	background-color: #fff;
	color: #333;
}
.paging-container .prev_next_page:active {
	background-color: #f0f0f0;
	color: #cc0000;
}
.paging-container .prev_next_page:disabled {
	background-color: #fff;
	color: #999;
}


/*
.paging-box {
	text-align: center;
	font-size: 1.0rem;
}
.paging-box .pagination {
	display: flex;
	justify-content: center;
}
.paging-box button {
	display: inline;
	height: 30px;
	margin: 0;
	background: #019FA9;
	border: 1px solid #DBDDE1;
	color: #fff;
	font-size: 0.8125rem;
}
.paging-box li {
	display: block;
	margin: 5px;
}
.btn_prev {
	width: 70px;
	border-radius: 15px 0 0 15px;
}
.btn_next {
	width: 70px;
	border-radius: 0 15px 15px 0;
}
.btn_pagebox {
	width: 30px
}
button:disabled {
	background-color: #b8a8b0;
	border: 1px solid #999;
}
button:disabled:hover {
    background-color: #b8a8b0;
} */



/* 団体セレクト */
.team-container {
	display: flex;
	align-items: center;
}
.team-container p:first-child {
	margin-right: 20px;
}
.team-container .select-box {
	font-size: 0.75rem;
	margin-left: 10px;
}
.team-container .select-box {
	font-size: 0.75rem;
	border: 1px solid #666;
	text-align: center;
	padding: 0 10px;
}

/* ---------------------------------------------------------- */
/* iframe */
.if-window {
	width: 600px;
	height: 935px;
	margin: 0;
}
.if_contactlist_window {
	width: 700px;
	height: 935px;
	margin: 0;
}
.if-preview-window {
	width: 600px;
	height: 935px;
	/* margin: 0 10px; */
}
.front-window {
	position: relative;
	width: 600px;
	height: 30px;
	z-index: 10001;
}
.if-chatboard-window {
	width: 600px;
	height: 978px;
	margin: 0 10px;
}

.staff-window {
	width: 700px;
	height: 1004px;
	margin: 0 10px;
}
.news-window {
	width: 600px;
	height: 420px;
	margin: 0 10px;
	border: 1px solid #ccc;
}

.if_header p {
	font-size: 0.75rem;
	color: #000;
}
.if_header p .reception_no {
	display: inline-block;
	margin-right: 10px;
}
.preview-mode header {
	min-width: 100%;
	max-width: 100%;
	width: 100%;
}
.preview-mode {
	background-color: #fff;
}

header .menu_btns {
	display: flex;
}
header .btn_chat_close,
header .btn_window_close,
header .btn_telephone,
header .btn_monitor {
    width: 150px;
    margin-right: 20px;
}
header .btn_monitor a {
    display: block;
    width: 100%;
    padding: 5px 16px;
    background-color: #339966;
    text-align: center;
    border-radius: 4px;
}
header .btn_telephone a {
    display: block;
    width: 100%;
    padding: 5px 16px;
    background-color: #334e99;
    text-align: center;
    border-radius: 4px;
}
header .btn_chat_close a {
    display: block;
    width: 100%;
    padding: 5px 16px;
    background-color: #cc6666;
    text-align: center;
    border-radius: 4px;
}
header .btn_window_close a {
    display: block;
    width: 100%;
    padding: 5px 16px;
    background-color: #333333;
    text-align: center;
    border-radius: 4px;
}

/* ボタンの反転 */
header .btn_chat_close a:hover,
header .btn_window_close a:hover,
header .btn_telephone a:active,
header .btn_monitor a:hover {
	opacity: .6;
}
header .btn_chat_close a:active,
header .btn_window_close a:active,
header .btn_telephone a:active,
header .btn_monitor a:active {
	background-color: #A7B6B7;
}

header .btn_window {
    min-width: 220px;
    margin-left: auto;
    padding: 5px 16px;
    background-color: #006b2b;
    text-align: center;
/*     border-radius: 4px;    */
}

header .btn_monitor a {
    background-color: #339966;
}
header .btn_telephone a {
    background-color: #334e99;
}
header .btn_chat_close a {
    background-color: #cc6666;
}
header .btn_window_close a {
    background-color: #333333;
}

/* ボタンの反転 */
header .btn_chat_close a:hover,
header .btn_window_close a:hover,
header .btn_telephone a:hover,
header .btn_monitor a:hover {
	opacity: .6;
}
header .btn_chat_close a:active,
header .btn_window_close a:active,
header .btn_telephone a:active,
header .btn_monitor a:active {
	background-color: #A7B6B7;
}


button a,
button {
	cursor: pointer;
}
strong {
    font-weight: bold;
}

#ui-datepicker-div {
	transform: scale(0.95) translate(-86%, 0);
	top: 0;
	left: 0;
}
/* 日曜日のカラー設定 */
.class-sunday {
	background-color: #c66b6b;   /* 背景色を設定 */
	color: #f00!important;       /* 文字色を設定 */
}
/* 土曜日のカラー設定 */
.class-saturday {
	background-color: #469cf3;   /* 背景色を設定 */
	color: #00f!important;       /* 文字色を設定 */
}
/* ホバー時の動作 */
td.ui-datepicker-week-end a.ui-state-hover {
	opacity: 0.8;
}

.alert{
    padding-top: 20px;
    color: #ff0000;
    text-align: center;
}
.alert-danger {
}
