@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200;300;400;600;700;900&display=swap');
body, button, input, select, textarea, h1, h2, h3, h4, h5, h6 {
	font-family: 'Noto Serif TC', serif;
}
body {
	background-repeat: repeat;
}
img {
	max-width: 100%;
	height: auto;
}
.bule_color {
	color: #1d315d;
}
.img_hover {
	line-height: 0px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin: auto;
	float: none;
	clear: none;
}
.img_hover img {
	-webkit-filter: opacity(100%); /* Safari */
	filter: opacity(100%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: all 0.6s ease-in-out;
	-o-transition: all 0.6s ease-in-out;
	transition: all 0.6s ease-in-out;
	transform: scale(1, 1);
}
.img_hover img:hover, a:hover .img_hover img {
	-webkit-filter: opacity(50%); /* Safari */
	filter: opacity(50%);
	transform: scale(1.1, 1.1);
}
div:focus {
	outline: none;
}
.top_id:target:before {
	content: "";
	display: block;
	height: 45px;
}
.gotop {
	position: fixed;
	right: 10px;
	bottom: 90px;
	z-index: 9999;
}
.breadcrumb {
	color: #333;
	justify-content: center;
	font-size: 14px;
}
.breadcrumb-item.active {
	color: #c50000;
}
.breadcrumb-item+.breadcrumb-item::before {
	float: left;
	padding-right: 0.5rem;
	color: #333;
	content: var(--bs-breadcrumb-divider, "/");
}
.form-control {
	line-height: 1.75;
}
.form-control:focus {
	border-color: #333;
	box-shadow: 0 0 0 0 transparent;
}
.form-select:focus {
	border-color: #333;
	box-shadow: 0 0 0 0 transparent;
}
.form-select {
	line-height: 28px;
}
textarea {
	resize: none;
}
a {
	text-decoration: none;
	color: inherit;
}
a:hover {
	opacity: 1;
	color: inherit;
}
/*skeleton*/
.skeleton {
	background-color: #e2e5e7;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	background-size: 40px 100%;
	background-repeat: no-repeat;
	background-position: left -40px top 0;
	-webkit-animation: shine 1s ease infinite;
	animation: shine 1s ease infinite;
}
 @-webkit-keyframes shine {
 to {
 background-position: right -40px top 0;
}
}
 @keyframes shine {
 to {
 background-position: right -40px top 0;
}
}
/*position*/
.sticky {
	position: sticky;
	top: 0px;
	z-index: 99;
	background-image: url(../images/bg.jpg);
	background-repeat: repeat;
}
/*btn*/
.btn:focus {
	box-shadow: 0 0 0 0rem rgba(13, 110, 253, .25);
}
.btn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	height: 35px;
	padding: 0 50px;
	border-radius: 0px;
	border: 0;
	color: #fff;
	text-decoration: none;
	line-height: 1.33;
	vertical-align: middle;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	background-color: #1d315d;
	text-align: center;
}
.btn:hover {
	opacity: 0.8;
	color: #fff;
}
a .more_btn {
	color: #1d315d;
	font-size: 16px;
	position: absolute;
	right: 0;
	bottom: 20px;
}
a:hover .more_btn {
	text-decoration: underline;
}
a .more_btn::after {
	background-color: #cfeefb;
	width: 50px;
	height: 10px;
	content: '';
	position: absolute;
	right: 0;
	bottom: 0px;
	z-index: -2;
}
/*文字自動省略*/
.font_vertical {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	height: 50px;
}
/*頁次*/
.pagination {
	justify-content: center;
}
.page-link {
	color: #333;
}
.page-item.active .page-link {
	z-index: 3;
	color: #fff;
	background-color: #1d315d;
	border-color: #1d315d;
}
.page-link:hover {
	color: #fff;
	background-color: #1d315d;
	border-color: #1d315d;
}
.page-link:focus {
	z-index: 3;
	color: #fff;
	background-color: #1d315d;
	outline: 0;
	box-shadow: 0 0 0 0rem rgba(13, 110, 253, .25);
}
/*pic*/
.pic_bg {
	width: 100%;
	height: 50vh;
	background-image: url(../images/pic_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: left bottom;
	position: relative;
}
.pic_title {
	width: 90%;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 40%;
	left: 5%;
	letter-spacing: 2px;
	font-size: 16px;
}
.menu_area {
	margin-top: 25px;
	letter-spacing: 2px;
}
.menu_area a {
	color: #fff;
	font-size: 18px;
	padding: 0 20px;
}
.menu_area a:hover {
	text-decoration: underline;
}
/*footer*/
.footer_bg {
	background-color: #1d315d;
}
.cpr_text {
	font-size: 14px;
	line-height: 25px;
	color: #fff;
	text-align: center;
}
/*main*/
.banner_area {
	font-size: 30px;
	width: 100%;
	padding-bottom: 20px;
	margin-bottom: 30px;
	position: relative;
	color: #1d315d;
}
.banner_area::after {
	width: 100%;
	height: 1px;
	background-color: #1d315d;
	position: absolute;
	content: '';
	left: 0px;
	bottom: 0px;
}
.banner_area1 {
	color: #1d315d;
	position: relative;
	text-transform: capitalize;
	letter-spacing: 3px;
	text-align: center;
	z-index: 10;
	font-size: 30px;
	margin-bottom: 30px;
}
.banner_area1::before {
	position: absolute;
	left: 0%;
	top: 50%;
	width: 20%;
	content: "";
	height: 1px;
	background-color: #1d315d;
}
.banner_area1::after {
	position: absolute;
	right: 0%;
	top: 50%;
	width: 20%;
	content: "";
	height: 1px;
	background-color: #1d315d;
}
/*news*/
a .news_title, .news_title {
	color: #1d315d;
	font-size: 16px;
	line-height: 23px;
}
a:hover .news_title {
	text-decoration: underline;
}
.snews_title {
	color: #1d315d;
	font-size: 26px;
	line-height: 30px;
}
.date_title {
	color: #1d315d;
	font-size: 18px;
	line-height: 30px;
}
/*work*/
.w_bg {
	width: 100%;
	background-image: url(../images/w_bg.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: left bottom;
	position: relative;
}
/*tab*/
.nav-link {
	color: #1d315d;
	text-align: left;
	border-radius: 0;
	padding-left: 50px;
	position: relative;
	z-index: 2;
	font-size: 18px;
}
.nav-link.active:after {
	background-color: #cfeefb;
	position: absolute;
	right: 0%;
	top: 40%;
	width: 100%;
	content: "";
	height: 20px;
	z-index: -2;
}
.nav-link.active:before {
	background-color: #fff;
	border: 5px solid #cfeefb;
	position: absolute;
	left: 5%;
	top: 25%;
	width: 30px;
	content: "";
	height: 30px;
	z-index: -1;
	border-radius: 50%;
}
.nav-link.active span {
	font-size: 21px;
}
.nav-pills {
	position: relative;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
	color: #1d315d;
	background-color: transparent;
	border-radius: 0;
}
/*slogan*/
.slogan_bg {
	background-image: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(233, 235, 239, 1.00) 100%);
	background-image: -moz-linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(233, 235, 239, 1.00) 100%);
	background-image: -o-linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(233, 235, 239, 1.00) 100%);
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, rgba(233, 235, 239, 1.00) 100%);
}
.slogan_text {
	font-size: 14px;
}
.slogan_name {
	font-size: 12px;
}
/*index work*/
.work_box {
	position: relative;
}
.work_box::before {
	width: 10px;
	height: 100%;
	position: absolute;
	left: 10px;
	top: 0px;
	z-index: -1;
	content: '';
	background-color: #cfeefb;
}
.work_box a h1 {
	color: #1d315d;
	text-align: left;
	border-radius: 0;
	padding-left: 50px;
	position: relative;
	z-index: 2;
	font-size: 18px;
}
.work_box a h1 span {
	font-size: 26px;
}
.work_box h1:before {
    background-color: #fff;
    border: 5px solid #cfeefb;
    position: absolute;
    left: 0%;
    top: 25%;
    width: 30px;
    content: "";
    height: 30px;
    z-index: -1;
    border-radius: 50%;
}
@media (min-width: 375px) {
.pic_title {
	font-size: 18px;
}
}

@media (min-width: 414px) {
.pic_title {
	font-size: 20px;
}
}

@media (min-width: 480px) {
.pic_title {
	font-size: 24px;
}
.slogan_text {
	font-size: 16px;
}
.slogan_name {
	font-size: 14px;
}
	/*news*/
a .news_title, .news_title {
	font-size: 18px;
	line-height: 28px;
}
}

@media (min-width: 768px) {
/*pic*/
.pic_bg {
	height: 100vh;
}
.pic_title {
	font-size: 40px;
}
/*news*/
a .news_title, .news_title {
	font-size: 20px;
	line-height: 30px;
}
.banner_area1::before {
	width: 35%;
}
.banner_area1::after {
	width: 35%;
}
/*work*/
.mt_60 {
	margin-top: 120px;
}
.mt_40 {
	margin-top: 80px;
}
.mt_20 {
	margin-top: 40px;
}
.slogan_text {
	font-size: 16px;
}
.slogan_name {
	font-size: 14px;
}
}

@media (min-width: 992px) {
.top_id:target:before {
	content: "";
	display: block;
	height: 0px;
}
.slogan_text {
	font-size: 24px;
}
.slogan_name {
	font-size: 16px;
}
}

@media (min-width: 1200px) {
/*work*/
.iw_box {
	margin-bottom: 200px;
}
}

@media (min-width: 1400px) {
	.nav-link.active span {
	font-size: 26px;
}
}
