@charset "utf-8";

@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* ------------------------------------------------------------------------------
	 General Style
-------------------------------------------------------------------------------*/
body {
	font-family: "Noto Sans Japanese", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	color: #444;
}
ul, ol {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
}
section, aside, article {
	margin: 30px 0;
}
div {
	word-wrap: break-word;
}

body.large { font-size: 150%; }
body.small { font-size: 125%; }

.no-padding { padding: 0 !important;  }
.no-padding-top { padding-top: 0 !important; }
.no-gutter [class*=col-] { padding-right: 0 !important; padding-left: 0 !important; }
.padding-top-15 { padding-top: 15px !important; }
.padding-bottom-10 { padding-bottom: 10px !important; }
.padding-bottom-15 { padding-bottom: 15px !important; }

.no-margin { margin: 0 !important; }
.no-margin-top { margin-top: 0 !important; }
.no-margin-bottom { margin-bottom: 0 !important; }
.margin-top-5 { margin-top: 5px !important; }
.margin-top-10 { margin-top: 10px !important; }
.margin-top-15 { margin-top: 15px !important; }
.margin-top-20 { margin-top: 20px !important; }
.margin-top-30 { margin-top: 30px !important; }
.margin-left-5 { margin-left: 5px !important; }
.margin-left-10 { margin-left: 10px !important; }
.margin-left-15 { margin-left: 15px !important; }
.margin-left-20 { margin-left: 20px !important; }
.margin-left-30 { margin-left: 30px !important; }
.margin-bottom-5 { margin-bottom: 5px !important; }
.margin-bottom-10 { margin-bottom: 10px !important; }
.margin-bottom-15 { margin-bottom: 15px !important; }
.margin-bottom-20 { margin-bottom: 20px !important; }
.margin-bottom-30 { margin-bottom: 30px !important; }
.nv-margin-top-10 { margin-top: -10px !important; }
.nv-margin-left-5 { margin-left: -5px !important; }
.nv-margin-left-10 { margin-left: -10px !important; }
.nv-margin-left-15 { margin-left: -15px !important; }
.nv-margin-bottom-10 { margin-bottom: -10px !important; }

.no-border { border: none !important; }
.no-border-top { border-top: none !important; }
.no-border-left { border-left: none !important; }
.no-border-right { border-right: none !important; }
.no-border-bottom { border-bottom: none !important; }
.border-width-3 { border-width: 3px !important; }
.border-black { border-color: black !important; }
.border-dotted { border-style: dotted !important; }

.no-radius { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }

.width-auto { width: auto !important; }
.width-max { width: 100% !important; }

.min-width-60 { min-width: 60px !important; }
.min-width-80 { min-width: 80px !important; }
.min-width-100 { min-width: 100px !important; }
.min-width-120 { min-width: 120px !important; }
.min-width-140 { min-width: 140px !important; }
.min-width-160 { min-width: 160px !important; }
.min-width-180 { min-width: 180px !important; }
.min-width-200 { min-width: 200px !important; }

.min-width-60.fixed { width: 60px !important; }
.min-width-80.fixed { width: 80px !important; }
.min-width-100.fixed { width: 100px !important; }
.min-width-120.fixed { width: 120px !important; }
.min-width-140.fixed { width: 140px !important; }
.min-width-160.fixed { width: 160px !important; }
.min-width-180.fixed { width: 180px !important; }
.min-width-200.fixed { width: 200px !important; }

.text-en { font-family: "Open Sans",sans-serif; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.text-default, .text-default:hover { color: #333; }
.text-gray, .text-gray:hover { color: #808080; }
.text-navy, .text-navy:hover { color: navy; }
.text-silver, .text-silver:hover { color: #C0C0C0; }
.text-white, .text-white:hover { color: #fff; }
.text-red { color: #f00; }

.font-xs { font-size: 0.875em !important; line-height: inherit !important;}
.font-sm { font-size: 0.925em !important; line-height: inherit !important;}
.font-df { font-size: 1em !important; line-height: inherit !important;}
.font-md { font-size: 1.1em !important; line-height: inherit !important;}
.font-lg { font-size: 1.33333em !important; line-height: inherit !important;}
.font-2x { font-size: 2em !important; }
.font-3x { font-size: 3em !important; }
.font-bold { font-weight: bold !important; }
.font-normal { font-style: normal !important; font-weight: normal !important; }

.font-in-icon-lg { margin-left: 36px; }
.font-in-icon-lg .fa { margin-left: -36px; width: 36px; }

.v-top { vertical-align: top !important; }
.v-center { vertical-align: middle !important; }

.nowrap { white-space: nowrap !important; }

.block { display: block !important; }
.inline-block { display: inline-block !important; }

.bg-default { background-color: #f5f5f5 !important; }

.form-label { display: inline-block; margin-bottom: 5px; }

ul.list-style-default li {
	list-style: disc outside none;
	margin-left: 1.33333em;
}
ul.list-style-default.nest ul {
	margin-bottom: 5px;
}
ul.list-style-default.nest ul li {
	list-style: circle outside none;
}

.text-overflow {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.text-overflow-auto {
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}
.text-overflow-auto.multiline {
	white-space: normal;
	max-height: 2em * 1.2;
	position: relative;
}
.text-overflow-auto.multiline::after {
	content: "…";
	position: absolute;
	display: block;
	bottom: 0;
	right: 0;
}

.text-sub-default {
	margin-bottom: 5px;
}
.text-sub-default ul {
	margin: 5px 0 0 10px;
}
.text-sub-default > li {
	margin-bottom: 5px;
}
.text-sub-default .fa {
	color: #004484;
}

.title-default {
	margin-bottom: 0 !important;
	font-size: 1.5em;
}
.title-default:after {
	display: block;
	height: 3px;
	content: "";
	margin: 7px 0 20px;
	background: #004484;
	background: -moz-linear-gradient(left, #004484 0%, #004484 50%, #fafafa 50%, #fafafa 100%);
	background: -webkit-linear-gradient(left, #004484 0%,#004484 50%,#fafafa 50%,#fafafa 100%);
	background: linear-gradient(to right, #004484 0%,#004484 50%,#fafafa 50%,#fafafa 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004484', endColorstr='#fafafa',GradientType=1);
}
.title-sub-default {
	padding-bottom: 7px;
	border-bottom: 1px solid #eee;
}
.title-sub-bg-gray {
	background-color: #efefef;
	padding: 5px 10px;
	margin: 0 0 10px;
}

.ico {
	display: inline-block;
	line-height: 1;
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
}
.ico-book {
	background-image: url("/images/common/ico_book.png");
}
.ico-cloud {
	background-image: url("/images/common/ico_cloud.png");
}
.ico-doc {
	background-image: url("/images/common/ico_doc.png");
}
.ico-edit {
	background-image: url("/images/common/ico_edit.png");
}
.ico-movie {
	background-image: url("/images/common/ico_movie.png");
}
.ico-news {
	background-image: url("/images/common/ico_news.png");
}
.ico-pay {
	background-image: url("/images/common/ico_pay.png");
}
.ico-symp {
	background-image: url("/images/common/ico_symp.png");
}
.ico-video {
	background-image: url("/images/common/ico_video.png");
}
.ico-vote {
	background-image: url("/images/common/ico_vote.png");
}

.social-default-icon a + a {
	margin-left: 10px;
}
.social-default-icon a.twitter { color: #55acee; }
.social-default-icon a.facebook { color: #3b5999; }

.list-box-shadow {
	font-size: 15px;
}
.list-box-shadow a {
	display: block;
	padding: 10px;
}
.list-box-shadow a:not([class*=text-]) {
	color: #333;
}
.list-box-shadow a:hover {
	text-decoration: none;
}
.list-box-shadow a:not([class*=bg-]):hover {
	background-color: #f5f5f5;
}
div.list-box-shadow {
	margin-bottom: 12px;
}
ul.list-box-shadow li:not(:first-child) {
	margin-top: 4px;
}

div.list-box-panel, ul.list-box-panel li {
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
	-moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
	-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
	margin-right: 2px;
	margin-bottom: 12px;
}
.list-box-panel a {
	display: block;
	height: 100%;
	color: #333;
}
.list-box-panel a:hover {
	text-decoration: none;
}
.list-box-panel *:not(.disabled) a:hover {
	background-color: #f9f9f9;
}
.list-box-panel *:not(.disabled) a:hover .title {
	background-color: #004484;
}
.list-box-panel *:not(.disabled) a:hover .description p,
.list-box-panel *.disabled a:hover .description span {
	color: #337ab7;
}
.list-box-panel .title {
	margin: 0;
	padding: 8px;
	font-size: 1.1em;
	background-color: #172028; 
	color: #fff;
}
.list-box-panel .disabled .title {
	background-color: #74797e;
}
.list-box-panel .inner {
	display: table;
	width: 100%;
	padding: 8px;
	box-sizing: border-box;
}
.list-box-panel .inner .icon {
	display: table-cell;
	height: 100%;
	width: 42px;
	text-align: center;
	vertical-align: middle;
}
.list-box-panel .inner .icon .fa {
	color: #74797e;
	font-size: 32px;
}
.list-box-panel .inner .description {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.list-box-panel .inner .description p {
	margin-bottom: 0;
	font-size: 1.1em;	
}
.list-box-panel .inner .description p + span {
	margin-top: 5px;	
}
.list-box-panel + hr {
	margin: 17px 0 15px;
}

.toggle-btn {
	display: block;
	line-height: 34px;
}
.toggle-btn:hover, .toggle-btn:focus {
	text-decoration: none;
}
.toggle-btn .toggle-close,
.toggle-btn.collapsed .toggle-open {
	display: block;
}
.toggle-btn .toggle-open,
.toggle-btn.collapsed .toggle-close {
	display: none;
}

.scroll-box {
	height: 160px;
	margin-bottom: 20px;
	border: 1px solid #ddd;
	padding: 15px;
	overflow-y: scroll;
}

.form-inline.rows.caption .name {
	display: inline-block;
}

/* ------------------------------------------------------------------------------
	 NgFabForm Style Overwrite
-------------------------------------------------------------------------------*/
form button.btn[type="submit"].btn-warning {
	background-color: #f0ad4e;
	border-color: #eea236;
	transition: none;
}
form button.btn[type="submit"].btn-warning:hover {
	background-color: #ec971f;
	border-color: #d58512;
}
input.ng-valid-required.ng-valid:not(.ng-invalid).ng-untouched,
textarea.ng-valid-required.ng-valid:not(.ng-invalid).ng-untouched,
select.ng-valid-required.ng-valid:not(.ng-invalid).ng-untouched {
	border-color: #ccc;
}
.ng-scope .form-group .validation-errors li {
	top: -15px;
	right: -3px;
	padding: 0 6px;
	font-weight: normal;
	line-height: normal;
	font-size: 13px;
}
.ng-scope .form-group *:not(.form-inline) input.form-control.ng-valid-required,
.ng-scope .form-group *:not(.form-inline) input.form-control.ng-invalid-required {
	padding-right: 34px;
}
.ng-scope .form-group .validation-success {
	right: 0;
	bottom: 0;
}
.ng-scope .form-group .validation-success {
	width: 34px;
	height: 34px;
}
.ng-scope .form-group .validation-success:after {
	font-size: 14px;
}
.ng-scope .form-group .form-success-hide + .validation .validation-success,
.ng-scope .form-valid-hide .validation,
.ng-scope form:not(.ng-submitted) .form-group .ng-untouched:not(.form-dummy) ~ .validation,
.ng-scope .form-group .form-valid-inline .validation {
	display: none;
}
.ng-scope form.ng-submitted .form-group .form-valid-inline .form-dummy + .validation,
.ng-scope .form-group .form-valid-inline .ng-touched ~ .form-dummy + .validation,
.ng-scope .form-group .form-dummy + .validation .validation-errors {
	display: block !important;
}

/* ------------------------------------------------------------------------------
	 Bootstrap Style Overwrite
-------------------------------------------------------------------------------*/
.btn {
	overflow: hidden;
	text-overflow: ellipsis;
}
.btn.active, .btn:active {
	box-shadow: none;
}
.btn-group-lg > .btn, .btn-lg {
	font-size: 16px;
	border-radius: 4px;
}
.btn.btn-default.btn-origin:not([disabled]) {
	color: #004484;
}
.btn.btn-default.btn-origin:not([disabled]):hover, .btn.btn-default.btn-origin:not([disabled]):focus {
	background-color: #fff;
	border-color: #ccc;
}
.btn.btn-primary.btn-origin:not([disabled]) {
	background-color: #004484;
	border-color: #004484;
}
.btn.btn-success.btn-origin:not([disabled]) {
	background-color: #419398;
	border-color: #419398;
}
.btn.btn-info.btn-origin:not([disabled]) {
	background-color: #4389cb;
	border-color: #4389cb;
}
.btn.btn-warning.btn-origin:not([disabled]) {
	background-color: #ec971f;
	border-color:  #ec971f;
}
.btn.btn-origin-d, .btn.btn-origin-d:active {
	background-color: #172028;
	border-color: #172028;
	color: #fff;
}
.btn.btn-primary.btn-origin:not([disabled]):hover, .btn.btn-primary.btn-origin:not([disabled]):focus,
.btn.btn-success.btn-origin:not([disabled]):hover, .btn.btn-success.btn-origin:not([disabled]):focus,
.btn.btn-info.btn-origin:not([disabled]):hover, .btn.btn-success.btn-info:not([disabled]):focus,
.btn.btn-warning.btn-origin:not([disabled]):hover, .btn.btn-warning.btn-info:not([disabled]):focus,
.btn.btn-origin-d:hover, .btn.btn-origin-d:focus {
	opacity: 0.85;
}
.input-group .form-control {
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.075) inset;
	-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.075) inset;
	-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.075) inset;
}
.input-group.date .form-control {
	ime-mode: disabled;
}
.input-group .form-control + .input-group-btn {
	font-size: 100%;
}
.input-group .form-control + .input-group-btn .btn {
	border-left: none;
	box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.075) inset;
	-moz-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.075) inset;
	-webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.075) inset;
	border-color: #ccc !important;
	background-color: #fff !important;
}
.input-group .input-group-addon {
	min-width: 14px;
	box-sizing: content-box;
}
.checkbox-inline label, .radio-inline label {
	font-weight: 400;
}
.dl-horizontal.dl-date-list dt {
	font-weight: normal;
	text-align: left;
}
.dl-horizontal.dl-date-list dd {
	margin-bottom: 10px;
}
.table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
	white-space: inherit;
}
.table-striped.table-origin th, .table-striped.table-origin td {
	border: none !important;
}
.table-bordered.table-origin {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
.table-bordered.table-origin th, .table-bordered.table-origin td {
	border-left: none !important;
	border-right: none !important;
	border-bottom: none !important;	
}
.table-bordered.table-origin tr:first-child > td {
	border-top: none !important;
}
.table-bordered.table-origin th:not(:first-child), .table-bordered.table-origin tbody:not(.tbody-default) td:not(:first-child) {
	border-left: 1px solid #ddd !important;
}
.table-bordered.table-origin tr.tr-colspan td {
	border: none !important;
}
.table-bordered.table-origin tr.no-border th, .table-bordered.table-origin tr.no-border td {
	border: none !important;
} 

.thead-inverse th, .tbody-inverse th {
	background-color: #172028;
	border-bottom: none !important;
	color: #fff;
}
.thead-inverse th a, .tbody-inverse th a {
	color: #fff;
	text-decoration: underline;
}
.thead-inverse th a:hover, .thead-inverse th a:focus,
.tbody-inverse th a:hover, .tbody-inverse th a:focus {
	text-decoration: none;
	opacity: 0.8;
}
.thead-default th, .tbody-default th {
	background-color: #f5f5f5;
	border-bottom: none !important;
}
.form-inline.fix .form-control {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}
.form-inline.text-group input.form-control {
	max-width: 74%;
	display: inline-block;
	vertical-align: middle;
}
.form-inline.date-group input.form-control {
	max-width: 34%;
	display: inline-block;
	vertical-align: middle;
	ime-mode: disabled;
}
.form-inline.num-group input.form-control {
	max-width: 28%;
	display: inline-block;
	vertical-align: middle;
	ime-mode: disabled;
}
input.form-control.ime-mode-disabled {
	ime-mode: disabled;
}
.panel.panel-origin.panel-collapse {
	border: none;
	border-radius: 0;
	padding: 10px 0;
}
.panel.panel-origin.panel-collapse .panel-heading {
	border: none;
	border-radius: 0;
	background-color: transparent;
}
.panel.panel-origin.panel-collapse .panel-body {
	margin: 0 15px 5px;
	background-color: #fff;
}
.panel.panel-origin.panel-collapse.panel-default {
	 background-color: #74797e;
}
.panel.panel-origin.panel-collapse.panel-info,
.panel.panel-origin.panel-collapse .panel-info-footer {
	 background-color: #798797;
}
.panel.panel-origin.panel-collapse.panel-default .panel-heading,
.panel.panel-origin.panel-collapse.panel-default .panel-heading a,
.panel.panel-origin.panel-collapse.panel-default .panel-body + a,
.panel.panel-origin.panel-collapse.panel-info .panel-heading,
.panel.panel-origin.panel-collapse.panel-info .panel-heading a,
.panel.panel-origin.panel-collapse.panel-info .panel-body + a {
	 color: #fff;
}
.panel.panel-origin.panel-primary {
	border-color: #004484;
}
.panel.panel-origin.panel-primary .panel-heading {
	 background-color: #004484;
}
.jumbotron {
	padding: 30px 15px;
	background-color: #f5f5f5;
}
.jumbotron.jumbotron-sm {
	padding: 15px;
}
.jumbotron.jumbotron-sm p {
	font-size: 1em;
}
.well.well-list-heading {
	border: none;
	border-radius: 0;
	padding: 10px 15px;
}
.label {
	padding: .2em .6em;
 	font-weight: normal;
 	vertical-align: middle;
}
.label.label-small {
	padding: .1em .3em;
}
.list-group-item {
	padding: 6px 12px;
}
.list-group-item a {
	display: block;
}
.list-group-item a span {
    display: block;
    padding-left: 1.175em;
    position: relative;
}
.list-group-item a span .fa {
    left: 0;
    position: absolute;
    top: 0.25em;
   	color: #333;
}

/* ------------------------------------------------------------------------------
	 Font Awesome Style Overwrite
-------------------------------------------------------------------------------*/
.fa {
	text-align: center;
}
.fa-lg {
	line-height: 1;
	font-size: 1.5em;
}
.fa-md {
	line-height: 1;
	font-size: 1em;
}

/* ------------------------------------------------------------------------------
	 Header & Nav
-------------------------------------------------------------------------------*/
#header {
	width: 100%;
}
/*
#header.fixed {
	position: fixed;
	z-index: 999;
}
*/
#header .head {
	background-color: #51585e;
}
#header .head span {
	display: inline-block;
	margin: 5px 0;
	color: #fff;
	font-size: 12px;
	line-height: 22px;
	vertical-align: top;
}
#header .head .link {
	display: inline-block;
	padding: 0 10px;
	color: #fff;
	font-size: 13px;
	line-height: 32px;
	vertical-align: top;
}
#header .head .link:hover {
	text-decoration: none;
	background-color: #172028;
}
#header .head .btn {
	margin: 5px 0 5px 0.4em;
	vertical-align: top;
}
#header .head .btn + .link {
	margin-left: 0.4em;
}
#header .logo {
	line-height: 80px;
}
#header .header-sub-btn {
	float: right;
	text-align: right;
}
#header .header-sub-btn p {
	margin: 5px 0 8px;
}
#header .header-sub-btn > form .input-group .form-control {
	float: none;
}
#header .header-nav-btn .header-nav-toggle {
	width: 34px;
	height: 34px;
	padding: 0;
	font-size: 1.5em;
}
#header .navbar {
	margin-bottom: 0;
	border: none;
	min-height: auto;
	z-index: 16;
}
#header-nav {
	width: 100%;
	padding: 0;
}
#header-nav .nav {
	width: 100%;
	margin: 0;
}
#header-nav .nav a {
	padding: 10px 0;
	text-align: center;
}
#header-nav .nav a:hover, #header-nav .nav a:focus {
	opacity: 0.8;
}
#header-nav .nav.top {
	background-color: #172028;
}
#header-nav .nav.top a {
	color: #fff;
	background-color: #172028;
}
#header-nav .nav.btm {
	background-color: #fff;
}
#header-nav .nav.btm a {
	color: #333;
	background-color: #fff;
	font-size: 11px;
}
#header-nav .nav.btm i {
	display: block;
	margin: 0 auto 4px;
}
#header-nav .nav-sub-btn {
	padding: 12px 15px;
	background-color: #172028;
}
.header-search #header-nav .nav {
	background-color: #fff;	
}
.header-search #header-nav .nav a {
	color: #333;
}
.header-sub-nav {
	background-color: #e6e6e6;
	padding: 15px;
	text-align: center;
}
.header-sub-nav .btn-group a:hover {
	background-color: #172028;
	color: #fff;
}

/* ------------------------------------------------------------------------------
	 Main & Container (Bootstrap .container Style Add)
-------------------------------------------------------------------------------*/
#main, .container-static {
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
	overflow: hidden;
}
@media (min-width:768px){
	#main, .container-static {
		width: 720px;
	}
}
@media (min-width:992px){
	#main, .container-static {
		width: 940px;
	}
}
@media (min-width:1200px){
	#main, .container-static {
		width: 1140px;
	}
}
.container-inner {
	padding: 0 15px;
}

/* ------------------------------------------------------------------------------
	 Footer
-------------------------------------------------------------------------------*/
#footer .footer-content {
	background-color: #fff;
	padding: 20px 0;
	border-top: 1px solid #ccc;
}
#footer .footer-content .footer-overview > a {
	display: inline-block;
	margin-bottom: 10px;
}
#footer .footer-content .footer-overview > p {
	margin: 10px 0;
}
#footer .footer-content .footer-contact a {
	margin: 10px 0 15px;
}
#footer .footer-content .footer-contact p {
	margin-top: 5px;
}
#footer .footer-content #social-icon a {
	border-radius: 0;
}
#footer .footer-menu p {
	margin: 0;
	padding: 10px 0;
	background-color: #172028;
	color: #fff;
	text-align: center;
	font-size: 13px;
}
#footer .footer-menu #pagetop-icon a {
	border-color: #172028;
	background-color: #172028;
	color: #fff;
	text-align: center;
	border-radius: 0;
}
#footer .footer-menu #pagetop-icon a > span {
	display: block;
}

/* ------------------------------------------------------------------------------
	 Breadcrumb
-------------------------------------------------------------------------------*/
nav .breadcrumb {
	margin: 30px 0 0;
}
section .breadcrumb {
	margin-bottom: 30px;
}
section nav .breadcrumb {
	margin-top: 0;
}

/* ------------------------------------------------------------------------------
	 Side Menu
-------------------------------------------------------------------------------*/
.side-menu {
	margin-bottom: 20px;
}
.side-menu-list li a {
	display: block;
	padding: 6px;
	color: #333;
}
.side-menu-list li.active > a {
	background-color: #e6e6e6;
}
.side-menu-list li a:hover, .side-menu-list li a:focus {
	background-color: #172028;
	color: #fff;
	text-decoration: none;
}
.side-menu-list li a span {
	display: block;
	position: relative;
	padding-left: 1.8em;
	line-height: 21px;
}
.side-menu-list li ul li a span {
	margin-left: 7px;
	padding-left: 1.3em;
}
.side-menu-list li ul li ul li a span {
	margin-left: 14px;
}
.side-menu-list li ul li ul li ul li a span {
	margin-left: 21px;
}
.side-menu-list li ul li ul li ul li ul li a span {
	margin-left: 28px;
}
.side-menu-list li a span .fa {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5em;
}
.side-menu-list li ul li a span .fa {
	top: 3px;
	font-size: 1em;
}
.side-menu-list hr {
	margin: 10px 0;
}
.side-menu-list.visible {
	border: 1px solid #ccc;
	border-top: none;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}
.side-menu-list.visible li a {
	padding: 6px 12px;
}
.side-menu-list.visible hr {
	margin: 0;
}
.side-menu-toggle {
	position: relative;
	text-align: left;	
}
.side-menu-toggle:not(.collapsed) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.side-menu-toggle span {
	display: block;
	margin-right: 18px;
}
.side-menu-toggle .fa {
	position: absolute;
	top: 6px;
	right: 10px;
	font-size: 1.5em;
}

/* ------------------------------------------------------------------------------
	 Quick Menu
-------------------------------------------------------------------------------*/
.quick-box-panel {
	display: flex;
	justify-content: center;
  	flex-wrap: wrap;
	align-items: stretch;
	margin: 0 auto;
}
.quick-box-panel li {
	height: auto;
	position: relative;
	text-align: center;
}
.quick-box-panel li:before {
	content: "";
	display: block;
	padding-top: 100%;
}
.quick-box-panel li .bg {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.quick-box-panel li:hover .bg {
	/*opacity: .8;*/
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.8); 
	-moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
	z-index: 2;
}
.quick-box-panel li a {
	color: #fff;
	text-decoration: none;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	z-index: 1;
}
.quick-box-panel li:hover a {
	z-index: 3;
}
/*
.quick-box-panel li a:before {
	content: "";
	height: 100%;
	vertical-align: middle;
	width: 0px;
	display: inline-block;
}
*/
.quick-box-panel li a i {
	width: 100%;
	background-position: center center;
}
.quick-box-panel li a i.fa {
	color: #004484;
	font-size: 26px;
}
.quick-box-panel li a span {
	display: block;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.1em;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.6), 0 0 4px rgba(0,0,0,0.8);
}

.quick-menu {
	margin-bottom: 20px;
}
.quick-menu ul {
	display: flex;
	justify-content: center;
  	flex-wrap: wrap;
	align-items: stretch;
	border-bottom: 1px solid #ddd;
}
.quick-menu ul li {
	flex-basis: 50%;
	border-top: 1px solid #ddd;
}
.quick-menu ul li:nth-child(even) {
	border-left: 1px solid #ddd;
}
.quick-menu ul li i {
	display: block;
	margin: 0 auto 4px;
}
.quick-menu ul li a {
	background-color: #fff;
	color: #333;
	font-size: 11px;
	padding: 10px 0;
	text-align: center;
}

/* ------------------------------------------------------------------------------
	 Pagination
-------------------------------------------------------------------------------*/
.pagination > li {
	vertical-align: top;
}
.pagination > li a, .pagination > li a:hover, .pagination > li a:focus {
	color: #333;
}
.pagination > li.active a {
	background-color: #004484;
	border-color: #004484;
}
.page-count {
	margin-top: 20px;
}

/* ------------------------------------------------------------------------------
	 Thumnail List
-------------------------------------------------------------------------------*/
.thumbnail-list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -20px;
}
.thumbnail-list li {
	margin: 0;
	padding: 10px 0 10px 20px;
}
.thumbnail-list li .icon {
	text-align: left;
	min-height: 20px;
}
.thumbnail-list li .image {
	width: 100%;
	text-align: center;
}
.thumbnail-list li .image img {
	border: 1px solid #ddd;
}
.thumbnail-list li .image + .caption .icon {
	display: none;
}
.thumbnail-list.flat {
	display: block;
	margin-left: 0;
}
.thumbnail-list.flat li {
	display: flex;
	width: 100% !important;
	margin-top: 20px;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #eee;
}
.thumbnail-list.flat li .image {
	width: auto;
	height: 135px;
	max-width: 95px;
	margin-right: 20px;
}
.thumbnail-list.flat .image .icon {
	display: none;
}
.thumbnail-list.flat .caption .icon {
	display: block !important;
	min-height: auto !important;
}
.thumbnail-list.last li:last-child {
	border: none;
}

.thumbnail-detail .image {
	margin-bottom: 20px;
	text-align: center;
}
.thumbnail-detail .image img {
	max-width: 100%;
	border: 1px solid #ddd;
}
.thumbnail-detail .image-btn {
	max-width: 200px;
	margin: 0 auto;
	text-align: center;
}
.thumbnail-detail .image-btn .btn {
	margin-top: 20px;
}
.thumbnail-detail .image-btn .btn ~ .btn {
	margin-top: 10px;
}

.thumbnail-list .price {
	margin: 3px 0 0;
}
.thumbnail-list .price > em {
	display: inline-block;
	font-weight: bold;
}
.thumbnail-list .price > .sale {
	color: red;
}
.thumbnail-list .price > span {
	display: inline-block;
	font-size: 12px;
	margin-right: .4em;
}

.thumbnail-detail .price {
	margin-bottom: 20px;
	line-height: 1.5;
}
.thumbnail-detail .price > em {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
}
.thumbnail-detail .price > .sale {
	color: red;
}
.thumbnail-detail .price > span {
	display: inline-block;
	margin-right: .4em;
}

.item-image img {
	border: 1px solid #ddd;
}

/* ------------------------------------------------------------------------------
	 Photo List
-------------------------------------------------------------------------------*/
.photo-list {
	margin: 15px 0;
}
.photo-list .image {
	text-align: center;
}
.photo-list .image img {
	width: 85px;
}

/* ------------------------------------------------------------------------------
	 Carousel
-------------------------------------------------------------------------------*/
.carousel.thumb .carousel-control {
	background: none;
}

/* ------------------------------------------------------------------------------
	 Google Translate
-------------------------------------------------------------------------------*/
#google_translate .skiptranslate {
	margin: -20px 0 5px;
}
#google_translate + h1 {
	margin-top: 0px;
}

/* ------------------------------------------------------------------------------
	 Responsive
-------------------------------------------------------------------------------*/
@media screen and (min-width: 992px) {
	.text-center-md { text-align: center; }
	
	#header .header-sub-btn > form {
		max-width: 40%;
	}
	/*
	#header-nav .nav li a {
		font-size: 16px;
	}
	*/
	
	.thumbnail-list li {
		width: 20%;
	}
	.thumbnail-list.inner li {
		width: 25%;
	}
}
@media screen and (min-width: 768px) {
	.control-label { padding-top: 7px; }

	body {
		background: #004484;
		background: -moz-linear-gradient(left, #004484 0%, #004484 50%, #fafafa 50%, #fafafa 100%);
		background: -webkit-linear-gradient(left, #004484 0%,#004484 50%,#fafafa 50%,#fafafa 100%);
		background: linear-gradient(to right, #004484 0%,#004484 50%,#fafafa 50%,#fafafa 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004484', endColorstr='#fafafa',GradientType=1);
	}
	
	.width-half-sm { width: 50% !important; }
	.width-quart-sm { width: 25% !important; }
	.text-center-sm { text-align: center; }
	.text-left-sm { text-align: left; }
	.text-right-sm { text-align: right; }
	.pull-left-sm { float: left; }
	.pull-right-sm { float: right; }
	
	.row.flex {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	.row.flex .panel {
		height: 100%;
		margin-bottom: 0;
	}
	
	.form-inline.rows:not(.caption) input.form-control { max-width: 49%; }
	.form-inline.rows.caption input.form-control { max-width: 40%; }
	.form-inline.rows.caption .name {
		width: 2em;
		text-align: center;
	}
	
	#main .col-center { padding-left: 0 !important; padding-right: 0 !important; }
	#main .col-right { padding-left: 0 !important; }
	#main .col-left { padding-right: 0 !important; }
	
	.panel-heading.panel-heading-absolute-sm {
		position: relative;
	}
	.panel-heading.panel-heading-absolute-sm .panel-title {
		position: absolute;
		line-height: 34px;
	}
	.panel-heading.panel-heading-absolute-sm .toggle-btn {
		position: absolute;
		right: 15px;
		top: 10px;
	}
	
	.frame-scroll-y {
		height: 240px;
		overflow-x: hidden;
		overflow-y: scroll;
	}
	#header .header-sub-btn {
		width: 50%;
		height: 80px;
	}
	#header .header-sub-btn > form {
		display: block !important;
		float: right;
		max-width: 35%;
		margin-left: 1em;
	}
	#header .header-sub-btn .btn {
		float: left;
	}
	#header .header-sub-btn .btn ~ .btn,
	#header .header-sub-btn .btn ~ span {
		float: left;
		margin-left: 0.75em;
	}
	#header .extend .logo {
		line-height: 100px;
	}
	#header .extend .header-sub-btn {
		height: 100px;
	}
	
	#header-nav .nav li a {
		font-size: 18px;
	}
	#header-nav .nav.top.item-fix-4 li {
		width: calc(100% / 5);
	}
	/*
	#header-nav .nav.top li {
		width: 16%;
	}
	#header-nav .nav.top li:nth-child(1) {
		width: 22%;
	}
	#header-nav .nav.top li:nth-child(2){
		width: 11%;
	}
	#header-nav .nav.top li:nth-child(3){
		width: 9%;
	}
	#header-nav .nav.top li:nth-child(4) {
		width: 10%;
	}
	*/
	#header-nav .nav.btm {
		box-shadow: 0 2px 2px rgba(0, 0, 0, 0.075);
		-moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.075);
		-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.075);
	}
	#header-nav .nav.btm li {
		width: 17%;
	}
	#header-nav .nav.btm:not(.item-6) li:nth-child(1) {
		width: 15%;
	}
	#header-nav .nav.btm:not(.item-6) li:nth-child(2), #header-nav .nav.btm li:nth-child(7) {
		width: 12%;
	}
	#header-nav .nav.btm li:nth-child(3) {
		width: 10%;
	}
	#header-nav .nav.btm.item-6 li:nth-child(3) {
		width: 15%;
	}
	.header-search .navbar {
		padding: 0 15px 15px;
		border-radius: 0;
	}
	.header-search #header-nav .nav li {
		width: 20%;
	}
	.header-search #header-nav .nav {
		border-radius: 4px;
	}
	.header-search #header-nav .nav li:not(first-child) {
		border-left: 1px solid #ddd;
	}
	.header-search #header-nav .nav a {
		padding: 8px 0;
		font-size: 100%;
	}
	.header-sub-nav .btn-group a {
		width: 16.6%;
	}
	#header.static .logo {
		display: inline-block;
		width: 50%;
	}
	#header.static .logo img {
		max-width: 100%;
	}
	#header.static .header-sub-btn > .btn {
		margin-top: 25px;
	}
	
	#footer .footer-content .footer-overview > a {
		float: left;
		margin: 10px 0;
	}
	#footer .footer-content .footer-overview > p {
		float: right;
	}
	#footer .footer-content #social-icon {
		right: 0;
		top: 50%;;
		position: fixed;
		float: right;
		z-index: 20;
	}
	#footer .footer-content #social-icon a {
		display: block;
		width: 54px;
		margin-bottom: 2px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#footer .footer-menu ul {
		padding: 20px 0;
		background-color: #172028;
		color: #fff;
		text-align: center;
		font-size: 13px;
	}
	#footer .footer-menu ul li {
		display: inline-block;
	}
	#footer .footer-menu ul li:not(:first-child)::before {
		content: '|';
		margin: 0 1em;
	}
	#footer .footer-menu ul li a {
		color: #fff;
	}
	#footer .footer-menu #pagetop-icon {
		right: 0;
		bottom: 2%;
		position: fixed;
		z-index: 20;
	}
	#footer .footer-menu #pagetop-icon a {
		width: 54px;
	}
	#footer .footer-menu #pagetop-icon a > span {
		font-size: 12px
	}
	#footer .footer-menu #pagetop-icon a > span span {
		display: none;
	}
	
	.side-menu-list:not(.visible) {
		display: block !important;
		height: auto !important;
	}
	
	.page-count {
		line-height: 34px;
	}
	
	.dl-horizontal.dl-date-list dt {
		width: 120px;
	}
	.dl-horizontal.dl-date-list dd {
		margin-left: 120px;
	}
	div.list-box-shadow, ul.list-box-shadow li {
		box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
		-moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
		-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.075);
		margin-right: 2px;
		margin-bottom: 2px;
	}
	
	.list-pull-left {
		margin-left: -20px;
	}
	.list-pull-left li {
		float: left;
		padding-left: 20px;
	}
	.list-style-flex-sm {
		display: flex;
		flex-wrap: wrap;
	}
	.list-style-flex-sm.divide li {
		width: 20%;
	}
	.list-style-flex-sm.divide.arrow-in {
		margin: 0 !important;
	}
	.list-style-flex-sm.divide.arrow-in li {
		padding: 0 0 0 16px;
	}
	
	.list-block li {
		float: left;
	}
	.list-block.list-group li {
		border: none;
		padding: 0;
	}
	.list-block li:not(:first-child) {
		margin-left: 10px;
	}
	.list-block li.item-child {
		padding-bottom: 1.25em;
	}
	.list-block li.item-child p {
		position: absolute;
		bottom: 0;
		white-space: nowrap;
	}
	
	.thumbnail-detail {
		display: flex;
	}
	.thumbnail-detail .image {
		max-width: 200px;
		margin-right: 20px;
	}
	.thumbnail-detail .caption {
		width: 100%;
	}
	
	.photo-col-sm {
		margin: 15px 0 0 -15px;
	}
	.photo-col-sm .photo-list {
		width: calc(50% - 15px);
		float: left;
		margin-top: 0;
	}
	.photo-col-sm > * {
		margin-left: 15px;
	}
	.photo-list .image {
		float: left;
		margin-right: 20px;
	}
	.photo-list .caption {
		float: left;
		width: calc(100% - 105px);
	}
	
	.quick-box-panel li {
		width: 25%;
	}
	/*
	.quick-box-panel li:nth-child(1),
	.quick-box-panel li:nth-child(3),
	.quick-box-panel li:nth-child(6),
	.quick-box-panel li:nth-child(8),
	.quick-box-panel li:nth-child(9),
	.quick-box-panel li:nth-child(11),
	.quick-box-panel li:nth-child(14),
	.quick-box-panel li:nth-child(16) {
		background-color: #172028;
	}
	.quick-box-panel li:nth-child(1) a,
	.quick-box-panel li:nth-child(3) a,
	.quick-box-panel li:nth-child(6) a,
	.quick-box-panel li:nth-child(8) a,
	.quick-box-panel li:nth-child(9) a,
	.quick-box-panel li:nth-child(11) a,
	.quick-box-panel li:nth-child(14) a,
	.quick-box-panel li:nth-child(16) a {
		color: #fff;
	}
	*/
	
	.item-image {
		width: 97px;
	}
	.item-name {
		margin-left: 110px;
	}
	.more-visible-xs {
		display: none;
	}
}
@media screen and (max-width: 991px) {
	.thumbnail-list.inner li {
		width: 33.3%;
	}
}
@media screen and (max-width: 767px) {
	.hidden-xs { display: none; }
	
	.btn-block-xs-only { display: block; width: 100%; }
	.form-control + .btn-block-xs-only { margin-top: 10px;}
	.form-inline.rows:not(.fix) .form-control + .form-control, .form-inline.rows:not(.fix) .validation + .form-control { margin-top: 10px; }
	.form-inline.rows.caption .name { margin-bottom: 3px; }
	.form-inline.rows.caption .name ~ .name { margin-top: 10px; }
	#header {
		background-color: #004484;
	}
	#header .header-main {
		text-align: center;
	}
	#header .logo {
		line-height: 64px;
	}
	#header .logo img {
		max-width: 180px;
	} 
	#header .header-nav-btn {
		float: left;
		line-height: 64px;
	}
	#header .header-sub-btn {
		line-height: 64px;
	}
	#header .header-sub-btn > .btn {
		width: 34px;
		height: 34px;
		padding: 0;
		font-size: 1.5em;
	}
	#header .header-sub-btn > form {
		display: none;
		width: 100%;
		left: 0;
		position: absolute;
		background-color: #172028;
		z-index: 100;
	}
	#header .header-sub-btn > form .input-group {
		margin: 0 15px;
	}
	#header .navbar {
		margin: 0 -15px;
	}
	#header-nav {
		position: absolute;
		border-top: none;
		z-index: 100;
	}
	#header-nav .nav li a {
		font-size: 16px;
	}
	#header-nav .nav {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#header-nav .nav.btm li {
		float: left;
		width: 50%;
	}
	#header .header-search {
		margin-left: -15px;
		margin-right: -15px;
		position: relative;
	}
	#header .header-search .navbar {
		top: 0;
		position: absolute;
		width: 100%;
		margin: 0;
	}
	.header-search #header-nav {
		position: inherit;
	}
	.header-sub-nav {
		margin: 0 -15px;
	}
	#header.static .logo img {
		max-width: 280px;
	}

	#footer .footer-content .footer-overview {
		text-align: center;
	}
	#footer .footer-content #social-icon {
		margin-top: 20px;
		text-align: center;
	}
	#footer .footer-content #social-icon a {
		margin: 0 20px;
		padding: 0;
		color: #004484;
		border-color: transparent;
		background-color: transparent;
	}
	#footer .footer-content #social-icon a i {
		font-size: 3em;
	}
	#footer .footer-menu #pagetop-icon a {
		display: block;
		padding: 5px 0;
	}
	#footer .footer-menu ul li a {
		display: block;
		padding: 10px 15px;
		color: #333;
		background-color: #fafafa;
		border-top: 1px solid #172028;
	}
	#footer .footer-menu ul li a:hover, #footer .footer-menu ul li a:focus {
		text-decoration: none;
	}
	
	.side-menu-list {
		border: 1px solid #ccc;
		border-top: none;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
	}
	.side-menu-list li a {
		padding: 6px 12px;
	}
	.side-menu-list hr {
		margin: 0;
	}
	
	.social-default-icon a {
		margin: 0 20px;
	}
	
	div.list-box-shadow a, ul.list-box-shadow li a {
		border: 1px solid #ddd;
	}
	
	.photo-list .image {
		margin-bottom: 10px;
	}
	.photo-list .caption {
		text-align: center;
	}
	
	.quick-box-panel li {
		width: 50%;
	}
	/*
	.quick-box-panel li:nth-child(1),
	.quick-box-panel li:nth-child(4),
	.quick-box-panel li:nth-child(5),
	.quick-box-panel li:nth-child(8),
	.quick-box-panel li:nth-child(9),
	.quick-box-panel li:nth-child(12),
	.quick-box-panel li:nth-child(13),
	.quick-box-panel li:nth-child(16) {
		background-color: #172028;
	}
	.quick-box-panel li:nth-child(1) a,
	.quick-box-panel li:nth-child(4) a,
	.quick-box-panel li:nth-child(5) a,
	.quick-box-panel li:nth-child(8) a,
	.quick-box-panel li:nth-child(9) a,
	.quick-box-panel li:nth-child(12) a,
	.quick-box-panel li:nth-child(13) a,
	.quick-box-panel li:nth-child(16) a {
		color: #fff;
	}
	*/
	
	.table-indent-sm table th, .table-indent-sm table td {
		display: block;
	}
	.table-indent-sm table tr:not(.tr-colspan) td {
		padding-top: 6px;
		padding-bottom: 6px;
	}
	.table-indent-sm table tr:not(.tr-colspan) td:first-child {
		padding-top: 15px;
	}
	.table-indent-sm table tr:not(.tr-colspan) td:last-child {
		padding-bottom: 15px;
	}
	.table-indent-sm table tr:not(.tr-colspan) td:not(:first-child) {
		border: none;
	}
	.table-indent-sm table tr.tr-colspan {
		display: flex;
	}
	.table-indent-sm table tr.tr-colspan th, .table-indent-sm table tr.tr-colspan td {
		width: 50%;
	}
	
	.item-image img {
		max-width: 100%;
		margin-bottom: 15px;
	}
	
	.more-hidden-xs {
		display: none;
	}
	
}