/* CSS Document */

body {	-webkit-text-size-adjust:100%; font-family: 'Noto Sans TC', sans-serif; overflow-x: hidden; position: relative; background: #f4f0ed;}
img {	border:0; }

/* Reset ================================================================================= */

a { text-decoration:none; transition: all 0.4s ease-out 0s; }
a:hover { text-decoration:none; }

* { box-sizing: border-box;}

.content-Box { max-width:1366px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: 18px; line-height:1.8; color: #333; letter-spacing: 0.1rem; font-weight: 400; padding-top: 106px;}
#content p{ margin-bottom: 30px; margin-top: 0; font-size: 18px;line-height:1.8;  font-weight: 400;}
p, td, li, label { font-size: 18px;line-height:1.8;  font-weight: 400;}

.photo-fit img { object-fit: cover; width: 100%; height: 100%; position: absolute; z-index: 1; left: 0; top: 0;}

.photo {line-height: 0; height: 0; padding-bottom: 40%; overflow: hidden; position: relative; z-index: 1; margin-bottom: 0px;}
.imgCenter {position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; z-index: 2;}
.imgCenter img {max-height: 100%;}

.demo-section { padding-left: 5%; padding-right: 5%;}


.banner {  padding: calc(20px + 1%) 10% calc(30px + 5%) 0; position: relative; overflow-x: hidden;}
.banner-pc { }
.banner-mobile { display: none !important;}

.loop {}
.loop .owl-dots { }
.loop .owl-item {position: relative; }
.loop .owl-nav { position: absolute; top:calc(50% - 40px); left: 0; width: 100%; z-index: 11;}
.loop .owl-prev, .loop .owl-next { position:absolute; z-index:100; top:calc(50% - 0px); width: 50px !important; height: 50px !important; border-radius: 100% !important; background: rgba(255,255,255,.2) !important; border: 0px solid #fff !important;}
.loop .owl-prev { left:15px; }
.loop .owl-next { right:15px;}
.loop .owl-prev:before, .loop .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; opacity: 1;transition: all 0.4s ease-out 0s;width: 13px; height: 13px; background-size: contain; display: block; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff;}
.loop .owl-prev:before { content: ""; transform: rotate(-135deg); margin-left: 20px; }
.loop .owl-next:before { content: ""; transform: rotate(45deg); margin-left: 15px;}
.loop .owl-prev:hover:before, .loop .owl-next:hover:before { opacity: 1;}
.loop .owl-stage-outer {z-index: 2;}
.loop .owl-dots { position: absolute; z-index: 100; bottom:calc(-50px - 6.3%); left: 0; width: 100%; text-align: center !important; padding: 0 0px; }
.loop .owl-dots .owl-dot { margin-left: 8px;  margin-right: 8px; border-radius: 100%;}
.loop .owl-dots .owl-dot.active {  }
.loop .owl-dots .owl-dot span, .loop  .owl-dots .owl-dot span { background: #dbdbdb !important; width: 10px !important; height: 10px !important; margin: 0 auto!important;}
.loop .owl-dots .owl-dot.active span/*, .loop  .owl-dots .owl-dot:hover span*/ { background: #8b1d76 !important;}

.banner-scroll-box { position: absolute; z-index: 5; right:0px; bottom:50%;  }
.banner-scroll { position: absolute; z-index: 5; right:30px; top: 0px; width: 40px; height: 130px; border-left: 1px solid #222;animation-name: line-animate;animation-duration: 1.5s; animation-timing-function:ease-in-out; animation-iteration-count: infinite; }
.banner-scroll:after { position: absolute; content: ""; transform-origin: 100% 100%; width: 1px; height: 20px; background: #222; transform: rotate(-30deg); left: -1px; bottom: 0;}
.banner-scroll > span { position: absolute; left: 0; width: 9px; height: 14px; background: #222; display: block; clip-path: polygon(0% 0, 100% 0%, 0% 100%); }
.banner-scroll > div { position: absolute; left: 0px; bottom: 30px; transform-origin: 0% 100%; transform: rotate(-90deg); font-weight: 700; color: #222; font-size: 13px; cursor: pointer;white-space: nowrap; }

@keyframes line-animate {
  0% {
    top:0px;
  }

  50% {
    top: 20px;
  }
  100% {
    top: 0px;
  }
}

.idx-bottom-section-slogon { position: absolute; bottom:15.5%; left: 25%; z-index: 4; font-weight: 100; color: #fff; text-transform: uppercase; font-size: clamp(30px, 12vw, 200px); white-space: nowrap; line-height: 0.5;display: none;}

.idx-news-bar { background: #8b1d76; padding: 20px 5%;}
.idx-news-bar-content { display:flex; flex-direction: row; flex-wrap: nowrap; align-items: center;}
.idx-news-bar-content > div:nth-of-type(1) { width: 76px; padding: 0 18px;}
.idx-news-bar-content > div:nth-of-type(2) { width: calc(100% - 76px);}

.loop-news {}
.loop-news .owl-dots { }
.loop-news .owl-item {position: relative; }
.loop-news .owl-nav { position: absolute; top:calc(50% - 40px); left: 0; width: 100%; z-index: 11;}
.loop-news .owl-prev, .loop-news .owl-next { position:absolute; z-index:100; top:calc(50% - 0px); width: 50px !important; height: 50px !important; border-radius: 100% !important; background: rgba(255,255,255,.2) !important; border: 0px solid #fff !important;}
.loop-news .owl-prev { left:15px; }
.loop-news .owl-next { right:15px;}
.loop-news .owl-prev:before, .loop-news .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; opacity: 1;transition: all 0.4s ease-out 0s;width: 13px; height: 13px; background-size: contain; display: block; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff;}
.loop-news .owl-prev:before { content: ""; transform: rotate(-135deg); margin-left: 20px; }
.loop-news .owl-next:before { content: ""; transform: rotate(45deg); margin-left: 15px;}
.loop-news .owl-prev:hover:before, .loop-news .owl-next:hover:before { opacity: 1;}
.loop-news .owl-stage-outer {z-index: 2;}
.loop-news .owl-dots { position: absolute; z-index: 100; bottom:calc(-70px - 5%); left: 0; width: 100%; text-align: center !important; padding: 0 0px;  display: none;}
.loop-news .owl-dots .owl-dot { margin-left: 8px;  margin-right: 8px; border-radius: 100%;}
.loop-news .owl-dots .owl-dot.active {  }
.loop-news .owl-dots .owl-dot span, .loop-news  .owl-dots .owl-dot span { background: #dbdbdb !important; width: 10px !important; height: 10px !important; margin: 0 auto!important;}
.loop-news .owl-dots .owl-dot.active span/*, .loop-news  .owl-dots .owl-dot:hover span*/ { background: #8b1d76 !important;}

.idx-news-bar-link { display: block; white-space:nowrap; text-overflow : ellipsis; overflow:hidden; font-size: 20px; color: #fff !important; line-height: 1.1;}
.idx-news-bar-link:hover { opacity: 0.7;}

.idx-main-box { position: relative; padding-top: calc(20px + 3%);}
.idx-main { position: relative; z-index: 3;}
.idx-main-bg-left { position: absolute; top: 0; left: 0; width: 16%;}
.idx-main-bg-right { position: absolute; top: 100px; right: 0; width: 18%; text-align: right;}
.idx-main-bg-bottom { position: absolute; bottom: 0; right: 0; width: 23%; text-align: right;}

.idx-about-section { padding-bottom: calc(20px + 5%); display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start;}
.idx-about-section > div:nth-of-type(1) { width: 46%;}
.idx-about-section > div:nth-of-type(2) { width: 54%;display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: flex-start; padding-top: calc(30px + 2%);}
.idx-about-section > div:nth-of-type(2) > a { width: 33.33%; padding: 0 5% calc(20px + 2%) 5%; text-align:center;}
.idx-about-section > div:nth-of-type(2) > a:hover .idx-about-pto { background: #8b1d76; box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.4);}
.idx-about-section > div:nth-of-type(2) > a:hover .idx-about-pto img { filter: brightness(0) invert(1);}
.idx-about-section > div:nth-of-type(2) > a:hover .idx-about-name { color: #8b1d76;}
.idx-about-section > div:nth-of-type(2) > a:hover .idx-about-name span:after { background: #8b1d76;}

.idx-about-logo { width: 100%; max-width: 210px; margin-bottom: 10px;}
.idx-about-title { color: #8b1d76; font-weight: 700; font-size: clamp(24px, 2.8vw, 40px); line-height: 1.2; padding:0 0 10px 0; margin: 0;}
.idx-about-title-2 { font-weight: 300; font-size: clamp(19px, 1.2vw, 24px); padding-bottom: 10px;}

.btn01 { display:block; width: 140px; line-height: 50px; text-align: center; border-radius: 0 10px; border: 1px solid #8b1d76; color: #8b1d76 !important; font-size: 17px; margin-bottom: calc(15px + 2%);}
.btn01:hover { background: #8b1d76; color: #fff !important; border-radius: 20px 0;  transform: translateX(30px)}

.idx-about-pto { padding-bottom: 100%; border-radius: 100%; border: 3px solid #8b1d76; background: #fff; position: relative; margin-bottom: 10px;}
.idx-about-pto img { position:absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-height: 75px; transition: all 0.4s ease-out 0s;}
.idx-about-name { text-align: center;}
.idx-about-name span { display: inline-block; position: relative; font-weight: 500; font-size: clamp(17px, 1.2vw, 24px); }
.idx-about-name span:after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #333;}

.title01 {font-weight: 700; font-size: clamp(22px, 3vw, 34px); line-height: 1.2; position: relative; margin-bottom: calc(20px + 2%);}
.title01:after { content: ""; position: relative; width: 2px; height: 40px; background: #333333; top:20px; left: 10px; transform: rotate(45deg); display: inline-block;}

.swiper-container { margin-bottom: calc(20px + 4.5%);}

.idx-news-pto { padding-bottom: 142%; display: block; margin-bottom: 18px;}
.idx-news-pto img { transition: all 0.4s ease-out 0s;}
.idx-news-pto:hover img { transform: scale(0.95);}
.idx-news-title { font-weight: 700; font-size: clamp(17px, 1vw, 20px); line-height: 1.2; padding-bottom: 7px; }
.idx-news-data { font-size: 15px; line-height: 1.6; }

.tab-section { padding-bottom: calc(20px + 5%);}

.news-list { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; border-bottom: 1px solid #dbdbdb; padding: calc(10px + 1%) 0; position: relative;}
.news-list:after { content: ""; position: absolute; bottom: 0; right: 0; height: 1px; width: 0; background: #8b1d76;transition: all 0.4s ease-out 0s;}
.news-list:hover:after { width: 100%; left: 0;}
.news-list:hover > div:nth-of-type(2) { color: #8b1d76;}
.news-list:hover .news-list-btn { background: #8b1d76; transform: scaleX(-1);}
.news-list > div:nth-of-type(1) { width: 130px; font-size: 15px; font-weight: 500;}
.news-list > div:nth-of-type(2) { width: calc(100% - 130px - 24px); padding: 0 3%;font-weight: 700; font-size: clamp(17px, 1vw, 20px); line-height: 1.2;transition: all 0.4s ease-out 0s; }
.news-list > div:nth-of-type(3) { width: 24px;}
.news-list-btn { width: 24px; height: 24px; border-radius: 100%; background: #222222; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content:center; position: relative;transition: all 0.4s ease-out 0s; }
.news-list-btn img { display: inline-block; position: absolute; width: 11px; height: 8px; top:50%; left: 50%; transform: translate(-50%, -50%);}

.video_scroll iframe { width: 100%; height: 400px;}
.video-title { font-weight: 700; font-size: clamp(17px, 1vw, 20px); line-height: 1.2; padding: 10px 0; text-align: center;}

.idx-activity-pto { padding-bottom: 75%; margin-bottom: 15px;}

@media only screen and (max-width: 1365px) {
	#content { padding-top: 60px; font-size: 16px;  }
	#content p {font-size: 16px; }
	p, td, li, label {font-size: 16px; }
	
	.banner { padding-top: 0;}
}
@media only screen and (max-width: 1279px) {
	.banner { padding-right: 0; padding-bottom: 60px;}
	.banner-pc { display: none !important}
	.banner-mobile { display: block !important;}
	
	.loop .owl-dots { bottom:-40px; }
	.idx-bottom-section-slogon { left: 80%; bottom: 55%;}
}

@media only screen and (max-width: 980px) {
	.banner-scroll-box { display: none;}
	
	.idx-news-bar { padding: 10px 5%;}
	.idx-news-bar-content > div:nth-of-type(1) { width: 30px; padding: 0 0;}
	.idx-news-bar-content > div:nth-of-type(2) { width: calc(100% - 30px); padding-left: 10px;}
	.idx-news-bar-link { font-size: 16px; }
	
	.idx-about-logo { max-width: 150px;}
	.idx-about-section > div:nth-of-type(1) { width: 100%;}
	.idx-about-section > div:nth-of-type(2) { width: 100%;padding-top: 20px;}
	
}
@media only screen and (max-width: 768px) {
	.idx-about-section > div:nth-of-type(2) > a { width: 50%; }
	.idx-about-pto img { max-height: 90px;}
	
}
@media only screen and (max-width: 640px) {
	
	
}
@media only screen and (max-width: 570px) {
	.idx-bottom-section-slogon { left: 100%; }
	
	.idx-about-pto img { max-height: 70px;}
	
}

@media only screen and (max-width: 414px) {
	.idx-about-pto img { max-height: 55px;}
	
	.news-list > div:nth-of-type(1) { width: 100%;}
	.news-list > div:nth-of-type(2) { width: calc(100% - 24px); padding: 0 3% 0 0;}

}

@media only screen and (max-width: 320px) {
	.idx-bottom-section-slogon { left: 90%; }
	

}
@media only screen and (max-width: 280px) {
	

}