@charset "utf-8";

body {
    font-family: "Noto Sans JP", sans-serif !important;
}
body, div, p, span, a, li, h1, h2, h3, h4, h5, h6, td, th {
    font-family: "Noto Sans JP", sans-serif !important;
}
.container-fluid {
	max-width: 1280px;
}
.footer {
	color: #fff;
	background-color: #003652;
	text-align: center;
	padding: 24px 0;
}
.share {
	margin: 8px 0;
}
.share img {
	margin: 0 2px;
}
.backtop {
	position: fixed;
	z-index: 15;
	width: 48px;
	height: 48px;
	left: 100%;
	top: 100%;
	margin-top: -64px;
	margin-left: -64px;
	padding: 5px;
	background-color: rgba(000,000,000,0.5);
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	border-radius: 4px;
	cursor: pointer;
	-webkit-transition: background 0.3s; /* Safari */
	transition: background 0.3s;
}
.backtop:hover {
	background-color: #0097d0;
}
.title_line {
	width: 64px;
	height: 6px;
	background-color: #0097d0;
	margin: 30px auto;
}
.navbar {
	padding: 0px;
}
.navbar-brand {
	margin-left: 15px;
}

@media (min-width:768px) {
.navbar-brand {
	margin-left: 0;
}
}
.navbar-toggler {
	margin: 15px;
}
.navbar-nav .nav-item .nav-link {
	padding: 15px;
}
.navbar-nav .nav-item .nav-link:hover {
	background-color: #999;
}
.menu_header {
	position: fixed;
	z-index: 900;
	top: 0;
	left: 0;
	width: 240px;
	height: 100%;
	background-color: #003652;
	-webkit-transition: margin 0.3s; /* Safari */
	transition: margin 0.3s;
	overflow-y: auto;
}
.menu_header img {
	margin: 12px 0;
}
.menu_close {
	left: 100%;
	margin-left: 0px;
}
.menu_open {
	left: 100%;
	margin-left: -240px;
}
.menu_header .container-fluid {
	padding: 0;
	position: relative;
	max-width: 1280px;
}

@media (min-width:992px) {
.menu_header {
	position: fixed;
	width: 100%;
	height: auto;
	background: #fff;
	border-top: 30px solid #003652;
	overflow-y: visible;
	-moz-box-shadow: 0 4px 15px -2px gray;
	-webkit-box-shadow: 0 4px 15px -2px gray;
	box-shadow: 0 4px 15px -2px gray;
}
.menu_open, .menu_close {
	left: 0;
	margin-left: 0;
}
.menu_header .container-fluid {
	padding: 0 15px;
}
}
.logo_big {
	display: none
}
.logo_big img {
	-webkit-transition: all 0.3s; /* Safari */
	transition: all 0.3s;
	width: 320px;
	height: auto;
	margin-top: 15px;
}

@media (min-width:992px) {
.logo_big {
	display: block;
	text-align: center;
	float: left;
}
.logo_big img {
	width: 280px;
	margin-top: 18px;
	padding-bottom: 5px;
}
}

@media (min-width:1200px) {
.logo_big img {
	width: 320px;
	margin-top: 15px;
	padding-bottom: 0px;
}
}
.menu_ul {
	list-style: none;
	padding: 0;
}
.menu_ul li {
	border-bottom: 1px dotted #0097d0;
}
.menu_ul li a {
	color: #fff;
	display: block;
	font-size: 1.1rem;
	-webkit-transition: background 0.3s; /* Safari */
	transition: background 0.3s;
	padding: 15px;
}
.menu_ul li a:hover, .menu_ul li a:focus {
	text-decoration: none;
	background-color: #0097d0;
}
.menu_ul li a span {
	display: block;
	font-size: 0.8rem;
}

@media (min-width:992px) {
.menu_ul {
	text-align: center;
	border-radius: 4px;
	height: 32px;
	float: right;
	margin-top: 26px;
}
.menu_ul li {
	float: left;
	border: none;
	position: relative;
}
.menu_ul li a {
	color: #555;
	font-size: 0.9rem;
	width: auto;
	text-align: center;
	padding: 12px 10px 30px 10px;
}
.menu_ul li a:hover, .menu_ul li a:focus {
	color: #003652;
	background-color: transparent;
}
.menu_ul .mobile_home {
	display: none;
}
}

@media (min-width:1200px) {
.menu_ul {
	margin-top: 24px;
	height: 32px;
}
.menu_ul li a {
	font-size: 1rem;
	width: auto;
	text-align: center;
	padding: 12px 18px 30px 18px;
}
}
.mobile_hide {
	background-color: #000;
	opacity: 0;
	position: fixed;
	z-index: 899;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mobile_header {
	background-color: #fff;
	position: fixed;
	z-index: 890;
	height: 88px;
	width: 100%;
	border-top: 8px solid #003652;
}
.mobile_header img {
	margin: 20px 0 0 15px;
}
.iconbar {
	float: right;
	width: 48px;
	height: 36px;
	margin: 24px 15px 0 15px;
	border: 2px solid #525269;
	border-radius: 4px;
	cursor: pointer;
	background-position: center;
	background-repeat: no-repeat;
	-webkit-transition: background 0.2s; /* For Safari 3.1 to 6.0 */
	transition: background 0.2s;
}
.iconbar_open {
	background-image: url(../images/iconbar.png);
}
.iconbar_close {
	background-image: url(../../images/iconbar2.png);
	border-color: #003652;
}
.menu_title {
	margin: 3px 15px;
	padding-top: 23px;
	padding-bottom: 16px;
	color: #fff;
	font-family: Verdana, Geneva, sans-serif;
}

@media (min-width:992px) {
.mobile_hide {
	display: none;
}
.mobile_header {
	display: none;
}
.iconbar_close {
	display: none;
}
.menu_title {
	display: none;
}
}
.menu_ul .mobile_language {
	color: #fff;
	margin: 10px 15px;
	border: none;
}
.menu_ul .mobile_language a {
	display: inline-block;
	padding: 10px 16px;
	font-size: 0.9rem;
	border: 1px solid #fff;
	border-radius: 5px;
}
.menu_ul .mobile_language a:hover, .menu_ul .mobile_language a.active {
	background-color: #fff;
	color: #003652;
}

@media (min-width:992px) {
.menu_ul .mobile_language {
	display: none;
}
}
.search_nav {
	display: none;
}

@media (min-width:992px) {
.search_nav {
	position: absolute;
	padding: 0;
	list-style: none;
	top: -28px;
	left: 100%;
	margin-left: -430px;
	text-align: right;
	display: block;
}
.search_nav li {
	display: inline-block;
	font-size: 0.8rem;
	margin-left: 15px;
	color: #fff;
}
.search_nav li a {
	color: #fff;
}
.search_nav li a:hover {
	color: #FC6;
	text-decoration: none;
}
}

@media (min-width:1200px) {
.search_nav {
	margin-left: -445px;
}
}
.menu_ul .sub_nav {
	display: none;
}

@media (min-width:992px) {
.menu_ul .sub_nav {
	position: absolute;
	top: 60px;
	-moz-box-shadow: 0 4px 15px -2px gray;
	-webkit-box-shadow: 0 4px 15px -2px gray;
	box-shadow: 0 4px 15px -2px gray;
}
.menu_ul .sub_nav a {
	background-image: none;
	padding: 10px 10px;
	margin: 0;
	border-top: 1px solid #ddd;
	background-color: #fff;
	width: 140px;
	margin-left: -32px;
	font-size: 0.9rem;
}
.menu_ul .sub_nav a:hover {
	background-color: #003652;
	color: #fff;
}
}

@media (min-width:1200px) {
.menu_ul .sub_nav a {
	width: 160px;
	margin-left: -30px;
}
}

@media (min-width:992px) {
.drop1:hover .sub_nav1 {
	display: block;
}
.drop2:hover .sub_nav2 {
	display: block;
}
.drop3:hover .sub_nav3 {
	display: block;
}
.drop4:hover .sub_nav4 {
	display: block;
}
.drop6:hover .sub_nav6 {
	display: block;
}
.drop7:hover .sub_nav7 {
	display: block;
}
}
.zoomIn {
	-webkit-animation: zoomIn 0.4s; /* Safari 4+ */
	-moz-animation: zoomIn 0.4s; /* Fx 5+ */
	-o-animation: zoomIn 0.4s; /* Opera 12+ */
	animation: zoomIn 0.4s; /* IE 10+, Fx 29+ */
}
.top_blank {
	height: 88px;
}

@media (min-width:992px) {
.top_blank {
	height: 115px;
}
}
.view_lg {
	display: none;
}

@media (min-width:992px) {
.view_sm {
	display: none;
}
.view_lg {
	display: block;
}
}
.scroll_down {
	display: none;
	-webkit-transition: box-shadow 0.3s, text-shadow 0.3s; /* Safari */
	transition: box-shadow 0.3s, text-shadow 0.3s;
	text-shadow: 0px 0px 10px #777, 0px 0px 10px #777, 0px 0px 10px #777, 0px 0px 15px #999;
	box-shadow: 0px 0px 10px #777, 0px 0px 10px #777, 0px 0px 10px #777, 0px 0px 15px #999;
}
.scroll_down:hover {
	box-shadow: 0px 0px 10px #036, 0px 0px 15px #09C, 0px 0px 20px #09F, 0px 0px 25px #0CF;
	text-shadow: 0px 0px 10px #036, 0px 0px 15px #09C, 0px 0px 20px #09F, 0px 0px 25px #0CF;
}

@media (min-width:992px) {
.scroll_down {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	margin-left: -40px;
	margin-top: -150px;
	height: 80px;
	width: 80px;
	border: 4px solid #fff;
	border-radius: 50%;
	text-align: center;
	color: #fff;
	padding-top: 16px;
	cursor: pointer;
	display: block;
}
}
.scroll_down2 {
	display: none;
	-webkit-transition: all 0.3s; /* Safari */
	transition: all 0.3s;
	text-shadow: 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff;
	box-shadow: 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff;
}
.scroll_down2:hover {
	box-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
	text-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
	color: #003652;
	border: 4px solid #003652;
}

@media (min-width:992px) {
.scroll_down2 {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	margin-left: -40px;
	margin-top: -150px;
	height: 80px;
	width: 80px;
	border: 4px solid #0097d0;
	border-radius: 50%;
	text-align: center;
	color: #0097d0;
	padding-top: 16px;
	cursor: pointer;
	display: block;
}
}
.top_news_block {
	background-color: #003652;
}
.v-slick {
	margin: 0 25px 0 0;
}
.v-slick div {
	line-height: 2rem;
	font-size: 1rem;
}

@media (min-width:992px) {
.v-slick div {
	font-size: 1.1rem;
}
}
.v-slick div a {
	display: block;
	color: #fff;
	padding: 15px 0;
	white-space: nowrap;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	overflow: hidden;
}
.v-slick div a:hover {
	text-decoration: none;
	color: #FC6;
}
.v-slick div a span {
	margin-right: 10px;
}
.v-slick div a p {
	display: block;
	margin: 0;
}

@media (min-width:768px) {
.v-slick div a p {
	display: inline-block;
}
}
.top_news_block .slick-prev:before, .top_news_block .slick-next:before {
	font-family: FontAwesome;
	font-size: 0.9rem;
	line-height: 1;
	color: #fff;
	opacity: 0.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.top_news_block .slick-prev {
	left: 100%;
	margin-left: 5px;
	margin-top: -10px;
}
[dir='rtl'] .top_news_block .slick-prev {
	right: -25px;
	left: auto;
}
.top_news_block .slick-prev:before {
	content: "\f077"
}
[dir='rtl'] .top_news_block .slick-prev:before {
	content: "\f078";
}
.top_news_block .slick-next {
	right: -25px;
	margin-top: 10px;
}
[dir='rtl'] .top_news_block .slick-next {
	right: auto;
	left: 100%;
}
.top_news_block .slick-next:before {
	content: "\f078";
}
[dir='rtl'] .top_news_block .slick-next:before {
	content: "\f077"
}
.top_title_pic {
	margin: 15px 0;
	text-align: center;
}
.more {
	margin: 30px 0;
}
.more a {
	padding: 10px 30px;
	background-color: #0097d0;
	color: #fff;
	border-radius: 20px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.more a:hover {
	text-decoration: none;
	background-color: #003652;
}
.top_concept_block {
	padding: 128px 0 200px 0;
	background-image: url(../../images/top_bg.jpg);
	background-position: center;
	background-size: cover;
	position: relative;
}
.top_concept_block h1 {
	text-align: center;
}
.top_concept_block .row .col-md-4 {
	position: relative;
}
.top_concept_con {
	text-align: center;
	padding: 64px 15px 15px 15px;
	background-color: #fff;
	-moz-box-shadow: 0 4px 15px -2px gray;
	-webkit-box-shadow: 0 4px 15px -2px gray;
	box-shadow: 0 4px 15px -2px gray;
	border-radius: 15px;
	background-image: url(../../images/card_bg.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	margin: 15px 0;
}
.top_concept_con h3 {
	margin: 15px 0;
	color: #1e3046;
	font-size: 2rem;
}
.top_concept_con p {
	color: #333;
	margin: 15px 0;
	line-height: 1.8rem;
}
.top_concept_pic {
	margin: 15px 0;
	width: 120px;
	height: 120px;
	background-color: #fff;
	margin: 15px auto;
	padding: 15px;
	border-radius: 50%;
}
.top_concept_pic img {
	max-width: 100%;
	height: auto;
	width: 80px;
	height: auto;
}
/*@media (min-width:768px){
	.top_concept_con p{ padding-bottom:64px;}
	.top_concept_block .more{ position:absolute; top:100%; left:50%; margin-top:-70px; margin-left:-72px;}
}*/

.top_concept_block .scroll_down {
	display: none;
	-webkit-transition: all 0.3s; /* Safari */
	transition: all 0.3s;
	box-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
	text-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
}
.top_concept_block .scroll_down:hover {
	box-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
	text-shadow: 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 25px #fff;
	border: 4px solid #003652;
	color: #003652;
}

@media (min-width:992px) {
.top_concept_block .scroll_down {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	margin-left: -40px;
	margin-top: -150px;
	height: 80px;
	width: 80px;
	border: 4px solid #0097d0;
	border-radius: 50%;
	text-align: center;
	color: #0097d0;
	padding-top: 16px;
	cursor: pointer;
	display: block;
}
}
/* set slider arrow color ! */
.top_concept_block .slick-prev:before, .top_concept_block .slick-next:before {
	color: #003652 !important;
}
.top_concept_block .top_concept_slick {
	margin: 0 24px 0 24px;
}
.top_concept_block .top_concept_slick .top_concept_con {
	margin: 8px 16px 8px 8px;
}
.top_concept_slick .top_concept_con .top_concept_pic {
	margin: 15px 0;
	width: 120px;
	height: 120px;
	background-color: #fff;
	margin: 15px auto;
	padding: 15px;
	border-radius: 50%;
}
.top_concept_slick .top_concept_con .top_concept_pic img {
	max-width: 100%;
	height: auto;
	width: 80px;
	height: auto;
	margin-left: 5px;
}
.top_concept_slick .top_concept_con p {
	min-height: 180px;
}

@media (min-width:768px) {
.top_concept_slick .top_concept_con p {
	padding-bottom: 0px;
	min-height: 180px;
}
}
.slick_more {
	margin: 30px 0;
}
.slick_more a {
	padding: 10px 30px;
	background-color: #0097d0;
	color: #fff;
	border-radius: 20px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.slick_more a:hover {
	text-decoration: none;
	background-color: #003652;
}
.top_core_title {
	padding: 30px 0;
	margin: 0;
	background-color: #003652;
	color: #fff;
	text-align: center;
}
.top_core_block .container-fluid {
	max-width: none;
}
.top_core_pic1 {
	height: 360px;
	position: relative;
	background-position: center;
	background-size: cover;
}
.top_core_pic1 a {
	background-color: #000;
	color: #fff;
	opacity: 0;
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	text-align: center;
	padding-top: 120px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.top_core_pic1 a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.top_core_pic1 a i {
	font-size: 4rem;
}

@media (min-width:992px) {
.top_core_pic1 {
	height: 720px;
	position: relative;
	background-position: center;
	background-size: cover;
}
.top_core_pic1 a {
	background-color: #000;
	color: #fff;
	opacity: 0;
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	text-align: center;
	padding-top: 280px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
}
.top_core_pic2 {
	height: 360px;
	position: relative;
	background-position: center;
	background-size: cover;
}
.top_core_pic2 a {
	background-color: #000;
	color: #fff;
	opacity: 0;
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	text-align: center;
	padding-top: 120px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.top_core_pic2 a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.top_core_pic2 a i {
	font-size: 4rem;
}
.top_core_text {
	position: absolute;
	z-index: 9;
	top: 100%;
	left: 0;
	width: 100%;
	height: 64px;
	margin-top: -64px;
	background-color: rgba(000,000,000,0.8);
	color: #fff;
	font-size: 1.3rem;
	padding: 15px;
}
.top_core_text i {
	color: #0097d0;
}
.top_core_slick {
	margin: 0 -15px;
}
.top_core_slick_con {
	position: relative;
	height: 480px;
	background-position: center;
	background-size: cover;
	text-align: center;
	padding: 20px;
}
.top_core_slick_con a {
	background-color: #000;
	color: #fff;
	opacity: 0;
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 2rem;
	text-align: center;
	padding-top: 180px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.top_core_slick_con a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.top_core_slick_con a i {
	font-size: 4rem;
}
.top_core_slick_con .top_core_text {
	font-size: 1.4rem;
	height: 96px;
	margin-top: -96px;
	padding: 36px;
}
.top_core_block .slick-prev {
	left: 32px;
	z-index: 1;
}
.top_core_block .slick-next {
	right: 32px;
}
.top_core_block .slick-prev:before, .top_core_block .slick-next:before {
	font-family: 'slick';
	font-size: 32px;
	line-height: 1;
	opacity: .75;
	color: white;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.top_about_block {
	padding: 128px 0;
	text-align: center;
	background-image: url(../../images/top_bg2.jpg);
	background-position: center;
	background-size: cover;
}
.top_about_block .container-fluid {
	max-width: 720px;
}
.top_about_block h1 {
	margin: 15px 0;
}
.top_about_block p {
	color: #777;
	margin: 15px 0;
	line-height: 1.8rem;
}
.top_contact_block {
	padding: 32px 0;
	background-color: #6f8fa6;
}
.top_contact_text {
	text-align: center;
}

@media (min-width:992px) {
.top_contact_text {
	text-align: left;
}
}
.top_contact_text ul {
	list-style: none;
	padding: 0;
	font-size: 0.95rem;
	margin-top: 10px;
	color: #fff;
}
.site_map {
	display: none;
}

@media (min-width:992px) {
.site_map {
	display: block;
}
}
.site_map_con h5 a {
	color: #003652;
	font-size: 1.1rem;
}
.site_map_con ul {
	list-style: none;
	padding: 0;
	font-size: 0.95rem;
}
.site_map_con ul li a {
	color: #fff;
}
.site_map_con h5 a:hover, .site_map_con ul li a:hover {
	color: #FC6;
	text-decoration: none;
}
.guide {
	margin-top: 32px;
	margin-bottom: 32px;
}
.guide a {
	color: #fff;
	background-color: #003652;
	padding: 10px 18px;
	border-radius: 20px;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
}
.guide a:hover {
	text-decoration: none;
	background-color: #0097d0;
	color: #fff;
}

@media (min-width:768px) {
.guide {
	display: none;
}
}
.page_bread {
	background-color: #003652;
	margin: 0;
	font-size: 0.9rem;
	display: table;
	width: 100%;
}
.page_bread .breadcrumb {
	background: none;
	float: right;
	text-align: left;
	padding: 15px 0 0 0;
}
.page_bread .breadcrumb li {
	border-radius: 0;
	color: #fff;
}
.page_bread .breadcrumb li::before {
	color: #fff;
}
.page_bread .breadcrumb a {
	color: #fff;
}
.page_bread .breadcrumb a:hover {
	color: #FC6;
	text-decoration: none;
}
.side_nav {
	-moz-box-shadow: 0 4px 15px -2px gray;
	-webkit-box-shadow: 0 4px 15px -2px gray;
	box-shadow: 0 4px 15px -2px gray;
}
.side_nav h3 {
	border-bottom: 4px solid #0092dd;
	padding: 18px 30px;
	background-color: #003652;
	color: #fff;
	margin: 0;
	font-size: 1.5rem;
}
.side_nav ul {
	list-style: none;
	padding: 0;
	margin-bottom: 30px;
	background-color: #ededed;
}
.side_nav ul li {
	padding: 15px 0;
	border-bottom: 1px solid #ddd;
}
.side_nav ul li a {
	color: #555;
	padding-left: 30px;
	padding-right: 15px;
	background-position: -15px 6px;
	background-repeat: no-repeat;
	background-image: url(../images/arrow1.png);
	display: block;
	-webkit-transition: all 0.2s; /* For Safari 3.1 to 6.0 */
	transition: all 0.2s;
	font-weight: bold;
	font-size: 1.1rem;
}
.side_nav ul li a:hover {
	color: #0092dd;
	text-decoration: none;
	background-image: url(../images/arrow2.png);
	background-position: 8px 7px;
}
.side_nav ul li a.active {
	color: #0092dd;
	background-image: url(../images/arrow2.png);
	background-position: 8px 7px;
}
.side_nav .side_sub_ul {
	margin: 0;
}
.side_nav .side_sub_ul li {
	border-bottom: none;
	padding: 0 0 0 1rem;
	margin: 0;
}
.side_nav .side_sub_ul li a {
	font-size: 0.9rem;
	color: #777;
	font-weight: normal;
}
.side_nav .side_sub_ul li a:hover {
	color: #0092dd;
	text-decoration: none;
	background-image: url(../images/arrow2.png);
	background-position: 8px 6px;
}
.side_nav .side_sub_ul li a.active {
	color: #0092dd;
	background-image: none;
	background-position: 8px 6px;
}
.side_nav .side_sub_ul2 {
	margin: 2px 42px 4px 42px;
	border-radius: 4px;
}
.side_nav .side_sub_ul2 li {
	border-bottom: none;
	padding: 0 0 0 0;
	margin: 0;
	border-bottom: 1px dashed #ccc;
}
.side_nav .side_sub_ul2 li a {
	font-size: 0.6rem;
	color: #777;
	font-weight: normal;
}
.side_nav .side_sub_ul2 li a:hover {
	color: #0092dd;
	text-decoration: none;
	background-image: url(../images/arrow2.png);
	background-position: 8px 5px;
}
.side_nav .side_sub_ul2 li a.active {
	color: #0092dd;
	background-image: none;
	background-position: 8px 6px;
}
/*========================================================
                          共同背景
=========================================================*/
.wrapper__bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	z-index: -1;
}
/*========================================================
                          公司概要區塊1
=========================================================*/

.about-section {
	position: relative;
	overflow: hidden;
	padding: 100px 0;
}
.section-title-wrap {
	text-align: center;
}
.sub-title {
	font-size: 0.85rem;
	color: #004a8d;
	letter-spacing: 3px;
	font-weight: 700;
}
.main-title {
	font-size: 2.5rem;
	font-weight: 600;
	color: #333;
	margin-top: 10px;
}
.title-line {
	width: 64px;
	height: 6px;
	background-color: #0097d0;
	margin: 30px auto;
}
.intro-text {
	line-height: 2;
	text-align: justify;
}
.iso-card {
	padding: 20px;
	text-align: center;
	border-radius: 8px;
	transition: transform 0.3s ease;
}
.iso-card:hover {
	transform: translateY(-5px);
}
.iso-img-wrap {
	margin-bottom: 15px;
}
.iso-img-wrap img {
	transition: 0.3s;
	opacity: 1;
	box-shadow: 0 4px 15px -2px gray;
}

@media (max-width: 991.98px) {
.main-title {
	font-size: 2rem;
}
.map-overlay-info {
	position: static;
	margin-top: 15px;
}
}
/*========================================================
                          全球藍圖 
=========================================================*/
.global-network-v13 {
	/*font-family: "Noto Sans JP", sans-serif;*/
}
/* --- 1. 地圖與定位 --- */
.map-coordinate-system {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	text-align: left;
	line-height: 0;
	font-size: 0; 
}
.base-map {
	width: 100%;
	height: auto;
	/*display: block;*/
	opacity: 0.9;
}
/* 光點基礎設定 */
.map-dot {
	position: absolute;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

/* 光點座標 */
.pos-right-1      { 
	top: 45%; 
	left: 79.5%;
} 
.pos-taiwan       { 
	top: 52.5%; 
	left: 75%;
} 
.pos-us           { 
	top: 48.5%; 
	left: 17.5%; 
}
.pos-bottom-right { 
	top: 57%; 
	left: 75.5%; 
} 
/* 光點動畫 - 霓虹呼吸燈 + 聲納水波紋 */
/* 1. 光點基礎設定*/
.map-dot { 
    position: absolute; 
    width: 15px; 
    height: 15px; 
    border-radius: 50%; 
    transform: translate(-50%, -50%); 
    z-index: 10; 
}

/* --- 深藍總部：呼吸燈--- */
.dot-dark-blue { 
    background: #002d52;
    animation: neon-breathe-dark 2s infinite ease-in-out; 
}

/* 深藍總部：聲納水波紋  */
.dot-dark-blue::after {
    content: ''; 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 100%; height: 100%; border-radius: 50%;
    border: 2px solid #00a0e9; 
    animation: sonar-expand 2s infinite ease-out;
}

/* 總部呼吸燈動畫 */
@keyframes neon-breathe-dark {
    0%, 100% { 
        box-shadow: 0 0 5px rgba(0, 160, 233, 0.4); 
    }
    50% { 
        box-shadow: 
            0 0 10px #fff, 
            0 0 20px #00a0e9,
            0 0 40px rgba(0, 45, 82, 0.8); 
    }
}

/* --- 淺藍中心：呼吸燈 --- */
.dot-light-blue { 
    background: #00a0e9; 
    animation: neon-breathe-light 2s infinite ease-in-out; 
    animation-delay: 1s; 
}
/* 淺藍中心：聲納水波紋 */
.dot-light-blue::after {
    content: ''; 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 100%; height: 100%; border-radius: 50%;
    border: 2px solid #00ffff; 
    animation: sonar-expand 2s infinite ease-out;
    animation-delay: 1s; 
}
/* 淺藍中心呼吸燈動畫  */
@keyframes neon-breathe-light {
    0%, 100% { box-shadow: 0 0 5px rgba(0, 160, 233, 0.4); }
    50% { box-shadow: 0 0 10px #00ffff, 0 0 20px #fff, 0 0 35px rgba(0, 160, 233, 0.8); }
}
/* --- 共用的聲納擴散動畫 --- */
@keyframes sonar-expand {
    0% { 
        width: 15px; height: 15px; 
        opacity: 1; 
        border-width: 3px; 
    }
    100% { 
        width: 60px; height: 60px;
        opacity: 0;
        border-width: 0px; 
    }
}

/* --- 2. 共通標籤設定 --- */
.block-label {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	margin-bottom: 15px;
	font-family: 'Arial', sans-serif;
}
.text-orange {
	color: #E69138;
}
.text-blue {
	color: #00a0e9;
}
/* --- 3. 左側：深藍總 --- */
.hq-block {
	background: #002d52;
	padding: 35px 30px;
	position: relative;
	border-top: 4px solid #E69138;
	display: flex;
	flex-direction: column;
}
.cross-mark {
	position: absolute;
	width: 15px;
	height: 15px;
	opacity: 0.5;
}
.cross-mark::before, .cross-mark::after {
	content: '';
	position: absolute;
	background: #ffffff;
}
.cross-mark::before {
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
}
.cross-mark::after {
	height: 100%;
	width: 1px;
	left: 50%;
	top: 0;
}
.top-right {
	top: 15px;
	right: 15px;
}
.bottom-left {
	bottom: 15px;
	left: 15px;
}
.hq-title {
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 800;
	margin-bottom: 30px;
	line-height: 1.4;
}
.hq-title .jp-text {
	font-size: 1.1rem;
	font-weight: 400;
	opacity: 0.8;
}
.hq-data-grid {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: 20px;
}
.data-cell {
	display: flex;
	flex-direction: column;
}
.data-title {
	font-size: 0.8rem;
	color: rgba(255,255,255,0.6);
	margin-bottom: 5px;
}
.data-value {
	font-size: 1.35rem;
	color: #ffffff;
	font-weight: 700;

}
.data-value .unit {
	font-size: 0.85rem;
	font-weight: 400;
	margin-left: 4px;
}
/* --- 4. 右側：資料 --- */
.cert-block {
	position: relative;
	background: #ffffff;
	padding: 35px 40px;
	border: 1px solid rgba(1, 21, 45, 0.08);
	box-shadow: 0 15px 40px rgba(0,0,0,0.02);
	background-image: radial-gradient(rgba(1, 21, 45, 0.03) 1px, transparent 1px);
	background-size: 20px 20px;
	clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 0 100%);
}
/* 轉角 L 型標記 */
.cert-corner-mark {
	position: absolute;
	width: 15px;
	height: 15px;
	border-style: solid;
	border-color: rgba(0, 160, 233, 0.3);
}
.cert-corner-mark.top-left {
	top: 15px;
	left: 15px;
	border-width: 2px 0 0 2px;
}
.cert-corner-mark.bottom-right {
	bottom: 15px;
	right: 15px;
	border-width: 0 2px 2px 0;
}
/* 頂部藍色設計線 */
.cert-deco-line {
	position: absolute;
	background: #00a0e9;
}
.top-line {
	top: 0;
	left: 0;
	width: 100px;
	height: 4px;
}
.cert-main-title {
	font-size: 1.2rem;
	font-weight: 800;
	color: #01152d;
	margin-bottom: 25px;
	position: relative;
}
/* --- 5. 資格列表：內部雙欄與數字 --- */
.col-2-grid {
	position: relative;
    column-count: 2; /* 核心排版魔法：宣告為兩欄 */
    column-gap: 30px; 
    border-top: 1px solid rgba(1, 21, 45, 0.1);
    padding-top: 10px;
}
.bp-item {
	position: relative;
    z-index: 2;
    padding: 5px 10px;
    font-size: 0.95rem;
    color: #333;
    font-weight: 500;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(1, 21, 45, 0.05);
    margin: 5px 0; 
    border: 1px solid transparent;
    transition: all 0.3s ease;
    
    /*防止單一項目被硬生生切成兩半（一半在左欄底、一半在右欄頂） */
    break-inside: avoid; 
    page-break-inside: avoid;
}
.bp-item:hover {
	background-color: rgba(0, 160, 233, 0.04);
	border: 1px solid rgba(0, 160, 233, 0.1);
	box-shadow: 0 5px 15px rgba(0, 160, 233, 0.05);
	color: #01152d;
	transform: translateX(3px);
}
.bp-num {
	font-family: 'Courier New', Courier, monospace;
	font-size: 0.8rem;
	background: #00a0e9;
	color: #ffffff;
	font-weight: 700;
	margin-right: 15px;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	position: relative;
	z-index: 3;
	clip-path: polygon(0 0, calc(100% - 4px) 0, 100% 4px, 100% 100%, 0 100%); 
	transition: all 0.3s ease;
}
.bp-item:hover .bp-num {
	background: #01152d; 
	color: #ffffff;
}
.bp-text {
	position: relative;
	z-index: 3;
}

/* --- 6. RWD 響應式設定 --- */
@media (max-width: 991px) {
	.hq-data-grid {
		display: flex;
		flex-direction: row;
		gap: 30px;
	}
	.hq-title {
		font-size: 1.2rem;
		margin-bottom: 19px;
	}
	.data-value {
		font-size: 1.15rem;
	}
	/* 光點座標 */
	.pos-right-1      { 
		top: 34%;
		left: 84.5%;
	} 
	.pos-taiwan       { 
		top: 39.5%;
		left: 80%;
	} 
	.pos-us           { 
		top: 36.5%;
		left: 18.5%;
	}
	.pos-bottom-right { 
		top: 45%;
		left: 80%; 
	} 
}

@media (max-width: 768px) {
	.col-2-grid { 
        /* 手機版只要這一行，直接變回單欄由上往下 */
        column-count: 1;
    }
	.hq-data-grid {
		flex-direction: column;
		gap: 0px;
	}
	.q-v-line {
		display: none;
	}
	.cert-block {
		clip-path: none;
	} 
	.map-dot {
		width: 10px;
		height: 10px;
	}
}
/*========================================================
                          優勢區塊2
=========================================================*/
.strengths-section {
	background-color: #f1f1f1;
	padding: 100px 0;
}
.title-group {
	text-align: center;
}
.title-group .main-title {
	font-weight: 600;
	color: #003153;
	margin-bottom: 5px;
}
.title-group .sub-title {
	font-size: 1.1rem;
	color: #666;
	letter-spacing: 1px;
}
.strength-cards-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.strength-card {
	background: #fff;
	padding: 30px;
	border-radius: 4px;
	border-left: 6px solid transparent;
	transition: all 0.3s ease;
	position: relative;
}
.strength-card:hover {
	transform: translateX(10px);
	background: #fff;
}
.border-theme-blue {
	border-left-color: #4A90E2;
}
.border-theme-green {
	border-left-color: #5DB1B1;
}
.border-theme-dark {
	border-left-color: #002D52;
}
.card-header-box {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.step-num {
	font-size: 1.1rem;
	font-weight: bold;
	margin-right: 15px;
}
.border-theme-blue .step-num {
	color: #4A90E2;
}
.border-theme-green .step-num {
	color: #5DB1B1;
}
.border-theme-dark .step-num {
	color: #002D52;
}
.card-header-box h3 {
	font-size: 1.15rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 0;
	line-height: 1.4;
}
.card-body-content p {
	font-size: 0.95rem;
	color: #666;
	line-height: 1.7;
	text-align: justify;
	margin-bottom: 0;
}
.strength-image-box {
	padding: 20px;
}

@media (max-width: 768px) {
	.strength-card {
		padding: 20px;
	}
	.strength-card:hover {
		transform: translateY(-5px);
	}
	.card-header-box h3 {
		font-size: 1.05rem;
	}
}
/*========================================================
                          解決方案區塊3
=========================================================*/
.solution-section-tech {
	background-color: #01152d;
	padding: 100px 0;
	position: relative;
	overflow: hidden;
}
.tech-grid-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(rgba(0, 160, 233, 0.05) 1px, transparent 1px),  linear-gradient(90deg, rgba(0, 160, 233, 0.05) 1px, transparent 1px);
	background-size: 50px 50px;
	z-index: 1;
}
.title-tech-group {
	position: relative;
	z-index: 2;
	margin-bottom: 40px;
	text-align: center;
}
.tech-label {
	color: #00A0E9;
	font-size: 0.85rem;
	letter-spacing: 4px;
	font-weight: 700;
}
.title-tech-group h2 {
	color: #ffffff;
	font-weight: 600;
	margin-top: 10px;
}
.tech-line-short {
	width: 40px;
	height: 3px;
	background: #00A0E9;
	margin-top: 20px;
}
.product-glow-container {
	position: relative;
	z-index: 2;
	text-align: center;
}
.main-product-img {
	width: 100%;
	max-width: 900px;
	height: auto;
	filter: drop-shadow(0 0 40px rgba(0, 160, 233, 0.2)); 
	animation: techFloat 8s ease-in-out infinite;
}
/* 右側流光卡片堆疊 */
.solution-stack-v4 {
	position: relative;
	z-index: 2;
}
.sol-card-v4 {
	background: rgba(255, 255, 255, 0.02);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 25px;
	border-radius: 4px;
	border: 1px solid rgba(255, 255, 255, 0.05);
	margin-bottom: 20px;
	position: relative;
	transition: 0.4s all ease;
}
.sol-card-v4:hover {
	background: rgba(255, 255, 255, 0.07);
	transform: translateX(-10px);
}
.card-head-v4 {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}
.card-indicator {
	width: 4px;
	height: 18px;
	margin-right: 15px;
	border-radius: 2px;
}
.card-head-v4 h3 {
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 600;
	margin: 0;
}
/* 列表內容樣式 */
.card-list-v4 {
	list-style: none;
	padding: 0;
	margin: 0;
}
.card-list-v4 li {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.9rem;
	margin-bottom: 6px;
	line-height: 1.5;
	padding-left: 15px;
	position: relative;
}
.card-list-v4 li::before {
	content: "›";
	position: absolute;
	left: 0;
	color: inherit;
	font-weight: bold;
}
.gradient-border-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	opacity: 0.3;
	transition: 0.4s;
}
.sol-card-v4:hover .gradient-border-bottom {
	opacity: 1;
}
/* 顏色對應設定 */
.color-green .gradient-border-bottom {
	background: linear-gradient(90deg, transparent, #76B82A, transparent);
}
.bg-green {
	background-color: #76B82A;
	box-shadow: 0 0 10px #76B82A;
}
.color-blue .gradient-border-bottom {
	background: linear-gradient(90deg, transparent, #00A0E9, transparent);
}
.bg-blue {
	background-color: #00A0E9;
	box-shadow: 0 0 10px #00A0E9;
}
.color-pink .gradient-border-bottom {
	background: linear-gradient(90deg, transparent, #E91E63, transparent);
}
.bg-pink {
	background-color: #E91E63;
	box-shadow: 0 0 10px #E91E63;
}
.color-gray .gradient-border-bottom {
	background: linear-gradient(90deg, transparent, #90a4ae, transparent);
}
.bg-gray {
	background-color: #90a4ae;
	box-shadow: 0 0 10px #90a4ae;
}

/* 手機版響應式修正 */
@media (max-width: 991px) {
	.solution-section-tech {
		padding: 60px 0;
	}
	.main-product-img {
		max-width: 100%;
		margin-bottom: 30px;
	}
	.sol-card-v4:hover {
		transform: translateY(-5px);
	}
	.container-fluid {
		padding: 0 20px;
	}
}
/*========================================================
                          綠建築區塊4
=========================================================*/
.premium-green-tech {
	padding: 100px 0;
}
.title-tech-green {
	text-align: center
}
.subsidiary-name-final {
	color: #003652;
	font-weight: bold;
	margin-bottom: 20px;
}
.accent-line-final {
	height: 2px;
	margin: 15px 0;
	background-image: url(../images/page_title_line.jpg);
	background-position: left;
}
.desc-text-final {
	line-height: 1.8;
	color: #666;
	text-align: justify;
}
.slogan-capsule {
	display: inline-block;
	padding: 18px 45px;
	background: linear-gradient(135deg, #76B82A 0%, #4f961e 100%);
	border-radius: 50px;
	box-shadow: 0 10px 25px rgba(118, 184, 42, 0.2);
	transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.slogan-capsule:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 30px rgba(118, 184, 42, 0.3);
}
.slogan-text {
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 1px;
}
.pillar-final {
	background: #ffffff;
	padding: 50px 40px;
	height: 100%;
	border: none; 
	border-radius: 4px;
	position: relative;
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-shadow: 0 4px 20px rgba(0, 49, 83, 0.04);
}
.border-green-top {
	border-top: 4px solid #76B82A;
}
.border-blue-top {
	border-top: 4px solid #0097d0;
}
.pillar-final:hover {
	transform: translateY(-10px);
	box-shadow: 0 30px 60px rgba(0, 49, 83, 0.08);
}
.pillar-final::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120px;
	background: linear-gradient(to bottom, rgba(118, 184, 42, 0.06), transparent);
	opacity: 0;
	transition: 0.5s;
	pointer-events: none;
	border-radius: 4px 4px 0 0;
}
.border-blue-top:hover::before {
	background: linear-gradient(to bottom, rgba(0, 151, 208, 0.06), transparent);
	opacity: 1;
}
.border-green-top:hover::before {
	opacity: 1;
}
.tag-label {
	display: inline-flex;
	padding: 5px 15px;
	font-size: 1.1rem;
	font-weight: bold;
	border-radius: 2px;
	margin-bottom: 20px;
}
.bg-soft-green {
	background-color: rgba(118, 184, 42, 0.08);
	color: #76B82A;
	border-left: 3px solid #76B82A;
}
.bg-soft-blue {
	background-color: rgba(0, 151, 208, 0.08);
	color: #0097d0;
	border-left: 3px solid #0097d0;
}
/* 內容排版細節 */
.content-unit-final {
	margin-bottom: 40px;
	position: relative;
	padding-left: 25px;
	border-left: 1px solid #f0f0f0;
}
.content-unit-final:last-of-type {
	margin-bottom: 0;
}
.pillar-head-final {
	margin-bottom: 35px;
}
.pillar-head-final i {
	padding-right: 9px;
	text-align: center;
}
.pillar-title-final {
	font-size: 1.55rem;
	font-weight: 800;
	color: #1a1a1a;
	letter-spacing: 1px;
}
.unit-lead-final {
	font-weight: bold;
	margin-bottom: 10px;
	opacity: 0.8;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}
.bullet-list-final {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bullet-list-final li {
	font-size: 0.95rem;
	color: #555;
	margin-bottom: 8px;
	position: relative;
	padding-left: 18px;
}
.bullet-list-final li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #ccc;
}
.sub-detail-final {
	display: block;
	font-size: 0.85rem;
	color: #999;
	margin-top: 5px;
}
/* 右下角文字 */
.corner-decor {
	position: absolute;
	bottom: 25px;
	right: 30px;
	font-size: 0.7rem;
	font-weight: 900;
	color: #f0f0f0;
	letter-spacing: 2px;
	pointer-events: none;
	text-transform: uppercase;
}

/* RWD */
@media (max-width: 991px) {
	.pillar-final {
		padding: 35px 25px;
	}
	.main-title-final {
		font-size: 1.8rem;
	}
	.slogan-text {
		font-size: 1.1rem;
	}
}
/*========================================================
                          建設區塊5
=========================================================*/
.final-construction-section {
	background-image: url(../../images/top_bg.jpg);
	background-position: center;
	background-size: cover;
	overflow: hidden;
	padding: 100px 0;
}
.final-header {
	text-align: center;
}
.main-title-v19 {
	font-size: 2.5rem;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 10px;
}
.accent-line-v19 {
	width: 50px;
	height: 5px;
	background: #E69138;
}
/* 左側圖片與列表 */
.main-visual-panel {
	background: #fcfcfc;
	height: 100%;
	border-right: 1px solid #eee;
}
.hero-image-v19 {
	position: relative;
	overflow: hidden;
	height: 350px;
}
.hero-image-v19 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero-label {
	position: absolute;
	bottom: 20px;
	left: 20px;
	background: #E69138;
	color: #fff;
	padding: 5px 15px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 2px;
}
.service-content-v19 {
	padding: 50px 60px;
}
.service-title {
	font-size: 1.8rem;
	font-weight: 800;
	color: #01152d;
	margin-bottom: 5px;
}
.service-subtitle {
	font-size: 0.95rem;
	color: #888;
	display: block;
	margin-bottom: 30px;
}
.main-list-v19 {
	list-style: none;
	padding: 0;
}
.main-list-v19 li {
	font-size: 1.05rem;
	color: #444;
	padding: 12px 0;
	border-bottom: 1px dotted #ddd;
	position: relative;
	padding-left: 20px;
}
.main-list-v19 li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 8px;
	height: 2px;
	background: #E69138;
}
/* 右側格柵 */
.detail-matrix-v19 {
	border-top: 1px solid #eee;
	background: #fff;
}
.spec-cell {
	border-bottom: 1px solid #eee;
	border-right: 1px solid #eee;
	transition: 0.3s;
}
.spec-cell:nth-child(even) {
	border-right: none;
}
.cell-body {
	padding: 30px 40px;
}
.cell-tag {
	display: block;
	padding: 7px 15px;
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 15px;
	border-radius: 2px;
}
.bg-orange {
	background: rgba(230, 145, 56, 0.1);
	color: #E69138;
	border-left: 3px solid #E69138;
}
.cell-items {
	list-style: none;
	padding: 0;
	margin: 0;
}
.cell-items li {
	font-size: 0.95rem;
	color: #666;
	line-height: 1.8;
}
.facility-box-v19 {
	padding: 50px 40px;
	background: #01152d;
	color: #fff;
}
.facility-title {
	color: #E69138;
	font-size: 1.3rem;
	font-weight: 800;
	margin-bottom: 25px;
}
.facility-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 30px;
}
.facility-tags span {
	position: relative;
	padding-left: 15px;
	opacity: 0.85;
	font-size: 1rem;
}
.facility-tags span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 2px;
	height: 14px;
	background: #E69138;
}
.facility-tags strong {
	font-size: 0.95rem;
	color: #999;
	margin-top: 5px;
}

/* RWD */
@media (max-width: 991px) {
	.spec-cell {
		border-right: none;
	}
	.service-content-v19 {
		padding: 40px 30px;
	}
	.cell-body {
		padding: 30px 10px;
	}
}
/*========================================================
                          全球實績區塊6
=========================================================*/
.global-portfolio-v28 {
	background-color: #f1f1f1; 
	padding: 100px 0;
}
.portfolio-header-v28 {
	font-size: 2.5rem;
	font-weight: 800;
	color: #1a1a1a;
	margin-bottom: 10px;
	text-align: center;
}
.portfolio-main {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 600;
	font-size: 2.5rem;
	color: #01152d;
	margin: 5px 0 15px 0;
}
.portfolio-line {
	width: 30px;
	height: 1px;
	background: #ccc;
}
.track-item-v28 {
	display: flex;
	background: #ffffff;
	height: 205px; 
	border-radius: 2px;
	overflow: hidden;
	position: relative;
	border: 1px solid rgba(0,0,0,0.05);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.track-item-v28:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
/* 圖片容器 */
.track-img-v28 {
	flex: 0 0 45%; 
	height: 100%;
	overflow: hidden;
}
.track-img-v28 img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
	transition: 0.6s;
}
.track-item-v28:hover .track-img-v28 img {
	transform: scale(1.08);
}
.track-text-v28 {
	flex: 0 0 55%; 
	padding: 30px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
	position: relative;
}
.track-tag {
	font-size: 1.1rem;
	color: #2a61a3;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 5px;
	display: block;
}
.track-name {
	font-size: 1.25rem;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 5px;
	line-height: 1.3;
}
.track-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.track-list li {
	font-size: 0.9rem;
	color: #555;
	margin-bottom: 6px;
	position: relative;
	padding-left: 15px;
}
.track-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 1px;
	background: #E69138;
}
.info-details p {
	font-size: 0.85rem;
	color: #555;
	margin-bottom: 5px;
	line-height: 1.4;
}
.info-details strong {
	color: #888;
	font-weight: 700;
}
.info-details ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.info-details ul li {
	font-size: 0.85rem;
	color: #666;
	line-height: 1.6;
	padding-left: 15px;
	position: relative;
}
.info-details ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 1px;
	background: #2a61a3;
	;
}
.corner-l-v28 {
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 20px;
	height: 20px;
	border-bottom: 1.5px solid #ddd;
	border-right: 1.5px solid #ddd;
	transition: all 0.4s ease;
}
.track-item-v28:hover .corner-l-v28 {
	width: 45px;
	height: 45px;
	border-color: #2a61a3;
	;
	border-width: 2px;
}

/* RWD 手機版自動改為上下堆疊 */
@media (max-width: 991px) {
	.track-img-v28 img {
		width: 100%;
		height: 100%;
		transition: 0.6s;
	}
	.track-item-v28 {
		flex-direction: column;
		height: auto;
	}
	.track-img-v28 {
		flex: 0 0 220px;
	}
	.track-text-v28 {
		flex: 0 0 100%;
		padding: 25px;
	}
	.corner-l-v28 {
		display: none;
	}
}
/*========================================================
                          合作夥伴區塊7
=========================================================*/

.tech-flow-v33 {
	padding: 100px 0;
}
.tech-title-wrap {
	text-align: center;
	margin-bottom: 50px;
}
.tech-title-v33 {
	font-size: 2.5rem;
	font-weight: 600;
	color: #01152d;
	margin: 5px 0 15px 0;
}
.title-line {
	width: 50px;
	height: 3px;
	background: #01152d;
	margin: 0 auto;
}
.flow-card {
	background: #ffffff;
	border: 1px solid rgba(1, 21, 45, 0.05);
	padding: 45px 35px;
	height: 100%;
	position: relative;
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0,0,0,0.02);
}
.flow-line-top {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #01152d;
	overflow: hidden;
}
.flow-line-top::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, #E69138, #fff, #E69138, transparent);
	transition: 0.8s ease;
}
.flow-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 30px 60px rgba(1, 21, 45, 0.12);
}
.flow-card:hover .flow-line-top::after {
	left: 100%;
}
/* --- 標題排版--- */
.flow-category {
	margin-bottom: 35px;
	display: flex;
	align-items: flex-start; 
}
.cat-txt {
	display: flex;
	align-items: center;
	width: 100%;
	font-size: 1.2rem;
	font-weight: bold;
	color: #01152d;
	margin: 0;
	line-height: 1.4;
	white-space: normal;
	word-break: break-all;
	overflow-wrap: anywhere;
	min-width: 0;
}
.cat-txt i {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	background: #01152d;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	font-size: 1.1rem;
	align-self: flex-start;
	transition: 0.3s ease;
}
.cat-txt span {
	display: block;
	flex: 1;
}
.flow-card:hover .cat-txt i {
	background: #0097d0;
	box-shadow: 0 0 10px rgba(0, 151, 208, 0.3);
}
.flow-logo-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 25px 30px;
	align-items: center;
	justify-items: center;
}
.grid-3 {
	grid-template-columns: repeat(3, 1fr);
}
.flow-logo-grid img {
	width: auto;
	height: auto;
	max-height: 70px;
	max-width: 100%;
	padding: 2px;
	object-fit: contain;
	transition: 0.3s ease;
}
.highlight-blue .flow-logo-grid {
	grid-template-columns: repeat(5, 1fr);
}
.highlight-blue .flow-logo-grid img {
	max-height: 60px;
	max-width: 85px;
}

/* --- RWD 響應式佈局 --- */
@media (max-width: 1199px) {
	.highlight-blue .flow-logo-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.flow-logo-grid img {
		max-height: 40px;
	}
	.highlight-blue .flow-logo-grid img {
		max-height: 50px;
	}
	}

	@media (max-width: 991px) {
	.cat-txt {
		font-size: 1.1rem;
	}
}

@media (max-width: 768px) {
	.flow-logo-grid,  .highlight-blue .flow-logo-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.flow-card {
		padding: 30px 20px;
	}
	.tech-title-v33 {
		font-size: 2rem;
	}
}
/*========================================================
                          聯絡區塊8
=========================================================*/
.tech-contact-v6 {
	background-color: #ffffff;
	padding: 100px 0;
}
.section-tag {
	color: #E69138;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}
.contact-main-title {
	font-size: 2.2rem;
	font-weight: 600;
	color: #01152d;
	margin-bottom: 30px;
}
.contact-sub-lead {
	font-size: 1rem;
	line-height: 1.8;
	color: #666;
	margin-bottom: 50px;
}
.info-timeline {
	position: relative;
	padding-left: 25px;
}
.info-timeline::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom, #01152d, #E69138, transparent);
}
.time-item {
	position: relative;
	margin-bottom: 35px;
}
.time-item::before {
	content: "";
	position: absolute;
	left: -29px;
	top: 6px;
	width: 10px;
	height: 10px;
	background: #01152d;
	border: 2px solid #ffffff;
	border-radius: 50%;
}
.item-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: #999;
	margin-bottom: 8px;
}
.item-value {
	font-size: 0.95rem;
	color: #333;
	line-height: 1.6;
	margin: 0;
}
.item-value strong {
	color: #01152d;
}
.item-value a {
	color: #01152d;
	text-decoration: none;
	border-bottom: 1px solid #ddd;
	transition: 0.3s;
}
.item-value a:hover {
	text-decoration: none;
	color: #E69138;
	border-bottom-color: transparent;
}
.btn-jp-style {
	display: inline-block;
	padding: 8px 18px;
	background: #f4f4f4;
	color: #01152d;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	margin-right: 10px;
	margin-bottom: 10px;
	border-left: 3px solid #01152d;
	transition: 0.3s;
}
.btn-jp-style:hover {
	background: #01152d;
	color: #ffffff;
	text-decoration: none !important;
	padding-left: 25px;
}
.recruit-btns a i{
	padding-left: 10px;
}
/* --- 表單排版 --- */
.modern-form-v6 {
	width: 100%;
}
.form-group {
	margin-bottom: 25px; 
	text-align: left;
}
.form-group label {
	display: block;
	font-size: 0.95rem; 
	font-weight: 700;
	color: #01152d;
	margin-bottom: 5px;
	padding-left: 8px;
	border-left: 3px solid #E69138;
}
.form-group label i{
	padding-right: 5px;
}
.form-group input, .form-group textarea {
	width: 100%;
	padding: 10px 12px; 
	border: 1px solid #ddd;
	border-radius: 0;
	background-color: #ffffff;
	font-size: 0.9rem;
	transition: all 0.3s;
}
.fromwarn {
	color: #f00;
	font-size: 0.75rem;
	margin-top: 3px;
}
/* 按鈕群組水平併排 */
.btn-group-v6 {
	display: flex;
	gap: 12px;
	margin-top: 20px;
}
.submit-btn-v6 {
	flex: 3; 
	padding: 15px;
	background: #01152d;
	color: #ffffff;
	border: none;
	font-weight: 700;
	cursor: pointer;
	transition: 0.3s;
}
.reset-btn-v6 {
	flex: 1; 
	background: #eee;
	color: #666;
	border: none;
	font-weight: 700;
	cursor: pointer;
}
.submit-btn-v6:hover {
	background: #E69138;
	text-decoration: none !important;
}

@media (max-width: 767px) {
	.col-md-6 {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.col-md-6 {
		width: 100%;
	}
}
