@media (max-width: 991px) {

  .breadcrumb {
    overflow-x                : scroll;
    word-break                : keep-all;
    white-space               : nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .description.flex {
    flex-wrap: wrap;
  }

  .category-list.custom-list li a {
    padding-right: 25px;
  }

  .container .banner-description .description {
    padding-bottom: 15px;

  }

  .bs-btn.style1.m-custom {
    margin-left: auto;
  }

  .description.flex .news_tit {
    font-size: 3.733vw;
  }

  .item-card .body-item .date {
    display    : flex;
    align-items: center;
  }

  .item-card .body-item .date p {
    margin     : 0 !important;
    white-space: nowrap;
  }

  .container .description .header time {
    white-space: nowrap;
  }

  .container .description .header {
    width       : 100%;
    margin-right: 0;
  }

  .container .description .header {
    margin-bottom: 1vw !important;
  }

  .flex {
    display    : flex;
    align-items: center;
  }

  .news .content-right article a {
    flex: unset;
  }

  .category-detail__header .cate-3,
  .tag-1 {
    width    : auto;
    min-width: 110px;
  }

  /* 
  .tag-1.w-auto {
    min-width: unset;
  } */

  .category-detail__header .cate-3.w-auto {
    min-width: unset;
  }

  .category-detail__header .date-1 {
    white-space  : nowrap;
    padding-right: 0;
  }

  .list-card .item-card {
    width: 49%;
  }

  .main-header {
    height  : auto;
    position: relative;
  }

  .main-header .main-nav {
    position  : absolute;
    top       : 100%;
    left      : 0;
    background: rgba(0, 0, 0, 0.5);
    width     : 100%;
    height    : 100vh;
    z-index   : 9;
  }

  .main-header .main-nav ul {
    flex-direction  : column;
    align-items     : flex-start;
    padding         : 0;
    background-color: #fff;
    border          : solid thin #ccc;
  }

  .main-header .main-nav ul li {
    padding      : 2vw;
    width        : 100%;
    border-bottom: solid thin #ccc;
  }

  .main-header .main-nav ul li:last-child {
    border-bottom: 0;
  }

  .main-header .main-nav .close-nav {
    display         : block;
    position        : absolute;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 100%;
    z-index         : -1;
    border          : 0;
    background-color: transparent;
  }

  .footer .footer-nav ul {
    justify-content: flex-start;
  }

  .footer .footer-sub-nav {
    justify-content: start;
    flex-flow      : wrap;
  }

  .footer .footer-sub-nav ul {
    width          : 100%;
    justify-content: flex-start;
  }

  .footer .footer-sub-nav .logo {
    margin: 20px 0 0;
  }

  .footer .footer-left {
    order: 1;
  }

  .footer .footer-right {
    order: 0;
  }

  /* page advantage */
  .item-list_advantage .content-item .left {
    width: 35%;
  }

  .item-list_advantage .content-item .right {
    width: 65%;
  }
}

@media (max-width: 767px) {
  .container {
    max-width: 100%;
  }

  .main-header .logo {
    width      : 55vw;
    margin     : 0;
    display    : flex;
    align-items: flex-start;
  }

  .logo_area {
    width      : 100%;
    flex       : 1;
    margin-left: 2.5vw;
    padding    : 2.3vw 0;
  }

  .logo_txt {
    font-size: 3.200vw;
  }

  .section-pd1 {
    padding: 12vw 0 13.333vw;
  }

  .section-pd1.customers {
    padding: 12vw 0 5vw;
  }

  .section-pd1.solutions {
    padding: 12vw 0 11.333vw;
  }

  .section-pd1.brands {
    padding: 5vw 0 3vw;
  }

  .section-pd1.footer {
    padding: 3vw 0 3vw;
  }

  .hero-slider {
    box-shadow: 0 1px 3px #f2f2f2;
  }

  .hero-slider .item {
    height: auto;
  }

  .hero-slider .item img {
    height: 59vw;
  }

  .hero-slider .item::after {
    display: none;
  }

  .slider .slick-prev,
  .slider .slick-next {
    width : 7.467vw;
    height: 14.667vw;
    top   : calc(50% - 23vw);
  }

  .hero-slider .slick-prev {
    transform: translate(0, -50%);
    left     : 0;
  }

  .hero-slider .slick-next {
    transform: translate(0, -50%);
    right    : 0;
  }

  .hero-slider .item .content {
    background: #fff;
    display   : block;
    position  : static;
    padding   : 5.333vw;
  }

  .hero-slider .item .content h3 {
    font-size: 5.333vw;
  }

  .hero-slider .item .content p {
    font-size: 3.733vw;
    display  : block;
  }

  .section-heading .h2 {
    font-size    : 9.600vw;
    margin-bottom: 1vw;
  }

  .section-heading .h2 img {
    right: calc(100% + 4vw);
    width: 8vw;
  }

  .section-sub-heading {
    margin-bottom: 8vw;
    font-size    : 3.733vw;
  }

  .advantages .item {
    margin : 0 auto 4vw;
    padding: 6.667vw 0;
    width  : 67.200vw;
  }

  .advantages .item .text2 {
    font-size  : 7.467vw;
    line-height: 9.467vw;
  }

  .advantages .item .text1 {
    font-size  : 4.533vw;
    line-height: 5.533vw;
  }

  .advantages .item .number {
    font-size  : 6.400vw;
    line-height: 6.400vw;
  }

  .advantages .mb-30 {
    margin-bottom: 5.333vw;
  }

  .bs-btn.style1 {
    font-size: 3.200vw;
    padding  : 2vw;
    width    : 40vw;
  }

  .bs-btn.style1 .icon {
    right: 4vw;
    width: 4.667vw;
  }

  .bs-btn.style1 .icon img {
    width: 100%;
  }

  .bs-btn.style2 {
    font-size: 3.200vw;
    min-width: 30vw;
  }

  .customers .section-sub-heading {
    padding-left: 15vw;
  }

  .customers .item h3 {
    font-size: 4.267vw;
  }

  .customers .item p {
    margin-bottom: 8vw;
    font-size    : 3.733vw;
  }

  .solutions .row,
  .columns .row {
    justify-content: space-between;
    margin         : 0;
  }

  .solutions [class*="col-"],
  .columns [class*="col-"] {
    padding: 0;
    flex   : 0 0 48%;
  }

  .solutions .item .image,
  .columns .item .image {
    height: auto;
  }

  .solutions .item .image img,
  .columns .item .image img {
    width: 100%;
  }

  .solutions .item .image img{
    height: 30.8vw;
  }

  .solutions .item h3,
  .columns .item h3 {
    font-size: 4.267vw;
  }

  .solutions .item p,
  .columns .item p {
    font-size: 3.733vw;
  }

  .columns .item {
    margin-bottom: 4vw;
  }

  .columns .item .date {
    display: none;
  }

  .banner .banner-title h1.columns-icon::before {
    left  : -7.2vw;
    width : 5.4vw;
    height: 5.2vw;
  }


  .case-studies .section-sub-heading {
    margin-bottom: 5vw;
  }

  .case-studies .slider-wrapper {
    padding: 0;
  }

  .case-studies .case-studies-slider {
    margin: 0;
  }

  .case-studies .slider .slick-track {
    min-height: 133.333vw;
  }

  .case-studies .slider .slick-prev,
  .case-studies .slider .slick-next {
    top: calc(50% - 20vw);
  }

  .case-studies .slider .slick-dots {
    bottom: 10vw;
  }

  .case-studies .slider .item {
    margin   : 0 5vw 11vw;
    padding  : 0;
    transform: scale(1) translate(0, -10vw) !important;
  }

  .case-studies .slider .item.slick-center {
    transform: scale(1) translate(0, 0) !important;
  }

  .case-studies .slider .item.slick-center .image img {
    margin: auto;
  }

  .case-studies .slider .item .image {
    max-width : 100%;
    padding   : 4vw;
    min-height: 33.667vw;
  }

  .case-studies .slider .item .image img {
    height: 33.667vw;
    margin: auto;
  }

  .case-studies .slider .item .content {
    padding: 2.133vw;
  }

  .case-studies .slider .item .content h3 {
    font-size    : 4.267vw;
    margin-bottom: 5px;
  }

  .case-studies .slider .item .content p {
    margin-bottom: 5px;
    font-size    : 3.733vw;
  }

  .case-studies .slider .item .content .description {
    padding: 5px;
  }

  .case-studies .slider .item .content .description .left {
    width       : 7.467vw;
    height      : 7.467vw;
    font-size   : 2.667vw;
    margin-right: 2.667vw;
  }

  .case-studies .slider .item .content .description .right {
    font-size: 3.733vw;
  }

  .case-studies .bs-btn.style1 {
    margin-top: 3vw !important;
    width     : 40vw;
  }

  .case-studies .bs-btn.style1 .icon {
    width: 5vw;
  }

  .case-studies .bs-btn.style1 .icon img {
    width: 100%;
  }

  .slider.style2 .slick-prev {
    left     : 21vw;
    width    : 10vw;
    height   : 10vw;
    transform: translate(-100%, -50%);
  }

  .slider.style2 .slick-prev::before {
    background-size: 6vw;
  }

  .slider.style2 .slick-next {
    right    : 21vw;
    width    : 10vw;
    height   : 10vw;
    transform: translate(100%, -50%);
  }

  .slider.style2 .slick-next::before {
    background-size: 6vw;
  }

  .news .d-flex {
    flex-direction: column;
  }

  .news .content-left {
    padding: 8vw 0;
    width  : 100%;
  }

  .news .content-right {
    padding: 4vw;
  }

  .news .content-right p,
  .news .content-right time,
  .news .content-right .tag {
    font-size: 3.733vw;
  }

  .contact-casestudy .content .h2 {
    font-size  : 11.200vw;
    line-height: 11.200vw;
    margin     : 0;
  }

  .contact-casestudy .content .h2 img {
    width: 8vw;
  }

  .contact-casestudy .content .icon {
    right : 5.333vw;
    bottom: 1.5vw;
  }

  .contact-casestudy .content.case-study {
    background     : url(/common/images/top/case_study_bg_sp.png) no-repeat center;
    background-size: 100%;
  }

  .contact-casestudy .content.contact {
    background     : url(/common/images/top/contact_bg_sp.png) no-repeat center;
    background-size: 100%;
  }

  .footer {
    padding-bottom: 0;
  }

  .footer .footer-left {
    order: 1;
  }

  .footer .footer-left ul li {
    font-size: 3.733vw;
  }

  .footer .footer-right {
    order: 0;
  }

  .footer .footer-nav {
    margin-bottom: 0;
  }

  .footer .footer-sub-nav,
  .footer .footer-sub-nav ul,
  .footer .footer-nav ul {
    flex-direction: column;
    font-size     : 3.733vw;
  }

  .footer .footer-sub-nav .logo {
    width      : 17.600vw;
    margin-left: 0;
    margin-top : 8vw;
  }

  .footer .copy {
    font-size: 3.200vw;
  }

  .contact-casestudy .content {
    padding: 4.8vw 5.333vw;
  }

  .contact-casestudy .content .section-heading .h2 {
    font-size: 11.200vw;
  }

  .contact-casestudy .content .section-sub-heading {
    margin-bottom: 10px;
  }

  .contact-casestudy .content .description {
    font-size: 3.733vw;
  }

  .brands .container {
    flex-wrap: wrap;
  }

  .brands .container .item {
    padding      : 2.667vw 7vw;
    max-width    : 44.5vw;
    margin-bottom: 2.667vw;
    min-height   : 20vw;
  }

  .brands .container .item a {
    display    : flex;
    align-items: flex-start;
  }

  .news .img-hdn {
    display: none;
  }

  .news .section-sub-heading {
    margin-bottom: 0;
  }

  .banner .banner-title {
    top: 50%;
  }

  .banner .banner-title h1 {
    font-size    : 6vw;
    line-height  : 6vw;
    margin-bottom: 1.067vw;
  }

  .banner .banner-title h1::before {
    width : 4.667vw;
    height: 5.333vw;
    top   : 0.3vw;
    left  : -6vw;
  }

  .banner .banner-title p {
    font-size: 3vw;
  }

  .banner .banner-description,
  .banner + .banner-description {
    bottom : -11.5vw;
    padding: 5vw 2vw;
  }

  .banner .banner-description h3,
  .banner + .banner-description h3 {
    font-size    : 4.333vw;
    line-height  : 5.733vw;
    margin-bottom: 1.067vw;
  }

  .banner .banner-description p,
  .banner + .banner-description p {
    font-size  : 2.867vw;
    line-height: 5vw;
  }

  .banner img {
    height: 40vw;
  }

  .category {
    padding-top: 0!important;
    padding-bottom: 13.333vw;
  }

  .title-page {
    margin : 5vw 0;
    padding: 0 0 1.067vw 0;
  }

  .title-page h2 {
    font-size: 6vw;
  }

  .title-page p {
    font-size: 2.867vw;
  }

  .category-list li {
    margin: 0 0 2vw 0;
  }

  .category-list li a {
    font-size    : 3.400vw;
    border-radius: 4vw;
    padding      : 1.333vw 2vw;
    padding-right: 6vw;
  }

  .category-list li a .arrow {
    right          : 2.667vw;
    width          : 3.600vw;
    height         : 2.400vw;
    background-size: contain;
  }

  /* .item-card {
    padding: 2.400vw 2.800vw 0;
  } */
  .item-card>a {
    padding: 0 0 6.667vw;
  }

  .item-card .body-item {
    font-size: 3.5vw;
    padding  : 4vw;
  }

  .item-card .body-item .description {
    font-size: 4.267vw;
    margin   : 3vw 0;
  }

  .item-card .footer-item {
    /* height: 9.667vw; */
    padding: 0 2.800vw;
    right  : 0;
    width  : auto !important;
    left   : inherit;
    bottom : 3vw;
  }

  .item-card .footer-item .button {
    border-radius: 4vw;
    padding      : 1.067vw 3.333vw;
    padding-right: 4.667vw;
    font-size    : 3.400vw;
    line-height  : 3.400vw;
  }

  .item-card .footer-item .button::after {
    right : 1.333vw;
    width : 3vw;
    height: 2.333vw;
  }

  .pagination {
    margin: 4.667vw 0;
  }

  .pagination .page-item.next-page {
    margin: 0 0 0 3.733vw;
  }

  .pagination .page-link {
    min-width: auto;
    width    : 6.267vw;
    height   : 6.267vw;
    padding  : 1.600vw 0.933vw;
    font-size: 2.133vw;
  }

  /*------------------------------------------------------*/
  /*-------------------Category detail--------------------*/
  /*------------------------------------------------------*/
  .category-detail__header {
    margin-bottom: 6.667vw;
  }

  .category-detail__header .heading,
  .category-detail__header .sub-heading {
    margin-bottom: 4vw;
  }

  .category-detail__header .heading {
    font-size: 5vw;
  }

  .category-detail__header .sub-heading {
    font-size: 4.8vw;
  }

  .category-detail__body {
    margin-bottom: 4vw;
  }

  .category-detail__footer {
    padding: 5vw;
  }

  .category-detail__footer .description ul li .left {
    min-width   : 25vw;
    margin-right: 1.600vw;
  }

  .category-detail__footer .description ul li .right {
    display   : block;
    margin-top: 2px;
  }

  .list-card .item-card {
    width: 100%;
  }

  /* contact page */
  .pd-80 {
    padding-top: 10.667vw;
  }

  .banner .banner-title h1.contact-icon::before {
    top   : 1vw;
    left  : -8vw;
    width : 6vw;
    height: 5vw;
  }

  .contact-page .txt-desc {
    font-size: 3.733vw;
    margin   : 0 0 8vw 0;
  }

  .group_form {
    padding: 4vw;
  }

  .form-contact {
    flex-wrap: wrap;
    padding  : 4vw 0;
  }

  .form-contact .left,
  .form-contact .right {
    width: 100%;
  }

  .form-contact .right {
    padding: 0;
  }

  .form-contact .left .required {
    margin   : 0 0 0 2vw;
    font-size: 3.200vw;
  }

  .label-group {
    margin   : 0 0 1vw 0;
    font-size: 4.267vw;
  }

  .group_radio {
    display  : flex;
    flex-wrap: wrap;
  }

  .group_radio .custom_radio {
    width: 50%;
  }

  .custom_radio span,
  .custom_checkbox span {
    font-size: 3.733vw;
  }

  .form-contact .right.address .form-group .label-group {
    width    : 23.667vw;
    font-size: 3.200vw;
    padding  : 0 0 0 3vw;
    margin   : 0;
  }

  .group_checkbox {
    width: 100%;
  }

  .group_checkbox .custom_checkbox {
    width: 100%;
  }

  .person_info {
    padding: 5.333vw 0 0 0;
  }

  .person_info .ttl_3 {
    margin   : 0 0 4vw 0;
    font-size: 4.267vw;
  }

  .content-person_info {
    padding  : 4vw;
    margin   : 0 0 4vw 0;
    font-size: 3.733vw;
  }

  .scroll-content_person_info {
    max-height: 64vw;
  }

  .group-btn {
    margin: 13.333vw 0;
  }

  .group-btn .btn-apply,
  .group-btn .btn-back {
    min-width    : calc(50% - 2vw);
    padding      : 2.667vw 11.467vw;
    font-size    : 4vw;
    border-radius: 5.333vw;
  }

  .group-btn .btn-back {
    margin: 0 4vw 0 0;
  }

  .group-btn .btn-apply .ico,
  .group-btn .btn-back .ico {
    width: 7.467vw;
    right: 2.667vw;
  }

  .contact-page .category-detail__header {
    margin: 0 0 6.667vw 0;
  }

  .error {
    font-size: 3.200vw;
  }

  /* page FAQ */
  .banner .banner-title h1.faq-icon::before,
  .banner .banner-title h1.news-icon::before {
    left  : -7.333vw;
    width : 6.1vw;
    height: 5.367vw;
  }

  .list_qa {
    margin: 0 0 13.333vw 0;
  }

  .list_qa li {
    padding: 1.333vw 4vw;
    margin : 0 0 4vw 0;
  }

  .list_qa li .data-txt {
    padding: 4vw 0 4vw 9.333vw;
  }

  .list_qa li .data-txt::before {
    top: 4vw;
  }

  .list_qa li .question {
    font-size: 4.800vw;
  }

  .list_qa li .answer {
    font-size: 3.733vw;
  }

  /* page advantage */
  .banner .banner-title h1.advantage-icon::before {
    top   : -1vw;
    left  : -6.5vw;
    width : 4.633vw;
    height: 6.667vw;
  }

  .description_page {
    width           : 100%;
    display         : flex;
    justify-content : center;
    flex-wrap       : wrap;
    background-color: #ffffff;
    border          : solid 1.333vw #F8AB84;
    padding         : 4vw;
    margin          : -30vw 0 0;
  }

  .description_page .ttl {
    font-size: 5.667vw;
    margin   : 0 0 4vw;
  }

  .description_page .txt {
    text-align: center;
    font-size : 3.733vw;
  }

  .list_advantage {
    margin: 0;
  }

  .item-list_advantage {
    margin: 13.333vw 0 0 0;
  }

  .item-list_advantage .number {
    font-size: 3.467vw;
    margin   : 0 0 2.667vw 0;
  }

  .item-list_advantage .number span {
    font-size: 13.333vw;
  }

  .item-list_advantage .content-item {}

  .item-list_advantage .content-item .left {
    width: 100%;
  }

  .item-list_advantage .content-item .left:before {
    width : 53.333vw;
    height: 53.333vw;
    top   : 2.667vw;
    left  : 4vw;
  }

  .item-list_advantage .content-item .right {
    width  : 100%;
    padding: 2.667vw 0 0;
  }

  .item-list_advantage .content-item .right .ttl {
    font-size: 5.333vw;
    margin   : 0 0 2.667vw 0;
  }

  .item-list_advantage .content-item .right .txt {
    font-size: 3.733vw;
  }
}

@media (max-width: 575px) {
  .category-list li {
    width: 49%;
  }
}


/*# sourceMappingURL=style_sp.css.map */

@media (max-width: 991px) {

  /* 201002追記 */
  .category-detail__body .image {
    /* min-height: 255px; */
    height: 255px;
  }

  .list-card .item-card .image {
    /* height: auto; */
  }
}

@media (max-width: 767px) {
  .item-card .body-item {
    margin-bottom: 6vw;
  }
  .list-card .item-card .image {
    height: calc(180/375*100vw);
  }
  .list-card .item-card .image.h-sm-160 {
    height: calc(160/375*100vw);
  }
}

/* 231212追加 */
@media (max-width: 767px) {
/* 私たちの強み */
	#advantage_page .description_page {
		margin-top: -8vw;
	}
/* 制作事例 */
	#case_studies_page .title-page:first-child {
		margin-top: 18vw;
	}
/* コラム */
	#columns_page .banner-description {
		bottom: auto;
		top: 30vw;
	}
	#columns_page .title-page:first-child {
		margin-top: 28vw;
	}
}

/* 241004追加 */
@media (max-width: 767px) {
  .search-box {
    margin-top: 26.67vw;
  }
}

/* 250605追加 */
@media (max-width: 767px) {
  #register_frm .person_info p {
    text-align: initial;
  }
}