@charset "UTF-8";
/* CSS Document */

section {
  margin-bottom: 0;
}.breadcrumb {
  margin: 95px 0 5px;
}@media screen and (max-width: 768px) {
  .breadcrumb {
    margin: 85px 0 5px;
  }}@media screen and (max-width: 500px) {
  .breadcrumb {
    margin: 70px 0 5px;
  }}/* =========================
  ai-mv
========================= */

.ai-mv {
  margin-bottom: 0;
  height: 770px;
  background: url("../img/ai/ai-mv.webp") no-repeat center center / cover;
  display: flex;
  align-items: center;
}.ai-mv__inner.section-inner {
  width: 100%;
}.ai-mv__img-sp {
  display: none;
}.ai-mv__content {
  color: #274870;
}.ai-mv__ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .ai-mv {
    display: block;
    height: auto;
    background: none;
  }  .ai-mv__inner.section-inner {
    padding: 0;
  }  .ai-mv__img-sp {
    display: block;
  }  .ai-mv__img-sp img {
    width: 100%;
    height: auto;
  }  .ai-mv__content {
    padding: 40px 4% 50px;
    background: #bdd6e4;
  }  .ai-mv__ttl {
    margin-bottom: 20px;
  }}
@media screen and (max-width: 500px) {
  .ai-mv__content {
    padding: 35px 6% 45px;
  }}
/* =========================
  top-ai
========================= */

.top-ai {
  
}.top-ai__wrap {
  display: flex;
  align-items: stretch;
}.top-ai__txt-area {
  width: 740px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 60px 50px 60px 0;
  position: relative;
  z-index: 1;
}
.top-ai__txt-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/ai/top-ai-bg.webp) no-repeat;
  background-size: cover;
  z-index: -1;
}.top-ai__txt-box {
  width: 100%;
}.top-ai__ttl {
  margin-bottom: 30px;
}.top-ai__img {
  width: calc(100vw - ((100vw - 1200px) / 2) - 740px);
  margin-right: calc(50% - 50vw);
  flex-shrink: 0;
}.top-ai__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1200px) {
  .top-ai__txt-area {
    width: 60%;
    padding: 60px 40px 60px 0;
  }  .top-ai__img {
    width: 40%;
    margin-right: 0;
  }}
@media screen and (max-width: 768px) {
  .top-ai__wrap {
    display: block;
  }  .top-ai__txt-area {
    width: 100%;
    padding: 40px 4%;
    margin: 0 auto;
  }  .top-ai__ttl {
    margin-bottom: 20px;
  }  .top-ai__img {
    width: 100%;
    margin-right: 0;
  }}
/* =========================
  ai-issue
========================= */

.ai-issue {
  padding: 80px 0 40px;
  
  background: #f7f8fa;
}.ai-issue__ttl-wrap {
  text-align: center;
}.ai-issue__ttl {
  margin-bottom: 20px;
}.ai-issue__list {
  display: flex;
  gap: 20px;
  margin-top: 40px;
}.ai-issue__item {
  width: calc((100% - 40px) / 3);
}.ai-issue__card {
  height: 100%;
  padding: 30px 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
  align-items: center;
}.ai-issue__icon {
  margin-bottom: 20px;
  height: 108px;
  display: flex;
  align-items: center; 
  justify-content: center;
}.ai-issue__icon img {
  height: auto;
}.ai-issue__icon1 {
  max-width: 90px;
}.ai-issue__icon2 {
  max-width: 84px;
}.ai-issue__icon3 {
  max-width: 88px;
}.ai-issue__item-ttl {
  margin-bottom: 15px;
  color: #274870;
  font-weight: 700;
}.ai-issue__item-txt {
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .ai-issue__ttl {
    margin-bottom: 15px;
  }  .ai-issue__list {
    display: block;
    margin-top: 30px;
  }  .ai-issue__card {
    padding: 20px;
  }  .ai-issue__item {
    width: 100%;
  }  .ai-issue__item + .ai-issue__item {
    margin-top: 20px;
  }}
/* =========================
  ai-solve
========================= */

.ai-solve {
  padding-bottom: 80px;
  
  background: #f7f8fa;
}.ai-solve__ttl-wrap {
  text-align: center;
}.ai-solve__ttl-wrap {
  position: relative;
  text-align: center;
  padding-top: 60px; /* 三角分の余白 */
}
.ai-solve__ttl-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 38px solid transparent;
  border-right: 38px solid transparent;
  border-top: 33px solid #00bce3;
}.ai-solve__list {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}.ai-solve__item {
  width: calc((100% - 80px) / 3);
  display: flex;
  flex-direction: column;
  align-items: center;
}.ai-solve__img {
  margin-bottom: 20px;
  height: 220px;
  display: flex;
  align-items: center;     /* ← 縦中央 */
  justify-content: center;
}.ai-solve__img img {
  height: auto;
}.ai-solve__img1 {
  max-width: 278px;
}.ai-solve__img2 {
  max-width: 290px;
}.ai-solve__img3 {
  max-width: 237px;
}.ai-solve__item-ttl {
  margin-bottom: 15px;
  text-align: center;
  color: #274870;
  font-weight: 700;
}.ai-solve__item-txt {
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .ai-solve__list {
    display: block;
    margin-top: 30px;
  }  .ai-solve__item {
    width: 100%;
  }  .ai-solve__item + .ai-solve__item {
    margin-top: 40px;
  }}
/* =========================
  ai-fm
========================= */

.ai-fm { 
  padding: 80px 0;
  background: url(../img/ai/ai-fm-bg.webp);
  background-repeat: no-repeat;
}.ai-fm__ttl-wrap {
  text-align: center;
}.ai-fm__ttl {
  margin-bottom: 20px;
}.ai-fm__list {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}.ai-fm__item {
  width: calc((100% - 60px) / 3);
  display: flex;
  flex-direction: column;
}.ai-fm__img {
  margin-bottom: 20px;
}.ai-fm__txt-area {
  display: flex;
  flex-direction: column;
  flex: 1;
}.ai-fm__item-ttl {
  margin-bottom: 15px;
  text-align: center;
  color: #274870;
  font-weight: 700;
}.ai-fm__item-txt {
  flex: 1;
  line-height: 1.7;
}.ai-fm__point-list {
  margin-top: 20px;
}.ai-fm__point-item {
  position: relative;
  padding-left: 24px;
  line-height: 1.7;
}.ai-fm__point-item::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 14px;
  height: 14px;
  background: url("../img/ai/icon-check.svg") no-repeat center center / contain;
}.ai-fm__point-item + .ai-fm__point-item {
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .ai-fm {
     margin-bottom: 15px;
  }  .ai-fm__list {
    display: block;
    margin-top: 30px;
  }  .ai-fm__item {
    width: 100%;
  }  .ai-fm__item + .ai-fm__item {
    margin-top: 40px;
  }}
