/*@charset "utf-8";*/
/*=============== 全体共通 ===============*/
html,body {
	width: 100%;
	height: 100%;
	min-width: 700px;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	-webkit-overflow-scrolling: touch;
}

body {
	background-color: #ededed;
}

li {
	list-style: none;
}

a,p,span,table,th,td,dl,dd,dt,ul,ol,li,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="text"],
input[type="radio"],
input[type="file"],
input[type="password"],
input[type="checkbox"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="month"],
select,
textarea {
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-decoration: none;
	color: #666;
	word-wrap: break-word;
  	white-space: normal;
	text-overflow: ellipsis;
}

input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="text"],
input[type="radio"],
input[type="file"],
input[type="password"],
input[type="checkbox"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="month"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
    	appearance: none;
	border: none;
	border-radius: 5px;
	box-sizing:border-box;
	line-height: normal; 
}

input[type="radio"],
input[type="file"] {
	display: none;
}

select {
	border: none;
}

select::-ms-expand {
    display: none;
}


textarea {
	resize: none;
	white-space:pre-wrap;
}


:placeholder-shown {
	color: #ccc;
}
::-webkit-input-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

input:focus {
	outline: none;
}

.tp0 {
	margin-top: 0px !important;
	padding-top: 0px !important;	
}

.bt0{
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}

.le0 {
	margin-left: 0px !important;
	padding-left: 0px !important;
}

.rg0{
	margin-right: 0px !important;
	padding-right: 0px !important;
}

/*=============== header ===============*/
header {
	width: 100%;
	height: 50px;
	background-color: #333;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.5);
	position: fixed;
	z-index: 100;
}

/*ハンバーガーメニューとタイトル*/
#head_ttl {
	display: flex;
	align-items: center;
}

header h1 a {
	color: #fff;
	font-size: 1.3em;
	padding: 0 24px;
	min-width: 320px;
	box-sizing: border-box;
}

header h1 a:hover {
	color: #b0b0b0;
}

#side_menu_toggle,
#toppage_toggle {
	width: 50px;
	height: 50px;
	border-right: 1px solid #111;
	box-shadow: 1px 0px 0px #555;
	font-size: 1.8em;
	text-align: center;
}

#side_menu_toggle a,
#toppage_toggle a {
	width: 100%;
	height: 100%;
	display: block;
	color: #888;
	line-height: 1.8em;
}

/*施設名とユーザー名*/
#head_menu {
	height: 100%;
	display: flex;
}

#head_menu li {
	height: 100%;
	min-width: 200px;
	width: 100%;
	background: #333;
	color: #fff;
	border-left: 1px solid #111;
	box-shadow: 1px 0px 0px #555 inset;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px 10px;
	line-height: 1.3;
	font-size: 0.95em;
}

#head_menu li a {
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	padding-right: 34px;
}

#head_menu #user_name {
	position: relative;
	max-width: 240px;
	word-break: break-all;
}

#head_menu #user_name ul {
	position: absolute;
	top: 50px;
	right: 0px;
	width: calc(100% + 1px);
	display: none;
}

#head_menu #user_name ul li {
	background: #333;
	border-left: 1px solid #ededed;
	border-top: 1px solid #555;
	box-shadow: none;
	box-sizing: border-box;
	width: 100%;
	padding: 0px;
}

#head_menu #user_name ul li a {
	padding: 10px;
}

#head_menu #user_name ul li:hover {
	background: #666;
}

#head_menu #hospital_name {
	max-width: 325px;
	word-break: break-all;
	overflow: hidden;
}

#head_menu .sub_menu li a {
	padding-right: 0px;
}


/*=============== main ===============*/
#main {
	width: 100%;
	min-width: 380px;
	min-height: calc(100% - 50px);
	display: flex;
	position: relative;
	padding-top: 50px;
}

@media all and (-ms-high-contrast: none){
	#main, #side_menu {	
		min-height: calc(100vh - 50px);
	}
}

/*--------------- サイドメニュー ---------------*/
#side_menu {
	background: #fff;
	width: 320px;
	height: 100%;
	padding-bottom: 60px;
	box-sizing: border-box;
	position: fixed;
	overflow-y: scroll;
	-ms-overflow-style:none;
	transition: .3s;
	z-index: 90;
	box-shadow: 0px 0px 10px 0px rgba(128,128,128,0.15);
}

#side_menu::-webkit-scrollbar {
    display:none;
}

/* サイドメニュー*/
#side_menu.close {
	margin-left: -320px;
}

#side_menu #menu_wrap {
	padding-bottom: 50px;
}

#side_menu #menu_wrap #home_link {
	background: #5078df;
	color: #fff;
}

#side_menu #menu_wrap #home_link a {
	color: #fff;
	display: block;
	padding: 16px 24px;
}

#side_menu #menu_wrap .menu_box .side_ttl {
	padding: 10px 24px;
	color: #5078df;
	font-size: 0.9em;
	border-bottom: 1px solid #eee;
}

#side_menu #menu_wrap .menu_box li {
	border-bottom: 1px solid #eee;
	box-sizing: border-box;
}

#side_menu #menu_wrap .menu_box li a {
	font-size: 1.15em;
	display: block;
	padding: 16px 16px 16px 24px;
	position: relative;
}

#side_menu #menu_wrap .menu_box ul li a:hover {
	background: #f2f2f2;
	color: #5078df;
}

/* アコーディオン */
#side_menu #menu_wrap .menu_box .open ul li {
	border: none;
	border-top: 1px solid #eee;
}
#side_menu #menu_wrap .menu_box .open ul li a {
	background: #f8f8f8;
	padding: 10px 10px 10px 36px;
}

#side_menu #menu_wrap .menu_box .open ul li:hover a {
	background: #f2f2f2;
}

.open>a::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 0px;
	padding: 0px 20px;
}

.open>a.active::after {
	content: "\f106";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

/* お問い合わせボタン */
#info_btn {
	margin: 0 auto;
	padding: 0 20px;
}

#info_btn a {
	display: block;
	border: 1px solid #5078df;
	color: #5078df;
	text-align: center;
	padding: 16px 0;
	border-radius: 5px;
}

#info_btn:hover a {
	background: #5078df;
	color: #fff;
}

/*--------------- メインエリア ---------------*/
#main_area {
  	/*width : calc(100% - 280px);*/
	width : 100%;
	padding: 40px 48px;
	box-sizing: border-box;
	/*margin-left: 280px;*/
	transition: .3s;
}
#side_menu.close + #main_area {
  	width : 100%;
	margin-left: 0px;
}

#page_area {
	margin-bottom: 60px;
}

#page_ttl {
	color: #555;
	font-size: 1.2em;
	border-bottom: 1px solid #ccc;
	padding: 0 0 4px 10px;
	margin-bottom: 30px;
}

/*--------------- ポリシー ---------------*/
#footer {
	position: absolute;
	bottom: 20px;
	right: 0px;
	box-sizing: border-box;
	/*width: calc(100% - 280px);*/
	text-align: right;
}

#footer ul {
	margin-left: 48px;
	display: inline-block;
	
}

#footer ul li {
	float: left;
	margin-right: 30px;
	font-size: 0.9em;
}

#footer ul li a {
	font-size: 0.9em;
	line-height: 1.5em;
}

#footer ul li:hover a {
	color: #5078df;
}

/*===== お知らせ =====*/
#main_area.toppage_main_area {
	margin-left: 320px;
}

.info_area {
	margin-bottom: 50px;
}

.info_box {
	max-width: 1000px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	box-shadow: 0px 0px 10px 0px rgba(128,128,128,0.1);
	margin: 0 auto 30px;
	padding-bottom: 20px;
}

.info_box  h2 {
	height: 50px;
	background: #f8f8f8;
	padding: 0px 20px;
	display:flex;
	align-items: center;
	color:#3f51b5;
	font-weight: normal;
	border-bottom: 1px solid #eee;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.info_box .info_text {
	background: #fff;
	height: 230px;
	box-sizing: border-box;
	overflow-y: auto;
	padding: 20px;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	line-height: 1.5;
}

.info_box .info_textarea {
	overflow: hidden;
}

.info_box textarea {
	width: 100%;
	max-width: 100%;
	height: 100%;
}

#info_02 .table_style {
	box-shadow: none;
	margin-bottom: 0;
	overflow: auto;
}

#info_02 .info_text {
	    padding: 0px;
}

#info_02 .table_style tr th {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

#info_02 .table_style tr td {
	vertical-align: top;
}

#info_02 .table_style tr th:nth-of-type(1),
#info_02 .table_style tr td:nth-of-type(1),
#info_02 .table_style tr th:nth-of-type(4),
#info_02 .table_style tr td:nth-of-type(4),
#info_02 .table_style tr th:nth-of-type(5),
#info_02 .table_style tr td:nth-of-type(5) {
	width: 150px;
	box-sizing: border-box;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
	.toppage_main_area .info_box {
		max-width: 560px;
		-webkit-overflow-scrolling: auto;
	}
	
	.info_box .info_text::-webkit-scrollbar {
		background: #eee;
		width:10px;
	}

	.info_box .info_text::-webkit-scrollbar-thumb {
		background:#ccc;
	}
	
	#info_02 .table_style tr th:nth-of-type(1),
	#info_02 .table_style tr td:nth-of-type(1),
	#info_02 .table_style tr th:nth-of-type(4),
	#info_02 .table_style tr td:nth-of-type(4),
	#info_02 .table_style tr th:nth-of-type(5),
	#info_02 .table_style tr td:nth-of-type(5) {
		min-width: 100px;
		box-sizing: border-box;
	}
	
	#info_02 .table_style tr th:nth-of-type(2),
	#info_02 .table_style tr td:nth-of-type(2),
	#info_02 .table_style tr th:nth-of-type(3),
	#info_02 .table_style tr td:nth-of-type(3) {
		max-width: 100px;
		min-width: 60px;
		box-sizing: border-box;
	}
	
	#info_02 .info_text {
		height: 500px;
	}
}

@media screen and (max-width: 1200px) and (orientation: landscape) {
	.toppage_main_area .info_box {
		max-width: 560px;
		-webkit-overflow-scrolling: auto;
	}
	
	.info_box .info_text::-webkit-scrollbar {
		background: #eee;
		width:10px;
	}

	.info_box .info_text::-webkit-scrollbar-thumb {
		background:#ccc;
	}
	
	#info_02 .table_style tr th:nth-of-type(1),
	#info_02 .table_style tr td:nth-of-type(1),
	#info_02 .table_style tr th:nth-of-type(4),
	#info_02 .table_style tr td:nth-of-type(4),
	#info_02 .table_style tr th:nth-of-type(5),
	#info_02 .table_style tr td:nth-of-type(5) {
		min-width: 100px;
		box-sizing: border-box;
	}
	
	#info_02 .table_style tr th:nth-of-type(2),
	#info_02 .table_style tr td:nth-of-type(2),
	#info_02 .table_style tr th:nth-of-type(3),
	#info_02 .table_style tr td:nth-of-type(3) {
		max-width: 100px;
		min-width: 60px;
		box-sizing: border-box;
	}
	
	#info_02 .info_text {
		height: 400px;
	}
}

/*=============== 共通スタイル ===============*/
/*--------------- テーブル ---------------*/
.table_style {
	margin : 0 auto;
	width: 100%;
	max-width: 1000px;
	border-radius: 5px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(128,128,128,0.1);
	box-sizing: border-box;
	margin-bottom: 30px;
}

.table_style th,
.table_style td {
	padding: 16px 10px;
	border-bottom: 1px solid #eee;
	border-left: 1px solid #eee;
	box-sizing: border-box;
	line-height: 1.5;
}

.table_style tr th {
	background: #f8f8f8;
	color:#333;
	font-weight: normal;
}

.table_style tr th:first-child {
	border-top-left-radius: 5px;
}

.table_style tr th:last-child {
	border-top-right-radius: 5px;
}

.table_style tr td {
	color: #666;
	vertical-align: middle;
}

.table_style tr:last-child td,
.table_style tr:last-child th {
	border-bottom: none;
}

.table_style tr th:first-child,
.table_style tr td:first-child {
	border-left: none;
}

.table_style tr:last-child td:first-child {
	border-bottom-left-radius: 5px;
}

.table_style tr:last-child td:last-child {
	border-bottom-right-radius: 5px;
}

.table_style tr td a {
	color: #3f51b5;
	text-decoration: underline;
}

/* テーブル _横組み*/
.table_style.table_left th {
	vertical-align: top;
	text-align: left;
	padding: 20px;
	width: 26%;
	max-width: 260px;
}

.table_style.table_left td {
	padding: 16px 20px;
	vertical-align: middle;
	max-width: 740px;
}

.table_hit_total {
	max-width: 1000px;
	margin: 0 auto 8px;
	padding: 0 10px;
	box-sizing: border-box;
}

.page_link {
	max-width: 1000px;
	padding: 0 10px;
	box-sizing: border-box;
	text-align: right;
}

.page_down {
	margin: 0 auto 8px;
}

.page_up {
	margin: -22px auto 0;
}

.page_link a {
	color: #3f51b5;
	font-size: 0.9em;
	text-decoration: underline;	
}

/*テーブルタイトル2分割*/
.table_style.table_left .split_th .split_01 {
	width: 12%;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.table_style.table_left .split_th .split_02 {
	width: 14%;
}

/* 登録用PDF */
.table_top_area {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 10px;
	overflow: hidden;
	display:flex;
	justify-content: space-between;
}

.table_top_area .table_hit_total {
	width: 100%;
	max-width: 1000%;
	margin: 0;
	padding-left: 30px;
	display: flex;
	align-items: flex-end;
}


.table_top_area .btn_check {
	width: 100%;
	display:flex;
}

.table_top_area .btn_check label {
	width: 100%;
}

.table_top_area .btn_check label input[type="checkbox"] {
	position:absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.table_top_area .btn_check label {
	max-width: 250px;
	width: 100%;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 1px solid #5078df;
	box-sizing: border-box;
	margin-right: 10px;
	border-radius: 2px;
	cursor: pointer;
}

.table_top_area .btn_check label:last-child {
	margin-right: 0px;
}

.table_top_area .btn_check label:hover {
	background: #f8f8f8;
}

.table_top_area .btn_check label span {
	color: #5078df;
}

/*必須*/
.required {
	margin-left: 10px;
	font-size: 0.7em;
	color: #DF5050;
	border: 1px solid #DF5050;
	border-radius: 5px;
	padding: 0 5px;
	box-sizing: border-box;
	vertical-align: middle;
	display: inline-block;
}

/*患者検索テーブル*/
#patientList_table tr th:nth-of-type(2) {
	min-width: 120px;
}

#patientList_table tr th:nth-of-type(3),
#patientList_table tr th:nth-of-type(4) {
	min-width: 100px;
}

#patientList_table tr th:nth-of-type(5),
#patientList_table tr th:nth-of-type(6) {
	min-width: 70px;
}

/*ユーザー検索テーブル*/
#userList_table tr th:nth-of-type(2),
#userList_table tr th:nth-of-type(5) {
	min-width: 120px;
}

#userList_table tr th:nth-of-type(3),
#userList_table tr th:nth-of-type(4) {
	min-width: 100px;
}

/*施設検索テーブル*/
#facilityList_table tr th:nth-of-type(1) {
	min-width: 120px;
}

/*ログ検索テーブル*/
#logList_table tr th:nth-of-type(1),
#logList_table tr th:nth-of-type(2),
#logList_table tr th:nth-of-type(3),
#logList_table tr th:nth-of-type(4) {
	min-width: 120px;
}

#logList_table tr td:nth-of-type(5) {
	min-width: 200px;
	word-break:break-all;
}

/*ログ詳細テーブル*/
#logInfo_table tr th:nth-of-type(1),
#logInfo_table  tr th:nth-of-type(2),
#logInfo_table tr th:nth-of-type(3) {
	min-width: 120px;
}

/*臨床レジストリ検索*/
#logInfo_table tr th:nth-of-type(1),
#clinicalList_table tr th:nth-of-type(2),
#clinicalList_table tr th:nth-of-type(7) {
	min-width: 120px;
}

#clinicalList_table tr th:nth-of-type(3),
#clinicalList_table tr th:nth-of-type(4),
#clinicalList_table tr th:nth-of-type(5),
#clinicalList_table tr th:nth-of-type(6) {
	min-width: 100px;
}

/*--------------- フォーム ---------------*/
input[type="text"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="email"],
textarea {
	width: 100%;
	border-radius: 2px;
	padding: 4px 5px;
	font-size: 0.85em;
	border: 1px solid #ddd;
}

.text_w250 {
	max-width: 250px;
}

/*数値入力*/
input[type="number"] {
	width: 80px;
	margin-right: 10px;
}

input[type="text"].number{
	width: 80px;
	margin-right: 10px;
}

/*テキストエリア*/
textarea {
	width: 100%;
	height: 65px;
}

/*セレクトボックス*/
.select_box {
	max-width: 250px;
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 2px;
	position: relative;
	box-sizing: border-box;
	background: #fff;
	z-index: 0;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	-moz-text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
}

.select_box::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 10px;
	top: 3px;
	z-index: -1;
}

select {
	width: 100%;
	font-size: 0.85em;
	padding: 4px 30px 4px 5px;
	background: transparent;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	-moz-text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
}

/*セレクトボックス - 幅*/
.select_min50 {
	min-width: 70px;
	width: 10%;
}

.select_max400 {
	max-width: 400px;
}

.select_w100 {
	max-width: 100%;
}

/*セレクトボックス - 分類*/
.select_L,.select_M,.select_S,.select_SS {
	display: flex;
}

.select_L:before,.select_M:before,.select_S:before,.select_SS:before {
	display: flex;
	min-width: 64px;
	align-items: center;
	justify-content: center;
	font-size: 0.9em;
}

.select_L:before {
	content: "大分類：";
}

.select_M:before {
	content: "中分類：";
}

.select_S:before {
	content: "小分類：";
}

.select_SS:before {
	content: "細分類：";
}


/*セレクトボックス - 年月日*/
.select_date {
	display: flex;
	align-items: center;
}

.select_date .select_box {
	min-width: 70px;
	width: 10%;
}

.select_date .select_box:first-child {
	min-width: 80px;
	width: 14%;
}

.select_date p,
.select_date span {
	margin: 0 20px 0 10px;
}

/*セレクトボックス - 文字とセレクトボックス*/
.p_select li {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.p_select li:last-child {
	margin-bottom: 0px;
}

.p_select li p, 
.p_select li div {
	margin-bottom: 0;
}

.p_select li div {
	margin-right: 10px;
}

.p_select li div:last-child {
	margin-right: 0;
}

#clinicalInfo_table {
	margin-bottom: 150px;
}

/*四肢欠損*/
#limbDefects div {
	display: flex;
	align-items: center;
}
/*詳細：四肢欠損*/
#clinicalInfo_table #limbDefects div {
	align-items: flex-start;
}


#limbDefects div p {
	min-width: 50px;
}

#limbDefects div input[type ="text"] {
	width: 100%;
}

/*麻痺*/
#paralysis .p_select li {
	align-items: center;
}
#clinicalInfo_table #paralysis .p_select li {
	align-items: flex-start;
}


#paralysis .p_select li p:nth-of-type(2) {
	margin-right: 0;
}

#paralysis .p_select:first-child {
	margin-bottom: 10px;
}

#paralysis .p_select:first-child {
	display: flex;
	flex-wrap: wrap;
}

#paralysis .p_select:first-child li {
	width: 50%;
}

#paralysis .p_select:first-child li p:first-of-type {
	margin-right: 10px;
}

#paralysis .p_select:nth-of-type(2) li p:first-of-type {
	min-width: 112px;
	font-size: 1em;
}

#paralysis .p_select:nth-of-type(2) li p:nth-of-type(2) {
	min-width: 50px;
}

#paralysis .p_select:nth-of-type(2) li div:first-of-type {
	width: 100%;
	max-width: 480px;
}

/*筋力の低下・関節の拘縮*/
.text_select_flex {
	display: flex;
	align-items: center;
}
#clinicalInfo_table .text_select_flex {
	align-items: flex-start;
}

.text_select_flex p {
	min-width: 50px;
}

.text_select_flex div:first-of-type {
	width: 100%;
	margin-right: 10px;
	max-width: 540px;
}

/*失調・不随意運動*/
.list_flex {
	display: flex;
	align-items: center;
}
#clinicalInfo_table .list_flex {
	align-items: flex-start;
}


.list_flex li {
	margin-bottom: 0;
	width: calc(100%/3);
}

.list_flex li p {
	min-width: 50px;
	margin-right: 0;
}

.list_flex li div.checkbox {
	min-width: 100px;
	margin-right: 10px;
}

/* 患者情報　MPIC-J */
.MPIC-J_list li {
	align-items: baseline;
}
.MPIC-J_list li p {
	flex: 1;
}
.MPIC-J_list li p+span {
	width: 240px;
}

/*ラジオボタン*/
.radio {
	display: flex;
	align-items: center;
}

.radio input[type="radio"] + span {
	display: block;
	min-width: 100px;
	text-align: center;
	padding: 8px 10px;
	margin-right: 10px;
	cursor: pointer;
	border-radius: 2px;
	font-size: 0.85em;
	background: #eee;
}

.radio input[type="radio"]:checked + span {
	background: #5078df;
	color: #fff;
}

.radio_number {
	display: flex;
}

.radio_number .radio input[type="radio"] + span {
	min-width: 30px;
}

/* チェックボックス */
.checkbox label {
	box-sizing: border-box;
}

.checkbox label span {
	position:relative;
}

.checkbox label input[type="checkbox"] {
	display: none;
}

.checkbox label input[type="checkbox"]~span span {
	font-weight: bold;
}

.checkbox label input[type="checkbox"]~span::before, .checkbox label input[type="checkbox"]~span::after {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	content: '';
	box-sizing: border-box;
}

.checkbox label input[type="checkbox"]~span::before {
	z-index: 0;
	background-color: transparent;
	width: 22px;
	height: 22px;
	border: 1px solid #aaa;
	border-radius: 2px;
}

.checkbox label input[type="checkbox"]~span::after {
	z-index: 1;
	margin: 5px 8px;
	width: 6px;
	height: 9px;
}

.checkbox label input[type="checkbox"]:checked~span::before {
	background-color: #555;
	border: 1px solid #555;
}

.checkbox label input[type="checkbox"]:checked~span::after {
	border: 2px solid #fff;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*check_01 チェックボタンのみ*/
.checkbox.check_01 {
	display: flex;
	min-height: 57px;
	min-width: 28px;
}

/*check_02 文字入り 1行*/
.checkbox.check_02 {
	display: flex;
	flex-wrap: wrap;
}

.checkbox.check_02 label {
	width: 100%;
	margin-bottom: 10px;
}

.checkbox.check_02 label:last-child {
	margin-bottom: 0px;
}

.checkbox.check_02 label input[type="checkbox"]~span {
	display: flex;
	padding: 0px 10px 0px 30px;
}

.checkbox.check_02 input[disabled="disabled"]~span::before {
    background-color: transparent;
    border: 1px solid #ccc;
}

.checkbox.check_02 input[disabled="disabled"]:checked~span::before {
    background-color: #ccc;
    border: 1px solid #ccc;
}

/*check_03 文字入り 2行*/
.checkbox.check_03 {
	display: flex;
	flex-wrap: wrap;
}

.checkbox.check_03 label {
	width: calc(100%/2);
	margin-bottom: 10px;
}

.checkbox.check_03 label:last-child,
.checkbox.check_03 label:nth-last-child(2) {
	margin-bottom: 0px;
}

.checkbox.check_03 label input[type="checkbox"]~span {
	display: flex;
	padding: 0px 10px 0px 30px;
	line-height: 1.4em;
}

.checkbox.check_03 input[disabled="disabled"]~span::before {
    background-color: transparent;
    border: 1px solid #ccc;
}

.checkbox.check_03 input[disabled="disabled"]:checked~span::before {
    background-color: #ccc;
    border: 1px solid #ccc;
}

/*check_04 文字入り 3行*/
.checkbox.check_04 {
	display: flex;
	flex-wrap: wrap;
}

.checkbox.check_04 label {
	width: calc(100%/3);
	margin-bottom: 10px;
}

.checkbox.check_04 label:last-child,
 .checkbox.check_04 label:nth-last-child(2),
 .checkbox.check_04 label:nth-last-child(3) {
	margin-bottom: 0px;
}

.checkbox.check_04 label span {
	display: flex;
	padding: 0px 10px 0px 30px;
}

.checkbox.check_04 input[disabled="disabled"]~span::before {
    background-color: transparent;
    border: 1px solid #ccc;
}

.checkbox.check_04 input[disabled="disabled"]:checked~span::before {
    background-color: #ccc;
    border: 1px solid #ccc;
}

/*備考*/
.remark {
	font-size: 0.8em;
	margin-left: 10px;
	color: #999;
}

.description {
	font-size: 0.95em;
	margin-top: 16px;
}

/*イニシャル*/
.edit_initial  input[type="text"] {
	width: 10%;
	min-width: 50px;
}
.edit_initial  span {
	margin-left: 20px;
}

/*期間*/
.edit_period span {
	margin-right: 20px;
}

/*入力欄が縦に２つ*/
.column2 div {
	margin-bottom: 10px;
}

.column2 div:last-child {
	margin-bottom: 0px;
}
 
.column2 div p {
	margin-bottom: 10px;
	font-size: 0.85em;
}

#clinicalInfo_table .column2 div p {
	font-size: 1em;
}

/*レジ-詳細　複数行*/
.column2 p {
	margin-bottom: 10px;
}

.column2 p:last-child {
	margin-bottom: 0px;
}


.flex_top .select_L:before,.flex_top .select_M:before,.flex_top .select_S:before,.flex_top .select_SS:before {
	align-items: flex-start;
}

/*アカウントの状態*/
.account_state p {
	vertical-align: middle;
	margin-right: 10px;
	display: inline;
}

.account_state input[type="button"] {
	color: #DF5050;
	background: transparent;
	font-size: 1em;
	text-decoration: underline;
	cursor: pointer;
	outline: none;
}

/* 登録用PDF・撤回書のアップロード、削除、ダウンロード */
.fileupload,
.filedownload {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	word-break: break-all;
}

.filedownload {
	align-items: flex-start;
}

.filedownload a,
.filedownload p {
	line-height: 31px;
}

.filedelete {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	word-break: break-all;
	margin-top: 10px;
}

.filedelete input[type="button"] {
	color: #DF5050;
	background: transparent;
	font-size: 1em;
	text-decoration: underline;
	cursor: pointer;
	outline: none;
	word-break: keep-all;
	display: block;
}

.filedelete input[value="削除"] {
	min-width: 50px;
	margin-left: 0px;
	-webkit-appearance: none;
}

.filedelete input[value="キャンセル"] {
	min-width: 120px;
	margin-right: 0px;
}

.fileupload input[type="text"] {
	width: 100%;
	max-width: 100%;
	vertical-align: middle;
	margin-right: 10px;
}

/*テーブル内のボタン*/
td input[type="button"].btn_table {
	min-width: 120px;
	background: #333;
	border-radius: 2px;
	font-size: 0.85em;
	color: #fff;
	cursor: pointer;
	box-sizing: border-box;
	text-align: center;
	padding: 6px 10px 5px 10px;
}

td input[type="button"].btn_table.btn_fileupload,
 td input[type="button"].btn_table.btn_filedownload {
	background: #5078df;
}

td input[type="button"].btn_table.btn_fileupload:hover,
 td input[type="button"].btn_table.btn_filedownload:hover{
	background: #729aff; 
}

td input[type="button"].btn_table.btn_fileclear,
td input[type="button"].btn_table.btn_filedelete {
	background: #666;
	color: #fff;
	margin-left: 0px;
}

td input[type="button"].btn_table.btn_fileclear:hover,
td input[type="button"].btn_table.btn_filedelete:hover {
	background: #888;
}

/* 検索 */
.serch_style {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 50px;
}

.serch_style input[type="search"],
.regist_serch_style input[type="search"] {
	width: 100%;
	max-width: 500px;
	font-size: 1em;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 8px 10px;
	margin-right: 20px;
	line-height: 1.5em;
}

.regist_serch_style {
	width: 100%;
	max-width: 1000px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 50px;
}

.regist_serch_style .serch_area {
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.regist_serch_style .select_box {
	max-width: 100px;
	border-radius: 5px;
	margin-right: 20px;
}

.regist_serch_style .select_box::after {
	top: 12px;
}

.regist_serch_style .select_box select  {
	padding: 8px 10px;
	font-size: 1em;
	line-height: 1.5em;
}

.regist_serch_style input[type="search"] {
	width: 100%;
	max-width: 100%;
}

/*--------------- ボタン ---------------*/
input[type="button"],
input[type="submit"] {
	color: #fff;
}

.btn_area {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-bottom: 30px;
}

.btn_area_approval div {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-bottom: 20px;
}

.btn_area_approval div:last-child {
	margin-bottom: 0px;
}

.btn { 
	min-width: 120px;
	height: 40px;
	background: #333;
	border-radius: 5px;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1em;
	color: #fff; 
	line-height: 0;
	cursor: pointer;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}

.btn:hover { 
	background: #555;
}

/*ボタン固定*/
.btn_st {
	margin-bottom: 0px;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ededed;
	padding: 10px 0;
	border-top: 1px solid #ddd;
	z-index: 1;
}

.btn_st .btn_area {
	margin-bottom: 10px;
}

.btn_st .btn_area:last-child {
	margin-bottom: 0px;
}

.btn_edit,.btn_done,.btn_dl {
	background: #5078df;
}

.btn_edit:hover,
.btn_done:hover,
.btn_dl:hover { 
	background: #729aff; 
}

.btn_delete {
	background: #DF5050;
}

.btn_delete:hover { 
	background: #ff7272; 
}

.btn_save {
	background: #8e9bb5;
}

.btn_save:hover {
	background: #a3b2d1;
}

.btn_inactive {
	background: #bbb !important;
	color: #eee !important;
	cursor: default !important;
	border: none !important;
}

input[type="button"].btn_approval {
	width: 400px;
	height: 54px;
	background: #f8f8f8;
	border: 1px solid #5078df;
	color: #5078df;
}

input[type="button"].btn_approval:hover {
	background: #e8efff;
	border: 1px solid #729aff;
	color: #729aff;
}

input[value="CSV出力"],
input[value="編集"],
input[value="削除"],
input[value="クリア"] {
	margin-left: 20px;
}

input[value="キャンセル"],
input[value="一時保存"] {
	margin-right: 20px;
}

input[value="ファイル選択"],
input[value="ダウンロード"] {
	margin-right: 10px;
}

/*--------------- ページャー ---------------*/
.pager ul {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-bottom: 30px;
}

.pager ul li {
	border: 1px solid #ddd;
	border-right: none;
	background: #f8f8f8;
	width: 10%;
	max-width: 50px;
}

.pager ul li:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}


.pager ul li:last-child {
	border-right: 1px solid #ddd;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.pager ul li a {
	width: 100%;
	height: 40px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pager ul li.page_stop {
	background: #f2f2f2 !important;
}

.pager ul li.page_stop a:hover {
	cursor: default !important;
}

.pager ul li.page_stop a {
	color: #ccc !important;
}

.pager ul li.page_active {
	background: #5078df !important;
}

.pager ul li.page_active a {
	color: #fff !important;
}

.pager ul li:hover {
	background: #f2f2f2;
}

.pager ul li:hover a {
	color: #5078df;
}

/*もっと見る*/
.more {
	background:  #666;
	color: #fff;
	text-align: center;
	padding: 3px 0;
	border-radius: 2px;
	cursor: pointer;
}

.more::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: 10px;
}

.more.close::after {
	content: "\f106";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: 10px;
}

.checkbox.close,
.checkbox.hide {
	margin-bottom: 10px;
}

/*予備欄*/
.reserve {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

#clinicalInfo_table .reserve {
	align-items: flex-start;
}

.reserve p {
	min-width: 70px;
}


.tdHide {
	display:  none;
}


#yobiBtn {
	background: #666;
	color: #fff;
	text-align: center;
	padding: 3px 0;
	border-radius: 2px;
	cursor: pointer;
}

#yobiBtn::after {
	content: "\f0fe";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: 10px;
	color: #fff;
}

/*スクロールボタン*/
#scroll_btn {
	width: 50px;
	height: 100px;
	position: fixed;
	bottom: 50px;
	right: 30px;
	border-radius: 5px;
	box-shadow: 0px 0px 5px 0px rgba(128,128,128,0.5);
	z-index: 10;
}

#scroll_top,
#scroll_bottom {
	color: #fff;
	background: #aaa;
	    height: calc(100%/2);
	width: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;	
}

#scroll_top:hover,
#scroll_bottom:hover {
	background: #729aff;
}


#scroll_top:active,
#scroll_bottom:active {
	background: #5f78df;
}

#scroll_top {
	border-bottom: 1px solid #ccc;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

#scroll_bottom {
	border-bottom: 1px solid #ccc;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}



@media screen and (max-width: 1024px) and (orientation: portrait) {
	#scroll_btn {
		display: none;
	}
}

@media screen and (max-width: 1200px) and (orientation: landscape) {
	#scroll_btn {
		display: none;
	}
}

/*未決定*/
.alert {
	color: red;
	line-height: 1.5em;
	font-size: 0.9em;
	padding-top: 5px;
}

.alert_top {
	color: red;
	line-height: 1.5em;
	font-size: 1em;
	max-width:  1000px;
	margin: 0 auto 10px;
}

ul.effect_select li {
    border: 1px solid #eee;
    
}

ul.effect_select li p:first-child {
    padding: 5px 10px;
    margin: 0;
    background: #eee;
}

ul.effect_select li p:last-child {
    padding: 10px 10px;
    min-height: 25px;
}

ul.effect_select li div {
    margin: 15px 10px!important;
}



