@charset "UTF-8";
main h3 {
  font-family: "Sawarabi Gothic", "Meiryo UI", "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", roboto, sans-serif;
  font-weight: 700;
  line-height: 1.2em; }

/*--------------------------------------------------- */
/* description */
/*--------------------------------------------------- */
.description {
  margin-top: 90px; }
  .description .flex {
    justify-content: space-between; }
  .description .flex2 {
    width: calc(50% - 30px); }
  .description h3 {
    font-size: 28px;
    font-size: 2.8rem;
    margin-bottom: 16px; }
  .description p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8em; }
  .description img {
    max-width: 480px;
    height: 330px;
    object-fit: cover;
    margin-left: auto; }

/*--------------------------------------------------- */
/* works */
/*--------------------------------------------------- */
.works {
  margin-top: 90px; }
  .works h3 {
    margin-bottom: 60px;
    font-size: 36px;
    font-size: 3.6rem;
    text-align: center;
    color: #444444; }
  .works .flex {
    flex-wrap: wrap;
    justify-content: space-between; }
  .works .flex6 {
    width: calc(33.33333333% - 40px);
    margin-bottom: 60px; }
  .works h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2em;
    border-bottom: 1px solid #DDDDDD;
    padding-bottom: 10px;
    margin: 14px 0 14px; }
  .works p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4em; }
  .works img {
    height: 220px;
    object-fit: cover; }
  @media (max-width: 1060px) {
    .works .mbInvi {
      display: none; } }

/*--------------------------------------------------- */
/* flow */
/*--------------------------------------------------- */
.flow {
  margin-top: 90px; }
  .flow h3 {
    font-size: 36px;
    font-size: 3.6rem;
    margin-bottom: 60px;
    text-align: center;
    color: #444444; }
  .flow h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.2em;
    margin: 16px 0 24px; }
  .flow p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8em; }
  .flow .flex {
    flex-wrap: wrap;
    justify-content: space-between; }
  .flow .flex2 {
    position: relative; }
    .flow .flex2:nth-child(odd) {
      width: 65px;
      /* style */ }
    .flow .flex2:nth-child(even) {
      width: calc(100% - 100px); }
  .flow .flowLine {
    border-left: 4px solid #666666;
    width: 4px;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto; }
  .flow .flexIn {
    display: flex;
    justify-content: space-between;
    margin-bottom: 90px; }
  .flow .flexIn2 {
    width: calc(50% - 35px); }
    .flow .flexIn2 img {
      height: 285px;
      object-fit: cover; }

/*--------------------------------------------------- */
/* レスポンシブ */
/*--------------------------------------------------- */
@media (max-width: 768px) {
  /*--------------------------------------------------- */
  /* description */
  /*--------------------------------------------------- */
  .description {
    margin-top: 90px; }
    .description .flex {
      justify-content: space-between;
      flex-direction: column; }
    .description .flex2 {
      width: 100%; }
    .description h3 {
      margin-bottom: 16px; }
    .description p {
      margin-bottom: 30px; }
    .description img {
      max-width: initial; } }

@media (max-width: 768px) and (max-width: 480px) {
  .description {
    margin-top: 60px; }
    .description .flex {
      justify-content: space-between;
      flex-direction: column; }
    .description .flex2 {
      width: 100%; }
    .description h3 {
      margin-bottom: 16px;
      font-size: 20px;
      font-size: 2rem; }
    .description p {
      margin-bottom: 30px; }
    .description img {
      height: 200px; } }

@media (max-width: 768px) {
  /*--------------------------------------------------- */
  /* works */
  /*--------------------------------------------------- */
  .works {
    margin-top: 90px; }
    .works h3 {
      margin-bottom: 40px; }
    .works .flex {
      flex-wrap: wrap; }
    .works .flex6 {
      width: calc(50% - 20px);
      margin-bottom: 40px; }
    .works img {
      height: 200px; } }

@media (max-width: 768px) and (max-width: 480px) {
  .works {
    margin-top: 90px; }
    .works h3 {
      margin-bottom: 40px;
      font-size: 28px;
      font-size: 2.8rem; }
    .works .flex6 {
      width: 100%;
      margin-bottom: 40px; }
    .works h4 {
      padding-bottom: 16px;
      margin: 20px 0 20px; } }

@media (max-width: 768px) {
  /*--------------------------------------------------- */
  /* flow */
  /*--------------------------------------------------- */
  .flow {
    margin-top: 90px; }
    .flow h3 {
      margin-bottom: 40px; }
    .flow h4 {
      margin-top: 6px; }
    .flow p {
      margin-bottom: 24px; }
    .flow .flexIn {
      flex-direction: column; }
    .flow .flexIn2 {
      width: 100%; }
      .flow .flexIn2 img {
        height: 285px;
        object-fit: cover; } }

@media (max-width: 768px) and (max-width: 480px) {
  .flow {
    margin-top: 90px; }
    .flow h3 {
      font-size: 28px;
      font-size: 2.8rem;
      margin-bottom: 40px; }
    .flow h4 {
      font-size: 22px;
      font-size: 2.2rem;
      margin: 3px 0 22px; }
    .flow .flex2:nth-child(odd) {
      width: 35px;
      /* style */ }
    .flow .flex2:nth-child(even) {
      width: calc(100% - 50px); }
    .flow .flex2 .flowLine {
      border-left: 2px solid #666666; }
    .flow .flexIn {
      margin-bottom: 80px; }
    .flow .flexIn2 img {
      height: 180px; } }
