@CHARSET "UTF-8";

@media screen and (max-width: 768px){
    .header {
        height: 50px;
        width: 100%;
    }
    .header h1 {
        width: 290px;
        /* height: 110px; */
        display: block;
        margin: 3px 7px;
        float: none;
    }
    .contents {
        width: 90%;
    }
    .visual {
        height: 400px;
    }
    .visual .line {
        height: 400px;
    }
    .visual p.title {
        top: 20px;
    }
    .visual p.message {
        top: 250px;
        font-size: 105%;
        line-height: 2;
    }
    .visual .top-icon {
        top: 150px;
        right: -12%;
    }
    .arrow {
        width: 80px;
        display: block;
    }
    .sub-visual p.message {
        display: block;
        margin: 20px auto 0;
        font-size: 105%;
    }
    .business-box.left {
        width: 100%;
    }
    .business-box.left p.message {
        font-size: 102%;
    }
    .business-box.right {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }
    .business-box.right .body {
        display: block;
        width: 100%;
    }
    .business-box.right .top {
        padding-top: 10px;
    }
    .business-box.right .arrow {
        margin-top: 10px;
        display: inline-block;
    }
    .business-box.right p.message {
        margin-top: 10px;
        font-size: 102%;
    }
    .business-box.right .image {
        width: 100%;
    }
    .business-box.right .image img {
        border-top-right-radius: 0;
        border-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;
    }
    .business-box.right .bottom {
        padding-top: 10px;
    }
    .top-recruite-title {
        padding: 20px 0;
    }
    .top-recruite-title h2.title {
        display: block;
        margin-top: 20px;
        text-align: center;
    }
    .top-recruite-title h2.title span.welcome {
        margin-left: 0;
    }
    .our-heart {
        margin-top: 20px;
    }
    .re-syukatsu {
        margin-top: 20px;
        width: 100%;
    }
    .col-sm-3 {
        width: 100%;
        padding: 0 10px;
    }
    .our-heart .arrow.bottom,
    .re-syukatsu .arrow.bottom,
    .top-csr .arrow.bottom {
        width: 25%;
    }
    .our-heart p.title {
        margin-top: 30px;
    }
    .top-young-title {
        display: block;
        width: 100%;
        border-bottom-left-radius: 0;
        border-top-right-radius: 5px;
    }
    .col-sm-6.young {
        display: block;
        width: 100%;
    }
    .top-young-title h2.title {
        text-align: center;
        margin-bottom: 10px;
        margin-left: 8%;
    }
    .top-young-image img {
        border-top-right-radius: 0;
        border-bottom-left-radius: 5px;
    }
    .top-young-image {
        width: 100%;
        margin-bottom: 20px;
        display: block;
    }
    .top-young-title.partner h2.title {
        margin-top: 10px;
    }
    .top-company th,
    .top-company td {
        display: block;
        padding: 10px 0 0;
    }
    .top-company td.sep {
        display: none;
    }
    .contents.top-company {
        width: 80%;
    }
    .top-company th.space {
        display: none;
    }
    .contents.top-company {
        width: 80%;
    }
    .top-company th.space {
        display: none;
    }
    .top-print-map a.btn-to-map {
        width: 70%;
        font-size: 140%;
    }
    .contents.top-contact-area .title {
        font-size: 180%;
    }
    .contents.top-contact-area p.body {
        font-size: 110%;
        text-align: center;
        width: 100%;
        margin: auto;
    }
    .contents.top-contact-area a.btn-to-contact {
        width: 78%;
    }
    .contents.top-contact-area p.body.tel {
        text-align: center;
    }
    .idea-message-image img {
        width: 200%;
        margin-left: -75%;
    }
    .idea-message-image p.message {
        position: relative;
        color: #000;
        top: 0;
        left: 5%;
        width: 90%;
        font-size: 120%;
        margin-top: 10px;
    }
    .idea-message-image p.title {
        position: relative;
        color: #000;
        top: 0;
        left: 5%;
        width: 90%;
        font-size: 110%;
        margin-top: 20px;
    }
    .contents.idea.message {
        width: 90%;
        margin: auto;
    }
    p.form-body {
        text-align: left;
        font-size: 90%;
    }
    .form-area th,
    .form-area td {
        width: 100%;
        display: block;
    }
    .form-area th {
        text-align: left;
        padding: 0;
    }
    .form-area td {
        text-align: left;
        padding-top: 10px;
        padding-right: 0;
    }
    .form-area td span {
        display: block;
    }
    .form-area td .form-control {
        width: 90%;
        margin-bottom: 10px;
    }
    .kana {
        width: 85%!important;
    }
    .post-code-detail {
        margin-left: 0;
        display: block;
        margin-bottom: 10px;
    }
    input.address {
        width: 100%!important;
    }
    p.address-detail {
        margin-left: 0;
    }
    input.tel {
        width: 100%!important;
    }
    .form-area td.birth {
        padding-left: 0;
    }
    .birth-year {
        margin-right: 5px;
        margin-left: 0;
    }
    .birth-select {
        margin-right: 5px;
        margin-left: 5px;
    }
    textarea.skill {
        width: 100%!important;
    }
    .form-submit {
        margin-top: 0;
        padding-right: 0;
    }
    .form-submit .btn {
        margin: 10px auto;
        width: 60%;
        display: block;
    }
    .contents-title p.title {
        font-size: 160%;
    }
    .contact-area {
        text-align: left;
    }
    .contact-area h2.title {
        font-size: 150%;
        display: block;
        margin: 20px 0;
    }
    .contact-area .phone {
        margin-left: 0;
    }
    .contact-area p.privacy {
        margin-top: 30px;
        text-align: left;
        margin-left: 0;
    }
    .contents.personal {
        width: 90%;
        margin-top: 10px;
    }
    .contents.personal .arrow.right {
        margin-left: 0;
    }
    .network-area .body {
        margin-top: 15px;
        margin-bottom: 20px;
        font-size: 90%;
    }
    .contents.map {
        width: 90%;
        margin-top: 10px;
    }
    .contents.map table {
        margin-top: 20px;
    }
    .contents.map th, .contents.map td {
        display: block;
        padding: 10px 0 0;
    }
    .contents.map td.sep {
        display: none;
    }
    .contents.map td {
        font-size: 90%;
    }
    .contents.map th.space {
        display: none;
    }
    .contents-title .arrow.right {
        width: 60px;
        margin-top: -14px;
    }
    .contact-area {
        margin-left: 0;
    }
    .contact-area .personal-contact {
        margin-left: 0;
    }
    .privacy-notes {
        width: 90%;
        text-align: left;
    }
    .require-title {
        margin-top: 10px;
    }
    .require-title h2.title {
        margin-left: 0;
        display: block;
        margin-top: 10px;
        font-size: 150%;
        line-height: 1.6;
    }
    .requirement {
        width: 100%;
    }
    .requirement table {
        width: 100%;
    }
    .requirement th, .requirement td {
        width: 100%;
        display: block;
    }
    a.btn-to-form {
        width: 70%;
    }
    .development-image img {
        width: 126%;
        margin-left: -11%;
    }
    .adoption-body {
        margin-top: 10px;
    }
    .adoption-body th, .adoption-body td {
        width: 100%;
        display: block;
    }
    .adoption-body th {
        border-right: none;
        border-bottom: 1px solid #000;
    }
    .adoption-body th .body {
        margin-left: 0;
        width: 100%;
        padding-top: 50px;
    }
    .adoption-body th table.history {
        width: 100%;
        margin-left: 0;
    }
    .adoption-body th table.history th {
        background-color: #d7f5ff;
    }
    .adoption-body th .body.last {
        margin-top: 0;
        margin-left: 0;
        width: 100%;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .adoption-body td {
        padding: 30px 0 0;
    }
    .adoption-body .link-area {
        margin-top: 0;
    }
    .adoption-body .link-area a.btn {
        display: block;
        width: 60%;
        margin: 10px auto;
    }
    .staff-list td {
        width: 100%;
        display: block;
        margin-bottom: 20px;
    }

    .staff-list td.last {
        display: none;
    }

    .carrer-title .carrer-image {
        width: 100%;
        padding-top: 60px;
        margin-left: 0;
        overflow: auto;
    }
    .carrer-title .carrer-image img {
        width: 1000px;
    }
    .carrer-title .carrer-image::-webkit-scrollbar {
        height: 8px;
    }
    .carrer-title .carrer-image::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    .carrer-title .carrer-image::-webkit-scrollbar-thumb {
        background: #bcbcbc;
    }

    .carrer-title {
        margin-top: 0;
    }

    .carrer-body {
        text-align: left;
    }

    .training-area {
        margin-top: 0;
    }

    .training-area h2.title {
        display: block;
        margin-left: 0;
        margin-top: 20px;
    }

    .training-area .body {
        width: 100%;
        margin: 25px 0;
    }

    .training-area p {
        width: 100%;
    }

    .training-area p.havesome {
        margin: 0;
    }

    .training-area .train-image-top {
        position: relative;
        width: 100%;
        display: block;
    }

    .training-area .train-image-bottom {
        position: relative;
        width: 100%;
        margin-top: 10px;
    }

    .welfare-area {
        margin-top: 0;
    }

    .welfare-area .body.no-title {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 30px;
    }

    .welfare-area p {
        text-align: left;
    }

    .welfare-ex {
        width: 100%;
    }

    .welfare-ex .col-sm-4 {
        margin-bottom: 30px;
    }

    .welfare-ex .row {
        margin-bottom: 0;
    }
    .staff-title {
        margin-top: 0;
    }

    table.staff-introduction {
        width: 100%;
        margin: 30px auto;
    }

    table.staff-introduction td {
        width: 100%!important;
        display: block;
    }

    table.staff-introduction td.message {
        margin-top: 20px;
        width: 150%!important;
        margin-left: -25%;
    }

    table.staff-introduction td.message p {
        width: 100%!important;
        text-align: center;
        height: 4em;
        line-height: 4em;
    }

    p.staff-body {
        width: 100%;
        margin-top: 20px;
    }
    table.staff-introduction td.message p.vertical {
        writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        position: relative;
        width: 100%;
        top: 0;
        left: 0;
        margin-left: 0;
        margin-bottom: 0;
    }
    .staff-title h2.title {
        display: block;
        margin-left: 0;
        margin-top: 20px;
        font-size: 140%;
    }

    .staff-title .arrow.right {
        width: 50px;
    }
    td.message.visible-xs {
        display: block!important;
    }
    .contents.performance {
        width: 90%;
    }
    .contents-title.development p.title {
        margin-left: 20px;
    }

    .development-area {
        margin-top: 0;
    }

    .development-area .arrow.right {
        width: 60px;
    }

    .development-area h2.title {
        display: block;
        margin: 15px 0;
    }

    .development-area .body {
        width: 100%;
    }

    .development-area .ai-image {
        position: relative;
        width: 50%;
        left: 25%;
    }

    .system-area table.system {
        width: 100%;
    }

    .system-area table.system th, .system-area table.system td {
        width: 100%;
        display: block;
        font-size: 120%;
    }

    .system-area .example {
        width: 100%;
    }

    .system-area .example table {
        margin-left: 0;
        width: 100%;
    }

    .system-area .example td {
        width: 100%;
        display: block;
        padding: 5px 40px 0;
    }

    .example h2.title {
        display: inline-block;
    }

    .server-area {
        margin-top: 0;
    }

    .server-area .arrow.right {
        width: 60px;
    }

    .server-area h2.title {
        display: block;
        margin-left: 0;
        margin-top: 20px;
    }

    h2.title {
        font-size: 150%!important;
    }

    .server-area .body {
        width: 100%;
    }

    .server-area p {
        width: 100%;
    }

    .server-area .icloud-image {
        position: relative;
        width: 50%;
        left: 25%;
    }

    .server-area .reverse p {
        margin-left: 0;
    }

    .server-area .fwall-image {
        position: relative;
        width: 50%;
        left: 25%;
    }

    .server-area .vps-image {
        position: relative;
        width: 50%;
        left: 25%;
    }

    .server-area .large-image p {
        width: 100%;
    }

    .server-area .server-image {
        position: relative;
        width: 50%;
        left: 25%;
    }

    .price {
        width: 100%;
    }

    .price th, .price td {
        width: 100%;
        display: block;
    }

    .network-area.main {
        margin-top: 0;
    }

    .network-area.main .body.no-title {
        margin-top: 10px;
        width: 100%;
    }

    .network-area.main .arrow.right {
        width: 60px;
    }

    .network-area.main h2.title {
        display: block;
        margin-left: 0;
        margin-top: 10px;
    }

    .network-area.main .body {
        width: 100%;
    }

    .price.network p.message {
        display: block;
        margin-left: 0;
        width: 100%;
        margin-bottom: 10px;
    }

    .development-image {
        margin-top: 0;
    }

    .development-image img {
        width: 180%;
        margin-left: -40%;
    }
    .csr-image {
        width: 100%;
        margin-top: 0;
    }

    .csr-image .col-sm-4 {
        margin-bottom: 10px;
    }

    .environment-image {
        position: relative;
        width: 30%;
        top: 0;
        left: 35%;
        margin-top: -50px;
    }

    .requirement.csr {
        margin-bottom: 0;
    }
    .line6 {
        margin-left: auto;
        right: 0;
        width: 10px;
    }

    .line5 {
        margin-left: auto;
        right: 3px;
        width: 15px;
    }

    .line4 {
        margin-left: auto;
        right: 6px;
        width: 1px;
    }

    .line1 {
        width: 10px;
    }

    .line2 {
        width: 3px;
        margin-left: 3px;
    }

    .line3 {
        width: 10px;
        margin-left: 6px;
    }

    .line {
        opacity: 0.5;
        width: 2px;
    }

    .contents.idea {
        width: 80%;
        margin-left: 10%;
    }

    .company-idea p.message {
        font-size: 110%;
        text-align: left;
    }

    .company-idea table.description {
        margin-top: 20px;
    }

    .company-idea table.description th, .company-idea table.description td {
        width: 100%;
        display: block;
    }

    .company-idea table.description th {
        font-size: 110%;
        margin-bottom: 20px;
    }

    .contents.idea p.title.large {
        font-size: 130%;
        text-align: center;
    }
    .contents.idea p.body {
        font-size: 100%;
    }
    .welfare-ex .text.big {
        width: 100%;
    }
    .visual {
        overflow: hidden;
    }
    .contents.idea.article p.body {
        line-height: 1.8;
    }
    .sp-news {
        width: 90%;
        padding-top: 30px;
    }

    .sp-news p.message {
        text-align: left;
        font-size: 100%;
    }

    .introduction-wrap .prev, .introduction-wrap .next {
        margin-top: -80px;
    }
    .menu-fixed .wrap {
        padding-top: 50px;
    }
    .menu-fixed .header {
        padding: 0;
    }
    .top-csr {
        width: 100%;
    }
    .col-sm-6 {
        width: 100%;
    }
    .contents-title.recruite p.title {
        font-size: 120%;
    }
}

@media screen and (max-width: 480px){
    .introduction-wrap .prev, .introduction-wrap .next {
        width: 30px;
        height: 30px;
    }
    .introduction-wrap .prev a, .introduction-wrap .next a {
        font-size: 20px;
    }
    .contents.top-contact-area p.body {
        text-align: left;
        width: 90%;
    }
    .requirement .to-form {
        text-align: left;
        font-size: 100%;
    }
    .requirement .to-form p.center {
        text-align: center;
    }
    .contents-title.recruite p.title {
        font-size: 100%;
        margin-left: 30px;
    }
    table.infomation {
        width: 90%;
        margin: 20px auto;
    }
    table.infomation th, table.infomation td {
        width: 100%;
        display: block;
        text-align: center;
    }
    table.infomation th img {
        width: 80%;
    }
    table.infomation td {
        padding: 0;
        text-align: center;
        margin-top: 10px;
    }
    .top-company th {
        width: 50%;
    }
}

@media screen and (max-width: 400px){
    .contents-title p.title {
        font-size: 120%;
    }
    .contents-title .arrow.right {
        width: 50px;
        margin-top: -12px;
    }
    .hidden-lxs {
        display: none;
    }
}