/* Content
 * @author			[  ]
 * @lastmodified	[  ]
 *******************************************************************************/
/* main */
.swiper-container .vis {
  position: absolute;
  left: 50%;
  display: block;
  width: 1920px;
  height: 580px;
  margin-left: -960px;
}
.swiper-container .mb {
  display: none;
}

.m-notice.bx {
  position: relative;
  padding: 39px 17px;
}
.m-notice.bx .tit {
  position: relative;
  display: block;
  font-size: 20px;
  font-family: "NS Regular";
  padding-left: 40px;
}
.m-notice.bx .tit:before {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -12px;
  display: block;
  width: 26px;
  height: 24px;
  background: url(../images/contents/ico-contents.png) no-repeat -10px -10px;
  content: "";
}
.m-notice.bx .more {
  position: absolute;
  top: 40px;
  right: 25px;
  font-size: 18px;
  color: #7b7b7b;
  border-bottom: 1px solid #7b7b7b;
  padding: 0 2px 4px;
}

.m-video {
  margin-top: 70px;
}
.m-video .vdo {
  position: relative;
  width: 100%;
  margin-top: 62px;
  box-shadow: 5px 5px 10px #bbb;
}
.m-video .vdo embed {
  width: 1080px;
  height: 607px;
}

/*
.m-video .vdo{position:relative;width:100%;padding-bottom:56.25%;margin-top:62px;box-shadow:5px 5px 10px #bbb}
.m-video .vdo iframe{position:absolute;width:100%;height:100%}
*/
a.google-play {
  display: block;
  width: 325px;
  margin: 40px auto 0;
}

.m-patent {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  margin-top: 60px;
}
.m-patent:after {
  display: block;
  clear: both;
  content: "";
}
.m-patent div {
  width: 100%;
  height: 240px;
  padding: 50px 35px;
  margin-top: 15px;
}
.m-patent div .tit {
  display: inline-block;
  font-size: 24px;
  color: #fff;
  padding-bottom: 7px;
  border-bottom: 1px solid #fff;
  margin: 0 0 38px 0;
}
.m-patent div p {
  font-size: 21px;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1.4;
}
.m-patent .t1 {
  background: url(../images/common/bg-main-patent.png) no-repeat center center;
  background-size: cover;
  padding-top: 40px;
}
.m-patent .t2 {
  background: url(../images/common/bg-main-cert.png) no-repeat center center;
  background-size: cover;
  padding-top: 40px;
}
.m-patent .t3 {
  background: url(../images/common/bg-main-rewards.png) no-repeat center center;
  background-size: cover;
}

.patent-more {
  position: absolute;
  top: 44px;
  right: 25px;
  font-size: 18px;
  color: #7b7b7b;
  border-bottom: 1px solid #7b7b7b;
  padding: 0 2px 4px;
}

.m-business {
  margin-top: 60px;
}
.m-business:after {
  display: block;
  clear: both;
  content: "";
}
.m-business .scroll-wrap div {
  float: left;
  padding: 324px 25px 0;
  width: 350px;
  height: 500px;
  margin-left: 15px;
}
.m-business .scroll-wrap div .tit {
  display: block;
  font-size: 26px;
  color: #fff;
  font-family: "NS Regular";
  padding-bottom: 14px;
  border-bottom: 1px solid #fff;
}
.m-business .scroll-wrap div p {
  font-size: 20px;
  color: #fff;
  margin-top: 20px;
  line-height: 1.4;
}
.m-business .scroll-wrap .b1 {
  background-image: url(../images/common/bg-main-biz1.png);
  margin-left: 0;
}
.m-business .scroll-wrap .b2 {
  background-image: url(../images/common/bg-main-biz2.png);
}
.m-business .scroll-wrap .b3 {
  background-image: url(../images/common/bg-main-biz3.png);
}

.m-partner {
  background: #fff;
  padding: 60px 30px 42px;
  margin-top: 60px;
}
.m-partner h3 {
  display: inline-block;
  font-size: 20px;
  font-family: "NS Regular";
  padding: 0 12px 6px;
  border-bottom: 1px solid #333;
  margin-left: 30px;
}
.m-partner h3.tit {
  margin-top: 70px;
}
.m-partner ul {
  margin-top: 35px;
}
.m-partner li {
  float: left;
  width: 180px;
  height: 70px;
  margin-left: 100px;
  margin-top: 15px;
}
.m-partner li:nth-child(4n+1) {
  margin-left: 0;
}

@media all and (max-width: 640px) {
  .swiper-container .vis {
    display: none;
  }
  .swiper-container .mb {
    display: block;
  }
  .swiper-container .mb .vis {
    display: block;
    margin-left: 0;
    position: relative;
    left: 0;
    width: 100%;
    height: auto;
  }
  .swiper-container .mb .vis img {
    width: 100%;
  }
  .m-notice.bx {
    padding: 15px 65px 15px 13px;
  }
  .m-notice.bx .tit {
    display: block;
    width: 100%;
    font-size: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-left: 20px;
  }
  .m-notice.bx .tit:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -6px;
    display: block;
    width: 13px;
    height: 12px;
    background: url(../images/contents/ico-contents.png) no-repeat -5px -5px;
    background-size: 175px 50px;
    content: "";
  }
  .m-notice.bx .more {
    top: 15px;
    right: 15px;
    font-size: 11px;
    padding: 0 0 2px;
  }
  .m-video {
    margin-top: 40px;
  }
  .m-video .vdo {
    margin-top: 25px;
  }
  a.google-play {
    display: block;
    width: 162px;
    margin: 30px auto 0;
  }
  .m-patent {
    margin: 25px 0;
  }
  .m-patent:after {
    display: block;
    clear: both;
    content: "";
  }
  .m-patent div {
    width: 100%;
    height: auto;
    padding: 30px 25px 30px !important;
    float: unset !important;
    background-position: center center;
    background-size: 50% 50%;
  }
  .m-patent .t2 {
    margin-top: 15px;
  }
  .m-patent div .tit {
    font-size: 16px;
    padding-bottom: 3px;
    margin: 0;
  }
  .m-patent div p {
    font-size: 14px;
    color: #fff;
    margin-top: 15px;
    letter-spacing: -1px;
    line-height: 1.4;
  }
  .patent-more {
    position: absolute;
    top: unset;
    bottom: -25px;
    right: 15px;
    font-size: 12px;
    color: #7b7b7b;
    border-bottom: 1px solid #7b7b7b;
    padding: 0 0 3px 0;
  }
  .m-business {
    width: 100%;
    overflow-x: auto;
    margin-top: 25px;
  }
  .m-business:after {
    display: block;
    clear: both;
    content: "";
  }
  .m-business .scroll-wrap {
    width: 650px;
    -webkit-overflow-scrolling: touch;
  }
  .m-business .scroll-wrap div {
    float: left;
    padding: 206px 25px 0;
    width: 210px;
    height: 300px;
    margin-left: 10px;
    background-size: 210px 300px !important;
  }
  .m-business .scroll-wrap div .tit {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .m-business .scroll-wrap div p {
    font-size: 14px;
    color: #fff;
    margin-top: 15px;
    line-height: 1.4;
  }
  .m-business .scroll-wrap .b1 {
    margin-left: 0;
  }
  .m-partner {
    padding: 25px;
    margin-top: 25px;
  }
  .m-partner h3 {
    font-size: 14px;
    padding: 0 4px 4px;
    margin-left: 0;
  }
  .m-partner h3.tit {
    margin-top: 25px;
  }
  .m-partner ul {
    margin-top: 10px;
  }
  .m-partner li {
    float: left;
    width: 33.33%;
    height: auto;
    margin-left: 0;
    margin-top: 0;
  }
  .m-partner li:nth-child(4n+1) {
    margin-left: inherit;
  }
  .m-partner li img {
    display: block;
    width: 100%;
  }
}
/* company */
.sub-top.company {
  background: url(../images/contents/bg-top-company.jpg) no-repeat center center;
}

.cont.about p {
  font-size: 18px;
  margin-top: 30px;
  line-height: 1.4;
}
.cont.about p.ti {
  margin-top: 60px;
  font-family: "NS Regular";
}
.cont.about p em {
  color: #4d5eab;
  font-family: "NS Medium";
}
.cont.about .sign {
  display: block;
  font-family: "NS Regular";
  margin-top: 50px;
  text-align: right;
  font-size: 18px;
}
.cont.location {
  background: #f2f2f2;
}
.cont.location .map {
  display: block;
  margin-top: 30px;
}
.cont.location .local {
  margin-top: 50px;
}
.cont.location .usa {
  margin-top: 70px;
}
.cont.location .tit {
  display: block;
  position: relative;
  padding-left: 23px;
  font-size: 24px;
  font-family: "NS Regular";
}
.cont.location .tit:before {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -8px;
  display: block;
  width: 15px;
  height: 17px;
  background: url(../images/contents/ico-contents.png) no-repeat -46px -10px;
  content: "";
}
.cont.location .tit + dl {
  margin-top: 30px;
}
.cont.location dl {
  font-size: 14px;
  margin-top: 15px;
}
.cont.location dl:after {
  content: "";
  display: block;
  clear: both;
}
.cont.location dt {
  position: relative;
  display: inline;
  font-family: "NS Regular";
  margin-left: 15px;
  padding-left: 16px;
}
.cont.location dt:before {
  content: "";
  width: 1px;
  height: 14px;
  position: absolute;
  top: 4px;
  left: 0;
  background: #666;
}
.cont.location dt:first-child {
  margin-left: 0;
  padding-left: 0;
}
.cont.location dt:first-child:before {
  content: none;
}
.cont.location dd {
  display: inline;
  line-height: 1.2;
}

@media all and (max-width: 640px) {
  .sub-top.company {
    background-size: auto 180px;
  }
  .cont.about p {
    font-size: 15px;
    margin-top: 20px;
  }
  .cont.about p.ti {
    margin-top: 25px;
  }
  .cont.about .sign {
    margin-top: 25px;
    text-align: left;
    font-size: 15px;
  }
  .cont.location .map {
    position: relative;
    width: 100%;
    height: 290px;
    margin-top: 20px;
    overflow: hidden;
  }
  .cont.location .map img {
    position: absolute;
    width: 626px;
    height: 290px;
    left: 50%;
    margin-left: -313px;
  }
  .cont.location .local {
    margin-top: 25px;
  }
  .cont.location .usa {
    margin-top: 40px;
  }
  .cont.location .tit {
    padding-left: 15px;
    font-size: 15px;
  }
  .cont.location .tit:before {
    width: 11px;
    height: 9px;
    background-position: -35px -5px;
    background-size: 175px 50px;
    margin-top: -5px;
  }
  .cont.location .tit + dl {
    margin-top: 20px;
  }
  .cont.location dl {
    font-size: 14px;
    margin-top: 10px;
  }
  .cont.location dt {
    margin-left: 12px;
    padding-left: 13px;
  }
  .cont.location dt:before {
    top: 3px;
  }
}
.sub-top.history {
  background: url(../images/contents/bg-top-company.jpg) no-repeat center center;
}

.cont.history .tab-ty li {
  width: 50%;
}
.cont.history .tab-ty li a {
  display: block;
  text-align: center;
  font-size: 18px;
  color: #7b7b7b;
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 25px;
}
.cont.history .tab-ty li a.on {
  border-bottom: 2px solid #4d5eab;
  color: #4d5eab;
  padding-bottom: 24px;
  font-family: "NS Regular";
}
.cont.history dl {
  display: none;
  width: 910px;
  text-align: left;
  margin: 70px auto 0;
}
.cont.history dl:after {
  content: "";
  display: block;
  clear: both;
}
.cont.history dt,
.cont.history dd {
  float: left;
  padding-bottom: 50px;
  font-size: 16px;
}
.cont.history dt {
  width: 174px;
  margin-top: -5px;
  padding-right: 50px;
  font-family: "NS Regular";
  font-size: 16px;
  text-align: right;
}
.cont.history dd {
  position: relative;
  width: 736px;
  border-left: 1px solid #d7d7d7;
  padding-left: 50px;
  color: #7b7b7b;
  line-height: 1.2;
}
.cont.history dd:before {
  content: "";
  position: absolute;
  top: 0;
  left: -4px;
  display: block;
  width: 7px;
  height: 7px;
  background: #666;
  border-radius: 4px;
}
.cont.history dd:after {
  content: "";
  display: block;
  clear: both;
}
.cont.history dd:last-child {
  padding-bottom: 5px;
}
.cont.history dd ul {
  margin-top: -5px;
}
.cont.history dd li {
  margin-top: 10px;
  color: #666;
  font-size: 16px;
  letter-spacing: -0.5px;
  white-space: nowrap;
}
.cont.history dd li:first-child {
  margin-top: 0;
}

@media all and (max-width: 640px) {
  .sub-top.history {
    background-size: auto 180px;
  }
  .cont.history .tab-ty li a {
    font-size: 14px;
    padding-bottom: 12px;
  }
  .cont.history .tab-ty li a.on {
    padding-bottom: 12px;
  }
  .cont.history dl {
    position: relative;
    width: 100%;
    margin-top: -5px;
  }
  .cont.history dl:before {
    position: absolute;
    left: 1px;
    top: 5px;
    display: block;
    width: 1px;
    height: 100%;
    background: #d7d7d7;
    content: "";
  }
  .cont.history dt,
  .cont.history dd {
    width: 100%;
    float: unset;
    margin: 0;
    padding: 0;
    font-size: 15px;
  }
  .cont.history dt {
    position: relative;
    text-align: left;
    margin-top: 30px;
    padding-left: 15px;
  }
  .cont.history dt:before {
    position: absolute;
    left: 0;
    top: 5px;
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 100%;
    background: #666;
    content: "";
  }
  .cont.history dd {
    border-left: 0;
    padding-left: 15px;
  }
  .cont.history dd:before, .cont.history dd:after {
    content: none;
  }
  .cont.history dd:last-child {
    padding-bottom: 0;
  }
  .cont.history dd ul {
    margin-top: 15px;
  }
  .cont.history dd li {
    margin-top: 10px;
    font-size: 15px;
    white-space: unset;
  }
}
.sub-top.patent {
  background: url(../images/contents/bg-top-company.jpg) no-repeat center center;
}

.cont.patent .tab-ty {
  margin: 0;
  padding: 0;
}
.cont.patent .tab-ty li {
  width: 50%;
}
.cont.patent .tab-ty li a {
  display: block;
  text-align: center;
  font-size: 18px;
  color: #7b7b7b;
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 25px;
}
.cont.patent .tab-ty li a.on {
  border-bottom: 2px solid #4d5eab;
  color: #4d5eab;
  padding-bottom: 24px;
  font-family: "NS Regular";
}
.cont.patent .tit {
  display: block;
  position: relative;
  padding-left: 23px;
  font-size: 18px;
  font-family: "NS Regular";
  margin-top: 60px;
}
.cont.patent .tit:before {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -8px;
  display: block;
  width: 15px;
  height: 12px;
  background: url(../images/contents/ico-contents.png) no-repeat -46px -10px;
  content: "";
}
.cont.patent #p1,
.cont.patent #p2 {
  padding: 0 40px 0 30px;
}
.cont.patent ul {
  margin: 40px 0 0 23px;
}
.cont.patent ul li {
  margin-top: 22px;
}
.cont.patent ul li:after {
  display: block;
  clear: both;
  content: "";
}
.cont.patent ul li:first-child {
  margin-top: 0;
}
.cont.patent li .nm {
  display:block;
  line-height: 1.4;
}
.cont.patent li .nm em {
  color: #4d5eab;
}
.cont.patent li .info {

  display:block;
  color: #a8a8a8;

}
.cont.patent li .dt {
  color: #a8a8a8;
  margin-left: 5px;
}

@media all and (max-width: 640px) {
  .sub-top.patent {
    background-size: auto 180px;
  }
  .cont.patent .tab-ty li a {
    font-size: 14px;
    padding-bottom: 12px;
  }
  .cont.patent .tab-ty li a.on {
    padding-bottom: 12px;
  }
  .cont.patent .tit {
    padding-left: 15px;
    font-size: 15px;
    margin-top: 30px;
  }
  .cont.patent .tit:before {
    width: 11px;
    height: 9px;
    background-position: -35px -5px;
    background-size: 175px 50px;
    margin-top: -5px;
  }
  .cont.patent ul {
    margin: 20px 0 0 0;
    padding: 0 15px;
  }
  .cont.patent #p1,
  .cont.patent #p2 {
    padding: 0;
  }
  .cont.patent ul li {
    margin-top: 20px;
    font-size: 15px;
  }
  .cont.patent li .nm {
    line-height: 1.4;
    letter-spacing: -1px;
  }
  .cont.patent li .info {
    display: block;
    text-align: left;
    line-height: 1.4;
  }
}
.sub-top.esg {
  background: url(../images/contents/bg-top-company.jpg) no-repeat center center;
}

.cont.esg .tab-ty {
  margin: 0;
  padding: 0;
}
.cont.esg .tab-ty li {
  width: 33.33%;
}
.cont.esg .tab-ty li a {
  display: block;
  text-align: center;
  font-size: 18px;
  color: #7b7b7b;
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 25px;
}
.cont.esg .tab-ty li a.on {
  border-bottom: 2px solid #4d5eab;
  color: #4d5eab;
  padding-bottom: 24px;
  font-family: "NS Regular";
}
.cont.esg .sign {
  display: block;
  font-family: "NS Regular";
  margin-top: 50px;
  text-align: right;
  font-size: 18px;
}
.cont.esg .tit {
  display: block;
  position: relative;
  padding-left: 23px;
  font-size: 18px;
  font-family: "NS Regular";
  margin-top: 60px;
}
.cont.esg .tit:before {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -8px;
  display: block;
  width: 15px;
  height: 12px;
  background: url(../images/contents/ico-contents.png) no-repeat -46px -10px;
  content: "";
}
.cont.esg #p1,
.cont.esg #p2,
.cont.esg #p3 {
  padding: 0 40px 0 30px;
}
.cont.esg ul {
  margin: 40px 0 0 23px;
}
.cont.esg ul li {
  margin-top: 22px;
}
.cont.esg ul li:after {
  display: block;
  clear: both;
  content: "";
}
.cont.esg ul li:first-child {
  margin-top: 0;
}
.cont.patent li .nm{
  display:block;
  line-height:1.4
}
.cont.patent li .nm em{
  color:#4d5eab
}
.cont.patent li .info{
  display:block;color:#a8a8a8
}
.cont.patent li .dt{
  color:#a8a8a8;margin-left:5px
}

@media all and (max-width: 640px) {
  .sub-top.esg {
    background-size: auto 180px;
  }
  .cont.esg .tab-ty li a {
    font-size: 14px;
    padding-bottom: 12px;
  }
  .cont.esg .tab-ty li a.on {
    padding-bottom: 12px;
  }
  .cont.esg .sign {
    margin-top: 25px;
    text-align: left;
    font-size: 15px;
  }
  .cont.esg .tit {
    padding-left: 15px;
    font-size: 15px;
    margin-top: 30px;
  }
  .cont.esg .tit:before {
    width: 11px;
    height: 9px;
    background-position: -35px -5px;
    background-size: 175px 50px;
    margin-top: -5px;
  }
  .cont.esg ul {
    margin: 20px 0 0 0;
    padding: 0 15px;
  }
  .cont.esg #p1,
  .cont.esg #p2,
  .cont.esg #p3 {
    padding: 0;
  }
  .cont.esg ul li {
    margin-top: 20px;
    font-size: 15px;
  }
  .cont.esg li .nm {
    float: unset;
    line-height: 1.4;
    letter-spacing: -1px;
  }
  .cont.esg li .info {
    display: block;
    float: unset;
    text-align: left;
    line-height: 1.4;
  }
}
/* works */
.sub-top.works {
  background: url(../images/contents/bg-top-works.jpg) no-repeat center center;
}

.img-list-ty {
  visibility: hidden;
  width: 1080px;
  margin: 0 auto;
  transition: height 0.4s;
  -webkit-transition: height 0.4s;
  -moz-transition: height 0.4s;
}
.img-list-ty > div {
  width: 354px;
  height: 273px;
  transition: top 0.4s;
  -webkit-transition: top 0.4s;
  -moz-transition: top 0.4s;
}
.img-list-ty:after {
  content: "";
  display: block;
  clear: both;
}
.img-list-ty a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.img-list-ty a figure {
  background: #000;
  height: 99.8%;
  overflow: hidden;
}
.img-list-ty a figure img {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
}
.img-list-ty a.on figure img {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  opacity: 0.25;
}
.img-list-ty a figure figcaption {
  opacity: 0;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
}
.img-list-ty a.on figure figcaption {
  opacity: 1;
}
.img-list-ty a figcaption {
  position: absolute;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  padding: 30px;
  text-align: left;
}
.img-list-ty a figcaption em {
  position: relative;
  display: inline-block;
  font-size: 24px;
  font-family: "NS Regular";
  padding-bottom: 10px;
  color: #768fff;
  border-bottom: 2px solid #768fff;
}
.img-list-ty a figcaption em .award {
  display: block;
  position: absolute;
  right: -40px;
  bottom: 0;
  width: 30px;
  height: 34px;
  background: url(../images/works/ico_award.png) no-repeat 0 0;
  content: "";
}
.img-list-ty a figcaption span {
  display: block;
  font-size: 20px;
  margin-top: 20px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  height: 24px;
  color: #768fff;
}
.img-list-ty a figcaption p {
  font-size: 14px;
  color: #fff;
  margin-top: 30px;
  line-height: 1.5;
  font-family: "NS Regular";
}

@media all and (min-width: 641px) {
  .img-list-ty a:hover figure img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    opacity: 0.25;
  }
}
@media all and (min-width: 641px) {
  .img-list-ty a:hover figure figcaption {
    opacity: 1;
  }
}
.img-list-ty-det {
  padding: 65px 60px 60px;
  background: #f2f2f2;
  text-align: left;
  margin: 20px 0;
}
.img-list-ty-det .top {
  position: relative;
}
.img-list-ty-det .top .close {
  position: absolute;
  top: -35px;
  right: -30px;
  width: 28px;
  height: 29px;
}
.img-list-ty-det h3 {
  position: relative;
  display: block;
  font-size: 24px;
  font-family: "NS Regular";
}
.img-list-ty-det p {
  font-size: 18px;
  margin-top: 20px;
  line-height: 1.4;
}
.img-list-ty-det p.award {
  position: relative;
  font-family: "NS Medium";
  padding-left: 27px;
}
.img-list-ty-det p.award:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 23px;
  background: url(../images/works/ico_award.png) no-repeat 0 0;
  background-size: 20px 23px;
  margin-top: -12px;
  content: "";
}
.img-list-ty-det dl {
  margin-top: 25px;
  font-size: 14px;
}
.img-list-ty-det dl:after {
  content: "";
  display: block;
  clear: both;
}
.img-list-ty-det dt,
.img-list-ty-det dd {
  float: left;
  margin-top: 5px;
  line-height: 1.4;
}
.img-list-ty-det dt {
  position: relative;
  color: #4d5eab;
  clear: both;
}
.img-list-ty-det dd {
  margin-left: 6px;
  color: #7d7d7d;
}
.img-list-ty-det .url {
  display: block;
  font-size: 14px;
  margin-top: 10px;
}
.img-list-ty-det .detail {
  display: block;
  width: 960px;
  margin: 40px auto 0;
}

.detail-contents {
  height: 0 !important;
  overflow: hidden;
}
.detail-contents > div {
  opacity: 0;
  transition: all 2s;
  -webkit-transition: all 2s;
  -moz-transition: all 2s;
}

@media all and (max-width: 640px) {
  .sub-top.works {
    background-size: auto 180px;
  }
  .img-list-ty {
    width: 100%;
  }
  .img-list-ty > div {
    width: calc(50% - 5px);
    height: auto;
  }
  .img-list-ty a figure img {
    top: unset;
    left: unset;
  }
  .img-list-ty a figcaption {
    padding: 20px 13px;
  }
  .img-list-ty a figcaption em {
    font-size: 14px;
    padding-bottom: 6px;
  }
  .img-list-ty a figcaption em .award {
    right: -23px;
    bottom: -2px;
    width: 19px;
    height: 23px;
    background-size: 19px 23px;
  }
  .img-list-ty a figcaption span {
    font-size: 12px;
    margin-top: 10px;
    height: 12px;
  }
  .img-list-ty a figcaption p {
    font-size: 12px;
    margin-top: 7px;
    max-height: 3em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
  }
  .img-list-ty-det {
    padding: 20px 17px;
    background: #f2f2f2;
    margin: 10px 0;
  }
  .img-list-ty-det .top .close {
    top: 0px;
    right: 0px;
    width: 14px;
    height: 14px;
  }
  .img-list-ty-det .top .close img {
    display: block;
    width: 100%;
  }
  .img-list-ty-det h3 {
    font-size: 17px;
    padding-right: 20px;
  }
  .img-list-ty-det dl {
    margin-top: 5px;
  }
  .img-list-ty-det .detail {
    width: 100%;
    margin: 25px 0 0;
  }
  .img-list-ty-det p {
    font-size: 14px;
    margin-top: 15px;
  }
}
/* solution */
.sub-top.solution {
  background: url(../images/contents/bg-top-solution.jpg) no-repeat center center;
}

.cont.solution .ib {
  margin-top: 60px;
}
.cont.solution .mb {
  display: none;
}
.cont.solution .pcont {
  display: block;
}
.cont.solution .mcont {
  display: none;
}
.cont.solution .brochure {
  font-size: 0;
  text-align: center;
  margin-top: 53px;
}
.cont.solution .brochure li {
  display: inline-block;
  margin: 0 0 0 42px;
}
.cont.solution .brochure li:first-child {
  margin-left: 0;
}
.cont.solution .brochure li .btn-dw {
  width: 300px;
  margin-top: 0;
}
.cont.solution .tbl-product {
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  margin-top: 44px;
}
.cont.solution .tbl-product thead th {
  font-size: 22px;
  font-family: "NS Regular";
  padding: 20px 0;
}
.cont.solution .tbl-product tbody th {
  font-size: 15px;
  font-family: "NS Regular";
  border-top: 1px solid #ddd;
  padding: 17px 0 17px 14px;
  text-align: left;
  vertical-align: top;
}
.cont.solution .tbl-product tbody td {
  font-size: 14px;
  color: #7d7d7d;
  border-top: 1px solid #ddd;
  padding: 17px 0 17px 80px;
  line-height: 1.2;
}
.cont.solution .contact {
  font-size: 18px;
  margin-top: 44px;
}
.cont.solution .contact em {
  font-family: "NS Regular";
}

.srvc-li {
  border: solid #000;
  border-width: 2px 0 2px 0;
  margin-top: 60px;
}
.srvc-li li {
  position: relative;
  display: table;
  width: 100%;
  height: 110px;
  border-top: 1px solid #ddd;
}
.srvc-li li em {
  display: table-cell;
  width: 120px;
  padding-left: 25px;
  vertical-align: middle;
  color: #4d5eab;
  font-size: 50px;
  font-family: "NS Regular";
}
.srvc-li li b {
  display: table-cell;
  width: 120px;
  vertical-align: middle;
  font-size: 22px;
  font-family: "NS Regular";
}
.srvc-li li ul {
  display: table-cell;
  width: auto;
  vertical-align: middle;
}
.srvc-li li ul li {
  margin-top: 14px;
  color: #7b7b7b;
  border: 0;
  height: auto;
}
.srvc-li li ul li:first-child {
  margin-top: 0;
}
.srvc-li li .open-pop {
  position: absolute;
  top: 19px;
  right: 0;
}

.btn-dw {
  display: block;
  width: 215px;
  height: 50px;
  line-height: 50px;
  background: #000;
  margin-top: 30px;
  float: left;
  text-align: center;
}
.btn-dw.ty1 {
  background: #4d5eab;
}
.btn-dw span {
  position: relative;
  display: inline-block;
  color: #fff;
  padding-left: 37px;
  font-size: 14px;
}
.btn-dw span:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 26px;
  height: 23px;
  background: url(../images/common/ico-down.png) no-repeat 0 0;
  content: "";
}

@media all and (max-width: 640px) {
  .sub-top.solution {
    background-size: auto 180px;
    padding-top: 60px;
  }
  .sub-top.solution .tab-ty {
    bottom: -1px;
  }
  .sub-top.solution .tab-ty li a {
    line-height: 50px;
    height: 50px;
    font-size: 13px;
    padding: 0;
  }
  .cont.solution .ib {
    display: none;
    margin-top: 0;
  }
  .cont.solution .mb {
    display: block;
    margin-top: 25px;
  }
  .cont.solution .mb .ib {
    display: block;
  }
  .cont.solution .pcont {
    display: none;
  }
  .cont.solution .mcont {
    display: block;
  }
  .srvc-li {
    margin-top: 40px;
  }
  .srvc-li li {
    display: block;
    height: auto;
    padding: 20px 8px;
  }
  .srvc-li li em {
    display: inline-block;
    width: auto;
    padding-left: 0;
    color: #4d5eab;
    font-size: 17px;
  }
  .srvc-li li b {
    display: inline-block;
    width: auto;
    font-size: 17px;
  }
  .srvc-li li ul {
    display: block;
    margin-top: 20px;
  }
  .srvc-li li ul li {
    margin-top: 8px;
    font-size: 14px;
    padding: 0;
  }
  .srvc-li li ul li:first-child {
    margin-top: 0;
  }
  .srvc-li li .open-pop {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 20px;
  }
  .cont.solution .brochure {
    margin-top: 25px;
    font-size: 16px;
  }
  .cont.solution .brochure li {
    margin: 10px 0 0;
    text-align: center;
  }
  .cont.solution .brochure li:first-child {
    margin-top: 0;
  }
  .cont.solution .brochure li .btn-dw {
    width: 200px;
    margin: 0 auto;
  }
  .cont.solution .tbl-product {
    margin-top: 25px;
  }
  .cont.solution .tbl-product tbody th {
    font-size: 14px;
    padding: 12px 0 12px 8px;
    font-size: 12px;
  }
  .cont.solution .tbl-product tbody td {
    padding: 12px 0;
    font-size: 12px;
  }
  .cont.solution .contact {
    font-size: 12px;
    margin-top: 25px;
  }
  .btn-dw {
    width: 140px;
    height: 33px;
    line-height: 28px;
    margin-top: 20px;
  }
  .btn-dw span {
    padding-left: 18px;
    font-size: 12px;
  }
  .btn-dw span:before {
    margin-top: -5px;
    width: 12px;
    height: 10px;
    background-size: 12px 10px;
    background-image: url(../images/common/ico-mdown.png);
  }
}
/* recruit */
.sub-top.recruit {
  background: url(../images/contents/bg-top-recruit.jpg) no-repeat center center;
}

.r-target {
  margin-top: 50px;
}
.r-target:after {
  display: block;
  clear: both;
  content: "";
}
.r-target li {
  float: left;
  width: 525px;
  padding: 38px 40px;
  border: 1px solid #ccc;
  margin-left: 30px;
}
.r-target li:first-child {
  margin-left: 0;
}
.r-target li .tit {
  display: inline-block;
  padding: 0 8px 8px;
  font-size: 21px;
  font-family: "NS Regular";
  border-bottom: 1px solid #333;
}
.r-target li .p1 {
  font-size: 18px;
  margin-top: 28px;
}
.r-target li .desc {
  font-size: 16px;
  color: #a8a8a8;
  margin-top: 30px;
}

.r-areas {
  margin-top: 50px;
}
.r-areas > li {
  display: table;
  width: 100%;
  padding: 25px 0;
  height: 200px;
  background: #fff;
  margin-top: 20px;
}
.r-areas > li:first-child {
  margin-top: 0;
}
.r-areas > li .dt {
  display: table-cell;
  width: 210px;
  height: 150px;
  vertical-align: middle;
}
.r-areas > li .dt span {
  display: block;
  position: relative;
  color: #4d5eab;
  font-family: "NS Medium";
  padding-top: 60px;
  text-align: center;
}
.r-areas > li .dt span:before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  background: url(../images/contents/ico-contents.png) no-repeat 0 0;
  content: "";
}
.r-areas > li .dt .t1:before {
  width: 44px;
  height: 40px;
  margin-left: -22px;
  background-position: -10px -44px;
}
.r-areas > li .dt .t2:before {
  width: 49px;
  height: 47px;
  margin-left: -25px;
  background-position: -64px -44px;
}
.r-areas > li .dt .t3:before {
  width: 60px;
  height: 41px;
  margin-left: -30px;
  background-position: -123px -44px;
}
.r-areas > li .dt .t4:before {
  width: 44px;
  height: 51px;
  margin-left: -22px;
  background-position: -193px -44px;
}
.r-areas > li .dt .t5:before {
  width: 41px;
  height: 50px;
  margin-left: -20px;
  background-position: -247px -44px;
}
.r-areas > li .dt .t6:before {
  width: 45px;
  height: 42px;
  margin-left: -22px;
  background-position: -298px -44px;
}
.r-areas > li .dd {
  display: table-cell;
  width: 870px;
  height: 150px;
  vertical-align: middle;
  padding-left: 50px;
  border-left: 1px solid #d9d9d9;
}
.r-areas > li .dd .bltL1 li {
  font-size: 18px;
  height: auto;
  padding: 0;
  margin-top: 5px;
}
.r-areas > li .dd .dsc {
  margin-top: 25px;
}
.r-areas > li .dd .dsc li {
  font-size: 16px;
  color: #a8a8a8;
  margin-top: 5px;
}

.r-proc {
  margin-top: 50px;
}
.r-proc ol {
  padding: 0;
  margin-top: 40px;
}
.r-proc ol:after {
  display: block;
  clear: both;
  content: "";
}
.r-proc li {
  float: left;
  width: 25%;
}
.r-proc .cir {
  position: relative;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background-color: #f2f2f2;
  margin: 0 auto;
}
.r-proc .cir:before {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  border-radius: 50%;
  background-color: #fff;
  width: 160px;
  height: 160px;
  content: "";
}
.r-proc .cir:after {
  position: absolute;
  width: 160px;
  height: 160px;
  border: 10px solid #71bf44;
  border-radius: 50%;
  content: "";
}
.r-proc li:nth-child(1) .cir:after {
  clip: rect(0, 180px, 90px, 90px);
}
.r-proc li:nth-child(2) .cir:after {
  clip: rect(0, 180px, 180px, 90px);
}
.r-proc li:nth-child(3) .cir {
  background-color: #71bf44;
}
.r-proc li:nth-child(3) .cir:after {
  clip: rect(0, 90px, 90px, 0px);
  border-color: #f2f2f2;
  border-width: 12px;
  top: -1px;
  left: -1px;
}
.r-proc li:nth-child(4) .cir:after {
  clip: rect(0, 180px, 180px, 0);
}
.r-proc .cir span {
  position: absolute;
  width: 160px;
  left: 10px;
  top: 10px;
  font-size: 20px;
  font-family: "NS Regular";
  text-align: center;
  padding-top: 51px;
  z-index: 1;
}
.r-proc .cir span em {
  display: block;
  color: #71bf44;
  margin-bottom: 15px;
}

.r-way {
  margin-top: 80px;
}
.r-way ul {
  margin: 40px 0;
}
.r-way ul:after {
  display: block;
  clear: both;
  content: "";
}
.r-way li {
  float: left;
  width: 330px;
  margin-left: 45px;
}
.r-way li:first-child {
  margin-left: 0;
}
.r-way li .dt {
  height: 67px;
  line-height: 60px;
  border-top: 3px solid #333;
  border-bottom: 1px solid #333;
  font-size: 20px;
  text-align: center;
  font-family: "NS Regular";
}
.r-way li .dd dt {
  font-size: 20px;
  color: #7d7d7d;
  font-family: "NS Regular";
  margin-top: 30px;
}
.r-way li .dd dd {
  font-size: 20px;
  font-family: "NS Regular";
  margin-top: 5px;
}
.r-way li p {
  font-size: 20px;
  font-family: "NS Regular";
  margin-top: 30px;
  line-height: 1.2;
}

@media all and (max-width: 640px) {
  .sub-top.recruit {
    background-size: auto 180px;
  }
  .r-target {
    margin-top: 25px;
  }
  .r-target li {
    float: unset;
    width: 100%;
    padding: 20px 25px;
    margin: 8px 0 0 0;
  }
  .r-target li:first-child {
    margin-top: 0;
  }
  .r-target li .tit {
    padding: 0 2px 6px;
    font-size: 15px;
  }
  .r-target li .p1 {
    font-size: 14px;
    margin-top: 10px;
  }
  .r-target li .desc {
    font-size: 12px;
    margin-top: 3px;
  }
  .r-areas {
    margin-top: 25px;
  }
  .r-areas > li {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    padding: 0 15px;
    margin-top: 15px;
  }
  .r-areas > li:first-child {
    margin-top: 0;
  }
  .r-areas > li .dt {
    display: block;
    width: 100%;
    height: 100px;
    vertical-align: middle;
    padding-top: 28px;
  }
  .r-areas > li .dt span {
    padding-top: 35px;
    font-size: 14px;
  }
  .r-areas > li .dt span:before {
    background-size: 175px 50px;
  }
  .r-areas > li .dt .t1:before {
    width: 22px;
    height: 20px;
    margin-left: -11px;
    background-position: -5px -22px;
  }
  .r-areas > li .dt .t2:before {
    width: 25px;
    height: 24px;
    margin-left: -12px;
    background-position: -32px -22px;
  }
  .r-areas > li .dt .t3:before {
    width: 31px;
    height: 21px;
    margin-left: -15px;
    background-position: -61px -22px;
  }
  .r-areas > li .dt .t4:before {
    width: 23px;
    height: 26px;
    margin-left: -11px;
    background-position: -96px -22px;
  }
  .r-areas > li .dt .t5:before {
    width: 21px;
    height: 25px;
    margin-left: -10px;
    background-position: -123px -22px;
  }
  .r-areas > li .dt .t6:before {
    width: 23px;
    height: 21px;
    margin-left: -11px;
    background-position: -149px -22px;
  }
  .r-areas > li .dd {
    display: block;
    width: 100%;
    height: 190px;
    padding: 22px 0 0 0;
    border-left: 0;
    border-top: 1px solid #d9d9d9;
  }
  .r-areas > li .dd .bltL1 li {
    float: unset;
    font-size: 13px;
    width: 100%;
    padding: 0;
    margin-top: 5px;
    padding-left: 6px !important;
  }
  .r-areas > li .dd .bltL1 li:before {
    top: 6px;
    left: 0;
  }
  .r-areas > li .dd li:first-child {
    margin-top: 0;
  }
  .r-areas > li .dd .dsc {
    margin-top: 14px;
  }
  .r-areas > li .dd .dsc li {
    font-size: 12px;
    margin-top: 4px;
  }
  .r-proc {
    margin-top: 40px;
  }
  .r-proc ol {
    margin-top: 5px;
  }
  .r-proc li {
    float: left;
    width: 50%;
    margin-top: 20px;
  }
  .r-proc .cir {
    width: 140px;
    height: 140px;
  }
  .r-proc .cir:before, .r-proc .cir:after {
    width: 120px;
    height: 120px;
  }
  .r-proc li:nth-child(1) .cir:after {
    clip: rect(0, 140px, 70px, 70px);
  }
  .r-proc li:nth-child(2) .cir:after {
    clip: rect(0, 140px, 140px, 70px);
  }
  .r-proc li:nth-child(3) .cir {
    background-color: #71bf44;
  }
  .r-proc li:nth-child(3) .cir:after {
    clip: rect(0, 70px, 70px, 0px);
    border-color: #f2f2f2;
    border-width: 12px;
    top: -1px;
    left: -1px;
  }
  .r-proc li:nth-child(4) .cir:after {
    clip: rect(0, 140px, 140px, 0);
  }
  .r-proc .cir span {
    width: 140px;
    left: 0;
    top: 0;
    font-size: 13px;
  }
  .r-proc .cir span em {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .r-way {
    margin-top: 60px;
  }
  .r-way ul {
    margin: 20px 0 0;
  }
  .r-way ul:after {
    display: block;
    clear: both;
    content: "";
  }
  .r-way li {
    float: left;
    width: calc(50% - 5px);
    margin-left: 10px;
  }
  .r-way li:first-child {
    margin-left: 0;
  }
  .r-way li .dt {
    height: 33px;
    line-height: 30px;
    border-top: 2px solid #333;
    font-size: 13px;
  }
  .r-way li .dd dt {
    font-size: 11px;
    margin-top: 15px;
  }
  .r-way li .dd dd {
    font-size: 13px;
    margin-top: 3px;
  }
  .r-way li p {
    font-size: 13px;
    margin-top: 15px;
  }
  .r-way li:nth-child(3) {
    width: 100%;
    margin-left: 0;
    margin-top: 40px;
  }
}
/* reset_new */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
textarea,
input,
time,
mark,
audio,
video,
a {
  color: #000;
}

/* main_new */
.cont.m-solution {
  word-break: keep-all;
}
.cont.m-solution img {
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 640px) {
  .cont.m-solution {
    padding-top: 20px;
    background: url(../images/common/bg-main-solution.png) no-repeat left bottom;
  }
  .cont.m-solution .mb {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .cont.m-solution {
    padding-top: 0;
  }
  .cont.m-solution .pc {
    display: none;
  }
}
.cont.m-solution .cont-tit {
  position: absolute;
  left: 0;
  top: 100px;
  font-size: 36px;
  font-weight: 100;
  color: #000;
  line-height: 1.33;
  letter-spacing: -0.72px;
}
.cont.m-solution .cont-tit strong {
  font-family: "NS Bold";
  color: #000;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .cont-tit {
    position: static;
    text-align: center;
    font-size: 20px;
    margin-bottom: 40px;
  }
  .cont.m-solution .cont-tit br:not(.mb) {
    display: none;
  }
}
.cont.m-solution .solution-list {
  position: relative;
  margin-left: auto;
  display: flex;
  width: 780px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .solution-list {
    width: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
}
.cont.m-solution .solution-list li:first-child {
  transform: translateY(152px);
  margin-right: 30px;
}
.cont.m-solution .solution-list li:nth-child(2) {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .solution-list li {
    margin-left: 20px;
    flex: 0 0 280px;
    display: inline-block;
  }
  .cont.m-solution .solution-list li:first-child {
    margin-left: 0;
    margin-right: 0;
    transform: none;
    margin-right: 0;
  }
  .cont.m-solution .solution-list li:nth-child(2) {
    margin-bottom: 0;
  }
}
.cont.m-solution .solution-list li a {
  display: block;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.cont.m-solution .solution-list li a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.2s ease-out;
}
.cont.m-solution .solution-list li a img {
  vertical-align: top;
}
.cont.m-solution .solution-list li a .tit-bx {
  position: absolute;
  left: 40px;
  bottom: 60px;
}
.cont.m-solution .solution-list li a .tit-bx .tit {
  font-size: 34px;
  font-family: "NS Bold";
  color: #fff;
}
.cont.m-solution .solution-list li a .tit-bx .st {
  font-size: 18px;
  margin-bottom: 10px;
  color: #fff;
  display: block;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .solution-list li a .tit-bx {
    bottom: auto;
    top: 50px;
    left: 20px;
  }
  .cont.m-solution .solution-list li a .tit-bx .tit {
    font-size: 30px;
  }
}
.cont.m-solution .solution-list li a .des {
  position: absolute;
  bottom: 55px;
  left: 40px;
  color: #fff;
  font-size: 18px;
  text-align: left;
  line-height: 1.7;
  opacity: 0;
  letter-spacing: -0.32px;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .solution-list li a .des {
    bottom: 50px;
    left: 20px;
    padding-right: 20px;
    font-size: 16px;
    line-height: 1.5;
    opacity: 1;
    white-space: normal;
  }
}
.cont.m-solution .solution-list li a .des strong {
  color: #fff;
  font-family: "NS Bold";
}
.cont.m-solution .solution-list li a i {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 64px;
  height: 64px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 64px;
  display: block;
  opacity: 0;
  transition: 0.2s ease-out;
}
@media screen and (max-width: 640px) {
  .cont.m-solution .solution-list li a i {
    width: 50px;
    height: 50px;
    background-size: 50px;
    opacity: 1;
  }
}
.cont.m-solution .solution-list li a i.icon-arrow-01 {
  background-image: url(../images/common/icon-arrow-01.png);
}
.cont.m-solution .solution-list li a i.icon-arrow-02 {
  background-image: url(../images/common/icon-arrow-02.png);
}
.cont.m-solution .solution-list li a i.icon-arrow-03 {
  background-image: url(../images/common/icon-arrow-03.png);
}
@media screen and (min-width: 640px) {
  .cont.m-solution .solution-list li a:hover::before {
    background-color: rgba(0, 0, 0, 0.6);
  }
  .cont.m-solution .solution-list li a:hover .tit-bx {
    top: 60px;
    bottom: auto;
  }
  .cont.m-solution .solution-list li a:hover i,
  .cont.m-solution .solution-list li a:hover .des {
    opacity: 1;
  }
}

/* soultion_new */
.contents.solution {
  color: #000;
  word-break: keep-all;
}
.contents.solution img {
  width: 100%;
  max-width: 100%;
}
.contents.solution .tit-bx {
  color: #000;
  margin-bottom: 50px;
}
.contents.solution .tit-bx .st {
  font-size: 16px;
  margin-bottom: 10px;
  display: block;
  font-family: "NS Regular";
}
.contents.solution .tit-bx .tit {
  font-size: 40px;
  font-family: "NS Bold";
  line-height: 1.5;
}
.contents.solution .txt-md {
  font-size: 24px;
  font-family: "NS Bold";
  margin-bottom: 20px;
  line-height: 1.63;
}
.contents.solution .txt-sm {
  font-size: 16px;
  font-family: "NS Regular";
  font-weight: 400;
  line-height: 1.63;
}
.contents.solution .txt-img {
  font-size: 22px;
  font-family: "NS Bold";
  margin-bottom: 15px;
  line-height: 1.63;
  text-align: left;
  position: relative;
  padding-left: 12px;
}
.contents.solution .txt-img::before {
  content: "";
  background-color: #000;
  width: 3px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.contents.solution .client-list {
  display: flex;
  margin: 0 -7.5px;
}
.contents.solution .client-list li {
  padding: 0 7.5px;
}
.contents.solution .client-list li.col-4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}
@media screen and (max-width: 640px) {
  .contents.solution .client-list li.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 640px) {
  .contents.solution .client-list {
    margin: 0 -4px;
  }
  .contents.solution .client-list li {
    padding: 0 4px;
  }
}
.contents.solution .mb {
  display: none;
}
.contents.solution .img-bx-1,
.contents.solution .img-bx-2 {
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 640px) {
  .contents.solution .img-bx-1,
  .contents.solution .img-bx-2 {
    margin-top: 40px;
  }
}
@media screen and (max-width: 640px) {
  .contents.solution .pc {
    display: none;
  }
  .contents.solution .mb {
    display: block;
  }
  .contents.solution .tit-bx {
    margin-bottom: 20px;
    text-align: center;
  }
  .contents.solution .tit-bx .st {
    font-size: 12px;
  }
  .contents.solution .tit-bx .tit {
    font-size: 26px;
  }
  .contents.solution .txt-md {
    font-size: 15px;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
  }
  .contents.solution .txt-sm {
    margin-top: 20px;
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
  }
  .contents.solution .txt-img {
    font-size: 15px;
    padding-left: 8px;
  }
  .contents.solution .txt-img:before {
    width: 2px;
    height: 15px;
  }
}

.cont.digitalkey .video-bx {
  margin-top: 40px;
}
.cont.digitalkey .video-bx video {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 640px) {
  .cont.solution-bg {
    background: url(../images/contents/bg-solution.png) no-repeat center top;
  }
}

.cont.onekey .img-bx-1, .cont.onekey .img-bx-2 {
  margin-top: 100px;
}
@media screen and (max-width: 640px) {
  .cont.onekey .img-bx-1, .cont.onekey .img-bx-2 {
    margin-top: 50px;
  }
}