@charset "UTF-8";
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 変数の定義
--------------------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 色の定義
--------------------------------------------------*/
/* フォントの定義
--------------------------------------------------*/
html,
body,
ul,
ol,
dl,
li,
dt,
dd,
a,
p,
div,
img,
svg,
table,
tr,
th,
td,
figure {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #000F08;
}

body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
img,
svg,
a,
table,
tr,
th,
td,
figure {
  font-size: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 700;
}

.en {
  font-family: "Google Sans", sans-serif;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 500;
  display: inline-block;
}

/* 事業紹介
--------------------------------------------------*/
#services_page {
  background: #fff;
}

#services_business {
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  #services_business {
    padding-top: 60px;
  }
}
#services_business .wrap_services_business .business_list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list {
    gap: 60px;
  }
}
#services_business .wrap_services_business .business_list .business_card {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card {
    gap: 30px;
  }
}
#services_business .wrap_services_business .business_list .business_card.-bg {
  background-color: #EDF3FD;
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card.-bg {
    padding: 60px 0;
  }
}
#services_business .wrap_services_business .business_list .business_card .business_top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(24px, 4vw, 50px);
}
@media screen and (max-width: 999px) {
  #services_business .wrap_services_business .business_list .business_card .business_top {
    flex-direction: column;
  }
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_head {
  flex: 1;
  min-width: 0;
  color: #2F5BFF;
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_head .ttl {
  color: #2F5BFF;
  font-size: clamp(3.8rem, 4.8vw, 4.8rem);
  line-height: 1.3;
  margin-bottom: 0;
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_head .ttl .en {
  font-weight: 700;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_head .desc {
  margin-top: 30px;
  font-weight: 500;
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_img {
  flex: 0 0 394px;
  height: 265px;
  border-radius: 7px;
  overflow: hidden;
}
@media screen and (max-width: 999px) {
  #services_business .wrap_services_business .business_list .business_card .business_top .business_img {
    flex: 0 0 auto;
    width: 100%;
    height: 240px;
  }
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .business_top .business_img {
    height: 160px;
  }
}
#services_business .wrap_services_business .business_list .business_card .business_top .business_img video {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#services_business .wrap_services_business .business_list .business_card .detail_box {
  background: #EDF3FD;
  border-radius: 15px;
  padding: 50px 40px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box {
    padding: 30px;
  }
}
@media screen and (max-width: 449px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box {
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .detail_head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .detail_head {
    margin-bottom: 30px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .detail_head .en_label .en {
  color: #2F5BFF;
  font-size: clamp(2.8rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .detail_head .desc {
  font-weight: 500;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .sec_ttl {
  font-size: clamp(2.6rem, 3.1vw, 3.4rem);
  font-weight: 700;
  margin-bottom: 30px;
  padding-left: 30px;
  position: relative;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .sec_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  transform: translateY(-50%);
  width: 20px;
  height: 2px;
  background-color: #2F5BFF;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 1px solid #D9D9D9;
  transform: translateY(-0.5px);
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row::before {
    display: none;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 1px solid #D9D9D9;
  transform: translateX(-0.5px);
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row::after {
    display: none;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item {
  padding: 20px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item {
    padding: 0 0 20px;
    border-bottom: 1px solid #D9D9D9;
  }
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item .en {
  color: #2F5BFF;
  font-size: 1.4rem;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item h4 {
  color: #2F5BFF;
  font-size: clamp(2.4rem, 2.8vw, 2.8rem);
  margin-bottom: 30px;
}
@media screen and (max-width: 999px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item h4 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item h4 {
    margin-bottom: 10px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item .case_name {
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  font-weight: 500;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item dl {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 6px;
  margin-top: 10px;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item dl:last-child {
  margin-bottom: 0;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item dl dt {
  border: 1px solid #2F5BFF;
  color: #2F5BFF;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .cases_row .case_item dl dd {
  font-size: 1.4rem;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list {
  display: grid;
  gap: 20px;
  max-width: 1020px;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  display: grid;
  grid-template-columns: clamp(205px, 23.33vw, 280px) 1fr;
  gap: clamp(30px, 4vw, 50px);
  align-items: center;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_head {
  color: #2F5BFF;
  width: 100%;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_head .en {
  font-size: 1.4rem;
  line-height: 1.3;
  color: #2F5BFF;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_head h4 {
  font-size: clamp(2.4rem, 2.8vw, 2.8rem);
  font-weight: 700;
  line-height: 1.35;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body {
  border-left: 1px solid #D9D9D9;
  padding-left: clamp(30px, 4vw, 50px);
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body {
    border-left: 0;
    border-top: 1px solid #D9D9D9;
    padding-left: 0;
    padding-top: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body .skill_row {
  margin-bottom: 15px;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body .skill_row:last-child {
  margin-bottom: 0;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body .skill_row .skill_label {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 2px;
  position: relative;
  padding-left: 16px;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body .skill_row .skill_label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  background: linear-gradient(49deg, #3FC8FF 0%, #4FB6FF 20%, #5C8BFF 40%, #5E6AF0 60%, #3F56D8 80%, #214EC7 100%);
  border-radius: 1px;
}
#services_business .wrap_services_business .business_list .business_card .detail_box .skill_list .skill_card .skill_body .skill_row .txt {
  font-size: 1.6rem;
}
#services_business .wrap_services_business .business_list .business_card .strategy_row {
  background: #EDF3FD;
  border-radius: 15px;
  padding: 50px 40px;
  display: flex;
  flex-direction: row;
  gap: clamp(30px, 4vw, 50px);
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .strategy_row {
    flex-direction: column;
    gap: 20px;
    padding: 30px;
  }
}
@media screen and (max-width: 449px) {
  #services_business .wrap_services_business .business_list .business_card .strategy_row {
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_img {
  flex: 0 0 271px;
  border-radius: 7px;
  overflow: hidden;
  box-shadow: inset 0 4px 3px rgba(0, 0, 0, 0.03);
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_img img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 271/221;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_img {
    flex: 0 0 auto;
    width: 100%;
  }
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_txt {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_txt .en_label .en {
  color: #2F5BFF;
  font-size: clamp(2.8rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_txt .lead {
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .strategy_row .strategy_txt .txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box {
    gap: 30px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel {
  background: #fff;
  border-radius: 15px;
  padding: 50px 40px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel {
    padding: 30px;
  }
}
@media screen and (max-width: 449px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel {
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .panel_head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .panel_head {
    margin-bottom: 30px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .panel_head .ttl {
  color: #2F5BFF;
  font-size: clamp(2.8rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .panel_head .desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .sec_ttl {
  font-size: clamp(2.6rem, 3.1vw, 3.4rem);
  font-weight: 700;
  margin-bottom: 30px;
  padding-left: 30px;
  position: relative;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .sec_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  transform: translateY(-50%);
  width: 20px;
  height: 2px;
  background-color: #2F5BFF;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box {
  background: #EDF3FD;
  border-radius: 15px;
  padding: 30px;
  display: grid;
  grid-template-columns: clamp(205px, 23.33vw, 280px) 1fr;
  gap: clamp(30px, 4vw, 50px);
  align-items: center;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box .concept_ttl {
  color: #2F5BFF;
  font-size: clamp(2.4rem, 2.8vw, 2.8rem);
  font-weight: 700;
  line-height: 1.35;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box .concept_body {
  border-left: 1px solid #D9D9D9;
  padding-left: clamp(30px, 4vw, 50px);
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box .concept_body {
    border-left: 0;
    border-top: 1px solid #D9D9D9;
    padding-left: 0;
    padding-top: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box .concept_body .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .concept_box .concept_body .txt .accent {
  color: #2F5BFF;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box {
  display: flex;
  flex-direction: row;
  gap: 50px;
  background: #EDF3FD;
  padding: 30px 30px 30px 40px;
  border-radius: 15px;
}
@media screen and (max-width: 999px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_visual {
  flex: 0 0 auto;
  width: min(359px, 100%);
}
@media screen and (max-width: 999px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_visual {
    max-width: 320px;
    margin-inline: auto;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_visual img {
  display: block;
  width: 100%;
  height: auto;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body {
    align-items: stretch;
    gap: 30px;
    width: 100%;
  }
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content .product_ttl {
  font-size: clamp(2.4rem, 2.8vw, 2.8rem);
  font-weight: 700;
  line-height: 1.8;
  color: #2F5BFF;
  letter-spacing: 0.03em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content .product_blocks {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content .product_blocks .product_block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content .product_blocks .product_block .lead {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_content .product_blocks .product_block .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_btn {
  max-width: 252px;
  line-height: 1.2;
}
@media screen and (min-width: 360px) {
  #services_business .wrap_services_business .business_list .business_card .integration_box .panel .product_box .product_body .product_btn br {
    display: none;
  }
}
#services_business .wrap_services_business .business_list .business_card .support_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card {
  background: #EDF3FD;
  border-radius: 15px;
  padding: 50px 40px;
  display: flex;
  flex-direction: row;
  gap: clamp(30px, 4vw, 50px);
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .support_list .support_card {
    flex-direction: column;
    gap: 20px;
    padding: 30px;
  }
}
@media screen and (max-width: 449px) {
  #services_business .wrap_services_business .business_list .business_card .support_list .support_card {
    padding: 20px;
  }
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_img {
  flex: 0 0 271px;
  border-radius: 7px;
  overflow: hidden;
  box-shadow: inset 0 4px 3px rgba(0, 0, 0, 0.03);
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_img img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 271/160;
}
@media screen and (max-width: 768px) {
  #services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_img {
    flex: 0 0 auto;
    width: 100%;
  }
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_txt {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_txt .ttl {
  color: #2F5BFF;
  font-size: clamp(2.4rem, 3.2vw, 3.2rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
#services_business .wrap_services_business .business_list .business_card .support_list .support_card .support_txt .txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

#it-solution, #future-innovation {
  scroll-margin-top: 80px;
}/*# sourceMappingURL=services.css.map */