@charset "UTF-8";

.slide-up-fade {
  animation-name: slideUpFade;
  animation-duration: 0.1s;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
}

.bg_img {
  transform: scale(0.7);
  transition: transform 0.3s ease-out;
  filter: blur(4px);
  will-change: transform, filter;
}

@media (min-width: 768px) {

  .delay-1 { animation-delay: 0.15s; }
  .delay-2 { animation-delay: 0.3s; }
  .delay-3 { animation-delay: 0.45s; }
  .delay-4 { animation-delay: 0.6s; }

  @keyframes slideUpFade {
    0% {
      transform: translateY(100px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }


  .top {
    background: url(../img/top/bg_main.jpg) no-repeat top center;
    background-size: 100% auto;
  }
  .top .mv {
    position: relative;
    height: 61.1vw;
    margin: 0 auto 0vw;
  }
  .top .mv .img01 {
    position: absolute;
    width: 22vw;
    right: 0;
    top: 2.6vw;
    z-index: 5;
  }
  .top .mv .img02 {
    position: absolute;
    width: 36vw;
    right: 11.6vw;
    top: 0;
    z-index: 1;
  }
  .top .mv .img03 {
    width: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 5;
  }
  .top .mv h1 {
    position: relative;
    width: 100%;
    height: 28.4vw;
    margin: 0 auto 0;
    padding-top: 13.4vw;
    z-index: 2;
    text-transform: uppercase;
    overflow: hidden;
  }
  .top .hidetext{
    position: absolute;
    z-index: 1;
  }
  .top .aboutus {
    position: relative;
    width: 100%;
    margin: -4.4vw auto 4.7vw;
    background: url(../img/top/bg_aboutus.png) no-repeat top center;
    background-size: 100% 100%;
    padding: 0 0 7.6vw;
  }
  .top .aboutus .bg_img {
    position: absolute;
    width: 36.5vw;
    right: 2.7vw;
    top: 4.5vw;
  }
  .top .aboutus .inner {
    padding: 7.6vw 0 0;
    width: 75.6vw;
    margin: 0 0 0 12.8vw;
  }
  .top .aboutus .ttl_cell {
    margin: 0 0 6.25vw;
  }
  .top .aboutus .ttl_cell p {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    width: 18.1vw;
    height: 3.8vw;
    font-size: 2.08vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-2.98deg);
    margin: 0 0 0.7vw -1.0vw;
  }
  .top .aboutus .ttl_cell h2 {
    font-size: 8.88vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    margin: 0 0 0vw 4.5vw;
  }
  .top .aboutus .ttl_cell a {
    display: none;
  }
  /*
  .top .aboutus .ttl_cell a {
    position: relative;
    display: block;
    font-size: 1.11vw;
    color: #fff;
    margin: 0vw 0 0 4.5vw;
    padding: 0 0 0 1.0vw;
    line-height: 1;
  }
  .top .aboutus .ttl_cell a::after {
    display: block;
    position: absolute;
    content: "〉";
    left: 0;
    top: 0;
    transition: all 0.2s;
  }
  .top .aboutus .ttl_cell a:hover::after {
    left: -1.0vw;
  }
  */

  .top .aboutus ul {
    display: flex;
    justify-content: space-between;
  }
  .top .aboutus ul li {
    position: relative;
    width: 31.7%;
    height: 18.2vw;
    background: url(../img/top/aboutus_li_bg.png) no-repeat top center;
    background-size: 100% 100%;
  }
  .top .aboutus ul li .img {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .aboutus ul li:nth-child(1) .img {
    width: 12.7vw;
    top: -3.9vw;
  }
  .top .aboutus ul li:nth-child(2) .img {
    width: 9.0vw;
    top: -5.0vw;
  }
  .top .aboutus ul li:nth-child(3) .img {
    width: 11.5vw;
    top: -5.0vw;
  }
  .top .aboutus ul li a {
    color: #fff;
    height: 4.75vw;
    display: block;
    padding: 5.2vw 0 0;
    margin: 0 auto 1.0vw;
  }
  .top .aboutus ul li a .ttl {
    position: relative;
    display: block;
    /*
    width: 20.7vw;
    width: 19.7vw;
    */
    width: max-content;
    margin: 0 0 0.3vw 1.6vw;
    padding: 0 3.0vw 0 0;
    font-size: 1.38vw;
    font-weight: bold;
    line-height: 1.19;
  }
  .top .aboutus ul li a .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    top: 0;
    transition: all 0.2s;
  }
  .top .aboutus ul li a:hover .ttl::after {
    right: -1.0vw;
  }


  .top .aboutus ul li a .sub {
    display: block;
    width: 20.7vw;
    margin: 0 0 0 1.6vw;
    font-size: 0.90vw;
    font-weight: bold;
    line-height: 1.19;
  }
  .top .aboutus ul li p {
    display: block;
    width: 20.7vw;
    margin: 0 auto;
    color: #fff;
    line-height: 2.0;
    font-size: 1.04vw;
    font-weight: 500;
  }


  .top .works {
    position: relative;
    margin: 0 0 3.8vw;
  }
  .top .works::before {
    position: absolute;
    display: block;
    content: "";
    width: 81.3vw;
    height: 47.1vw;
    left: 0;
    top: -2.08vw;
    z-index: 0;
    background: url(../img/top/bg_works.png) no-repeat top center;
    background-size: 100% 100%;
  }
  .top .works .bg_img {
    position: absolute;
    width: 40.8vw;
    left: 0;
    top: 1.7vw;
    z-index: 1;
  }
  /*
  .top .works::after {
    position: absolute;
    display: block;
    content: "";
    width: 40.8vw;
    height: 39.9vw;
    left: 0;
    top: 1.7vw;
    z-index: 1;
    background: url(../img/top/bg_works_img.png) no-repeat top center;
    background-size: 100% 100%;
  }
  */
  .top .works .flcell {
    position: relative;
    z-index: 3;
    display: flex;
    margin-left: 14.375vw;
  }
  .top .works .flcell .fleft {
    width: 32vw;
    margin-top: 24vw;
    position: relative;
    z-index: 3;
  }
  .top .works .flcell .fleft .ttl_cell {
  }
  .top .works .flcell .fleft .ttl_cell p {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    width: 18.4vw;
    height: 3.8vw;
    font-size: 2.08vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-2.98deg);
    margin: 0 0 0.7vw -1.0vw;
  }
  .top .works .flcell .fleft .ttl_cell h2 {
    font-size: 8.88vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    margin: 0 0 0vw;
  }
  .top .works .flcell .fleft .ttl_cell a {
    display: none;
  }
  /*
  .top .works .flcell .fleft .ttl_cell a {
    position: relative;
    font-size: 1.11vw;
    color: #fff;
    margin: 0 0 0 0.5vw;
    padding: 0 0 0 1.0vw;
    line-height: 1;
  }
  .top .works .flcell .fleft .ttl_cell a::after {
    display: block;
    position: absolute;
    content: "〉";
    left: 0;
    top: 0.2vw;
    transition: all 0.2s;
  }
  .top .works .flcell .fleft .ttl_cell a:hover::after {
    left: -1.0vw;
  }
  */
  .top .works .flcell .fright {
    width: 44.6vw;
  }
  .top .works .flcell .fright .bd_wht {
    position: relative;
    border: 1px solid #fff;
    margin: 0 0 4.8vw;
    padding: 1.38vw 0 1.38vw;
  }
  .top .works .flcell .fright .bd_wht .ttl_blk {
    position: absolute;
    top: -3.5vw;
    left: -2.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    width: 11.1vw;
    height: 3.6vw;
    font-size: 1.11vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-4.00deg);
  }
  .top .works .flcell .fright ul {
    width: 39.2vw;
    margin-left: 4.25vw;
  }
  .top .works .flcell .fright ul li {
    margin: 0 0 0.7vw;
  }
  .top .works .flcell .fright ul li:last-child {
    margin: 0 0 0vw;
  }
  .top .works .flcell .fright ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  .top .works .flcell .fright ul li .img {
    width: 6.1vw;
  }
  .top .works .flcell .fright ul li .txt_cell {
    width: 32vw;
    color: #fff;
  }
  .top .works .flcell .fright ul li .txt_cell .ttl {
    position: relative;
    font-size: 1.38vw;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 0.7vw;
    width: max-content;
    padding-right: 2.0vw;
  }
  .top .works .flcell .fright ul li .txt_cell .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    bottom: 0;
    transition: all 0.2s;
  }
  .top .works .flcell .fright ul li a:hover .txt_cell .ttl::after {
    right: -1.0vw;
  }
  .top .works .flcell .fright ul li .txt_cell .txt {
    font-size: 1.04vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 0vw;
  }
  .top .works .flcell .fright .bnr {
    display: block;
    position: relative;
    width: 100%;
    /*
    height: 100%;
    */
  }
  .top .works .flcell .fright .bnr span.txt {
    position: absolute;
    top: -2.5vw;
    left: -2.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    width: 12.6vw;
    height: 3.6vw;
    font-size: 1.11vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-4.00deg);
  }
  .top .works .flcell .fright .bnr div.link_cell {
    position: absolute;
    display: block;
    bottom: 2.0vw;
    left: 2.0vw;
    width: 10.7vw;
    height: 2.5vw;
  }
  .top .works .flcell .fright .bnr div.link_cell .link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    width: 10.7vw;
    height: 2.5vw;
    font-size: 0.83vw;
    font-weight: bold;
    text-align: center;
    border: 2px solid #000;
  }
  .top .works .flcell .fright .bnr div.link_cell .link span {
    position: relative;
    z-index: 2;
  }
  .top .works .flcell .fright .bnr:hover div.link_cell .link {
    color: #000;
  }
  .top .works .flcell .fright .bnr div.link_cell .link::before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
  }
  .top .works .flcell .fright .bnr div.link_cell .link::after {
    display: block;
    position: absolute;
    content: "";
    width: 0.27vw;
    height: 0.83vw;
    right: 0.83vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/common/icon_footer_menu_wht.png) no-repeat center;
    background-size: 100% 100%;
    z-index: 2;
  }

  .top .works .flcell .fright .bnr:hover div.link_cell .link::before {
    transform: scaleX(1);
    transform-origin: left;
  }
  .top .works .flcell .fright .bnr:hover div.link_cell .link::after {
    background: url(../img/common/icon_footer_menu.png) no-repeat center;
    background-size: 100% 100%;
  }


  .top .team {
    position: relative;
    padding: 4.8vw 0 6.5vw;
    margin: 0 0 8.3vw;
  }
  .top .team:after {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/top/bg_team.png) no-repeat top center;
    background-size: 100% 100%;
    width: 81.25vw;
    height: 46.25vw;
    left: 10vw;
    bottom: 0;
    z-index: 0;
  }
  .top .team .ttl_cell {
    position: relative;
    margin: 0 auto 3.125vw;
    z-index: 2;
  }
  .top .team .ttl_cell p {
    position: absolute;
    width: 21.4vw;
    height: 3.8vw;
    background: #fff;
    border: 2px solid #000;
    transform: rotate(-2.98deg);
    line-height: 3.8vw;
    font-size: 2.08vw;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 27.7vw;
    top: -5.0vw;
  }
  .top .team .ttl_cell h2 {
    font-size: 8.95vw;
    text-align: center;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 1;
  }
  .top .team .ttl_cell a {
    position: relative;
    display: block;
    font-size: 0.97vw;
    font-weight: bold;
    text-align: center;
    color: #000;
    line-height: 1;
    margin: 0 auto;
    padding: 0 1.0vw 0 0;
    width: max-content;
  }
  .top .team .ttl_cell a::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    top: 0vw;
    transition: all 0.2s;
  }
  .top .team .ttl_cell a:hover::after {
    right: -1.0vw;
  }

  .top .team ul {
    position: relative;
    z-index: 2;
    display: flex;
    margin-left: 5.13vw;
  }
  .top .team ul li {
    width: 43.8vw;
  }
  .top .team ul li:last-child {
    width: 45.9vw;
    margin-left: 1.0vw;
  }
  .top .team ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .top .team ul li a img {
    transition: all 0.2s;
  }
  .top .team ul li a:hover img {
    opacity: 0.7;
  }
/*
  .top .team ul li a::after {
    display: block;
    position: absolute;
    content: "";
    bottom: 1.0vw;
    right: 3.26vw;
    width: 2.5vw;
    height: 2.5vw;
    background: url(../img/interview/icon_arrow.png) no-repeat center;
    background-size: 100% 100%;
    transition: all 0.2s;
  }
  .top .team ul li:last-child a::after {
    right: 5.5vw;
  }
  .top .team ul li a:hover::after {
    right: 1.43vw;
  }
  .top .team ul li:last-child a:hover::after {
    right: 4.5vw;
  }
*/

  .top .team ul li a .ttl {
    position: absolute;
    left: 3.26vw;
    top: 3.6vw;
    font-size: 1.94vw;
    font-weight: 800;
    line-height: 1.4;
    color: #FFFFFF;
    margin: 0;
  }
  .top .team ul li a .txt {
    position: absolute;
    left: 3.26vw;
    top: 14.2vw;
    font-size: 0.83vw;
    font-weight: bold;
    line-height: 1.4;
    color: #FFFFFF;
    margin: 0;
  }


  .top .info {
    position: relative;
    padding: 0 0 12.2vw;
  }
  .top .info:before {
    display: block;
    position: absolute;
    content: "";
    width: 37.9vw;
    height: 24.1vw;
    top: -5.13vw;
    left: 0;
    background: url(../img/top/bg_info_before.png) no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  }
  .top .info:after {
    display: block;
    position: absolute;
    content: "";
    width: 38.3vw;
    height: 30.4vw;
    bottom: 8.3vw;
    right: 0;
    background: url(../img/top/bg_info_after.png) no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  }
  .top .info .ttl_cell {
    position: relative;
    z-index: 3;
    margin: 0 0 2.7vw 11.6vw;
    color: #fff;
  }
  .top .info .ttl_cell h2 {
    font-size: 4.44vw;
    font-weight: bold;
    text-align: left;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 1;
    margin: 0 0 0.7vw;
  }
  .top .info .ttl_cell p {
    font-size: 1.66vw;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 0;
  }
  .top .info ul {
    position: relative;
    z-index: 3;
    width: 81.3vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 0 11.6vw;
  }
  .top .info ul li {
    width: 48.3%;
    height: 14.2vw;
    margin: 0 0 1.6vw;
    background: url(../img/top/bg_info.png) no-repeat center;
    background-size: 100% auto;
  }
  .top .info ul li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #139DE3;
  }
  .top .info ul li a .ttl {
    position: relative;
    padding: 3.4vw 2.4vw 0 5.2vw;
    font-size: 1.94vw;
    font-weight: bold;
    line-height: 1.7;
    margin: 0 0 0.7vw;
    /*
    width: 30.5vw;
    */
    width: max-content;
  }
  .top .info ul li a .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    bottom: 0;
    transition: all 0.2s;
  }
  .top .info ul li a:hover .ttl::after {
    right: -1.0vw;
  }
  .top .info ul li a .txt {
    padding: 0vw 0 0 5.2vw;
    font-size: 0.97vw;
    font-weight: bold;
    line-height: 2.0;
    margin: 0 0 0vw;
    width: 29.1vw;
  }

}

@media (max-width: 767px) {

  .delay-1 { animation-delay: 0.15s; }
  .delay-2 { animation-delay: 0.3s; }
  .delay-3 { animation-delay: 0.45s; }
  .delay-4 { animation-delay: 0.6s; }

  @keyframes slideUpFade {
    0% {
      transform: translateY(100px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .top {
    position: relative;
    background: url(../img/top/bg_main_sp01.jpg) no-repeat top center;
    background-size: 100% 689.2vw;
  }
  .top::after {
    position: absolute;
    display: block;
    content: "";
    top: 689.2vw;
    left: 0;
    background: url(../img/top/bg_main_sp02.jpg) no-repeat top center;
    background-size: 100% 100%;
    z-index: -1;
    width: 100%;
    height: 800vw
  }
  .top .mv {
    position: relative;
    height: 160vw;
    margin: 0 auto 0vw;
  }
  .top .mv .img01 {
    position: absolute;
    width: 33.6vw;
    right: 0;
    top: 19.7vw;
    z-index: 5;
  }
  .top .mv .img02 {
    position: absolute;
    /*
    width: 78.4vw;
    */
    width: 77.3vw;
    left: 0;
    /*
    top: 7.0vw;
    */
    top: 12.0vw;
    z-index: 1;
  }
  .top .mv .img03 {
    width: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 7;
  }
  .top .mv h1 {
    position: relative;
    /*
    width: 92.8vw;
    margin: 0 0 0 8.5vw;
    padding-top: 19.7vw;
    */
    width: 80.17vw;
    margin: 0 0 0 11.2vw;
    padding-top: 6.6vw;
    z-index: 6;
  }
  .top .aboutus {
    position: relative;
    width: 100%;
    margin: -5.3vw auto 64vw;
    background: url(../img/top/bg_aboutus_sp.png) no-repeat top center;
    background-size: 100% 100%;
    padding: 0 0 54.1vw;
  }
  .top .aboutus .bg_img {
    position: absolute;
    width: 76.4vw;
    right: 0vw;
    top: 17.8vw;
  }
  .top .aboutus .inner {
    width: 87.4vw;
    padding: 44vw 0 0;
    margin: 0 0 0 5.0vw;
  }
  .top .aboutus .ttl_cell {
    margin: 0 0 24vw;
  }
  .top .aboutus .ttl_cell p {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    width: 41.8vw;
    height: 10.6vw;
    font-size: 4.8vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-2.98deg);
    margin: 0 0 2.7vw -2.0vw;
  }
  .top .aboutus .ttl_cell h2 {
    font-size: 20.5vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    margin: 0 0 0vw 1.5vw;
  }
  .top .aboutus .ttl_cell a {
    display: none;
    /*
    display: block;
    font-size: 1.11vw;
    color: #fff;
    margin: 0vw 0 0 4.5vw;
    line-height: 1;
    */
  }
  .top .aboutus ul {
    display: flex;
    flex-direction: column;
  }
  .top .aboutus ul li {
    position: relative;
    width: 100%;
    height: 59.7vw;
    background: url(../img/top/aboutus_li_bg_sp.png) no-repeat top center;
    background-size: 100% 100%;
    margin: 0 0 27.2vw
  }
  .top .aboutus ul li:last-child {
    margin: 0 0 0vw
  }
  .top .aboutus ul li .img {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .aboutus ul li:nth-child(1) .img {
    width: 46.6vw;
    top: -13.3vw;
  }
  .top .aboutus ul li:nth-child(2) .img {
    width: 32.8vw;
    top: -18.6vw;
  }
  .top .aboutus ul li:nth-child(3) .img {
    width: 42.1vw;
    top: -18.6vw;
  }
  .top .aboutus ul li a {
    color: #fff;
    height: 20.2vw;
    display: block;
    padding: 18.1vw 0 0;
    margin: 0 auto 0vw;
  }
  .top .aboutus ul li a .ttl {
    position: relative;
    display: block;
    /*
    width: 80vw;
    */
    width: max-content;
    margin: 0 0 2.3vw 5.0vw;
    padding: 0 8.2vw 0 0;
    font-size: 5.33vw;
    font-weight: bold;
    line-height: 1.19;
  }
  .top .aboutus ul li a .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    top: 0;
    transition: all 0.2s;
  }

  .top .aboutus ul li a .sub {
    display: block;
    width: 80vw;
    margin: 0 0 0 5.0vw;
    font-size: 3.46vw;
    font-weight: bold;
    line-height: 1.19;
  }
  .top .aboutus ul li p {
    display: block;
    width: 79.7vw;
    margin: 0 auto;
    color: #fff;
    line-height: 2.0;
    font-size: 4vw;
    font-weight: 500;
  }


  .top .works {
    position: relative;
    margin: 0 0 30.1vw;
  }
  .top .works .bg_img {
    position: absolute;
    display: block;
    width: 100%;
    left: 0;
    top: -94.6vw;
    z-index: 3;
  }
  /*
  .top .works::after {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 101.8vw;
    left: 0;
    top: -94.6vw;
    z-index: 3;
    background: url(../img/top/bg_works_img_sp.png) no-repeat top center;
    background-size: 100% 100%;
  }
  */
  .top .works .flcell {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 88vw;
  }
  .top .works .flcell .fleft {
    width: 100%;
    position: relative;
    z-index: 5;
    margin: 0 0 14.6vw;
  }
  .top .works .flcell .fleft .ttl_cell {
  }
  .top .works .flcell .fleft .ttl_cell p {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    width: 41.8vw;
    height: 10.6vw;
    font-size: 4.8vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-2.98deg);
    margin: 0 0 6.6vw -2.0vw;
  }
  .top .works .flcell .fleft .ttl_cell h2 {
    font-size: 20.5vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    margin: 0 0 0vw 1.5vw;
  }
  .top .works .flcell .fleft .ttl_cell a {
    display: none;
    /*
    font-size: 1.11vw;
    color: #fff;
    margin: 0 0 0 0.5vw;
    line-height: 1;
    */
  }
  .top .works .flcell .fright {
    width: 100%;
    position: relative;
    z-index: 3;
  }
  .top .works .flcell .fright .bd_wht {
    position: relative;
    border: 1px solid #fff;
    margin: 0 0 20.8vw;
    padding: 14.6vw 0 10.1vw;
  }
  .top .works .flcell .fright .bd_wht .ttl_blk {
    position: absolute;
    /*
    top: -6.4vw;
    */
    top: -17.4vw;
    left: -3.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    width: 32.8vw;
    height: 10.8vw;
    font-size: 3.2vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-6.16deg);
  }
  .top .works .flcell .fright ul {
    width: 81.6vw;
    margin: 0 auto;
  }
  .top .works .flcell .fright ul li {
    margin: 0 0 8.0vw;
  }
  .top .works .flcell .fright ul li:last-child {
    margin: 0 0 0vw;
  }
  .top .works .flcell .fright ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
  }

  .top .works .flcell .fright ul li .img {
    width: 18.6vw;
  }
  .top .works .flcell .fright ul li .txt_cell {
    width: 58.6vw;
    color: #fff;
  }
  .top .works .flcell .fright ul li .txt_cell .ttl {
    position: relative;
    font-size: 4.26vw;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 2.6vw;
    width: max-content;
    padding-right: 6.0vw;
  }
  .top .works .flcell .fright ul li .txt_cell .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    bottom: 0;
    transition: all 0.2s;
  }
  .top .works .flcell .fright ul li .txt_cell .txt {
    font-size: 4.0vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 0vw;
  }
  .top .works .flcell .fright .bnr {
    display: block;
    position: relative;
    width: 100%;
    /*
    height: 100%;
    */
  }
  .top .works .flcell .fright .bnr span.txt {
    position: absolute;
    top: -8.8vw;
    left: -3.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    width: 36.8vw;
    height: 10.8vw;
    font-size: 3.2vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-6.16deg);
  }
  .top .works .flcell .fright .bnr div.link {
    display: none;
  }

  .top .team {
    position: relative;
    padding: 0vw 0 20.8vw;
    margin: 0 0 42.6vw;
  }
  .top .team:after {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/top/bg_team_sp.png) no-repeat top center;
    background-size: 100% 100%;
    width: 86.3vw;
    height: 170.6vw;
    left: 5.3vw;
    bottom: 0;
    z-index: 0;
  }
  .top .team .ttl_cell {
    position: relative;
    margin: 0 auto 16vw;
    z-index: 2;
  }
  .top .team .ttl_cell p {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #000;
    background: #fff;
    color: #000;
    width: 41.8vw;
    height: 10.6vw;
    font-size: 4.8vw;
    font-weight: bold;
    text-align: center;
    transform: rotate(-2.98deg);
    margin: 0 0 4.6vw 13.8vw;
  }
  .top .team .ttl_cell h2 {
    font-size: 10.6vw;
    font-weight: bold;
    line-height: 1;
    font-family: "Roboto Condensed", sans-serif;
    margin: 0 auto 5.3vw;
    text-align: center;
    width: max-content;
    padding-right: 5vw;
  }
  .top .team .ttl_cell a {
    position: relative;
    display: block;
    font-size: 3.73vw;
    font-weight: bold;
    text-align: center;
    color: #000;
    line-height: 1;
    margin: 0 auto;
    width: max-content;
    padding: 0 3.2vw 0 0;
  }
  .top .team .ttl_cell a::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    top: 0.3vw;
    transition: all 0.2s;
  }

  .top .team ul {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    margin-left: 9.3vw;
  }
  .top .team ul li {
    width: 80.2vw;
    margin: 0 0 5.3vw;
  }
  .top .team ul li:last-child {
    width: 82.9vw;
    margin: 0 0 0vw;
  }
  .top .team ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .top .team ul li a .ttl {
    position: absolute;
    left: 2.3vw;
    top: 7.4vw;
    font-size: 3.46vw;
    font-weight: 800;
    line-height: 1.4;
    color: #FFFFFF;
    margin: 0;
  }
  .top .team ul li a .txt {
    position: absolute;
    left: 2.3vw;
    top: 27.2vw;
    font-size: 2.93vw;
    font-weight: 500;
    line-height: 1.4;
    color: #FFFFFF;
    margin: 0;
  }


  .top .info {
    position: relative;
    padding: 0 0 34.1vw;
  }
  .top .info:before {
    display: block;
    position: absolute;
    content: "";
    width: 92.5vw;
    height: 66.4vw;
    top: -24vw;
    left: 0;
    background: url(../img/top/bg_info_before_sp.png) no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  }
  .top .info:after {
    display: block;
    position: absolute;
    content: "";
    width: 81.6vw;
    height: 69vw;
    bottom: 13.8vw;
    right: 0;
    background: url(../img/top/bg_info_after_sp.png) no-repeat top center;
    background-size: 100% 100%;
    z-index: 0;
  }
  .top .info .ttl_cell {
    position: relative;
    z-index: 3;
    margin: 0 0 13.3vw 8.5vw;
    color: #fff;
  }
  .top .info .ttl_cell h2 {
    font-size: 12.8vw;
    font-weight: bold;
    text-align: left;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 1;
    margin: 0 0 4.0vw;
  }
  .top .info .ttl_cell p {
    font-size: 4.26vw;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 0;
  }
  .top .info ul {
    position: relative;
    z-index: 3;
    width: 86.4vw;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 0 0 0 5.8vw;
  }
  .top .info ul li {
    width: 100%;
    height: 42.6vw;
    margin: 0 0 2.13vw;
    background: url(../img/top/bg_info_sp.png) no-repeat center;
    background-size: 100% auto;
  }
  .top .info ul li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #139DE3;
  }
  .top .info ul li a .ttl {
    position: relative;
    padding: 6.0vw 5.3vw 0 11.4vw;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 1.7;
    margin: 0 0 1.7vw;
    /*
    width: 66.1vw;
    */
    width: max-content;
  }
  .top .info ul li a .ttl::after {
    display: block;
    position: absolute;
    content: "〉";
    right: 0;
    bottom: 0;
    transition: all 0.2s;
  }

  .top .info ul li a .txt {
    padding: 0vw 0 0 11.4vw;
    font-size: 3.46vw;
    font-weight: 500;
    line-height: 2.0;
    margin: 0 0 0vw;
    width: 66.1vw;
  }
}
