@charset "utf-8";
/* CSS Document */

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-ExtraLight.ttf") format("truetype");
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Light.ttf") format("truetype");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Regular.ttf") format("truetype");
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Medium.ttf") format("truetype");
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Bold.ttf") format("truetype");
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("../font/Noto_Serif_JP/NotoSerifJP-Black.ttf") format("truetype");
	font-weight: 800;
	font-display: swap;
}

* {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

body {
	font-size: 14px;
	line-height: 1.8;
	color: #111;
	font-family: 'Noto Serif JP',sans-serif,'hiragino kaku gothic pro', meiryo, 'ms pgothic';
}

a {
	color: #111;
	text-decoration: none;
	transition: all 0.3s;
}

p {
	width: 100%;
	line-height: 1.8;
}

li {
	list-style: none;
	transition: all 0.3s;
	font-size: 1rem;
}

li:hover,
a:hover:after,
a:hover {
	text-decoration: none;
}

ul.discList {
	width: 100%;
	margin: 0 0 20px 0;
}

ul.discList li {
	width: 100%;
	margin: 0 0 3px 0;
	line-height: 1.6;
	list-style: disc;
	list-style-position: inside;
	text-indent: -1em;
	padding-left: 2em;
}

_:lang(x)::-internal-media-controls-overlay-cast-button, ul.discList li {
	text-indent: -1.5em;
}

ul.discList li a:before,
ul.discList li a:after {
	content: none;
}

ol {
	width: 100%;
	margin: 0 0 40px 0;
	padding: 0 0 0 1.5rem;
}

ol li {
	margin: 0 0 10px 0;
	list-style-type: decimal;
	line-height: 1.8;
}

ol li p {
	margin: 0 0 10px 0!important;
}

img {
	max-width: 100%;
}

figure {
	width: 100%;
	margin: 0 0 40px 0;
}

figure a:hover {
	opacity: 0.7;
}

figure img {
	line-height: 1;
	vertical-align: bottom;
}

table {
	width: 100%;
	margin: 0 0 40px 0;
	background: #fff;
}

table th {
	padding: 8px 20px;
	border-top: solid 1px #111;
	border-bottom: solid 1px #111;
	text-align: center;
	vertical-align: middle;
	font-size: 1rem;
	letter-spacing: 1px;
	font-weight: bold;
}

table td {
	padding: 8px 20px;
	border-top: solid 1px #111;
	border-bottom: solid 1px #111;
	vertical-align: middle;
	font-size: 1rem;
}

table.borderTable {
	margin: 0 0 40px 0;
}

table.borderTable th {
	background: #eefaff;
	background: -moz-linear-gradient(180deg, rgba(9,128,255,1) 0%, rgba(9,128,255,1) 70%, rgba(0,56,205,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(9,128,255,1) 0%, rgba(9,128,255,1) 70%, rgba(0,56,205,1) 100%);
	background: linear-gradient(180deg, rgba(9,128,255,1) 0%, rgba(9,128,255,1) 70%, rgba(0,56,205,1) 100%);
	text-align: center;
	color: #fff;
	border: solid 1px #8BA6CC;
	text-shadow: 1px 1px 2px #666;
}

table.borderTable td {
	border: solid 1px #8BA6CC;
	text-align: center;
}

strong,
strong a {
	font-weight: bold;
}

sup {
	font-size: 0.7rem;
	vertical-align: top;
	position: relative;
	top: -0.1rem;
	left: 0.1rem;
}

sub {
	font-size: 0.7rem;
	vertical-align: bottom;
	position: relative;
	bottom: -0.1em;
	left: 0.1rem;
}

header {
	width: 100%;
}

header .siteTitle {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 5px 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

header .siteTitle h1 {
	width: 70%;
	margin: 0 20px 0 0;
}

header .siteTitle h1 a {
	width: 100%;
}

header .siteTitle a {
	width: calc(30% - 20px);
}

header .siteTitle a:hover {
	opacity: 0.7;
}

header .siteTitle h1 img {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}

header nav {
	width: 100%;
	background: #003B61;
	background: linear-gradient(180deg,rgba(0, 59, 97, 1) 0%, rgba(0, 0, 48, 1) 100%);
}

header nav ul.gNav {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

header nav ul.gNav li.sp {
	display: none;
}

header nav ul.gNav li a {
	width: 100%;
	padding: 20px 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: #fff;
	position: relative;
	transition: 0.3s;
	font-weight: 500;
	font-size: 1.3rem;
}

header nav ul.gNav li a.current,
header nav ul.gNav li a:hover {
	background: #003B61;
	background: linear-gradient(0deg,rgba(0, 59, 97, 1) 0%, rgba(0, 0, 48, 1) 100%);
}

.topImg {
	width: 100%;
	position: relative;
}

.topImg img {
	width: 100%;
	height: 350px;
	object-fit: cover;
}

.topImg p {
	width: auto;
	padding: 10px 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.7;
	background: linear-gradient(0deg,rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 100%);
	text-shadow: 1px 1px 2px #999;
}

ul.newsList {
	width: 100%;
	max-height: 250px;
	margin: 0 0 100px 0;
	overflow: auto;
}

ul.newsList li {
	width: 100%;
	margin: 0 0 10px 0;
	display: flex;
	flex-wrap: wrap;
}

ul.newsList li p a:hover {
	color: #060672;
	text-decoration: underline;
}

ul.newsList li p a:before {
	margin-right: 5px;
	content: '\f0da';
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	display: inline-block;
	color: #060672;
}

ul.newsList li time {
	width: 100px;
	margin: 0 20px 0 0;
}

ul.newsList li p {
	width: calc(100% - 120px);
	margin: 0;
}

ul.contentList {
	width: 100%;
	margin: 0 0 100px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

ul.contentList li a {
	width: 100%;
	display: flex;
	position: relative;
}

ul.contentList li a:hover {
	opacity: 0.7;
}

ul.contentList li a img {
	width: 100%;
	line-height: 1;
	vertical-align: bottom;
}

ul.contentList li a p {
	width: 100%;
	padding: 8px 10px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 59, 97, 0.8) 0%, rgba(0, 0, 48, 0.8) 100%);
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 1px;
	text-shadow: 1px 1px 2px #666;
}

ul.bannerList {
	width: 100%;
	margin: 0 0 100px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

ul.bannerList li a:hover {
	opacity: 0.7;
}

ul.bannerList li a img {
	width: 100%;
}

main {
	width: 100%;
	padding: 0 0 200px 0;
	background: rgba(255,255,255,0.84);
}

main .conWrap {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 20px 0 20px;
}

main .conWrap h2 {
	width: 100%;
	margin: 0 0 35px 0;
	font-size: 1.8rem;
	border-bottom: solid 4px #060672;
}

main .conWrap h2:before {
	margin: 0 12px 0 0;
	content: '\f83e';
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	display: inline-block;
	color: #060672;
}

/*コンテンツ設定*/

.breadcrumbs {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 15px;
	border-bottom: dashed 1px #afafaf;
}

.breadcrumbs ul {
	width: 100%;
	display: flex;
}

.breadcrumbs ul li {
	margin: 0 5px 0 0;
	font-size: 0.8rem;
}

.breadcrumbs ul li a {
	text-decoration: underline;
}

.breadcrumbs ul li a:hover {
	opacity: 0.8;
}

.breadcrumbs ul li:nth-child(n + 2):before {
	margin-right: 5px;
	content: '>';
	color: #111;
}

.breadcrumbs .home:before {
	margin-right: 5px;
	content: '\f015';
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	display: inline-block;
	color: #111;
}

.contents section {
	width: 100%;
	margin: 0 0 120px 0;
}

.contents section p {
	width: 100%;
	margin: 0 0 40px 0;
	font-size: 1.1rem;
	line-height: 2;
}

.contents section h2 {
	width: 100%;
	margin: 0 0 30px 0;
	padding: 0 10px;
	font-size: 1.6rem;
}

.contents section h2:after {
	content: none;
}

.contents section h3 {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 12px 5px;
	font-size: 1.4rem;
	position: relative;
}

.contents section h3:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	content: '';
	background-image: repeating-linear-gradient(-45deg, #060672, #060672 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.contents section h4 {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 5px 15px;
	font-size: 1.1rem;
	color: #ffffff;
	background: #3C566C;
}

.contents section h5 {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 4px 15px;
	font-size: 1rem;
	color: #3C566C;
	border: solid 1px #183fab;
}

.contents section h6 {
	width: 100%;
	margin: 0 0 10px 0;
	padding: 1px 0 2px 2px;
	font-size: 1rem;
	color: #3C566C;
	border-bottom: dashed 1px #3C566C;
}

.contents section h6:before {
	content: '\f009';
	padding: 0 5px 0 0;
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	color: #3C566C;
	display: inline-block;
}

.contents p {
	width: 100%;
	margin: 0 0 20px 0;
	font-size: 1rem;
}

.contents p + h2,
.contents p + h3,
.contents p + h4,
.contents p + h5,
.contents p + h6,
.contents ul + h2,
.contents ul + h3,
.contents ul + h4,
.contents ul + h5,
.contents ul + h6,
.contents table + h2,
.contents table + h3,
.contents table + h4,
.contents table + h5,
.contents table + h6 {
	margin: 50px 0 20px 0;
}

ul.gallery {
	width: 100%;
	margin: 0 0 40px 0;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 30px;
	place-content: center;
}

ul.gallery.clm2 {
	grid-template-columns: repeat(2, 1fr);
}

ul.gallery.clm3 {
	grid-template-columns: repeat(3, 1fr);
}

ul.gallery li a {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

ul.gallery li a img {
	/*border: solid 1px #dfdfdf;*/
}

ul.gallery li span {
	width: 100%;
	display: inline-block;
	text-align: center;
}

#cboxOverlay {
	background: #000;
}

.imgList2column,
.imgList3column,
.imgList4column {
	width: 100%;
	margin: 0 0 40px 0;
	display: flex;
	flex-wrap: wrap;
}

.imgList2column figure,
.imgList3column figure,
.imgList4column figure {
	width: calc(50% - 12px);
	margin: 0 24px 20px 0;
}

.imgList3column figure {
	width: calc(33.3% - 16px);
}

.imgList4column figure {
	width: calc(25% - 18px);
}

.imgList2column figure:nth-child(2n),
.imgList3column figure:nth-child(3n),
.imgList4column figure:nth-child(4n) {
	margin: 0 0 20px 0;
}

.imgList3column figure:nth-child(3n) {
	width: calc(33.4% - 16px);
}

.imgList2column figure img,
.imgList3column figure img,
.imgList4column figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

.imgList2column figure span,
.imgList3column figure span,
.imgList4column figure span {
	width: 100%;
	display: inline-block;
	text-align: center;
	font-size: 0.8rem;
	line-height: 1.4;
}

.imgList2column.gallery ,
.imgList3column.gallery ,
.imgList4column.gallery {
	align-items: baseline;
}

.imgList2column.gallery figure,
.imgList3column.gallery figure,
.imgList4column.gallery figure {
	height: 100%;
}

.imgList2column.gallery figure img,
.imgList3column.gallery figure img,
.imgList4column.gallery figure img {
	max-height: 350px;
	padding: 0;
	background: none;
	object-fit: cover;
}

.cardLsit {
	width: 100%+
	
}

.cardList article {
	width: 100%;
	margin: 0 0 25px 0;
	padding: 25px 30px;
	background: #fff;
	border: 1px solid #dde5f0;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.cardList article p {
	width: 100%;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.cardList article span {
	font-size: 0.9rem;
	font-weight: 700;
}

.cardList article span.tag {
	padding: 5px 15px;
	background: #dbeafe;
	border-radius: 10px;
	font-size: 0.85rem;
	color: #1e3a8a;
	line-height: 1.4;
}

.cardList article span.tag.patent {
	color: #7c2d12;
	background: #ffedd5;
}

.cardList article h3 {
	margin: 0 0 20px 0;
	border-bottom: solid 1px #dfdfdf;
}

.cardList article div.cardInfo dl {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #edf1f7;
}

.cardList article div.cardInfo dl:first-child {
	padding-top: 0;
	border-top: none;
}

.cardList article div.cardInfo dl dt {
	font-size: 0.9rem;
	font-weight: 700;
}

.cardList article div.cardInfo dl dd {
	font-size: 0.9rem;
}

footer {
	width: 100%;
	padding: 20px 15px;
	background: linear-gradient(180deg, rgba(0, 59, 97, 1) 0%, rgba(0, 0, 48, 1) 100%);
}

footer .copyright {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	font-size: 0.9rem;
	color: #fff;
	text-align: center;
	text-shadow: 1px 1px 2px #111;
}

#pageTop {
	width: 120px;
	background: #fff;
	border-radius: 8px;
	color: #111;
	padding: 10px 20px;
	position: fixed;
	right: 15px;
	font-size:85%;
	text-decoration:none;
	z-index: 0;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;
	-webkit-transition: background-color 0.3s ease;
	-moz-transition: background-color 0.3s ease;
	-ms-transition: background-color 0.3s ease;
	-o-transition: background-color 0.3s ease;
	box-shadow: 1px 1px 2px #999;
}

@media screen and (max-width:820px) {
	
	li {
		font-size: 0.9rem;
	}
	
	.btn-gnavi {
		padding: 10px;
		position: fixed;
		top: 20px;
		right: 20px;
		width: 50px;
		height: 44px;
		z-index: 10001;
		box-sizing: border-box;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		background: rgba(255,255,255,0.8);
	}
	
	.btn-gnavi span {
		position: absolute;
		width: 30px;
		height: 4px;
		right: 9px;
		background: #666;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		z-index: 10002;
	}
	
	.btn-gnavi.open {
		width: 300px;
		height: 25px;
		padding: 20px 20px 40px;
		background: #000036;
		border-bottom: solid 1px #cfe0ff;
		top: 0px;
		right: 0;
	}
	
	.btn-gnavi span:nth-child(1) {
		top: 10px;
	}

	.btn-gnavi span:nth-child(2) {
		top: 20px;
	}
	
	.btn-gnavi span:nth-child(3) {
		top: 30px;
	}
	
	div.open span {
		background: #fff!important;
	}
	
	div.open span:nth-child(1) {
		transform: translateY(10px) rotate(-45deg);
		-webkit-transform: translateY(10px) rotate(-45deg);
		top: 10px!important;
	}
	
	div.open span:nth-child(2) {
		display: none;
	}
	
	div.open span:nth-child(3) {
		transform: translateY(-10px) rotate(45deg);
		-webkit-transform: translateY(-10px) rotate(45deg);
		top: 30px!important;
	}
	
	header nav ul.gNav {
		width: 300px;
		height: 90vh;
		margin: 0;
		padding: 0;
		display: block;
		position: fixed;
		top: 60px;
		right: -500px;
		z-index: 10000;
		overflow-y: auto;
		background: rgba(0,0,0,0.8);
		-webkit-transition: all 0.01s;
		transition: all 0.01s;
	}
	
	header nav ul.gNav li:last-child {
		border: none;
	}
	
	header nav ul.gNav li.sp {
		display: block;
	}
	
	header nav ul.gNav li a {
		background: #000036;
		border-bottom: solid 1px #fff;
	}
	
	header nav ul.gNav li a:before,
	header nav ul.gNav li a:after {
		width: auto;
		height: auto;
		background-color: transparent;
		content: none;
	}
	
	header nav ul.gNav li.active a:after {
		content: '\f056';
	}
	
	header .siteTitle h1 {
		width: calc(100% - 70px);
		padding: 10px 0;
	}
	
	header .siteTitle h1 a {
		display: block;
	}
	
	header .siteTitle a {
		display: none;
	}
	
	main .conWrap h2 {
		font-size: 1.6rem;
	}
	
	.topImg img {
		height: 250px;
	}
	
	.topImg p {
		top: 30%;
		left: 40%;
		font-size: 1.2rem;
	}
	
	ul.newsList {
		max-height: 200px;
	}
	
	ul.newsList li p {
		font-size: 0.8rem;
	}
	
	ul.contentList {
		gap: 10px;
	}
	
	ul.contentList li a p {
		padding: 5px 8px;
		font-size: 0.7rem;
	}
	
	.contents section {
		margin: 0 0 80px 0;
	}
	
	.contents section p {
		font-size: 1rem;
		line-height: 1.8;
	}
	
	main .conWrap {
		padding: 30px 15px 0 15px;
	}
	
	.contents section h2 {
		font-size: 1.3rem;
	}
	
	.contents section h3 {
		font-size: 1.1rem;
	}
	
	.contents section h4 {
		font-size: 1rem;
	}
	
	.contents section h5 {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 4px 15px;
		font-size: 0.9rem;
		color: #3C566C;
		border: solid 1px #183fab;
	}
	
	ul.gallery li span {
		font-size: 0.7rem;
		line-height: 1.4;
	}
	
}

@media screen and (max-width:500px) {
	
	.btn-gnavi {
		top: 5px;
		right: 10px;
	}
	
	table td {
		font-size: 0.9rem;
		word-wrap: break-word;
	}
	
	.btn-gnavi.open,
	header nav ul.gNav {
		width: 100%;
	}
	
	header {
		background-size: cover;
	}
	
	header .siteTitle h1 {
		width: calc(100% - 60px);
		padding: 10px 0;
	}
	
	header nav ul.gNav li a {
		font-size: 1.1rem;
	}
	
	main {
		padding: 0 0 80px 0;
	}
	main .conWrap h2 {
		font-size: 1.3rem;
	}
	
	.topImg img {
		height: 150px;
	}	
	
	.topImg p {
		padding: 5px 12px;
		top: 25%;
		left: 40%;
		font-size: 0.8rem;
		text-align: 1px 1px 0px #666;
	}
	
	ul.newsList {
		margin: 0 0 60px 0;
	}
	
	ul.newsList li time {
		font-size: 0.8rem;
	}
	
	ul.newsList li p {
		width: 100%;
		font-size: 0.75;
		line-height: 1.5;
	}
	
	ul.contentList {
		margin: 0 0 60px 0;
		grid-template-columns: repeat(1, 1fr);
	}
	
	ul.contentList li a p {
		padding: 8px 15px;
		font-size: 1rem;
	}
	
	ul.bannerList {
		margin: 0 0 60px 0;
		grid-template-columns: repeat(2, 1fr);
	}
	
	ul.gallery.clm2,
	ul.gallery.clm3 {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
	
	ul.gallery li span {
		font-size: 0.8rem;
		line-height: 1.5;
	}
	
	.cardList article {
		margin: 0 0 20px 0;
		padding: 20px 20px;
	}
	
	.cardList article div.cardInfo dl {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	
	.cardList article div.cardInfo dl:last-child {
		padding: 10px 0 0 0;
	}
	
	.scroll {
		margin: 0 0 40px 0;
		overflow-x: auto;
	}
	
	.scroll table {
		width: 830px;
		margin: 0;
		table-layout: fixed;
		-webkit-overflow-scrolling: touch;
	}
	
	.scroll table th {
		width: 180px;
	}
	
	.scroll table td {
		width: 650px;
	}
	
	.conHeaderImg figure img {
		height: 120px;
	}
	
	.conHeaderImg h2 {
		font-size: 1.2rem;
	}
	
	.breadcrumbs ul {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.breadcrumbs ul {
		word-break: keep-all;
		white-space: nowrap;
	}
	
	.breadcrumbs ul li {
		font-size: 0.8rem;
	}
	
	.contents section p {
		font-size: 0.9rem;
		line-height: 1.6;
	}
	
	.imgList3column figure,
	.imgList4column figure,
	.imgList3column figure:nth-child(3n),
	.imgList4column figure:nth-child(4n) {
		width: calc(50% - 5px);
		margin: 0 10px 40px 0;
	}
	
	.imgList3column figure:nth-child(2n),
	.imgList4column figure:nth-child(2n) {
		margin: 0 0 40px 0;
	}
	
	.imgList2column figure span,
	.imgList3column figure span,
	.imgList4column figure span {
		font-size: 0.7rem;
	}
	
	footer .copyright {
		font-size: 0.7rem;
	}
	
}

/*---------------------共通設定---------------------*/
ul.linkList {
	width: 100%;
	margin: 0 0 40px 0;
}

a.linkIcon:hover {
	text-decoration: underline;
}

a.linkIcon:before,
.linkIconList a:before,
.linkList li a:before,
.linkList a li:before {
	padding: 0 5px;
	content: '\f0da';
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	color: #2F7CC9;
	display: inline-block;
}

a.directLink:after,
a[href$=".pdf"]:after,
a[href$=".doc"]:after,
a[href$=".docx"]:after,
a[href$=".xls"]:after,
a[href$=".xlsx"]:after,
a[href$=".ppt"]:after,
a[href$=".pptx"]:after {
	padding:0 5px;
	font-weight: 900;
	font-family: 'Font Awesome 7 Free';
	color: #2F7CC9;
	display: inline-block;
}

a.directLink:after {
	content: '\f2d2';
}

a[href$=".pdf"]:after {
	content: '\f1c1';
}

a[href$=".doc"]:after,
a[href$=".docx"]:after {
	content: '\f1c2';
}

a[href$=".xls"]:after,
a[href$=".xlsx"]:after {
	content: '\f1c3';
}

a[href$=".ppt"]:after,
a[href$=".pptx"]:after {
	content: '\f1c4';
}

.linkIcon:hover,
.linkIcon:hover:before,
.linkIconList a:hover:before,
.linkList li a:hover:before,
.directLink:hover:after,
a[href$=".pdf"]:hover:after,
a[href$=".doc"]:hover:after,
a[href$=".docx"]:hover:after,
a[href$=".xls"]:hover:after,
a[href$=".xlsx"]:hover:after,
a[href$=".ppt"]:hover:after,
a[href$=".pptx"]:hover:after {
	color: #2F7CC9;
}

.txtUline {
	text-decoration: underline;
}

.txtRed,
.txtRed a {
	color: #d90000;
}

.txtGreen {
	color: #189d00;
}

.talR {
	text-align: right !important;
}
.talL {
	text-align: left!important;
}
.talC {
	text-align: center!important;
}

.mrgnT0 {
	margin-top: 0px!important;
}
.mrgnB0 {
	margin-bottom: 0px!important;
	margin-top: 0px;
}
.mrgnL0 {
	margin-left: 0px!important;
}
.mrgnR0 {
	margin-right: 0px!important;
}
.mrgnB5 {
	margin-bottom: 5px!important;
}

.mrgnL5 {
	margin-left: 5px!important;
}

.mrgnT10 {
	margin-top: 10px!important;
}
.mrgnB10 {
	margin-bottom: 10px!important;
}
.mrgnL10 {
	margin-left: 10px!important;
}
.mrgnR10 {
	margin-right: 10px!important;
}

.mrgnB15 {
	margin-bottom: 15px!important;
}

.mrgnL15 {
	margin-left: 15px!important;
}
.mrgnT20 {
	margin-top: 20px!important;
}
.mrgnB20 {
	margin-bottom: 20px!important;
}
.mrgnL20 {
	margin-left: 20px!important;
}
.mrgnL30 {
	margin-left: 30px!important;
}
.mrgnB30 {
	margin-bottom: 30px!important;
}
.mrgnB40 {
	margin-bottom: 40px!important;
}
.mrgnB50 {
	margin-bottom: 50px!important;
}
.mrgnB80 {
	margin-bottom: 80px!important;
}

.mrgn0pdng0 {
	margin: 0;
	padding: 0;
}
.mrgnR20 {
	margin-right: 20px!important;
}
.mrgnT30 {
	margin-top: 30px!important;
}
.padB0 {
	padding-bottom:0 !important;
}

.padT0 {
	padding-top:0 !important;
}

.padL0 {
	padding-left:0 !important;
}

.padR0 {
	padding-right:0 !important;
}

.type11 {
	font-size: 78%;
}

.font12 {
	font-size: 12px!important;
}

.font14 {
	font-size: 14px!important;
}

.font16 {
	font-size: 16px!important;
}

.font18 {
	font-size: 18px!important;
}

.font20 {
	font-size: 20px!important;
}

.font22 {
	font-size: 22px!important;
}

.font24 {
	font-size: 24px!important;
}

.font26 {
	font-size: 26px!important;
}

.font28 {
	font-size: 28px!important;
}

.font30 {
	font-size: 30px!important;
}

.w30p {
	width: 30%!important;
}

.w65p {
	width: 65%!important;
}

.mw120 {
	width: 100%;
	max-width: 120px!important;
}

.floatR {
	float: right;
}

.floatL {
	float: left;
}