* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

@-ms-viewport {
	width: auto !important;
}

body {
	padding-top: 84px;
	font-family: 'Open Sans', sans-serif;
	font-size: 0.9rem;
	background-color: #f0f0f0;
}
@media screen and (max-width: 992px) {
	body {
		padding-top: 62px;
	}
}
@media screen and (max-width: 554px) {
	body {
		padding-top: 44px;
	}
}

a:disabled {
	pointer-events: none;
}

/*
 * nav
 */
nav.nav-custom {
	height: 72px;
	background-color: #fff;
}
.nav-logo-img {
	width: 102px;
	margin-top: -2px;
}
@media screen and (max-width: 992px) {
	nav.nav-custom {
		height: 56px;
	}
	.nav-logo-img {
		width: 86px;
	}
}
@media screen and (max-width: 554px) {
	nav.nav-custom {
		height: 42px;
	}
	.nav-logo-img {
		width: 72px;
	}
}

/*
 * content
 */
#content_area {
	margin-top: 10px;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 30px;
}

.container {
	padding-right: 2px;
	padding-left: 2px;
}

.content-box {
	padding: 5px 20px 20px 20px;
	background: #fff;
	border-radius: 10px;
	border-left: 1px solid #eee;
	border-top: 1px solid #eee;
	border-right: 2px solid #eee;
	border-bottom: 2px solid #eee;
	margin-bottom: 10px;
	display: inline-block;
	min-width: 100%;
}

.content-title {
	font-size: 16pt;
	font-weight: bold;
	padding: 10px 25px 10px 25px;
	margin-bottom: 15px;
	color: #34495e;
	background-color: #fcf8e3;
	border: solid 1px #e0e0e0;
	border-radius: 5px;
}

/*
 * table
 */
.table-bordered>thead>tr>th,
.table-bordered>tbody>tr>th,
.table-bordered>tbody>tr>td {
	vertical-align: middle;
	font-size: 0.86rem;
}
.table-bordered>thead>tr>th {
	text-align: center;
	background-color: #f0f0f0;
	color: #000;
}
.table-bordered>tbody>tr>th {
	text-align: center;
	background-color: #3C73B6;
	color: #fff;
}
.table-bordered>thead>tr>th,
.table-bordered>tbody>tr>th,
.table-bordered>tbody>tr>td {
	padding: 8px 4px;
}

.content-box .table.text-wrap,
.custom-modal .table.text-wrap {
	word-break: break-all;
}

.content-box .table-bordered.table-sub>thead>tr>th,
.content-box .table-bordered>tbody>tr>th {
	background-color: #f0f0f0;
	color: #000;
}

/*
 * modal
 */
.custom-modal {
	padding-top: 5%;
}
.custom-modal .modal-header {
	font-size: 16px;
}
.custom-modal .modal-body {
	font-size: 16px;
}

/*
 * bootbox
 */
.bootbox {
	padding-top: 5%;
}
.bootbox.progress-modal {
	padding-top: 10%;
}
.bootbox .modal-header {
	padding: 10px 15px;
}
.bootbox .modal-body {
	font-size: 16px;
	padding: 25px 30px 30px 30px;
}

/*
 * button
 */
.btn.custom-btn {
	border-radius: 0;
	width: 40vw;
	max-width: 200px;
	/* padding: 8px 12px; */
}

/*
 * checkbox
 */
/* input[type=checkbox] {
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	margin-top: 3px;
} */

/*
 * text
 */
input[type=text] {
	font-size: 0.9rem;
}

/*
 * selectpicker
 */
.bootstrap-select .btn.dropdown-toggle {
	font-size: 0.9rem;
	height: 35px!important;
}
.bootstrap-select .dropdown-menu {
	max-height: 630px;
}
.bootstrap-select .dropdown-menu li a {
	font-size: 0.9rem;
}

/*
 * datepicker
 */
/* .datepicker {
	font-size: 14px;
} */

/*
 * pagination
 */
.page-selection {
	margin-top: 25px;
}
.page-selection ul.pagination {
	margin: 0 auto;
	margin-bottom: 5px;
	justify-content: center;
}

/*
 * alert
 */
.alert {
	border-radius: 0;
	margin: 0 auto;
	max-width: 600px;
	font-weight: bold;
	/* color: #000; */
}


/*
 * 画面共通
 */

/*
 * 画面タイトル
 */
.function-title-box {
	margin-top: 5px;
	margin-bottom: 7px;
}
.function-title {
	/* padding-top: 8px; */
	font-size: 1.2rem;
	font-weight: bold;
}

/*
 * 画面タイトル：dropdown
 */
.function-title-box .dropdown .dropdown-menu,
.operation-box .dropdown .dropdown-menu {
	margin-top: 10px;
}
.function-title-box .dropdown .dropdown-menu>li>a,
.operation-box .dropdown .dropdown-menu>li>a {
	padding-top: 10px;
	padding-bottom: 10px;
}

/*
 * 操作ボタン
 */
.operation-btn-box {
	margin-bottom: 5px;
}
.operation-btn-box .btn:not(.bootstrap-select .btn) {
	padding: .35rem .9rem;
}

.save-btn-box .btn {
	width: 180px;
	height: 40px;
	margin: 0px 10px;
}

/*
 * 一覧ヘッダー
 */
.list-header-cell:hover {
	cursor: pointer;
}
.list-header-cell.order-asc,
.list-header-cell.order-desc {
	color: black;
	background-color: #ccc;
}
.list-header-cell .fa {
	font-size: 16px;
}

/*
 * 一覧項目
 */
/*
.list-table>tbody>tr>td {
	padding: 8px 3px!important;
}
.data-table>tbody>tr>td {
	padding: 8px!important;
}

.sub-table>thead>tr>th,
.sub-table>tbody>tr>td {
	font-size: 14px;
}
*/

/*
 * 編集ダイアログ
 */
#edit_data_modal .checkbox,
#edit_data_modal .radio {
	margin-left: 10px;
}

/*
 * 必須マーク
 */
.required-item::after {
	content: "必須";
	background-color: #dc3545;
	color: #fff;
	font-size: 10px;
	font-weight: bold;
	margin: 0px;
	margin-left: 2px;
	padding: 3px 4px;
	border-radius: 9px;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	display: inline-block;
	white-space: nowrap;
}

/*
 * エラー項目
 */
.error .form-control {
    border-color: red;
}
.error .form-control:not(:disabled),
.error .form-control:focus {
    border-color: red;
}
.error .form-control:focus {
    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 0, 0, .6);
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 0, 0, .6);
    -o-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 0, 0, .6);
    -ms-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 0, 0, .6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 0, 0, .6);
}
.error .dropdown-toggle {
    border-color: red!important;
}

/*
 * 予約番号入力・説明文
 */
.guidance-box {
	margin: 0 auto;
	padding: 14px 12px;
	max-width: 600px;
	background-color: #fff;
	font-weight: bold;
}
.guidance-box .guidance-title {
	font-size: 16px;
}
@media screen and (min-width: 680px) {
	.guidance-box {
		padding: 22px 28px;
	}
}

.reservation-number-table {
	margin: 0 auto;
	max-width: 400px;
}
.reservation-number-table>tbody>tr>th,
.reservation-number-table>tbody>tr>td {
	padding: 12px 10px;
}
.reservation-number-table>tbody>tr>td {
	background-color: #fff;
}
.reservation-number-table input[type='text'] {
	border-radius: 0;
}
.reservation-number-table .invalid-feedback {
	font-size: 14px;
}

/*
 * アンケートフォーム
 */
.questionnaire-form-box {
	margin: 0 auto;
	padding: 15px 10px 20px 10px;
	max-width: 600px;
	background-color: #fff;
}
@media screen and (min-width: 680px) {
	.questionnaire-form-box {
		padding: 20px 25px 25px 25px;
	}
}
.questionnaire-form-box .question-title {
	font-size: 16px;
	font-weight: bold;
}
.questionnaire-form-box .question-text {
	font-weight: bold;
}
.questionnaire-form-box .sub-question-text {
	font-size: .86rem;
}

.questionnaire-form-box .custom-control-label {
	padding-top: .11rem;
	font-size: .86rem;
}
.questionnaire-form-box .custom-control-label::before,
.questionnaire-form-box .custom-control-label::after {
	/* top: .25rem;
	left: -1.5rem;
	width: 1rem;
	height: 1rem; */
	top: .24rem;
	left: -1.4rem;
	width: .92rem;
	height: .92rem;
}
/* .questionnaire-form-box .form-check-label {
	margin-top: 2px;
} */

.questionnaire-form-btn-box hr {
	max-width: 600px;
}
.questionnaire-form-btn-box .btn.custom-btn {
	width: 30vw;
	max-width: 200px;
}

.questionnaire-form-box .edit-btn-box {
	/* background-color: #e0e0e0;
	padding: 2px 6px;
	margin: 0 -2px; */
	/* margin-top: 7px; */
	text-align: right;
	font-size: 1rem;
}
.questionnaire-form-box .edit-btn-box span {
	font-size: .8rem;
	margin-left: 2px;
}
.questionnaire-form-box .answer-text {
	color: #007bff;
	word-wrap: break-word;
}

.questionnaire-finish-box {
	margin-top: 50px;
	font-size: 16px;
	font-weight: bold;
}
