/* CSS Document */

body {	-webkit-text-size-adjust:100%; font-family: 'Barlow', 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:1440px; width: 100%; margin:0 auto; text-align:left; position:relative; clear:both;}

#content { font-size: clamp(18px, 1.5vw, 20px); line-height:1.5; color: #222; letter-spacing: 0.05rem; font-weight: 400; padding-top: 80px;}

.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%;}

.font-size-18 { font-size: clamp(16px, 1.3vw, 18px);}
.font-size-20 { font-size: clamp(18px, 1.5vw, 20px);}
.font-size-21 { font-size: clamp(18px, 1.5vw, 21px);}
.font-size-22 { font-size: clamp(20px, 1.7vw, 22px);}
.font-size-24 { font-size: clamp(20px, 1.9vw, 24px);}
.font-size-26 { font-size: clamp(20px, 2.0vw, 26px);}
.font-size-28 { font-size: clamp(22px, 2.2vw, 28px);}
.font-size-30 { font-size: clamp(22px, 2.5vw, 30px);}
.font-size-36 { font-size: clamp(22px, 3.3vw, 36px); line-height: 1.2;}
.font-size-40 { font-size: clamp(24px, 3.5vw, 40px); line-height: 1.2;}
.font-size-44 { font-size: clamp(24px, 3.5vw, 44px); line-height: 1.2;}
.font-size-48 { font-size: clamp(24px, 3.5vw, 48px); line-height: 1.2;}
.font-size-50 { font-size: clamp(26px, 3.5vw, 50px); line-height: 1.2;}
.font-size-60 { font-size: clamp(28px, 4vw, 60px); line-height: 1.2;}

.font-roboto { font-family: "Roboto", sans-serif;}

.color-blue { color: #003298;}
.color-green { color: #009fb4;}
.color-white { color: #fff;}
.color-red { color: #d0111b;}

.align-center { text-align: center !important;}
.align-left { text-align: left !important;}
.align-right { text-align: right !important;}

.weight-100 { font-weight: 100;}
.weight-300 { font-weight: 300;}
.weight-400 { font-weight: 400;}
.weight-500 { font-weight: 500;}
.weight-700 { font-weight: 700;}
.weight-900 { font-weight: 900;}

.p-layout { padding: 0; margin:0 0 calc(15px + 1%) 0; font-weight: 400; line-height: 1.5; font-size: clamp(18px, 1.5vw, 20px);}

.title-type-1 { padding-bottom: calc(10px + 1%);}

.layout-wrap { display: flex; flex-direction: row; flex-wrap: wrap; }
.layout-nowrap { display: flex; flex-direction: row; flex-wrap: nowrap; }

.width-1200 { max-width: 1200px; margin: 0 auto;}

.banner { position: relative; z-index: 4;}

.banner-pc, .banner-mobile { position: relative;}
.banner-mobile { display: none !important;}

.banner-pto-box {  clip-path: polygon(0% 0, 100% 0%, 100% calc(100% - 90px), 0 100%);}
.banner-pto {  line-height: 0;}
.banner-pto img { width: 100%;}

.banner-slogon { position: absolute; z-index: 3; right: 6%; top:60%; transform: translateY(-50%); width: 28%; padding: 40px calc(20px + 2%) 60px calc(20px + 2%); background: rgba(208,17,27,.9); color: #fff; font-weight: 500; font-size:clamp(20px, 2vw, 30px); line-height: 1.1; }
.banner-slogon > span { font-weight: 700; font-size:clamp(26px, 4vw, 80px);line-height: 1; padding-bottom:calc(20px + 4%); margin-bottom:calc(20px + 2%); position: relative; display: block;}
.banner-slogon > span:after { content: ""; position: absolute; left: 0; bottom: 0px; height: 4px; background: #fff; width: 65%;}

.swiper-slide {text-align: center;display: flex;justify-content: center;align-items: center;}
.swiper-slide img {display: block;width: 100%;height: 100%;object-fit: cover;}
.swiper {width: 100%;height: 300px;margin-left: auto;margin-right: auto;}
.swiper-slide {background-size: cover;background-position: center; padding: 0 0px;}
.mySwiper2 {height: 80%;width: 100%; margin-bottom: 25px;}
.swiper-slide .description, .swiper-slide .title, .swiper-slide .ban-btn {display: block;opacity: 0; transform: translateY(-50px);position: relative; letter-spacing: 0.05rem ; text-align: left;}
.swiper-slide .title {font-weight: 100; font-size: clamp(28px, 3.5vw, 70px);/*-webkit-text-stroke: 2px #fff;*/ line-height: 1; margin-bottom: calc(10px + 1%); color: #152a85;transition: all 0.5s ease 0.5s;font-family: "Roboto", sans-serif; }
.swiper-slide .title > span {color: #009aae;}
.swiper-slide .description { font-size: clamp(16px, 0.8vw, 18px); color: #333 !important;transition: all 0.8s ease 0.8s; line-height: 1.8;margin-bottom: calc(20px + 2%);}
.swiper-slide .description > span {display: block;font-size: clamp(22px, 2vw, 36px); color: #0f2c7f !important; line-height: 1.1;margin-bottom: 12px; font-weight: 500;font-family: "Roboto", sans-serif;  }
.swiper-slide .ban-btn { transition: all 1.1s ease 1.1s;}
.swiper-slide-active .description,.swiper-slide-active .title,.swiper-slide-active .ban-btn  {opacity: 1;}
.swiper-slide-active .title, .swiper-slide-active .description, .swiper-slide-active .ban-btn { transform: translateY(0px);}

.swiper-next, .swiper-prev { width: 50px !important; height: 50px !important; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff;position: absolute; z-index: 2; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; top:43%; transform: translateY(-50%);transition: all 0.4s ease-out 0s; }
.swiper-next:hover, .swiper-prev:hover { }
.swiper-prev { left: 3%; transform: rotate(-135deg);}
.swiper-next { right: 3%; transform: rotate(45deg);}

.banner .swiper-pagination-horizontal {  text-align: center; padding: 0 5% 2% 5%;}
.banner .swiper-pagination-bullet { width: 12px; height: 12px; background: #fff;  opacity: 1; margin: 0 8px !important;}
.banner .swiper-pagination-bullet-active {  background: #151885;}

.idx-video { position: absolute; left: 50%; transform: translateX(-50%); bottom: -50px; background: #790006; z-index: 5; width: calc(100% - 80px - 4%); height: 80px; display: flex; flex-direction: row; flex-wrap: wrap;  align-items: center; padding: 0 8%;transition: all 0.4s ease-out 0s; }
.idx-video:hover { transform:translateX(-50%) scale(0.9);}
.idx-video a {  display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; font-weight: 500; font-size: clamp(18px, 1.9vw, 24px); color: #fff !important; width: 100%;}
.idx-video a img {  width: 25px; }

.idx-main-section { background: url("../images/idx-main-bg-1.png") no-repeat top left; background-size: 70%; position: relative; margin-top: -20px;}
.idx-about-section { padding:0 5% calc(20px + 5%) 0; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center;}
.idx-about-section > div:nth-of-type(1) { width: 36%;}
.idx-about-section > div:nth-of-type(2) { width: 64%; padding: 3.5% 0 3.5% 5%;}

.title-1 { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; padding-bottom: calc(10px + 1%); }
.title-1 > img { width: 52px; }
.title-1 > div, .title-1 > h1 { font-weight: 700; font-size: clamp(24px, 3.5vw, 40px); line-height: 1.1; padding: 5px 0 0 20px; margin: 0 0 0 0; letter-spacing: 0.05rem; font-family: 'Barlow', sans-serif; }

.filter-section { display: flex; flex-direction: row; flex-wrap: wrap;}
.filter-section > div:nth-of-type(1) { display: flex; flex-direction: row; flex-wrap: wrap; width: 77%;}
.filter-section > div:nth-of-type(1) > div { width: 33.33%; padding-right: 5%;}
.filter-section select{  margin: 0px 0 0 0; width:100%; background-image: url(../images/product-select.png); background-repeat: no-repeat; background-position: calc(100% - 10px) 50%; background-size:17px 11px;  -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: transparent; font-size: clamp(18px, 1.7vw, 22px); border-width:0 0 1px 0; border-style: solid; border-color: #555; mwidth: 100%; color:#222; font-family: 'Barlow', sans-serif; padding: 0 35px 0 5px;  letter-spacing: 0.05rem; font-weight: 700; line-height:50px;}
.filter-section option { padding:1px 5px;}
.filter-section select::-ms-expand {
    display: none;
}
.filter-section > div:nth-of-type(2) { width: 23%;}

.btn01 { transition: all 0.4s ease-out 0s; display: block; height: 50px; position: relative; background: #d0111b; border-width: 0; width: 100%;}
.btn01:hover > div { left: 50%; transform: translate(-50%, -50%);}
.btn01:hover > span { right: 0; width: 100%; height: 100%; background: #222;}
.btn01 > div { position: absolute; z-index: 3; top:50%; transform: translateY(-50%); left: 8%; text-transform: uppercase; color: #fff !important;font-size: clamp(18px, 1.5vw, 20px);transition: all 0.4s ease-out 0s;}
.btn01 > span { position: absolute; z-index: 2; top:50%; transform: translateY(-50%); right: 8%; width: 19px; height: 1px; background: #fff; transition: all 0.4s ease-out 0s;}

.idx-application-section { padding: 0 0 calc(40px + 8%) 5%; display: flex; flex-direction: row; flex-wrap: wrap;}
.idx-application-section > div:nth-of-type(1) { width: 365px;}
.idx-application-section > div:nth-of-type(2) { width: calc(100% - 365px); overflow: hidden; }

.idx-app-link:hover .idx-app-pto img { transform: scale(1.1)}
.idx-app-pto { padding-bottom: 60%;}
.idx-app-pto img { transition: all 0.4s ease-out 0s;}
.idx-app-name { height: 70px; background: #ececec; color: #222222; font-size: clamp(16px, 1.3vw, 18px); font-weight: 700; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px;}
.idx-app-name > div { line-height: 1.1; text-align: center; width: 100%;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;}

.loop2 {  padding-right: 10%;}
.loop2 .owl-dots { display: none !important;}
.loop2 .owl-item {position: relative; }
.loop2 .owl-item img {width: auto !important;}
.loop2 .owl-nav { position: absolute; top:calc(50% - 35px); left: 0; width: 100%; z-index: 11;}
.loop2 .owl-prev, .loop2 .owl-next { position:absolute; z-index:100; background:#d0111b !important; width: 35px; height: 35px; margin: 0 !important; border-radius: 100% !important; border: 0px solid #fff !important; transform-origin: 50% 50%;transition: all 0.4s ease-out 0s;}
.loop2 .owl-prev { left:10px; }
.loop2 .owl-next { right:10px;}
.loop2 .owl-prev:before, .loop2 .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; transition: all 0.4s ease-out 0s;width: 10px; height: 10px; background-size: contain; display: inline-block; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff; position: absolute; top:50%; left: 50%; }
.loop2 .owl-prev:before { content: ""; transform: translate(-30%, -50%) rotate(-135deg);}
.loop2 .owl-next:before { content: ""; transform: translate(-70%, -50%) rotate(45deg);}
.loop2 .owl-prev:hover, .loop2 .owl-next:hover { background: #790006 !important;}
.loop2 .owl-stage-outer {z-index: 2; overflow: visible !important;}
.loop2 .owl-dots { position: absolute; z-index: 100; bottom: 30px; left: 0; width: 100%; text-align: center!important; padding: 0 0px; }
.loop2 .owl-dots .owl-dot span, .loop2  .owl-dots .owl-dot span { background: #cecece !important; width: 12px !important; height: 12px !important;}
.loop2 .owl-dots .owl-dot.active span, .loop2  .owl-dots .owl-dot:hover span { background: #151885 !important; }

.idx-middle-section { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; padding-bottom: calc(20px + 5%); }
.idx-middle-section > div:nth-of-type(1) { width: 60%; position: relative; z-index: 2; padding-top: 60px; padding-left: 10%; padding-right: 88px;}
.idx-middle-section > div:nth-of-type(2) { width: 40%; position: relative; margin-top: 144px;}
.idx-middle-section > div:nth-of-type(1):before { position: absolute; content: ""; width: 100%; height: 63%; background: #d0111b; border-radius: 0 225px 225px 0; top: 0; left: 0;}
.idx-middle-section > div:nth-of-type(1) .title-1 > img { filter: brightness(0) invert(1);}
.idx-middle-section > div:nth-of-type(1) .title-1 > div { color: #fff;}
.idx-middle-section > div:nth-of-type(2):before { position: absolute; content: ""; width: 170%; height: 560px; background: #f5f5f5; border-radius: 280px 0 0 280px; top: 70px; right: 0;}

.idx-news-section { position: relative; z-index: 3;}
.loop {  padding-bottom: 50px;}
.loop .owl-dots { }
.loop .owl-item {position: relative; }
.loop .owl-item img {width: auto !important;}
.loop .owl-nav { position: absolute; top:calc(50% - 35px); left: 0; width: 100%; z-index: 11;}
.loop .owl-prev, .loop .owl-next { position:absolute; z-index:100; background:#d0111b !important; width: 35px; height: 35px; margin: 0 !important; border-radius: 100% !important; border: 0px solid #fff !important; transform-origin: 50% 50%;transition: all 0.4s ease-out 0s;}
.loop .owl-prev { left:10px; }
.loop .owl-next { right:10px;}
.loop .owl-prev:before, .loop .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; transition: all 0.4s ease-out 0s;width: 10px; height: 10px; background-size: contain; display: inline-block; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff; position: absolute; top:50%; left: 50%; }
.loop .owl-prev:before { content: ""; transform: translate(-30%, -50%) rotate(-135deg);}
.loop .owl-next:before { content: ""; transform: translate(-70%, -50%) rotate(45deg);}
.loop .owl-prev:hover, .loop .owl-next:hover { background: #790006 !important;}
.loop .owl-stage-outer {z-index: 2; }
.loop .owl-dots { position: absolute; z-index: 100; bottom: 0px; left: 0; width: 100%; text-align: center!important; padding: 0 0px; }
.loop .owl-dots .owl-dot span { background: #727272 !important; width: 12px !important; height: 12px !important;}
.loop .owl-dots .owl-dot.active span, .loop  .owl-dots .owl-dot:hover span { background: #d0111b !important; }

.idx-news-box { padding-left: 50px;}
.idx-news-link {}
.idx-news-link:hover .idx-news-pto img { transform: scale(0.95);}
.idx-news-link:hover .idx-news-name { color: #d0111b;}
.idx-news-pto { padding-bottom: 59%; margin-bottom: 20px;}
.idx-news-pto img { transition: all 0.4s ease-out 0s;}
.idx-news-date { font-size: clamp(16px, 1.3vw, 18px); line-height: 1; padding-bottom: 5px;}
.idx-news-name { font-size: clamp(20px, 2.0vw, 26px); line-height: 1.2; font-weight: 700;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;}

.idx-knowledge-section { position: relative; z-index: 2; padding: 0 15% 0 40px;}

.idx-knowledge-list { padding: 20px 0 35px 0 ;}
.idx-knowledge-list > a { position: relative; border-bottom: 2px solid #e5e5e5; padding: 20px 0; display: flex; flex-direction: row; flex-wrap:  nowrap; align-items: flex-start;}
.idx-knowledge-list > a:hover:after { width: 100%; left: 0;}
.idx-knowledge-list > a:hover > div { color: #d0111b;}
.idx-knowledge-list > a:after { position: absolute; content: ""; width: 0%; right: 0; bottom: -2px; height: 2px; background: #d0111b;transition: all 0.4s ease-out 0s;}
.idx-knowledge-list > a > img { width: 25px; display: inline-block; margin-top: 3px;}
.idx-knowledge-list > a > div { font-weight: 500; padding-left: 15px; padding-top:0px;}

.idx-knowledge-btn .btn01 { max-width: 220px; margin: 0 0 0 auto;}

.idx-bottom-section { background: url("../images/idx-bottom-bg.png") no-repeat top center; padding: 0 5%; margin-top: calc(20px + 5%);}

.idx-map-section { margin: calc(20px + 3%) 0 calc(20px + 4%) 0; position: relative;}
.idx-map-btn { background: #d0111b; text-align: center; color: #fff !important; font-weight: 700; font-size: calc(12px + 0.1vw); line-height: 1; padding: 0.5% 1% 0.7% 1%; border-radius: 18px; position: absolute; }
.idx-map-btn:hover { animation-name: map-btn;animation-duration: 1s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;}
@keyframes map-btn {
  0%   {transform: scale(1);}
  50%  {transform: scale(0.9);background: #222; }
  100% {transform: scale(1);}
}
.idx-map-usa { left: 16%; top:39%;}
.idx-map-brazil { left: 33%; bottom:25%;}
.idx-map-argentina { left: 25%; bottom:14%;}
.idx-map-british { left: 33%; top:20%;}
.idx-map-swiss { left: 42%; top:30%;}
.idx-map-europe { left: 48%; top:21%;}
.idx-map-russia { left: 51%; top:30%;}
.idx-map-italy { left: 48%; top:36%;}
.idx-map-israel { left: 50%; top:42%;}
.idx-map-saudi { right: 35%; bottom:35%;}
.idx-map-south { left: 48%; bottom:16%;}
.idx-map-thailand { right: 24%; bottom:43%;}
.idx-map-korea { right: 18%; top:40%;}
.idx-map-china { right: 23%; top:30%;}
.idx-map-japan { right: 9%; top:39%;}
.idx-map-taiwan { right: 13.5%; top:48%;}
.idx-map-australian { right: 12%; bottom:18%;}

.idx-ce-section { padding: calc(20px + 1%) 0 calc(20px + 4%) 0; display: flex; flex-direction: row; flex-wrap:  wrap; justify-content: space-around;}
.idx-ce-section > div { padding: 0 1vw 20px 1vw; filter: invert(1);}

@media only screen and (max-width: 1920x) {
	
}

@media only screen and (max-width: 1365px) {
	#content { padding-top: 60px;}
	
}

@media only screen and (max-width: 1279px) {
	
	.banner-pc { display: none !important}
	.banner-mobile { display: block !important; }
	
	.idx-application-section { padding-right: 5%; padding-bottom:calc(20px + 4%) }
	.idx-application-section > div:nth-of-type(1) { width: 100%;}
	.idx-application-section > div:nth-of-type(2) { width: calc(100% - 0px);}
	.loop2 {  padding-right: 0%;}
	
	.idx-middle-section { padding-bottom: 0;}
	.idx-middle-section > div:nth-of-type(1) { width: 100%; padding-top: 30px; padding-left: 5%; padding-right: 5%;}
	.idx-middle-section > div:nth-of-type(2) { width: 100%; margin-top: 40px; padding-bottom: 50px;}
	.idx-middle-section > div:nth-of-type(1):before { border-radius: 0;}
	.idx-middle-section > div:nth-of-type(2):before { width: 100%; height: calc(100% - 50px); border-radius: 0; top: 50px;}
	.idx-news-box { padding-left: 0;}
	.idx-knowledge-section { padding: 0 5%;}
	
}

@media only screen and (max-width: 980px) {
	.banner-pto-box {  clip-path: polygon(0% 0, 100% 0%, 100% calc(100% - 0px), 0 100%);}
	.swiper-prev { transform: rotate(-135deg) scale(0.5); left: 10px;}
	.swiper-next { transform: rotate(45deg) scale(0.5); right: 10px;}
	.banner-slogon { width: 40%; padding-top: 30px;}
	
	.banner-slogon { position: relative; right: auto; top:auto; width: 100%; padding: 30px calc(20px + 2%) 40px calc(20px + 2%); transform: translateY(0);}
	.banner-slogon > span { padding-bottom: 25px; margin-bottom: 15px;}
	.idx-video { width: 90%; padding: 0 calc(15px + 3%); height: 60px; bottom: -35px;}
	
	.idx-main-section { margin-top: 40px;}
	
	.title-1 > img { width: 35px; }
	.title-1 > div, .title-1 > h1 { padding: 0px 0 0 10px; }
	
	.idx-about-section > div:nth-of-type(1) { width: 100%; order:2; display: none;}
	.idx-about-section > div:nth-of-type(2) { width: 100%; order: 1; padding: 3.5% 0 3.5% 5%;}
	
	.idx-map-section { display: flex; flex-direction: row; flex-wrap: wrap;}
	.idx-map-btn { width: calc(33.33% - 10px); margin: 0 5px 10px 5px; font-size: clamp(16px, 1.3vw, 18px); padding: 10px 10px; border-radius: 20px; position: relative; z-index: 3; top: auto !important; bottom: auto !important;left: auto !important; right: auto !important;}
	.idx-map-section img { position: absolute; opacity: 0.2;}
}
@media only screen and (max-width: 768px) {
	.filter-section > div:nth-of-type(1) { width: 100%; padding-bottom: 10px;}
	.filter-section > div:nth-of-type(2) { width: 100%;}
	.filter-section > div:nth-of-type(1) > div { width: 100%; padding-right: 0%;}
	.btn01 > div { left: 20px;}
	.btn01 > span { right: 20px;}
	
}
@media only screen and (max-width: 640px) {
	
}
@media only screen and (max-width: 570px) {
	
}

@media only screen and (max-width: 414px) {
	.idx-map-btn { width: calc(50% - 10px); }
	
}

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