@charset "UTF-8";
main{
  padding-bottom: 64px;
  overflow: hidden;
}
header{
}
.hd_bar{
  background: #fff;
  transition: .3s;
}
.hd_bar.act{
  background: #fff;
}
.top_header {
    position: absolute;
    top: 15px;
    max-width: 1024px;
    width: 100%;
  z-index: 9;
}
.top_hd_inner {
    margin-top: 15px;
}
.top_header .hd_lang {
    position: absolute;
    top: 0;
    right: 0;
}
.mv {
}
.mv_inner {
  max-width: 100%;
  overflow: hidden;
  height: 53vw;
  max-height: calc(100vh - 80px);
}
.mv_block {
  height: 53vw;
  max-height: calc(100vh - 80px);
  display: flex!important;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
}
.mv_block video{
  line-height: 1;
  width: 100%;
}
.mv_block::after{
  content: '';
  display: block;
  width: 100%;
  height: 40%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(180deg,transparent 0%, #fff 60%);
  pointer-events: none;
}
.mv_img{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.mv_img img{
  width: 100%;
}
.mv_catch{
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  pointer-events: none;
}
.slick-current .mv_catch--oth{
  animation: pop 1s ease-out 0s forwards normal
}
.slick-current .mv_catch--01{
  animation: pop 1s ease-out 3.5s forwards normal
}
@keyframes pop{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
.mv_text--01 {
  font-size: min(5vw,6.4rem);
  font-weight: bold;
  position: absolute;
  top: 7vw;
  color: #fff;
}
.mv_text--02 {
  font-size: min(3.59375vw,4.6rem);
  font-weight: bold;
  position: absolute;
  bottom: 10vw;
}
.mv_text--03,
.mv_text--04 {
  font-size: min(3.59375vw,4.6rem);
  max-width: 1280px;
  width: 90%;
  font-weight: bold;
  position: absolute;
  bottom: 5%;
}
.mv_text--05 {
  font-size: min(3.59375vw,4.6rem);
  max-width: 1280px;
  width: 90%;
  font-weight: bold;
  position: absolute;
  bottom: 5%;
}
.mv_caption {
  position: absolute;
  bottom: 5%;
  right: 5%;
  z-index: 1;
}
/*topics*/
.topics{
  padding-top: 30px;
}
.topics_inner {
  max-width: 1024px;
  width: 90%;
  display: flex;
  justify-content: center;
  margin: auto;
  gap: 20px;
  flex-wrap: wrap;
}
.topics_head {
  width: 100%;
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
}
.topics_card {
  max-width: 241px;
  font-size: 1.4rem;
  background: #000;
}
.topics_img {
  margin: 0;
}
.topics_plate {
  padding: 15px;
  color: #fff;
  font-weight: bold;
}

/*tech*/
.tech{
  background: url("../img/bg_02.png") no-repeat left bottom;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 85px 0;
}
.tech_inner{
  max-width: 1024px;
  width: 90%;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 120px;
}
.tech_title {
    font-size: 3.8rem;
    text-align: center;
    font-weight: bold;
    letter-spacing: 6px;
    margin: 0;
  color: #fff;
}
.tech_main {
  margin-top: 40px;
  color: #fff;
  line-height: 2;
}
.tech_inner .btn_more{
  background: #fff;
  color: #000;
}
/*business*/
.business{
  background: url("../img/bg_04.png") no-repeat center;
  -webkit-background-size: cover;
  background-size: cover;
  padding: 75px 0;
}
.bus_inner{
  max-width: 945px;
  width: 90%;
  margin: auto;
}
.bus_title {
    margin: 0;
    font-size: 3.2rem;
    color: #fff;
    text-align: center;
}
.bus_list {
    background: rgba(255,255,255,.5);
    padding: 55px 130px;
    margin-top: 25px;
}
.bus_list {
    background: rgba(255,255,255,.5);
    padding: 55px 130px;
    margin-top: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.bus_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #E7001C;
    width: 154px;
    height: 154px;
    justify-content: center;
    color: #fff;
    font-weight: bold;
  text-align: center;
  font-size: 2rem;
}
.bus_name--small{
  font-size: 1.4rem;
  line-height: 1.25;
}
.menu{
  display: flex;
  width: 100%;
}
.menu_left,
.menu_center,
.menu_right{
  width: 33.3333333%;
  display: flex;
  justify-content: center;
}
.menu_left{
  background: url("../img/bg_05_1.png") no-repeat center;
  -webkit-background-size: cover;
  background-size: cover;
}
.menu_center{
  background: url("../img/bg_05_2.png") no-repeat center;
  -webkit-background-size: cover;
  background-size: cover;
}
.menu_right{
  background: url("../img/bg_05_3.png") no-repeat center;
  -webkit-background-size: cover;
  background-size: cover;
}
.menu_inner {
    display: flex;
    max-width: 640px;
    width: 100%;
    height: 324px;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
}
/*ir*/
.ir{
  padding-top: 65px;
}
.ir_inner {
    max-width: 1024px;
    width: 90%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ir_head {
    text-align: center;
    line-height: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ir_title {
    margin: 0;
  letter-spacing: 3px;
}
a.ir_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 25px;
    background: #E7001B;
    color: #fff;
    font-weight: bold;
    margin: 7.5px 0;
}
.ir_list {
    display: flex;
    flex-wrap: wrap;
    max-width: 763px;
    width: 100%;
    gap: 20px;
}
.ir_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 241px;
    height: 171px;
    background: #E8E8E8;
}
.ir_img {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
}
.ir_name {
    font-size: 2rem;
    font-weight: bold;
    color: #000;
    margin-top: 10px;
}
/*news*/
.news {
    padding: 65px 0;
}
.news_inner {
    max-width: 1024px;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: auto;
}
.news_col {
    max-width: 502px;
    width: 100%;
}
.news_title {
    margin: 0;
    text-align: center;
    font-size: 3.2rem;
}
.news_list {
    margin-top: 25px;
    border-top: 1px solid #707070;
}
.news_row {
    border-bottom: 1px solid #707070;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0;
  align-items: center;
  gap:10px 30px;
}
.news_time {
    min-width: 100px;
    color: #000;
}
.news_cate {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #e7001c;
    color: #e7001c;
    width: 120px;
    height: 30px;
    font-weight: bold;
}
.news_cate--01{
}
.news_cate--02{
  font-size: 1.4rem;
}
.news_cate--03{
}
.news_cate--04{
}
.news_cate--05{
}
.news_cate--06{
}
.news_cont {
    width: 100%;
  color: #000;
}
.ir_cate {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #e7001c;
    color: #fff;
    width: 120px;
    height: 30px;
    font-weight: bold;
}
/*.ir_cate--b{
  background: #2241A7;
}
.ir_cate--y{
  background: #E76C00;
}
.ir_cate--n{
  background: #707070;
}
.ir_cate--g{
  background: #248F27;
}*/
.bnr_rec {
  max-width: 764px;
  width: 90%;
  margin: 60px auto 0;
  display: flex;
}
@media screen and (max-width: 767px) {
  header{
    height: 60px;
  }
  .hd_bar{
    display: none;
  }
  .top_header{
    display: none;
  }
.mv {
    height: auto;
  overflow: hidden;
}
.mv_inner{
    height: auto;
  max-height: none;
}
.mv_block {
  flex-direction: column;
  height: auto;
  max-height: none;
}
.mv_block::after{
  background: linear-gradient(180deg, transparent, #fff 30%);
  min-height: 60vw;
}
.mv_catch {
  position: relative;
  margin-top: -20vw;
  min-height: 60vw;
}
.mv_catch--01 {
  flex-direction: column;
}
.mv_text--01 {
  font-size: min(9.59147vw, 6.4rem);
  position: static;
  color: #E7001C;
}
.mv_text--02 {
  font-size: min(4.79575vw, 3.6rem);
  position: static;
}
.mv_text--03,
.mv_text--04 {
    font-size: min(5.3286vw, 4.6rem);
  max-width: 1280px;
  width: 90%;
  position: static;
}
.mv_text--05 {
    font-size: min(5.3286vw, 4.6rem);
  max-width: 1280px;
  width: 90%;
  position: static;
}
/*topics*/
.topics{
}
.topics_inner {
  flex-direction: column;
  align-items: center;
}
.topics_plate {
  padding: 20px 5%;
}
/*tech*/
.tech{
  position: relative;
}
.tech::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.75), transparent),url(../img/bg_02.png) no-repeat left bottom;
    -webkit-background-size: cover;
    background-size: cover;
    z-index: 0;
}
.tech_inner {
    position: relative;
  padding-left: 0;
}
.tech_title {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0;
}
.bus_list {
    padding: 40px 2.5%;
    gap: 10px;
}
.bus_card {
    max-width: calc(50% - 5px);
}
.bus_name {
    font-size: 1.4rem;
}
.bus_name--small {
    font-size: 1.2rem;
}
.menu {
    flex-direction: column;
    align-items: center;
}
.menu_left, .menu_center, .menu_right {
    width: 100%;
}
.menu_inner {
    height: 200px;
    margin: auto;
}
.ir_inner {
    flex-direction: column;
}
.ir_list {
    gap: 10px;
    justify-content: center;
  margin-top: 20px;
}
.ir_card {
    max-width: calc(50% - 5px);
}
.ir_name {
    font-size: 1.6rem;
}
.news_inner {
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 60px;
}
.news_cate {
    font-size: 1.4rem;
    height: 23px;
}
}
@media print {
.mv_slide img {
    width: 1210px;
}
.mv_slide {
    height: 690px;
  background: #000;
}
}