@media screen and (max-width:999px) {

  /* フォントサイズ */
  .tab-A,
  .tab-B,
  .tab-C {
    font-size: 3vw;
  }

  .tab-A dd,
  .tab-A dt,
  .tab-B dd,
  .tab-B dt,
  .tab-C dd,
  .tab-C dt {
    font-size: 1rem;
  }

  .menu-content ul li a,
  .service_profile_sp p,
  .on_white_text h4,
  .main_visual_sub_text p,
  .philosophy p,
  .office01 p,
  .value01 p,
  .serivice_sub_title,
  .joblist_top_title,
  .c-btn-sp.circle,
  .confirm_flex label {
    font-size: 1rem;
  }

  .tab_white_title,
  .tab_red_title {
    font-size: 1.2rem;
  }

  .on_white_text p,
  .service_profile_sp h2,
  .corpolate_color_title span,
  .company_message_text h2,
  .p-company__business__strength__desc .title-desc:nth-child(1),
  .philosophy h2,
  .office h2,
  .value h2,
  .business_sub_text01 .business_content .business_content_big {
    font-size: 1.4rem !important;
  }

  .main_visual_sub_text h2 {
    font-size: 1.5rem;
  }

  .move_title h2,
  .media_text01 h2 {
    font-size: 1.6rem;
  }

  .kabukimono_img {
    margin: 0;
    padding: 20px;
  }

  .kabukimono_flex {
    justify-content: space-around;
  }

  .on_white_text h2,
  .company_text h2 {
    font-size: 2rem;
  }

  .pb_60_sp {
    padding-bottom: 60px;
  }

  .pt_30_sp {
    padding-top: 30px;
  }

  .pt_80_sp {
    padding-top: 80px;
  }

  .pb_80_sp {
    padding-bottom: 80px;
  }

  .ml_-10 {
    margin-left: 0;
  }

  .pb_3 {
    padding-bottom: 3px;
    color: #d30e29;
    margin-right: 6px;
    font-size: 1.4rem;
    letter-spacing: 4px;
    line-height: 0;
  }

  .mt_0_sp {
    margin-top: 0 !important;
  }

  .mb_0_sp {
    margin-bottom: 0 !important;
  }

  .mt_10_sp {
    margin-top: 10px !important;
  }

  .mb_10_sp {
    margin-bottom: 10px !important;
  }

  .mt_20_sp {
    margin-top: 20px !important;
  }

  .mb_20_sp {
    margin-bottom: 20px !important;
  }

  .mb_30_sp {
    margin-bottom: 30px !important;
  }

  .mt_50_sp {
    margin-top: 50px !important;
  }

  .mt_100_sp {
    margin-top: 100px !important;
  }

  .pt_60_sp {
    padding-top: 60px;
  }

  .pb_60_sp {
    padding-bottom: 60px;
  }

  .pb_80_sp {
    padding-bottom: 80px;
  }

  .pt_100_sp {
    padding-top: 100px !important;
  }

  .pt_856_sp {
    padding-top: 900px !important;
    ;
  }

  .force_mt_30 {
    margin-top: 30px !important;
  }

  .display_block_sp {
    display: block !important;
  }

  .fade-up-stairs>div>span {
    margin: 0 1.5px;
  }

  header {
    background: #fff;
    z-index: 9999;
    position: fixed;
    width: 100%;
    height: 70px;
  }

  .header_logo a img {
    width: 140px;
  }

  .header-box {
    position: fixed;
    height: 70px;
    margin: 0;
    padding-top: 3px;
  }

  .header_logo {
    margin-left: 20px;
  }

  .menu-btn {
    position: fixed;
    top: 10px;
    right: 14px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 999;
  }

  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 27px;
    background-color: #d30e29;
    position: absolute;
  }

  .menu-btn span:before {
    bottom: 12px;
  }

  .menu-btn span:after {
    top: 12px;
  }

  #menu-btn-check:checked~.menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
  }

  #menu-btn-check:checked~.menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
  }

  #menu-btn-check:checked~.menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
  }

  #menu-btn-check {
    display: none;
  }

  .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #fff;
    transition: all 0.5s;
    /*アニメーション設定*/
  }

  .menu-content ul {
    padding: 70px 40px 0;
  }

  .menu-content ul li {
    list-style: none;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .menu-content ul li img {
    width: 16px;
  }

  .menu-content ul li a {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    color: #000;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
    letter-spacing: 3px;
    font-weight: 600;
  }

  #menu-btn-check:checked~.menu-content {
    left: 0;
    /*メニューを画面内へ*/
  }

  /* トップ */
  .first {
    height: 100%;
  }

  .fade-up-rotate>div>span {
    margin: 0 1px;
  }

  .fade-up-rotate>div span:nth-of-type(10) {
    margin-right: 10px;
  }

  /* スライダー開始 */
  .main_visual_sub_text {
    text-align: center;
    display: block;
  }

  .main_visual_sub_texts {
    text-align: left !important;
    display: inline-block !important;
  }

  .main_visual_sub_texts .main_visual_sub_text p {
    text-align: left !important;
  }

  .height_100_sp {
    height: 100%;
  }

  .width_100_sp {
    width: 100%;
  }

  .scroll-center-sp {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  .container-snap {
    width: 100%;
    height: 100vh;
  }

  .snap-scroll {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* スライダーここまで */
  .mouse-wrap {
    text-decoration: none;
    position: relative;
    display: inline-block;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 180px;
    z-index: 9;
  }

  .mouse-wrap:active,
  .mouse-wrap:active>.mouse-label,
  .mouse-wrap:focus,
  .mouse-wrap:focus>.mouse-label {
    outline: none;
  }

  .mouse-wrap.mouse-with-slider {
    bottom: -50px;
  }

  .mouse-wrap .mouse-label {
    top: 0;
    color: #d30e29;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05rem;
    text-transform: uppercase;
  }

  .mouse-wrap .mouse {
    position: absolute;
    width: 22px;
    height: 42px;
    bottom: 30px;
    display: block;
    left: 50%;
    margin-left: -12px;
    border-radius: 15px;
    border: 2px solid #d30e29;
    -webkit-animation: intro 2s;
    animation: intro 2s;
  }

  .mouse-wrap .mouse .scroll {
    display: block;
    width: 3px;
    height: 3px;
    margin: 6px auto;
    border-radius: 4px;
    background: #d30e29;
    -webkit-animation: finger 2s infinite;
    animation: finger 2s infinite;
  }

  @-webkit-keyframes intro {
    0% {
      opacity: 0;
      -webkit-transform: translateY(40px);
      transform: translateY(40px);
    }

    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }

  @keyframes intro {
    0% {
      opacity: 0;
      -webkit-transform: translateY(40px);
      transform: translateY(40px);
    }

    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }

  @-webkit-keyframes finger {
    0% {
      opacity: 1;
    }

    100% {
      opacity: 0;
      -webkit-transform: translateY(20px);
      transform: translateY(20px);
    }
  }

  @keyframes finger {
    0% {
      opacity: 1;
    }

    100% {
      opacity: 0;
      -webkit-transform: translateY(20px);
      transform: translateY(20px);
    }
  }

  .main_visual_text {
    padding-top: 120px;
    margin-top: 0;
    border-left: none;
    text-align: center;
    /* margin: 0 20px; */
  }

  .main_visual .top_more_battlecry img {
    width: 90%;
    height: 100%;
    margin-left: 0;

  }

  .main_visual_sub_text h2 {
    padding: 0 30px;
    text-align: center;
    margin-left: 20px;
  }

  .main_visual_sub_text p {
    padding: 0 10px;
  }

  .on_white_text {
    width: 100%;
  }

  .second {
    height: 100%;
  }

  .move video {
    height: 320px;
  }

  .move.sp video {
    height: 320px;
    width: 100%;
  }

  button {
    width: 70%;
  }

  .c-btn.circle {
    width: 70%;
    text-align: center;
    margin: auto;
  }

  .vision_map img {
    width: 100%;
  }
  
  .sns-group {
    display: block;
    max-width: 90%;
    text-align: center;
    margin: auto;
  }
  .sns-w {
    width: 100%;
  }
  .sns-group a {
    margin: 10px auto;
  }

  .border-b-sp {
    border-bottom: 1px solid #d30e29 !important;
  }

  .news {
    padding: 100px 0;
  }

  .news_flex {
    margin: 0 30px;
  }

  .news_flex h2 {
    margin-top: 0;
  }

  .news_content {
    padding: 40px 20px;
  }

  .news_text_box {
    padding: 0 20px
  }

  .news_big_title {
    margin-left: 0;
  }

  .news_text_flex_sp img {
    display: none;
  }

  .media {
    background-image: url(../img/top_media_back_sp.png);
    background-size: cover;
    background-position: center;
  }

  .media_img img {
    width: 100%;
    margin: auto;
  }

  .media_text02 {
    text-align: center;
  }

  .media_text02 p {
    text-align: left;
    display: inline-block;
  }

  .media_sp_line img {
    width: 70%;
  }

  .media_text01 p {
    margin: 20px;
  }

  .media_text01 h2 {
    margin: 0 20px 20px;
  }

  .on_white_img03 {
    background: url("../img/top_03.jpg") center;
    background-size: auto;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    display: table;
  }

  .on_white_img04 {
    background: url("../img/top_04.jpg") center;
    background-size: auto;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    display: table;
  }

  /* トップページ終了 */
  /* companyページ開始 */

  .company {
    padding-top: 70px;
  }

  .company_text {
    width: 100%;
    margin: 0;
    border-top: 1px solid #d30e29;
  }

  .company_text p {
    margin: 30px;
  }

  .company_text h2 {
    margin: 0 30px;
  }

  .company_flex {
    display: block;
  }

  .company_flex img {
    width: 100%;
  }

  .tab-group {
    margin: -10px 0 0 0;
    width: 100%;
  }

  .philosophy {
    padding: 80px 30px 80px 30px;
  }

  .tab_red_title {
    letter-spacing: 3px;
  }

  .philosophy h2 {
    letter-spacing: 3px;
    line-height: 1.6;
  }

  .office {
    padding-left: 0;
    background-image: none;
    height: 100%;
    padding: 80px 0;
  }

  .office01 {
    margin-left: 0;
    margin-top: 50px;
  }

  .office-box {
    width: 100%;
  }

  .office-img img {
    width: 300px;
  }

  .value {
    padding-left: 0;
    background-image: none;
    height: 100%;
    padding: 80px 0;
  }

  .office p,
  .value p {
    padding: 0 30px;
  }

  .office h2,
  .value h2 {
    padding: 0 30px;
    letter-spacing: 4px;
    line-height: 1.6;
  }

  .value01 {
    margin-left: 0;
    margin-top: 50px;
  }

  .value_img_sp img {
    width: 100%;
    padding-top: 40px;
  }

  .corpolate_color_title {
    width: 100%;
  }

  .corpolate_color_flex {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .corpolate_box {
    margin: 20px 30px;
  }

  .company_profile {
    margin-left: 0;
    padding: 80px 30px 80px 30px;
  }

  .service_profile {
    padding: 70px 0;
  }

  .corpolate_color_title p {
    padding: 50px 20px 70px 20px;
    text-align: center;
  }

  .corpolate_color_flex {
    margin-top: -40px;
  }

  .corpolate_color_title span {
    letter-spacing: 2px;
  }

  .dt-dd_sp dl dd {
    width: calc(100% - 117px) !important;
    margin-left: 10px !important;
    border-bottom: none !important;
  }

  .dt-dd_sp dl dt {
    width: 70px !important;
    border: none !important;
  }

  .tab_white_title {
    letter-spacing: 3px;
    padding-left: 30px;
    margin-bottom: 0;
  }

  .border_bottom {
    border-bottom: 1px solid #fff;
  }

  .service_profile_sp {
    padding: 0 30px;
  }

  .service_profile_sp p {
    margin-top: 0;
  }

  .service_profile_sp h2 {
    letter-spacing: 3px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 4px 0;
  }

  .company_message_flex01 {
    display: block;
    margin-bottom: 90px;
  }

  .company_message_flex01 img {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 0px;
    margin-right: 0;
  }

  .company_message_flex02 {
    display: block;
    padding-left: 0;
    margin-right: 0;
    text-align: right;
    margin-bottom: 90px;
  }

  .company_message_text {
    width: 80%;
    margin: auto;
    text-align: left;
  }

  .company_message_flex02 img {
    width: 100%;
    height: 330px;
    margin-top: -40px;
    margin-left: 0;
  }

  .company_message_flex03 {
    display: block;
    padding-left: 0;
    margin-left: 0;
  }

  .company_message_flex03 img {
    width: 100%;
    height: 330px;
    margin-right: 0;
  }

  .company_message_flex04 {
    display: block;
    text-align: right;
    margin-bottom: 90px;
  }

  .company_message_text {
    text-align: left;
  }

  .company_message_flex04 .company_message_text {
    margin: auto;
  }

  .company_message_flex04 img {
    width: 90%;
    margin: 0;
  }

  .company_message_text h2 {
    letter-spacing: 2px;
  }

  .access_map {
    padding: 80px 0;
  }

  /* companyページ終了 */
  /* businessページ開始 */
  .business {
    padding-top: 70px;
    border-bottom: none;
  }

  .business_flex {
    display: block;
    border-top: 1px solid #d30e29;
  }

  .business_flex img {
    width: 100%;
    margin-bottom: -10px;
  }

  .business_text {
    width: 100%;
    margin: 0;
  }

  .business_text p {
    margin-left: 30px;
  }

  .business_text h2 {
    margin-left: 30px;
  }

  .p-company__business__strength {
    display: block;
    min-width: 100%;
    margin-top: 110px;
    margin-bottom: 20px;
  }

  .p-company__business__strength__figure {
    width: 280px;
    height: 280px;
    margin: auto;
    margin-bottom: 100px;
    margin-top: 100px;
  }

  .p-company__business__strength__figure__frame {
    width: 220px;
    height: 220px;
  }

  .p-company__business__strength__figure>p:nth-child(1) {
    bottom: 122%;
  }

  .p-company__business__strength__figure>p:nth-child(2) {
    right: -42px;
    bottom: 65.5%;
  }

  .p-company__business__strength__figure>p:nth-child(3) {
    top: 112.5%;
  }

  .p-company__business__strength__figure>p:nth-child(4) {
    left: -40px;
    bottom: 65.5%;
  }

  .p-company__business__strength__desc {
    padding: 0 30px;
    margin: auto;
  }

  .business_sub_flex01 {
    display: block;
  }

  .business_sub_flex01 img {
    width: 100%;
    height: 240px;
  }

  .business_sub_text01 {
    margin: 20px 30px;
    padding: 60px 0 100px;
    margin-bottom: 0;
  }

  .business_sub_sp_01 {
    padding: 60px 0;
  }

  .business_sub_sp_02 {
    padding-bottom: 100px !important;
    padding-top: 40px;
  }

  .business_sub_sp_03 {
    margin-top: -80px;
    margin-bottom: 200px;
  }

  .business_sub_flex02 {
    display: block;
  }

  .business_sub_flex02 img {
    width: 100%;
    height: 240px;
  }

  .business_sub02 {
    border-top: none;
  }

  .business_sub_text02 {
    margin: 90px 30px 0px 30px;
    padding-bottom: 110px;
    padding-top: 0;
  }

  .business_project_flex {
    display: block;
  }

  .business_project {
    margin: 20px 30px 100px 30px;
  }

  .business_project_img {
    width: 100%;
  }

  .business_project_noflex {
    margin: 20px 30px;
  }

  .business_content_big {
    letter-spacing: 2px !important;
  }

  .serivice_sub_title .tab_white_title {
    padding-left: 0;
  }

  .business_project_flex {
    margin-top: -80px;
  }

  .business_project_flex_text {
    margin: 0;
  }

  /* businessページ終了 */
  /* recruitページ開始 */
  .recruit {
    padding-top: 70px;
    border-bottom: none;
  }

  .recruit_flex {
    display: block;
    border-top: 1px solid #d30e29;
  }

  .recruit_flex img {
    width: 100%;
    margin-bottom: -10px;
  }

  .recruit_text {
    width: 100%;
    margin: 0;
  }

  .recruit_text p {
    margin-left: 30px;
  }

  .recruit_text h2 {
    margin-left: 30px;
  }

  .recruit_content {
    padding: 80px 30px;
  }

  .joblist {
    padding: 50px 20px;
  }

  .joblist_flex {
    display: block;
  }

  .joblist_content {
    width: 100%;
    padding: 20px 0;
  }

  .joblist_flex>div {
    margin: 20px 10px;
  }

  .joblist_top_title {
    top: -45px;
    left: 0;
    font-weight: 400;
  }

  /* recruitページ終了 */
  /* worksページ開始 */
  .works {
    padding: 50px 0;
  }

  .works_width {
    margin: 0;
    padding: 25px;
  }

  .detail_flex {
    display: block;
  }

  .works_detail_01 {
    margin: 0 30px;
  }

  .stellar_ceo {
    text-align: center;
    margin: 0 30px;
  }

  .detail_img_flex {
    display: block;
    text-align: center;
  }

  .detail_img_flex img {
    height: 220px;
    width: 80%;
    object-fit: cover;
  }

  .detail_text_in {
    width: 84%;
  }

  .detail_img_two img {
    height: 170px;
    object-fit: cover;
    width: 80%;
  }

  /* worksページ終了 */
  /* contactページ開始 */
  .contact_text p {
    margin: 0;
    padding: 50px 30px 0;
  }

  form {
    text-align: center;
  }

  .contact_text {
    text-align: left;
    margin-top: 0 !important;
  }

  .c-btn-sp.circle {
    background: #fff;
    overflow: hidden;
    position: relative;
    transition-duration: .4s;
    z-index: 2;
    margin: 0;
    border: 1px solid #d30e29;
  }

  .c-btn-sp.circle p {
    color: #d30e29;
    margin: 0;
    font-weight: 400;
    letter-spacing: 2px;
    padding: 1px 0px !important;
  }

  .c-btn-sp.circle::after {
    background: #d30e29;
    content: "";
    display: block;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    padding-top: 100%;
    height: 0;
    z-index: -1;
    transform: translateY(-50%) scale(0.1);
    transition: opacity .5s, transform 0s;
    transition-delay: 0s, .4s;
  }

  .c-btn-sp.circle:hover {
    color: #fff;
  }

  .c-btn-sp.circle:hover::after {
    opacity: 1;
    transform: translateY(-50%) scale(1.1);
    transition-delay: 0s;
    transition: opacity .8s, transform .6s ease-in-out;
  }

  .c-btn-sp.circle p:hover {
    color: #fff;
  }

  .Form-Item {
    display: block;
    text-align: center;
    margin: 20px 0;
  }

  .Form-Item-Label {
    width: 84%;
    max-width: 84%;
    margin: auto;
    text-align: left;
  }

  .Form-Item-Input {
    width: 84%;
    margin: auto;
    padding: 0 10px;
    margin-top: 5px;
  }

  .Form-Item-Textarea {
    width: 84%;
    margin: auto;
    padding: 0 10px;
    margin-top: 5px;
  }

  .checkbox01 {
    margin-left: 20px;
  }

  .Form-Btn {
    margin-bottom: 50px;
    padding: 0;
    width: 213px;
    height: 47.5px;
    border-radius: 0 !important;
  }

  form .Form-Btn-sp {
    -webkit-appearance: none;
    border-radius: 0;
  }

  .confirm_main {
    margin: 0;
    text-align: center;
  }

  .confirm_main div {
    text-align: left;
    margin-bottom: 60px;
  }

  .confirm_flex {
    display: block;
  }

  .confirm_flex label {
    width: 100%;
    margin: 5px 20px;
    font-weight: 600;
  }

  .confirm_flex p {
    width: 100%;
    margin: 0 20px 30px 20px;
  }

  .submit_main {
    width: 213px;
  }

  .margin_force {
    margin: 20px 0;
  }

  .top_news_sp_pd {
    margin: 20px 30px;
    padding: 0;
  }

  .privacy {
    padding: 120px 30px 100px 30px;
  }

  .p-company__business__strength__figure__frame>div>span:nth-child(1) {
    left: 4px;
    top: 4px;
    width: 24px;
    height: 24px;
    background: #1f3134;
    -webkit-animation-name: pin4;
    animation-name: pin4;
  }

  .p-company__business__strength__figure__frame>div>span:nth-child(2) {
    width: 47px;
    height: 47px;
    left: -7px;
    top: -7px;
    border: solid 1px rgba(198, 204, 205, .7);
    -webkit-animation-name: pin3;
    animation-name: pin3;
  }

  .p-company__business__strength__figure__frame>div>span:nth-child(3) {
    width: 0;
    height: 0;
    left: -17px;
    top: -17px;
    border: none;
    -webkit-animation-name: pin3;
    animation-name: pin3;
    -webkit-animation-delay: .16s;
    animation-delay: .16s;
  }

  .is-invasion .p-company__business__strength__figure__frame>div:nth-child(5) {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-transition: opacity .4s .25s, -webkit-transform .8s .05s cubic-bezier(.79, .17, .15, .96);
    transition: opacity .4s .25s, -webkit-transform .8s .05s cubic-bezier(.79, .17, .15, .96);
    transition: transform .8s .05s cubic-bezier(.79, .17, .15, .96), opacity .4s .25s;
    transition: transform .8s .05s cubic-bezier(.79, .17, .15, .96), opacity .4s .25s, -webkit-transform .8s .05s cubic-bezier(.79, .17, .15, .96);
  }

  .p-company__business__strength__figure__frame>div:nth-child(5) {
    left: -15px;
    top: -15px;
  }

  .is-invasion .p-company__business__strength__figure__frame>div:nth-child(6) {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-transition: opacity .4s .5s, -webkit-transform .8s .3s cubic-bezier(.79, .17, .15, .96);
    transition: opacity .4s .5s, -webkit-transform .8s .3s cubic-bezier(.79, .17, .15, .96);
    transition: transform .8s .3s cubic-bezier(.79, .17, .15, .96), opacity .4s .5s;
    transition: transform .8s .3s cubic-bezier(.79, .17, .15, .96), opacity .4s .5s, -webkit-transform .8s .3s cubic-bezier(.79, .17, .15, .96);
  }

  .p-company__business__strength__figure__frame>div:nth-child(6) {
    right: -15px;
    top: -13px;
  }

  .is-invasion .p-company__business__strength__figure__frame>div:nth-child(7) {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-transition: opacity .4s .75s, -webkit-transform .8s .55s cubic-bezier(.79, .17, .15, .96);
    transition: opacity .4s .75s, -webkit-transform .8s .55s cubic-bezier(.79, .17, .15, .96);
    transition: transform .8s .55s cubic-bezier(.79, .17, .15, .96), opacity .4s .75s;
    transition: transform .8s .55s cubic-bezier(.79, .17, .15, .96), opacity .4s .75s, -webkit-transform .8s .55s cubic-bezier(.79, .17, .15, .96);
  }

  .p-company__business__strength__figure__frame>div:nth-child(7) {
    right: -12px;
    bottom: -12px;
  }

  .is-invasion .p-company__business__strength__figure__frame>div:nth-child(8) {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-transition: opacity .4s 1s, -webkit-transform .8s .8s cubic-bezier(.79, .17, .15, .96);
    transition: opacity .4s 1s, -webkit-transform .8s .8s cubic-bezier(.79, .17, .15, .96);
    transition: transform .8s .8s cubic-bezier(.79, .17, .15, .96), opacity .4s 1s;
    transition: transform .8s .8s cubic-bezier(.79, .17, .15, .96), opacity .4s 1s, -webkit-transform .8s .8s cubic-bezier(.79, .17, .15, .96);
  }

  .p-company__business__strength__figure__frame>div:nth-child(8) {
    bottom: -13px;
    left: -12px;
  }

}

@media screen and (max-width:768px) {
  .pc {
    display: none;
  }

  .dt-dd dl dt {
    display: inline-block;
    width: auto;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: normal;
    border-bottom: 0 solid transparent;
    border: 1px solid #ccc;
  }

  .dt-dd dl dd {
    width: 100%;
    display: inline-block;
    margin-bottom: 20px;
    border-bottom: 1px solid #ccc;
  }

  .mini-flex {
    width: 100%;
  }

  .graph-text_01,
  .graph-text_01 p {
    width: 90px;
  }

  .graph-text_02 {
    width: 12.4%;
  }

  .graph-text_03 {
    width: 50%;
  }

  .essential-creation {
    width: 85%;
  }

  .bg-six {
    display: none;
  }

  .bg-six-gray {
    bottom: 20%;
    right: 0%;
    z-index: 1;
  }

  .footer-menu {
    flex-direction: column;
  }

  .footer-menu a {
    margin: 10px;
  }

  .cta-document {
    padding: 60px 0;
  }

  .cta-document-flex {
    display: block;
    max-width: 90%;
    margin: 0 auto;
  }

  .cta-document-flex a div {
    padding: 20px 0px;
  }

  .cta-document-flex a div h3 {
    font-size: 1.2rem;
  }

  .side_fix .fix_btn a {
    background: #fff;
    padding: 15px 0;
    border: 1px solid #d30e29;
  }

  .side_fix .fix_btn a .txt {
    color: #d30e29;
    font-size: 1rem;
  }
}