#footer{margin-top: 0;}

#sm_main01,#sm_main01 .content,#sm_main01 .bg{height: 830px; width: 100%;}
#sm_main01 .bg{overflow: hidden;}
#sm_main01 .bg img{height: 100%;}
#sm_main01 .inner{position: absolute; top: 100px; left: 0; width: 100%; height: 730px; z-index: 5;}
#sm_main01 .inner .txt{position: absolute; top: 28%; left: 0; width: 100%;}
#sm_main01 .inner .txt p{font-weight: bold; padding-bottom: 12px; font-size: 28px; color: rgba(255, 255, 255, 0.55); text-transform: uppercase;}
#sm_main01 .inner .txt h1{font-size: 48px; color: #fff; font-weight: 300;}
#sm_main01 .inner .txt h1 span{font-size: 50px; font-weight: 600; color: #fff;}
#sm_main01 .slide_page{position: absolute; right: 80px; top: 50%; transform: translateY(-50%);}
#sm_main01 .slide_page span{display: block; opacity: 1; margin-top: 60px; position: relative; width: 5px; height: 5px; background-color: #fff; border-radius: 50%;}
#sm_main01 .slide_page span:first-child{margin-top: 0;}
#sm_main01 .slide_page .swiper-pagination-bullet-active::before{content: ""; width: 35px; height: 35px; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; background-color: rgba(255, 255, 255, 0.18);}
#sm_main01 .scroll{position: absolute; left: 50%; transform: translateX(-50%); bottom: 30px;
  animation-name: scroll; animation-duration: 1s; animation-direction: alternate; animation-iteration-count: infinite;}

@keyframes scroll {
  from {bottom: 45px;}
  to {bottom: 30px;}
}


.small_title{margin-bottom: 14px;}
.small_title span b{font-size: 20px; line-height: 1; text-transform: uppercase;}
.small_title span i{display: inline-block; width: 16px;}
.in_title h2{font-size: 44px; font-weight: 600; line-height: 64px;}

#sm_main02{position: relative; z-index: 6; top: -1px;}
#sm_main02>ul{display: flex; align-items: center;}
#sm_main02>ul .move_page{width: 400px; padding: 40px 80px; color: #fff; font-weight: bold; display: flex; align-items: center; justify-content: space-between;}
#sm_main02>ul .move_page .move{display: flex; align-items: center; cursor: pointer; font-size: 18px; line-height: 1;}
#sm_main02 .move i{display: block; width: 8px; position: relative;}
#sm_main02 .move.prev i{margin-right: 20px;}
#sm_main02 .move.next i{margin-left: 20px;}
#sm_main02>ul .board_thum{width: calc(100% - 400px); display: flex; align-items: center; padding: 36px 80px; font-size: 18px;}
#sm_main02>ul .board_thum .info{font-weight: bold; width: 107px; line-height: 1; padding-right: 40px; margin-right: 40px; border-right: 1px solid #ddd;}
#sm_main02>ul .board_thum .slide_txt{width: calc(100% - 139px); height: 26px; overflow: hidden;}
#sm_main02>ul .board_thum p{font-weight: 400; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer;}


#sm_main03{padding: 180px 0;}
#sm_main03 .pic{width: 425px; max-width: 100%; margin-top: 160px;}
#sm_main03 .content>ul{display: flex; justify-content: space-between;}
#sm_main03 .content>ul .video_wrap{width: 50%; /* padding-top: 90px; */}
#sm_main03 .content>ul .video_wrap .video{width: 100%; overflow: hidden; margin-bottom: 80px; height: 530px;}
#sm_main03 .content>ul .video_wrap .video video{width: 100%; position: relative; left: -1px; height: 100%; object-fit: cover; object-position: right;}
#sm_main03 .content>ul .video_wrap .in_txt{font-size: 20px; line-height: 37px; font-weight: 400; width: 620px; max-width: 100%;}
#sm_main03 .content>ul .video_wrap .in_txt b{font-size: 32px;}


#sm_main04{background: url(../img/main04_bg.png); background-size: cover; width: 100%; height: 800px; text-align: center; color: #fff; display: flex; justify-content: center; align-items: center; background-position: center; background-attachment: fixed;}
#sm_main04 .in_logo{width: 93px; display: inline-block;}
#sm_main04 .content h1{font-size: 72px; line-height: 1; padding: 40px 0 50px 0;}
:lang(jp) #sm_main04 .content h1{word-break: keep-all;}
:lang(ch) #sm_main04 .content h1{word-break: keep-all;}

#sm_main04 .content p{font-size: 26px; line-height: 43px; font-weight: 400;}

#sm_main05{padding: 200px 0;}
#sm_main05 .content>ul{display: flex;}
#sm_main05 .content>ul li.left{width: 40%;}
#sm_main05 .content>ul li.right{width: 60%; padding-top: 45px;}

#sm_main05 .number_wrap{display: flex;}
#sm_main05 .number_wrap li{width: 33.333%; padding: 0 10px;}
#sm_main05 .number_wrap li .inner{width: 100%; padding-bottom: 100%; background-color: #f5f5f5; position: relative;}
#sm_main05 .number_wrap li .icon{position: absolute; top: 30px; left: 30px;}
#sm_main05 .number_wrap .number{position: absolute; bottom: -48px; line-height: 1; width: 100%; text-align: right;}
#sm_main05 .number_wrap .number h4{font-size: 66px; font-weight: 400;}
#sm_main05 .number_wrap .number p{padding-top: 10px;}


#sm_main06{background: url(../img/main06_bg.png)no-repeat; background-position: top; padding-top: 130px; padding-bottom: 200px;}
#sm_main06 .in_title h2{color: #fff; line-height: 55px;}
#sm_main06 .content{padding-top: 100px;}
#sm_main06 .content>ul{display: flex;}
#sm_main06 .content>ul li{width: 33.333%;}
#sm_main06 .content>ul li .inner{padding: 50px; height: 100%;}
#sm_main06 .content .inner .txt{padding-top: 80px;}
#sm_main06 .content .inner .txt h6{font-size: 29px; margin-bottom: 18px;}
#sm_main06 .content .inner .txt h6 span{display: inline-block; margin-left: 20px;}
#sm_main06 .content .inner .txt p{line-height: 25px;}


#sm_main07{background: url(../img/main07_bg.png)no-repeat; background-size: cover; padding: 130px 0; margin-bottom: 120px;}
#sm_main07 .content .txt span{font-size: 20px; font-weight: bold; color: #bbb;}
#sm_main07 .content .txt h4{font-size: 66px; font-weight: bold; line-height: 1.1;}
#sm_main07 .content .txt p{font-size: 20px; font-weight: 400; line-height: 35px;}


#sm_main07 .flex_box{display: flex; width: 100%; justify-content: space-between; align-items: end;}
#sm_main07 .rot_btn{margin-top: 0;}
#sm_main07 .media_wrap{padding-top: 80px;}
#sm_main07 .media_wrap>ul{display: flex; flex-wrap: wrap; margin: -30px;}
#sm_main07 .media_wrap>ul li{width: 33.333%; padding: 30px;}
#sm_main07 .media_wrap>ul li .inner{width: 100%; cursor: pointer;}
/* #sm_main07 .media_wrap>ul li .inner .pic{height: 300px;} */
#sm_main07 .media_wrap>ul li .inner .pic img{height: 100%;}
#sm_main07 .media_wrap .in_txt{padding-top: 40px; width: 100%;}
#sm_main07 .media_wrap .in_txt h6{font-size: 20px; display: block; width: 100%; font-weight: 600; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
#sm_main07 .media_wrap .in_txt p{padding-top: 10px; font-size: 17px; font-weight: bold; color: #aaa;}

.mo_btn{display: none;}

:lang(jp) .justify{text-align: left !important;}

:lang(en) .in_title h2{line-height: 1.3;}
:lang(en) .justify{text-align: left;}

/* ********************************************* *
 * 1660px
 * ********************************************* */
 @media screen and (max-width: 1660px){
   
  #sm_main01 .slide_page{right: 54px;}

  #sm_main01, #sm_main01 .content, #sm_main01 .bg{height: 730px;}
  #sm_main01 .inner{height: 630px;}

  #sm_main03 .pic{margin-top: 100px;}
  
  #sm_main04{height: 660px;}
  

  
}
/* ********************************************* *
 * 1440px
 * ********************************************* */
 @media screen and (max-width: 1440px){
  
  .in_title h2{font-size: 40px; line-height: 60px;}
  
  #sm_main01 .inner .txt h1{font-size: 40px;}
  #sm_main01 .inner .txt h1 span{font-size: 44px;}
  #sm_main01 .inner .txt p{font-size: 26px;}

  #sm_main01 .slide_page{right: 32px;}

  #sm_main03 .content>ul .video_wrap .in_txt br{display: none;}

  #sm_main04{height: 530px;}
  #sm_main04 .in_logo{width: 80px;}
  #sm_main04 .content h1{font-size: 56px; padding: 30px 0 24px 0;}
  #sm_main04 .content p{font-size: 22px; line-height: 37px;}

  #sm_main06{padding-top: 100px; background-size: contain;}
  #sm_main06 .content{padding-top: 70px;}
  #sm_main06 .in_title h2{line-height: 50px;}

  #sm_main07 .content .txt h4{font-size: 56px;}
  #sm_main07 .media_wrap{padding-top: 60px;}

  
}
/* ********************************************* *
 * 1300px
 * ********************************************* */
 @media screen and (max-width: 1300px){

  #sm_main01 .scroll{width: 50px;}

  
  #sm_main01, #sm_main01 .content, #sm_main01 .bg{height: 650px;}
  #sm_main01 .inner{height: 550px;}
  #sm_main02>ul .move_page{padding: 29px 34px; width: 320px;}
  #sm_main02>ul .board_thum{padding: 26px 34px; width: calc(100% - 320px);}

  #sm_main05 .content>ul{flex-wrap: wrap;}
  #sm_main05 .content>ul li.left{display: flex; align-items: center;}
  #sm_main05 .content>ul li.left,#sm_main05 .content>ul li.right{width: 100%;}
  #sm_main05 .number_wrap li .inner{padding-bottom: 70%;}
  #sm_main05 .rot_btn{margin-top: 0;}

  #sm_main05 .in_title h2 br{display: none;}
  #sm_main05 .number_wrap li .icon{width: 84px;}

  #sm_main06 .content>ul li .inner{padding-left: 20px; padding-right: 20px;}
  #sm_main06 .content .inner .txt{padding-top: 40px;}

 }
 /* ********************************************* *
 * 1200px
 * ********************************************* */
 @media screen and (max-width: 1200px){
 
  #sm_main03{padding: 130px 0;}
  #sm_main03 .pic{display: none;}
  #sm_main03 .content>ul{flex-wrap: wrap;}
  #sm_main03 .content>ul>li{width: 100%;}
  #sm_main03 .content>ul .video_wrap{width: 100%; padding-top: 40px;}
  .in_title h2 br{display: none;}
  #sm_main03 .content>ul .video_wrap .video{height: auto !important; margin-bottom: 40px;}
  #sm_main03 .content>ul .video_wrap .in_txt{width: 100%;}
  #sm_main03 .content>ul .video_wrap .in_txt{width: 100%;}
  #sm_main02>ul .move_page{display: none;}
  #sm_main02>ul .board_thum{width: 100%; background-color: #f5f5f5;}
  #sm_main05{padding: 130px 0 160px 0;}
  #sm_main06 .content{padding-top: 40px;}

  #sm_main07 .media_wrap>ul{margin: -10px;}
  #sm_main07 .media_wrap>ul li{padding: 10px;}

  #sm_main06{padding-bottom: 160px;}

  #sm_main05 .content>ul li.left{display: block;}
  #sm_main05 .rot_btn{display: none;}

  #sm_main06 .content .inner .txt p br{display: none;}

  #sm_main01 .inner .txt{top: 22%;}
  #sm_main01 .slide_page{top: 47%;}

 }

  /* ********************************************* *
 * 1024px
 * ********************************************* */
 @media screen and (max-width: 1024px){

  #sm_main06 .content>ul{flex-wrap: wrap;}
  #sm_main06 .content>ul li{width: 100%;}
  #sm_main06 .content .inner .txt{padding-top: 0;}

  #sm_main05 .number_wrap .number h4{font-size: 48px;}
  #sm_main05 .number_wrap li .icon{top: 20px; left: 20px;}
  #sm_main05 .number_wrap li .inner{padding-bottom: 80%;}

  #sm_main07 .media_wrap>ul li:nth-child(3){display: none;}
  #sm_main07 .media_wrap>ul li{width: 50%;}

  #sm_main05 .number_wrap{flex-wrap: wrap; margin: -10px;}
  #sm_main05 .number_wrap .number{position: relative; bottom: 0;}
  #sm_main05 .number_wrap li{width: 100%; padding: 10px;}
  #sm_main05 .number_wrap li .icon{position: relative; top: 0; left: 0;}
  #sm_main05 .number_wrap li .inner{padding: 20px;}

  .in_title h2{font-size: 28px; line-height: 43px;}
  #sm_main03 .content>ul .video_wrap .in_txt{font-size: 16px; line-height: 30px; text-align: left;}
  #sm_main03 .content>ul .video_wrap .in_txt b{font-size: 22px;}
  #sm_main03 .content>ul .video_wrap .video{margin-bottom: 16px;}
  #sm_main03 .content>ul .video_wrap{padding-top: 16px;}

  #sm_main04{min-height: 360px; height: auto;}
  #sm_main04 .in_logo{width: 60px;}
  #sm_main04 .content h1{font-size: 36px; padding: 16px 0 14px 0;}
  #sm_main04 .content p{font-size: 16px; line-height: 29px;}

  #sm_main02>ul .board_thum .info{display: none;}
  #sm_main02>ul .board_thum{padding-left: 16px; padding-right: 16px; font-size: 16px;}
  #sm_main02>ul .board_thum .slide_txt{height: 20px; width: 100%;}

  #sm_main07 .content .txt h4{font-size: 44px;}

  .mo_btn{display: block;}
  .pc_btn{display: none;}

  
  #sm_main07 .rot_btn{margin-top: 40px; text-align: center;}

  .rot_btn .btn>span{width: 190px; height: 65px;}
  .rot_btn .btn> span> i{margin-left: 20px;}
  .rot_btn .btn> span::after{right: 20px;}
  .rot_btn .btn> span::before{right: 26px;}


 }

   /* ********************************************* *
 * 960px
 * ********************************************* */
 @media screen and (max-width: 960px){
 
  #sm_main06{

    background: url(../img/main06_bg_mo.jpg)no-repeat;
    background-size: cover;
  }

 }


   /* ********************************************* *
 * 760px
 * ********************************************* */
 @media screen and (max-width: 760px){

  #sm_main01, #sm_main01 .content, #sm_main01 .bg{height: 600px;}
  #sm_main01 .inner{height: 528px;}
  #sm_main01 .inner .txt h1{font-size: 24px;}
  #sm_main01 .inner .txt h1 span{font-size: 30px;}
  #sm_main01 .inner .txt p{font-size: 20px;}
  #sm_main01 .slide_page{display: none;}

  @keyframes scroll {
    from {bottom: 60px;}
    to {bottom: 45px;}
  }

  #sm_main04 .content h1{line-height: 1.1;}
  #sm_main06 .content .inner .txt h6{font-size: 26px;}

 }

    /* ********************************************* *
 * 650px
 * ********************************************* */
 @media screen and (max-width: 650px){

  
  :lang(en) #sm_main04 .content p br{display: none;}


 }

    /* ********************************************* *
 * 550px
 * ********************************************* */
 @media screen and (max-width: 500px){

  #sm_main01, #sm_main01 .content, #sm_main01 .bg{height: 550px;}
  #sm_main01 .inner{height: 478px;}
  #sm_main07 .media_wrap>ul li{width: 100%;}
  #sm_main07 .media_wrap>ul li:nth-child(3){display: block;}
  #sm_main07 .media_wrap .in_txt{padding-top: 20px;}
  #sm_main07 .media_wrap .in_txt p{padding-top: 5px;}
  #sm_main07 .media_wrap{padding-top: 40px;}
  #sm_main06 .in_title h2{line-height: 38px;}
  #sm_main01 .inner .txt h1 br{display: none;}

 }