@media only screen and (max-width:599px) {
    body {
        min-width: auto;
        font-size: 14px;
    }

    main {
        margin-top: 52px;
    }

    h1 {
        font-size: 2.2em;
        width: 80%;
    }

    h2 {
        font-size: 1.8em;
        margin-bottom: 15px;
    }

    h2 img {
        display: none;
    }

    .container {
        width: 90%;
    }

    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    header {
        position: fixed;
        border-width: 3px;
        padding: 4px 2px;
        padding-right: 12px;
        border: none;
        min-width: auto;
    }

    .navi-btn-wrap {
        display: block;
        margin-left: auto;
    }

    .navi-btn {
        width: 30px;
        position: relative;
        cursor: pointer;
        display: inline-block;
        z-index: 1;
        height: 24px;
    }

    .navi-btn span {
        position: absolute;
        display: block;
        width: 34px;
        height: 2px;
        background: #fff;
        border-radius: 5px;
        transition: all .3s;
    }

    .navi-btn span:nth-of-type(2) {
        top: 9px;
        opacity: 1;
        transition: all .3s;
    }

    .navi-btn span:last-of-type {
        top: 18px;
    }

    .navi-btn p {
        color: #fff;
        text-align: center;
        position: absolute;
        top: 24px;
        left: 0px;
        font-size: 10px;
        letter-spacing: 1px;
    }

    .navi-btn-on span:first-of-type {
        transform: rotate(-45deg) translateY(7px) translateX(-4px);
    }

    .navi-btn-on span:nth-of-type(2) {
        transform: translateX(0);
        opacity: 0;
    }

    .navi-btn-on span:last-of-type {
        transform: rotate(45deg) translateY(-9px) translateX(-6px);
    }

    header nav {
        display: none;
        position: fixed;
        top: 52px;
        width: 100%;
        left: 0;
        background-color: #fff;
        padding: 15px 0;
    }

    header nav ul {
        display: block;
        width: 90%;
        margin: auto;
    }

    header nav ul li {
        margin-left: 0;
        text-align: center;
        margin-bottom: 12px;
    }

    header nav ul li:last-child{
        margin-bottom: 0px;

    }

    header nav ul li a {
        display: block;
        padding: 12px; 
        text-align: left;
        border: 1px solid;
        color: #3b3b3b;
    }

    header nav ul li a span {
        display: inline-block;
        margin-left: 10px;
        font-size: 0.8em;
        font-weight: normal;
        border-top: none;
    }

    .head-wrap .logo img {
        height: 44px;
    }

    .main-wrap {
        height: calc(100vh - 52px);
        height: calc(100dvh - 52px);
    }

    #top-concept {
        padding: 30px 0;
    }

    #top-concept .lead {
        line-height: 1.8;
        margin-bottom: 20px;
        font-weight: normal;
    }

    #top-concept .service-cts ul li {
        line-height: 1.8;
        margin-bottom: 20px;
        font-weight: normal;
    }

    #top-concept .service-cts ul li:last-child {
        margin-bottom: 0;
    }

    #top-concept .service-cts h3 {
        font-size: 1.17em;
        margin-bottom: 5px;
    }

    #top-news {
        padding: 30px 0;
    }

    #top-news .news-list {
        margin-top: 0;
    }

    #top-news .news-list article {
        margin-bottom: 15px;
    }

    #top-news .news-list article:last-child {
        margin-bottom: 0;
    }

    #top-news .news-list h3 {
        display: block;
        position: relative;
        padding: 5px 10px;
        padding-right: 40px;
        font-weight: normal;
    }

    #top-news .news-list h3 .date {
        display: block;
        border: none;
        margin-right: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    #top-news .news-list h3 .arrow {
        position: absolute;
        top: 50%;
        right: 12px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }

    #top-news .news-list .news-cts {
        padding: 10px;
    }

    #top-news .news-list .news-cts .date {
        margin-bottom: 0;
    }

    #top-news .news-list .news-cts .close-wrap {
        margin-top: 10px;
    }

    .pagination {
        margin-top: 25px;
    }

    #top-service {
        padding: 30px 0;
    }

    .cat #top-service {
        background-position-x: 80%;
    }

    .normal #top-service {
        background-position: center;
    }

    .pagination .page-numbers {
        min-width: 34px;
        height: 32px;
        border-width: 1px;
    }

    .pagination .page-numbers.next {
        min-width: 15px;
    }

    #top-service .lead {
        line-height: 1.8;
        font-size: 1em;
        margin-top: 0;
        font-weight: normal;
    }

    #top-service .lead p {
        margin-bottom: 15px;
    }

    #top-service .service-cts {
        margin-top: 20px;
    }

    #top-service .service-cts h3 {
        font-size: 1.17em;
    }

    #top-service .service-cts div p {
        font-size: 1em;
        line-height: 1.8;
        font-weight: normal;
    }

    #top-flow {
        padding: 30px 0;
    }

    #top-flow .flow-area {
        margin-top: 25px;
    }

    #top-flow .flow-area ul li {
        margin-bottom: 15px;
    }

    #top-flow .flow-area ul li .flow-cts {
        font-size: 1em;
    }

    #top-flow .flow-area ul li .flow-num {
        margin-right: 15px;
    }

    #top-flow .flow-area ul li .flow-num .num {
        width: 30px;
        height: 30px;
        font-size: 1.2em;
    }

    #top-flow .flow-area ul li .flow-cts {
        padding-top: 4px;
    }

    #top-flow .flow-area ul li .flow-cts .detail {
        line-height: 1.8;
    }

    #top-flow .flow-area ul li .flow-num .arrow {
        margin-top: 0;
    }

    #top-flow .flow-area ul li .flow-num .arrow img {
        width: 15px;
    }

    #top-campany .img-area .container {
        padding: 20px 0;
    }

    #top-campany .company-name {
        display: none;
    }

    #top-campany .detail-area {
        padding: 25px 0;
    }

    #top-campany .detail-area table {
        font-size: 1em;
    }

    #top-campany .detail-area h3 {
        font-size: 1.2em;
        margin-bottom: 10px;
        text-align: left;
    }

    #top-campany .detail-area h3 img {
        margin-left: 5px;
        height: 24px;
    }

    #top-campany .detail-area table th {
        white-space: nowrap;
        padding-right: 15px;
        padding-bottom: 5px;
    }

    #top-campany .detail-area table td {
        padding-bottom: 5px;
    }

    #top-map {
        padding-bottom: 30px;
        padding-top: 0;
    }

    #top-map .map-wrap {
        margin-top: 20px;
        padding-bottom: 10px;
        display: block;
    }

    #top-map .map-wrap>div {
        width: 100%;
    }

    #top-map .map-wrap>div:first-child {
        margin-right: 0;
        margin-bottom: 25px;
    }

    #top-map iframe {
        height: 250px;
    }

    #top-message {
        padding: 30px 0;
    }

    #top-message .cts-area {
        margin-top: 0;
    }

    #top-message .message-img {
        float: none;
        width: 100%;
    }

    #top-message .cts-area .catch {
        font-size: 1.2em;
        display: block;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    #top-message .cts-area .catch h3 {
        display: inline-block;
        font-size: 1.8em;
    }

    #top-message .cts-area .catch span {
        display: block;
    }

    #top-message .cts-area .message p {
        line-height: 1.8;
        margin-bottom: 15px;
        font-weight: normal;
    }

    #top-message .cts-area .name {
        font-weight: normal;
    }

    #top-recruit {
        padding: 30px 0;
    }

    #top-recruit .lead {
        font-size: 1em;
        margin-top: 15px;
        text-align: left;
        font-weight: normal;
    }

    #top-recruit .lead h3 {
        font-size: 1.2em;
        margin-bottom: 5px;
    }

    #top-recruit .recruit-list {
        margin-top: 20px;
    }

    #top-recruit .recruit-list h3 {
        padding: 10px;
        font-weight: normal;
    }

    #top-recruit .recruit-list .recruit-box {
        margin-bottom: 15px;
    }

    #top-recruit .recruit-list .recruit-box:last-child {
        margin-bottom: 0;
    }

    #top-recruit .detail {
        padding: 20px 15px;
        padding-bottom: 5px;
    }

    #top-recruit .detail ul li {
        font-weight: normal;
    }

    #top-recruit .detail .close-wrap {
        margin-top: 15px;
    }

    #top-recruit .detail .close-wrap .close img {
        height: 25px;
    }

    #top-faq {
        padding-bottom: 25px;
    }

    #top-faq .faq-list {
        margin-top: 0;
    }

    #top-faq .faq-list .faq-box {
        margin-bottom: 15px;
    }

    #top-faq .faq-list .faq-box h3 {
        padding: 10px;
        font-weight: normal;
    }

    #top-faq .faq-list .detail {
        padding: 15px 10px;
        padding-bottom: 5px;
        font-weight: normal;
    }

    #top-faq .faq-list .detail .question {
        margin-bottom: 10px;
    }

    #top-faq .faq-list .detail .close-wrap {
        margin-top: 15px;
    }

    #top-faq .faq-list .detail .close-wrap .close img {
        height: 25px;
    }

    #top-faq .faq-list .detail .close-wrap .close span {
        margin-top: 3px;
    }

    .foot-menu {
        padding-bottom: 5px;
    }

    .foot-menu ul li a {
        font-size: 1.8em;
        height: 80px;
    }

    footer .foot-btm {
        padding: 15px 0;
    }

    footer .privacy {
        margin-bottom: 10px;
    }

    .sub-page .sub-inner {
        padding: 20px 0;
    }

    #contact .lead {
        line-height: 1.8;
        text-align: left;
        margin-top: 0;
    }

    #contact .form-area {
        margin-top: 20px;
    }

    #contact .form-area table th {
        display: block;
        width: 100%;
        padding: 10px;
        border: none;
    }

    #contact .form-area table td {
        display: block;
        padding: 10px;
    }

    #contact .form-area .btn-wrap {
        margin-top: 20px;
    }

    #contact .form-area .btn-wrap input {
        width: 100%;
    }

    #contact .recaptcha-msg {
        margin-top: 0;
        text-align: left;
        padding-top: 20px;
    }

    #contact div.wpcf7-validation-errors,
    #contact .wpcf7 form .wpcf7-response-output,
    #contact div.wpcf7-mail-sent-ok {
        margin: 0;
        text-align: left;
        padding: 0;
        margin-bottom: 10px;
    }

    #page-top img {
        height: 20px;
    }

    /* 個人情報保護方針 */

    .privacy-list {
        margin-top: 20px;
    }

    .privacy-list h3 {
        margin-bottom: 5px;
    }

    .privacy-list>div {
        margin-bottom: 20px;
    }

    .privacy-list ol>li {
        margin-bottom: 10px;
    }
}