/* visual
================================================== */
#contents .visual {
  position: relative;
  overflow: hidden;
}
#contents .visual__video {
  position: absolute;
  right: 0;
  top: -2px;
  width: calc(1100 / 1400 * 100%);
}
#contents .visual__main {
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
#contents .visual__main__inner {
  width: 960px;
  margin: 0 auto;
  margin-top: calc(35 / 720 * 100%);
}
#contents .visual__main dl {
  margin-bottom: 1em;
  font-size: 20px;
  color: #fff;
}
#contents .visual__main dt {
  margin-bottom: 25px;
  font-size: 90px;
  line-height: 1;
}
#contents .visual__main dd {
  font-weight: bold;
  line-height: 1.8;
}
#contents .visual__main p {
  margin-bottom: 40px;
}
#contents .visual__main p a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  background: #fff;
  color: #251db3;
  font-weight: bold;
  text-decoration: none;
}
#contents .visual__main p span {
  display: inline-block;
  padding-left: 32px;
  background: url(/products/inkjet/head/images/icn_movie.png) no-repeat left center;
  background-size: 24px 24px;
  line-height: 24px;
}
@media only screen and (max-width: 767px) {
  #contents .visual {
    position: static;
    background: url(/products/inkjet/head/images/visual_bg-sp.jpg) repeat-y;
    background-size: 100% auto;
  }
  #contents .visual__video {
    position: static;
    width: 100%;
  }
  #contents .visual__main {
    position: static;
    padding: 30px 15px;
  }
  #contents .visual__main__inner {
    width: auto;
    margin-top: 0;
    padding: 0;
  }
  #contents .visual__main dl {
    margin-bottom: 20px;
    font-size: 3.2vw;
  }
  #contents .visual__main dt {
    margin-bottom: .3em;
    font-size: 12vw;
  }
  #contents .visual__main dd {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #contents .visual__main dd span {
    flex: 0 0 55%;
  }
  #contents .visual__main dd span:nth-child(2) {
    flex: 0 0 40%;
  }
  #contents .visual__main p {
    margin-bottom: 0;
    text-align: center;
  }
  #contents .visual__main p a {
    margin: 0 auto;
  }
}

/* common
================================================== */
/* section */
#contents .section__title {
  position: relative;
  margin-bottom: 60px;
  padding-bottom: 25px;
  line-height: 1.45;
  font-size: 30px;
  text-align: center;
}
#contents .section__title::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  background: #333;
}
#contents .section__inner {
  width: 960px;
  margin: 0 auto;
}
#contents .section--dark {
  background: #076dc4;
  color: #fff;
}
#contents .section--dark .section__title::after {
  background: #fff;
}
#contents .section__btn {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 180px;
  height: 40px;
  line-height: 37px;
  border: solid 2px #000;
  font-size: 14px;
  color: #333 !important;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
#contents .section__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform: translateY(-50%) rotate(45deg);
}
#contents .section__btn--rev {
  border-color: #fff;
  color: #fff !important;
}
#contents .section__btn--rev::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg);
}
#contents .section__btn--wide {
  height: 50px;
  line-height: 48px;
  width: 350px;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  #contents .section__title {
    margin-bottom: 30px;
    padding-bottom: 20px;
    font-size: 6.4vw;
  }
  #contents .section__inner {
    width: auto;
  }
  #contents .section__btn {
    margin: 0 auto;
  }
  #contents .section__btn--wide {
    width: 100%;
  }
}

/* merit
================================================== */
#contents .merit {
  padding: 60px 0 100px;
  max-width: 960px;
  margin: 0 auto;
  overflow: visible;
}
#contents .merit__item {
  display: flex;
  align-items: center;
}
#contents .merit__item > div {
  box-sizing: border-box;
  flex: 1 0 50%;
}
#contents .merit__item__text {
  padding: 0;
}
#contents .merit__item__text > div {
  padding-right: calc(60 / 700 * 100%);
  padding-left: calc(60 / 700 * 100%);
}
#contents .merit__item__title {
  margin-bottom: .8em;
  color: #251db3;
  font-size: 22px;
  line-height: 1;
  overflow: hidden;
}
#contents .merit__item__title span {
  display: block;
  font-weight: bold;
}
#contents .merit__item__title i {
  display: inline-block;
  margin-left: .2em;
  font-size: 50px;
  font-style: normal;
  font-weight: 500;
}
#contents .merit__item__desc {
  margin-bottom: 1em;
  font-size: 16px;
}
#contents .merit__item__desc dt {
  margin-bottom: .35em;
  font-size: 26px;
  line-height: 1.38;
}
#contents .merit__item__desc dd {
  line-height: 1.875;
}
@media (min-width: 768px) {
  #contents .merit__item + .merit__item {
    margin-top: 100px;
  }
  #contents .merit__item--rev {
    flex-direction: row-reverse;
  }
  #contents .merit__item--rev .merit__item__text > div {
    padding-left: calc(60 / 700 * 100%);
    padding-right: calc(60 / 700 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  #contents .merit {
    padding: 40px 0 0 0;
    width: auto;
  }
  #contents .merit__item {
    display: block;
    width: auto;
    margin: 0;
  }
  #contents .merit__item__text {
    padding: 10px 15px 60px;
  }
  #contents .merit__item__title {
    font-size: 4.8vw;
  }
  #contents .merit__item__title i {
    font-size: 10.66667vw;
  }
  #contents .merit__item__desc {
    font-size: 4vw;
  }
  #contents .merit__item__desc dt {
    font-size: 5.33333vw;
  }
}

/* technology
================================================== */
#contents .technology {
  padding: 90px 0 80px;
  background: url(/products/inkjet/head/images/technology_bg-pc.jpg) no-repeat center top;
  background-size: cover;
}
#contents .technology__item {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}
#contents .technology__item + .technology__item {
  margin-top: 60px;
}
#contents .technology__item__image {
  flex: 0 0 400px;
}
#contents .technology__item__text {
  flex: 0 0 530px;
}
#contents .technology__item__title {
  margin-bottom: .5em;
  font-size: 22px;
  line-height: 1.38;
}
#contents .technology__item__lead {
  font-size: 16px;
  line-height: 1.875;
}
#contents .technology__btn {
  margin-top: 60px;
}
#contents .technology__btn a {
  margin: 0 auto;
}
@media (min-width: 768px) {
  #contents .technology__item--rev {
    flex-direction: row;
  }
}
@media only screen and (max-width: 767px) {
  #contents .technology {
    padding: 40px 15px 40px;
    background: url(/products/inkjet/head/images/technology_bg-sp.jpg) no-repeat center top;
    background-size: cover;
  }
  #contents .technology__item {
    display: block;
  }
  #contents .technology__item + .technology__item {
    margin-top: 0;
  }
  #contents .technology__item__text {
    padding: 20px 0 50px;
  }
  #contents .technology__item__title {
    font-size: 4.8vw;
  }
  #contents .technology__item__lead {
    font-size: 4vw;
  }
  #contents .technology__btn {
    margin-top: 0;
  }
}

/* lineup
================================================== */
#contents .lineup {
  padding: 90px 0 170px;
  background: url(/products/inkjet/head/images/lineup_bg-pc.png) repeat-y left top;
}
#contents .lineup__title {
  margin-bottom: 35px;
}
#contents .lineup__title span, #contents .lineup__title em {
  display: block;
}
#contents .lineup__title span {
  margin-bottom: .1em;
  font-size: 64px;
}
#contents .lineup__title em {
  font-size: 18px;
}
#contents .lineup__item {
  display: table;
}
#contents .lineup__item + .lineup__item {
  margin-top: 10px;
}
#contents .lineup__item > div {
  box-sizing: border-box;
  display: table-cell;
  width: 50%;
}
#contents .lineup__item__image {
  position: relative;
}
#contents .lineup__item__image .logo {
  position: absolute;
  right: 10px;
  top: 10px;
}
#contents .lineup__item__text {
  padding: 20px 40px;
  vertical-align: middle;
  background: #000;
  color: #fff;
}
#contents .lineup__item__title {
  margin-bottom: .35em;
  font-size: 26px;
  line-height: 1.38;
  overflow: hidden;
}
#contents .lineup__item__title span {
  display: block;
}
#contents .lineup__item__lead {
  margin-bottom: 1em;
  font-size: 16px;
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  #contents .lineup {
    padding: 45px 15px 60px;
    background-size: 45% auto;
  }
  #contents .lineup__title {
    margin-bottom: 30px;
  }
  #contents .lineup__title span {
    font-size: 13.33333vw;
  }
  #contents .lineup__title em {
    font-size: 4vw;
  }
  #contents .lineup__item {
    display: block;
  }
  #contents .lineup__item + .lineup__item {
    margin-top: 50px;
  }
  #contents .lineup__item > div {
    display: block;
    width: auto;
  }
  #contents .lineup__item__image .logo {
    width: 108px;
    height: auto;
  }
  #contents .lineup__item__text {
    padding: 30px 20px;
  }
  #contents .lineup__item__title {
    font-size: 5.33333vw;
  }
  #contents .lineup__item__lead {
    font-size: 4vw;
  }
}

/* precision
================================================== */
#contents .precision {
  background: #011324 url(/products/inkjet/head/images/precision_bg-pc.jpg) no-repeat center top;
}
#contents .precision__inner {
  display: flex;
  align-items: center;
  height: 339px;
  width: 960px;
  margin: 0 auto;
}
#contents .precision__image {
  flex: 0 0 423px;
}
#contents .precision__image img {
  margin: -97px -105px 0 0;
}
#contents .precision__text {
  flex: 0 0 480px;
}
#contents .precision__lead {
  margin-bottom: 1em;
  font-size: 24px;
  line-height: 1.65;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  #contents .precision {
    padding: 45px 15px 0;
    background: #011324 url(/products/inkjet/head/images/precision_bg-sp.jpg) no-repeat center top;
    background-size: cover;
  }
  #contents .precision__inner {
    display: block;
    width: auto;
    height: auto;
  }
  #contents .precision__image img {
    margin: 0;
  }
  #contents .precision__text {
    margin-bottom: 25px;
  }
  #contents .precision__lead {
    font-size: 5.06667vw;
  }
}
