@charset "utf-8";
/* CSS Document */

html{
	 background:#ffffff;
	 -webkit-text-size-adjust: 100%;
	 line-height: 160%;
	 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
	 margin:0;
	 padding:0
}
table{
	 border-collapse:collapse;
	 border-spacing:0
}
img{
	 border:0
}
ol,ul{
	 list-style:none
}
h1,h2,h3,h4,h5,h6{
	 font-size:100%;
	 font-weight:normal;
	 font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
input,textarea,select{
	 font-family:inherit;
	 font-size:inherit;
	 font-weight:inherit;
	 *font-size:100%;
	 outline:none;
}

* {
	box-sizing: border-box;
	 -webkit-box-sizing: border-box;
	 -moz-box-sizing: border-box;
	 -o-box-sizing: border-box;
	 -ms-box-sizing: border-box;
}

:focus {
	outline: none;
}

/* -----------------------
	 汎用
----------------------- */
body {
	color:#424242;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.clearfix:after {
	display: block;
	height: 0;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
	content: ".";
	clear: both;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.left {
	float: left;
}

.right {
	float: right;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

a {
	color: #1e88e5;
	text-decoration: underline;
	cursor: pointer;
}
a:hover,a:focus {
	color: #1976d2;
	outline: none;
}

.pt15 {
	padding-top: 15px;
}

.pt50 {
	padding-top: 50px;
}

.pb15 {
	padding-bottom: 15px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mr15 {
	margin-right: 15px;
}

.mb15 {
	margin-bottom: 15px;
}

.shadow {
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

.status-label {
	margin-left: 8px;
}
.status-label i {
	margin-right: 4px;
}

.status-label.green {
	color: #388e3c;
}

.status-label.blue {
	color: #1976d2
}

.status-label.orange {
	color: #ef6c00
}

h2 {
	padding: 8px 16px;
	font-size: 22px;
	color: #d32f2f;
	line-height: 32px;
}
h2 i {
	margin-right: 15px;
	color: #e57373;
}
h2#page_title {
	display: none;
}

h3 {
	padding-left: 15px;
	margin: 36px 0 15px;
	font-size: 18px;
	border-bottom: #ef9a9a 2px solid;
}
h3:first-child {
	margin-top: 0;
}

.display_table {
	display: table;
	width: 100%;
}

.display_table-cell {
	display: table-cell
}

table th,
table td {
	padding: 8px;
	border-top: #e5e5e5 1px solid;
	border-bottom: #e5e5e5 1px solid;
}

#sortable li {
	padding: 8px 16px;
	margin-bottom: 4px;
	background: #fafafa;
	border: #e5e5e5 1px solid;
}
#sortable li:hover {
	cursor: pointer;
}
#sortable li.ui-sortable-helper {
	opacity: 0.7;
}

.show-small,
.show-tablet {
	display: none;
}

.alert {
	padding: 15px;
	border: 1px solid transparent;
	border-radius: 4px;
}
.alert.alert-danger {
	color: #a90028;
	background: #ffebee;
	border-color: #ffcdd2;
}
.alert.alert-info {
	color: #1976d2;
	background: #e3f2fd;
	border-color: #bbdefb;
}

span.label {
	padding: .2em .6em .1em;
	font-size: 12px;
	color: #ffffff;
	font-weight: bold;
	border-radius: 2px;
	 -moz-border-radius: 2px;
	 -webkit-border-radius: 2px;
	 -khtml-border-radius: 2px;

}
span.label.green,
span.label.allocated {
	background: #4caf50;
}
span.label.preorder {
	background: #ef6c00;
}
span.label.accepted {
	background: #2196f3;
}
span.label.prechange,
span.label.changed {
	background: #b249ae;
}
span.label.precancel,
span.label.canceled {
	background: #d32f2f;
}

.ui-dialog {
	z-index: 1000;
	background: #ffffff;
	box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
}
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.2);
	overflow: hidden;
}
.ui-dialog-titlebar {
	display: none;
}

.show-dialog {
	cursor: pointer;
}

iframe {
	width: 100%;
	height: 100%;
	border: none;
}

#passLevel {
	width: 80px;
	font-size: 12px;
}

@media screen and (max-width:640px) {
	.alert {
		border: none;
		border-bottom: 1px solid transparent;
		border-radius: 0;
	}
}

/* -----------------------
	 ボタン
----------------------- */
.mdl-button {
	font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	min-width: 36px;
	letter-spacing: 2px;
	font-weight: 500;
	color: #666666;
}
a.mdl-button:hover {
	color: #424242;
}

.form-group .mdl-button {
	height: 32px;
	line-height: 32px;
}


.mdl-button.btn-min {
	height: 28px;
	padding: 0 8px;
	font-size: 13px;
	font-weight: 400;
	line-height: 28px;
}

.btn-area {
	margin: 0 0 5px 16px;
}

.mdl-button i {
	margin-right: 8px;
}

.single i {
	margin-right: 0 !important;
}

.title .mdl-button {
	color: #e57373;
}

.mdl-button.btn-text-blue,
.mdl-button.btn-text-blue:hover {
	color: #1976d2;
}

.mdl-button.btn-text-red,
.mdl-button.btn-text-red:hover {
	color: #d32f2f;
}

.mdl-button.btn-red,
.mdl-button.btn-red:hover {
	background: #d32f2f;
	color: #ffffff;
}

.mdl-button.btn-blue,
.mdl-button.btn-blue:hover {
	background: #2196f3;
	color: #ffffff;
}

.mdl-button.btn-gray,
.mdl-button.btn-gray:hover {
	background: #9e9e9e;
	color: #ffffff;
}

/* -----------------------
	 フォーム
----------------------- */
.mdl-grid.form-group	{
	padding: 0;
}

.form-group .form-label {
	padding-top: 7px;
	font-weight: bold;
	text-align: right;
}

.form-control {
	display: block;
	width: 100%;
	height: 32px;
	padding: 5px 12px;
	font-size: 14px;
	color: #555;
	line-height: 1.42857143;
	border: 1px solid #ccc;
	border-radius: 4px;
	 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	 -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
	 -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.form-control:focus {
	border-color: #bbdefb;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(100,181,246,.5);
	 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(100,181,246,.5);
}

.form-control.small {
	display: inline-block;
	width: 100px;
	margin-right: 4px;
}

.is-invalid .form-control {
	border: 1px solid #d32f2f;
}
.is-invalid .form-control:focus {
	border-color: #d32f2f;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(246,100,100,.5);
	 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(246,100,100,.5);
}

.error_msg,
span.red {
	color: #d32f2f;
	font-size: 90%;
}

p.small {
	color: #999999;
	font-size: 90%;
}

textarea.form-control {
	height: auto;
}

select {
	background: #ffffff url(../img/select.png) no-repeat 95% center;
	background-size: 7px;
	appearance: none;
	 -webkit-appearance: none;
	 -moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
}
select:focus {
	background: #ffffff url(../img/select.png) no-repeat 98% center;
	background-size: 7px;
}
select::-ms-expand {
	display: none;
}

.form-control-static {
	min-height: 34px;
	padding-top: 6px;
	padding-bottom: 6px;
	margin-bottom: 0;
}

.hint {
	color: #999999;
}

.input-group {
	position: relative;
	display: table;
	border-collapse: separate;
}
.input-group-addon:first-child {
	border-right: 0;
}
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.input-group-addon {
	vertical-align: middle;
	padding: 6px 12px;
	width: 60px;
	line-height: 1;
	text-align: center;
	background-color: #eee;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:first-child>.btn-group:not(:first-child)>.btn, .input-group-btn:first-child>.btn:not(:first-child), .input-group-btn:last-child>.btn, .input-group-btn:last-child>.btn-group>.btn, .input-group-btn:last-child>.dropdown-toggle {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.input-group .form-control, .input-group-addon, .input-group-btn {
	display: table-cell;
}
.input-group .form-control {
	position: relative;
	z-index: 2;
	float: left;
	width: 100%;
	margin-bottom: 0;
}

.mdl-grid.form-group .ul_indent {
	padding-left: 20px;
}

/* ラジオボタン*/
/* チェックボックス*/
.mdl-checkbox:hover {
	cursor: pointer;
}

.mdl-checkbox__label,
.mdl-radio__label {
	font-size: 14px;
	line-height: 32px;
}
.mdl-checkbox__box-outline,
.mdl-radio__outer-circle {
	top: 6px;
	border: 2px solid #bfbfbf;
}
.mdl-checkbox__ripple-container {
	top: -4px;
}
.mdl-radio__inner-circle {
	top: 10px;
}
.mdl-checkbox.is-checked .mdl-checkbox__box-outline,
.mdl-radio.is-checked .mdl-radio__outer-circle {
	border: 2px solid #d32f2f;
}
.mdl-checkbox.is-checked .mdl-checkbox__tick-outline,
.mdl-checkbox__ripple-container .mdl-ripple,
.mdl-radio__ripple-container .mdl-ripple,
.mdl-radio__inner-circle {
	background: #d32f2f;
}

.mdl-checkbox.is-disabled.is-checked .mdl-checkbox__box-outline,
.mdl-radio.is-disabled.is-checked .mdl-radio__outer-circle {
	border: 2px solid rgba(0,0,0,.26);
}

/* チェックボックス*/
[type="checkbox"].modal:checked, [type="checkbox"].modal:not(:checked) {
	position: absolute;
	left: -9999px;
}

[type="checkbox"].modal:checked + span, [type="checkbox"].modal:not(:checked) + span {
	position: relative;
	padding-left: 37px;
	cursor: pointer;
	line-height: 30px;
	display: inline-block;
	color: #666666;
}

[type="checkbox"].modal:checked + span:before, [type="checkbox"].modal:not(:checked) + span:before {
	content: '';
	position: absolute;
	left: 5px;
	top: 6px;
	width: 13px;
	height: 13px;
	background: #ffffff;
	border: 2px solid #b6b6b6;
	border-radius: 2px;
	 -webkit-border-radius: 2px;
	 -moz-border-radius: 2px;
	 -ms-border-radius: 2px;
	 -o-border-radius: 2px;
}

[type="checkbox"].modal:checked + span:after, [type="checkbox"].modal:not(:checked) + span:after {
	position: absolute;
	left: 5px;
	top: 6px;
	width: 17px;
	height: 17px;
	color: #ffffff;
	content: '\f00c';
	font-family: FontAwesome;
	font-size: 12px;
	text-align: center;
	line-height: 18px;
	background: #d32f2f;
	border-radius: 2px;
	 -webkit-border-radius: 2px;
	 -moz-border-radius: 2px;
	 -ms-border-radius: 2px;
	 -o-border-radius: 2px;
	transition: all 0.2s ease;
	 -webkit-transition: all 0.2s ease;
}

[type="checkbox"].modal:not(:checked) + span:after {
	opacity: 0;
	transform: scale(0);
	 -webkit-transform: scale(0);
}

[type="checkbox"].modal:checked + span:after {
	opacity: 1;
	transform: scale(1);
	 -webkit-transform: scale(1);
}

/* ラジオボタン*/
[type="radio"].modal:checked, [type="radio"].modal:not(:checked) {
	position: absolute;
	left: -9999px;
}

[type="radio"].modal:checked + span, [type="radio"].modal:not(:checked) + span {
	position: relative;
	padding-left: 30px;
	margin-right: 10px;
	cursor: pointer;
	line-height: 28px;
	display: inline-block;
	color: #555555;
}

[type="radio"].modal:checked + span:before, [type="radio"].modal:not(:checked) + span:before {
	position: absolute;
	left: 2px;
	top: 4px;
	content: '';
	width: 13px;
	height: 13px;
	border: 2px solid #b6b6b6;
	border-radius: 100%;
	 -webkit-border-radius: 100%;
	 -moz-border-radius: 100%;
	 -ms-border-radius: 100%;
	 -o-border-radius: 100%;
	background: #ffffff;
}

[type="radio"].modal:checked + span:after, [type="radio"].modal:not(:checked) + span:after {
	position: absolute;
	top: 8px;
	left: 6px;
	content: '';
	width: 9px;
	height: 9px;
	background: #d32f2f;
	border-radius: 100%;
	 -webkit-border-radius: 100%;
	 -moz-border-radius: 100%;
	 -ms-border-radius: 100%;
	 -o-border-radius: 100%;
	transition: all 0.2s ease;
	 -webkit-transition: all 0.2s ease;
}

[type="radio"].modal:not(:checked) + span:after {
	opacity: 0;
	transform: scale(0);
	 -webkit-transform: scale(0);
}

[type="radio"].modal:checked + span:after {
	opacity: 1;
	transform: scale(1);
	 -webkit-transform: scale(1);
}

/*ページング*/
ul.paging {
	margin: 0 auto;
	text-align: center;
}

ul.paging li {
	float: left;
}

ul.paging li.disabled a {
	pointer-events: none;
	background: none;
}

ul.paging li a {
	display: block;
	width: 36px;
	height: 36px;
	margin: 5px;
	color: #666666;
	line-height: 36px;
	background: rgba(158,158,158,0.2);
	border-radius: 2px;
	 -moz-border-radius: 2px;
	 -webkit-border-radius: 2px;
	 -khtml-border-radius: 2px;
}

ul.paging li a:hover {
	background: rgba(158,158,158,0.4);
	cursor: pointer;
}

ul.paging li a i {
	line-height: 28px;
}

ul.paging li.on a {
	background: none;
	color: #d32f2f;
}

@media screen and (max-width:640px) {
	.form-group .form-label {
		text-align: left;
	}
	
	ul.paging {
		margin-top: 15px;
	}
}

/* -----------------------
	 検索
----------------------- */
.search_box {
	background: #ffffff;
}

.search_box .inner {
	padding: 15px !important;
}

@media screen and (max-width:640px) {
	.search_switch {
		padding: 15px;
		color: #1976d2;
		font-weight: bold;
		text-align: center;
	}
	
	.search_switch i {
		margin-right: 8px;
	}
	
	.search_box {
		background: #fafafa;
	}
}

/* -----------------------
	 カレンダー
----------------------- */

#calendar table th,
#calendar table td {
	padding: 0;
	border: none;
	text-align: center;
}

#calendar table td {
	padding: 5px;
}
#calendar table td a {
	display: block;
	width: 25px;
	height: 25px;
	margin: 0 auto;
	color: #424242;
	font-size: 13px;
	line-height: 25px;
	text-decoration: none;
	cursor: pointer;
	border-radius: 13px;
	 -moz-border-radius: 13px;
	 -webkit-border-radius: 13px;
	 -khtml-border-radius: 13px;
}
#calendar table td a:hover {
	background: rgba(158,158,158,0.2)
}

#calendar table td.today a,
#calendar table td.today.reserve a {
	color: #ffffff !important;
	background: #e57373;
	border: none;
}

#calendar table td.reserve a {
	line-height: 23px;
	border: #a5d6a7 2px solid;
}

#prev,#next {
	position: absolute;
	top: 8px;
}
#prev {
	left: 8px;
}
#next {
	right: 8px;
}

.sat1 a,.sat2 a,.sat3 a,.sat4 a,.sat5 a {
	color: #1e88e5 !important;
}
.sun1 a,.sun2 a,.sun3 a,.sun4 a,.sun5 a, .holiday a {
	color: #a90028 !important;
}

/* -----------------------
	 モーダル
----------------------- */

.mdl-dialog__title {
	font-size: 20px;
	border-bottom: #e5e5e5 1px solid;
}
.mdl-dialog__content {
	color: #424242;
	overflow: auto;
	-webkit-overflow-scrolling:touch;
}

#wrapper.modal_content {
	background: #ffffff;	
}

html {
	overflow: hidden;
}

/* -----------------------
	 header
----------------------- */

.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

/* -----------------------
	 header
----------------------- */
.mdl-layout__header {
	min-width: 100%;
	background-color: #ffffff;
}

.mdl-layout__header-row {
	padding: 0;
	color: #424242;
	background: #ffffff;
}

#menu.mdl-layout__header-row {
	height: 48px;
	background: #a90028;
}

#menu nav {
	width: 100%;
	max-width: 1000px;
	height: 48px;
	margin: 0 auto;
	font-family:'Noto Sans Japanese',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	letter-spacing: 1px;
	text-align: center;
	flex-direction: row;
	 -webkit-flex-direction: row;
	 -ms-flex-direction: row;
	align-items: center;
	 -webkit-align-items: center;
	 -ms-flex-align: center;
	 -ms-grid-row-align: center;
}

.mdl-layout__header-row .mdl-navigation__link {
	color: #ffffff;
	line-height: 48px;
	flex: 1;
	 -webkit-flex: 1;
	 -ms-flex: 1;
}

.mdl-layout__header-row .mdl-navigation__link:hover,
.mdl-layout__header-row .mdl-navigation__link.is-active {
	opacity: 1;
	box-shadow: 0 -4px 0 0 #ffffff inset;
	font-weight: 500;
}

#menu ul li.now_menu {
	border-bottom: 4px solid #ffffff;
}

#menu ul li.now_menu a {
	color: #ffffff;
}

.nav>li>a {
	padding: 14px 15px 10px;
}

.nav-pills>li>a {
	border-radius: 0;
	color: #ffcdd2;
}
.nav-pills>li>a:hover {
	background: none;
}

/* -----------------------
	 footer
----------------------- */

footer.mdl-mini-footer {
	position: relative; /* absolute から relative に変更、または削除 */
	/* bottom: 0; は削除 */
	width: 100%;
	padding: 10px 0;
	color: #ffffff;
	font-size: 90%;
	text-align: center;
	background: #212121;
	border-top: #757575 8px solid;
}

footer.mdl-mini-footer .mdl-mini-footer__left-section {
	margin: 0 auto;
}

/* -----------------------
	wrapper
----------------------- */

#wrapper {
	flex-shrink: 0;
	background: #fafafa;
/* ▼▼▼ 修正: vh を dvh に変更し、安全策で min-height も併用 ▼▼▼ */
    height: calc(100dvh - 48px); 
    min-height: calc(100dvh - 48px); 
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	
/* ▼▼▼ 追加: フッターの下に少し余白を作ることで見切れを防ぐ ▼▼▼ */
    padding-bottom: 60px; 
    box-sizing: border-box; /* 念のため（全体のボックスサイズ計算に含まれるように） */
}

#wrapper .inner {
	/* padding-bottom: 104px; ← これを少し小さくするか、0にする */
	padding-bottom: 20px; /* 例: 程よい余白に変更 */
}
#wrapper .inner,.mdl-grid,.mdl-cell {
	background-color: transparent;
}

#wrapper #first {
	margin-top: 15px;
}

#wrapper .box {
	border: rgba(158,158,158,0.4) 15px solid;
}
#wrapper .box.js-matchHeight {
	background: #ffffff;
}

.title {
	position: relative;
	border-bottom: #e5e5e5 1px solid;
	background: #ffffff;
}

.body {
	padding: 15px;
	background: #ffffff;
}

/* -----------------------
	TOP
----------------------- */

#phone-calendar {
	display: none;
}

#wrapper.top #information.ui-accordion .ui-accordion-icons {
	position: relative;
	padding: 0;
}
#wrapper.top #information.ui-accordion h2:after {
	position: absolute;
	right: 16px;
	font-family: FontAwesome;
	content: '\f0d8';
}
#wrapper.top #information.ui-accordion .ui-accordion-header-active h2:after {
	content: '\f0d7';
}
.mdl-badge[data-badge]:after {
	background: #2196f3;
}

#wrapper.top #information .body dl {
	padding-top: 16px;
}

#wrapper.top .reserve .name {
	font-size: 18px;
	vertical-align: middle;
	width: 170px;
}

#wrapper.top .reserve .detail table th {
	background: #fafafa;
	font-weight: normal;
}

.mdl-tabs__tab:hover {
	color: rgba(0,0,0,.54);
}
.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active,
.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:hover {
	color: #a90028;
}
#wrapper.top .schedule .mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple,
.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after {
	background: #a90028;
}
#wrapper.top .schedule .mdl-tabs__tab i {
	margin-right: 8px;
}

#wrapper.top .schedule .status-label {
	line-height: 34px;
}

#wrapper.top .schedule table th,
#wrapper.top .schedule table td {
	padding: 8px;
	border: #e5e5e5 1px solid;
}

#wrapper.top .schedule table th {
	background: #fafafa;
	font-weight: normal;
	text-align: center;
}

.schedule .reserve_detail {
	padding: 8px;
	margin-bottom: 4px;
	font-weight: bold;
	border-radius: 4px;
	 -moz-border-radius: 4px;
	 -webkit-border-radius: 4px;
	 -khtml-border-radius: 4px;
}
.schedule .reserve_detail:last-child {
	margin-bottom: 0;
}
.schedule .reserve_detail i {
	margin-right: 4px;
}

.schedule .reserve_detail .time {
	font-size: 12px;
}

.schedule .reserve_detail .name,
.schedule .reserve_detail .position,
.schedule .reserve_detail .vehicle {
	font-size: 90%;
	line-height: 1.3;
}
.schedule .reserve_detail .name {
	margin-bottom: 5px;
}

.schedule .reserve_detail.green {
	color: #388e3c;
	background: rgba(200,230,201,0.5) !important;
	border: rgba(76,175,80,0.5) 1px solid;
}

.schedule .reserve_detail.blue {
	color: #1976d2;
	background: rgba(187,222,251,0.5) !important;
	border: rgba(33,150,243,0.5) 1px solid;
}

.schedule .reserve_detail.orange {
	color: #ef6c00;
	background: rgba(255,224,178,0.5) !important;
	border: rgba(255,152,0,0.5) 1px solid;
}

#timeline .mdl-dialog__content,
#sort .mdl-dialog__content,
#report .mdl-dialog__content {
	height: 500px;
}

#timeline #time_table {
	position: relative;
}

#timeline #time_table #reserve_table {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 0 8px 0 68px;
}

#timeline #time_table #reserve_table #reserve_table_area {
	position: relative;
	width: 100%;
	height: 100%;
}

#timeline #time_table #reserve_table #reserve_table_area .reserve_detail {
	position: absolute;
	margin: 0;
}

#timeline #time_table .border {
	width: 100%;
	border-bottom: #e5e5e5 1px dashed;
}
#timeline #time_table .border:nth-child(4n){
	border-bottom: #cccccc 1px solid;
}

#timeline #time_table .hour {
	width: 60px;
	/*height: 14px;*/
	line-height: 14px;
	font-weight: bold;
	font-size: 12px;
	text-align: center;
	background: #fafafa;
}

#timeline table th {
	padding: 8px;
	background: #fafafa;
}
#timeline table td {
	padding: 8px;
}

/* -----------------------
	reserve
----------------------- */

.position:nth-child(odd),
.pos_add:nth-child(odd) {
	background: #fafafa;
}

.pos_add:nth-child(even) {
	background: #f5f5f5;
}

/* -----------------------
	 reserve_history
----------------------- */

#wrapper.reserve_history .reserve_list {
	border-top: #e5e5e5 1px solid;
}
#wrapper.reserve_history .reserve_list:last-child {
	border-bottom: #e5e5e5 1px solid;
}
#wrapper.reserve_history .reserve_list:nth-child(odd){
	background: #fafafa;
}
#wrapper.reserve_history .reserve_list:nth-child(even) .position{
	background: #ffffff;
}

#wrapper.reserve_history .reserve_list .display_table-cell {
	padding: 15px;
}

#wrapper.reserve_history .reserve_list .display_table-cell.status {
	width: 130px;
	vertical-align: middle;
}

#wrapper.reserve_history .reserve_list .display_table-cell.delete {
	width: 80px;
	vertical-align: middle;
}
#wrapper.reserve_history .reserve_list .display_table-cell.name {
	width: 250px;
	vertical-align: middle;
}
#wrapper.reserve_history .reserve_list .display_table-cell.name span.name {
	color: #1976d2;
	font-size: 18px;
}
#wrapper.reserve_history .reserve_list .display_table-cell.name .mdl-button + span.name {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	vertical-align: middle;
	text-overflow: ellipsis;
	 -webkit-text-overflow: ellipsis;
	 -o-text-overflow: ellipsis;
}

#wrapper.reserve_history .reserve_list .display_table-cell.name span.date {
	color: #666666;
	font-size: 12px;
}

#wrapper.reserve_history .reserve_list .display_table-cell.position{
    width: 350px;
	word-break:break-all
}

#wrapper.reserve_history .reserve_list .display_table-cell.passenger{
	width: 150px;
}

#wrapper.reserve_history .reserve_list .display_table-cell.button {
    width: 120px;
    vertical-align: middle;
}

#wrapper.reserve_history .reserve_list .display_table-cell.pos_del_btn {
    width: 75px;
    vertical-align: middle;
}

.mdl-dialog__content #wrapper.reserve_history .reserve_list .display_table-cell.button {
	width: 200px;
	vertical-align: middle;
}

#wrapper.reserve_history .reserve_list .display_table-cell.checkbox {
	width: 40px;
	vertical-align: middle;
}

#wrapper.inquiry .inquiry_parent {
	padding: 15px 0;
	border-top: #e5e5e5 1px solid;
}
#wrapper.inquiry .inquiry_parent:last-child {
	border-bottom: #e5e5e5 1px solid;
}
#wrapper.inquiry .inquiry_parent:nth-child(odd){
	background: #fafafa;
}

#wrapper.inquiry .inquiry_parent > .children {
	display: none;
}

#wrapper.inquiry .inquiry_tree .display_table-cell.text{
	width: 600px;
}

#wrapper.inquiry .inquiry_tree {
	min-height: 36px;
}

#wrapper.inquiry .inquiry_tree span.inquiry_text {
	display: inline-block;
	overflow: hidden;
	width: 530px;
	white-space: nowrap;
	text-overflow: ellipsis;
	 -webkit-text-overflow: ellipsis;
	 -o-text-overflow: ellipsis;
	vertical-align: middle;
	text-decoration: underline;
	cursor: pointer;
}
#wrapper.inquiry .inquiry_tree span.inquiry_text.open_child {
	color: #ff9800;
	font-weight: bold;
}
#wrapper.inquiry span.inquiry_text i {
	color: #f44336;
	margin-right: 8px;
}
#wrapper.inquiry .inquiry_tree .inquiry_text_all {
	display: none;
	padding: 16px;
	margin-left: 50px;
}

#wrapper.inquiry .inquiry_tree .display_table-cell.date {
	width: 100px;
	color: #999999;
}

#wrapper.inquiry .children {
	padding-left: 15px;
}

#wrapper.inquiry .children .inquiry_tree .display_table-cell.text{
	width: 585px;
}
#wrapper.inquiry .children .inquiry_tree span.inquiry_text {
	width: 515px;
}
#wrapper.inquiry .children .children .inquiry_tree .display_table-cell.text{
	width: 570px;
}
#wrapper.inquiry .children .children .inquiry_tree span.inquiry_text {
	width: 500px;
}

#wrapper.inquiry .children .inquiry_tree .display_table-cell.text span{
	margin-left: 50px;
}

.txt-size_mini{
 font-size: 14px;
}

@media screen and (min-width:641px) and (max-width:1023px){
	.mdl-layout__header {
		display: block;
	}
	
	.mdl-layout__drawer-button,
	.btn-calendar {
		display: none;
	}
	
	header {
		position: static;
	}
	
	.container-fluid.inner {
		padding: 0;
	}
	
	.calendar .body {
		padding: 15px 0;
	}
	
	#calendar table td {
		padding: 4px;
	}
	
	.show-tablet {
		display: block !important;
	}
	
	.hidden-tablet {
		display: none !important;
	}
}

@media screen and (max-width:640px) {
	.hidden-small,
	.show-tablet {
		display: none !important;
	}
	
	.show-small {
		display: block !important;
	}
	
	header.mdl-layout__header {
		background: #a90028;
	}
	
	.mdl-button.btn-calendar {
		position: absolute;
		right: 0;
		top: 0;
		height: 48px;
		width: 48px;
		margin: 4px;
		color: #ffffff;
	}
	
	h2 {
		font-size: 20px;
	}
	h2#page_title {
		display: block;
		padding: 0 0 0 56px;
		color: #ffffff;
		font-size: 16px;
		font-weight: bold;
		line-height: 56px;
	}
	
	.mdl-layout__drawer-button {
		line-height: 56px;
	}
	.mdl-layout__drawer {
		background: #ffffff;
		border: none;
	}
	.mdl-layout__drawer .mdl-layout-title {
		font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		background: #a90028;
		color: #ffffff;
		font-size: 16px;
		font-weight: bold;
	}
	.mdl-layout__drawer .mdl-navigation {
		padding: 0;
	}
	.mdl-layout__drawer .mdl-navigation a.mdl-navigation__link {
		position: relative;
		border-bottom: #e5e5e5 1px solid;
		color: #d32f2f;
	}
	.mdl-layout__drawer .mdl-navigation a.mdl-navigation__link:after {
		position: absolute;
		right: 16px;
		color: #bfbfbf;
		font-family: FontAwesome;
		content: '\f105';
		font-size: 28px;
	}
	
	.mdl-dialog__title,
	.mdl-dialog__content {
		padding: 8px 8px 0;
	}
	.mdl-dialog__content #wrapper.reserve_history .reserve_list .display_table-cell.button {
		width: 40px;
	}
	
	nav {
		height: 56px;
	}
	
	#wrapper {
		flex-shrink: inherit;
		/* スマホ時はヘッダー等が大きくなる場合に合わせて調整（MDL標準やnavの高さを考慮して56pxとしています） */
		height: calc(100vh - 56px);
	}
	#wrapper .inner {
		padding-bottom: 64px;
	}
	
	#search_box_area + .inner {
		padding-top: 50px;
	}
	
	footer.mdl-mini-footer {
		position: static;
	}
	
	.body {
		padding: 0 0 15px;
	}
	
	#wrapper.top .btn-reserve {
		font-size: 16px;
		width: 250px;
		height: 40px;
		margin: 15px auto;
		line-height: 40px;
	}
	#wrapper.top .reserve .body,
	#wrapper.reserve_history .body {
		padding-bottom: 0;
	}
	
	.mdl-grid {
		padding: 0;
	}
	.mdl-grid.form-group {
		padding: 0 15px 15px;
	}
	.mdl-grid.form-group .mdl-cell {
		margin: 0 8px 8px;
	}
	.mdl-grid.form-group .mdl-cell + .mdl-cell .mdl-button {
		margin-top: 8px;
	}
	.mdl-grid.form-group .mdl-cell + .mdl-cell .mdl-button.pos_add_delete {
		margin-top: 0;
	}
	
	.mdl-cell {
		margin: 0;
	}
	#wrapper.top .mdl-cell {
		margin: 8px 0;
	}

	.mdl-cell--12-col, .mdl-cell--12-col-phone.mdl-cell--12-col-phone {
		width: 100%;
	}
	
	.container-fluid.inner {
		padding: 0;
	}
	
	nav#menu button {
		color: #ffffff;
	}
	
	.reserve .display_table,
	.reserve .display_table-cell {
		display: block;
	}
	
	#wrapper.top .reserve .name {
		padding: 15px;
	}
	
	#search_box_area {
		position: absolute;
		z-index: 3;
		width: 100%;
		background: #ffffff;
	}
	#search_box_area .inner {
		background: #ffffff;
	}
	
	#wrapper.top #information .body dl {
		padding: 16px 16px 0;
	}
	
	/*スケジュール表示*/
	#phone-calendar {
		position: absolute;
		top: 56px;
		right: -320px;
		z-index: 4;
		width: 320px;
		background: #ffffff;
	}
	
	#wrapper #phone-calendar .box {
		border: none;
	}
	
	#phone-calendar .mdl-cell {
		margin: 0;
	}
	
	#phone-calendar .calendar #prev {
		left: 48px;
	}
	#phone-calendar .calendar #next {
		right: 48px;
	}
	
	#phone-calendar .calendar .toggle {
		position: absolute;
		right: 4px;
		top: 8px;
		color: #bfbfbf;
	}
	
	#phone-calendar .calendar .body {
		padding-top: 16px;
	}
	
	#phone-calendar .schedule .title {
		position: relative;
		background: rgba(158,158,158,0.2);
	}
	#phone-calendar .schedule .title h2 {
		font-size: 14px;
		color: #666666;
		line-height: 26px;
	}
	#phone-calendar .schedule .title .mdl-button,
	#phone-calendar .schedule .title .mdl-tabs__tab {
		position: absolute;
		top: 0;
		height: 42px;
		color: #666666;
	}
	#phone-calendar .schedule .title .mdl-button.prev {
		left: 48px;
	}
	#phone-calendar .schedule .title .mdl-button.next {
		right: 48px;
	}
	#phone-calendar .schedule .title .btn {
		color: #d32f2f;
		right: 0;
		width: 48px;
		padding: 8px 0;
		line-height: 1;
	}
	#phone-calendar .schedule .title .btn-text-blue {
		left: 0;
		right: auto;
	}
	#phone-calendar .schedule .title .btn span {
		font-size: 10px;
	}
	
	#phone-calendar #tabs .tab-panel {
		height: calc(100vh - 380px);
	}
	
	#phone-calendar .schedule #day {
		overflow: auto;
		padding: 15px;
	}

	#phone-calendar .schedule table th,
	#phone-calendar .schedule table td {
		 border: #e5e5e5 1px solid;
		 padding: 8px;
	 }
	
	#phone-calendar .schedule table th {
		color: #666666;
		white-space:nowrap;
		font-weight: normal;
		background: #fafafa;
	}
	
	.schedule .reserve_detail {
		margin-bottom: 8px;
	}
	
	.schedule .reserve_detail .time,
	.schedule .reserve_detail .label {
		vertical-align: middle;
		width: 60px;
	}
	
	.status-label.green,
	.status-label.blue,
	.status-label.orange {
		padding: .2em .6em .1em;
		margin: 0;
		color: #ffffff;
		font-size: 80%;
		border-radius: 2px;
		 -moz-border-radius: 2px;
		 -webkit-border-radius: 2px;
		 -khtml-border-radius: 2px;
	}
	.status-label.green {
		background: #4caf50;
	}
	.status-label.blue {
		background: #2196f3;
	}
	.status-label.orange {
		background: #ef6c00;
	}
	
	/* -----------------------
		 reserve_history
	----------------------- */
	#wrapper.reserve_history .reserve_list .display_table-cell {
		padding: 8px;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.name {
		width: 110px;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.name .mdl-button + span.name {
		width: 150px;
	}
	
	#wrapper.reserve_history .reserve_list .display_table-cell.position span.name,
	#wrapper.reserve_history .reserve_list .display_table-cell.name span.name {
		color: #1976d2;
		font-size: 16px;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.position span.date {
		color: #666666;
		font-size: 12px;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.position span.label {
		font-size: 90%;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.button,
	#wrapper.reserve_history .reserve_list .display_table-cell.delete {
		width: 52px;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.button a {
		float: left;
		width: 36px;
		padding: 0;
	}
	#wrapper.reserve_history .reserve_list .display_table-cell.position p {
		line-height: 1.4;
		font-size: 90%;
	}
	
	dl.message_list {
		position: relative;
	}
	
	dl.message_list dd.inquiry_text {
		line-height: 1.3;
	}

	dl.message_list dd button {
		position: absolute;
		z-index: 1;
	}
	
	dl.message_list dd span.inquiry_text {
		display: block;
		overflow: hidden;
		padding: 0 16px 0 50px;
		text-decoration: underline;
		white-space: nowrap;
		text-overflow: ellipsis;
		 -webkit-text-overflow: ellipsis;
		 -o-text-overflow: ellipsis;
	}
	
	dl.message_list dd p.inquiry_detail{
		padding: 0 16px 0 50px;
		font-size: 12px;
	}
	
	dl.message_list dd p.inquiry_detail span.gray {
		color: #999999;
	}
	
	dl.message_list dd.inquiry_text_all {
		display: none;
		padding: 16px;
		
	}
	dl.message_list dd.inquiry_text_all p {
		line-height: 1.3;
	}
	
	.children dl.message_list {
		margin-top: 16px;
	}
	
}
.btn-file-delete
{
	margin: 13px 0;
}
#report {
	size: A4 landscape;
}