/* ==========================================================================
   Public
============================================================================= */
@import url("https://use.fontawesome.com/releases/v6.6.0/css/all.css");
body, html { width:100%; height:100%; }


body { 
	font:0.8em/1.5 Verdana, Meiryo, "Meiryo UI", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;
	letter-spacing:0.06em;
	color:#222;
	background-color:#f2ebe6;
}

@media screen and (max-width:1000px) {
	body { font-size:110%; }
}



img {
	border:none;
	vertical-align:middle;
}


* {
	-webkit-box-sizing:border-box;
     -moz-box-sizing:border-box;
          box-sizing:border-box;
}


a {
	color:#545454;
	text-decoration:none;
}
a:hover { color:#dd5b6a; }
/* 無障礙 1.4.1：將 a:focus 改用 outline，並擴大套用至 button 等元件 */
a:focus, button:focus, [tabindex]:focus { 
	outline: 3px solid #FF9800 !important; 
	outline-offset: 2px; 
	box-shadow: 0 0 5px rgba(255, 152, 0, 0.5); 
	background: transparent; 
}


.text1 { color:#943800; }



.clearfix {
    clear:both;
    display:table;
}


.guide {
	font-size:80%;
	color:#858585!important;
	letter-spacing:-1px!important;
}

.breadcrumb {
	font-size:80%;
	letter-spacing:0;
	vertical-align:middle;
	padding:10px 0;
}
.breadcrumb a { color:#9c3b00; }
.breadcrumb a:hover { color:#c03e3e; }
.breadcrumb i { color:#777; padding:0 3px; }


@media screen and (max-width:1000px) {
	.guide, .breadcrumb { display:none; }
	
}


input::-webkit-input-placeholder { /* Chrome */
  color:#000000;
}
input:-ms-input-placeholder { /* IE 10+ */
  color:#000000;
}
input::-moz-placeholder { /* Firefox 19+ */
  color:#000000;
  opacity: 1;
}
input:-moz-placeholder { /* Firefox 4 - 18 */
  color:#000000;
  opacity: 1;
}

input:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#000;
	background:#93fff7;
}

select:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#000;
	background:#93fff7;
}

#gotop {
    display:none;
    position:fixed;
    right:10px;
    bottom:20px;
    cursor:pointer;
	z-index:300;
}






/* PC top
-------------------------------------------------*/
.pc_logo {
	position:absolute;
	top:20px;
	left:3%;
	z-index:1;
}
.pc_logo img { width:330px; }

@media screen and (max-width:1250px) {
	.pc_logo img { width:300px; }
}

.pc_link {
	position:absolute;
	top:0;
	left:calc((100% - 560px) / 2 + 35px);
	width:575px;
	height:63px;
	line-height:63px;
	font-size:85%;
	color:#858585;
	letter-spacing:0;
	padding-left:90px;
	background:url(../img/pc-link-bg.png) left center no-repeat;
}
.pc_link a { color:#000; padding:0 5px; }
.pc_link a:hover { color:#de2a00; }

.pc_search {
	position:absolute;
	top:0;
	right:3%;
	width:18%;
	max-width:300px;
}
.pc_search input {
	width:82%;
	border:#d8b59b 1px solid;
	padding:10px;
	border-right:none;
	border-top-left-radius:8px;
	border-bottom-left-radius:8px;
	/*background:#ffefe7;*/
	vertical-align:middle;
}
.pc_search .btn {
	display:inline-block;
	width:18%;
	color:#FFF!important;
	text-align:center;
    background:#923c3c;
	border-top-right-radius:8px;
	border-bottom-right-radius:8px;
	font-size:125%;
	line-height:39px;
	vertical-align:middle;
}
.pc_search .btn:hover {
	color:#FFF;
	background:#000;
}

.pc_search p {
	overflow:hidden;
    white-space:nowrap;
	width:100%;
	font-size:85%;
	color:#7f7f7f;
	padding-top:10px;
}
.pc_search p a { color:#a93c2e; }
.pc_search p a:hover { color:#000; }

.sp_search input {
	display:inline-block;
	width:187px;
	border:#d8b59b 1px solid;
	height:40px;
	padding-left:10px;
	border-right:none;
	border-top-left-radius:8px;
	border-bottom-left-radius:8px;
	background:#ffefe7;
	vertical-align:middle;
}
.sp_search .btn {
	display:inline-block;
	width:45px;
	height:40px;
	color:#FFF!important;
	line-height:40px;
	text-align:center;
    background:#923c3c;
	border-top-right-radius:8px;
	border-bottom-right-radius:8px;
	font-size:1.3rem;
	line-height:39px;
	vertical-align:middle;
}

.sp_search p {
	margin:0 auto;
	overflow:hidden;
    white-space:nowrap;
	width:90%;
	font-size:85%!important;
	color:#7f7f7f;
	padding-top:10px;
}
.sp_search p a { color:#ff6464!important; font-size:85%!important; }

.show_1000 { display:none!important; }

@media screen and (max-width:1250px) {
	.pc_logo { left:2%; }
	.pc_link { width:425px; left:auto; right:calc((100% - 425px) / 2 - 46px); padding-left:80px;}
	.pc_link a { color:#000; padding:0 2px; }
	.no_1250 { display:none; }
	.pc_search { right:2%; width:20%; }
	.pc_search .btn { font-size:1.125rem;}
}

@media screen and (max-width:1000px) {
    .pc_logo, .pc_link, .pc_search {  display:none; }
	.show_1000 { display:block!important; }	
}




/* home
-------------------------------------------------*/
#home_service {
	margin:0 auto; 
	width:90%;
	max-width:1400px;
	text-align:center;
}
.home_service a {
	display:inline-block;
	width:28%;
	max-width:283px;
	margin:6% 3% 4%;
}
.home_service a:hover { opacity:0.6; }
.home_service a img { width:100%; }

@media screen and (max-width:1250px) {
	#home_service { width:100% }
	.home_service a { width:30%; margin:8% 1% 4%; }
}
@media screen and (max-width:780px) {
	#home_service { padding:3% 0 5%; }
	.home_service a {
		width:44%;
		margin:4% 1.2% 0;
		background:#FFF;
		border-radius:15px;
		padding-top:3%;
		-webkit-box-shadow: 1px 3px 6px rgba(0,0,0,0.22);
        -moz-box-shadow: 1px 3px 6px rgba(0,0,0,0.22);
        box-shadow: 1px 3px 6px rgba(0,0,0,0.22);
	}
}

@media screen and (max-width:480px) {
	.home_service a { width:100%; padding-top:5%; }
}


#home_map {
	position:relative;
	width:100%;
}

#home_map_box {
	width:calc(100% - 200px);
	height:350px;
}


.home_map_search {
	position:relative;
	width:100%;
	font-size:110%;
	padding:15px 15px 15px 110px;
	background:#e3e3e3;
	-webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.17);
    -moz-box-shadow: 0 2px 3px rgba(0,0,0,0.17);
    box-shadow: 0 2px 3px rgba(0,0,0,0.17);
}
.home_map_search_p {
	position:absolute;
	left:10px;
	bottom:0;
}
.home_map_search input, .home_map_search select {
	border:#c3c3c3 1px solid;
	border-radius:5px;
	background:#FFF;
	padding:8px 5px;
	vertical-align: middle;
	-webkit-box-shadow: inset 0 0 3px 1px rgba(0,0,0,0.24);
    -moz-box-shadow: inset 0 0 3px 1px rgba(0,0,0,0.24);
    box-shadow: inset 0 0 3px 1px rgba(0,0,0,0.24);
}
.home_map_search input { width:23%; }



.home_map_search input:focus, .home_map_search select:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#000;
	background:#93fff7;
}


.home_map_btn {
	display:inline-block;
	color:#FFF!important;
	border-radius:5px;
	background:#cb4800;
	padding:6px 10px;
	border:#FFF 1px solid;
	vertical-align:middle;
}
.home_map_btn:hover {
	color:#FFF;
	background:#333;
}
.home_map_btn i { padding-right:3px; }

.home_map_job {
	position:absolute;
	top:0;
	right:0;
	width:200px;
	height:418px;
	color:#FFF;	
	text-align:center;
	background:#444;
}
.home_map_job_t {
	font-size:115%;
	line-height:36px;
	background:#a93c2e;
}


@media screen and (max-width:1000px) {
	#home_map { margin-top:60px; }
	.home_map_search { font-size:100%; }
	.home_map_search input { width:200px; }
	.home_map_job { font-size:90%; height:350px; }
	.home_map_job_t { font-size:105%; }
}

@media screen and (max-width:900px) {
	.home_map_search input { width:112px; }
}

@media screen and (max-width:780px) {
	#home_map_box { width:100%; }
	.home_map_job { position:static; width:100%; height:270px; font-size:90%; }
	/*.home_map_job li a { padding:3px 20px; }*/
	.home_map_search_p { display:none; }
	.home_map_search { padding:15px; text-align:center; }
	.home_map_search select { width:49%;  }
	.home_map_search input { width:99%; }
	.home_map_btn { width:49%; text-align:center; }
	.home_map_search select, .home_map_search input, .home_map_btn { margin:5px 0; font-size:100%; }
}

@media screen and (max-width:640px) {
	.no_640 { display:none; }
	.home_map_search select { width:48%;  }
	.home_map_search input { width:98%; }
	.home_map_btn { width:48%; }
}

.home_area {
	position:relative;
	width:100%;
	padding:2rem 0;
}

.home_area h2 { font-size:200%; text-align:center; letter-spacing:2px; margin-bottom:20px; }

.home_area_more {
	position:absolute;
	right:2%;
	top:40px;
}

.home_list {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.home_box {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:19.8%;
	margin:0.1%;
	color:#000;
	background:#FFF;
	padding:15px 20px;
	cursor:pointer;
}
.home_box:hover { background:#cb4800; color:#FFF; }
.home_box a:hover { color:#FFF; }
.home_box p { font-size:90%; padding-bottom:5px; }


.home_box2 {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:19.8%;
	margin:0.1%;
	color:#000;
	background:#FFF;
	padding:2px;
	cursor:pointer;
}
.home_box2:hover { background:#cb4800; color:#FFF; }
.home_box2 a:hover { color:#FFF; }
.home_box2 img { width:100%; }
.home_box2 p { padding:15px; }

@media screen and (max-width:1000px) {
	.home_box, .home_box2 { width:49.8%; margin:0.1%; }
	.home_area_more { top:45px; font-size:80%; }
}

@media screen and (max-width:640px) {
	.home_box, .home_box2 { width:100%; margin:0.2% 0; }
	.home_area h2 { text-align:left; padding-left:5%; }
}




/* home JOB list
-------------------------------------------------*/
.jobSlider {
	position:relative;
	padding-top:30px;
	/*min-height:1px;*/
}

.jobSlider a {
	position:relative;
	display:block;
	/*height:100%;*/
	width:100%;
	background:#000;
	color:#FFF;
	text-align:left;
	padding:0 8px;
	line-height:39px;
	margin-top:-1px;
	overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.jobSlider a:hover { background:#2b6165; }

.jobSlider a .caption{
	position:absolute;
	width:100%;
	margin:0;
	bottom:0;
	background:rgba(0,0,0,0.45);
	color:#FFF;	
	overflow:hidden;
}


.jobSlider a:before{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	border:3px solid #ffc000;
	display:none;
}
.jobSlider a:focus:before{ display:block; }

.jobSlider .slick-prev,.jobSlider .slick-next { background-color:transparent; }

.jobSlider .slick-prev { left:88.5px; top:7px; background-image:url(../img/icon_arrow_left.png)!important;    }
.jobSlider .slick-next { right:88.5px; bottom:-21px; background-image:url(../img/icon_arrow_right.png)!important; }
.jobSlider .slick-next:hover,.jobSlider .slick-next:focus,.jobSlider .slick-prev:hover { opacity:0.7; filter:alpha(opacity=70); background-color:transparent;  }
.jobSlider .slick-prev:hover,.jobSlider .slick-prev:hover,.jobSlider .slick-prev:focus { opacity:0.7; filter:alpha(opacity=70); background-color:transparent; }	


@media screen and (max-width:1000px) {
	.jobSlider { padding-top:0; }
    .jobSlider .slick-prev { left:18px; top:auto; bottom:-22px;   }
    .jobSlider .slick-next { right:18px; bottom:-22px; }
}




/* content
-------------------------------------------------*/
#content {
	margin:0 auto;
	width:100%;
	min-height:calc(100vh - 346px);
}
.content { max-width:1600px; padding:20px 5%; }

.content_title1 {
	width:100%;
	font-size:220%;
	color:#000;
	text-align:center;
	letter-spacing:2px;
	padding-bottom:1.5rem;
}

#content_left, #content_right { float:left; }


#content_left { width:35%; padding-right:5%; }
#content_left h1 {
	font-size:220%;
	color:#000;
	padding-bottom:0.6rem;
}
#content_left h2 {
	color:#712b2b;
	font-size:170%;
	line-height:140%;
}

#content_right { width:65%; font-size:112%; line-height:170%; padding-bottom:3rem; }


#map_left, #map_right { float:left; min-height:calc(100vh - 105px);  }

#map_left {	width:280px!important; padding-bottom:3rem; }
#map_left h1 {
	font-size:180%;
	text-align:center;
	color:#712b2b;
	padding-bottom:0.6rem;
}

#map_right {
	width:calc(100% - 280px)!important;
	background:#e5e5e5;
	-webkit-box-shadow: inset 1px 0 6px rgba(0,0,0,0.13);
    -moz-box-shadow: inset 1px 0 6px rgba(0,0,0,0.13);
    box-shadow: inset 1px 0 6px rgba(0,0,0,0.13);
}

#map_s, #map_s2, #map_s3 {
	width:100%;
	height:500px;
}
#map_s2 {
	border-top:#f4baba 3px dotted;
	border-bottom:#f4baba 3px dotted;
	margin:1.5rem 0;
	background:#e0e0e0;
}
#map_s3 {
	width:100%;
	height:500px;
	border:#4d6861 3px solid;
	border-radius:8px;
	border-top-left-radius:0; 
}
.map_tab_on, .map_tab_off {
	display:inline-block;
	padding:5px 10px 3px;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}
.map_tab_on i, .map_tab_off i { padding-right:3px; }
.map_tab_on { color:#FFF; background:#4d6861; }
.map_tab_on i { color:#58bb55; }
.map_tab_off { color:#FFF; background:#767676; }
.map_tab_off i { color:#bbb; }
.map_tab_off:hover { color:#FFF; background:#000; }

.map_sp2 { display:none; }


.map_change {
	width:100%;
	font-size:110%!important;
	margin-bottom:6%;
}
.map_change input { width:calc(100% - 130px); padding:8px; border:#aaa 1px solid; background:#FFF; border-radius:5px; }
.map_change .btn { border-radius:4px; padding:5px 8px; }


@media screen and (max-height:880px) {
	#map_right { min-height:780px; }
}


@media screen and (max-width:1250px) {
	#content_left { width:40%; padding-right:5%; }
	#content_left h1 { font-size:180%; }
    #content_left h2 { font-size:140%; }
	#content_right { width:60%; font-size:100%; }
}


@media screen and (max-width:1000px) {
	#content { min-height:75vh; }
	.content { padding:100px 5% 5% 5%!important; }
	.content_title1 { padding-top:80px; font-size:160%; }
	#content_left, #content_right, #map_left, #map_right { float:none; width:100%; }
	#content_left { font-size:90%; padding:0; }
	.no_1000 { display:none; }
	
	#map_left, #map_right { float:none; display:block; width:100%!important; min-height:auto; }
	#map_left { padding-top:80px!important; }
 
	.map_sp { height:90vh; }
	.map_sp2 { display:block;height:90vh; }
	.map_tab_on, .map_tab_off { margin-top:60px; font-size:90%; }
	.map_tab_on, .map_tab_off { padding:8px 10px; }
	.map_change { padding-top:8%; margin-bottom:-20px; padding-bottom:0; }
	.map_change input { width:calc(100% - 170px); padding:10px; border-radius:5px; }
    .map_change .btn { border-radius:5px; padding:8px 12px; }
}



/* share
-------------------------------------------------*/
.btn_share {
	display:inline-block;
	font-size:90%;
	color:#FFF!important;
	border:#FFF 1px solid;
	border-radius:5px;
	padding:5px 15px;
	margin-right:3px;
	margin-bottom:8px;
}
.btn_share_fb { background:#3b5998; }
.btn_share_line { background:#008900; }
.btn_share_tiwtter { background:#000; }
.btn_share:hover { color:#FFF; background:#923c3c; }

.btn_share i { padding-right:3px; }

.share_line {
	width:100%;
	height:3px;
	border-bottom:#f4baba 3px dotted;
	margin:1.5rem 0;
}

.item { color:#31633c; padding:5px 0; }
.item_flag {
	font-size:90%;
	color:#FFF;
	border-radius:5px;
	padding:5px 10px;
	margin-right:7px;
	background:#487753;
}




/* news
-------------------------------------------------*/
#news_list {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.news_box {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:19.8%;
	margin:0.1%;
	color:#000;
	background:#FFF;
	padding:15px 20px;
	cursor:pointer;
}
.news_box:hover { background:#cb4800; color:#FFF; }
.news_box a:hover { color:#FFF; }
.news_box p { font-size:90%; padding-bottom:5px; }



@media screen and (max-width:1250px) {
	.news_box { width:24.8%; }
}

@media screen and (max-width:1000px) {
	.news_box { width:calc(100% / 3 - 0.2%); }
}

@media screen and (max-width:740px) {
	.news_box { width:49%; margin:0.3%; }
}
@media screen and (max-width:560px) {
	.news_box { width:100%; margin:0.3% 0; }
}




/* gallery
-------------------------------------------------*/
#grid-container { margin-top:2rem; }

.img-responsive {
  display: block;
  width: 100%;
  height:auto;
}

.grid div {
  background-color:#FFFFFF;
  display:block;
  float:left;
  margin:2%;
  width:46%;
}

@media (max-width:1000px) {
  .grid div {
    margin:1%;
    width:48%;
  }
}


@media (max-width:580px) {
  .grid div {
    margin:2% 0;
    width:100%;
  }
}



/* class
-------------------------------------------------*/
.class_title {
	width:100%;
	padding:4px 0;
	color:#FFF;
	background:#923c3c;
	font-size:105%;
	letter-spacing:2px;
	text-align:center;
}

.class_list { width:100%; margin-bottom:1.5rem; }
.class_list td, .class_list th { padding:6px 10px; border:#f2ebe6 2px solid; vertical-align:middle; }
.class_list th { background:#4c6861; color:#FFF; border-left:none; }
.class_list td { background:#FFF; border-right:none; }

.class_info {
	width:100%;
	padding:18px 25px;
	background:#FFF;
}

@media (max-width:1000px) {
	.class_list { font-size:90%; }
	.class_list th { min-width:90px; }
}


.class2 tr:nth-child(odd) { background:#FFF; }
.class2 tr:nth-child(even) { background:#f8f8f8; }
.class2 td:nth-child(1) { font-size:90%; letter-spacing:-0.5px; text-align:center; width:120px; line-height:130%;  }
.class2 td:nth-child(2) { width:65px; line-height:130%; text-align:center;  }

@media (max-width:1250px) {
	.class2 td:nth-child(1) { width:100px;  }
}

@media (max-width:1000px) {
	.class2 td:nth-child(1) { width:120px;  }
}

@media (max-width:780px) {
	.no_780 { display:none; }
    .class2 tr:nth-child(even) { background:#dbece4; }
	.class2 td:nth-child(1) { font-size:100%; letter-spacing:0; text-align:left; width:auto; line-height:auto; }
	.class2 td:nth-child(2) { width:auto; text-align:left; line-height:auto;  }
}



/* event
-------------------------------------------------*/
.event_title { margin:0 auto; width:calc(100% - 4px);}
.event { letter-spacing:0; font-size:90%; margin-bottom:2rem; line-height:140%; }
.event tr:nth-child(odd) { background:#FFF; }
.event tr:nth-child(even) { background:#f8f8f8; }
.event td:nth-last-child(1) { width:52px; text-align:center; }
.event td:nth-child(1) { width:15%; }
.event td:nth-child(2) { width:70px; text-align:center; }
.event td:nth-child(3) { width:150px; text-align:center; }

@media (max-width:1250px) {
	.event td:nth-child(1) { width:100px;  }
}

@media (max-width:1000px) {
	.event td:nth-last-child(1) { width:55px; text-align:center; }
	.event td:nth-child(1) { width:120px;  }
}

@media (max-width:780px) {
	.event_title { width:100%; }
	.event td { width:auto!important;  }
}


.event_box {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:14.5%;
	margin:1%;
	color:#000;
	background:#FFF;
	padding-bottom:15px;
	border:#FFF 3px solid;
	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    -moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
}
.event_box:hover { border:#cb4800 3px solid; color:#000; }
.event_box img { width:100%; margin-bottom:15px; }
.event_box .info { padding:0 10px; }
.event_box .info i { color:#026e85; }


@media (max-width:1500px) {
	.event_box { width:18%; margin:1%; }
}

@media (max-width:1250px) {
	.event_box { width:23%; margin:1%; }
}

@media (max-width:840px) {
	.event_box { width:31%; margin:1.1%; }
}

@media (max-width:680px) {
	.event_box { width:48%; margin:1%; }
}

@media (max-width:540px) {
	.event_box { width:100%; margin:4% 0; }
}



/* map
-------------------------------------------------*/
.show_on, .show_off {
	float:left;
	width:50%;
	border:#f2ebe6 1px solid;
	text-align:center;
	padding:6px 0;
}
.show_on {
	background:#c03e3e;
	color:#FFF;
}
.show_off {
	background:#000;
	color:#aaa;
}
.show_off:hover { color:#FFF; }

.show_on i, .show_off i { padding-right:3px; }


.map_search { margin:0 auto; width:85%; }
.map_search h2 { padding:15px 0 5px 0; font-size:110%; }

.map_search ul { width:100%; }
.map_search li { display:inline-block; padding:4px 5px 4px 0; }

.map_search input[type="checkbox"] { width:1.3rem; height:1.3rem; vertical-align:middle; margin-right:3px; }
.map_search select, .map_search input[type="text"] {
	width:100%;
	border:#FFF 1px solid;
	border-radius:5px;
	padding:8px 10px;
	vertical-align:middle;
	-webkit-box-shadow: inset 0 0 4px rgba(0,0,0,0.54);
    -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.54);
    box-shadow: inset 0 0 4px rgba(0,0,0,0.54);
}

.map_search_btn {
	display:inline-block;
	width:100%;
	color:#FFF!important;
	font-size:120%;
	border-radius:5px;
	background:#923c3c;
	padding:10px 0;
	text-align:center;
}
.map_search_btn:hover {
	color:#FFF;
	background:#333;
}
.map_search_btn i { color:#ffbc15; padding-right:5px; vertical-align:middle; font-size:120%; }

.map_content {
	position:relative;
	margin:0 auto; 
	width:90%;
	padding:50px 15px 15px;
	border-radius:8px;
	background:#edcb86;
	margin-top:15px;
}
.map_content .title {
	position:absolute;
	top:0;
	left:0;
	right:0;
	width:100%;
	border-top-left-radius:8px;
	border-top-right-radius:8px;
	background:#2b6165;
	text-align:center;
	color:#FFF;
	font-size:130%;
	line-height:45px; 
}
.map_content .title img { height:25px; padding-right:5px; vertical-align:text-bottom; }


@media (max-width:1000px) {
	.map_content { width:95%; }
	.show_on, .show_off { padding:15px 0; }
	.map_search li { display:inline-block; padding:6px 20px 6px 0; }
	.map_search input[type="checkbox"] { width:2rem; height:2rem; }
	.map_search select, .map_search input[type="text"] { padding:15px 10px; }
	.map_search_btn { padding:15px 0; }
}

.map_txt { width:100%; padding:20px 30px; }

#txt_list {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.txt_box {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:23%;
	margin:1%;
	color:#000;
	background:#FFF;
	padding:15px 20px;
	border-radius:8px;
	border:#FFF 3px solid;
	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    -moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
}
.txt_box:hover { border:#cb4800 3px solid; color:#000; }

.txt_box .day { font-size:85%; color:#007d8c; letter-spacing:0; padding-bottom:3px; }
.txt_box .title { color:#de2a00; font-size:110%; line-height:130%; }
.txt_box .pay { font-size:85%; color:#804308; letter-spacing:0; padding-top:5px; }
.txt_box .info {
	font-size:90%;
	overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
	padding-top:10px;
}


.txt_box2 {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:31%;
	margin:1.1%;
	color:#000;
	background:#FFF;
	padding:15px 20px;
	border-radius:8px;
	border:#FFF 3px solid;
	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    -moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
    box-shadow: 1px 1px 5px rgba(0,0,0,0.32);
}
.txt_box2:hover { border:#cb4800 3px solid; color:#000; }

.txt_box2 .photo, .txt_box2 .info { width:100%; }
.txt_box2 .photo img { width:100%; }
.txt_box2 .info { padding-top:15px; }
.txt_box2 .info span {
	width:100%;
	font-size:115%!important;
	line-height:100%!important;
	color:#e34b28!important;
	padding-bottom:20px!important;
}

.txt_title {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:100%;
	margin:2%;
	font-size:150%;
	color:#2b6165;
}
.txt_title i {
	color:#ffc000;
	font-size:150%;
	padding-right:5px;
	vertical-align: baseline;
}



@media (max-width:1400px) {
	.txt_box { width:31%; margin:1.1%; }
}

@media (max-width:1200px) {
	.txt_box { width:45%; margin:2.5%; }
	.txt_box2 { display:table; width:100%; margin:2% 0; }
	.txt_box2 .photo, .txt_box2 .info { display:table-cell; vertical-align:middle; }
	.txt_box2 .photo { width:40%; }
	.txt_box2 .info { width:60%; padding:0; padding-left:5%; }
}

@media (max-width:1000px) {
	.txt_box { width:46%; margin:2%; }
	.txt_box .title { font-size:100%; }
}

@media (max-width:640px) {
	.txt_box { width:100%; margin:2% 0; }
	.txt_box2 { display:block; }
	.txt_box2 .photo, .txt_box2 .info { display:block; width:100%; }
	.txt_box2 .info { padding:0; padding-top:15px; }
}


/* job
-------------------------------------------------*/
.job_L, .job_R { float:left; }
.job_L { width:60%; padding:20px 5% 20px 20px; }
.job_R { width:40%; }
.job_name { font-size:150%; color:#712b2b; padding:5px 0 20px 0; }
.p_line { width:100%; height:2px; border-bottom:#FFF 2px dotted; margin:1.5rem 0;  }

.job_L .title { color:#31633c; }
.job_L i { color:#ff8900; font-size:120%; vertical-align:middle; padding-left:3px;}

.job_R .title { width:100%; background:#487753; color:#FFF; text-align:center; padding:10px 0; margin-top:2rem; font-size:110%;  }
.job_R th, .job_R td { padding:10px; border-bottom:#e5e5e5 1px solid; }
.job_R th { width:90px; background:#c7c7c7; color:#00410f; }
.job_R td { background:#FFF; }

.job_R i { color:#ff8900; font-size:120%; vertical-align:middle; padding:0 3px;}

@media (max-width:1200px) {
	.job_R table { font-size:90%; }	
	.job_L { padding:20px 5% 20px 10px; }
}

@media (max-width:840px) {
	.job_L, .job_R { float:none; width:100%;  }
	.job_L { padding:0; }
}


.phone_list { width:100%; }
.phone_list p { font-size:120%; color:#853f21; font-size:110%; }
.phone_list li { border-bottom:#aaa 1px dotted; padding:10px 0; font-size:90%; }

@media (max-width:1000px) {
	.phone_list li { font-size:90%; }
}



/* sitemap
-------------------------------------------------*/
.sm_link { float:left; width:23%; margin:1%; background:#FFF; }

.sm_link_t { display:block; width:100%; text-align:center; background:#2b6064; color:#FFF; padding:5px; }
.sm_link_t:hover { color:#FFF; background:#000; }
.sm_link_t i { color:#FFD600; padding-right:5px; }

.sm_link_s { width:100%; padding:10px; font-size:90%; }
.sm_link_s i { color:#ea5a04; padding-right:5px; }

@media (max-width:640px) {
	.sm_link { float:left; width:48%; }
}



/* page
-------------------------------------------------*/
.page { margin:30px auto; text-align:center; font-size:100%; color:#666; }

.page ul { margin-bottom:10px; }
.page li {
	display:inline-block;
	width:35px;
	line-height:35px;
	text-align:center;
	color:#FFF;
	background:#923c3c;
	letter-spacing:0;
}
.page li a {
	display:inline-block;
	width:35px;
	background:#FFF;
	color:#000;
	border:#ccc 1px solid;
	cursor:pointer;
}

.page li a:hover { background:#333; color:#FFF; } 
/* 移除這裡原本的 border 寫法，讓它自動套用上方設定好的通用 outline 樣式 */
.page li a:focus { outline: 3px solid #FF9800 !important; outline-offset: 2px; }


/* quick view
-------------------------------------------------*/
#q_view {
	position:fixed;
	bottom:15vh;
	right:0;	
	width:160px;
	border:#FFF 2px solid;
	border-right:none;
	border-top-left-radius:8px;
	border-bottom-left-radius:8px;
	-webkit-box-shadow: -1px 2px 5px 1px rgba(0,0,0,0.5);
    -moz-box-shadow: -1px 2px 5px 1px rgba(0,0,0,0.5);
    box-shadow: -1px 2px 5px 1px rgba(0,0,0,0.5);
	z-index:200;
}
#q_view .title {
	width:100%;
	border-top-left-radius:8px;
	background:#8a1919;
	color:#FFF;
	font-size:110%;
	text-align:center;
	padding:7px;
}
#q_view .title i { padding-right:3px; color:rgba(255,255,255,0.3); }

#q_view ul { width:100%; background:#000000; }
#q_view li {
	display:block;
	width:100%;
	padding:10px;
	border-bottom:#d8d8d8 1px dotted;
}
#q_view li:nth-last-child(1) { border-bottom:none; }
#q_view li a { color:#FFF; }
#q_view li:hover { background:#483b28; }
#q_view li i { color:#ee990d; padding-right:3px; }
#q_view li .name, #q_view li .info {
	overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#q_view li .name { color:#82c6b6; }
#q_view .btn {
	display:block;
	width:100%;
	background:#4d6861;
	color:#FFF;
	text-align:center;
	padding:7px;
	border-bottom-left-radius:8px;
}
#q_view .btn:hover { background:#8a1919;}

#q_view .sp { display:none; }

@media (max-width:1000px) {
	#q_view { font-size:80%; }
}

@media (max-width:780px) {
	#q_view {
		width:80px;
		right:0;
		left:auto;
		top:60vh;
		bottom:auto;
		border-top-left-radius:8px;
	    border-bottom-left-radius:8px;
	}
	#q_view .title, #q_view ul, #q_view .btn { display:none; }
	#q_view .sp {
		display:block;
		width:80px;
		color:#FFF;
		letter-spacing:0; 
		line-height:120%;
		text-align:center;
		padding:10px 5px;
		background:#8a1919;
		border-top-left-radius:8px;
	    border-bottom-left-radius:8px;
	}
	#q_view .sp:hover { background:#333; }
	#q_view .sp img { width:70%; margin-bottom:5px;  }
}

@media (max-width:540px) {
	#q_view { width:66px; }
	#q_view .sp { width:66px; font-size:70%; line-height:120%;}
	#q_view .sp img { width:80%; }
}


#qview_list {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
	padding:0 2%;
	margin-bottom:5%;
}

#qview_list .box {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:18%;
	margin:0.8% 1%;
	color:#000;
	background:#FFF;
	border-radius:8px;
	padding:30px 20px 15px;
	-webkit-box-shadow: 1px 2px 5px rgba(0,0,0,0.2);
    -moz-box-shadow: 1px 2px 5px rgba(0,0,0,0.2);
    box-shadow: 1px 2px 5px rgba(0,0,0,0.2);
}

#qview_list .box .name1, #qview_list .box .name2 {
	width:100%;
	overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
	padding-bottom:4px; 
}
#qview_list .box .name1 { font-size:90%; color:#2b6064; }
#qview_list .box .name2 { font-size:120%; color:#de2a00; }
#qview_list .box .info {
	width:100%;
	color:#000;
	overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient: vertical;
}
#qview_list .box p:hover { font-weight:600;  }



#qview_list .day { 
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:100%;
	color:#2b6064;
	font-family:"Arial";
	font-weight:600;
	font-size:180%;
	padding-left:1.5%;
	padding-top:20px;
	border-top:#bbb 1px dashed;
	margin-top:3%;
}

#qview_list .box .time {
	position:absolute;
	top:0;
	right:0;
	padding-right:10px;
	color:#FFF;
	border-top-right-radius:8px;
	border-bottom-left-radius:3px;
	background:#2b6064;
	letter-spacing:0;
	font-family:"Arial";
	line-height:28px;
}
#qview_list .box .time a {
	display:inline-block;
	color:#FFF;
	background:#cb4800;
	padding:0 10px;
	margin-right:6px; 
	border-bottom-left-radius:3px;
}
#qview_list .box .time a:hover { background:#018410; }


@media screen and (max-width:1400px) {
	#qview_list .box { width:23%; }
}

@media screen and (max-width:1000px) {
	#qview_list { margin-bottom:10%; }
	#qview_list .day { font-size:150%; }
	#qview_list .box { width:calc(100% / 3 - 2%); }
	#qview_list .box .name2 { font-size:105%; }
	#qview_list .box .info { font-size:90%; }
	#qview_list .box .time { font-size:85%; }
}

@media screen and (max-width:740px) {
	#qview_list .box { width:45%; margin:2.5%; }
	#qview_list .day { margin-top:8%; }
}
@media screen and (max-width:560px) {
	#qview_list { padding:0 5%; }
	#qview_list .box { width:100%; margin:3% 0; }
	
}





/* footer
-------------------------------------------------*/
footer {
	width:100%;
	height:220px;
	background:#2b6165 url(../img/copyright-bg.png) center center no-repeat;
	overflow:hidden;
}

#footer {
	margin:0 auto;
	width:95%;
	max-width:1400px;
}

.footer_1, .footer_2, .footer_3 { float:left; }

.footer_1 { width:280px; padding-top:35px; }
.footer_2 { width:calc(100% - 810px); font-size:85%; color:#FFF; padding-left:20px; padding-top:58px;  }
.footer_2 a { color:#8bfff0; }
.footer_2 p { padding-bottom:10px; }
.footer_3 { width:530px; height:220px; background:url(../img/copyright-photo.png) center bottom no-repeat; background-size:cover; }


@media screen and (max-width:1250px) {
	#footer { width:98%; }
	.footer_2 { width:calc(65% - 280px); }
	.footer_3 { width:35%; }
}


@media screen and (max-width:1000px) {
	footer { height:auto; background:#2b6165 url(../img/copyright-bg.png) left center no-repeat; background-size:cover; padding:2rem; }
	#footer { width:620px; }
	.footer_1 { padding-top:0; }
	.footer_2 { width:calc(100% - 280px); padding-top:20px; font-size:70%; }
	.footer_3 { display:none; }
}

@media screen and (max-width:680px) {
	footer { padding:2rem 0; }
	#footer { width:100%; }
	.footer_1, .footer_2 { float:none; width:100%; text-align:center; padding:0; }
	.footer_2 { padding-top:1.5rem; }
}




/* btn
-------------------------------------------------*/
.btn_r {
	display:inline-block;
	color:#FFF!important;
	border-radius:99rem;
	background:#923c3c;
	padding:6px 20px;
}
.btn_r:hover {
	color:#FFF;
	background:#333;
}
.btn_r i { color:#e59e1e; padding-right:3px; }



#error_pop {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.67);
	z-index:100;
}
.error_pop {
	position: relative;
	margin:0 auto; 
    width:350px;
    top:50%;
    transform:translateY(-50%);
    background:#eee;
	border:#5799a0 8px solid;
	border-radius:10px;
	text-align:center;
	font-size:15px;
	padding:20px;
	-webkit-box-shadow: 0 1px 5px 2px rgba(0,0,0,0.23);
    -moz-box-shadow: 0 1px 5px 2px rgba(0,0,0,0.23);
    box-shadow: 0 1px 5px 2px rgba(0,0,0,0.23);
}

.error_pop h1 { font-size:25px;color:#5799a0; padding:10px 0; }
.error_pop i { font-size:60px; color:#FF1F00; }




/* btn
----------------------------------------------------------------------------- */
.btn_o, .btn_b, .btn_w, .btn_g {
	display:inline-block;	
	border-radius:4px;	
	padding:6px 10px;
	text-align: center;
}
.btn_o i, .btn_b i, .btn_w i, .btn_g i { padding-right:3px; }

.btn_o { background:#d9534f; color:#FFF; }
.btn_o:hover { background:#c9302c; color:#FFF; }

.btn_b { background:#337ab7; color:#FFF; }
.btn_b:hover { background:#286090; color:#FFF; }

.btn_w { color:#333; background:#FFF; }
.btn_w:hover { background:#e6e6e6; color:#333; }

.btn_g { background:#5cb85c; color:#FFF; }
.btn_g:hover { background:#449d44; color:#FFF; }

.btn_line { border:#ccc 1px solid; }



/* ==========================================================================
   職缺輪播控制按鈕 (無障礙 2.2.2 暫停與播放)
============================================================================= */
.slider-controls {
    background-color: #444; /* 配合右側職缺區塊的底色 */
    padding: 10px 5px;
    text-align: center;
    border-bottom: 1px solid #555;
}

.slider-controls button {
    background-color: #2b6165;
    color: #FFFFFF;            
    border: 1px solid #1a3c3e;
    border-radius: 4px;
    padding: 4px 10px;         /* 【修改這裡】上下縮減為 4px，左右縮減為 10px，按鈕會變窄 */
    margin: 0 5px;             /* 稍微拉近兩個按鈕的距離 */
    font-size: 13px;           /* 字體稍微調小一點 */
    cursor: pointer;
    font-weight: normal;
}

/* 游標滑過或鍵盤遊走對焦時的樣式 */
.slider-controls button:hover,
.slider-controls button:focus {
    background-color: #cb4800; /* 變成橘紅色 */
    color: #FFFFFF !important; 
    border-color: #cb4800;
}

/* 按鈕內部的圖示微調 */
.slider-controls button i {
    padding-right: 4px;
}