/* CSS Document */

body {	-webkit-text-size-adjust:100%; font-family: 'Noto Sans TC', sans-serif; overflow-x: hidden; }
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:1360px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: 18px; line-height:1.6; color: #222; letter-spacing: 0.05rem; font-weight: 400; padding-top: 180px;}
#content p{ margin-bottom: 0; margin-top: 0; padding-bottom: 30px; font-size: 18px;line-height:1.6;  font-weight: 400;}
p, td, li, label { font-size: 18px;line-height:1.6;  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%;}

.main-box { padding-top: calc(20px + 1%);}

#path { border-bottom: 1px solid #e3e3e3; padding-bottom: 10px;}
#path ul { margin: 0; padding:  0; color: #222; }
#path li { display: inline-block; vertical-align: top; font-size: 15px; }
#path li:after { content:"/"; display: inline-block; vertical-align: top; padding: 0 0 0 4px;}
#path li:last-child { pointer-events: none;}
#path li:last-child:after { display: none;}
#path li a { color: #222; }
#path li a:hover { opacity: 0.5;}
#path li:last-child a { color: #c90d3e;}

.layout-type-1 { display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: calc(20px + 4%);}
.layout-type-1 > div:nth-of-type(1) { width: 368px; border-right: 1px solid #e3e3e3; padding:15px 20px 20px 20px;}
.layout-type-1 > div:nth-of-type(2) { width: calc(100% - 368px); padding: 25px 0 0 4%;}

.layout-type-2 { padding-top: calc(10px + 1.5%);}

.title03 { display: block; padding-bottom: 20px; padding-top: 20px;}
.title03:hover > div, .title03.current > div { color: #c90d3e;}
.title03:hover > span, .title03:hover > span:before, .title03:hover > span:after, .title03.current > span, .title03.current > span:before, .title03.current > span:after { background: #c90d3e;}
.title03 > div { font-size: 22px; font-weight: 700;transition: all 0.4s ease-out 0s; line-height: 1.4;}
.title03 > span { display: inline-block; position: relative; width: 46px; height: 2px; background: #b8b8b8; margin: 6px 0;transition: all 0.4s ease-out 0s;}
.title03 > span:before, .title03 > span:after { content: ""; position: absolute; border-radius: 100%; background: #b8b8b8;transition: all 0.4s ease-out 0s; top: 50%; transform: translateY(-50%);}
.title03 > span:before { width: 14px; height: 14px; left: 0;}
.title03 > span:after { width: 9px; height: 9px; right: 0;}

a.menu_arrow_open > div { color: #c90d3e;}
a.menu_arrow_open > span, a.menu_arrow_open > span:before, a.menu_arrow_open > span:after { background: #c90d3e;}


.title01 { padding-bottom: 22px; margin-bottom: 22px; position: relative;}
.title01 > h1, .title01 > div { padding: 0; margin: 0; line-height: 1.4; font-size: clamp(24px, 2.6vw, 38px); font-weight: 700;}
.title01:after { content: ""; position: absolute; width: 220px;  height: 10px;background: linear-gradient(90deg, #dc0000 0%, #ff0042 100%); left: 0; bottom: 0;}

.btn01 { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: 0 19px; width: 100%; height: 44px; border-radius: 20px; background: linear-gradient(90deg, #3875aa 0%, #2c5e8a 100%); overflow: hidden; position: relative;}
.btn01:after { content: ""; position: absolute; background: #dc0000; width: 150%; height: 150%; bottom: -10%; left: 50%; transform: translateX(-50%) scale(0.3, 0); transform-origin: 50% 100%;transition: all 0.4s ease-in-out 0s; border-radius: 100%; }
.btn01:hover:after { transform: translateX(-50%) scale(1.2, 1); }
.btn01:hover  > span { right: -40px; }
.btn01 > div { font-size: 20px; font-weight: 500; color: #fff; position: relative; z-index: 2;}
.btn01 > span { display: block; width: 6px; height: 8px; background: #fff;  position: relative; z-index: 2;transition: all 0.3s ease-in-out 0s; clip-path: polygon(0% 0, 100% 50%, 0% 100%); right: 0;}

/*about*/
.about-pto { border-radius: 25px;}
.about-content { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding-top: 20px;}
.about-content > div { width: 47%; padding-bottom: calc(15px + 2%);}
.about-content > div > img { display: inline-block; line-height: 0; margin-bottom: 10px;}
.title02 { font-size: clamp(20px, 1.2vw, 24px); font-weight: 700; line-height: 1.5; padding-bottom: 15px;}

.bottom-btn-box { border-top: 1px solid #e3e3e3; padding: calc(15px + 2%); display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center;}
.bottom-btn { min-width: 180px; margin: 0 10px 10px 10px;}

/*brand*/
.brand-list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; margin-bottom: calc(20px + 4%);}
.brand-list > div { width: calc(50% - 40px); position: relative; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #c5c5c5}
.brand-list > div:nth-child(odd):after { content:""; position: absolute; right: -40px; top: 0; width: 1px; height: calc(100% - 40px); background: #c5c5c5;}

.brand-top-section { display: flex; flex-direction: row; flex-wrap: wrap; padding-bottom: 20px;}
.brand-top-section > div:nth-of-type(1) { width: 138px; padding-right: 10px;}
.brand-top-section > div:nth-of-type(2) { width: calc(100% - 138px); padding-right: 10px;}
.brand-top-title { font-size: clamp(22px, 1.7vw, 28px); font-weight: 700; line-height: 1.3; padding-bottom: 10px;}
.brand-top-title-2 { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-end; line-height: 1; margin-bottom: 12px;}
.brand-top-title-2 > div:nth-of-type(1) { padding-right: 10px; padding-bottom: 5px;}
.brand-top-title-2 > div:nth-of-type(2) { font-family: "Russo One", sans-serif; font-size: 32px;}
.brand-top-title-2 > div:nth-of-type(2):after { content: "%";}
.color-red { color: #ff0042;}
.color-yellow { color: #ffa200;}
.bg-red { background: #ff0042;}
.bg-yellow { background: #ffa200;}
.brand-line { position: relative; height: 10px; background: #e3e3e3; overflow: hidden; margin-bottom: 15px;}
.brand-line > div { position: absolute; left: 0; top: 0; height: 100%;}

.brand-content { height: 87px; margin-bottom: 15px;
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-btn { width: 150px;}

.share-tool { padding-bottom: calc(20px + 1%);}

/*play*/
.play-list { display: flex; flex-direction: row; flex-wrap: wrap; margin-right: -35px;}
.play-list > div { width: calc(33.33% - 35px); margin: 0 35px 75px 0;}

.idx-play-section { position: relative; border: 1px solid #808080;}
.idx-play-pto { display: block; padding-bottom: 60.5%; margin-bottom: 25px;}
.idx-play-pto img { transform: scale(1.05);}
.idx-play-content { padding: 0 calc(15px + 2%) calc(40px + 6%) calc(15px + 2%);}
.idx-play-title { text-align: center; font-size: 22px; font-weight: 700; line-height: 1.5; padding-bottom: 14px;white-space:nowrap; text-overflow : ellipsis; overflow:hidden;}
.idx-play-data {  min-height: 88px;
display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;}
.idx-play-btn { position: absolute; z-index: 2; width: 150px; bottom: -22px; left: 50%; transform: translateX(-50%);}

#page { text-align: center; padding:0 0 calc(20px + 3%) 0;}
#page a { font-size: 16px; color: #000; font-weight: 400; width: 30px; height: 30px; line-height: 28px; text-align: center; border-radius: 100%; display: inline-block;}
#page a:hover, #page a.current { background: #c90d3e; color: #fff;}
.page-prev, .page-next { width: 12px !important; height: 12px !important; line-height: inherit !important; border-radius: 0 !important; border-top:1px solid #000; border-right: 1px solid #000; margin: 0 20px;}
.page-prev:hover, .page-next:hover { background: none !important;}
.page-prev { transform: rotate(-135deg);}
.page-next { transform: rotate(45deg);}

/*blog*/
.blog-section { display: flex; flex-direction: row; flex-wrap: wrap; background: #fff; padding-bottom: calc(20px + 2%); }
.blog-section > div:nth-of-type(1) { width: calc(100% - 320px); padding-right: 6%;}
.blog-section > div:nth-of-type(2) { width: 320px;}

.blog-list { margin-bottom: 32px; border: 1px solid #eeecec; padding: calc(20px + 1%); display:flex; flex-direction: row; flex-wrap: wrap;}
.blog-list > div:nth-of-type(1) { width: 224px;}
.blog-list > div:nth-of-type(2) { width: calc(100% - 224px); padding-left: 24px;}

.blog-info { padding-bottom: 10px; display: flex; flex-direction: row; flex-wrap: wrap; font-size: 16px; color: #636363;}
.blog-info > div { font-size: 16px; margin-bottom: 5px;}
.blog-info > div:nth-of-type(1) { padding-right: 15px; margin-right: 15px; border-right: 1px solid #636363;}
.blog-date { border-right: 0px solid #636363 !important;}

.blog-btn { width: 150px;}

.title04 { padding-bottom: 15px; margin-bottom: 20px; position: relative; display: block;}
.title04 span, .title04 h1 { font-size: clamp(19px, 1.3vw, 22px); color: #333; line-height: 120%; letter-spacing: 0.1rem; padding: 0; margin: 0; font-weight: 700;}
.title04:hover span { color: #c90d3e;}
.title04:after { content: ""; position: absolute; width: 42px; height: 3px; background: #333; left: 0; bottom: 0;}
.title04:hover:after { background: #c90d3e;}

.blog-aside-title { padding-bottom: 15px; margin-bottom: 10px; position: relative;}
.blog-aside-title span { font-size: 23px; color: #2d2c32; line-height: 120%; letter-spacing: 0.1rem; padding: 0; margin: 0; font-weight: 700;}
.blog-aside-title:after { content: ""; position: absolute; width: 35px; height: 3px; background: #c90d3e; left: 0; bottom: 0;}

.blog-aside  { margin-top: 25px; border-bottom: 1px solid #d4d4d4; padding-bottom: 15px; margin-bottom: 30px;}
.blog-aside > a { position: relative; display: block; margin-bottom: 25px; padding-left: 15px; color: #333 !important; font-size: clamp(16px, 0.8vw, 18px); line-height: 1.3; font-weight: 700;}
.blog-aside > a:before { position: absolute; content: ""; background: #dddddd; width: 3px; left: 0; top: 5px; height: 12px; transition: all 0.4s ease-out 0s;}
.blog-aside > a:hover { color: #c90d3e !important;}
.blog-aside > a:hover:before, .blog-aside > a.current:before { background: #c90d3e;}

.blog-aside2{ margin-bottom: 35px;}
.blog-aside2 > a { display: block; border-bottom: 1px solid #d4d4d4; padding: 15px 0;color: #333 !important; font-size: clamp(16px, 0.8vw, 18px); line-height: 1.3;font-weight: 700;}
.blog-aside2 > a:hover, .blog-aside2 > a.current { color: #c90d3e !important;}

/*news*/
.idx-news-section { padding-bottom: calc(20px + 4%); padding-top: 10px;}
.idx-news-section-list { display: flex; flex-direction: row; flex-wrap: wrap; margin-right: -35px; padding-bottom: calc(20px + 1%);}
.idx-news-section-list > div { width: calc(50% - 35px); margin: 0 35px 40px 0;}
.idx-news-pto { padding-bottom: 84%; margin-bottom: 20px; border-radius: 25px; display: block;}
.idx-news-tag { display: inline-block; border-radius: 15px; height: 30px; min-width: 124px; line-height: 1.2; padding: 5px 15px; color: #fff !important; background: #ff0000; font-size: 15px; font-weight: 700; margin-bottom: 12px;}
.idx-news-title { font-size: 22px; font-weight: 700;line-height: 1.5; height:66px;  margin-bottom: 15px; display: block;

	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;}
.idx-news-title:hover { color: #c90d3e !important;}
.idx-news-date { color: #a1a1a1; font-size: 14px; line-height: 1;}


@media only screen and (max-width: 1800px) {
	#content { padding-top: 240px;}
    
}
@media only screen and (max-width: 1365px) {
	#content { font-size: 17px; padding-top: 123px;}
	#content p{ font-size: 17px;}
	p, td, li, label { font-size: 17px;}
	
    
}
@media only screen and (max-width: 1279px) {
	.layout-type-1 > div:nth-of-type(1) { width: 100%; border-right: 0px solid #e3e3e3; padding: 20px 0px 0 0px;}
	.layout-type-1 > div:nth-of-type(2) { width: calc(100% - 0px); padding-left: 0;}
	
	.title03 { padding-bottom: 10px; padding-top: 10px;}
	.title03 > div { font-size: 19px;}
	
	.idx-play-title { font-size: 19px;}
	
	.blog-section > div:nth-of-type(1) { width: calc(100% - 0px); padding-right: 0px; padding-bottom: 25px; }
    .blog-section > div:nth-of-type(2) { width: 100%; }
}
@media only screen and (max-width: 980px) {
	.brand-list > div { width: 100%}
	.brand-list > div:nth-child(odd):after { display: none;}
	
	.play-list > div { width: calc(50% - 35px); }
	
	.idx-news-title { font-size: 19px; height: 62px;}
	
}

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

@media only screen and (max-width: 640px) {
	.btn01 > div { font-size: 17px;}
	
	.about-content > div { width: 100%; padding-bottom: calc(15px + 1%); text-align: center;}
}
@media only screen and (max-width: 570px) {
	#content { padding-top: 120px;}
	
	.play-list > div { width: calc(100% - 35px); }
	
	.blog-list > div:nth-of-type(1) { width: 100%; text-align:center; padding-bottom: 25px;}
	.blog-list > div:nth-of-type(2) { width: calc(100% - 0px); padding-left: 0px;}
	
	.idx-news-section-list > div { width: calc(100% - 35px); }
}
@media only screen and (max-width: 414px) {
	.brand-top-section > div:nth-of-type(1) { width: 90px; }
	.brand-top-section > div:nth-of-type(2) { width: calc(100% - 90px); }
	
	
}
@media only screen and (max-width: 374px) {
	
}