/* CSS Document */

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

#content { font-size: 18px; line-height:1.5; color: #222; letter-spacing: 0.05rem; font-weight: 400; padding-top: 0;}
#content p{ margin-bottom: 30px; margin-top: 0; font-size: 18px;line-height:1.5;  font-weight: 400;}
p, td, li, label { font-size: 18px;line-height:1.5;  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-pc, .banner-mobile { line-height: 0;}
.banner-mobile { display: none;}

.banner-pto {  line-height: 0; }
.banner-pto img, video { object-fit: cover; width: 100%; height: 100%;}
video { }

.video-container {position: relative;padding-bottom: 49.1%;padding-top: 30px;height: 0;overflow: hidden;}
.video-container iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%; border-width: 0; transform: scale(1.1);}


.loop .owl-dots { display: none;}
.loop .owl-item {position: relative; }
.loop .owl-nav { position: absolute; top:calc(50% - 40px); width: 100%; z-index: 11;}
.loop .owl-prev, .loop .owl-next { position:absolute; z-index:100; top:calc(50% - 0px);  width: 60px !important; height: 60px !important; background:transparent !important; border: 2px solid #fff !important; border-radius: 100% !important;transition: all 0.4s ease-out 0s; }
.loop .owl-prev { left:2%; }
.loop .owl-next { right:2%;}
.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: 20px; height: 20px; background-size: contain !important; display: inline-block; border-width: 2px 2px 0 0; border-style: solid; border-color: #fff; margin-top: 7px;}
.loop .owl-prev:before { content: ""; transform: rotate(-135deg); margin-left: 10px; }
.loop .owl-next:before { content: ""; transform: rotate(45deg);  margin-right: 10px; }
.loop .owl-prev:hover:before, .loop .owl-next:hover:before { opacity: 1;}
.loop .owl-prev:hover, .loop .owl-next:hover { transform: scale(0.85);}
.loop .owl-stage-outer {z-index: 2;}
.loop .owl-dots { position: absolute; z-index: 100; bottom: 25px; width: 100%; text-align: center !important; padding: 0 50px; }
.loop .owl-dots .owl-dot span, .loop  .owl-dots .owl-dot span { background: #C9C9C9 !important; width: 14px !important; height: 14px !important; border: 0px solid #4c4c4c;}
.loop .owl-dots .owl-dot.active span, .loop  .owl-dots .owl-dot:hover span { background: #FEAC5C !important; }

.idx-top-section { position: relative; padding: calc(20px + 4%) 0 0 0 }
.idx-top-section:after { position: absolute; content: ""; z-index: -2; top: 0 ; left: 0; width: 100%; height: 100%; background: #e3edf5; clip-path: polygon(0% 0, 25% 0%, 100% calc(100% - 120px), 100% 100%, 34% 100%, 0% calc(100% - 180px));}

.idx-section-1 { padding-bottom: calc(20px + 4%);}
.idx-section-1-content { display: flex; flex-direction: row; flex-wrap: wrap;}
.idx-section-1-content > div { width: 50%;}
.idx-section-1-content > div:nth-of-type(1) { padding-right: 30px;}
.idx-section-1-content > div:nth-of-type(2) { padding: calc(20px + 1%) 0 0 calc(40px + 3%);}
.idx-section-1-content .title01 h1 { font-size: clamp(30px, 3.2vw, 46px);}

.loop2 { margin-bottom: calc(30px + 2%); padding-right: 0px; position: relative;}
.loop2:after { content: ""; position: absolute; width: 100%; height: 100%; border-radius: 0 90px 0 90px; right: -20px; bottom: -20px; background: #000000; opacity: 0.1; z-index: -1;}
.loop2 .owl-dots { }
.loop2 .owl-item {position: relative; }
.loop2 .owl-nav { position: absolute; top:calc(50% - 40px); left: 0; width: 100%; z-index: 11;}
.loop2 .owl-prev, .loop2 .owl-next { position:absolute; z-index:100; top:calc(50% - 0px); background:none !important;}
.loop2 .owl-prev { left:30px; }
.loop2 .owl-next { right:30px;}
.loop2 .owl-prev:before, .loop2 .owl-next:before { font-family: 'Font Awesome 5 Free';font-weight: 900 !important;font-size:70px; color: #fff; opacity: 0.5;transition: all 0.4s ease-out 0s;width: 35px; height: 35px; background-size: contain; display: block; border-width: 2px 2px 0 0; border-style: solid; border-color: #fff;}
.loop2 .owl-prev:before { content: ""; transform: rotate(-135deg); }
.loop2 .owl-next:before { content: ""; transform: rotate(45deg);}
.loop2 .owl-prev:hover:before, .loop2 .owl-next:hover:before { opacity: 1;}
.loop2 .owl-stage-outer {z-index: 2;border-radius: 0 90px 0 90px;}
.loop2 .owl-dots { position: absolute; z-index: 100; bottom: -65px; left: 0; width: 100%; text-align: center !important; padding: 0 0px; }
.loop2 .owl-dots .owl-dot span, .loop2  .owl-dots .owl-dot span { background: #c3c3c3 !important; width: 14px !important; height: 14px !important;}
.loop2 .owl-dots .owl-dot.active span, .loop2  .owl-dots .owl-dot:hover span { background: #27597e !important; }

.title01 { position: relative; margin-bottom: calc(10px + 1%); font-weight: 700; color: #27597e;font-size: clamp(22px, 2vw, 34px); line-height: 1.2;}
.title01 div, .title01 h1 { font-size: clamp(30px, 4.2vw, 60px); display: block; padding: 0; margin: 0; line-height: 1.2; font-weight: 700;}
.title01:before { position: absolute; content: ""; background: url("../images/logo-icon.png") no-repeat; background-size: contain; width: 25px; height: 25px; left: -40px; top: 6px;}

.btn-more { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center;}
.btn-more:hover > div:nth-of-type(1) { width:28px; }
.btn-more:hover > div:nth-of-type(2) { color: #27597e; }
.btn-more > div:nth-of-type(1) { position: relative; width: 19px; height: 2px; background: #27597e; margin-right: 12px;transition: all 0.4s ease-out 0s; }
.btn-more > div:nth-of-type(1):after { position: absolute; content: ""; width: 9px; height: 9px;border-width: 2px 2px 0 0 ; border-style: solid; border-color: #27597e; transform: rotate(45deg) translateY(-50%); top:calc(50% - 1px); right: 2px;}
.btn-more > div:nth-of-type(2) { font-size: 15px;}

.idx-section-2 { padding: 0 calc(10px + 3%) calc(20px + 4%) calc(10px + 3%);}
.idx-section-2-box { border-radius: 25px; overflow:hidden; padding: calc(20px + 2%); color: #fff; line-height: 1.3;
background-image: linear-gradient(90deg, rgba(18,148,221,0) 0%, rgba(18,148,221,0) 100%), url("../images/idx-section-2-bg.jpg");
background-position: center center, left top;
background-repeat: no-repeat, no-repeat;
background-size: auto, cover;}
.idx-section-2-content { max-width: 860px; width: 100%; margin: 0 0 0 auto; text-align: center;}
.idx-section-2-content-top { display:flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #fff; margin-bottom: calc(20px + 1%);}
.idx-section-2-content-top > div { width: 48%; text-align: center; font-size: 17px; padding-bottom: calc(10px + 1%);}
.idx-section-2-content-top > div > b { display: block; text-align: center; font-weight: 900; font-size: clamp(38px, 7vw, 90px); letter-spacing: 0;}

.idx-section-2-content-bottom { display:flex; flex-direction: row; flex-wrap: wrap;}
.idx-section-2-content-bottom > div { margin-bottom: calc(15px + 2%);}
.idx-section-2-content-bottom > div:nth-child(odd){ width: 136px; padding: 0 3%;}
.idx-section-2-content-bottom > div:nth-child(even) { width: calc(100% - 136px); text-align: left; padding-top: 7px; padding-left: 1%;}
.idx-section-2-content-bottom > div:nth-child(even) > b { display: block; font-size: clamp(20px, 2vw, 30px); padding-bottom: 5px;}

.loop3 { margin-bottom: calc(30px + 2%); padding-right: calc(20px + 5%); padding-left: calc(20px + 5%); position: relative;}
.loop3 .owl-dots { }
.loop3 .owl-item {position: relative; }
.loop3 .owl-nav { position: absolute; top:calc(50% - 40px); left: 0; width: 100%; z-index: 11;}
.loop3 .owl-prev, .loop3 .owl-next { position:absolute; z-index:100; top:calc(50% - 0px);  width: 60px !important; height: 60px !important; background:transparent !important; border: 2px solid #27597e !important; border-radius: 100% !important;transition: all 0.4s ease-out 0s; }
.loop3 .owl-prev { left:0; }
.loop3 .owl-next { right:0;}
.loop3 .owl-prev:before, .loop3 .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: 20px; height: 20px; background-size: contain !important; display: inline-block; border-width: 2px 2px 0 0; border-style: solid; border-color: #27597e; margin-top: 7px;}
.loop3 .owl-prev:before { content: ""; transform: rotate(-135deg); margin-left: 10px; }
.loop3 .owl-next:before { content: ""; transform: rotate(45deg);  margin-right: 10px; }
.loop3 .owl-prev:hover:before, .loop3 .owl-next:hover:before { opacity: 1;}
.loop3 .owl-prev:hover, .loop3 .owl-next:hover { transform: scale(0.85);}
.loop3 .owl-stage-outer {z-index: 2; }
.loop3 .owl-dots { position: absolute; z-index: 100; bottom: -50px; left: 0; width: 100%; text-align: center !important; padding: 0 0px; }
.loop3 .owl-dots .owl-dot span, .loop3  .owl-dots .owl-dot span { background: #c3c3c3 !important; width: 14px !important; height: 14px !important;}
.loop3 .owl-dots .owl-dot.active span, .loop3  .owl-dots .owl-dot:hover span { background: #27597e !important; }

.idx-app-section { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 30px 0;}
.idx-app-section > div:nth-of-type(1) { width:calc(50% - 60px); padding-right: 5%; padding-left: calc(30px + 3%);}
.idx-app-section > div:nth-of-type(2) { width:calc(50% + 60px); padding-right: 30px;}
.idx-app-pto { box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.1) !important;}

.btn01 { display: block; font-size: 15px; width: 160px; line-height: 50px; border: 1px solid #000; color: #000; text-align: center; padding: 0 10px;}
.btn01:hover { background: #000; color: #fff; transform: scale(0.9);}

.idx-esg-section { padding: calc(25px + 6%) 5%;
background-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 100%), url("../images/idx-esg-bg.jpg");
background-position: center center, center center;
background-repeat: no-repeat, no-repeat;
background-size: auto, cover;}
.idx-esg-content {text-shadow: 0px 0px 5px #000; max-width: 600px; margin: 0 auto 0 0; color: #fff;font-size: clamp(18px, 1.2vw, 20px); line-height: 1.2;}
.idx-esg-content > b { display: block; padding-bottom:calc(10px + 1%); font-weight: 900; font-size: clamp(42px, 6vw, 44px);text-shadow: 0px 0px 8px #000; line-height: 1;}

.idx-news-section { padding-top:calc(20px + 4%); padding-bottom:calc(20px + 4%);}
.idx-news-section-title { position: relative; z-index: -1; font-weight: 900; font-size: clamp(40px, 12vw, 260px); left: -6%; font-family: "Open Sans", serif; line-height: 1;
-webkit-text-stroke: 1px #92c25c;
  -webkit-text-fill-color: #92c25c;}

.idx-news-list-section { border-top: 1px solid #dadada; position: relative; margin-top: calc(-35px - 2%); margin-bottom: 25px;}
.idx-news-list { background: #fff;border-bottom: 1px solid #dadada; padding: 20px 0; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; position: relative;}
.idx-news-list:after { transition: all 0.4s ease-out 0s; position: absolute; content: ""; top: 0; height: 100%; right: 0; width: 0; background: #f7f7f7;}
.idx-news-list:hover:after { left: 0; width: 100%;}
.idx-news-list:hover > div:nth-of-type(3) > span { transform: translateX(80px);}
.idx-news-list > div { z-index: 3; position: relative;}
.idx-news-list > div:nth-of-type(1) { width: 120px; text-align: center; font-size: 16px;}
.idx-news-list > div:nth-of-type(2) { width: calc(100% - 120px - 76px); font-weight: 500; padding: 0 2%; white-space:nowrap; text-overflow : ellipsis; overflow:hidden;}
.idx-news-list > div:nth-of-type(3) { width: 76px; text-align: center; overflow: hidden;}
.idx-news-list > div:nth-of-type(3) > span { position: relative; width: 32px; height: 2px; background: #27597e; margin-right: 12px;transition: all 0.4s ease-in 0s; display: inline-block; top:-4px}
.idx-news-list > div:nth-of-type(3) > span:after { position: absolute; content: ""; width: 12px; height: 12px;border-width: 2px 2px 0 0 ; border-style: solid; border-color: #27597e; transform: rotate(45deg) translateY(-50%); top:calc(50% - 2px); right: 4px;}

.idx-news-btn .btn01 { margin: 0 0 0 auto;}

@media only screen and (max-width: 1365px) {
    #content { font-size: 16px;}
	#content p{ font-size: 16px;}
	p, td, li, label { font-size: 16px;}

	
}
@media only screen and (max-width: 1279px) {
	#content { padding-top: 64px;}
	.banner-pc { display: none}
	.banner-mobile { display: block; }
	
	.title01:before { transform:scale(0.6); top: -25px; left: -5px;}

	.idx-section-2-box { background-image: linear-gradient(90deg, rgba(18,148,221,0.7) 0%, rgba(18,148,221,0.7) 100%), url("../images/idx-section-2-bg.jpg");}
	.idx-section-2-content { max-width: 100%;}
	
	.loop3 { padding-right: 0; padding-left: 0;}
	.loop3 .owl-nav { display:none;}
	.idx-app-section > div:nth-of-type(1) { width:100%; order: 2; padding-right: 0; padding-left: 0;}
	.idx-app-section > div:nth-of-type(2) { width:100%; padding: 0 0px 30px 0px; order: 1;}
	.idx-app-pto { box-shadow: 0px 0px 45px 0px rgba(0,0,0,0) !important;}
	
	.idx-news-section-title { text-align: center; left:auto}

	.idx-news-list-section { margin-top: -2%;}
}

@media only screen and (max-width: 980px) {
	.loop .owl-nav, .loop3 .owl-nav { top:calc(50% - 30px); }
	.loop .owl-prev, .loop .owl-next, .loop3 .owl-prev, .loop3 .owl-next { width: 35px !important; height: 35px !important; }
	.loop .owl-prev:before, .loop .owl-next:before, .loop3 .owl-prev:before, .loop3 .owl-next:before { width: 12px; height: 12px; }
	.loop .owl-prev:before, .loop3 .owl-prev:before { margin-left: 5px; }
	.loop .owl-next:before, .loop3 .owl-next:before { margin-right: 5px; }
	
	.idx-section-1-content > div { width: 100%;}
	.idx-section-1-content > div:nth-of-type(1) { padding-right: 0px; order: 2;}
	.idx-section-1-content > div:nth-of-type(2) { padding: 0 0 30px 0; order: 1;}
	
	.loop2:after { border-radius: 0 40px 0 40px;right: -10px; bottom: -10px;}
	.loop2 .owl-stage-outer { border-radius: 0 40px 0 40px;}
	
	.idx-section-2-content-bottom > div:nth-child(odd){ width: 90px; }
	.idx-section-2-content-bottom > div:nth-child(odd) img{ max-width: 45px; }
	.idx-section-2-content-bottom > div:nth-child(even) { width: calc(100% - 90px); padding-top: 0; padding-left: 0; }
	
.idx-esg-section { background-image: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.15) 100%), url("../images/idx-esg-bg.jpg");}
}
@media only screen and (max-width: 768px) {
	.idx-news-list > div:nth-of-type(1) { width: 100%; text-align: left; padding: 0 10px; color: #27597e;}
	.idx-news-list > div:nth-of-type(2) { width: calc(100% - 50px); padding: 0 10px; white-space:inherit; text-overflow:inherit; overflow:visible;}
	.idx-news-list > div:nth-of-type(3) { width: 50px;}
}
@media only screen and (max-width: 640px) {
	.loop .owl-prev, .loop .owl-next { width: 18px !important; height: 18px !important; border: 1px solid #fff !important; }
	.loop3 .owl-prev, .loop3 .owl-next { width: 18px !important; height: 18px !important; border: 1px solid #27597e !important; }
	.loop .owl-prev:before, .loop .owl-next:before, .loop3 .owl-prev:before, .loop3 .owl-next:before { width: 5px; height: 5px;top: -7px; position: relative; border-width: 1px 1px 0 0}
	.loop .owl-prev:before, .loop3 .owl-prev:before { margin-left: 2px; }
	.loop .owl-next:before, .loop3 .owl-next:before { margin-right: 2px; }
	
	
}
@media only screen and (max-width: 570px) {
	.idx-section-2-box { padding: calc(20px + 2%) calc(10px + 1%);}
	.idx-section-2-content-top > div { width: 100%; }
	.idx-section-2-content-bottom { flex-direction: column; align-items: center;}
	.idx-section-2-content-bottom > div:nth-child(odd) { margin-bottom: 10px;}
	.idx-section-2-content-bottom > div:nth-child(even) { width: calc(100% - 0px); text-align: center}
}

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

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