@charset "utf-8";

/* space */
.space {
  height: 2vh;
}

/* ///////////////////////////////// */
/* mobile design */
@media (max-width: 919px) {
  /* //////////////////////////// */
  /* service */
  .service_page {
    padding-top: 15vh;
  }

  .service_page section:nth-of-type(1) {
    padding-bottom: 10vh;
    padding-left: 10vw;
  }

  .service_page .service_title {
    font-size: 2rem;
    display: inline-block;
    padding-bottom: 5vh;
  }

  .service_page .service_article {
    width: 80vw;
    letter-spacing: 1px;
    line-height: 1.2rem;
  }

  .service_page .service_title.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page .service_title.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section {
    padding: 5vh 10vw;
  }

  .service_page section .section_title {
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 5vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_title.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_title.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section .section_title_02 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_title_02.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_title_02.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section .section_article {
    font-size: 1rem;
    letter-spacing: 1px;
    line-height: 1.2rem;
    margin-bottom: 5vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_article.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_article.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  /* //////////////////////////// */
  /* contact */

  .contact {
    background-color: #1d1d1f;
    padding-top: 10vh;
    padding-bottom: 10vh;
    transform: scale(1, 0);
    text-align: center;
  }

  .contact.show {
    transition: 0.3s 0.5s;
    transform: scale(1, 1);
  }

  .contact .container a {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
  }

  .contact .container a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: right top;
  }

  .contact p {
    color: #fff;
    font-size: 0.8rem;
    padding-top: 1rem;
  }
}

/* ///////////////////////////////// */
/* pc design */

@media (min-width: 920px) {
  /* //////////////////////////// */
  /* service */
  .service_page {
    padding-top: 25vh;
  }

  .service_page .service_title {
    font-size: 4vw;
    display: inline-block;
    padding-bottom: 5vh;
  }

  .service_page .service_article {
    width: 80vw;
    letter-spacing: 1px;
    line-height: 1.2rem;
    margin-bottom: 15vh;
  }

  .service_page .service_title.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page .service_title.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section {
    padding: 5vh 10vw;
  }

  .service_page section .section_title {
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 5vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_title.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_title.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section .section_title_02 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_title_02.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_title_02.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  .service_page section .section_article {
    font-size: 1rem;
    letter-spacing: 1px;
    line-height: 1.2rem;
    margin-bottom: 5vh;
    opacity: 0;
    transform: scale(1, 0);
  }

  .service_page section .section_article.show {
    opacity: 1;
    transform: scale(1, 1);
    transition: 0.5s 0.5s;
  }

  .service_page section .section_article.show::before {
    background-color: #b2c3d5;
    content: "";
    width: 80%;
    height: 100%;
    position: absolute;
    animation: section_animation 1.2s;
    transform: scale(0, 0);
    transform-origin: left;
  }

  /* //////////////////////////// */
  /* contact */

  .contact {
    background-color: #1d1d1f;
    padding-top: 10vh;
    padding-bottom: 10vh;
    transform: scale(1, 0);
    text-align: center;
  }

  .contact.show {
    transition: 0.3s 0.5s;
    transform: scale(1, 1);
  }

  .contact .container a {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
  }

  .contact .container a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.3s;
  }

  .contact .container a:hover::after {
    transform-origin: top left;
    transform: scale(1, 1);
  }

  .contact p {
    color: #fff;
    font-size: 0.8rem;
    padding-top: 1rem;
  }
}
