.c-visual {
    height: 680px;
}
.c-visual::after {
  border-color: transparent transparent #f6f4f1 transparent;
}
@media print, screen and (min-width: 768px) {
  .c-visual {
    align-items: flex-start;
  }
  .c-visual .c-visual__title {
    margin-top: 19.5%;
  }
}
@media screen and (max-width: 767px) {
  .c-visual {
    height: 275px;
  }
}
.c-bread{
  margin-top: 0;
  padding-top: 46px;
}
@media screen and (max-width: 767px) {
  .c-bread{
    padding-top: 52px;
  }
}
@media print, screen and (min-width: 768px) {
  .lead-wrap.l-section--gry{
    padding: 0;
  }
}
.l-section--gry {
  position: relative;
  background-color: #f6f4f1;
}
.l-section--gry:after {
  position: absolute;
  left: 0;
  display: block;
  pointer-events: none;
  content: "";
  border: solid transparent;
  border-color: #f6f4f1 transparent transparent transparent;
  border-width: 120px 3000px 0 0;
  box-shadow: 0 -1px 0 0 #f6f4f1;
}
@media print, screen and (min-width: 768px) {
  .l-section--gry:after {
    bottom: -120px;
  }
}
@media screen and (max-width: 767px) {
  .l-section--gry:after {
    bottom: -80px;
  }
}
.lead-wrap .c-col-2{
  padding-top: 70px;
}
.lead-wrap .c-col-2 .c-normal-txt:first-child{
  margin-top: 0;
}
.our-solution-in-action {
  margin-top: 247px;
}
.our-solution-in-action .solution-lead-txt {
  font-size: 2em;
  text-align: center;
  font-weight: 500;
  margin-top: 51px;
  margin-bottom: 57px;
}
.c-anchor.c-anchor--B .c-anchor__item {
  padding: 10px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .lead-wrap .c-col-2 {
    padding-top: 50px;
  }
  .c-anchor.c-anchor--B .c-anchor__item {
    padding: 0;
  }
  .c-note {
    font-size: 0.75em;
  }
}
.c-anchor.c-anchor--B .c-anchor__item::before {
  display: none;
}
.c-anchor.c-anchor--B .c-anchor__item a {
  font-size: 0.8181818182em;
  text-align: left;
  padding-left: 22px;
  position: relative;
}
.c-anchor.c-anchor--B .c-anchor__item a::before {
  position: absolute;
  content: "";
  left: 0;
  top: calc(50% - 7px);
  width: 8px;
  height: 15px;
  background: url(/common/img/img_cursor.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
@media print, screen and (min-width: 768px) {
  .c-anchor.c-anchor--B .c-anchor__item {
    border-left: 1px solid #bfbfbf;
  }
}
.c-anchor.c-anchor--B .c-anchor__item + .c-anchor__item {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .c-anchor.c-anchor--B .c-anchor__item + .c-anchor__item {
    border: none;
  }
}
.our-solution-in-action .c-normal-txt:first-child{
  margin-top: 0;
}
.our-solution-in-action .movie{
  margin-top: 50px;
}
.our-solution-in-action .movie {
    position: relative;
}
.our-solution-in-action .movie::before {
  position: relative;
  z-index: 1;
  display: block;
  padding-top: 56.25%;
  content: '';
}
.our-solution-in-action .movie iframe {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.our-solution-in-action .c-col-item {
 padding: 100px 0 78px; 
}
.our-solution-in-action .c-col-item:nth-of-type(2) {
  padding-bottom: 100px;
}
.our-solution-in-action .c-col-item:nth-of-type(2) .c-img-caption + .c-col-2{
  margin-top: 80px;
}
.our-solution-in-action .c-img-caption{
  margin-top: 25px;
}
.our-solution-in-action .c-img-caption + .c-col-2 {
  margin-top: 100px;
}
.our-solution-in-action .c-col-2 + .c-col-2 {
  margin-top: 80px;
}
.our-solution-in-action .c-img-caption + .c-normal-txt {
  margin-top: 65px;
}
.our-solution-in-action .c-col-item:nth-of-type(3) .c-col-img + .c-col-2 {
  margin-top: 68px;
}
.our-solution-in-action .c-col-item:nth-of-type(3) .c-col-2 + .c-col-img {
  margin-top: 20px;
}
.our-solution-in-action .c-normal-txt + .c-col-2 {
  margin-top: 35px;
}
.our-solution-in-action .c-col {
  margin-top: 78px;
}
.our-solution-in-action .c-col + .c-col-2{
  margin-top: 74px;
}
.c-heading--E .c-heading--E-sub {
    font-size: 0.688em;
    display: block;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 6px;
}
.col-txt-center {
  font-size: 1.378em;
  text-align: center;
  font-weight: 500;
  margin-top: 60px;
}
.our-solutions {
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #f6f4f1;
}
.our-solutions .c-col-item {
  padding: 0;
}
@media print, screen and (min-width: 768px) {
  .our-solutions .c-col-2 .col.col-txt{
    width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .our-solutions .c-col-2 .col.c-content-img{
    width: 60%;
  }
  .our-solution-in-action .c-col-item:nth-of-type(3) {
  padding-top: 90px;
  padding-bottom: 87px;
}
}
@media screen and (max-width: 767px) {
  .our-solution-in-action {
      margin-top: 140px;
  }
  .our-solutions {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .our-solution-in-action .solution-lead-txt {
    font-size: 1.5em;
    margin-top: 35px;
    margin-bottom: 40px;
  }
  .our-solutions .c-content-img {
    margin: 30px 0;
  }
  .our-solution-in-action .c-col-item {
    padding: 50px 0 50px;
  }
  .our-solution-in-action .movie {
    margin-top: 30px;
  }
  .our-solution-in-action .c-img-caption + .c-col-2, 
  .our-solution-in-action .c-col-2 + .c-col-2, 
  .our-solution-in-action .c-col-item:nth-of-type(2) .c-img-caption + .c-col-2, 
  .our-solution-in-action .c-img-caption + .c-normal-txt, 
  .our-solution-in-action .c-col-item:nth-of-type(3) .c-col-img + .c-col-2, 
  .our-solution-in-action .c-col, 
  .our-solution-in-action .c-col + .c-col-2 {
    margin-top: 40px;
  }
  .col-txt-center {
    font-size: 1.25em;
    margin-top: 40px;
    margin-bottom: 0;
    line-height: 1.3;
  }
  .our-solution-in-action .c-col-item:nth-of-type(2) {
    padding-bottom: 50px;
  }
}

.c-heading--logo {
  margin: 0;
}
.c-heading--logo img {
  width: 100%;
  max-width: 420px;
}
.company-address table {
  width: 100%;
  border-collapse: collapse;
}
.company-address table tr th {
  text-align: left;
  width: 42%;
}
.company-address table tr td {
  font-weight: normal;
  width: 58%;
}
.company-address table tr th, .company-address table tr td {
  font-size: 1.128em;
  padding: 9px 0;
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
}
@media screen and (max-width: 767px) {
  .company-address table tr th, .company-address table tr td {
    font-size: 0.88em;
  }
}
