@charset "UTF-8";
/* ------------------------------------------------------------
    top-page
------------------------------------------------------------ */
.top-page .column-2{
  display: flex;
}
.top-page .column-2__title{
  width: 47.4rem;
  text-align: center;
  background: #191919;
  padding: 10rem 3rem 10rem 14.4rem;
  box-sizing: border-box;
}
.top-page .column-2.-bg_no .column-2__title{
  background: none;
}

.top-page .column-2__cnts{
  width: calc(100% - 47.4rem);
  box-sizing: border-box;
}

.section_title{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: calc(34 / 24);
}
.section_title .en{
  display: block;
  font-size: 4.8rem;
  font-weight: 700;
}
.section_title.-white,
.section_title.-white .en{
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .top-page .column-2{
    display: block;
  }
  .top-page .column-2__title{
    width: 100%;
    text-align: left;
    padding: 10rem 8rem 10rem 8rem;
  }
  .top-page .column-2__cnts{
    width: 100%;
  }

  .section_title{
    font-size: 4rem;
    line-height: calc(60 / 40);
  }
  .section_title .en{
    font-size: 7.8rem;
  }

}


/* sec-fv
------------------------------ */
.sec-fv{
  position: relative;
}

.sec-fv .fv-txt{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  z-index: 2;
}

.sec-fv .fv-txt .title{
  font-size: 4.2rem;
  line-height: calc(80 / 42);
  letter-spacing: .032em;
  font-weight: 700;
  color: #FFF;
}
.sec-fv .fv-bg{
  position: relative;
  z-index: 1;
}
.sec-fv .fv-bg .bg{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: none;
  mix-blend-mode: hard-light;
  box-sizing: border-box;
  z-index: 2;
}
.sec-fv .p-video__wrapper{
  position: relative;
  z-index: 1;
}
.sec-fv .js-movie video{
  width: 100%;
}
.sec-fv .js-movie.nosp video{
  display: block;
}
#movie-button {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2.5rem;
  margin: 0 auto;
  text-align: center;
  cursor:pointer;
  z-index:3;
}
.sec-fv .movie-button {
  text-align: center;
  margin: 0 auto;
  transition: .4s;
}
.sec-fv .movie-button span {
  font-size: 1.3rem;
  line-height: calc(34 / 13);
  font-weight: 500;
  color: #FFF;
  text-shadow: 0 0 1.5rem rgba(112,112,112,.7);
}
.sec-fv .movie-button span .icon {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-fv .movie-button:hover{
    opacity: .5;
  }
}

.sec-fv .movie-button .icon:before{
  position: relative;
  top: -.1rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: .9rem;
  content: '';
  background-size: 100% auto !important;
  width: 1.5rem;
  height: 1.5rem;
}
.sec-fv .movie-button .icon.-pause:before{
  background: url("../../asset/img/top/icon_stop-circle.svg") no-repeat center center;
}
.sec-fv .movie-button .icon.-play:before{
  background: url("../../asset/img/top/icon_play-circle.svg") no-repeat center center;
}
.sec-fv .p-video__wrapper img{
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .sec-fv .fv-txt{
    position: absolute;
    justify-content: flex-end;
    text-align: center;
    padding-bottom: 31rem;
  }
  .sec-fv .fv-txt .title{
    font-size: 6.4rem;
    line-height: calc(106 / 64);
    letter-spacing: .012em;
  }

  .sec-fv .fv-bg .bg{
    background: -moz-linear-gradient(bottom, rgba(0,0,0,1), rgba(103,103,103,0) 70%);
    background: -webkit-linear-gradient(bottom, rgba(0,0,0,1), rgba(103,103,103,0) 70%);
    background: linear-gradient(to top, rgba(0,0,0,1), rgba(103,103,103,0) 70%);
  }

  .sec-fv .js-movie.nopc video{
    display: block;
    height: 100%;
  }
  #movie-button {
    position: absolute;
    left: 8rem;
    transform: translateX(0);
    bottom: 19.5rem;
    margin: 0;
    text-align: left;
  }
  .sec-fv .movie-button {
    text-align: left;
    margin: 0;
  }
  .sec-fv .movie-button span {
    font-size: 2.4rem;
    line-height: calc(34 / 24);
  }

  .sec-fv .movie-button .icon:before{
    top: -.1rem;
    margin-right: .9rem;
    width: 2.7rem;
    height: 2.7rem;
  }

}

/* sec-event
------------------------------ */
.top-page .sec-event{
  position: relative;
  z-index: 2;
  background: url("../../asset/img/top/bg_event.webp") no-repeat left center,#F5F5F5;
  background-size: auto 100%;
}
.top-page .sec-event .column-2__title{
  padding-top: 8rem;
  background: transparent;
  box-shadow: 0 6px 11px 0 rgba(0,0,0,0.02);
  z-index: 1;
}
.top-page .sec-event .column-2__cnts{
  background: #EDEDED;
  padding: 9rem 5.2rem 8rem 5.2rem;
}

.sec-event .post-list{
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}
.sec-event .post{
  position: relative;
  width: calc((100% - 4.8rem) / 4);
  max-width: 26.4rem;
  background: #FFF;
  box-shadow: 0 3px 10px 0 rgba(0,0,0,.08);
  box-sizing: border-box;
  transition: .4s;
}
.sec-event .post a{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sec-event .post a:hover,
.sec-event .post a:hover img{
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .sec-event .post:hover{ box-shadow: 0 3px 20px 0 rgba(10,10,10,.3);}
}

.sec-event .post .object-fit-img{
  height: 16rem;
}

.sec-event .post-list .post-cat{
  position: absolute;
  left: 1.8rem;
  top: -1.4rem;
  z-index: 2;
}

.sec-event .post-list .post-cat:after{
  position: absolute;
  right: -1.6rem;
  top: 0;
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.6rem 0 1.6rem 1.6rem;
}

.sec-event .post-list .post-cat p{
  font-size: 1.6rem;
  line-height: 1;
  padding: .8rem 1rem .8rem 3.2rem;
  box-sizing: border-box;
}
.sec-event .post-list .post-cat p:before{
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  vertical-align: middle;
  content: '';
  background-size: 100% auto !important;
}
/*life_science*/
.sec-event .post-list .post-cat.-life_science{
  background: #FF9000;
}
.sec-event .post-list .post-cat.-life_science p:before{
  background: url("../../asset/img/top/icon_microscope.svg") no-repeat center center;
  width: 1.2rem;
  height: 1.9rem;
}
.sec-event .post-list .post-cat.-life_science:after{
  border-color: transparent transparent transparent #FF9000;
}

/*eye-care*/
.sec-event .post-list .post-cat.-eye-care{
  background: #FFE600;
}
.sec-event .post-list .post-cat.-eye-care p:before{
  left: .8rem;
  background: url("../../asset/img/top/icon_eye.svg") no-repeat center center;
  width: 1.9rem;
  height: 1.7rem;
}
.sec-event .post-list .post-cat.-eye-care:after{
  border-color: transparent transparent transparent #FFE600;
}

/*industrial*/
.sec-event .post-list .post-cat.-industrial{
  background: #00B2A1;
}
.sec-event .post-list .post-cat.-industrial p:before{
  left: 1rem;
  background: url("../../asset/img/top/icon_industry.svg") no-repeat center center;
  width: 1.6rem;
  height: 1.5rem;
}
.sec-event .post-list .post-cat.-industrial:after{
  border-color: transparent transparent transparent #00B2A1;
}

/*other*/
.sec-event .post-list .post-cat.-other{
  background: #CCCCCC;
}
.sec-event .post-list .post-cat.-other p:before{
  left: .9rem;
  background: url("../../asset/img/top/icon_other.svg") no-repeat center center;
  width: 1.8rem;
  height: 1.7rem;
}
.sec-event .post-list .post-cat.-other:after{
  border-color: transparent transparent transparent #CCCCCC;
}

/*precision*/
.sec-event .post-list .post-cat.-precision{
  background: #29316c;
}
.sec-event .post-list .post-cat.-precision p{
  color: #fff;
}
.sec-event .post-list .post-cat.-precision p:before{
  left: .9rem;
  background: url("../../asset/img/top/icon_precision.svg") no-repeat center center;
  width: 1.8rem;
  height: 1.7rem;
}
.sec-event .post-list .post-cat.-precision:after{
  border-color: transparent transparent transparent #29316c;
}

/*all-solutions*/
.sec-event .post-list .post-cat.-all-solutions{
  background: #CCCCCC;
}
.sec-event .post-list .post-cat.-all-solutions p:before{
  left: .9rem;
  background: url("../../asset/img/top/icon_all.svg") no-repeat center center;
  width: 1.8rem;
  height: 1.7rem;
}
.sec-event .post-list .post-cat.-all-solutions:after{
  border-color: transparent transparent transparent #CCCCCC;
}

.sec-event .post .post-img{
  width: 100%;
  height: 16rem;
}

@media screen and (min-width:768px) and (max-width: 1700px) {
  .sec-event .post .object-fit-img{
    height: 100%;
  }
  .sec-event .post .post-img{
    height: auto;
  }
}

.sec-event .post .post-txt{
  position: relative;
  height: 100%;
  padding: 1rem 1.8rem 5rem 1.8rem;
  box-sizing: border-box;
}
.sec-event .post .post-txt:before,
.sec-event .post .post-txt:after{
  position: absolute;
  bottom: 1.5rem;
  right: 2rem;
  display: block;
  content: '';
}
.sec-event .post .post-txt:before{
	width: 2.8rem;
	height: 2.8rem;
	-webkit-border-radius: 100%;
	border-radius: 100%;
	background: #000000;
}
.sec-event .post .post-txt:after{
  right: 3.1rem;
  bottom: 2.5rem;
	width: .8rem;
	height: .8rem;
	border-top: .2rem solid #FFE600;
	border-right: .2rem solid #FFE600;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sec-event .post .post-cat02{
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  line-height: 1;
  border-radius: 4px;
  padding: 5px 8px 6px;
  box-sizing: border-box;
}
/*exhibition*/
.sec-event .post .post-cat02.-exhibition{
  color: #FFF;
  background: #707070;
}
/*web*/
.sec-event .post .post-cat02.-web{
  background: #D9D9D9;
}
/*seminar*/
.sec-event .post .post-cat02.-seminar{
  background: #FFE600;
}

.sec-event .post .post-title{
  font-size: 1.6rem;
  line-height: calc(24 / 16);
  font-weight: 500;
  color: #090A0C;
  margin-bottom: .6rem;
}
.sec-event .post .post-info p{
  position: relative;
  font-size: 1.4rem;
  line-height: calc(30 / 14);
  padding-left: 1.4rem;
  box-sizing: border-box;
}
.sec-event .post .post-info p:before{
  position: absolute;
  left: 0;
  top: 1rem;
  display: block;
  content: '';
  background-size: 100% auto !important;
}
.sec-event .post .post-info .text{
  padding-top: 0.5rem;
  line-height: calc(42 / 28);
}
.sec-event .post .post-info .date:before{
  background: url("../../asset/img/top/icon_callen.svg") no-repeat center center;
  width: 1.1rem;
  height: 1.2rem;
}
.sec-event .post .post-info .locate:before{
  background: url("../../asset/img/top/icon_pin.svg") no-repeat center center;
  width: 1.1rem;
  height: 1.3rem;
}
.sec-event .post .post-info .text:before{
  background: url("../../asset/img/top/icon_info.svg") no-repeat center center;
  width: 1.2rem;
  height: 1.2rem;
}
.sec-event .btn_wrap{
  margin: 2rem auto 0 0;
}
.sec-event .btn_wrap .c-button{
  margin: 0 auto 0 0;
  text-align: left;
  padding-left:2rem;
  padding-right: 2rem;
}
@media screen and (min-width:768px) and (max-width: 1023px) {
  .sec-event .post .post-info p{
    line-height: calc(24 / 14);
    padding-left: 1.6rem;
  }
  .sec-event .post .post-info p:before{
    top: 1.2rem;
  }
  .sec-event .post-list{
      gap: 3.2rem 3.2rem;
  }

  .sec-event .post{
    width: calc((100% - 6.4rem) / 2);
    max-width: inherit;
  }
  .sec-event .post .post-img{
    width: 100%;
    height: 22rem;
  }

}

@media screen and (max-width: 767px) {
  .top-page .sec-event{
    overflow: hidden;
    background: url("../../asset/img/top/bg_event_sp.webp") no-repeat left center,#F5F5F5;
    background-size: auto 100%;
  }
  .top-page .sec-event .column-2__title{
    padding-top: 10rem;
  }
  .top-page .sec-event .column-2__cnts{
    background: transparent;
    padding: 0 0 10rem 0;
  }
  .sec-event .post-list{
    display: block;
  }
  .sec-event .post{
    position: relative;
    width: 100%;
    max-width: inherit;
    box-shadow: none;
    background: none;
  }
  .sec-event .post a{
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 1.4rem 1.4rem 0 0;
    overflow: hidden;
  }
  .sec-event .post-list .post-cat{
    left: 2rem;
    top: -1.8rem;
  }

  .sec-event .post-list .post-cat:after{
    right: -10px;
    border-width: 11px 0 11px 11px;
  }
  _::-webkit-full-page-media, _:future, :root .sec-event .post-list .post-cat:after{
    right: -11px;
  }

  .sec-event .post-list .post-cat p{
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 2.8rem;
    height: 22px;
    padding: 0 1rem .3rem 4rem;
    box-sizing: border-box;
  }
  .sec-event .post-list .post-cat p:before{
    position: absolute;
    left: 1rem;
  }
  /*life_science*/
  .sec-event .post-list .post-cat.-life_science p:before{
    width: 2.3rem;
    height: 2.9rem;
  }

  /*eye-care*/
  .sec-event .post-list .post-cat.-eye-care p:before{
    left: .8rem;
    width: 2.3rem;
    height: 2.1rem;
  }

  /*industrial*/
  .sec-event .post-list .post-cat.-industrial p:before{
    left: 1rem;
    width: 2.8rem;
    height: 2.8rem;
  }

  /*other*/
  .sec-event .post-list .post-cat.-other p:before{
    left: .9rem;
    width: 2.4rem;
    height: 2.3rem;
  }

  /*precision*/
  .sec-event .post-list .post-cat.-precision p:before{
    left: .9rem;
    width: 2.4rem;
    height: 2.3rem;
  }

  /*all-solutions*/
  .sec-event .post-list .post-cat.-all-solutions p:before{
    left: .9rem;
    width: 2.4rem;
    height: 2.3rem;
  }

  .sec-event .post .post-img,
  .sec-event .post .object-fit-img{
    height: 25.8rem;
  }
  .sec-event .post .post-txt{
    padding: 3rem 2.5rem 9rem 2.5rem;
    background: #FFF;
    border-radius: 0 0 1.4rem 1.4rem;
    overflow: hidden;
  }
  .sec-event .post .post-txt:before,
  .sec-event .post .post-txt:after{
    bottom: 1.6rem;
    right: 3.2rem;
  }
  .sec-event .post .post-txt:before{
    width: 4.6rem;
    height: 4.6rem;
  }
  .sec-event .post .post-txt:after{
    right: 4.9rem;
    bottom: 2.9rem;
    width: 1.8rem;
    height: 1.8rem;
    border-top: 0.4rem solid #FFE600;
    border-right: 0.4rem solid #FFE600;
  }

  .sec-event .post .post-cat02{
    margin-bottom: 1rem;
    font-size: 2.6rem;
    padding: 5px 9px 6px;
  }
  .sec-event .post .post-title{
    font-size: 3.2rem;
    line-height: calc(42 / 32);
    margin-bottom: 2rem;
  }
  .sec-event .post .post-info p{
    font-size: 2.8rem;
    line-height: calc(42 / 28);
    padding-left: 3rem;
  }
  .sec-event .post .post-info p:before{
    top: 1rem;
  }
  .sec-event .post .post-info .text{
    padding-top: 0;
  }
  .sec-event .post .post-info .date:before{
    width: 2.2rem;
    height: 2.2rem;
  }
  .sec-event .post .post-info .locate:before{
    width: 2.0rem;
    height: 2.4rem;
  }
  .sec-event .post .post-info .text:before{
    width: 2rem;
    height: 2rem;
  }
  .sec-event .btn_wrap{
    margin: 9rem auto 0 auto;
  }
  .sec-event .btn_wrap .c-button{
    margin: 0 auto;
    max-width: 23rem;
    font-size: 3rem;
    text-align: center;
  }
  .top-page .c-button.-round:after{
    margin-top: -.2rem;
    right: 3rem;
    width: 1.2rem;
    height: 1.2rem;
  }
  .sec-event .slick-track {
    display: block;
  }
  .sec-event .slick-slide {
    height: auto !important;
  }
  .sec-event .sp-slider .slick-list {
    overflow: visible;
  }
  .sec-event .sp-slider .post {
    width: 65rem;
    margin: 0 1.5rem;
  }
  .slick-dots{
    bottom: -5rem;
  }
  .slick-dots li{
    width: 1.3rem;
    height: 1.3rem;
    margin: 0 1.3rem;
    border-radius: 100%;
    overflow: hidden;
    transition: .4s;
  }
  .slick-dots li.slick-active{
    width: 4.5rem;
    border-radius: .7rem;
  }
  .slick-dots li.slick-active button{ background: #FFE600;}
  .slick-dots li button{
    width: 100%;
    height: 100%;
    padding: 0;
    background: #CCCCCC;
  }
  .slick-dots li button:before{
    width: 100%;
    height: 100%;
    content: '•';
    text-align: center;
    opacity: 1;
  }
  .slick-dots li.slick-active button:before{
    opacity: 1;
  }

}

/* sec-news
------------------------------ */
.sec-news{
  background: url("../../asset/img/top/bg_news.webp") no-repeat left center,#191919;
  background-size: auto 100%;
}
.top-page .sec-news .column-2{
  align-items: center;
}
.top-page .sec-news .column-2__title{
  padding: 8.5rem 3rem 7rem 14.4rem;
}
.top-page .sec-news .column-2__cnts{
  width: calc(100% - 50.4rem);;
  padding-right: 5rem;
}

.sec-news .post-list{
  width: 100%;
  max-width: 110.4rem;
  margin-left: 5.5rem;
  padding: 3rem 9.4rem 3rem 6rem;
  background: #FFF;
  box-sizing: border-box;
}
.sec-news .post+.post{ margin-top: 2rem;}
.sec-news .post a{
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.sec-news .post .post-date{
  width: 14.2rem;
  font-size: 2.2rem;
  line-height: calc(34 / 22);
  font-weight: 500;
}
.sec-news .post .post-cat{
  width: 9rem;
  display: inline-block;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: .7rem .5rem;
  border-radius: .4rem;
  box-sizing: border-box;
}
.sec-news .post .post-cat.-production{ background: #FFE600;}
.sec-news .post .post-cat.-company{ background: #EDEDED;}
.sec-news .post .post-cat.-others{
  color: #FFF;
  background: #707070;
}
.sec-news .post .post-title{
  position: relative;
  width: calc(100% - 23.2rem);
  font-size: 2.2rem;
  line-height: calc(34 / 22);
  padding: 0 2rem 0 1.5rem;
  box-sizing: border-box;
}
.sec-news .post .post-title:after{
  position: absolute;
  right: 0;
  top: 1.5rem;
  display: block;
  content: '';
	width: .8rem;
	height: .8rem;
	border-top: .2rem solid #000;
	border-right: .2rem solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.sec-news .btn_wrap{
  margin: 2rem auto 0 0;
}
.sec-news .btn_wrap .c-button.-round{
  margin: 0;
  text-align: left;
  padding-left:2rem;
  padding-right: 2rem;
}

@media screen and (max-width: 767px) {
  .sec-news{
    background: url("../../asset/img/top/bg_news_sp.webp") no-repeat left center,#191919;
    background-size: auto 100%;
  }
  .top-page .sec-news .column-2__title{
    padding: 10rem 8rem 10rem 8rem;
  }
  .top-page .sec-news .column-2__cnts{
    width: 100%;
    padding-right: 0;
  }
  .sec-news .post-list{
    width: 100%;
    max-width: inherit;
    margin-left: 0;
    padding: 3rem 8rem 8rem 8rem;
  }
  .sec-news .post{
    border-bottom: 1px solid #CCCCCC;
    padding: 3rem 0;
    box-sizing: border-box;
  }
  .sec-news .post+.post{ margin-top: 0;}
  .sec-news .post a{
    flex-wrap: wrap;
  }
  .sec-news .post .post-date{
    width: 16rem;
    font-size: 2.8rem;
    line-height: calc(34 / 27);
  }
  .sec-news .post .post-cat{
    position: relative;
    top: -.9rem;
    width: 12.8rem;
    margin-left: 1rem;
    font-size: 2.6rem;
    padding: .7rem .5rem 1.1rem .5rem;
  }
  .sec-news .post .post-title{
    width: 100%;
    font-size: 3rem;
    line-height: calc(46 / 30);
    padding: 1rem 2.6rem 0 0;
  }
  .sec-news .post .post-title:after{
    top: 2.6rem;
    width: 1.4rem;
    height: 1.4rem;
  }
}


/* sec-solution
------------------------------ */
.sec-solution .column-2{
  align-items: flex-end;
}
.sec-solution .column-2__cnts{
  padding: 10rem 8rem 10rem 6rem;
}

.solution_cnts{
  display: flex;
  align-items: center;
  background: url("../../asset/img/top/bg_solution.webp") no-repeat left center,#EDEDED;
  background-size: auto 100%;
}
.solution_cnts.-black{
  background: url("../../asset/img/top/bg02_solution.webp") no-repeat left center,#191919;
  background-size: auto 100%;
  padding-left: 5.5rem;
  box-sizing: border-box;
}

.solution_cnts .cnts__img{
  width: 47.4rem;
  padding-left: 9rem;
  box-sizing: border-box;
}
.solution_cnts .cnts__img img{
  image-rendering: -webkit-optimize-contrast;
}
@media screen and (min-width: 1301px) {
  .solution_cnts .cnts__img img{
    padding: 1.2rem;
  }
}
.solution_cnts .cnts__txt{
  width: calc(100% - 47.4rem);
  padding-left: 2.5rem;
  box-sizing: border-box;
}
.solution_cnts.-black .cnts__txt{
  padding-left: 8.5rem;
}

.solution_cnts .cnts__txt .flex-box{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.solution_cnts .cnts__txt .flex-box__img{
  width: 71rem;
}
.solution_cnts.-black .cnts__txt .flex-box__img{
  width: 62.9rem;
}
.solution_cnts .cnts__txt .flex-box__img img{ display: block;}

.solution_cnts .cnts__txt .flex-box__txt{
  width: 40.2rem;
  padding-right: 0.5rem
}
@media screen and (min-width:768px) and (max-width: 1300px) {
  .solution_cnts.-black .cnts__txt{
    padding-left: 3rem;
  }
  .solution_cnts .cnts__txt .flex-box__txt{
    margin-right: 3rem;
  }
}

.solution_cnts .cnts__txt .flex-box__txt .box-title{
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
.solution_cnts .cnts__txt .flex-box__txt .box-title .small{
  display: block;
  font-size: 1.8rem;
  line-height: calc(34 / 18);
}
.solution_cnts .cnts__txt .flex-box__txt .box-text{
  font-size: 1.8rem;
  line-height: calc(32 / 18);
}
.solution_cnts.-black .cnts__txt .flex-box__txt .box-title,
.solution_cnts.-black .cnts__txt .flex-box__txt .box-text{
  color: #FFF;
}

.solution_cnts .cnts__txt .flex-box__txt .btn_wrap{
  margin: 3rem auto 0 0;
}
.solution_cnts .cnts__txt .flex-box__txt .btn_wrap .c-button.-round{
  margin: 0;
}

@media screen and (max-width: 767px) {
  .solution_cnts.-black{
    background: url("../../asset/img/top/bg02_solution_sp.webp") no-repeat left top,#191919;
    background-size: auto 100%;
  }

  .sec-solution .column-2{
    align-items: flex-end;
    background: url("../../asset/img/top/bg_solution_ttl_sp.webp") no-repeat left top,#191919;
    background-size: 100% auto;
  }
  .sec-solution .column-2__title{
    padding-bottom: 0;
  }
  .sec-solution .column-2__cnts{
    padding: 3rem 8rem 9rem 8rem;
  }
  .sec-solution .column-2__title .section_title,
  .sec-solution .column-2__cnts .c-text{
    color: #fff;
  }
  .sec-solution .c-text {
    font-size: 3rem;
    line-height: calc(50 / 30);
    }
  .solution_cnts{
    display: block;
    background: url("../../asset/img/top/bg_solution_sp.webp") no-repeat left top,#EDEDED;
    background-size: 100% auto;
    padding: 11.5rem 0 7rem 0;
  }
  .solution_cnts.-first{
    padding-top: 10rem;
  }

  .solution_cnts.-black{
    padding-left: 0;
  }

  .solution_cnts .cnts__img{
    width: 100%;
    max-width: 48.9rem;
    text-align: center;
    padding: 0;
    margin: 0 auto 5.5rem auto;
  }
  .solution_cnts .cnts__txt{
    width: 100%;
    padding-left: 0;
  }
  .solution_cnts.-black .cnts__txt{
    padding-left: 0;
  }

  .solution_cnts .cnts__txt .flex-box{
    display: block;
  }
  .solution_cnts .cnts__txt .flex-box__img{
    width: calc(100% - 8rem);
    margin: 0 0 0 auto;
  }
  .solution_cnts.-black .cnts__txt .flex-box__img{
    width: calc(100% - 8rem);
    margin: 0 0 0 auto;
  }

  .solution_cnts .cnts__txt .flex-box__txt{
    width: 100%;
    padding: 0 8rem 6rem 8rem;
    box-sizing: border-box;
  }
  .solution_cnts .cnts__txt .flex-box__txt .box-title{
    font-size: 4rem;
    margin-bottom: 4rem;
    text-align: center;
  }
  .solution_cnts .cnts__txt .flex-box__txt .box-title .small{
    font-size: 2.8rem;
    line-height: calc(34 / 28);
    margin-top: 1.5rem;
  }
  .solution_cnts .cnts__txt .flex-box__txt .box-text{
    font-size: 3rem;
    line-height: calc(50 / 30);
    text-align: center;
  }
  .solution_cnts .cnts__txt .flex-box__txt .btn_wrap{
    margin: 5.5rem auto 0 0;
  }
  .solution_cnts .cnts__txt .flex-box__txt .btn_wrap .c-button.-round{
    margin: 0 auto;
    max-width: 23rem;
    font-size: 3rem;
    text-align: center;
  }
  .solution_cnts .cnts__txt .flex-box__txt .btn_wrap .c-button.-round:after{
    margin-top: -.2rem;
    right: 3rem;
    width: 1.2rem;
    height: 1.2rem;
  }

}


/* sec-download
------------------------------ */
.sec-download .column-2__cnts{
  padding: 12rem 5rem;
  background: #EDEDED;
}
.sec-download .dl-list{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: 92.6rem;
  margin: 0 auto;
  gap: 0 4.3rem;
}
.sec-download .dl-list__items{
  position: relative;
  width: calc((100% - 8.6rem) / 3);
  max-width: 27.8rem;
}
.sec-download .dl-list__items img{
  position: relative;
  display: block;
  z-index: 1;
  image-rendering: -webkit-optimize-contrast;
}
.sec-download .dl-list__items p{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 1.8rem;
  line-height: calc(28 / 18);
  font-weight: 500;
  text-shadow: 0 0 14px #FFFFFF;
  z-index: 2;
}
.sec-download .dl-list__items p:after{
  position: relative;
  display: block;
  margin: 1rem auto 0 auto;
  text-align: center;
  content: '';
  background: url("../../asset/img/common/icon_dl_black.svg") no-repeat center center;
  background-size: 100% auto;
  width: 3.3rem;
  height: 3.3rem;
}
.sec-download .dl-list__items a{
  display: block;
  border-radius: 100%;
}
@media screen and (min-width: 768px) {
  .sec-download .dl-list__items a:hover{
    opacity: 1;
    box-shadow: 0 5px 15px 0 rgba(0,0,0,.12);
  }
  .sec-download .dl-list__items a:hover img{ opacity: 1;}
}

@media screen and (max-width: 767px) {
  .sec-download .column-2__cnts{
    padding: 8rem 0;
  }
  .sec-download .dl-list{
    display: block;
    width: 100%;
    max-width: inherit;
    margin: 0 auto;
  }
  .sec-download .dl-list__items{
    position: relative;
    width: 100%;
    max-width: 46.8rem;
    margin: 0 auto;
  }
  .sec-download .dl-list__items+.dl-list__items{ margin-top: 5.5rem;}
  .sec-download .dl-list__items p{
    bottom: 4.5rem;
    font-size: 3rem;
    line-height: calc(42 / 30);
  }
  .sec-download .dl-list__items p:after{
    margin: 1.5rem auto 0 auto;
    background-size: 100% auto;
    width: 5.4rem;
    height: 4rem;
  }
}


/* sec-about / sec-recruit
------------------------------ */
.top-page .flex{
  display: flex;
}
.sec-about.flex-box,
.sec-recruit.flex-box{
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 50%;
  background: -moz-linear-gradient(left, #EDEDED, #FFF);
  background: -webkit-linear-gradient(left, #EDEDED, #FFF);
  background: linear-gradient(to right, #EDEDED, #FFF);
  box-sizing: border-box;
}

.sec-about .flex-box__txt,
.sec-recruit .flex-box__txt{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 55%;
  height: 100%;
  padding: 12rem 0 10.5rem 0;
  box-sizing: border-box;
}

.sec-about .flex-box__txt .section_title,
.sec-recruit .flex-box__txt .section_title{
  margin-bottom: 3rem;
}
.sec-about .flex-box__txt p,
.sec-recruit .flex-box__txt p{
  width: 31rem;
  font-size: 2.0rem;
  line-height: calc(36 / 20);
  text-align: center;
}
.sec-about .flex-box__txt .btn_wrap,
.sec-recruit .flex-box__txt .btn_wrap{
  margin: 3rem auto 0 auto;
  width: 100%;
}
.sec-about .flex-box__txt .btn_wrap .c-button,
.sec-recruit .flex-box__txt .btn_wrap .c-button{
  width: 100%;
  text-align: left;
  padding-left: 2rem;
  padding-right: 2rem;
}
.sec-about .flex-box__img,
.sec-recruit .flex-box__img{
  width: 45%;
  max-width: 29.6rem;
  padding-top: 10.5rem;
}
.sec-about .flex-box__img img,
.sec-recruit .flex-box__img img{
  display: block;
}
@media screen and (max-width: 767px) {
  .top-page .flex{
    display: block;
  }
  .sec-about.flex-box,
  .sec-recruit.flex-box{
    width: 100%;
    background: -moz-linear-gradient(bottom, #EDEDED, #FFF);
    background: -webkit-linear-gradient(bottom, #EDEDED, #FFF);
    background: linear-gradient(to top, #EDEDED, #FFF);
  }
  .sec-recruit.flex-box{
    padding-right:0;
  }
  .sec-about .flex-box__txt .section_title,
  .sec-recruit .flex-box__txt .section_title{
    white-space: nowrap;
  }
  .sec-about .flex-box__txt,
  .sec-recruit .flex-box__txt{
    width: 61%;
    padding: 8rem 4rem 11rem 8rem;
  }
  .sec-recruit .flex-box__txt{
    width: 61%;
  }
  .sec-about .flex-box__txt p,
  .sec-recruit .flex-box__txt p{
    width: 82%;
    font-size: 2.8rem;
    line-height: calc(42 / 28);
    text-align: center;
  }
  .sec-recruit .flex-box__txt p{
    width: 100%;
  }
  .sec-about .flex-box__txt .btn_wrap .c-button,
  .sec-recruit .flex-box__txt .btn_wrap .c-button{
    margin: 0 auto;
    max-width: 23rem;
    font-size: 3rem;
    text-align: center;
  }
  .sec-about .flex-box__txt .btn_wrap .c-button:after,
  .sec-recruit .flex-box__txt .btn_wrap .c-button:after{
    margin-top: -.2rem;
    right: 3rem;
    width: 1.2rem;
    height: 1.2rem;
  }

  .sec-about .flex-box__img,
  .sec-recruit .flex-box__img{
    width: 39%;
    max-width: 36.6rem;
    padding-top: 10.5rem;
  }
  .sec-recruit .flex-box__img{
    width: 43%;
  }
  .sec-about .flex-box__img img,
  .sec-recruit .flex-box__img img{
    display: block;
  }
}

/* sec-contact
------------------------------ */
.sec-contact .column-2__cnts{
  padding: 13rem 5rem 9.5rem 5rem;
}
.sec-contact .contact-list{
  width: 100%;
  max-width: 88.2rem;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6rem 0;
}
.sec-contact .contact-list__items{
  width: calc(100% / 3);
  text-align: center;
}
.sec-contact .contact-list__items img{
  display: block;
  margin: 0 auto;
  max-width: 16.1rem;
}
.sec-contact .contact-list__items p{
  position: relative;
  margin-top: 2rem;
  display: inline-block;
  text-align: center;
  font-size: 2rem;
  line-height: calc(34 / 20);
  font-weight: 500;
}
.sec-contact .contact-list__items p.line-1{
  margin-top: 4.5rem;
}
.sec-contact .contact-list__items p:after{
  position: absolute;
  right: -2rem;
  bottom: 1.1rem;
  display: block;
  content: '';
  width: .9rem;
  height: .9rem;
  border-top: .2rem solid #000;
  border-left: .2rem solid #000;
  -webkit-transform: rotate(135deg) translate(-50% , -50%);
  transform: rotate(135deg) translate(-50% , -50%);
}

@media screen and (max-width: 767px) {
  .top-page .sec-contact .column-2__title{
    background: #FFF;
  }
  .sec-contact .section_title.-white,
  .sec-contact .section_title.-white .en{
    color: #000000;
  }
  .sec-contact .column-2__cnts{
    padding: 0 8rem 6rem 8rem;
  }
  .sec-contact .contact-list{
    width: 100%;
    max-width: inherit;
    gap: 3rem 6rem;
  }
  .sec-contact .contact-list__items{
    width: auto;
  }
  .sec-contact .contact-list__items img{
    display: block;
    margin: 0 auto;
    max-width: 21.3rem;
  }
  .sec-contact .contact-list__items p{
    margin-top: 2rem;
    font-size: 2.8rem;
    line-height: calc(46 / 28);
  }
  .sec-contact .contact-list__items p.line-1{
    margin-top: 4.5rem;
  }
  .sec-contact .contact-list__items p:after{
    right: -2rem;
    margin-top: -.7rem;
    bottom: auto;
    top: 50%;
    width: 1.4rem;
    height: 1.4rem;
  }
}

