@charset "UTF-8";
/*ブレイクポイント*/
#string_project .fv {
  width: 100%;
  max-width: 1200px;
  margin: 60px auto auto auto; }
  #string_project .fv figure {
    display: flex;
    flex-wrap: wrap; }
    #string_project .fv figure img {
      width: 50%;
      height: auto; }
    #string_project .fv figure figcaption {
      text-align: center;
      width: 100%; }
#string_project h1 {
  font-size: clamp(20px, 4vw, 28px); }
#string_project article {
  width: 100%;
  max-width: 800px; }
  #string_project article img {
    width: 100%;
    height: auto; }
  #string_project article h2 {
    margin-top: 60px; }
    @media screen and (max-width: 640px) {
      #string_project article h2 {
        width: 94%;
        margin: 30px auto 10px auto; } }
  #string_project article h2.center {
    display: flex;
    justify-content: center;
    gap: 10px; }
    @media screen and (max-width: 640px) {
      #string_project article h2.center {
        flex-wrap: wrap; } }
    #string_project article h2.center img {
      height: 40px;
      width: auto; }
  #string_project article p {
    line-height: 1.6; }
    #string_project article p img {
      margin: 10px 0 20px 0; }
  #string_project article .flex_2 {
    display: flex;
    gap: 10px;
    margin-bottom: 20px; }
  #string_project article .flex_3 {
    display: flex;
    justify-content: space-around;
    gap: 10px; }
  #string_project article .step {
    position: relative;
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 24px;
    margin-bottom: 20px; }
    @media screen and (max-width: 640px) {
      #string_project article .step {
        grid-template-columns: 20px 1fr;
        gap: 14px; } }
    #string_project article .step::before {
      content: "";
      position: absolute;
      left: 19px;
      top: 48px;
      bottom: -5px;
      width: 2px;
      background: #0d3975; }
    #string_project article .step:last-child .step__num::after {
      display: none; }
  #string_project article .step__num {
    position: relative;
    font-size: clamp(24px, 4vw, 32px);
    font-weight: bold;
    color: #0d3975;
    text-align: center; }
    @media screen and (max-width: 640px) {
      #string_project article .step__num {
        padding-left: 12px; } }
  #string_project article .step__content h3 {
    margin: 0 0 10px 0;
    height: 48px;
    display: flex;
    align-items: center; }
  #string_project article .step_end {
    position: relative;
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 24px;
    margin-bottom: 20px; }
    @media screen and (max-width: 640px) {
      #string_project article .step_end {
        grid-template-columns: 20px 1fr;
        gap: 14px; } }
