@charset "UTF-8";
.comingsoon {
  font-family: 'Montserrat', sans-serif;
  text-align: center;
  font-size: 2.4rem;
  color: #aaa;
  padding: 0 0 4rem 0;
}
.img-w80{
	width: 80%;
	margin: 4rem auto 0 auto; 
}
@media only screen and (max-width: 1000px) {
  .comingsoon {
    font-size: 2rem;
    padding: 3rem 0;
  }
}

@media only screen and (max-width: 768px) {
.img-w80{
	width: 100%;
	margin: 3rem auto 0 auto; 
}
}
.movie-wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 8rem auto;
}

.movie-wrap__box {
  margin: 0 auto;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movie-wrap__box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 768px) {
  .movie-wrap {
    width: 94%;
    margin: 4rem auto 0 auto;
  }
}

.main {
  background: url(../img/main.jpg) no-repeat center top;
  background-size: cover;
  position: relative;
  width: auto;
  height: 720px;
}

.main__title {
  width: 100%;
  position: absolute;
  bottom: 0;
  color: #263e6f;
  text-align: center;
  padding-bottom: 13rem;
}

.main__title h2 {
  width: 140px;
  margin: 0 auto;
}

.main__title h3 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 5rem;
  letter-spacing: .2rem;
}

.main__title p {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.2;
  margin-top: 2.5rem;
  text-align: center;
  color: #444;
  letter-spacing: .15rem;
}

@media only screen and (max-width: 1000px) {
  .main {
    padding-top: 8rem;
    height: 560px;
  }
  .main__title {
    padding-bottom: 12rem;
  }
  .main__title h2 {
    width: 160px;
    margin: 0 auto;
  }
  .main__title h3 {
    font-size: 3rem;
  }
  .main__title p {
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 768px) {
  .main__title {
    padding-bottom: 4rem;
  }
  .main {
    background: url(../img/main.jpg) no-repeat center top;
    background-size: cover;
    padding-top: 0;
    height: 460px;
  }
  .main__title h2 {
    width: 90px;
    margin: 0 auto;
  }
  .main__title h3 {
    font-size: 2.4rem;
    margin-top: 2rem;
    line-height: 1.3;
    letter-spacing: .1rem;
  }
  .main__title p {
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-top: 1rem;
    line-height: 1.7;
    font-weight: normal;
  }
}

.link__top {
  padding: 4rem 0;
}

.company__top dl, .business__top dl {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 6rem;
}

.business__top dl, .technology__top dl {
  margin-top: 14rem;
}

.company__top-link, .business__top-link {
  width: 280px;
  margin-top: 5rem;
}

.products__top {
  background: #FFF url(../img/top_products.jpg) no-repeat center center;
  background-size: cover;
  padding: 12rem 0;
  margin-top: 8rem;
  text-align: center;
}

.products__top-link {
  width: 280px;
  margin: 2rem auto 0 auto;
}

.company__top-link a, .business__top-link a, .products__top-link a {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1;
  padding: 2rem 0 2rem 3rem;
  border-radius: 4rem;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  letter-spacing: .1rem;
}

.company__top-link a, .products__top-link a {
  background: #263e6f url(../img/arrow.png) no-repeat 92% center;
  background-size: 30px;
  color: #FFF;
  text-align: left;
}

.business__top-link a {
  background: #FFF url(../img/arrow_blue.png) no-repeat 92% center;
  background-size: 30px;
  color: #263e6f;
}

.company__top-link a:hover, .products__top-link a:hover {
  opacity: 0.6;
  background: #263e6f url(../img/arrow.png) no-repeat 94% center;
  background-size: 30px;
}

.business__top-link a:hover {
  opacity: 0.6;
  background: #FFF url(../img/arrow_blue.png) no-repeat 94% center;
  background-size: 30px;
}

.company__top dt {
  width: 50%;
  order: 1;
  z-index: 2;
}

.company__top dd {
  width: 60%;
  order: 2;
  margin-left: -10%;
  box-sizing: border-box;
  background: #FFF;
  margin-top: -6rem;
  margin-bottom: 6rem;
  padding: 0% 0 0 10%;
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.business__top dt {
  width: 50%;
  order: 2;
  z-index: 2;
  margin-left: -10%;
}

.business__top dd {
  width: 60%;
  order: 1;
  box-sizing: border-box;
  background: #263e6f;
  margin-top: -6rem;
  margin-bottom: 6rem;
  padding: 0% 0 0 10%;
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.company__top dd h3, .business__top dd h3, .products__top h3 {
  font-size: 4.8rem;
  line-height: 1.2;
  letter-spacing: .2rem;
  font-family: 'Montserrat', sans-serif;
}

.company__top dd h3, .products__top h3 {
  color: #263e6f;
}

.business__top dd h3 {
  color: #FFF;
}

.company__top dd .company__top-item {
  padding: 0 0 0 10%;
  width: 400px;
}

.business__top dd .business__top-item {
  padding: 0 0 0 10%;
  width: 400px;
}

.company__top dd .company__top-item h4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  color: #263e6f;
  padding-bottom: 2rem;
  margin-top: 2rem;
  letter-spacing: .1rem;
}

.products__top h4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  color: #444;
  padding-bottom: 2rem;
  margin-top: 2rem;
  letter-spacing: .1rem;
}

.business__top dd .business__top-item h4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  color: #FFF;
  padding-bottom: 2rem;
  margin-top: 2rem;
  letter-spacing: .1rem;
}

.link__contact {
  width: 1000px;
  margin: 4rem auto;
}

.link__contact h3 {
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: .2rem;
  font-family: 'Montserrat', sans-serif;
}

.link__contact a {
  display: block;
  color: #FFF;
  background: #263e6f url(../img/arrow.png) no-repeat 97% 80%;
  background-size: 30px;
  padding: 5rem 0;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.link__contact a:hover {
  opacity: 0.6;
  background: #263e6f url(../img/arrow.png) no-repeat 98% 80%;
  background-size: 30px;
}

.link__contact a p {
  font-weight: bold;
  font-size: 1.8rem;
  margin-top: 1.5rem;
}

.link__patent {
  width: 600px;
  margin: 4rem auto 0 auto;
}

.link__patent a {
  display: block;
  font-weight: bold;
  color: #263e6f;
  background: #FFF url(../img/arrow_blue.png) no-repeat 97% 80%;
  background-size: 30px;
  padding: 2.4rem 0;
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  border: 1px solid #263e6f;
}

.link__patent a span {
  font-size: 2.2rem;
}

.link__patent a:hover {
  opacity: 0.6;
  background: #FFF url(../img/arrow_blue.png) no-repeat 98% 80%;
  background-size: 30px;
}

@media only screen and (max-width: 1200px) {
  .company__top-link, .business__top-link, .products__top-link {
    margin-top: 1.5rem;
  }
  .business__top dd .business__top-item {
    padding: 0 0 0 0;
    width: 100%;
  }
  .business__top dl, .technology__top dl {
    margin-top: 10rem;
  }
  .company__top dd, .business__top dd {
    margin-top: -4rem;
    margin-bottom: 4rem;
  }
}

@media only screen and (max-width: 1000px) {
  .company__top dd .company__top-item {
    padding: 0 0 0 8%;
    width: auto;
  }
  .business__top dd .business__top-item {
    padding: 0 0 0 0;
    margin-left: -10%;
    width: auto;
  }
  .company__top dd h3, .business__top dd h3, .products__top h3 {
    font-size: 3.8rem;
    line-height: 1.1;
  }
  .company__top dd .company__top-item h4, .business__top dd .business__top-item h4, .products__top .products__top-item h4 {
    font-size: 1.4rem;
    margin: 2rem 0 0 0;
  }
  .company__top-link, .business__top-link, .products__top-link {
    margin-top: 1rem;
  }
  .company__top-link a, .business__top-link a, .products__top-link a {
    font-size: 1.4rem;
    padding: 1.6rem 0 1.6rem 3rem;
  }
  .link__contact {
    width: 90%;
    margin: 3rem auto;
  }
  .link__patent {
    width: 100%;
    margin: 3rem auto 0 auto;
  }
}

@media only screen and (max-width: 768px) {
  .link__top {
    padding-bottom: 0;
  }
  .company__top dl, .business__top dl {
    width: 100%;
    display: block;
    margin-top: 0;
  }
  .products__top {
    padding: 8rem 0;
    margin-top: 4rem;
    background-size: 200%;
    text-align: center;
  }
  .business__top dl, .technology__top dl {
    margin-top: 4rem;
  }
  .company__top-link, .business__top-link, .products__top-link {
    width: 90%;
    margin: 1rem auto 0 auto;
  }
  .company__top-link a, .business__top-link a, .products__top-link a {
    font-size: 1.4rem;
    padding: 1.6rem 0;
    letter-spacing: .1rem;
    text-align: center;
    background-size: 20px;
    background-position: 94% center;
  }
  .company__top-link a:hover, .business__top-link a:hover, .products__top-link a:hover {
    background-size: 20px;
  }
  .company__top dt {
    width: 100%;
  }
  .company__top dd {
    width: 90%;
    margin: -4rem auto 0 auto;
    box-sizing: border-box;
    padding: 2rem 0 3rem 0;
    display: block;
  }
  .business__top dt {
    width: 100%;
    margin: 0;
  }
  .business__top dd {
    width: 90%;
    order: 1;
    box-sizing: border-box;
    background: #263e6f;
    margin: -4rem auto 0 auto;
    padding: 2rem 0 3rem 0;
    display: block;
  }
  .company__top dd h3, .business__top dd h3, .products__top h3 {
    font-size: 2.8rem;
    line-height: 1.2;
    letter-spacing: .2rem;
    text-align: center;
  }
  .company__top dd .company__top-item {
    padding: 0 0 0 0;
    width: 100%;
  }
  .business__top dd .business__top-item {
    padding: 0 0 0 0;
    width: 100%;
    margin: 0;
  }
  .products__top-item {
    width: 90%;
    margin: 0 auto;
  }
  .company__top dd .company__top-item h4, .business__top dd .business__top-item h4, .products__top .products__top-item h4 {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.4;
    padding-bottom: 1rem;
    margin-top: 1rem;
    text-align: center;
  }
  .link__contact {
    margin-top: 4rem;
  }
  .link__contact h3 {
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: .2rem;
    font-family: 'Montserrat', sans-serif;
  }
  .link__contact a {
    display: block;
    color: #FFF;
    background: #263e6f url(../img/arrow.png) no-repeat 97% 80%;
    background-size: 20px;
    padding: 3rem 0;
    text-align: center;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .link__contact a:hover {
    opacity: 0.6;
    background: #263e6f url(../img/arrow.png) no-repeat 98% 80%;
    background-size: 20px;
  }
  .link__contact a p {
    font-weight: normal;
    font-size: 1.4rem;
    margin-top: .5rem;
  }
  .link__patent {
    margin-bottom: 6rem;
  }
  .link__patent a {
    display: block;
    background: #FFF url(../img/arrow_blue.png) no-repeat 97% 80%;
    background-size: 20px;
    padding: 2rem 0;
    font-size: 1.4rem;
    line-height: 1.7;
    border: 1px solid #263e6f;
    font-weight: normal;
  }
  .link__patent a span {
    font-size: 1.5rem;
  }
  .link__patent a:hover {
    opacity: 0.6;
    background: #FFF url(../img/arrow_blue.png) no-repeat 98% 80%;
    background-size: 20px;
  }
}


/*
top
_________________________________________________________*/

.newstop {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 0 4rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.newstop .newstop__list {
  width: 77%;
}

.newstop .newstop__title {
  width: 20%;
  margin-left: 3%;
}

.newstop .newstop__title h3 {
  font-size: 1.4rem;
  letter-spacing: .1rem;
  line-height: 1;
  color: #263e6f;
  margin-top: .5rem;
}

.newstop .newstop__title h2 {
  font-family: 'Montserrat', sans-serif;
  color: #263e6f;
  font-size: 4rem;
  letter-spacing: .3rem;
  line-height: 1.2;
}

.newstop__list ul {
  margin-top: 0;
  overflow: hidden;
  width: 100%;
}

.newstop__list li {
  overflow: hidden;
  width: 98%;
  padding-right: 2%;
}

.newstop__list li a {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 1.5rem 0;
}

.newstop__list li dl {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0 .5rem;
}

.newstop__list li dt {
  font-size: 1.6rem;
  width: 20%;
}

.newstop__list li dd {
  width: 80%;
  letter-spacing: .05rem;
  font-size: 1.6rem;
  text-decoration: underline;
}

.newstop__list li a:hover dd {
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  .newstop {
    width: 94%;
    margin: 0 auto;
    padding: 2rem 0 0 0;
    display: block;
  }
  .newstop * {
    box-sizing: border-box;
  }
  .newstop .news-item {
    width: 100%;
  }
  .newstop .newstop__list {
    width: 100%;
  }
  .newstop .newstop__title {
    width: 100%;
    margin-left: 0;
  }
  .newstop .newstop__title h2 {
    font-size: 2.8rem;
    letter-spacing: .2rem;
    padding-left: 1rem;
    text-align: center;
  }
  .newstop .newstop__title h3 {
    padding-left: 1rem;
    font-size: 1.4rem;
    text-align: center;
  }
  .newstop__list ul {
    border-top: 1px solid #ccc;
    margin-top: 1.5rem;
    width: 100%;
  }
  .newstop__list li {
    overflow: hidden;
    width: 100%;
    padding-right: 0;
  }
  .newstop__list li a {
    padding: 1rem 0;
  }
  .newstop__list li dl {
    display: block;
    width: 100%;
    padding: 0 1rem;
  }
  .newstop__list li dt {
    font-size: 1.4rem;
    width: 100%;
    padding-bottom: .4rem;
  }
  .newstop__list li dd {
    width: 100%;
    line-height: 1.5;
    font-size: 1.4rem;
  }
}

.heading-business {
  margin-top: 8rem;
  background: url(../img/top_business.jpg) no-repeat right center;
  background-size: 50%;
  height: 300px;
}

.heading-company {
  margin-top: 8rem;
  background: url(../img/top_company.jpg) no-repeat right center;
  background-size: 50%;
  height: 300px;
}

.heading-basic {
  margin-top: 8rem;
  height: auto;
}

.heading-title {
  width: 1000px;
  margin: 0 auto;
  padding: 8rem 0 0 0;
}

.heading-title h2 {
  font-size: 4rem;
  font-family: 'Montserrat', sans-serif;
  color: #263e6f;
  letter-spacing: .1rem;
}

.heading-title h3 {
  color: #263e6f;
  line-height: 1.1;
}

.link__basic {
  width: 300px;
  margin: 4rem auto 0 auto;
}

.link__basic a, input.link__basic {
  font-family: "Yu Gothic", YuGothic, -apple-system, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  display: block;
  width: 100%;
  background: #263e6f url(../img/arrow.png) no-repeat 94% center;
  background-size: 30px;
  font-size: 1.6rem;
  line-height: 1;
  padding: 1.8rem 0;
  border-radius: 4rem;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  box-shadow: none;
  border: none;
  color: #FFF;
}

.link__basic a:hover {
  opacity: .6;
  background: #263e6f url(../img/arrow.png) no-repeat 95% center;
  background-size: 30px;
}

@media only screen and (max-width: 1000px) {
  .link__basic a, input.link__basic {
    font-family: "Yu Gothic", YuGothic, -apple-system, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    background: #263e6f url(../img/arrow.png) no-repeat 94% center;
    background-size: 20px;
    font-size: 1.4rem;
    line-height: 1;
    padding: 1.6rem 0;
  }
}

@media only screen and (max-width: 1000px) {
  .heading-company {
    margin-top: 8rem;
    background: url(../img/top_company.jpg) no-repeat center bottom;
    background-size: 100%;
    height: auto;
    padding: 24rem 0 0 0;
  }
  .heading-business {
    margin-top: 8rem;
    background: url(../img/top_business.jpg) no-repeat center center;
    background-size: 100%;
    height: auto;
    padding: 24rem 0 0 0;
  }
  .heading-basic {
    margin-top: 8rem;
    padding: 2rem 0 0 0;
    height: auto;
  }
  .heading-basic .heading-title {
    background: transparent;
    padding: 2rem 0 0 0;
  }
  .heading-title {
    padding: 2rem 0;
    text-align: center;
    background-color: rgba(255, 255, 255, .85);
    width: 100%;
    margin: 0 auto;
  }
  .heading-title h2 {
    font-size: 2.8rem;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
    color: #263e6f;
    letter-spacing: .1rem;
  }
  .heading-title h3 {
    color: #263e6f;
    line-height: 1.1;
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  .heading-business {
    margin-top: 6rem;
    padding-top: 16rem;
    background-position: center bottom;
  }
  .heading-company {
    margin-top: 6rem;
    padding-top: 16rem;
    background-position: center bottom;
  }
  .heading-basic .heading-title {
    background: transparent;
    padding: 0 0 0 0;
  }
  .heading-title {
    padding: 1.5rem 0;
    text-align: center;
    background-color: rgba(255, 255, 255, .85);
    width: 100%;
    margin: 0 auto;
  }
  .heading-title h2 {
    font-size: 2.4rem;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
    color: #263e6f;
    letter-spacing: .1rem;
  }
  .heading-title h3 {
    margin: 1rem 0 0 0;
  }
}

.business__main {
  background: #263e6f;
  color: #FFF;
  padding: 6rem 0 8rem 0;
}

.business__main h2 {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}

.business__main-text1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 1000px;
  margin: 4rem auto 5rem auto;
}

.business__main-text1 figure {
  width: 480px;
}

.business__main-text1 p {
  width: 480px;
  padding-left: 4rem;
  font-weight: bold;
  line-height: 2.2;
}

.business__main-text2 p {
  text-align: center;
  font-weight: bold;
}

@media only screen and (max-width: 1000px) {
  .business__main {
    padding: 5rem 2rem 6rem 2rem;
  }
  .business__main-text1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 4rem auto 4rem auto;
  }
  .business__main-text1 figure {
    width: 49%;
  }
  .business__main-text1 p {
    width: 49%;
    padding-left: 2%;
    font-weight: bold;
    line-height: 2.2;
  }
}

@media only screen and (max-width: 768px) {
  .business__main {
    padding: 3rem 0 5rem 0;
  }
  .business__main h2 {
    font-size: 1.6rem;
    font-weight: normal;
    text-align: center;
  }
  .business__main-text1 {
    display: block;
    width: 90%;
    margin: 3rem auto;
  }
  .business__main-text1 figure {
    width: 100%;
  }
  .business__main-text1 p {
    width: 100%;
    padding-left: 0;
    margin-top: 2rem;
    font-weight: normal;
    line-height: 1.7;
  }
  .business__main-text2 p {
    text-align: left;
    font-weight: bold;
    padding: 0 5%;
    font-size: 1.4rem;
  }
}

.business__list {
  padding: 6rem 0;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.business__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.business__list-item figure {
  width: 50%;
  order: 2;
}

.business__list-contetns {
  width: 50%;
  background: #FFF;
  display: flex;
  align-items: center;
  order: 1;
}

.business__list-text {
  display: block;
  padding: 0 5rem;
}

.business__list-text h3 {
  font-size: 3rem;
  font-family: 'Montserrat', sans-serif;
  color: #263e6f;
  letter-spacing: .1rem;
}

.business__list-text p {
  margin-top: 2rem;
  font-weight: bold;
  line-height: 2;
}

@media only screen and (max-width:1000px) {
  .business__list-text {
    width: 100%;
    display: block;
    padding: 0 3rem;
  }
  .business__list-text p br {
    display: none;
  }
}

@media only screen and (max-width:768px) {
  .business__list {
    padding: 3rem 0 0 0;
    width: 90%;
    max-width: auto;
    margin: 0 auto;
  }
  .business__list-item {
    display: block;
    margin-top: 1rem;
  }
  .business__list-item figure {
    width: 80%;
    background: #FFF;
    padding: 10% 10% 0 10%;
  }
  .business__list-contetns {
    width: 100%;
    display: block;
  }
  .business__list-text {
    width: 90%;
    display: block;
    padding: 2rem 5%;
  }
  .business__list-text h3 {
    font-size: 2rem;
    line-height: 1;
  }
  .business__list-text p {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.7;
    margin: 1rem 0 0 0;
  }
}

.products {
  width: 1000px;
  margin: 0 auto;
  padding: 6rem 0;
}

.products01 img, .products02 img {
  vertical-align: bottom;
}

.products01-link {
  background: url(../img/product01_5.jpg) no-repeat center top;
  background-size: 1000px;
  height: 429px;
  position: relative;
}

.products02-link {
  background: url(../img/product02_4.jpg) no-repeat center top;
  background-size: 1000px;
  height: 470px;
  position: relative;
}

.products01-link2 {
  background: url(../img/product01_5b.jpg) no-repeat center top;
  background-size: 1000px;
  height: 429px;
  position: relative;
}

.products01-btn {
  position: absolute;
  width: 345px;
  top: 290px;
  left: 580px;
}

.products02-btn {
  position: absolute;
  width: 345px;
  top: 340px;
  left: 580px;
}

.products01-btn a, .products02-btn a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.products01-btn a:hover, .products02-btn a:hover {
  opacity: 0.6;
}

.products01-sp, .products02-sp {
  display: none;
}

@media only screen and (max-width:1000px) {
  .products {
    width: 90%;
    margin: 0 auto;
    padding: 3rem 0 6rem 0;
  }
  .products li {
    margin-top: 1rem;
  }
  .products01-sp, .products02-sp {
    display: block;
  }
  .products01-link, .products01-link2, .products02-link {
    background: no-repeat;
    height: auto;
    position: relative;
  }
  .products01-btn, .products02-btn {
    position: relative;
    top: auto;
    left: auto;
    width: 400px;
    margin: 2rem auto 0 auto;
  }
  .products01-btn a, .products02-btn a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .products01-btn a:hover, .products02-btn a:hover {
    opacity: 0.6;
  }
  .products01-sp, .products02-sp {
    display: block;
  }
}

@media only screen and (max-width:768px) {
  .products {
    padding: 3rem 0 0 0;
  }
  .products01-btn, .products02-btn {
    position: relative;
    top: auto;
    left: auto;
    width: 80%;
    margin: 2rem auto 0 auto;
  }
}


/*
company
_________________________________________________________*/

.heading-sub {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FFF;
  letter-spacing: .1rem;
  line-height: 1;
}

.company__info .heading-sub, .company__main .heading-sub {
  font-size: 2.4rem;
  font-weight: bold;
  color: #263e6f;
  letter-spacing: .1rem;
  line-height: 1;
}

.company {
  padding-bottom: 6rem;
}

.company__point ul {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  padding: 5rem 0 0 0;
}

.company__point ul li {
  width: 49%;
  margin: 1% 0;
  background: #FFF;
  box-sizing: border-box;
  padding: 2rem 3rem;
  font-size: 1.6rem;
}

.company__point ul li:first-child, .company__point ul li:nth-child(3) {
  margin-right: 2%;
}

.company__point ul li dt {
  font-weight: bold;
  font-size: 2rem;
  color: #263e6f;
  padding-bottom: .5rem;
}

.company__point ul li:nth-child(2) dt, .company__point ul li:nth-child(3) dt, .company__point ul li:nth-child(4) dt {
  font-family: 'Montserrat', sans-serif;
}

.company__info {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 6rem 0 0 0;
}

.company__info ul {
  margin-top: 3rem;
  border-top: 1px solid #ccc;
}

.company__info li {
  padding: 1.4rem 0;
  border-bottom: 1px solid #ccc;
}

.company__info dl {
  display: flex;
}

.company__info dt {
  width: 25%;
  box-sizing: border-box;
  padding-left: .5rem;
  font-weight: bold;
}

.company__info dd {
  width: 75%;
  font-size: 1.6rem;
  letter-spacing: .02rem;
  box-sizing: border-box;
  padding-right: 1rem;
}

.company__message {
  padding: 6rem 0;
  background: #263e6f;
}

.company__message-item {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  color: #FFF;
  overflow: hidden;
}

.company__message-text {
  margin-top: 3rem;
  line-height: 2.2;
}

.company__message-name {
  width: 320px;
  float: right;
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 32px;
}

.company__message-name dt {
  width: 150px;
  text-align: right;
}

.company__message-name dd {
  width: 170px;
  line-height: 1;
  position: relative;
}

.company__message-name dd img {
  width: 140px;
  position: absolute;
  right: 0;
}

@media only screen and (max-width: 768px) {
  .company {
    padding-bottom: 0;
  }
  .heading-sub {
    font-size: 2rem;
  }
  .company__info .heading-sub, .company__main .heading-sub {
    font-size: 2rem;
  }
  .company__point ul {
    width: 90%;
    margin: 0 auto;
    display: block;
    padding: 3rem 0 2rem 0;
  }
  .company__point ul li {
    width: 100%;
    margin: 1rem 0 0 0;
    background: #FFF;
    padding: 2rem;
    font-size: 1.4rem;
  }
  .company__point ul li:first-child, .company__point ul li:nth-child(3) {
    margin-right: 0;
  }
  .company__point ul li dt {
    font-size: 1.8rem;
  }
  .company__info {
    width: 90%;
    margin: 0 auto;
    padding: 3rem 0 0 0;
  }
  .company__info ul {
    margin-top: 2rem;
  }
  .company__info li {
    padding: 1rem 0;
  }
  .company__info dl {
    display: block;
  }
  .company__info dt {
    width: 100%;
    padding-left: 0;
  }
  .company__info dd {
    width: 100%;
    font-size: 1.4rem;
    padding-right: 0;
  }
  .company__message {
    padding: 3rem 0;
  }
  .company__message-item {
    width: 90%;
    margin: 0 auto;
    color: #FFF;
  }
  .company__message-text {
    margin-top: 3rem;
    line-height: 1.7;
    font-size: 1.4rem;
  }
  .company__message-name {
    width: 240px;
    float: right;
    margin-top: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .company__message-name dt {
    width: 50%;
    text-align: right;
  }
  .company__message-name dd {
    width: 50%;
    line-height: 1;
    position: relative;
  }
  .company__message-name dd img {
    width: 86%;
    position: absolute;
    right: 0;
  }
}


/*
technology
_________________________________________________________*/

.technology__item .heading-sub {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FFF;
  letter-spacing: .1rem;
  line-height: 1;
  padding: 1.6rem 2rem;
  background: #263e6f;
}

.technology {
  padding-bottom: 6rem;
}

.technology__item {
  width: 100%;
  max-width: 1000px;
  margin: 6rem auto 0 auto;
  background: #FFF;
  padding: 5rem;
  box-sizing: border-box;
}

.technology__item p {
  margin-top: 4rem
}

.technology__item p+figure {
  margin-top: 3rem;
}

.technology__item p span {
  font-weight: bold;
  color: #263e6f;
  font-size: 2rem;
}

.technology__item-list {
  width: 100%;
  max-width: 1000px;
  margin: 4rem auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.technology__item-list li {
  width: 50%;
  background: #FFF;
  box-sizing: border-box;
}

.technology__item-link {
  width: 440px;
  margin: 5rem auto 0 auto;
}

.technology__item-link a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.technology__item-link a:hover {
  opacity: 0.6;
}

.technology__item-movie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.technology__item-movie li {
  width: 50%;
}

.technology__item-movie li video {
  width: 100%;
}

.technology__item-movie li p {
  margin-top: 5px;
}

.technology__item-movie li p span {
  display: inline;
  font-size: 1.6rem;
}

.patent__item {
  background: #263e6f;
  margin-top: 2rem;
  color: #FFF;
  padding: 3rem;
}

.patent__item .patent__item-title {
  border-bottom: 1px solid #999;
  font-size: 2rem;
  padding-bottom: .5rem;
}

.patent__item p {
  margin: 0;
  font-weight: bold;
}

.patent__item-list {
  width: 100%;
  margin: 2.5rem auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.patent__item-list li:first-child {
  width: 35%;
}

.patent__item-list li figure {
  margin-top: 1.5rem;
}

.patent__item-list li:last-child {
  width: 63%;
  margin-left: 2%;
}

@media only screen and (max-width: 768px) {
  .technology {
    padding-bottom: 0;
  }
  .technology__item .heading-sub {
    font-size: 1.6rem;
    font-weight: bold;
    color: #FFF;
    letter-spacing: .1rem;
    line-height: 1.4;
    padding: 1.2rem 1.6rem;
  }
  .technology__item {
    width: 100%;
    margin: 3rem auto 0 auto;
    padding: 3rem 2rem;
  }
  .technology__item p {
    margin-top: 2rem
  }
  .technology__item p+figure {
    margin-top: 2rem;
  }
  .technology__item p span {
    font-size: 1.6rem;
  }
  .technology__item-list {
    width: 100%;
    max-width: 1000px;
    margin: 2rem auto 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
  }
  .technology__item-link {
    width: 94%;
    margin: 4rem auto 0 auto;
  }
  .technology__item-link a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .technology__item-link a:hover {
    opacity: 0.6;
  }
  .technology__item-movie {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
  }
  .technology__item-movie li p {
    margin-top: .5rem;
  }
  .technology__item-movie li p span {
    display: block;
    font-size: 1.4rem;
  }
  .patent__item {
    margin-top: 1.5rem;
    padding: 2rem;
  }
  .patent__item .patent__item-title {
    font-size: 1.6rem;
    padding-bottom: .5rem;
  }
  .patent__item p {
    margin: 0;
  }
  .patent__item-list {
    width: 100%;
    display: block;
    margin-top: 0;
  }
  .patent__item-list li {
    padding-top: 1.5rem;
   
  }
   .patent__item-list li p{
     font-weight: normal;
   }
  .patent__item-list li:first-child {
    width: 100%;
  }
  .patent__item-list li figure {
    margin-top: 1rem;
  }
  .patent__item-list li:last-child {
    width: 100%;
    margin-left: 0;
  }
}

.news {
  padding-bottom: 6rem;
}

.news__contents {
  width: 1000px;
  margin: 4rem auto 0 auto;
}

.news ul.news__contents-list {
  margin-top: 2rem;
  overflow: hidden;
  width: 1000px;
}

.news ul.news__contents-list li {
  overflow: hidden;
  width: 100%;
}

.news ul.news__contents-list li a {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 1.4rem 0;
}

.news ul.news__contents-list li a:hover dd {
  text-decoration: none;
}

.news ul.news__contents-list li dl {
  overflow: hidden;
  width: 100%;
  padding-left: .5rem;
}

.news ul.news__contents-list li dt, .news__detail-title dt {
  font-size: 1.6rem;
}

.news ul.news__contents-list li dd {
  letter-spacing: .05rem;
  font-size: 1.6rem;
  text-decoration: underline;
}

.news__contents-pager {
  overflow: hidden;
  margin-top: 6rem;
}

.news__contents-pager ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}

.news__contents-pager ul li {
  margin: 0 1px;
  position: relative;
  left: -50%;
  float: left;
  line-height: 1.4;
}

.news__contents-pager ul li span, .news__contents-pager ul li a {
  display: block;
  font-size: 1.4rem;
  padding: 0.6em 1em;
}

.news__contents-pager ul li a {
  background: #FFF;
  color: #444;
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.news__contents-pager ul li a:hover {
  background: #263e6f;
  color: #FFF;
}

.news__detail {
  width: 900px;
  padding: 4rem 5rem;
  margin: 4rem auto 0 auto;
  background: #FFF;
}

.news__detail-title {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ccc;
}

.news__detail-article p {
  margin-bottom: 1.5em;
}

.news__detail-article a {
  text-decoration: underline;
  color: #00bdaa;
}

.news__detail-title dd {
  font-size: 2.4rem;
  padding-top: .5rem;
  letter-spacing: .05rem;
  line-height: 1.5;
  font-weight: bold;
}

.news__detail .link__basic {
  width: 300px;
  margin: 4rem auto 0 auto;
}

@media only screen and (max-width: 1000px) {
  .news__contents {
    width: 90%;
  }
  .news ul.news__contents-list {
    width: 100%;
  }
  .news__detail {
    width: 90%;
    padding: 4rem 5%;
    margin: 4rem auto 0 auto;
    background: #FFF;
  }
}

@media only screen and (max-width: 768px) {
  .news {
    padding-bottom: 0;
  }
  .news__contents {
    width: 90%;
    margin: 2rem auto 0 auto;
  }
  .news ul.news__contents-list {
    margin-top: 0;
    width: 100%;
  }
  .news ul.news__contents-list li {
    overflow: hidden;
    width: 100%;
  }
  .news ul.news__contents-list li a {
    padding: 1.2rem 0;
  }
  .news ul.news__contents-list li dl {
    overflow: hidden;
    width: 100%;
    padding: 0 .5rem;
    box-sizing: border-box;
  }
  .news ul.news__contents-list li dt, .news__detail-title dt {
    font-size: 1.4rem;
    padding-bottom: .4rem;
  }
  .news ul.news__contents-list li dt span, .news__detail-title dt span {
    padding: .4rem 0;
    font-weight: bold;
    font-size: 1.1rem;
    width: 10rem;
  }
  .news ul.news__contents-list li dd {
    line-height: 1.5;
    font-size: 1.4rem;
    text-decoration: underline;
  }
  .news__contents-pager {
    margin-top: 4rem;
  }
  .news__contents-pager ul li span, .news__contents-pager ul li a {
    display: block;
    font-size: 1.2rem;
    padding: 0.6em 1em;
  }
  .news__detail {
    width: 900px;
  }
  .news__detail {
    width: 90%;
    margin: 3rem auto 0 auto;
    padding: 2rem 5% 3rem 5%;
  }
  .news__detail-title, .topics__detail-title {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
  }
  .news__detail-article a {
    text-decoration: underline;
    color: #00bdaa;
  }
  .news__detail-title dd {
    font-size: 1.8rem;
    padding-top: .5rem;
    letter-spacing: .05rem;
    line-height: 1.5;
    font-weight: bold;
  }
  .news__detail .link__basic, .topics__detail .link__basic {
    width: 100%;
    margin: 3rem auto 0 auto;
  }
}


/*
contact
_________________________________________________________*/

.contact-form {
  width: 900px;
  padding: 5rem 5rem 5rem 5rem;
  margin: 5rem auto 0 auto;
  background: #FFF;
  position: relative;
  overflow: hidden;
}

.contact-form p {
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: .5rem;
  letter-spacing: .02rem;
}

textarea:focus, input:focus {
  background: #fff;
}

.text, textarea, .dropdown {
  margin: 1.4rem 0 0 0;
  border: 1px solid #dddddd;
  padding: .6rem;
  color: #444;
  background: #FFF;
  font-size: 1.8rem;
  line-height: 1.8em;
}

.contact-form textarea {
  height: 140px;
}

.contact-form dl:first-child {
  margin-top: 3rem;
}

.contact-form dl {
  overflow: hidden;
  padding: 0 0 2.5rem 0;
}

.contact-form dl:last-child {
  border-bottom: none;
}

.contact-form dt {
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: left;
  font-weight: bold;
}

.contact-form dt span {
  display: inline-block;
  padding: .6rem 1rem;
  background: #d9093f;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1;
  margin-left: 1.5rem;
  font-weight: normal;
  border-radius: .4rem;
}

.contact-form .w1 {
  width: 400px;
}

.contact-form .w2 {
  width: 320px;
}

.contact-form .w3 {
  width: 640px;
}

.contact-form .w4 {
  width: 200px;
}

.contact-form dd {
  width: 800px;
}

select {
  background: #FFF;
  padding: 1rem;
  font-size: 1.4rem;
  border: 1px solid #ccc;
  min-width: 200px;
}

.contact-form .link-submit {
  width: 300px;
  margin: 3rem auto 0 auto;
}

.contact-thanks {
  width: 800px;
  margin: 5rem auto 0 auto;
  padding-bottom: 5rem;
}

.contact-thanks h4 {
  text-align: center;
}

.contact-thanks h4 span {
  font-size: 2.4rem;
  font-weight: bold;
  display: inline-block;
  padding-bottom: 1rem;
}

.contact-form__job dd {
  font-size: 2.6rem;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 1000px) {
  .contact-form {
    width: 90%;
    padding: 5rem 5% 5rem 5%;
    margin: 5rem auto 0 auto;
  }
}

@media only screen and (max-width: 768px) {
  .contact-form {
    width: 90%;
    padding: 4rem 5% 3rem 5%;
    margin: 3rem auto 0 auto;
  }
  .contact-form p {
    font-size: 1.4rem;
  }
  .form_send a:hover {
    opacity: 0.6;
    text-decoration: none;
  }
  textarea:focus, input:focus {
    background: #fff;
  }
  .text, textarea, .dropdown {
    margin: 1.4rem 0 0 0;
    border: 1px solid #dddddd;
    padding: 6px;
    background: #f8f8f8;
    font-size: 1.8rem;
    line-height: 1.8em;
  }
  .contact-form textarea {
    height: 140px;
  }
  .contact-form dl {
    overflow: hidden;
    padding: 0 0 20px 0;
  }
  .contact-form dl:last-child {
    border-bottom: none;
  }
  .contact-form dt {
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
    font-weight: normal;
  }
  .contact-form dt span {
    display: inline-block;
    padding: 4px 10px;
    font-size: 1.3rem;
    line-height: 1;
    margin-left: 10px;
    font-weight: normal;
  }
  .contact-form .w1 {
    width: 100%;
  }
  .contact-form .w2 {
    width: 100%;
  }
  .contact-form .w3 {
    width: 100%;
  }
  .contact-form .w4 {
    width: 64%;
  }
  .contact-form dd {
    width: 94%;
  }
  .contact-form .link-submit {
    width: 100%;
    margin: 0 auto 0 auto;
  }
  .contact-form .link__basic {
    margin-top: 1rem;
  }
  .contact-txt ul {
    width: 90%;
    margin: 2rem auto 0 auto;
    display: block;
  }
  .contact-txt ul li {
    width: 100%;
    margin: 0 0 1rem 0;
    border: 4px solid #eee;
    box-sizing: border-box;
    padding: 0rem 2rem 1.5rem 2rem;
  }
  .contact-txt ul li .heading-sub {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1.6rem;
    margin: 1.5rem 0 1rem 0;
  }
  .contact-txt ul li h3 {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .contact-txt ul li p {
    line-height: 1.5;
    font-size: 1.4rem;
    margin-top: .5rem;
  }
  .contact-thanks {
    width: 90%;
    margin: 3rem auto 0 auto;
    padding-bottom: 3rem;
  }
  .contact-thanks h4 {
    text-align: left;
  }
  .contact-thanks h4 span {
    font-size: 1.6rem;
  }
  .contact-thanks .link__basic {
    width: 100%;
    margin: 3rem auto 0 auto;
  }
  .contact-form__job dd {
    font-size: 2rem;
  }
}