@charset "UTF-8";
.sec-flow {
  position: relative;
  width: 100%;
  overflow: hidden;
  font-feature-settings: normal;
  line-break: strict;
  padding: 91.856px 0 115.578px;
  background-color: #F3F3F3;
}
.flow-head { text-align: center; }
.flow-title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 48px;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--c-text);
}
.flow-title-sm { font-size: 40px; }
.flow-divider {
  display: block;
  width: 80px;
  height: 1px;
  margin: 30.344px auto 0;
  background-color: #666666;
}
.flow-lead {
  margin: 26.346px auto 0;
  max-width: calc(100% - 80px);
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--c-text);
}
.flow-sponly { display: none; }
.flow-list {
  width: min(1256px, calc(100% - 80px));
  margin: 84.498px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 380px));
  justify-content: center;
  column-gap: 58px;
  row-gap: 49.266px;
}
.flow-card {
  position: relative;
  display: flow-root;
  max-width: 380px;
  min-width: 0;
  min-height: 429.156px;
  background-color: #FFFFFF;
}
.flow-num {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 110.551px;
  height: 106px;
  background: url(../../assets/img/flow/corner-number.svg) no-repeat left top / 100% 100%;
}
.flow-num-t {
  position: absolute;
  left: 0;
  top: 18.6px;
  width: 68.4px;
  text-align: center;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 32px;
  line-height: 24px;
  letter-spacing: 0;
  color: #FFFFFF;
}
.flow-fig {
  margin-left: 5.263%;
  width: 89.474%;
  aspect-ratio: 340 / 230;
}
.flow-fig picture {
  display: block;
  width: 100%;
  height: 100%;
}
.flow-fig img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.flow-txt {
  margin-left: 7.895%;
  width: 84.211%;
}
.flow-hd {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 0;
  color: #1E2939;
}
.flow-rule {
  display: block;
  height: 1px;
  margin-top: 13.872px;
  background-color: #DDDDDD;
}
.flow-bd {
  margin: 15px 0 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0;
  color: var(--c-text);
}
.flow-card--1 .flow-fig,
.flow-card--2 .flow-fig,
.flow-card--3 .flow-fig { margin-top: 27.398px; }
.flow-card--4 .flow-fig,
.flow-card--5 .flow-fig,
.flow-card--6 .flow-fig { margin-top: 24.578px; }
.flow-card--1 .flow-txt,
.flow-card--2 .flow-txt,
.flow-card--3 .flow-txt { margin-top: 28.136px; }
.flow-card--4 .flow-txt,
.flow-card--5 .flow-txt,
.flow-card--6 .flow-txt { margin-top: 24.128px; }
.flow-arrow {
  position: absolute;
  left: calc(100% + 29px);
  width: 46.5218px;
  height: 21.75px;
  transform: translate(-50%, -50%) rotate(90deg);
  pointer-events: none;
}
.flow-card--1 .flow-arrow,
.flow-card--2 .flow-arrow { top: 231.015px; }
.flow-card--4 .flow-arrow,
.flow-card--5 .flow-arrow { top: 224.875px; }
.flow-card--3 .flow-arrow { display: none; }
.flow-stripe { display: none; }
@media (max-width: 1335px) {
  .flow-list { width: calc(100% - 80px); }
}
@media (max-width: 1099px) {
  .flow-list { grid-template-columns: repeat(2, minmax(0, 380px)); }
  .flow-arrow { display: none; }
}
@media (max-width: 767px) {
  .sec-flow {
    padding: 68.304px 0 99.192px;
  }
  .flow-pconly { display: none; }
  .flow-sponly { display: inline; }
  .flow-title    { font-size: 29px; }
  .flow-title-sm { font-size: 21px; }
  .flow-divider {
    width: 64px;
    margin-top: 20.787px;
  }
  .flow-lead {
    width: 342px;
    max-width: calc(100% - 24px);
    margin-top: 27.752px;
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.01em;
    text-align: justify;
  }
  .flow-list {
    width: 300px;
    max-width: calc(100% - 48px);
    margin-top: 45.357px;
    display: block;
  }
  .flow-card {
    max-width: none;
    min-height: 0;
  }
  .flow-card--1 { min-height: 302.354px; margin-bottom: 44.193px; }
  .flow-card--2 { min-height: 323.945px; margin-bottom: 54.110px; }
  .flow-card--3 { min-height: 331.969px; margin-bottom: 55.282px; }
  .flow-card--4 { min-height: 329.070px; margin-bottom: 50.023px; }
  .flow-card--5 { min-height: 302.354px; margin-bottom: 59.154px; }
  .flow-card--6 { min-height: 302.354px; }
  .flow-num {
    width: 77.886px;
    height: 74.68px;
  }
  .flow-num-t {
    top: 13.1px;
    width: 48px;
    font-size: 26px;
    line-height: 24px;
  }
  .flow-fig {
    width: 79.847%;
    aspect-ratio: 239.541 / 162.042;
  }
  .flow-card--1 .flow-fig { margin: 19.297px 0 0 9.999%; }
  .flow-card--2 .flow-fig { margin: 19.320px 0 0 10.487%; }
  .flow-card--3 .flow-fig { margin: 19.297px 0 0 10.487%; }
  .flow-card--4 .flow-fig { margin: 17.313px 0 0 10.487%; }
  .flow-card--5 .flow-fig { margin: 17.320px 0 0 10.077%; }
  .flow-card--6 .flow-fig { margin: 24.969px 0 0 10.487%; }
  .flow-txt { width: 75.15%; }
  .flow-card--1 .flow-txt { margin: 17.195px 0 0 12.345%; }
  .flow-card--2 .flow-txt { margin: 17.187px 0 0 12.833%; }
  .flow-card--3 .flow-txt { margin: 17.195px 0 0 12.833%; }
  .flow-card--4 .flow-txt { margin: 14.655px 0 0 12.745%; width: 75%; }
  .flow-card--5 .flow-txt { margin: 14.375px 0 0 12.423%; }
  .flow-card--6 .flow-txt { margin: 14.374px 0 0 12.833%; }
  .flow-hd { font-size: 20px; line-height: 24px; }
  .flow-rule { margin-top: 13.06px; }
  .flow-bd  { font-size: 16px; line-height: 2; }
  .flow-card--1 .flow-bd,
  .flow-card--2 .flow-bd,
  .flow-card--3 .flow-bd { margin-top: 3.752px; }
  .flow-card--4 .flow-bd,
  .flow-card--5 .flow-bd,
  .flow-card--6 .flow-bd { margin-top: 15px; }
  .flow-arrow {
    display: block;
    left: 50%;
    width: 34.641px;
    height: 16.196px;
    transform: translate(-50%, -50%) rotate(180deg);
  }
  .flow-card--1 .flow-arrow { top: calc(100% + 22.009px); }
  .flow-card--2 .flow-arrow { top: calc(100% + 29.754px); }
  .flow-card--3 .flow-arrow { display: block; top: calc(100% + 30.339px); }
  .flow-card--4 .flow-arrow { top: calc(100% + 25.081px); }
  .flow-card--5 .flow-arrow { top: calc(100% + 32.274px); }
  .flow-stripe {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 40px;
    background: url(../../assets/img/flow/bg-stripe.webp) repeat left top;
    background-size: 21px 21px;
    pointer-events: none;
  }
}
@media (max-width: 389px) {
  .flow-card { padding-bottom: 16px; }
}
