@import url("fontello.css");
@import url("font/style.css");
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+TC:wght@100..900&family=Noto+Serif+TC:wght@200..900&display=swap');

*{
	box-sizing: border-box;
}

body{
	margin: 0;
}

.d-table {
  display: table !important;
}
.d-block {
  display: block !important;
}
.d-none {
  display: none !important;
}
.position-fixed {
  position: fixed !important;
}
.fw-500 {
  font-weight: 500;
}
.les5 {
  letter-spacing: 5px;
}
.ms-2 {
  margin-left: 0.5rem !important;
}
.ps-1 {
  padding-left: 0.25rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (min-width: 768px){
	.d-md-block {
		display: block !important;
	}
	.pt-md-4 {
		padding-top: 1.5rem !important;
	}

	.d-md-flex {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}

@media (min-width: 1200px){
	.mt-xl-5 {
		margin-top: 3rem !important;
	}
}
.position-absolute {
  position: absolute !important;
}
.z-2 {
  z-index: 2;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}
.position-relative {
  position: relative !important;
}
.text-black {
  color: #000 !important;
}
.text-hover-white {
  -webkit-transition: all .3s;
  transition: all .3s;
}
.text-hover-white:hover {
  color: white !important;
}
.bg-hover-black {
  -webkit-transition: all .3s;
  transition: all .3s;
}
.bg-hover-black:hover {
  background: #000 !important;
}
.text-white {
  color: #fff !important;
}

.portfolio{
	width: 100%;
	overflow: hidden;
	padding: 0 0 45px;
}

.portfolio-main{
	padding: 62px 20px 0;
}

.portfolio-info{
	display: flex;
	align-items: center;
}

.portfolio-pic{
	width: 60px;
	aspect-ratio: 1/1;
	border-radius: 999rem;
	flex-shrink: 0;
	overflow: hidden;
	margin: 0 20px 0 0;
}

.portfolio-pic img{
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.portfolio-title{
	font-family: 'Noto Sans TC';
	word-break: break-all;
	font-weight: 300;
}

.portfolio-name{
	font-family: 'Noto Serif TC';
	word-break: break-all;
	font-size: 700;
	font-size: 24px;
}

.portfolio-intro-title{
	font-family: 'Noto Serif TC';
	word-break: break-all;
	line-height: 1.6;
	font-weight: 600;
	font-size: 26px;
}

.portfolio-intro-content{
	color: #676767;
	font-family: 'Noto Sans TC';
	font-size: 18px;
}

.portfolio-intro-para{
	word-break: break-all;
	line-height: 1.6;
}

@media (max-width: 999px){
	.portfolio-main{
		margin: 0 0 40px;
	}

	.portfolio-info{
		margin: 0 0 40px;
	}
}

@media (min-width: 1000px){
	.portfolio{
		position: relative;
		padding: 0 0 129px;
	}

	.portfolio-main{
		display: flex;
		align-items: flex-start;
		padding: 105px 20px 0;
		margin: 0 auto 100px;
	}

	.portfolio-info{
		flex-shrink: 0;
		margin: 0 60px 0 0;
	}

	.portfolio-pic{
		width: 100px;
	}

	.portfolio-name{
		font-size: 28px;
	}

	.portfolio-intro-title{
		font-size: 32px;
	}
}

@media (min-width: 1200px){
	.portfolio-main{
		max-width: 1160px;
	}
}

.Jost {
  font-family: "Jost";
}

.Jost-NotoSansTC {
  font-family: "Jost","Noto Sans TC";
}

@keyframes text-around{
	0% {
		translate: 0;
	}
	100% {
		translate: calc(-100% - .5em);
	}
}

@media (min-width: 1200px){
	.slick-bg{
		background: #F7F7F7;
		position: absolute;
		width: 100%;
		height: 391px;
		left: 0;
		bottom: 0;
	}

	.slick-text-box{
		color: #F7F7F7;
		font-weight: 700;
		font-size: 250px;
		position: absolute;
		display: flex;
		align-items: center;
		bottom: 365px;
		left: 0;
	}

	.slick-text{
		animation: text-around 35s linear infinite;
	}
}

@media (max-width: 1199px){
	.slick-bg,.slick-text-box{
		display: none;
	}
}

.portfolio .slick-container {
	width: 100%;
  	position: relative;
}

@media (max-width: 1199px){
	.portfolio .slick-container {
		margin: 0 0 40px;
	}
}

.slick-box{
	position: relative;
}

.portfolio-slick-nav{
	position: absolute;
	z-index: 20;
	bottom: -40px;
	right: 23px;
}

.portfolio-slick-nav-btn{
	background: #FFFFFF;
	color: #000000;
	box-shadow: 0 4px 30px 0 rgba(0,0,0,.2);
	cursor: pointer;
	border: unset;
	transition: all .3s;
	width: 40px;
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 12px;
}

@media (min-width: 1200px){
	.portfolio-slick-nav-btn{
		width: 60px;
	}
}

@media (min-width: 1200px){
	.portfolio-slick-nav-btn:hover{
		background: #000000;
		color: #FFFFFF;
	}
}

@media (min-width: 1200px){
	.portfolio-slick-nav{
		right: -30px;
		bottom: 127px;
	}
}

@media (max-width: 1199px){
	.slick-left-wrapper{
		display: none;
	}

	.slick-right-wrapper{
		display: none;
	}
}

@media (min-width: 1200px){
	.slick-left-wrapper{
		width: 1010px;
		position: absolute;
		left: calc(50% - 1080px);
		transform: translateX(-50%);
		top: 0;
	}
	
	.slick-right-wrapper{
		width: 1010px;
		position: absolute;
		left: calc(50% + 1080px);
		transform: translateX(-50%);
		top: 0;
	}
}

@media (min-width: 1400px){
	.slick-left-wrapper{
		left: calc(50% - 1160px);
	}
	
	.slick-right-wrapper{
		left: calc(50% + 1160px);
	}
}

.slick-outer{
	position: relative;
}

.portfolio .slick-container .slick-wrapper {
	width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 1199px){
	.portfolio .slick-container .slick-wrapper{
		padding: 0 46px;
	}
}

@media (min-width: 1200px){
	.slick-outer{
		width: 1010px;
		margin: 0 auto;
	}
}

.portfolio .slick-container .slick-wrapper .slick-slide {
  position: relative;
  opacity: 0.5;
  -webkit-transition: all .3s;
  transition: all .3s;
  pointer-events: none;
}

@media (max-width: 999px){
	.portfolio .slick-container .slick-wrapper .slick-slide{
		width: 100%;
	}
}

.portfolio .slick-container .slick-wrapper .slick-slide.active {
  pointer-events: all;
  opacity: 1;
}

.portfolio .slick-container .slick-wrapper .slick-slide img {
  display: block;
  width: 100%;
}

.portfolio .slick-container .slick-pagination {
	color: #676767;
	width: fit-content;
	font-size: 15px;
	font-family: 'Jost';
	position: absolute;
	top: 50px;
	left: 20px;
}

@media (min-width: 1200px){
	.portfolio .slick-container .slick-pagination{
		top: 20px;
		left: calc(50% - 535px);
		transform: translateX(-50%);
	}
}

@media (min-width: 1400px){
	.portfolio .slick-container .slick-pagination{
		left: calc(50% - 555px);
	}
}

.portfolio .slick-container .slick-pagination .current {
	position: relative;
	padding: 0 0 6px;
	margin: 0 0 6px;
}

.portfolio .slick-container .slick-pagination .current::after{
	background: #CFCFCF;
	content: '';
	display: block;
	position: absolute;
	width: 18px;
	height: 1px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}

.slick-word-wrapper{
	color: #FFFFFF;
	background: #000000;
	box-shadow: 0 4px 30px 0 rgba(0,0,0,.2);
}

@media (max-width: 1199px){
	.slick-word-wrapper{
		width: calc(100% - 92px);
		margin: 0 auto;
	}
}

@media (min-width: 1200px){
	.slick-word-wrapper{
		position: absolute;
		bottom: 67px;
		left: calc(50% - 442px);
		transform: translateX(-50%);
		z-index: 11;
		width: 200px;
	}
}

@media (min-width: 1400px){
	.slick-word-wrapper{
		left: calc(50% - 465px);
	}
}

@media (max-width: 1199px){
	.slick-word-slide{
		padding: 0 0 30px;
	}
}

.slick-slide-info{
	
	padding: 20px;
}

@media (min-width: 1200px){
	.slick-slide-info{
		padding: 25px 25px 33px;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-direction: column;
		height: 240px;
	}
}

.slick-slide-en{
	font-weight: 500;
	font-family: 'Jost';
	line-height: 1.6;
	margin: 0 0 4px;
}

.slick-slide-tw{
	font-family: 'Noto Serif TC';
	font-weight: 600;
	word-break: break-all;
	font-size: 20px;
	line-height: 1.6;
}

.portfolio-back{
	padding: 10.5px 30px;
	border: 1px solid black;
	text-decoration: none;
	font-family: 'Noto Serif TC';
	font-size: 18px;
}

@media (min-width: 1000px){
	.portfolio-back{
		padding: 17.5px 78px;
	}
}

.portfolio-back .icon-arrow {
  top: 50%;
  right: 0;
  -webkit-transform: translate(60%, -50%);
          transform: translate(60%, -50%);
  font-size: 65px;
}

.recruit-link {
    width: 60px;
    height: 178px;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #D70025;
    -webkit-transition: all .3s;
    transition: all .3s;
}