/*
	layout
*/
body {
	padding-top:60px;
	min-width:960px;
}

div.navbar {
	margin-bottom:0px;
	padding-bottom:0px;
}

.navbar-fixed-top {
	position: fixed;
	padding: 0;
	margin: 0;
}

div.clear {
	clear:both;
	line-height:0em;
	margin:0px;
	padding:0px;
}

.click {
	cursor:pointer;
}

div.m10 {
	margin-bottom:10px;
}

/*
	ログイン
*/
#loginbox {
	width:400px;
	height:300px;
	margin:10px auto;
	text-align:center;
}

#loginbox div {
	padding:10px;
}

#loginbox div p {
	padding:10px;
	margin-bottom:10px;
	text-align:left;
}


#loginbox table {
	margin:20px 0px;
}

#loginbox table th,
#loginbox table td {
	border-width:0px;
}

#loginbox div.thumbnail {
	padding-bottom:30px;
	margin-bottom:5px;
}

#forgotbox {
	display:none;
}

/*
	検索・一覧
*/
div.search h1,
div.search h2,
div.search h3 {
	float:left;
}

div.search form {
	float:right;
	font-size:13px;
}

div.search div.button {
	float:right;
	font-size:13px;
}

div.search_abs {
	position:relative;
}

div.search_abs h1 {
	padding-right:12em;
}

div.search_abs div.buttons {
	position:absolute;
	right:0;
	bottom:0;
}

label.inline {
	display:inline;
	padding-right:10px;
	margin-top:-3px;
}

a.sort-list {
	color:#333333;
}

a.sort-list:hover {
	color:orange;
}

/*
	見出し
*/
h1 {
	color: #4b4b4b;
	font-family: Tahoma;
	font-size: 22px;
	line-height: 24px;
	font-weight: normal;
}

h1 span.notice {
	font-size:12px;
	color:red;
}

/*
	alert
*/
div.alert a {
	color:blue;
}

div.alert-error a {
	color:red;
}

.hidden_alert {
	color:red;
	display:none;
}

/*
	contents
*/
div.content {
	padding:15px 15px;
	margin-bottom:100px;
}

table.table td.c {
	text-align:center;
}

table.table td.r {
	text-align:right;
}

table.table-bordered th {
	text-align:center;
}

table.table tr.click td {
	cursor:pointer;
}

table.table tr.click td.noclick {
	cursor:default;
}

table.table .check input {
	margin-bottom:6px;
}

table.search-form {
	border-collapse:collapse;
	width:100%;
	font-size:12px;
	margin-bottom:10px;
}

table.search-form th {
	text-align:left;
	margin:0px;
	padding:5px;
	padding-right:10px;
	text-align:left;
}

table.search-form td {
	padding:0px;
}

table.search-form td select,
table.search-form td textarea,
table.search-form td input {
	margin:3px;
	padding:2px;
	font-size:13px;
}

table.search-form td input {
	height:16px;
}

table.search-form td select {
	height:22px;
}

tr.tr-condensed {
	font-size:85%;
	padding-top:3px;
	padding-bottom:3px;
}

tr.active {
	background-color:#F9F9F9;
}

div.operate {
	float:left;
	margin-top:20px;
}

div.pagination-r {
	float:right;
	text-align:right;
}

div.pagination-c {
	text-align:center;
}

input.han {
	ime-mode:disabled;
}

input.zen {
	ime-mode:active;
}

a.icon-off {
	display:none;
}

.input-minimum {
  width: 20px;
}

.input-gengo {
  width: 70px;
}

.input-smedium {
  width: 116px;
}

.input-ym {
  width: 96px;
}

/*
	編集画面
*/
table.edit {
	width:100%;
	margin-bottom:30px;
}

table.edit-practice {
	margin-bottom:0px;
}

table.edit-fee {
	margin-bottom:0px;
}

table.loose {
	margin-bottom:10px;
}

table.edit th {
	text-align:left;
	font-size:12px;
	border-bottom:1px solid silver;
	width:100px;
}

table.auto th {
	min-width:180px;
	white-space:nowrap;
}

table.edit td {
	line-height:1.0em;
	border-bottom:1px solid silver;
	font-size:13px;
}

table.edit td.num {
	text-align:right;
}

table.edit td input,
table.edit td textarea,
table.edit td select {
	margin:3px;
	padding:2px;
	font-size:13px;
}

table.edit td select.input-small {
	width:100px;
}

table.edit td select.input-large {
	width:280px;
}


table.edit td input {
	height:16px;
}

table.edit td select {
	height:22px;
}

table.edit td textarea {
	height:50px;
}

table.edit td textarea.high {
	height:120px;
}

table.edit td input.input-huge {
	width:90%;
}

table.edit td textarea.input-huge {
	height:120px;
	width:90%;
}


table.edit td.float-label label {
	width:80px;
	float:left;
}

table.edit td.float-label label.large {
	width:120px;
}

table.edit td.float-label label.xlarge {
	width:360px;
}


table.edit-practice td.float-label label {
	width:auto;
	font-size:12px;
	float:left;
	margin-top:2px;
}

table.edit-practice td.float-label label input {
	margin-top:2px;
}


table.edit .required {
	background-color:#CCDDFF;
}

table.edit .error {
	background-color:#FFDDDD;
}

table.edit p.error {
	font-size:12px;
	background-color:white;
	color:red;
	margin:0px;
	padding:0px;
	margin-bottom:10px;
	line-height:1em;
}

table.edit span.notice {
	font-size:85%;
	color:orange;
}

table.edit-fee th {
	width:140px;
}

table.edit-fee th,
table.edit-fee td {
	border-bottom-width:0px;
}

table.edit-practice th,
table.edit-practice td {
		border-bottom-width:0px;
}

table.edit-product th,
table.edit-product td {
	width:auto;
	font-size:15px;
	padding:0.2em;
	border-top:1px solid silver;
	border-bottom:1px solid silver;
}

table.edit-small th,
table.edit-small td {
	font-size:85%;
}

.no_edit_table {
	margin:0px;
	padding:0px;
	margin-bottom:30px;
}

div.center {
	text-align:center;
}

div.thumbnail div.loose {
	padding:10px;
}

div.thumbnail div.edit {
	padding:10px;
	padding-bottom:30px;
}

div.thumbnail div.loose div.period,
div.thumbnail div.edit div.period {
	font-size:95%;
	text-align:center;
}

div.thumbnail div.loose div.period-product,
div.thumbnail div.edit div.period-product {
	font-size:120%;
}

div.thumbnail div.loose div.tax,
div.thumbnail div.edit div.tax {
	font-size:95%;
	text-align:center;
}

div.float {
	margin-bottom:5px;
}

div.float h2 {
	float:left;
	margin:0px;
	margin-bottom:15px;
	font-size:16px;
	line-height:1.0em;
	color:#669966;
}
div.float div.button {
	float:right;
}


div.thumbnail div.loose h3,
div.thumbnail div.edit h3 {
	margin:0px;
	margin-bottom:15px;
	font-size:16px;
	line-height:1.0em;
	color:#669966;
}

div.thumbnail div.edit h3.info {
	color:#3A87AD;
}

div.thumbnail div.edit h3.delete {
	color:#B94A48;
}
div.thumbnail div.edit h3.status {
	color:#468847;
}

div.thumbnail div.edit h3.practice {
	margin-bottom:5px;
}

div.thumbnail div.edit h4.practice {
	font-size:14px;
	color:#99AA99;
	margin-bottom:5px;
}

div.thumbnail div.edit ul.menu {
	list-style:none;
	margin:0px;
	padding:0px;
}

div.thumbnail div.edit ul.menu li {
	margin:0px;
	padding:0px;
}

div.thumbnail div.edit ul.menu li:hover {
	background-color:#DDFFEE;
}

li.pointer:hover {
	color:orange;
	cursor:pointer;
}

.lines-dotted	{
	background: url(../img/forms/lines_dotted_short.gif) repeat-x 0px 14px;
	font-size: 0px;
	height: 28px;
	line-height: 0;
	}

table.practice-subject {
	margin-bottom:10px;
}

table.practice-subject th {
	font-size:12px;
	background-color:#F5FFF5;
	vertical-align:middle;
}

table.practice-subject td {
	font-size:12px;
}

table.practice-subject td.mini {
	width:30px;
}


table.practice-subject td.col5 {
	width:90%;
}

table.practice-subject td.col2 {
	width:40%;
}

table.practice-subject td div.input-prepend,
table.practice-subject td button,
table.practice-subject td select,
table.practice-subject td input {
	margin-bottom:0px;
}

table.practice-subject span.notice {
	font-size:85%;
	color:orange;
}

table.practice-subject td p.notice {
	font-size:90%;
	color:red;
	margin:0;
	padding:0;
	margin-top:-0.4em;
}

table.practice-subject .input-medium {
	width:130px;
	font-size:13px;
}


#subjects_list td {
	cursor:pointer;
}

table.practice-subject tr.header th,
table.practice-subject tr.header td {
	background-color:#F9F9F9;
}

table.practice-product2 th {
	width:15%;
}

table.practice-product2 td {
	width:35%;
}

table.practice-product2 td.wide {
	width:50%;
	box-sizing:border-box;
	padding:0.5em 1em;
}

table.practice-product3 th {
	width:10%;
}

table.practice-product3 td {
	width:23.3%;
}

table.practice-product2 td div.twin {
	width:50%;
	float:left;
}

table.practice-product2 td div.twin label {
	width:100%;
}

table.practice-product2 td label input[type=checkbox] {
	margin-top:-3px;
	margin-right:3px;
}

table.practice-product4 th {
	white-space:nowrap;
}

table.practice-calendar th {
	font-size:90%;
	padding:1px 0px;
}

table.practice-calendar td {
	width:2.7%;
	font-size:90%;
	padding:2px 0px;
	line-height:1.1em;
}

table.practice-calendar td.c {
	text-align:center;
}

table.practice-calendar td.detail-day,
table.practice-calendar td.visit-day,
table.practice-calendar td.second-day,
table.practice-calendar td.contact-day {
	cursor:pointer;
}

table.practice-calendar span.week0 {
	color:red;
}

table.practice-calendar span.week6 {
	color:blue;
}

table.practice-calendar span.week_mark {
	font-size:80%;
}

table.practice-calendar td.detail-day span.foment1 {
	color:AQUA;
	color:#33CCCC;
	color:#0000DD;
}

table.practice-calendar td.detail-day span.foment2 {
	color:ORANGE;
}

table.practice-calendar td.detail-day span.electropathy {
	letter-spacing:-2px;
}

table.practice-calendar td.detail-day span.electropathy:after {
	content: ')';
}

table.practice-calendar td.detail-day span.electropathy:before {
	content: '(';
}

table.practice-calendar td.detail-day span.invalid {
	background-color: pink;
}

table.practice-calendar td.detail-day span.coupon {
	letter-spacing:-2px;
}

table.practice-calendar td.detail-day span.coupon:after {
	content: ')';
}

table.practice-calendar td.detail-day span.coupon:before {
	content: '(';
}


th.vmiddle,
td.vmiddle {
	vertical-align:middle;
}

/*
	今月料金など金額シート
*/
table.price-sheet {
	width:100%;
}

table.price-sheet td {
	font-size:13px;
}

table.price-sheet td.num {
	text-align:right;
}

table.price-sheet th {
	text-align:left;
	font-weight:normal;
	font-size:13px;
}

table.price-sheet tr.total td,
table.price-sheet tr.total th {
	font-weight:bold;
	font-size:14px;
	padding-top:3px;
	padding-bottom:3px;
}

table.price-sheet th.indent {
	padding-left:16px;
}

div.mid-info {
	text-align:right;
	padding:0px;
	padding-bottom:2px;
}


/*
	定型文
*/
div.suggest {
	margin-top:5px;
	height:160px;
	overflow:auto;
}

div.suggest li {
	cursor:pointer;
}

div.suggest li:hover {
	background-color:#FFEEEE;
}

div.toggle-suggest {
	display:none;
	height:60px;
}

/*
	ポップアップ・confirm
*/
#shadow {
	display:none;
	position:fixed;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background-color:black;
	z-index: 1099;
	opacity: 0.60;
	filter:alpha(opacity=60);
}

#paper {
	display:none;
	position: fixed;
	text-align:left;
	background-color:white;
	border:1px solid gray;
	padding:30px;
	padding-bottom:30px;
	top:50px;
	left:50px;
	height:600px;
	width:800px;
	z-index: 1100;
	color:black;
	font-size:13px;
}

#loading {
	display:none;
	position: fixed;
	text-align:center;
	background-color:white;
	border:1px solid gray;
	padding:30px;
	padding-bottom:30px;
	top:50px;
	left:50px;
	height:90px;
	width:180px;
	z-index: 1100;
	color:black;
	font-size:13px;
	line-height:2.0em;
}

div.confirm {
	display:none;
	position: fixed;
	text-align:left;
	background-color:white;
	border:1px solid gray;
	padding:30px;
	padding-bottom:30px;
	top:50px;
	left:50px;
	z-index: 1100;
	color:black;
	font-size:13px;
	line-height:1.5em;
}

* html #shadow {
	position:absolute;
}
* html #paper {
	position: absolute;
}
* html div.confirm {
	position: absolute;
}
* html #loading {
	position: absolute;
}

div.confirm h3 {
	font-size:15px;
	margin:0px;
	padding:0px;
	color:#92B22C;
}

div.confirm h3.float {
	float:left;
}

div.confirm div.delete {
	float:right;
}

div.confirm div.error {
	text-align:center;
	color:red;
	padding:0px;
}

div.confirm span.close {
	display:block;
	width:80px;
	height:30px;
	background-image:url("../img/forms/form_close.gif");
	margin:10px auto;
	margin-top:20px;
	cursor:pointer;
}

div.confirm div.button {
	text-align:center;
	margin:10px auto;
	width:180px;
	height:30px;
	padding:0px;
	padding-top:10px;
}

div.confirm div.button button {
	margin:0px 2px;
}

div.confirm p {
	margin:0px;
	padding:0px;
}

div.btn_allprice {
	margin-top:10px;
}

button.btn_allprice {
	width:100%;
}

/*
	鍼灸マッサージ　カレンダー
*/
table.week {
	
}

table.week th {
	background-color:#EEEEFF;
}

table.week th.week_index {
	margin:0px;
	padding:0px;
}

table.week th.week_index p {
	margin:0px;
	padding:5px 0px;
	cursor:pointer;
	border:1px solid white;
}

table.week th.week_index p:hover {
	border:1px solid orange;
}

table.week td.hour {
	text-align:center;
	white-space:nowrap;
}

table.week td.units {
	padding:0px;
}

table.week td.units ul {
	list-style:none;
	margin:0px;
	padding:0px;
}

table.week td.units ul li {
	margin:0px;
	padding:0px;
	display:block;
	height:18px;
	cursor:pointer;
	border:1px solid white;
	overflow:hidden;
}

table.week td.units ul li span {
	padding:0px 5px;
	font-size:86%;
}

table.week td.units ul li span.first_contact {
	background-color:blue;
	color:white;
	border-radius:10px;
}

table.week td.units ul li.unit2,
table.week td.units ul li.unit4,
table.week td.units ul li.unit6 {
	background-color:#EEEEEE;
	border:1px solid #EEEEEE;
}

table.week td.units ul li:hover {
	border:1px solid orange;
}

table.week ul li {
	text-align:left;
}

table.week td.units ul li.nolatlng {
	background-color:#FF9999;
}

table.week select.minutes {
	padding:0px 5px;
	margin:0px;
	height:22px;
}

table.week td.addr {
	padding:0px;
}

table.week td.addr p {
	text-align:center;
	cursor:pointer;
	border:1px solid white;
	padding:7px 0px;
	margin:0px;
	font-size:86%;
}

table.week td.addr p:hover {
	border:1px solid orange;
}

div.search_patient table {
	width:680px;
}

div.search_patient table input {
	margin:0px;
}

div.search_patient select.patient,
div.search_patient select.agreement,
div.search_patient select.addr {
	width:680px;
}

div.search_patient div.mes {
	border:1px solid silver;
	padding:10px;
	text-align:center;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	color:gray;
	margin-bottom:5px;
}

div.search_patient div.addr_select {
	margin-top:0.5em;
}

div.search_patient div.agreement_select {
	margin-top:0.5em;
}

div.search_patient div.agreement_select div.agreement_detail {
	margin-top:10px;
	margin-bottom:10px;
}

div.search_patient div.agreement_select div.agreement_detail p {
	margin:0px;
	padding:10px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	border:1px solid silver;
}

div.search_patient div.agreement_select div.agreement_detail label {
	display:inline;
	margin:0px;
	margin-top:5px;
	margin-right:15px;
	font-size:92%;
}

div.search_patient div.agreement_select div.agreement_detail input {
	margin-top:-5px;
	margin-right:3px;
}

div.search_patient div.agreement_select div.option_select label {
	display:inline;
	margin:0px;
	margin-top:5px;
	margin-right:15px;
	font-size:92%;
}

div.search_patient div.agreement_select div.option_select label.nocopy {
	color:silver;
}

div.search_patient div.agreement_select div.option_select input {
	margin-top:-5px;
	margin-right:3px;
}

div.search_patient div.agreement_select div.copy_week {
	margin-top:1em;
}

div.search_patient div.agreement_select div.copy_week label {
	display:inline;
	margin:0px;
	margin-top:5px;
	margin-right:15px;
	font-size:92%;
}

div.search_patient div.agreement_select div.copy_week label.nocopy {
	color:silver;
}

div.search_patient div.agreement_select div.copy_week input {
	margin-top:-5px;
	margin-right:3px;
}


div.update_start table {
	width:680px;
}

div.update_start table input,
div.update_start table select {
	margin:0px;
}

div.update_prev table {
	width:680px;
}

div.update_prev table input,
div.update_prev table select {
	margin:0px;
}

#massage_route {
	min-height:600px;
	margin-bottom:60px;
}

#massage_route  div.arrow {
	text-align:left;
	padding-left:300px;
}

#massage_route td.patient {
	width:200px;
}

#massage_route div.panel {
	padding-top:10px;
}

#massage_route div.buttons {
	margin-top:40px;
}

div.card-sheet {
	position:relative;
}

div.card-sheet p.btn_card_lock {
	position:absolute;
	top:10px;
	right:10px;
	color:gray;
}

div.card-sheet p.card_lock_alert {
	color:red;
}

div.agreement-sheet span.price {
	font-size:82%;
	margin-left:10px;
	color:#666699;
}

div.agreement-sheet div.half_label label {
	width:45%;
	float:left;
}

div.scr-overflow {
	box-sizing:border-box;
	overflow: hidden;
	width:100%;
}

div.scr-overflow div.locked {
	float:left;
	width:10%;
}

div.scr-overflow div.scroll {
	width:90%;
	float:left;
	overflow-y:hidden;
	overflow-x:scroll;
}

div.scr-overflow div.locked4 {
	width:25%;
}

div.scr-overflow div.scroll4 {
	width:75%;
}

div.scr-overflow table {
	border-collapse:collapse;
}

div.scr-overflow table td,
div.scr-overflow table th {
	padding:0.2em 0.5em;
	font-size:90%;
}

div.scr-overflow table th {
	font-weight:bold;
}

div.scr-overflow .r {
	text-align:right;
}

div.scr-overflow .c {
	text-align:center;
}

div.scr-overflow div.scroll table {
	min-width:100%;
	table-layout: fixed;
}

div.scr-overflow table td,
div.scr-overflow table th {
	overflow: hidden; /* データが幅を超えたとき非表示に */
	white-space: nowrap; /* データの折り返しを防止 */
	border:1px solid #DDDDDD;
	line-height:1.3em;
}

div.scr-overflow table td {
	min-width:80px;
}

div.scr-overflow div.locked4 table td {
	min-width:auto;
}

div.scr-overflow div.locked table {
	width:100%;
}

div.scr-overflow table td {
	height:3em;
}

table.use_append_label p.append1 {
	padding:0;
	margin:0;
}
table.use_append_label p.append2 {
	color:brown;
	padding:0;
	margin:0;
}

table.use_append_label p.append_label {
	margin:0;
	padding:0;
	position:relative;
	padding-left:2em;
}

table.use_append_label p.append_label span.label {
	position:absolute;
	left:0;
	top:0.25em;
	background-color:silver;
	padding:0 0.2em;
	margin:0;
}

table.use_append_label p.append2 span.label {
	background-color:#CC9999;
}

table.table-overflow td p {
	line-height:1.5em;
}

#tels div.list {
	border:1px solid #F5F5F5;
	background-color: #EEEEEE;
	padding:1em;
	border-radius:0.5em;
	margin:0.5em 0;
}

#tels div.list input {
	height:1.85em;
	margin:0;
}

textarea.memo_text {
	width: 98%;
	height:280px;
}