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

    .cat .scale-bg {
        background: url(../img/main_sp.jpg);
        background-size: cover;
        background-position: center;
    }

    .cat .main-wrap {
        height: 8000px;
    }

    .cat h1 {
        font-size: 2.6em;
        top: 25%;
    }

    .normal h1 {
        padding-right: 45px;
        padding-bottom: 15px;
    }

    .normal h1 {
        font-size: 2.2em;
    }

    .normal h1 img {
        height: 45px;
    }

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

    h2 img {
        display: none;
    }

    .container {
        width: 90%;
    }

    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .scroll span {
        font-size: 1.2em;
    }

    .normal .scroll {
        bottom: 40px;
    }

    .cat .change-btn {
        left: 10px;
    }

    .cat .change-btn {
        left: 10px;
    }

    .normal .change-btn {
        right: 10px;
        top: 10px;
    }

    .normal-btn img {
        height: 40px;
    }

    .cat-btn img {
        width: 50px;
    }

    .cat .contents {
        padding-top: 40px;
    }

    .normal .contents {
        border-width: 15px;
        margin-top: -15px;
        padding-top: 0;
    }

    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: #1e7e97;
        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: #1e7e97;
        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: 10px 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 a {
        display: block;
        padding: 12px;
        text-align: left;
        border: 1px solid;
        color: #1e7e97;
    }

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

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

    #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;
    }

    #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: 30px 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-recruit .career-plan-link{
        margin-top: 30px;
    }

    #top-recruit .career-plan-link a{
        display: flex;
        justify-content: center;
        padding: 8px;
    }

    #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;
        margin-top: 52px;
    }

    #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;
    }

    #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: 40px;
    }

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

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

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

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

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

    /* 開発実績 */

    #works .sub-inner {
        border-width: 5px;
        border-top: 5px solid #000;
    }

    #works .lead .cat01 {
        width: 70px;
        bottom: auto;
        top: -65px;
    }

    .works-main>div.spiral {
        margin-top: 30px;
    }

    .works-main .logo {
        margin-bottom: 20px;
    }

    .works-main .introduction {
        text-align: left;
    }

    .works-main .link-area a {
        width: 100%;
    }

    .works-main .cat02 {
        width: 100px;
        bottom: -100px;
    }

    .works-main .cat03 {
        width: 90px;
        bottom: -105px;
    }

    .works-kind {
        margin-top: 60px;
    }

    .works-kind h3 {
        font-size: 1.6em;
    }

    .works-kind .cat04 {
        width: 70px;
        left: 3%;
        top: -30px;
    }

    .works-kind .kind-wrap {
        margin-top: 30px;
    }

    .work-detail ul li {
        padding: 10px;
        font-size: 1em;
        margin-bottom: 10px;
        border-width: 1px;
    }

    .works-kind .kind-wrap .work-detail {
        margin-right: 3%;
        width: 62%;
    }

    .works-kind .kind-wrap .kind-area {
        width: 35%;
    }

    .kind-area ul li {
        padding: 10px;
        margin-bottom: 10px;
        border-width: 1px;
    }

    .kind-area .more-btn {
        margin-bottom: 10px;
        padding: 10px;
    }

    /* キャリアプラン */

    #career .sub-inner {
        border-width: 5px;
        padding-bottom: 30px;
    }

    .plan-contents > img{
        display: none;
    }

    #career .kind-tab{
        margin-bottom: 70px;
    }

    #career .kind-tab ul{
        display: flex;
    }

    #career .kind-tab li{
        margin-right: 0;
        font-size: 1em;
    }

    #career .kind-tab li:first-child{
        margin-right: 10px;
    }

    #career .plan-list{
        display: block;
        margin-top: 20px;
    }

    #career .plan-list dl:not(:last-child){
        margin-bottom: 30px;
    }

    #career .plan-list dl dd div{
        height: auto;
        padding: 15px;
    }

    #career .plan-list dl dt{
        padding: 10px;
        font-size: 1.1em;
    }

    #career .plan-list dl dt p:last-child{
        margin-bottom: 0;
    }

    #career .plan-list dl dt img{
        transform: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
        height: 100px;
        left: auto;
    }

    #career .plan-list dl dd ul li:last-child{
        margin-bottom: 0;
    }

    #career .plan-list dl:first-child dt{
        height: auto;
    }

    #career .plan-list dl:first-child dt img{
        bottom: 38%;
        left: 0;
    }

    #career .plan-list dl:nth-child(2) dt{
        height: auto;
    }

    #career .plan-list dl:nth-child(2) dt img {
        bottom: 32%;
        right: -3%;
    }

    #career .plan-list dl:nth-child(3) dt{
        height: auto;
    }

    #career .plan-list dl:nth-child(3) dt img{
        left: -3%;
        bottom: 66%;
    }

    #career .plan-list dl:nth-child(4) dt{
        height: auto;
    }

    #career .plan-list dl:nth-child(4) dt img{
        right: -3%;
        bottom: 44%;
    }

    #career .plan-list dl:nth-child(5) dt{
        height: auto;
    }

    #career #broadcast .plan-list dl:nth-child(5) dt{
        height: auto;
    }

    #career .plan-list dl:nth-child(5) dt img{
        left: 0;
        bottom: 49%;
    }

    #career #broadcast .plan-list dl:nth-child(5) dt img{
        bottom: 10%;
    }
}