body {
	overflow:hidden;
	height:100%;
}

/* ---------------------------------------- */
/* ヘッダー 								*/
/* ---------------------------------------- */
.expanded.top-bar
{
	height:3.4rem;
}
.top-bar
{
	overflow:visible;
}

/* タイトルエリア */
.title-area
{
	width:16rem;
	height:3rem;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
	transition-delay: 0s;

	overflow:hidden;
	position:static;
	z-index:21000;
}
/* サイドバー非表示時のタイトルエリア */
.sidebar-hide .title-area
{
	width:5rem;
}
.title-area li
{
	float:left;
	margin-right:0px;
	padding-top:0.2rem;
	padding-bottom:0.2rem;
	position:absolute;
	top:0px;
}
.title-area li.logo-img
{
	z-index:21200;
	left:0.2rem;
}
.title-area li IMG
{
	height :2.6rem;
}
.title-area li.toggle-btn
{
	float:right;
	z-index:21300;
	right:0px;
}
/* サイドバー表示時のタイトル */
.expanded.top-bar .title-area .name
{
	font-size: 1.3rem;
	font-weight: bold;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	width:10rem;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
	transition-delay: 0s;
	overflow:hidden;
	z-index:21100;
	left:3.2rem;
	padding-top: 0.5rem;
}

/* サイドバー非表示時のタイトル */
.sidebar-hide .expanded.top-bar .title-area .name
{
	width:0px;
}

/* スマホの場合はサービス名、トグルボタン非表示 */
@media screen and (max-width: 720px) {
    .expanded.top-bar .title-area {
        width: 3rem;
    }
    .expanded.top-bar .title-area .name,
    .expanded.top-bar .title-area .toggle-btn {
        display: none;
    }
}

/* メニューエリア */
.top-bar-section ul
{
	z-index:20100;
	position:absolute;
	top:0px;
	right:0px;
	height:3rem;
	width:auto;
}
.top-bar-section li
{
	margin:0.1rem 0.1rem;
	float:left;
	position:relative;
}
.top-bar-section li.username
{
	padding-top:0.7rem;
	padding-right:1rem;
	font-weight:bold;
}
.top-bar-section li.point
{
	padding-top:0.9rem;
	font-size:0.8rem;
}

.top-bar-section #menu>li>a:not(.button)
{
	text-align:center;
	font-size:0.6rem;
	font-weight:bold;
	width:3.3rem;
	padding:1.9rem 0px 0px 0px;
	line-height:0.9rem;

	background-size:1.9rem;
	background-repeat:no-repeat;
	background-position:center top;
}
.top-bar-section #menu>li>a:hover
{
	background-size:1.9rem;
	background-repeat:no-repeat;
	background-position:center top;
}
ul.child{
    display: none;
    position: absolute;
	top:2.8em;
	left:0rem;
    padding: 0px;
	min-width:12.5rem;
	height:auto;
}
ul.child li{
    margin: 0px;
	width:100%;
}
#menu ul.child li a{
    display: block;
	width:100%;
	padding-left:2rem;
}
#menu ul.child li a {
	background-size:1rem;
	background-repeat:no-repeat;
	background-position:0.5rem center;
}
ul.child li.blank{
	padding-left:0.5rem;
	padding-right:0.5rem;
}
ul.child li.blank hr{
	margin-top:0.2rem;
	margin-bottom:0.2rem;
}
ul.child.setting_child{
	right:0rem;
	left:auto;
}
@media screen and (max-width: 720px) {
ul.child.else_child{
	right:0rem;
	left:auto;
}
}
/* ---------------------------------------- */
/* コンテンツ								*/
/* ---------------------------------------- */
.container
{
	margin-bottom:3rem;
}
/* サイドバー */
#actions-sidebar {
	width:16rem;

	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
	transition-delay: 0s;

	overflow-x:hidden;
	z-index:11000;

	padding-bottom:0px;
	margin-bottom:0px;
	top:3.4rem;
	bottom:3rem;
	position:absolute;
}

.side-nav li.heading
{
	border-top-left-radius:1rem;
	border-bottom-left-radius:1rem;
/*
	border-top-right-radius:1rem;
	border-bottom-right-radius:1rem;
*/
}
/* サイドバー非表示 */
.sidebar-hide #actions-sidebar {
	width:3.7rem;
}
.side-nav li {
	width:15rem;
}
.side-nav li a {
	font-weight:bold;
}
.side-nav li a IMG {
	width:1.5rem;
	margin-left:0.2rem;
	margin-right:0.4rem;
}
/* コンテンツ */
.content
{
	width:100%;
/*	height:100%;*/
	overflow-y:auto;
	overflow-x:hidden;
/*	top:0px;
	padding-top:3rem;
*/
	top:3.4rem;
	bottom:3rem;

	left:0px;
	padding-left:2rem;

	margin-bottom:0px;
	padding-bottom:0px;

	position:absolute;

	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
	transition-delay: 0s;
}
#actions-sidebar + .content
{
	padding-left:17rem;
}
/* サイドバー非表示 */
.sidebar-hide #actions-sidebar + .content
{
	padding-left:4.7rem;
}
fieldset legend
{
	padding-left:0.5rem;
	padding-bottom:0px;
	border-bottom:solid 0.7rem;
	font-size:1.68rem;
	font-weight:bold;
	line-height:1.8rem;
}
@media screen and (max-width: 720px) {
	fieldset legend
	{
		padding-left:0;
		font-size:1.38rem;
		border-bottom:solid 0.35rem;
	}
}
.actions a
{
	border-left-width: 1px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-style: solid;
	border-radius:0.3rem;
	padding:0.3rem 0.8rem;
	/*width:70px;*/
	display:block;
	text-align:center;
	margin:0.2rem;
	float:left;
}
th.actions
{
/*	width:15.3rem;*/
}
.maxwidth-ldiv {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto;
}
.maxwidth-mdiv {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
}
.maxwidth-treediv {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.maxwidth-griddiv {
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
}
/* エラーメッセージ表示時の高さ調整 */
.message + .container > .content {
	top: 7rem;
}
.announce + .container > .content {
	top: 5.3rem;
}
/* ---------------------------------------- */
/* フッター									*/
/* ---------------------------------------- */
footer
{
	font-size:0.8rem;
	font-weight:bold;
	height:3rem;
	/* padding-top:1rem; */
	padding-top:0.3rem;
	text-align:center;
	position:absolute;
	bottom:0px;
	width:100%;
	background-color:#3e3e3e;
	color:#c1c1c1;
	z-index:20000
}
.footer-link {
	text-align:right;
	margin-right:1rem;
	height:1.2rem;
}
.footer-link a {
	text-decoration: underline;
}
.footer-center {
    position: relative;
    text-align: center;
}
.footer-right {
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
    width: 33%;
    margin-right: 1rem;
}
/* ---------------------------------------- */
/* 汎用										*/
/* ---------------------------------------- */
/* テーブル */
table tr th
{
	text-align:center;
	border-width:2px;
	border-style:solid;
	vertical-align:middle;
}
table tr td
{
	border-width:2px;
	border-style:solid;
	vertical-align:middle;
}
table tr th a:hover
{
	text-decoration:underline;
}

/* 先頭行の一番左 */
tr:first-of-type > th:first-child {
	border-top-left-radius:0.5rem;
}
/* 先頭行の一番右 */
tr:first-of-type > th:last-child {
	border-top-right-radius:0.5rem;
}
/* 最終行の一番左 */
tbody > tr:last-child > th:first-child {
	border-bottom-left-radius:0.5rem;
}
/* 最終行の一番右 */
tbody > tr:last-child > th:last-child {
	border-bottom-right-radius:0.5rem;
}
/* 先頭行 */
tr:first-of-type > th,
tr:first-of-type > td {
	border-top-width:2px;
}
/* 最終行 */
tbody > tr:last-of-type > th,
tbody > tr:last-of-type > td {
	border-bottom-width:2px;
}
/* 先頭列 */
th:first-child,
td:first-child {
	border-left-width:2px;
}
/* 最終列 */
tbody > tr > th:last-child,
table > tr > th:last-child,
td:last-child {
	border-right-width:2px;
}

/**********************************************************************************************/
/* テーブル風DIV（スマホ対応）
/**********************************************************************************************/
/* テーブル */
.tr-div
{
	width:100%;
	position:relative;
}
.th-div
{
	text-align:center;
	border-left-width:2px;
	border-right-width:2px;
	border-top-width:0px;
	border-bottom-width:2px;
	border-style:solid;
	vertical-align:middle;
	padding:0.5625rem 0.625rem;
	font-size:0.87rem;
	position:relative;
	left:0px;
	top:0px;
	width:15rem;

	border-color:#ddd;
}
.td-div
{
	border-left-width:0px;
	border-right-width:2px;
	border-top-width:0px;
	border-bottom-width:2px;
	border-style:solid;
	vertical-align:middle;
	padding:0.5625rem 0.625rem;
	font-size:0.87rem;
	position:absolute;
	left:15rem;
	top:0px;
	right:0px;
	bottom:0px;

	border-color:#ddd;
}
.input-div
{
    height:3.6rem;
    line-height:2.4rem;
}
/* 先頭行 */
.tr-div:first-of-type .th-div,
.tr-div:first-of-type .td-div {
	border-top-width:2px;
}
/* 最終行 */
.tr-div:last-of-type .th-div,
.tr-div:last-of-type .td-div {
}
/* 先頭行 */
.tr-div:first-of-type .th-div {
	border-top-left-radius:0.5rem;
}
/* 最終行 */
.tr-div:last-of-type .th-div {
	border-bottom-left-radius:0.5rem;
}
/* ---------------------------------------- */
/* PC・タブレット用							*/
/* ---------------------------------------- */
@media screen and (min-width: 721px) {
	.th-div
	{
		background-color:#555;
		color:#fff;
	}
	.tr-pc-div
	{
		display: table;
	}
	.th-pc-div
	{
		height: 100%;
		display: table-cell;
		vertical-align: middle;
	}
	.td-pc-div
	{
		height: 100%;
		display: table-cell;
		vertical-align: middle;
		position: relative;
		left: 0px;
		word-break: break-all;
	}
	.match-height
	{
	    height  : 100%;
	}
}
/* ---------------------------------------- */
/* スマホ用									*/
/* ---------------------------------------- */
@media screen and (max-width: 720px) {
	.th-div
	{
		border-style:none;
		text-align:left;
		font-weight:bold;
		padding-top:0.5625rem;
		padding-bottom:0px;
		padding-left:0.625rem;
	}
	.td-div
	{
		border-style:none;
		padding-top:0px;
		padding-bottom:0.5625rem;
		padding-left:0.625rem;
		position:relative;
		left:0px;
		word-break:break-all;
	}
    .input-div
    {
        height:2rem;
        line-height:1rem;
    }
    .mobile-border
    {
        border-bottom: solid 1px #dddddd;
    }
	.match-height
	{
	    height  : auto;
	}
}

.td-pc-div input[type='text'], 
.td-pc-div input[type='checkbox'], 
.td-pc-div input[type='radio'], 
.td-pc-div select
{
	margin-bottom: 0;
}

/**********************************************************************************************/

/* フォーム */
button,
.button{
	-webkit-appearance:none;
	-moz-appearance:none;
	border-radius:0;
	border-style:solid;
	border-width:0;
	cursor:pointer;
	font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;
	font-weight:bold;
	line-height:normal;
/*	margin:0 0 1.25rem;*/
	text-align:center;
	text-decoration:none;
	display:inline-block;
/*	padding:1rem 2rem 1.0625rem 2rem;*/
	padding:0.8rem 2rem 0.8625rem 2rem;
	font-size:1rem;
	transition:background-color 300ms ease-out;
	border-radius:0.4rem;
/*	position:relative;*/
}
.form button[type=submit]
{
	float:none;
}
.date select,
.time select,
.datetime select
{
	padding-right:1.2rem;
}
form
{
/*
	margin-bottom:3rem;
*/
}
.button_area {
	text-align:center;
	margin:0px;
	padding:0px;
}
.button_area * {
	margin-left:2rem;
	margin-right:2rem;
	margin-bottom:0px;
}
td > input[type='text']
{
	margin:0px;
}
/* ---------------------------------------- */
/* スマホ用									*/
/* ---------------------------------------- */
@media screen and (max-width: 720px) {
	/* メニューに名前とポイントは出さない */
	.top-bar-section li.username
	{
		display:none;
	}
	.top-bar-section li.point
	{
		display:none;
	}
	#actions-sidebar {
		display:none;
	}
	.content
	{
		/*padding-left:1rem;*/
		padding:0.5rem;
	}
	.sidebar-hide .content
	{
		padding-left:1rem;
	}
	.mobile-max-disp
	{
		width	: 100% !important;
		height	: 100% !important;
	}
	fieldset {
		padding: 0.5rem;
	}
}

/* ---------------------------------------- */
/* ポップアップ 							*/
/* ---------------------------------------- */
.modal-overlay {
    z-index:90000;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
	height:100%;/*for old Safari*/
    height:100vh;
    background-color:rgba(0,0,0,.5)
}
.modal-overlay (:target) {height:100%\9} /* IE9,10 */
a.modal-open:hover {cursor:pointer}
.modal-content {
    position:fixed;
    display:none;
    z-index:91000;
    margin:1rem;
/*    padding:2rem;*/
    padding:0px;
	border-radius:0.6rem;
    background:#fff;
}
.modal-content > h1:first-of-type {
    background:#333;
	color:#fff;
	font-size:1.2rem;
	font-weight:bold;
    margin:0px;
	padding:0.2rem 1rem;
	border-top-left-radius:0.6rem;
	border-top-right-radius:0.6rem;
	height:2rem;
}
a.modal-close {
	position:absolute;
	top:0.1rem;
	right:0.7rem;
	color:#fff;
	font-size:2rem;
	line-height:1;
	font-weight:bold;
	text-decoration:none
}
a.modal-close:hover {
	/*color:#e56666;*/
	cursor:pointer;
	opacity:.6
}
.modal-content .modal-main {
	padding:1rem;
}
/* leftの後ろの場合*/
.modal-left + .modal-main {
/*
	margin-left:4rem;
	margin-right:4rem;
*/
	margin-bottom:2.4rem;
}
.modal-content .modal-left,
.modal-content .modal-right {
	color:#fff;
	bottom:1rem;
	position:absolute;
	padding:0px 1rem;

	border-left-width: 1px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-style: solid;
	border-radius:0.3rem;

	font-weight:bold;
	font-size:2rem;
	/*background-color:#e56666;*/
}
.modal-content .modal-left {
	left:1rem;
}
.modal-content .modal-right {
	right:1rem;
}
.modal-content .modal-left:hover,
.modal-content .modal-right:hover {

}
.small-button {
	font-size:0.87rem;
	padding:0.4rem 0.6rem 0.4625rem 0.6rem;
	margin-bottom:0.4rem;
}

/* ---------------------------------------- */
/* ツリー		 							*/
/* ---------------------------------------- */
.tree-parent
{
	padding-left:0px;
	padding-right:0px;
}
#jstree_div,
#pop_jstree_div
{
	padding:0.5rem;
	overflow:auto;
	height:100%;
}
#jstree_div ul,
#pop_jstree_div ul
{
	font-size:0.87rem;
}
@media screen and (max-width: 720px) {
	#jstree_div ul,
	#pop_jstree_div ul
	{
		font-size:1.27rem;
	}
	.jstree-anchor
	{
		margin-bottom:0.3rem !important;
	}
}
#modal_search_affiliation
{
/*
	height:80%;
	min-width:20rem;
*/
}
.modal_search_main
{
/*	height:80%;*/
/*	height:20rem;*/
/*
	top:2rem;
	bottom:2rem;
	position:absolute;
*/
}
#pop_jstree_div
{
/*	height:400px;*/
	width:21rem;
	height:24rem;
	border:1px solid gray;
	margin-bottom:1rem;
}
/* ---------------------------------------- */
/* アコーディオン 							*/
/* ---------------------------------------- */
.collapse_base
{
	padding-top:1.1rem;
	padding-bottom:1.1rem;
}
.collapse_base h5
{
	font-size:0.87rem;
	margin-top:0px;
	margin-bottom:0px;
}
.collapse_base ul
{
	font-size:0.87rem;
	margin-top:0.3rem;
	margin-bottom:0px;
}
.collapse_base li
{
	list-style:none;
}

.profile-photo{
    width: 100%;
    height: auto;
    /*border: solid 3px #d7ebfe;*/
    border-radius: 50%;
}

/* ---------------------------------------- */
/* 吹き出しコメント                         */
/* ---------------------------------------- */
.balloon5 {
    width: 100%;
    margin: 0.5rem 0;
    overflow: hidden;
}

.balloon5 .faceicon {
    float: left;
    margin-right: -90px;
	width: 50px;
	height: 50px;
    margin-top: 7px;
}

.faceicon.right-position {
    float: right;
    margin-right: unset;
    margin-left: -90px;
}

.balloon5 .faceicon img{
    width: 100%;
    height: auto;
    border: solid 3px #d7ebfe;
    border-radius: 50%;
}

.balloon5 .chatting {
    width: 100%;
}

.says {
    display: inline-block;
    position: relative; 
    margin: 10px 0 0 75px;
    padding: 12px 13px;
    border-radius: 12px;
    background: #d7ebfe;
}

.says.right-position {
    margin: 10px 75px 0 0;
    background: #edffd9;
}

.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 11px; 
    left: -28px;
    border: 12px solid transparent;
    border-right: 18px solid #d7ebfe;
}

.says.right-position:after {
    left: unset;
    right: -16px;
    border-right: unset;
    border-left: 18px solid #edffd9;
}

.says p {
    margin: 0;
    padding: 0;
}

.left-position {
    float: left;
}

.right-position {
    float: right;
}

.clear {
    clear: both;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/* ---------------------------------------- */
/* モバイル用                               */
/* ---------------------------------------- */
@media screen and (max-width: 720px) {
    .mobile-margin {
        margin-bottom: 1rem;
    }
}

/* ---------------------------------------- */
/* PC・タブレット用                         */
/* ---------------------------------------- */
@media screen and (min-width: 721px) {
    .mobile-disp-comment
    {
        display     : none;
    }
    .mobile-br-pc-space {
        margin      : 0.3rem;
    }
    .pc-disp-comment
    {
        display     : table-cell;
    }
}
/* ---------------------------------------- */
/* モバイル用                               */
/* ---------------------------------------- */
@media screen and (max-width: 720px) {
    .mobile-comment-button
    {
        float           : right;
        margin-top      : 0.3rem;
        margin-right    : 0.1rem;
        margin-bottom   : 0.5rem;
    }
    .mobile-comment-buttom
    {
        bottom  : 0rem !important;
        right   : 0rem !important;
    }
    .mobile-disp-comment
    {
        display     : inline;
    }
    .mobile-br-pc-space::before {
        content     : "\A";
        white-space : pre;
    }
    .pc-disp-comment
    {
        display     : none;
    }
}

/* ---------------------------------------- */
/* 画面上部メンテナンスのお知らせ           */
/* ---------------------------------------- */
.announce {
    font-size: 0.7rem;
    background-color: #CCFFFF;
    text-align: right;
}
