@charset "UTF-8";

/* ==== color ========================== */
:root {
  --color-black: #333;
  --color-white: #fff;
  --color-primary-b: #5C78D4;
  --color-primary-l-b: #D0D8F3;
  --color-primary-p: #3F3277;
  --color-bg-p: #F8F8FC;
  --color-gray: #CCCDD1;

  --noto: "Noto Sans JP", sans-serif;
  --inter: "Inter", sans-serif;


  --fs18: 1.8rem;
  --fs20: 2rem;
  --fs24: 2.4rem;
  --fs32: 3.2rem;

  --al04s: all .4s;
}

@media screen and (max-width:767px) {
  :root {
    --fs32: 2.4rem;
    --fs24: 1.8rem;
    --fs20: 1.4rem;
    --fs18: 1.2rem;
  }
}


.bg-section {
  background: var(--color-bg-p);
}


/* section:nth-of-type(4),
section:nth-of-type(6),
section:nth-of-type(8),
section:nth-of-type(10) {
  background: var(--color-bg-p);
} */



section#sec_topics {
  background: var(--color-white);
}

main #sec_topics {
  padding-top: 8rem;
}

main:has(#flow) #sec_topics {
  padding-top: 0;
}

@media screen and (max-width:767px) {
  main #sec_topics {
    padding-top: 4rem;
  }

  main:has(#flow) #sec_topics {
    padding-top: 0;
  }
}

/*================================================
 * subVisual
================================================*/
#subVisual.business h2 .en {
  font-family: var(--noto);
  font-size: var(--fs32);
  color: var(--color-primary-p);
  margin-top: 0.5rem;
  font-weight: 500;
}

@media screen and (max-width:767px) {}

/*================================================
 * bizIntro
================================================*/
#bizIntro p {
  margin-top: 3rem;
}

@media screen and (max-width:767px) {}

/*================================================
 * assignment
================================================*/
.assignment_inner {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-wrap: wrap;
  gap: 5%;
}

.assignment_img {
  width: 20%;
}

.assignment_txt {
  width: 75%;
  padding-left: 1rem;
}

.assignment_txt>li:not(:last-child) {
  margin-bottom: 3rem;
}

.assignment_txt h3 {
  color: var(--color-primary-p);
  position: relative;
  font-size: var(--fs20);
}

.assignment_txt h3::before {
  position: absolute;
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/business/icon_check.png);
  width: 1em;
  height: 0.95em;
  top: 0.4em;
  left: -1.6em;
}


@media screen and (max-width:767px) {
  .assignment_img {
    width: 50%;
    margin-bottom: 4rem;
  }

  .assignment_txt {
    width: 90%;
    padding-left: 0;
    margin-left: auto;
  }
}

/*================================================
 * detail
================================================*/
#detail {
  background: var(--color-bg-p);
}

@media screen and (max-width:767px) {}

/*================================================
 * features
================================================*/

.f_clm02 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 5%;
}

.f_clm02:not(:last-of-type) {
  margin-bottom: 4rem;
}

.f_clm02:nth-of-type(odd) {
  flex-direction: row-reverse;
}

.f_clm-img {
  width: 30%;
}

.f_clm-txt {
  width: 65%;
}

.f_clm-txt .c-line_hd {
  position: relative;
  padding-bottom: 1em;
  z-index: 1;
  color: var(--color-primary-p);
  margin-bottom: 1em;
}

.f_clm-txt .c-line_hd span {
  position: absolute;
  font-family: var(--inter);
  color: var(--color-primary-l-b);
  opacity: .25;
  left: 0;
  top: 30%;
  transform: translateY(-50%);
  font-size: 8.8rem;
  font-weight: 700;
  z-index: -1;
}

@media screen and (max-width:767px) {
  .f_clm-txt .c-line_hd span {
    font-size: 6rem;
  }

  .f_clm02 {
    gap: 3rem;
  }

  .f_clm02:not(:last-of-type) {
    margin-bottom: 2rem;
  }

  .f_clm-img {
    width: 80%;
  }

  .f_clm-txt {
    width: 100%;
  }
}

/*================================================
 * flow
================================================*/
.flow_list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.flow_list dt {
  width: 370px;
  font-size: var(--fs18);
  position: relative;
  font-weight: 500;
  color: var(--color-primary-p);
  display: flex;
  align-items: center;
  gap: 1em;
  padding-bottom: 8rem;
  padding-right: 6rem;
}

.flow_list dt span {
  font-family: var(--inter);
  font-size: 2.6rem;
  font-weight: 700;
  white-space: nowrap;
}


.flow_list dd {
  width: calc(100% - 370px);
  padding-bottom: 8rem;
  position: relative;
}

.flow_list dd::before,
.flow_list dd::after {
  position: absolute;
  content: "";
}

.flow_list dd:not(:last-of-type):before {
  width: 1px;
  top: 1.5rem;
  bottom: -1.5rem;
  left: -2.5rem;
  background: var(--color-gray);
}

.flow_list dd::after {
  width: 11px;
  height: 11px;
  border-radius: 100000px;
  background: var(--color-primary-b);
  left: -3rem;
  top: 0.5rem;
}

@media screen and (max-width:767px) {
  .flow_list dt {
    width: 100%;
    padding-bottom: 1rem;
    padding-left: 2rem;
    padding-right: 0;
  }

  .flow_list dt span {
    font-size: 2rem;
  }

  .flow_list dd {
    width: 100%;
    padding-left: 2rem;
    padding-bottom: 4rem;
  }

  .flow_list dd:not(:last-of-type):before {
    top: -3.2rem;
    bottom: -2rem;
    right: auto;
    left: 5px;
  }

  .flow_list dd::after {
    right: auto;
    top: -3.2rem;
    left: 0;
  }
}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}


/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
 * 
================================================*/


@media screen and (max-width:767px) {}