@charset "utf-8";
/* over write */
#GlobalNaviMenu > li > a {
  min-width: 100px;
  justify-content: center;
}
#GlobalNaviMenu > li.Current > a > strong {
  width: 100%;
  justify-content: center;
}
#Contents {
  padding-bottom: 0;
}

/* common */
#Contents br.pc {
  display: inline;
}
#Contents br.sp {
  display: none;
}
.GridSet {
  width: 100%;
}
.Grid4 .Section {
  padding: 80px 0 120px 0;
}
.Grid4 .Section.bgcol1 {
  background-color: #f2f2f2;
}
.Grid4 .Section.bgcol2 {
  background-color: #f8f8f8;
}
.Grid4 .Section .Inner {
  max-width: 965px;
  margin: 0 auto;
  box-sizing: border-box;
}
.Grid4 .Section h2 {
  font-size: 32px;
  font-weight: bold;
  color: #06417e;
  line-height: 2;
  position: relative;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 80px;
}
.Grid4 .Section h2.mb40 {
  margin-bottom: 40px;
}
.Grid4 .Section h2::after {
  content: "";
  width: 80px;
  height: 3px;
  background-color: #b1000e;
  position: absolute;
  left: calc(50% - 40px);
  bottom: 0;
}
.Grid4 .Section .lead {
  font-size: 18px;
  text-align: center;
  margin-bottom: 80px;
}
.Grid4 .Section a,
.Grid4 .Section a:hover,
.Grid4 .Section a:hover * {
  text-decoration: none;
}
.Grid4 .Section a:hover {
  opacity: 0.8;
}

.insite_link_btn {
  text-align: center;
}
.insite_link_btn a {
  font-size: 18px;
  font-weight: bold;
  line-height: 60px;
  color: #fff;
  background-color: #000000;
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 23px) center;
  min-width: 300px;
  height: 60px;
  display: inline-block;
}
.insite_link_btn a:hover {
  text-decoration: none;
}

/* cards_list */
.cards_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.cards_list:last-child {
  margin-bottom: 0;
}
.cards_list .card {
  width: 100%;
  box-sizing: border-box;
  color: #333;
  background-color: #fff;
  border: 1px solid #f2f2f2;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.16);
  position: relative;
}
.cardcol_gray.cards_list .card {
  background-color: #f2f2f2;
}
.cards_list .card * {
  color: inherit;
}
.cards_list .card .image img {
  max-width: 100%;
  width: 100%;
}
.cards_list .card .texts {
  padding: 20px;
}
.cards_list .card .texts .title {
  font-size: 20px;
  font-weight: bold;
}
.cards_list .card .texts .subti {
  font-size: 18px;
}
.cards_list .card .texts .solution {
  color: #ec6c00;
  font-weight: bold;
  background-color: rgba(236, 108, 0, 0.2);
  border-radius: 100vw;
  display: inline-block;
  padding: 7px 15px;
  margin-bottom: 20px;
  line-height: 1;
}
.cards_list .card .texts .body {
  font-size: 16px;
  margin-top: 20px;
  margin-bottom: 0;
}

.cards_list.noborder .card {
  border: none;
  box-shadow: none;
}
.cards_list.noborder .card .image {
  text-align: center;
}
.cards_list.noborder .card .image img {
  width: auto;
}
.cards_list.noborder .card .texts .title {
  text-align: center;
}

.cards_list.col2 .card {
  width: calc((100% - (32px * 1)) / 2);
  margin-right: 32px;
  margin-bottom: 80px;
}
.cards_list.col2 .card:nth-of-type(2n) {
  margin-right: 0;
}
.cards_list.col3 .card {
  width: calc((100% - (28px * 2)) / 3);
  margin-right: 28px;
  margin-bottom: 32px;
}
.cards_list.col3 .card:nth-of-type(3n) {
  margin-right: 0;
}

.cards_list.linkicon_detail a.card,
.cards_list.linkicon_more a.card {
  padding-bottom: 20px;
}
.cards_list.linkicon_detail a.card::after,
.cards_list.linkicon_outlink a.card::after,
.cards_list.linkicon_more a.card::after {
  content: "もっと詳しく";
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right_orange_r.svg);
  background-repeat: no-repeat;
  background-position: 100% calc(50% - 1px);
  background-size: auto 12px;
  padding-right: 20px;
  position: absolute;
  right: 20px;
  bottom: 16px;
}
.cards_list.linkicon_detail a.card::after {
  content: "詳細はこちら";
}
.cards_list.linkicon_outlink a.card::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(/-/media/ind/data-integration/image/icon_outerlink.svg);
  background-size: contain;
  padding-right: 0;
}

/* contact_btns */
.contact_btns {
  display: flex;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}
.contact_btns .btn {
  height: 60px;
  text-align: center;
  background-color: #fff;
  width: calc((300 / 965) * 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 40px;
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center;

  background-color: #ec6c00;
  color: #fff;
}
.contact_btns .btn:last-child {
  margin-right: 0;
}
.contact_btns .btn.inquiry {
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right_orange.svg);
  background-color: #fff;
  color: #ec6c00;
}

/* sec_fv */
.Section.sec_fv {
  height: 450px;
  background-color: #ec6c00;
  background-image: url(/-/media/ind/data-integration/image/img_fv_top.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
  padding: 0;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
}
.Section.sec_fv.bg01 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_01.jpg);
}
.Section.sec_fv.bg02 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_02.jpg);
}
.Section.sec_fv.bg03 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_03.jpg);
}
.Section.sec_fv.bg04 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_04.jpg);
}
.Section.sec_fv.bg05 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_05.jpg);
}
.Section.sec_fv.bg06 {
  background-image: url(/-/media/ind/data-integration/image/img_fv_06.jpg);
}
.Section.sec_fv .Inner {
  width: 100%;
}
.Section.sec_fv h1 {
  font-size: 54px;
  font-weight: bold;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.16);
  margin-bottom: 20px;
}
.Section.sec_fv h1 .subtit {
  font-size: 18px;
  margin-bottom: 0;
}
.Section.sec_fv.bg02 h1,
.Section.sec_fv.bg01 h1 {
  line-height: 0;
  margin-bottom: 0;
}
.Section.sec_fv.bg03 h1 {
  line-height: 54px;
}
.Section.sec_fv.bg01 h1 img {
  width: auto;
  height: 100px;
}
.Section.sec_fv.bg02 h1 img {
  width: auto;
  height: 138px;
}
.Section.sec_fv.bg02 .lead {
  margin-bottom: 40px;
}
.Section.sec_fv.bg03 .lead {
  margin-bottom: 40px;
}
.Section.sec_fv.mini {
  height: 268px;
}
.Section.sec_fv.mini h1 {
  font-size: 40px;
  margin-bottom: 0;
}
.Section.sec_fv .lead {
  font-size: 18px;
  font-weight: 550;
  line-height: 2;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.16);
  margin-bottom: 60px;
}

/* sec_award */
.Section.sec_award .Inner {
  max-width: 846px;
  text-align: center;
}
.Section.sec_award .awards {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;

  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.Section.sec_award .awards img {
  width: calc((242 / 846) * 100%);
  margin: 0 60px 40px 0;
}
.Section.sec_award .awards img:nth-of-type(3n),
.Section.sec_award .awards img:last-child {
  margin-right: 0;
}
.Section.sec_award .awards.mb00,
.Section.sec_award .awards.mb00 img {
  margin-bottom: 0;
}
.Section.sec_award .box {
  background-color: rgba(236, 108, 0, 0.05);
  width: calc((774 / 846) * 100%);
  margin: 0 auto;
  padding: 40px 0;
}
.Section.sec_award .box .lead {
  font-size: 23px;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 40px;
}
.Section.sec_award .box.tsap {
  display: flex;
  width: 100%;
  padding: 70px;
  box-sizing: border-box;
}
.Section.sec_award .box.tsap .image {
  min-width: 94px;
}
.Section.sec_award .box.tsap .image img {
  width: 100%;
}
.Section.sec_award .box.tsap .texts {
  padding-left: 30px;
}
.Section.sec_award .box.tsap .texts .lead {
  text-align: left;
  font-size: 18px;
  margin-bottom: 15px;
}
.Section.sec_award .box.tsap .texts .body {
  font-size: 14px;
  text-align: left;
  line-height: 2;
}

/* sec_alignment */
.Section.sec_alignment{
  padding-bottom: 0;
}
.Section.sec_alignment .Inner h2 {
  line-height: 1.5;
}
.Section.sec_alignment .Inner>.body{
  text-align: center;
  margin-bottom: 60px;
}
.Section.sec_alignment .cards_list .card{
  background-color: #f2f2f2;
}
.Section.sec_alignment .cards_list .card .image{
  padding: 30px 40px 0 40px;
  text-align: center;
}
.Section.sec_alignment .cards_list .card .image .title{
  font-weight: bold;
  margin-bottom: 20px;
}

/* sec_collaborations */
.Section.sec_collaborations .collaborations_table{
  margin-bottom: 40px;
  display: flex;
  gap: 60px;
}
.Section.sec_collaborations .collaborations_table .col{
  flex: 1;
}
.Section.sec_collaborations .collaborations_table .col .caption{
  color: #06417E;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 20px;
  text-align: center;
}
.Section.sec_collaborations .collaborations_table .col>ul{
  display: flex;
  flex-direction: column;
  gap: 45px;
}
.Section.sec_collaborations .collaborations_table .col>ul>li{
  font-size: 18px;
  line-height: 2;
  padding-left: 30px;
}
.Section.sec_collaborations .collaborations_table .col>ul>li strong{
  color: #B1000E;
}
.Section.sec_collaborations .collaborations_table .col.col_summary>ul>li{
  background: url(/-/media/ind/data-integration/image/icon_maru.svg) left 8px no-repeat;
}
.Section.sec_collaborations .collaborations_table .col.col_efficacy>ul>li{
  background: url(/-/media/ind/data-integration/image/icon_check2.svg) left 8px no-repeat;
}
/*
.Section.sec_collaborations .collaborations_table table {
  table-layout: fixed;
}
.Section.sec_collaborations .collaborations_table table th,
.Section.sec_collaborations .collaborations_table table td{
  background-color: transparent;
  padding: 0;
}
.Section.sec_collaborations .collaborations_table table th{
}
.Section.sec_collaborations .collaborations_table table td{
  vertical-align: top;
}
.Section.sec_collaborations .collaborations_table table td strong{
  color: #B1000E;
}
.Section.sec_collaborations .collaborations_table table tbody tr td{
  font-size: 18px;
  padding-bottom: 40px;
}
.Section.sec_collaborations .collaborations_table table tbody tr:last-child td{
  padding-bottom: 0px;
}
.Section.sec_collaborations .collaborations_table table tbody tr td:first-child{
  padding-right: 30px;
  background: url(/-/media/ind/data-integration/image/icon_maru.svg) left 8px no-repeat;
  padding-left: 24px;
}
.Section.sec_collaborations .collaborations_table table tbody tr td:last-child{
  padding-left: 30px;
  background: url(/-/media/ind/data-integration/image/icon_check2.svg) 30px 8px no-repeat;
  padding-left: calc(28px + 24px);
}
  */
.Section.sec_collaborations .fig{
  margin-bottom: 80px;
}
.Section.sec_collaborations .fig .title{
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
.Section.sec_collaborations .btn{
  text-align: center;
}
.Section.sec_collaborations .btn a{
  background: url(/-/media/ind/data-integration/image/icon_arrow_left.svg) 20px center no-repeat;
  background-color: #000;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 30px;
  padding-left: 45px;
}

/* sec_about */
.Section.sec_about .Inner {
  max-width: 846px;
}
.Section.sec_about .cards_list.horizontal .card {
  background-color: transparent;
  border: none;
  box-shadow: none;
  margin-bottom: 40px;
}
.Section.sec_about .cards_list.horizontal .card:last-child {
  margin-bottom: 0;
}
.Section.sec_about .cards_list.horizontal .card .image {
  width: calc((200 / 846) * 100%);
}
.Section.sec_about .cards_list.horizontal .texts {
  padding: 0 0 0 40px;
  flex-grow: 1;
  width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.Section.sec_about .cards_list.horizontal .texts .title {
  font-size: 24px;
}
.Section.sec_about .cards_list.horizontal .texts .body {
  font-size: 18px;
}

/* sec_general */
.Section.sec_general .lead {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 40px;
}
.Section.sec_general .body {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 60px;
}
.Section.sec_general .figs {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.Section.sec_general .figs.col1 {
  justify-content: center;
}
.Section.sec_general .figs .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 18px;
  text-align: center;
}
.Section.sec_general .figs .fig img {
  width: 100%;
}
.Section.sec_general ul.list {
  margin-bottom: 40px;
}
.Section.sec_general ul.list li {
  margin-bottom: 5px;
}

.Section .quote {
  font-size: 18px;
  font-weight: bold;
  display: table;
  position: relative;
  margin: 0 auto;
  margin-bottom: 26px;
}
.Section .quote::before,
.Section .quote::after {
  content: "";
  width: 3px;
  height: 64px;
  background-color: #ec6c00;
  position: absolute;
  bottom: 0;
}
.Section .quote::before {
  left: -10px;
  transform-origin: left bottom;
  transform: rotateZ(-30deg);
}
.Section .quote::after {
  right: -10px;
  transform-origin: right bottom;
  transform: rotateZ(30deg);
}

.Section table {
  border-collapse: separate;
  border-spacing: 10px;
  width: 100%;
}
.Section table th {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border: none;
}
.Section table td {
  font-size: 16px;
  line-height: 2;
  border: none;
}
.Section table thead th,
.Section table thead td {
  background-color: #ec6c00;
  color: #fff;
  padding: 10px 20px;
}
.Section table tbody th {
  background-color: rgba(236, 108, 0, 0.1);
  padding: 20px;
  width: 20%;
  white-space: nowrap;
}
.Section table tbody td {
  background-color: #f8f8f8;
  padding: 20px;
}
.Section table tbody td p {
  margin-bottom: 1em;
}
.Section table tbody td p:last-child {
  margin-bottom: 0;
}
.Section.bgcol2 table tbody td,
.Section.bgcol1 table tbody td {
  background-color: #fff;
}
.Section table.col3 tbody td:last-child {
  font-size: 14px;
}
/* Overflow */
.Section .Overflow {
  margin-bottom: 80px;
}
.Section .Overflow table {
  margin: 0;
}
.Section .Inner .Overflow:last-of-type {
  margin-bottom: 0;
}

.Section ul.notice {
  margin-top: 20px;
  font-size: 14px;
}
.Section ul.notice li {
  margin-bottom: 5px;
}

/* sec_casestudy */
.Section.sec_casestudy .casestudy {
  margin-bottom: 80px;
}
.Section.sec_casestudy .casestudy:last-child {
  margin-bottom: 0;
}
.Section.sec_casestudy .casestudy .title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
.Section.sec_casestudy .casestudy .body {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 40px;
}
.Section.sec_casestudy .casestudy .fig {
  margin-bottom: 40px;
}
.Section.sec_casestudy .casestudy .proc {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.Section.sec_casestudy .casestudy .proc .list_title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.Section.sec_casestudy .casestudy .proc ul {
  font-size: 18px;
}
.Section.sec_casestudy .casestudy .proc li::before {
  content: "●";
  color: #ec6c00;
}

/* sec_thiscv */
.Section.sec_thiscv {
  background-color: rgba(236, 108, 0, 0.1);
  text-align: center;
  padding: 60px 0;
}
.Section.sec_thiscv .title {
  color: #ec6c00;
  font-size: 40px;
  font-weight: bold;
  line-height: 100px;
}
.Section.sec_thiscv .title .subtit {
  color: #333333;
  font-size: 18px;
  font-weight: normal;
  display: block;
}
.Section.sec_thiscv .title img {
  width: 240px;
}
.Section.sec_thiscv .lead {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}

/* sec_resolve */
.Section.sec_resolve .points {
  margin-bottom: 80px;
}
.Section.sec_resolve .points .point {
  display: flex;
  align-items: stretch;
  margin-bottom: 60px;
}
.Section.sec_resolve .points .point:last-child {
  margin-bottom: 0;
}
.Section.sec_resolve .points .point .index {
  color: #ec6c00;
  font-size: 24px;
  font-weight: bold;
  width: 120px;
  padding-right: 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.Section.sec_resolve .points .point .index em {
  font-size: 60px;
  font-style: normal;
  font-weight: bold;
  margin-top: 20px;
}
.Section.sec_resolve .points .point .problem {
  width: 385px;
  box-sizing: border-box;
  padding: 38px 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  background-color: #fff;
  display: flex;
  align-items: center;
}
.Section.sec_resolve .points .point .resolve::before {
  content: "";
  width: 50px;
  height: 25px;
  background-size: contain;
  background-image: url(/-/media/ind/data-integration/image/icon_triangle_dw.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: -60px;
  transform: rotateZ(-90deg);
}
.Section.sec_resolve .points .point .resolve {
  width: 385px;
  margin-left: 75px;
  position: relative;
  padding: 38px 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  background-color: #fff;
  border: 2px solid #ec6c00;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.Section.sec_resolve .points .point .resolve em {
  color: #b1000e;
  font-style: normal;
}

.Section.sec_resolve .others h3 {
  color: #06417e;
  background-color: transparent;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  border: none;
  padding: 0;
  margin: 0;
  text-align: center;
  margin-bottom: 40px;
}
.Section.sec_resolve .others ul {
  background-color: #fff;
  padding: 40px;
}
.Section.sec_resolve .others ul li {
  margin-bottom: 20px;
  background: url(/-/media/ind/data-integration/image/icon_checkbox.svg)
    no-repeat;
  background-position: left top;
  padding-left: 50px;
}
.Section.sec_resolve .others ul li:last-child {
  margin-bottom: 0;
}
.Section.sec_resolve .others ul li .title {
  font-size: 20px;
  font-weight: bold;
}
.Section.sec_resolve .others ul li .body {
  font-size: 16px;
  line-height: 2;
}

/* sec_case */
.cards_list.horizontal .card {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.cards_list.horizontal .card:last-child {
  margin-bottom: 0;
}
.cards_list.horizontal .image {
  width: calc((320 / (965 - 2)) * 100%);
}
.cards_list.horizontal .image img {
  object-fit: cover;
  object-position: left top;
  height: 100%;
}
.cards_list.horizontal .texts {
  width: calc(((965 - 2 - 320) / (965 - 2)) * 100%);
  padding: 40px;
  box-sizing: border-box;
}

/* sec_solution */
.Section.sec_solution .features {
  font-size: 16px;
  font-weight: bold;
}
.Section.sec_solution .card {
  padding: 20px;
}
.Section.sec_solution .card .title {
  font-size: 24px;
  font-weight: bold;
  width: 100%;
  margin-bottom: 20px;
}
.Section.sec_solution .card .image {
  box-sizing: border-box;
  border: 1px solid #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((300 / (925 - 2)) * 100%);
  min-height: 300px;
  padding: 0 20px;
}
.Section.sec_solution .card .image img {
  object-fit: initial;
  height: auto;
  max-height: 80px;
  width: auto;
}
.Section.sec_solution .card .texts {
  padding: 0 0 0 20px;
  width: calc(((925 - 2 - 300) / (925 - 2)) * 100%);
}
.Section.sec_solution .card .texts > p:first-child {
  line-height: 2;
}
.Section.sec_solution .card .texts .body {
  margin-top: 40px;
}

/* sec_useful_data */
.Section.sec_useful_data .lead {
  font-weight: bold;
  margin-bottom: 20px;
}
.Section.sec_useful_data .lead2 {
  font-size: 18px;
  text-align: center;
  margin-bottom: 80px;
}
.Section.sec_useful_data .cards_list.horizontal .card .image {
  box-sizing: border-box;
  width: 50%;
  padding: 40px;
}
.Section.sec_useful_data .cards_list.horizontal .card .texts {
  width: 50%;
  padding: 40px;
  padding-left: 0;
}
.Section.sec_useful_data .cards_list.horizontal .card .texts .title {
  font-size: 24px;
  line-height: 2;
}
.Section.sec_useful_data .card .texts .solution {
  font-size: 14px;
}
.Section.sec_useful_data .card .texts .features {
  font-size: 16px;
  margin-bottom: 20px;
}
.Section.sec_useful_data .card .texts .features li {
  margin-bottom: 5px;
  text-indent: -20px;
  padding-left: 20px;
}
.Section.sec_useful_data .card .texts .features li:last-child {
  margin-bottom: 0;
}
.Section.sec_useful_data .card .texts .features li::before {
  content: "●";
  color: #ec6c00;
  padding-right: 5px;
}
.Section.sec_useful_data .card .texts .release_date {
  font-size: 14px;
}
.Section.sec_useful_data .cards_list.linkicon_dl a.card {
  padding-bottom: 30px;
}
.Section.sec_useful_data .cards_list.linkicon_dl a.card::after {
  position: absolute;
  right: 20px;
  bottom: 16px;
  font-size: 14px;
  font-weight: bold;
  line-height: 24px;
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) center;
  padding: 10px;
  background-color: #ec6c00;
  color: #fff;

  content: "資料ダウンロード";
  width: 150px;
  height: 20px;
  background-image: url(/-/media/ind/data-integration/image/icon_dl.svg);
  background-size: 20px 20px;
  padding-right: 0;
}

/* sec_service */
.Section.sec_service .card {
  background-color: #f2f2f2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.Section.sec_service .card .texts {
  padding: 15px;
}
.Section.sec_service .card .image {
  padding: 15px;
  background: url(/-/media/ind/data-integration/image/icon_triangle_dw.svg)
    no-repeat;
  background-position: center top;
  padding-top: 50px;
}
.Section.sec_service .card .image a {
  background-color: #fff;
  display: flex;
  margin-bottom: 15px;
  box-sizing: border-box;
  padding: 15px 20px;
  height: 90px;
  height: 88px;
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right_orange.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center;
  border: 1px solid #f2f2f2;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.16);
}
.Section.sec_service .card .image a:last-child {
  margin-bottom: 0;
}
.Section.sec_service .card .image a img {
  object-fit: contain;
}

/* sec_case */
.Section.sec_case .lead {
  font-weight: bold;
  line-height: 2;
  margin-bottom: 20px;
}
.Section.sec_case .logos .title {
  text-align: center;
  margin-bottom: 60px;
}
.Section.sec_case .logos ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: calc(80px - 25px);
}
.Section.sec_case .logos ul li {
  height: 86px;
  margin-bottom: 25px;
}
.Section.sec_case .logos ul li img {
  width: auto;
  height: 100%;
}
.Section.sec_case .cards_list.horizontal .card .texts .body p {
  line-height: 2;
}

/* sec_faq */
#Contents .faq_list {
  font-size: 18px;
}
#Contents .faq_list > li {
  padding: 30px 0 30px 30px;
  border-bottom: 1px solid #757374;
}
#Contents .faq_list .question,
#Contents .faq_list .answer {
  position: relative;
  display: flex;
  justify-content: space-between;
}
#Contents .faq_list .question {
  cursor: pointer;
}
#Contents .faq_list .question::before,
#Contents .faq_list .answer::before {
  font-size: 24px;
  font-weight: bold;
  padding-right: 10px;
  position: absolute;
  left: 0px;
}
#Contents .faq_list .question::before {
  content: "Q.";
  color: #06417e;
}
#Contents .faq_list .answer::before {
  content: "A.";
  color: #b1000e;
}
#Contents .faq_list .answer {
  display: none;
  overflow: hidden;
  padding-top: 30px;
}
#Contents .faq_list .answer a {
  text-decoration: underline;
}
#Contents .faq_list .body {
  padding-left: 60px;
}
#Contents .faq_list .question .body {
  font-weight: bold;
  padding-right: 10px;
}
#Contents .faq_list .answer .body {
  padding-right: 40px;
}
#Contents .faq_list .body ol li {
  list-style: decimal;
}
#Contents .faq_list .body ol li {
  margin-bottom: 1em;
}
#Contents .faq_list .body p {
  margin-bottom: 1em;
}
#Contents .faq_list .body ol li:last-child,
#Contents .faq_list .body p:last-child {
  margin-bottom: 0;
}
#Contents .faq_list .icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  position: relative;
}
#Contents .faq_list .icon::before,
#Contents .faq_list .icon::after {
  content: "";
  background-color: #b1000e;
  position: absolute;
}
#Contents .faq_list .icon::before {
  width: 30px;
  height: 2px;
  left: 0;
  top: 14px;
}
#Contents .faq_list .icon::after {
  width: 2px;
  height: 30px;
  left: 14px;
  top: 0px;
  transition: transform 0.6s ease;
}
#Contents .faq_list .open .icon::after {
  transform: rotate(270deg);
}


/* sec_map */
#Contents .map_list {
  font-size: 18px;
}
#Contents .map_list > li {
  padding: 30px 0 30px 30px;
  border-bottom: 1px solid #757374;
}
#Contents .map_list .map,
#Contents .map_list .answer {
  position: relative;
  display: flex;
  justify-content: space-between;
}
#Contents .map_list .map {
  cursor: pointer;
}
#Contents .map_list .map::before,
#Contents .map_list .answer::before {
  font-size: 24px;
  font-weight: bold;
  padding-right: 10px;
  position: absolute;
  left: 0px;
}
#Contents .map_list .body {
  padding-left: 20px;
}
#Contents .map_list .map .body {
  font-weight: bold;
  padding-right: 10px;
}
#Contents .map_list .body ol li {
  list-style: decimal;
}
#Contents .map_list .body ol li {
  margin-bottom: 1em;
}
#Contents .map_list .body p {
  margin-bottom: 1em;
}
#Contents .map_list .body ol li:last-child,
#Contents .map_list .body p:last-child {
  margin-bottom: 0;
}
#Contents .map_list .icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding-right: 20px;
  position: relative;
}
#Contents .map_list .icon::before,
#Contents .map_list .icon::after {
  content: "";
  background-color: #b1000e;
  position: absolute;
}
#Contents .map_list .icon::before {
  width: 30px;
  height: 2px;
  left: 0;
  top: 14px;
}
#Contents .map_list .icon::after {
  width: 2px;
  height: 30px;
  left: 14px;
  top: 0px;
  transition: transform 0.6s ease;
}
#Contents .map_list .open .icon::after {
  transform: rotate(270deg);
}



/* sec_cv */
.Section.sec_cv {
  background-color: #fbf0e5;
  padding: 60px 0;
  text-align: center;
}
.Section.sec_cv .title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 20px;
}
.Section.sec_cv .title span {
  font-size: 20px;
}
.Section.sec_cv .lead {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
.Section.sec_cv .notice {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 30px;
}
.Section.sec_cv .btns {
  display: flex;
  justify-content: space-between;
  justify-content: center;
}
.Section.sec_cv .btns a * {
  color: inherit;
}
.Section.sec_cv .btns a:hover *,
.Section.sec_cv .btns a:hover {
  text-decoration: none;
}
.Section.sec_cv .btns .btn {
  font-size: 20px;
  font-weight: bold;
  border: 2px solid #b1000e;
  background-color: #b1000e;
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 23px) center;
  color: #fff;
  display: flex;
  width: 100%;
  width: 462px;
  margin-right: 20px;
}
.Section.sec_cv .btns .btn:last-child {
  margin-right: 0;
}
.Section.sec_cv .btns .btn .img img {
  height: 105px;
  width: auto;
}
.Section.sec_cv .btns .btn .text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex-grow: 1;
}
.Section.sec_cv .btns .btn .text .sub {
  font-size: 14px;
}

/* sec_question_list */
#Contents .faq_list a.question .icon {
  background-image: url(/-/media/ind/data-integration/image/icon_toanchor.svg);
  background-repeat: no-repeat;
}
#Contents .faq_list a.question .icon::before {
  content: none;
}
#Contents .faq_list a.question .icon::after {
  content: none;
}
.Section.sec_question_list .faq_list {
  margin-bottom: 80px;
}
.Section.sec_question_list .faq_list:last-child {
  margin-bottom: 0px;
}

/* sec_map_list */
#Contents .map_list a.map .icon {
  background-image: url(/-/media/ind/data-integration/image/icon_arrow_right_orange.svg);
  background-repeat: no-repeat;
}
#Contents .map_list a.map .icon::before {
  content: none;
}
#Contents .map_list a.map .icon::after {
  content: none;
}
.Section.sec_map_list .map_list {
  margin-bottom: 80px;
}
.Section.sec_map_list .map_list:last-child {
  margin-bottom: 0px;
}

/* sec_answer_list */
.qandas {
  margin-bottom: 80px;
}
.qandas:last-child {
  margin-bottom: 0px;
}
.qandas .qanda {
  margin-bottom: 60px;
}
.qandas .qanda:last-child {
  margin-bottom: 0px;
}
.qandas .qanda .line {
  display: flex;
  align-items: flex-start;
}
.qandas .qanda .line.a {
  flex-direction: row-reverse;
}
.qandas .qanda .person {
  padding-top: 105px;
  background-repeat: no-repeat;
  background-position: center top;
  text-align: center;
  font-size: 14px;
}
.qandas .qanda .q .person {
  min-width: 77px;
  background-image: url(/-/media/ind/data-integration/image/icon_person_q.svg);
  margin-right: 10px;
}
.qandas .qanda .a .person {
  min-width: 100px;
  background-image: url(/-/media/ind/data-integration/image/icon_person_a.svg);
  margin-left: 10px;
}
.qandas .qanda .q {
  margin-bottom: 20px;
}
.qandas .qanda .body {
  background-color: #ededed;
  padding: 20px;
  padding-left: 60px;
  position: relative;
  font-size: 18px;
  flex-grow: 1;
}
.qandas .qanda .body a {
  text-decoration: underline;
}
.qandas .qanda .body p {
  margin-bottom: 1em;
}
.qandas .qanda .body p:last-child {
  margin-bottom: 0;
}
.qandas .qanda .body::before {
  font-size: 24px;
  font-weight: bold;
  padding-right: 10px;
  position: absolute;
  left: 20px;
}
.qandas .qanda .q .body::before {
  content: "Q.";
  color: #06417e;
}
.qandas .qanda .a .body::before {
  content: "A.";
  color: #b1000e;
}
.qandas .qanda .body::after {
  background-repeat: no-repeat;
  position: absolute;
  top: 30px;
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(/-/media/ind/data-integration/image/icon_tail.svg);
  background-size: contain;
  background-position: right center;
}
.qandas .qanda .q .body::after {
  left: -20px;
}
.qandas .qanda .a .body::after {
  right: -20px;
  transform: rotateZ(180deg);
}
.qandas .qanda .q .body {
  margin-left: 20px;
}
.qandas .qanda .a .body {
  margin-right: 20px;
}
.qandas .qanda .q .body {
  font-weight: bold;
}

/* sp */
@media screen and (max-width: 994px) {
  #Contents br.pc {
    display: none;
  }
  #Contents br.sp {
    display: inline;
  }
  .JS #Contents {
    padding: 0;
  }

  .Grid4 .Section{
    padding: 80px 0;
  }
  .Grid4 .Section .Inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .Grid4 .Section h2 {
    font-size: 28px;
    line-height: 1.5;
  }
  .Grid4 .Section .lead {
    text-align: left;
  }

  /* cards_list */
  .cards_list {
    display: block;
  }
  .cards_list .card {
    display: block;
  }
  .cards_list a.card .texts {
    padding-bottom: 0;
  }
  .cards_list.col3 .card {
    width: 100%;
    margin-right: 0;
  }
  .cards_list.col3 .card:last-child{
    margin-bottom: 0;
  }
  .cards_list.horizontal .card {
    display: block;
  }
  .cards_list.horizontal .image {
    width: 100%;
  }
  .cards_list.horizontal .texts {
    width: 100%;
    padding: 20px;
  }

  .cards_list.linkicon_outlink a.card,
  .cards_list.linkicon_detail a.card,
  .cards_list.linkicon_more a.card {
    padding-bottom: 60px;
  }

  .contact_btns {
    display: block;
  }
  .contact_btns .btn {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .contact_btns .btn:last-child {
    margin-bottom: 0;
  }

  .Section .Overflow {
    overflow-x: scroll;
  }
  .Section .Overflow table {
    width: 200vw;
  }
  .Section .Overflow table.col3 {
    width: 300vw;
  }

  .Section.sec_general .figs {
    display: block;
  }
  .Section.sec_general .figs .fig {
    margin-bottom: 20px;
  }
  .Section.sec_general .figs .fig:last-child {
    margin-bottom: 0px;
  }

  /* sec_fv */
  .Section.sec_fv {
    height: auto;
    padding: 60px 0;
  }
  .Section.sec_fv.bgtop {
    background-image: url(/-/media/ind/data-integration/image/img_fv_top_sp.jpg);
  }
  .Section.sec_fv h1 {
    font-size: 40px;
  }
  .Section.sec_fv h1 .subtit {
    line-height: 1.5;
  }

  .Section.sec_fv .lead {
    text-align: left;
    font-size: 16px;
  }
  .Section.sec_fv .contact_btns {
    display: block;
  }
  .Section.sec_fv .contact_btns .btn {
    margin-right: 0;
    margin-bottom: 20px;
    width: 100%;
  }
  .Section.sec_fv .contact_btns .btn:last-child {
    margin-bottom: 0;
  }
  .Section.sec_fv.mini h1{
    font-size: 32px;
  }
  /* sec_award */
  .Section.sec_award .awards{
    margin-bottom: 80px;
  }
  .Section.sec_award .box {
    padding: 20px;
  }
  .Section.sec_award .awards img {
    width: calc((150 / 335) * 100%);
    margin: 0 20px 20px 0;
  }
  .Section.sec_award .awards img:nth-of-type(3n) {
    margin-right: 20px;
  }
  .Section.sec_award .awards img:nth-of-type(2n),
  .Section.sec_award .awards img:last-child {
    margin-right: 0;
  }
  .Section.sec_award .awards img:last-child {
    margin-bottom: 0;
  }
  .Section.sec_award .awards.mb00{
    margin-bottom: 0;
  }
  .Section.sec_award .awards.mb00 img{
    margin-bottom: 20px;
  }
  .Section.sec_award .awards.mb00 img:last-child {
    margin-bottom: 0;
  }
  .Section.sec_award .box .lead {
    font-size: 18px;
  }
  .Section.sec_award .box.tsap {
    display: block;
    padding: 20px;
  }
  .Section.sec_award .box.tsap .image {
    min-width: auto;
    margin-bottom: 20px;
  }
  .Section.sec_award .box.tsap .image img {
    width: 94px;
  }
  .Section.sec_award .box.tsap .texts {
    padding-left: 0px;
  }

  /* sec_about */
  .sec_about .cards_list.horizontal .card {
    display: flex;
  }
  .Section.sec_about .cards_list.horizontal .texts {
    padding-left: 20px;
  }
  .Section.sec_about .cards_list.horizontal .texts .title {
    font-size: 20px;
  }
  .Section.sec_about .cards_list.horizontal .texts .body {
    font-size: 16px;
  }

  /* sec_collaborations */
  .Section.sec_collaborations .collaborations_table{
    flex-direction: column;
  }
  .Section.sec_collaborations .collaborations_table .col .caption{
    font-size: 22px;
  }
  .Section.sec_collaborations .collaborations_table .col>ul{
    gap: 20px;
  }
  /*
  .Section.sec_collaborations .collaborations_table table{
    width: auto;
  }
  .Section.sec_collaborations .collaborations_table table th{
    font-size: 20px;
  }
  .Section.sec_collaborations .collaborations_table table td{
    width: 50%;
  }
  .Section.sec_collaborations .collaborations_table table tbody tr td:first-child{
    padding-right: 0;
  }
  .Section.sec_collaborations .collaborations_table table tbody tr td:last-child{
    padding-left: 30px;
    background-position: 10px 8px;
  }
  */

  /* sec_thiscv */
  .Section.sec_thiscv .title.txt{
    line-height: 1.2;
    margin: 20px auto;
  }

  /* sec_resolve  */
  .Section.sec_resolve .points .point {
    display: block;
  }
  .Section.sec_resolve .points .point .index {
    padding-right: 0;
    width: 100%;
    margin-bottom: 20px;
  }
  .Section.sec_resolve .points .point .problem {
    width: 100%;
  }
  .Section.sec_resolve .points .point .resolve {
    width: 100%;
    margin-left: 0;
    margin-top: 50px;
  }
  .Section.sec_resolve .points .point .resolve::before {
    transform: rotateZ(0deg);
    left: calc(50% - 25px);
    top: -38px;
  }
  .Section.sec_resolve .others h3{
    line-height: 1.5;
  }
  .Section.sec_resolve .others ul{
    padding: 20px;
  }

  /* sec_useful_data */
  .Section.sec_useful_data .cards_list.horizontal .card .image {
    width: 100%;
    padding: 20px;
  }
  .Section.sec_useful_data .cards_list.horizontal .card .texts {
    width: 100%;
    padding: 20px;
    padding-bottom: 40px;
  }
  .Section.sec_useful_data .lead2{
    text-align: left;
  }

  /* sec_solution */
  .sec_solution .cards_list.horizontal .card {
    display: block;
  }
  .Section.sec_solution .card .image {
    width: 100%;
  }
  .Section.sec_solution .card .texts {
    width: 100%;
    padding-left: 0;
    padding-top: 20px;
  }

  /* sec_case */
  .Section.sec_case .logos .title {
    text-align: left;
  }
  .Section.sec_case .logos ul li {
    width: calc(50% - 10px);
    height: auto;
  }
  .Section.sec_case .logos ul li:nth-of-type(2n) {
    margin-left: 20px;
  }

  /* sec_faq */
  #Contents .faq_list > li {
    padding-left: 0;
  }
  #Contents .faq_list .body{
    padding-left: 40px;
  }
  
  #Contents .faq_list a.question .body{
    font-size: 16px;
  }
  #Contents .faq_list a.question .icon{
    height: auto;
    background-position-y: calc(50% - 6px);
  }
	
	/* sec_map */
  #Contents .map_list > li {
    padding-left: 0;
  }
  #Contents .map_list .body{
    padding-left: 40px;
  }
  
  #Contents .map_list a.map .body{
    font-size: 16px;
  }
  #Contents .map_list a.map .icon{
    height: auto;
    background-position-y: calc(50% - 6px);
  }

  /* sec_cv */
  .Section.sec_cv .title {
    font-size: 24px;
    font-size: 30px;
    line-height: 1;
  }
  .Section.sec_cv .title span {
    font-size: 16px;
    display: block;
    line-height: 1.5;
  }
  .Section.sec_cv .subti {
    font-size: 20px;
    font-size: 14px;
  }
  .Section.sec_cv .lead {
    font-size: 20px;
  }
  .Section.sec_cv .notice {
    text-align: left;
  }

  .Section.sec_cv .btns .btn {
    margin: 0 0 15px 0;
    font-size: 16px;
    background-position-x: calc(100% - 10px);
  }
  .Section.sec_cv .btns .btn .img {
    width: 30%;
  }

  /* sec_answer_list */
  .qandas .qanda .person {
    padding-top: 58px;
  }
  .qandas .qanda .q .person {
    min-width: 40px;
    width: 40px;
    background-size: contain;
  }
  .qandas .qanda .a .person {
    min-width: 50px;
    width: 50px;
    background-size: contain;
    font-size: 10px;
  }
  .qandas .qanda .body {
    font-size: 15px;
    word-break: break-all;
  }
}
