/* -------------------------------------------------- */
/* headimage */

.flow-headimage {
  background-image: url(../images/flow/flow-headimage.webp);
}
.faq-headimage {
  background-image: url(../images/flow/faq-headimage.webp);
}
.document-headimage {
  background-image: url(../images/flow/document-headimage.webp);
}

/* -------------------------------------------------- */
/* flow */

.flow {
  padding-top: 0;
}
.flow .title {
  line-height: 1;
  position: static;
  text-align: center;
  width: 100%;
}
.flow h2.global {
  margin-bottom: 40px;
}
.flow p {
  line-height: 1.8;
  margin-bottom: 60px;
}
.flow-title {
  border-bottom: 1px solid #707070;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 30px;
  padding: .5em 0;
}
.flow-content ul {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: auto;
  width: 996px;
}
.flow-content ul li {
  border: 1px solid #ccc;
  height: 273px;
  margin-bottom: 60px;
  padding: 60px 40px 0 180px;
  position: relative;
  width: 946px;
}
.flow-content ul li::after {
  background: url(../images/flow/flow-arrow.webp) no-repeat 0 0 / 16px 16px;
  bottom: -38px;
  content: '';
  display: block;
  height: 16px;
  left: calc(50% - 8px);
  position: absolute;
  width: 16px;
}
.flow-content ul li:last-of-type::after {
  display: none;
}
.flow-image {
  height: 190px;
  left: -50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 190px;
}
.flow-image img {
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,.16);
}
.flow-head {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  justify-content: flex-start;
}
.flow-head span {
  background: var(--main-color2);
  border-radius: 9999px;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 1px;
  margin-right: 20px;
  padding: .5em;
  text-align: center;
  width: 120px;
}
.flow-text p {
  color: var(--main-color2);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0;
}
.flow-content p.flow-note {
  padding-right: 40px;
  position: absolute;
  left: 180px;
  margin-bottom: 0;
  top: 160px;
}
.flow-button {
  bottom: 18px;
  position: absolute;
  right: 65px;
}
.flow-button a {
  background: #fff700 url(../images/arrow-right-blue.webp) no-repeat center right 20px / 6.5px 9.5px;
  border: 2px solid var(--main-color2);
  border-radius: 9999px;
  color: var(--main-color2);
  display: block;
  font-size: 2rem;
  font-weight: 700;
  padding: .5em 2.75em;
  transition: background-color .2s;
}
.flow-button a:hover {
    background-color: var(--hover-color);
}

/* -------------------------------------------------- */
/* faq */

.faq {
  padding-top: 0;
}
.faq .wrapper {
  background: url(../images/flow/faq-bg.webp) no-repeat top 25px right 10px / 324px 337px;
}
.faq .title {
  line-height: 1;
  position: static;
  text-align: center;
  transform: none;
  width: 100%;
}
.faq h2.global {
  margin-bottom: 40px;
}
.faq p {
  margin-bottom: 60px;
}
.faq-content {
  margin-bottom: 40px;
}

/* -------------------------------------------------- */
/* document */

.document {
  padding-top: 0;
}
.document .title {
  line-height: 1;
  position: static;
  text-align: center;
  width: 100%;
}
.document h2.global {
  margin-bottom: 40px;
}
.document p {
  line-height: 1.8;
  margin-bottom: 60px;
  text-align: center;
}
.document-title {
  border-bottom: 1px solid #707070;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 30px;
  padding: .5em 0;
}
.document-content {
  margin-bottom: 100px;
}
.document-content:last-of-type {
  margin-bottom: 20px;
}
.document-content p {
  margin-bottom: 24px;
  padding-left: 20px;
  text-align: left;
}
.document-content p em {
  color: var(--main-color2);
}
.document-content p.document-text {
  text-align: center;
}
.document-button {
  margin-bottom: 30px;
}
.document-button a {
  background: var(--main-color2) url(../images/flow/document-button.webp) no-repeat center right 30px / 30px 26px;
  border: 1px solid #707070;
  color: #fff;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  padding: .65em;
  text-align: center;
  transition: background .2s;
  width: 100%;
}
.document-download {
  margin-bottom: 0;
  margin-top: 60px;
}
.document-download a {
  background-color: var(--text-color1);
}
.document-button a:hover {
  background-color: #707070;
}
.document-image {
  text-align: center;
}
.document-image img:nth-child(1) {
  margin-bottom: 40px;
}
.document-bg {
  position: relative;
}
.document-bg::after {
  background: url(../images/flow/document-bg.webp) no-repeat 0 0 / 434px 470px;
  content: '';
  display: block;
  height: 470px;
  position: absolute;
  right: 55px;
  top: -75px;
  width: 434px;
}
