@charset "utf-8";

/* =======================================
  #organizations / .mainTitle
======================================= */
.mainTitle {
  background: url("../img/organizations_mv_img.png") no-repeat center center;
  background-size: cover;
}


/* =======================================
  #solution
======================================= */
#solution {
  padding-bottom: 0;
}

#solution .inner {
  padding-bottom: 0;
}

#solution .sectionHead {
  padding-top: 0;
}


/* =======================================
  .solutionItem
======================================= */
.solutionItem {
  padding-top: 100px;
  padding-bottom: 100px;
  border-bottom: 1px solid var(--bgray);
}

/* 最初のアイテムは上部padding不要 */
#education {
  padding-top: 0;
}

/* 最後のアイテムは区切り線なし */
.solutionItem:last-of-type {
  border-bottom: none;
}


/* -----------------------------------------------
  .solutionImg / .solutionLabel
----------------------------------------------- */
.solutionImg {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.solutionImg img {
  width: 100%;
  aspect-ratio: 1250 / 340;
  object-fit: cover;
  display: block;
}

.solutionLabel {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--wh);
  border-radius: 0 10px 10px 0;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  gap: .5em;
  font-size: var(--font-26);
  font-weight: 700;
  line-height: 1;
}

.solutionNum {
  color: var(--base);
}


/* -----------------------------------------------
  .solutionQuote
----------------------------------------------- */
.solutionQuote {
  font-size: var(--font-26);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: .6em;
  letter-spacing: .03em;
}

.solutionDesc {
  font-size: var(--font-base);
  margin-bottom: 2.5rem;
  line-height: 1.8;
}


/* -----------------------------------------------
  .featureCards / .featureCard
----------------------------------------------- */
.featureCards {
  gap: 1.5rem;
  flex-wrap: wrap;
}

.featureCard {
  background: var(--wh);
  border-radius: 10px;
  padding: 2rem 1.5rem;
}

.featureCard h4 {
  font-size: var(--font-24);
  font-weight: 700;
  text-align: center;
  margin-bottom: 1em;
}

.featureCard p {
  font-size: var(--font-14);
  line-height: 1.8;
}

@media screen and (min-width: 769px) {
  .featureCard {
    width: calc((100% - 3rem) / 3);
  }
}
/* =======================================
 #celemony
======================================= */
#celemony {
    padding-bottom: 0;
}
/* =======================================
  #flow
======================================= */
.flowList {
  gap: 1.5rem;
  flex-wrap: wrap;
  align-items: flex-start;
}

.flowItem {
  position: relative;
  background: #F2F2F2;
  border-radius: 10px;
  padding-bottom: 1.5rem;
}

.flowImg {
  position: relative;
  margin-bottom: 2rem;
}

.flowImg img {
  width: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px 10px 0 0;
}

.flowNum {
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--base);
  font-size: var(--font-40);
  font-weight: 900;
  line-height: 1;
  font-style: normal;
}

.flowTitle {
  font-size: var(--font-24);
  font-weight: 700;
  text-align: center;
  margin-bottom: .5em;
  padding: 0 1.25rem;
}

.flowItem > p {
  font-size: var(--font-14);
  line-height: 1.7;
  text-align: left;
  padding: 0 1.25rem;
}

@media screen and (min-width: 769px) {
  .flowItem {
    width: calc((100% - 4.5rem) / 4);
  }
}


/* =======================================
  #download
======================================= */
#download .inner {
  background: var(--RedOrangegrd);
  color: var(--wh);
  border-radius: 10px;
}
.downloadContent {
    align-items: center;
}
#download .downloadTxt {
  padding: 4rem 5rem;
}
 
#download .btnWrap {
  margin-top: 2rem;
}
 
#download .btnWrap li {
  margin-bottom: 1.2rem;
}
 
#download .btnWrap li a {
  width: 100% !important;
}

/* =======================================
  SP対応
======================================= */
@media screen and (max-width: 768px) {

  /* solutionItem */
  .solutionItem {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  #education {
    padding-top: 0;
  }

  /* solutionImg */
  .solutionImg {
    margin-bottom: 1.5rem;
  }

  .solutionImg img {
    aspect-ratio: 3 / 1;
  }

  /* solutionLabel */
  .solutionLabel {
    font-size: var(--font-20);
    padding: .6em 1em;
    gap: .4em;
  }

  /* solutionQuote / Desc */
  .solutionQuote {
    font-size: var(--font-22);
  }

  .solutionDesc {
    font-size: var(--font-14);
    margin-bottom: 1.5rem;
  }

  /* featureCards */
  .featureCards {
    gap: 1rem;
    margin-bottom: 0;
  }

  .featureCard {
    width: 100%;
    padding: 1.25rem 1rem;
     margin-bottom: 2rem;
  }
.featureCard:last-child {
    margin-bottom: 0;
}
  .featureCard h4 {
    font-size: var(--font-20);
    margin-bottom: .6em;
  }

  /* flow */

  .flowList {
    gap: 2rem 1rem;
  }

  .flowItem {
   margin-bottom: 2rem;
  }
.flowTitle {
    font-size: var(--font-20);
}

  /* download */

  #download .inner {
    border-radius: 10px;
    overflow: hidden;
  }
 
  #download .downloadContent {
    display: flex;
    flex-direction: column-reverse;
  }
 
  #download .downloadContent figure {
    width: 100%;
  }
 
  #download .downloadContent figure img {
    width: 100%;
    height: auto;
  }
 
  #download .downloadTxt {
    padding: 2rem 1.5rem;
  }
  #download .btnWrap li a {
    padding: 1rem 2.5rem 1rem 1rem;
}
}