@media(max-width: 767px) {
    .logged-in .header {
        top: 0;
    }

    .c-page-banner.banner-page {
        padding-top: 0;
        margin-top: 125px;
    }

    .c-page-banner.banner-page::before {
        transform: none;
        right: -40px;
        top: -40px;
    }

    .c-page-banner.banner-page::after {
        width: 160px;
        height: 160px;
        top: -40px;
        left: -50px;
    }

    .sidebar-title img {
        height: 75px;
        width: auto;
    }

    .sidebar-title h2 {
        font-size: 1.5rem;
    }

    .box-sidebar-work {
        padding-bottom: 20px;
        margin-bottom: 12px;
    }

    .box-sidebar-work:after {
        height: 78px;
        border-radius: 5px;
    }

    .box-side-flex {
        margin-top: 8px;
    }

    .work-list {
        padding: 0 13px;
    }

    .page-work .home-works__post-thumb {
        margin-right: 15px;
    }

    .page-work .home-works__post-text {
        width: calc(100% - 7px);
        left: 7px;
        border-radius: 7px;
        padding: 10px 17px;
        height: calc(100% + 24px);
        top: 12px;
    }

    .page-work .home-works__post .c-btn-view-more {
        width: 21px;
        height: 21px;
    }

    .page-work .home-works__post {
        margin-bottom: 57px;
    }

    .box-single-work {
        margin: 25px -20px 0;
        padding: 3px;
        border-radius: 5px;
    }

    .box-single-work-cont {
        border-radius: 3px;
        padding: 18px 19px 23px;
    }

    .title-single-work {
        padding-top: 15px;
        font-size: 1.5rem;
        color: #333;
        line-height: 1.56;
    }

    .box-date-cat .date {
        font-size: 1rem;
        width: 72px;
    }

    a.box-cat-work {
        width: 90px;
        height: 15px;
        font-size: 1rem;
        padding-top: 1px;
    }

    .box-overview {
        flex-direction: column;
        margin-bottom: 5px;
    }

    .overview-left {
        width: 100%;
        font-size: 1.3rem;
        padding: 10px 0;
    }

    .overview-right {
        margin: 0;
        width: 100%;
        padding: 10px 0;
    }

    .project-title {
        font-size: 1.4rem;
        padding: 5px 18px 12px;
        margin-bottom: 16px;
    }

    .project-title:after {
        width: 3px;
        height: 30px;
    }

    .project-cont {
        line-height: 1.73;
    }

    .box-project {
        margin-bottom: 30px;
    }

    .work-project::before {
        width: 331px;
        height: 167px;
        right: -40px;
        top: 15px;
    }

    .work-cons-slide button.slick-arrow {
        width: 35px;
        height: 35px;
        left: -22px;
        top: 88px;
    }

    .work-cons-slide button.slick-arrow.next-arrow {
        right: -22px;
    }

    .cons-slide-item p {
        padding-top: 10px;
    }

    .work-cons-slide::after {
        height: 195px;
    }

    .work-cons-slide {
        padding-bottom: 60px;
    }

    .work-cons-slide ul.slick-dots li {
        width: 15px;
        height: 3px;
        border: 1px solid rgb(255 255 255 / 50%);
    }

    .work-cons-slide ul.slick-dots {
        bottom: 25px;
    }

    a.btn.btn-blank {
        padding: 5px 50px 5px 35px;
        min-height: 60px;
        border-radius: 10px;
        line-height: 1.53;
        margin-bottom: 15px;
    }

    a.btn.btn-blank::before {
        width: 10px;
        height: 10px;
        left: 12px;
    }

    a.btn.btn-blank::after {
        width: 15px;
        height: 15px;
        right: 12px;
    }

    a.btn.btn-main.btn-home-single {
        width: 181px;
    }

    a.btn.btn-main {
        max-width: 181px;
        min-height: 50px;
        font-size: 1.4rem;
        background-size: 11px 6px;
        background-position: center right 15px;
        border-radius: 20px;
    }

    .page-navi {
        padding: 35px 0;
    }

    .sidebar-item.sidebar-arc {
        position: static;
        transform: none;
        margin-top: 20px;
    }

    .sidebar-item.sidebar-cat {
        margin: 0;
        justify-content: flex-end;
    }

    .sidebar-item {
        max-width: 234px;
    }

    .sidebar-item.sidebar-arc select {
        height: 40px;
        width: 93px;
        font-size: 1.2rem;
        padding-left: 12px;
        background-size: 11px 7px;
        background-position: center right 12px;
    }

    .sidebar-item.sidebar-arc .label {
        font-size: 1.2rem;
    }

    .news-filter {
        padding: 20px 0;
        border-radius: 5px;
    }

    .sidebar {
        padding-bottom: 20px;
    }

    .page-news .c-news {
        padding: 20px 0;
    }

    .page-news .c-news__title {
        font-size: 1.3rem;
        margin-top: 5px;
    }

    .single-page .page-navi::after {
        max-width: calc(100% - 60px);
    }

    .page-it .c-anchor__list {
        grid-template-columns: repeat(2, 1fr);
    }

    .box-img-it-1 {
        margin: 0 -30px;
    }

    .box-img-it-1 svg {
        width: 100%;
        height: auto;
    }

    .popup-item {
        max-width: calc(100vw - 35px);
        max-height: 490px;
    }

    .popup-item-cont {
        padding: 30px 20px 40px;
    }

    .popup-item-cont .popup-item-cont-inner {
        max-height: 440px;
    }

    .about-02::before {
        width: 237px;
        height: 88px;
        right: -120px;
        top: -25px;
    }

    .box-popup-about {
        flex-direction: column;
    }

    .popup-about-left {
        width: 100%;
    }

    .popup-about-right {
        width: 100%;
        padding-left: 0;
        padding-top: 30px;
    }

    .close-popup-cs {
        width: 50px;
        height: 50px;
    }

    .title-popup {
        font-size: 1.7rem;
        padding-bottom: 15px;
        margin-bottom: 20px;
    }

    .popup-about-right .list-dot li {
        font-size: 1.5rem;
        margin-bottom: 10px;
        padding-left: 20px;
    }

    .popup-about-right .list-dot li::after {
        width: 10px;
        height: 10px;
        top: 8px;
    }

    #it-01::before {
        width: 267px;
        height: 158px;
        top: 30px;
    }

    .it-01::before {
        width: 345px;
        height: 205px;
        left: -35px;
    }

    .it-01::after {
        height: 260px;
    }

    .business-item {
        padding-top: 35px;
        margin-bottom: 50px;
    }

    .img-busi-item {
        width: 298px;
        left: 110px;
        border-radius: 5px;
    }

    .icon-busi-item img {
        height: 50px;
    }

    .box-title-busi {
        min-height: 110px;
        font-size: 1.8rem;
        margin-top: 20px;
        margin-bottom: 12px;
        padding-left: 30px;
    }

    .box-title-busi:after {
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 0;
    }

    .box-title-busi:before {
        width: 2px;
        left: 0;
    }

    .des-busi {
        line-height: 1.73;
    }

    .busi-detail {
        margin-top: 25px;
        padding: 15px 20px 45px;
    }

    .busi-detail::after {
        width: 100%;
        border-radius: 5px;
    }

    .busi-detail h3 {
        font-size: 1.5rem;
        height: 27px;
        padding-left: 20px;
        margin-bottom: 20px;
    }

    .busi-detail h3:after {
        width: 2px;
    }

    .box-flex-busi {
        padding: 0;
        flex-direction: column;
    }

    .list-dot li {
        padding-left: 25px;
        line-height: 1.73;
        margin-bottom: 10px;
    }

    .list-dot li::after {
        width: 11px;
        height: 11px;
    }

    .box-btn {
        width: 100%;
        margin-top: 35px;
    }

    a.btn.btn-main.btn-small {
        max-width: 203px;
        min-height: 50px;
        font-size: 1.3rem;
        background-position: center right 10px;
        border-radius: 25px;
    }

    .it-03 {
        padding: 38px 0;
    }

    a.btn.btn-link {
        min-height: 93px;
        font-size: 1.4rem;
        padding-bottom: 5px;
        padding-left: 20px;
    }

    a.btn.btn-link img {
        width: 53px;
        margin-right: 20px;
    }

    a.btn.btn-link::before {
        width: calc(100% - 30px);
        bottom: 10px;
    }

    a.btn.btn-link::after {
        width: 34px;
        height: 34px;
        right: 15px;
    }

    .page-ict .business-item {
        padding-top: 0;
    }

    .page-ict .icon-busi-item img {
        height: 105px;
        margin-left: -15px;
    }

    .img-ict {
        max-width: 175px;
        margin: 0 auto;
    }

    .img-ict img {
        border-radius: 5px;
    }

    .content-ict h2 {
        font-size: 1.5rem;
        margin-top: 25px;
        margin-bottom: 20px;
    }

    .content-ict p {
        font-size: 1.3rem;
        text-align: justify;
    }

    .page-ict .box-btn {
        width: 100%;
        margin-right: 0;
    }

    .ict-01::before {
        width: 312px;
        height: 184px;
        left: 0;
        bottom: 20px;
        z-index: -5;
    }

    .ict-01::after {
        height: calc(100% - 180px);
    }

    .ict-02::after {
        height: calc(100% - 180px);
    }

    .box-contact-tel {
        flex-direction: column;
        padding: 15px 15px 25px;
    }

    .contact-tel {
        width: 100%;
        padding-bottom: 13px;
        border-bottom: 1px solid #aeaeae;
        border-right: none;
    }

    .box-tel-cs h2 {
        font-size: 2rem;
        margin: 3px auto;
    }

    .box-tel-cs h2::after {
        width: 23px;
        height: 25px;
        left: -30px;
    }

    .contact-fax {
        width: 100%;
        padding: 0 9px;
        margin-top: 23px;
    }

    .box-btn-contact a.btn.btn-main {
        min-height: 50px;
        border-radius: 30px;
        font-size: 1.3rem;
        background-size: 7px 12px;
        background-position: center right 27px;
    }

    .page-contact .c-page-banner__image img {
        width: 220px;
    }

    .contact-01::before {
        width: 267px;
        height: 158px;
        top: 30px;
    }

    .box-404 h2 span {
        font-size: 4rem;
    }

    .box-404 h2 {
        font-size: 2rem;
    }

    .box-404 h3 {
        font-size: 1.6rem;
        margin-bottom: 30px;
    }

    .box-404 p {
        font-size: 1.3rem;
    }

    .home-banner__title span {
        left: -10px;
    }
}