@charset "UTF-8";
@media only screen and (max-width: 599px) {
    * {
        box-sizing: border-box;
    }
    .pc {
        display: none !important;
    }
    .header {
        display: none !important;
    }
    .sp {
        width: 100%;
        height: 60px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: fixed;
        z-index: 9999;
    }
    .sp-header {
        width: 100%;
        height: 60px;
        z-index: 100;
        position: fixed;
        top: 0;
    }
    .sp-header:checked {
        background-color: chartreuse;
    }
    .sp-header h1 {
        width: 30%;
        height: 60px;
    }
    .sp-header h1 img {
        width: 150px;
        display: block;
        padding: 5%;
    }
    .mv-inner {
        height: 667px;
        width: calc(100% - 50px);
        max-width: 1080px;
        margin: 0 auto;
    }
    .mv-text-container {
        position: absolute;
        left: 0;
        top: 320px;
        transform: translateY(0%);
    }
    .mv-img {
        display: none;
    }
    .mv-sp-img {
        display: block;
        margin: 0 auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 120px;
        transform: translateY(0%);
        width: calc(100% - 48px);
    }
    .mv-sp-img img {
        margin: 0 auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 120px;
        transform: translateY(0%);
        width: calc(100% - 48px);
    }
    /* top ------------------------- */
    .main-wrapper {
        width: 100%;
    }
    .top-about-inner {
        width: 100%;
        margin: 100px auto 0;
    }
    .top-about-p {
        font-size: 13px;
    }
    .top-about-point02 {
        font-size: 20px;
    }
    .top-question-section {
        width: 90%;
    }
    .top-question-ul {
        flex-direction: column;
    }
    .top-question-ul li {
        width: 80%;
        margin: 5% auto;
    }
    .top-service-inner {
        padding: 5%;
        margin: 0;
        width: 80%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .top-question-title::before {
        font-size: 50px;
        left: 37%;
        top: -32px;
    }
    .top-question-title {
        font-size: 15px;
    }
    .question-p {
        font-size: 15px;
    }
    .question-img-container {
        width: 100%;
    }
    .top-question-p {
        font-size: 13px;
    }
    .bnr-container img {
        width: 80%;
    }
    .news-container {
        padding: 50px 0;
        width: 80%;
    }
    .news-title {
        text-align: center;
        font-size: 30px;
    }
    .news-time {
        font-size: 13px;
    }
    .news-tag {
        width: 120px;
    }
    .news-inner-title {
        font-size: 17px;
    }
    .contact-inner {
        width: 80%;
        margin-left: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        align-items: center;
        text-align: center;
    }
    /* top ------------------------- */
    /* footer ------------------------- */
    .footer-inner {
        flex-direction: column;
    }
    .footer-logo {
        margin-bottom: 50px;
    }
    .footer-nav-ul li {
        margin: 5px 0;
    }
    /* footer ------------------------- */
    .subpage-inner {
        flex-direction: column;
        padding: 70px 0 0 0;
    }
    .subpage-title {
        width: 100%;
        margin-bottom: 20px;
    }
    .subpage-title h1 {
        font-size: 30px;
    }
    .subpage-span {
        font-size: 15px;
    }
    .subpage-photo {
        width: 100%;
    }
    /* service ------------------------- */
    .service-wrapper {
        width: 80%;
        padding: 70px 0 70px 0;
    }
    .service-h2title {
        font-size: 30px;
    }
    .service-explain-p {
        font-size: 12px;
        line-height: 25px;
    }
    .service-explain-point02 {
        font-size: 20px;
    }
    .service-explain-section img {
        width: 100%;
    }
    .serviceBOX {
        flex-direction: column;
    }
    .service-box-text {
        width: 100%;
    }
    .service-box-photo {
        width: 100%;
    }
    .service-movie-frame {
        width: 100%;
        height: 200px;
        padding: 0px;
    }
    /* service ------------------------- */
    /* company ------------------------- */
    .company-timeline-inner {
        flex-direction: column;
    }
    .company-timeline-photo {
        width: 100%;
    }
    .company-timeline-text {
        width: 100%;
    }
    .company-outline-section {
        margin: 20% auto 5%;
    }
    .table-list {
        width: 100%;
        margin: 10% auto 20%;
    }
    .company-message-section {
        margin: 20% auto 10%;
    }
    .message-inner {
        flex-direction: column;
    }
    .message-title {
        width: 100%;
    }
    .message-photo {
        width: 100%;
    }
    /* company ------------------------- */
    /* contact ------------------------- */
    .contact-wrapper01 {
        width: 100%;
    }
    .contact-wrapper02 {
        padding: 15% 0 5%;
        margin-bottom: 5%;
    }
    .contact-TELBox {
        margin: 15% auto;
    }
    .contact-telLink a {
        font-size: 2em;
    }
    .contact-tel-span {
        font-size: 0.8em;
    }
    .contact-form {
        width: 100%;
        padding: 10% 0;
    }
    .form-table {
        width: 90%;
        margin: 0 auto;
    }
    .form-table th {
        display: block;
        width: 100%;
        text-align: left;
    }
    .form-table td {
        display: block;
        width: 100%;
        padding: 3% 0;
        margin-bottom: 10%;
    }
    .form-table input[type="text"],
    input[type="email"] {
        width: 100%;
        max-width: 370px;
        background-color: #fff;
    }
    .form-table textarea {
        width: 100%;
        max-width: 370px;
        height: 300px;
        background-color: #fff;
    }
    .form-table input[type="submit"],
    input[class="submit-btn"] {
        width: 70%;
        max-width: 250px;
    }
    .form-check-section {
        width: 90%;
    }
    .steps li .numb {
        font-size: 12px;
    }
    .steps li .big {
        font-size: 15px;
    }
    .formTable {
        width: 80%;
    }
    .formTable th {
        width: 120px;
    }
    .contact-next-btn {
        font-size: 12px;
    }
    /* contact ------------------------- */
}