@charset "utf-8";


	
@media all and ( min-width:796px ) {
/* ----------------------------------------
	default
---------------------------------------- */
*{
	margin:0;
	padding:0;
	border:0;
	font-family:"Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 100%;
	word-wrap:break-word;
	box-sizing: border-box;
}
a:link{color:#3F93B9;}
a:visited{color: #8128AE;}
a:hover{color: #00AA22 ;}

img{vertical-align:bottom;}
li{list-style:none;}
table{border-collapse:collapse;}
body{
	background-color:#fff;
	-webkit-text-size-adjust:none;
	color:#333;
	font-size:16px;
	line-height:1.5;
}

em{font-weight: bold; font-style: normal;}
sup {
	font-size: 50%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
sub {
	font-size: 50%;
	vertical-align: bottom;
	position: relative;
	top: 0.1em;
}
big{font-size: 125%;}	
small{font-size: 62.5%;}
.mb20{
	margin-bottom: 20px;
}
/* ----------------------------------------
	common
---------------------------------------- */
.inner{
		max-width: 1120px;
		width: 100%;
		margin: 0 auto;
}

.onlySP{
	display: none;
}
/* ----------------------------------------
	header
---------------------------------------- */
header{
	height: 60px;
	border-bottom: solid 3px #D6B115;
}
header h1 a,
header div.site_title a{
	font-size: 200%;
	font-weight: bold;
	color: #D6B115 !important;
	padding-left: 10px;
	position: relative;
	top: 75px;
	text-decoration: none;
}
header h1 a img,
header div.site_title a img{
	position: relative;
	top: -5px;
	margin-right: 10px;
}
header h1 a span{
	padding-left: 6px;
	font-size: 62%;	
}
header	div.inner{
	position:relative;
	height: 60px;
}

ul.top_link{
	position: absolute;
	bottom: 3px;
	right: 0;
	display: flex;
}

ul.top_link li{
	width: 110px;
	height: 22px;
	line-height: 22px;
	border-radius: 3px 3px 0 0;
	background: #D6B115;
	margin-right: 10px;
}

ul.top_link li:last-child{
	margin-right: 0;
}

ul.top_link li a{
	display: block;
	text-align: center;
	font-size: 87%;
	color: #fff;
	text-decoration: none;
}


ul.top_link li a:hover{
	transition: 0.4s;
	background-color: rgba( 255, 255, 255, 0.6);
}


/* ----------------------------------------
	nav
---------------------------------------- */
nav{
	height: 140px;
	border-bottom: solid 6px #D6B115;
}	

ul.global_nav{
	display: flex;
	width:100%;
	max-width: 1120px;
	padding-top: 69px;
}

ul.global_nav li{
	padding: 0 5px;
	text-align: center;
	width: calc(100% / 6);
	height: 60px;
	border-right: solid 1px #BCBCBC;
}
ul.global_nav li a{
	text-decoration: none;
	width: 94%;
	margin: 0 auto;
}
.home{
	width: 30px;
	height: auto;
	vertical-align: middle;
}

.button{
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center; 
	justify-content:center;
	width: 94%;
	height: 65px;
	position: relative;
	z-index: 2;
	overflow: hidden;
	border-radius: 5px 5px 0 0;
	font-weight: bold;
	line-height: 1.2;
	color: #D6B115 !important;
}

.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
	
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .4s;
  transition: all .4s;
}	
	
a.button:hover{
	color: #fff !important;
}
.button::after{
  top: 100%;
  width: 100%;
  height: 100%;
}

.button:hover::after{
  top: 0;
  left: 0;
  background-color: #D6B115;
}
ul.global_nav li#now{
	width: 76px;/*固定*/
}
ul.global_nav li#now a{
	width: 60px;/*固定*/
	color: #fff !important;
	margin: 0 auto;
	border-radius: 5px 5px 0 0;
	background: #D6B115;
}


/* ----------------------------------------
	main 見出し
---------------------------------------- */
.page main p{
	font-size: 87%;
}
.page main h1{
	height: 45px;
	line-height: 45px;
	margin: 20px 0;
	padding: 0 10px;
	background:#D6B115;
	color: #fff;
	font-size: 187%;
}

.page main h2{
	position: relative;
	margin: 20px 0;
	border-bottom: solid 3px #A2A2A2;
	font-size: 162%;
}
	.page main h2::after{
		position: absolute;
		bottom: -3px;
		left: 0;
		z-index: 2;
		content: '';
		width: 26%;
		height: 3px;
		background-color: #D6B115;
	}

.page main h3{
	margin: 20px 0;
	padding-left: 10px;
	border-left:solid 6px #D6B115;
	font-size: 125%;
}

.page main h4{
	position: relative;
	margin: 20px 0;
	padding-left: 26px;
}
	.page main h4::before{
		position: absolute;
		top: 50%;
		margin-top: -4px;
		left: 0;
		z-index: 2;
		content: '';
		width: 16px;
		height: 8px;
		background-color: #D6B115;
	}


/*main img{width: 100%; height: auto;}*/

/* ----------------------------------------
	main imgbox
---------------------------------------- */

.imgbox{
	margin-bottom: 30px;
}
	.imgbox::after,
	.imgbox::before{
		content: "";
		display: block;
		clear: both;
	}

img.img_right{float: right;margin-left: 20px;}
img.img_left {float: left;margin-right: 20px;}
img.size320{
	width: 320px;
	height: auto;
}

ul.imgs{
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	margin-bottom: 20px;
}
	ul.imgs li{margin-right: 20px;}
	ul.imgs li:last-child{margin-right: 0;}


/* ----------------------------------------
	main テキスト
---------------------------------------- */

.pointBox{
	padding: 10px 20px;
	border: solid 4px #D6B115;
	font-size: 87%;
	margin-bottom: 20px;
}

blockquote{
	border-left: solid 6px #D6B115;
	padding-left: 16px;
	margin-bottom: 20px;
}
	blockquote p.source{text-align: right;}
	blockquote p.source::before{content: "引用元”";}
	blockquote p.source::after{content: "”";}


/* ----------------------------------------
	main リスト
---------------------------------------- */

ul.list_circle_big,
ul.list_circle_small,
ul.list_square_big,
ul.list_border,
body.page main .inner ul
{
	margin-left: 8px; margin-bottom: 20px;
}
ul.list_circle_big li,
ul.list_circle_small li,
ul.list_square_big li,
ul.list_border li,
body.page main .inner ul li
{
	margin-bottom: 20px;
}
	ul.list_circle_big li::before,
	body.page main .inner ul li::before
	{
		content: '';
		width: 9px;
		height:9px;
		display: inline-block;
		border-radius: 100%;
		background: #D6B115;
		position: relative;
		left: -8px;
		top: -2px;
	}
	
	ul.list_circle_small li::before{
		content: '';
		width: 5px;
		height:5px;
		display: inline-block;
		border-radius: 100%;
		background: #D6B115;
		position: relative;
		left: -8px;
		top: -3px;
	}
	
	ul.list_square_big li::before{
		content: '';
		width: 10px;
		height:10px;
		display: inline-block;
		background: #D6B115;
		position: relative;
		left: -8px;
		top: -1px;
	}
	
	ul.list_border li::before{
		content: '';
		width: 10px;
		height:3px;
		display: inline-block;
		background: #D6B115;
		position: relative;
		left: -8px;
		top: -4px;
	}
ul.list_number_normal,ul.list_number_bold{margin-bottom: 20px;}
ul.list_number_normal li,ul.list_number_bold li{margin-bottom: 20px;}
	ul.list_number_normal li{
		list-style-type: decimal;
		margin-left: 20px;
	}

	ul.list_number_bold li{
		list-style-type: decimal;
		margin-left: 20px;
		font-weight: bold;
	}


/* ----------------------------------------
	main 定義
---------------------------------------- */
dl,dt,dd {box-sizing: border-box;}
dl {margin-bottom: 20px;}
dl.dl_big   { border-bottom: 4px dotted #aaa;}
dl.dl_small { border-bottom: 2px dotted #aaa;}

dl.dl_big dt,
dl.dl_big dd {
  border-top: 4px dotted #aaa;
}

dl.dl_small dt,
dl.dl_small dd {
  border-top: 2px dotted #aaa;
}

dl.dl_big dt:nth-of-type(1),
dl.dl_big dd:nth-of-type(1),
dl.dl_small dt:nth-of-type(1),
dl.dl_small dd:nth-of-type(1){border: none;}

dt {
  width: 300px;
  float: left;
  padding: 12px 20px 12px 0;
}
dd {
  background: #fff;
  margin-left:296px;
  padding: 12px 0;
}
	dd:after {
	  content: '';
	  display: block;
	  clear: both;
	}
	
/* ----------------------------------------
	main table
---------------------------------------- */
table.callender{
	width: 100%;
	text-align: center;
	font-size: 87%;
	font-weight: bold;
	border-top: solid 1px #9F9F9F;
	margin-bottom: 20px;
}
table.callender tr{
	height: 44px;
	border-bottom: solid 1px #9F9F9F;
}
table.callender tr td:first-child{
	background: #EBEBEB;
}
table.callender th{
	background: #D6B115;
	color: #fff;
	border-right: solid 1px #9F9F9F;
}
table.callender td{
	border-right: solid 1px #9F9F9F;
}
table.callender td:last-child{
	border-right:none;
}
table.callender th:first-child{
	border-left: solid 1px #9F9F9F;
}

table.table01{
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 87%;
	border-top: solid 1px #9F9F9F;
	margin-bottom: 20px;
}
table.table01 tr{
	height: 44px;
	border-bottom: solid 1px #9F9F9F;
}
table.table01 th{
	background: #D6B115;
	color: #fff;
	border-right: solid 1px #9F9F9F;
	border-left: solid 1px #9F9F9F;
}
table.table01 td{
	border-right: solid 1px #9F9F9F;
	border-left: solid 1px #9F9F9F;
}


table.table02{
	width: 100%;
	text-align: center;
	font-size: 87%;
	margin-bottom: 20px;
}
table.table02 tr{
	height: 44px;
	border-bottom: solid 1px #9F9F9F;
}
table.table02 th{
	font-weight: bold;
	border-bottom: solid 3px #CCCCCC;
}


table.table03{
	width: 100%;
	text-align: center;
	font-size: 87%;
	margin-bottom: 20px;
}
table.table03 tr{
	height: 44px;
	border-bottom: solid 1px #9F9F9F;
}

table.table03 tr:nth-child(even){
	background: #EFEFEF;
}
table.table03 th{
	font-weight: bold;
	border-bottom: solid 3px #D6B115;
}




/* ----------------------------------------
	main tabs
---------------------------------------- */
/*タブ切り替え全体のスタイル*/
.tabs {
  font-size: 87%;
  margin-bottom: 20px;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/4);
  height: 44px;
  line-height: 44px;
  background: #E6CB34;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  color: #fff;
  transition: all 0.2s ease;
  border-right: solid 1px #fff;
  cursor: pointer;
}
.tab_item:nth-of-type(4){
  border-right:none;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 20px;
  clear: both;
  overflow: hidden;
  border:solid 1px #95989A;
}


/*選択されているタブのコンテンツのみを表示*/
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content{
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #D6B115;
}



/* ----------------------------------------
	footer
---------------------------------------- */
#footer{
	background: #333;
	color: #fff;
	padding:  10px 20px;
}
	
.footer_link{
	display: flex;
	margin: 16px auto;
	padding-left: 5px;
}	

.footer_link li{
	border-right: 1px solid #fff;
	padding: 0 10px;
}
.footer_link li:last-child{border: none;}	
	
.footer_link li a{
	font-size: 112%;
	font-weight: bold;
	text-decoration: none;
}	
.footer_link li a,
.footInfo .add span a{color: #fff !important;}	

.footInfo .name{
	margin-bottom: 5px;
	padding-left: 15px;
	font-size: 187%;
	font-weight: bold;
}
.footInfo .add{
	height: 62px;
	margin-left: 15px;
	margin-bottom: 15px;
	border-left: solid 6px #199155;
}
.footInfo .add span{
	padding-left: 10px;
	display: block;
	font-size: 87%;
	font-weight: bold;
}


.copyright{
	padding-left: 15px;
	font-size: 75%;
	font-weight: bold;
}


#page-top {
    font-size: 0;
    position: fixed;
    bottom: 10px;
    right: 10px;
    opacity: 0;
	cursor: pointer;
}

#page-top img{
	width: 30px;
	height: 30px;
	
}

#page-top.fade-in {
    color: #000;
    font-size: 60px;
    opacity: 0.6;
    text-decoration: none;
    transition: opacity 1s;
}



/* ----------------------------------------
	↓消去不可
---------------------------------------- */
}


/* ----------------------------------------
	for ie
---------------------------------------- */
@media all and (-ms-high-contrast:none){
*::-ms-backdrop, ul.top_link a { height: 22px; padding-top: 3px;}
}


/**
 * form
 */
.form-control {
	display: block;
	width: 100%;
	height: calc(2.25rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion: reduce) {
	.form-control {
		transition: none
	}
}

.form-control::-ms-expand {
	background-color: transparent;
	border: 0
}

.form-control:focus {
	color: #495057;
	background-color: #fff;
	border-color: #839ccf;
	outline: 0;
	box-shadow: 0 0 0 .2rem rgba(59, 89, 152, .25)
}

.form-control:-ms-input-placeholder {
	color: #6c757d;
	opacity: 1
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1
}

.form-control:disabled, .form-control[readonly] {
	background-color: #e9ecef;
	opacity: 1
}

select.form-control:focus::-ms-value {
	color: #495057;
	background-color: #fff
}

.form-control-file, .form-control-range {
	display: block;
	width: 100%
}

.col-form-label {
	padding-top: calc(.375rem + 1px);
	padding-bottom: calc(.375rem + 1px);
	margin-bottom: 0;
	font-size: inherit;
	line-height: 1.5
}

.col-form-label-lg {
	padding-top: calc(.5rem + 1px);
	padding-bottom: calc(.5rem + 1px);
	font-size: 1.25rem;
	line-height: 1.5
}

.col-form-label-sm {
	padding-top: calc(.25rem + 1px);
	padding-bottom: calc(.25rem + 1px);
	font-size: .875rem;
	line-height: 1.5
}

.form-control-plaintext {
	display: block;
	width: 100%;
	padding-top: .375rem;
	padding-bottom: .375rem;
	margin-bottom: 0;
	line-height: 1.5;
	color: #333;
	background-color: transparent;
	border: solid transparent;
	border-width: 1px 0
}

.form-control-plaintext.form-control-lg, .form-control-plaintext.form-control-sm {
	padding-right: 0;
	padding-left: 0
}

.form-control-sm {
	height: calc(1.8125rem + 2px);
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: 0
}

.form-control-lg {
	height: calc(2.875rem + 2px);
	padding: .5rem 1rem;
	font-size: 1.25rem;
	line-height: 1.5;
	border-radius: 0
}

select.form-control[multiple], select.form-control[size], textarea.form-control {
	height: auto
}

.form-group {
	margin-bottom: 1rem
}

.form-text {
	display: block;
	margin-top: .25rem
}

.form-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -5px;
	margin-left: -5px
}

.form-row > .col, .form-row > [class*=col-] {
	padding-right: 5px;
	padding-left: 5px
}

.form-check {
	position: relative;
	display: block;
	padding-left: 1.25rem
}

.form-check-input {
	position: absolute;
	margin-top: .3rem;
	margin-left: -1.25rem
}

.form-check-input:disabled ~ .form-check-label {
	color: #6c757d
}

.form-check-label {
	margin-bottom: 0
}

.form-check-inline {
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-align: center;
	align-items: center;
	padding-left: 0;
	margin-right: .75rem
}

.form-check-inline .form-check-input {
	position: static;
	margin-top: 0;
	margin-right: .3125rem;
	margin-left: 0
}

.valid-feedback {
	display: none;
	width: 100%;
	margin-top: .25rem;
	font-size: 80%;
	color: #28a745
}

.valid-tooltip {
	position: absolute;
	top: 100%;
	z-index: 5;
	display: none;
	max-width: 100%;
	padding: .25rem .5rem;
	margin-top: .1rem;
	font-size: .875rem;
	line-height: 1.5;
	color: #fff;
	background-color: rgba(40, 167, 69, .9);
	border-radius: .25rem
}

.form-control.is-valid, .was-validated .form-control:valid {
	border-color: #28a745;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 100% calc(.375em + .1875rem);
	background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.form-control.is-valid ~ .valid-feedback, .form-control.is-valid ~ .valid-tooltip, .was-validated .form-control:valid ~ .valid-feedback, .was-validated .form-control:valid ~ .valid-tooltip {
	display: block
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
	padding-right: 2.25rem;
	background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-select.is-valid, .was-validated .custom-select:valid {
	border-color: #28a745;
	padding-right: 3.4375rem;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 4'%3E%3Cpath fill='%233B5998' d='M3 4L0 0h6z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/1.125rem 1.125rem
}

.custom-select.is-valid:focus, .was-validated .custom-select:valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.custom-select.is-valid ~ .valid-feedback, .custom-select.is-valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, .form-control-file.is-valid ~ .valid-tooltip, .was-validated .custom-select:valid ~ .valid-feedback, .was-validated .custom-select:valid ~ .valid-tooltip, .was-validated .form-control-file:valid ~ .valid-feedback, .was-validated .form-control-file:valid ~ .valid-tooltip {
	display: block
}

.form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {
	color: #28a745
}

.form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip, .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip {
	display: block
}

.custom-control-input.is-valid ~ .custom-control-label, .was-validated .custom-control-input:valid ~ .custom-control-label {
	color: #28a745
}

.custom-control-input.is-valid ~ .custom-control-label:before, .was-validated .custom-control-input:valid ~ .custom-control-label:before {
	border-color: #28a745
}

.custom-control-input.is-valid ~ .valid-feedback, .custom-control-input.is-valid ~ .valid-tooltip, .was-validated .custom-control-input:valid ~ .valid-feedback, .was-validated .custom-control-input:valid ~ .valid-tooltip {
	display: block
}

.custom-control-input.is-valid:checked ~ .custom-control-label:before, .was-validated .custom-control-input:valid:checked ~ .custom-control-label:before {
	border-color: #34ce57;
	background-color: #34ce57
}

.custom-control-input.is-valid:focus ~ .custom-control-label:before, .was-validated .custom-control-input:valid:focus ~ .custom-control-label:before {
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label:before, .custom-file-input.is-valid ~ .custom-file-label, .was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label:before, .was-validated .custom-file-input:valid ~ .custom-file-label {
	border-color: #28a745
}

.custom-file-input.is-valid ~ .valid-feedback, .custom-file-input.is-valid ~ .valid-tooltip, .was-validated .custom-file-input:valid ~ .valid-feedback, .was-validated .custom-file-input:valid ~ .valid-tooltip {
	display: block
}

.custom-file-input.is-valid:focus ~ .custom-file-label, .was-validated .custom-file-input:valid:focus ~ .custom-file-label {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.invalid-feedback {
	display: none;
	width: 100%;
	margin-top: .25rem;
	font-size: 80%;
	color: #dc3545
}

.invalid-tooltip {
	position: absolute;
	top: 100%;
	z-index: 5;
	display: none;
	max-width: 100%;
	padding: .25rem .5rem;
	margin-top: .1rem;
	font-size: .875rem;
	line-height: 1.5;
	color: #fff;
	background-color: rgba(220, 53, 69, .9);
	border-radius: .25rem
}

.form-control.is-invalid, .was-validated .form-control:invalid {
	border-color: #dc3545;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 100% calc(.375em + .1875rem);
	background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.form-control.is-invalid ~ .invalid-feedback, .form-control.is-invalid ~ .invalid-tooltip, .was-validated .form-control:invalid ~ .invalid-feedback, .was-validated .form-control:invalid ~ .invalid-tooltip {
	display: block
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
	padding-right: 2.25rem;
	background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-select.is-invalid, .was-validated .custom-select:invalid {
	border-color: #dc3545;
	padding-right: 3.4375rem;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 4'%3E%3Cpath fill='%233B5998' d='M3 4L0 0h6z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/1.125rem 1.125rem
}

.custom-select.is-invalid:focus, .was-validated .custom-select:invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, .form-control-file.is-invalid ~ .invalid-tooltip, .was-validated .custom-select:invalid ~ .invalid-feedback, .was-validated .custom-select:invalid ~ .invalid-tooltip, .was-validated .form-control-file:invalid ~ .invalid-feedback, .was-validated .form-control-file:invalid ~ .invalid-tooltip {
	display: block
}

.form-check-input.is-invalid ~ .form-check-label, .was-validated .form-check-input:invalid ~ .form-check-label {
	color: #dc3545
}

.form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip, .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip {
	display: block
}

.custom-control-input.is-invalid ~ .custom-control-label, .was-validated .custom-control-input:invalid ~ .custom-control-label {
	color: #dc3545
}

.custom-control-input.is-invalid ~ .custom-control-label:before, .was-validated .custom-control-input:invalid ~ .custom-control-label:before {
	border-color: #dc3545
}

.custom-control-input.is-invalid ~ .invalid-feedback, .custom-control-input.is-invalid ~ .invalid-tooltip, .was-validated .custom-control-input:invalid ~ .invalid-feedback, .was-validated .custom-control-input:invalid ~ .invalid-tooltip {
	display: block
}

.custom-control-input.is-invalid:checked ~ .custom-control-label:before, .was-validated .custom-control-input:invalid:checked ~ .custom-control-label:before {
	border-color: #e4606d;
	background-color: #e4606d
}

.custom-control-input.is-invalid:focus ~ .custom-control-label:before, .was-validated .custom-control-input:invalid:focus ~ .custom-control-label:before {
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label:before, .custom-file-input.is-invalid ~ .custom-file-label, .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label:before, .was-validated .custom-file-input:invalid ~ .custom-file-label {
	border-color: #dc3545
}

.custom-file-input.is-invalid ~ .invalid-feedback, .custom-file-input.is-invalid ~ .invalid-tooltip, .was-validated .custom-file-input:invalid ~ .invalid-feedback, .was-validated .custom-file-input:invalid ~ .invalid-tooltip {
	display: block
}

.custom-file-input.is-invalid:focus ~ .custom-file-label, .was-validated .custom-file-input:invalid:focus ~ .custom-file-label {
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.form-inline {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-ms-flex-align: center;
	align-items: center
}

.form-inline .form-check {
	width: 100%
}

@media (min-width: 576px) {
	.form-inline label {
		-ms-flex-align: center;
		-ms-flex-pack: center;
		justify-content: center
	}

	.form-inline .form-group, .form-inline label {
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		margin-bottom: 0
	}

	.form-inline .form-group {
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-align: center
	}

	.form-inline .form-control {
		display: inline-block;
		width: auto;
		vertical-align: middle
	}

	.form-inline .form-control-plaintext {
		display: inline-block
	}

	.form-inline .custom-select, .form-inline .input-group {
		width: auto
	}

	.form-inline .form-check {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: auto;
		padding-left: 0
	}

	.form-inline .form-check-input {
		position: relative;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		margin-top: 0;
		margin-right: .25rem;
		margin-left: 0
	}

	.form-inline .custom-control {
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center
	}

	.form-inline .custom-control-label {
		margin-bottom: 0
	}
}
