html {
    -webkit-text-size-adjust: none;
}
@media screen and (min-width: 360px) {
    * {
        -webkit-text-size-adjust: none;
    }
}
@media only screen and (max-width: 1500px) {
    /* ----------------
fixed copyright
---------------- */
    .fixed-copyright-wrap {
        display: block;
        position: absolute;
        bottom: 30px;
        left: 0px;
        font-size: 93.33%;
        letter-spacing: 0.1em;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        padding: 0px 0px 0px 0px;
        width: 100%;
        text-align: center;
    }
    .fixed-copyright-wrap::after {
        content: none;
    }
    /* ----------------
main visual
---------------- */
    .main-visual .visual-text-wrap {
        left: 40px;
        top: calc(50% - 170px);
    }
    .main-visual .news-wrap {
        left: 40px;
        bottom: -230px;
    }
    /* ----------------
Team Philosophy
---------------- */
    .team-philosophy-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Our Four Strengths
---------------- */
    .four-strengths-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Production Flow
---------------- */
    .production-flow-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Common Question
---------------- */
    .common-question-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Production results
---------------- */
    .production-results-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Customer Testimonials
---------------- */
    .customer-testimonials-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Representative Profile
---------------- */
    .representative-profile-wrap {
        width: calc(100% - 20px);
    }
    /* ----------------
Contact Us
---------------- */
    .contact-us-wrap {
        width: calc(100% - 20px);
    }
}
@media only screen and (max-width: 1420px) {
    /*-------------
 	general
-------------*/
    body {
        font-size: 15px;
    }
    .fadein00 {
        opacity: 1.0;
        transform: translate(0, 0px);
    }
    .fadein00.scrollin {
        animation-name: fadeIn1s;
        animation-delay: 0s;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        transform: translateY(0px);
        opacity: 1.0;
    }
    /* ----------------
header
---------------- */
    .menu-wrap ul li:not(:first-child) {
        padding: 0px 0px 0px 50px;
    }
    
    /* ----------------
main visual
---------------- */    
.main-visual .visual-text-wrap > div {
    font-size: 400%;
}
.main-visual .deco-text-wrap {
    top: 55%;
}
}
@media only screen and (max-width: 1000px) {
    /* ----------------
sp menu
---------------- */
    #sp-menu {
        display: block;
    }
    /*-------------
 	general
-------------*/

    br.sp-use {
        display: inline;
    }
        br.pc-use {
        display: none;
    }
    /* ----------------
fixed copyright
---------------- */
    .fixed-copyright-wrap {
        display: block;
        position: absolute;
        bottom: 80px;
        left: 0px;
        font-size: 86.66%;
        letter-spacing: 0.1em;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        padding: 0px 0px 0px 0px;
        width: 100%;
        text-align: center;
    }
    .fixed-copyright-wrap::after {
        content: none;
    }
    /* ----------------
fixed link
---------------- */
    .fixed-link-wrap {
        position: fixed;
        bottom: 0px;
        right: auto;
        left: 0px;
        width: calc((100% / 3) * 2);
        display: flex;
        justify-content: flex-start;
        align-items: center;
        transition: opacity 0.4s ease-out;
        -webkit-transition: opacity 0.4s ease-out;
        -moz-transition: opacity 0.4s ease-out;
        -o-transition: opacity 0.4s ease-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        opacity: 0;
    }
    .fixed-link-wrap.is-active {
        opacity: 1.0;
    }
    .fixed-link-wrap .tel-link {
        width: 50%;
        height: 60px;
        margin: 0px 0px 0px 0px;
    }
    .fixed-link-wrap .tel-link a {
        background-color: #000000;
        width: 100%;
        height: 100%;
        border-radius: 0px;
    }
    .fixed-link-wrap .mail-link {
        width: 50%;
        height: 60px;
    }
    .fixed-link-wrap .mail-link a {
        background-color: #000000;
        width: 100%;
        height: 100%;
        border-radius: 0px;
    }
    /* ----------------
pagetop
---------------- */
    #to-top {
        position: fixed;
        bottom: 0px;
        right: 0px;
        width: calc(100% / 3);
        height: 60px;
    }
    #to-top a {
        width: 100%;
        height: 100%;
        border-radius: 0px;
        background-color: #000000;
    }
    /* ----------------
header
---------------- */
    header {
        position: absolute;
    }
    .header-content {
        padding: 10px 10px 10px 10px;
    }
    .header-content .logo-wrap a .logo-mark {
        max-width: 140px;
    }
    header.scroll-situation {
        background-color: rgba(230, 230, 230, 0.0);
    }
    header.scroll-situation .header-content {
        padding: 10px 10px 10px 10px;
    }
    header.scroll-situation .header-content .logo-wrap a .logo-mark {
        max-width: 120px;
    }
    .menu-wrap {
        display: none;
    }
    /* ----------------
main visual
---------------- */
    .main-visual .visual-text-wrap {
        top: calc(50% - 60px);
        left: 5%;
    }
    .main-visual .visual-text-wrap > div {
        font-size: 266.66%;
        padding: 5px 0px 5px 0px;
    }
    .main-visual .visual-text-wrap > div:nth-child(2) {
        padding-left: 30px;
    }
    .main-visual .visual-text-wrap > div > span.small {
        padding-bottom: 4px;
    }
    .main-visual .deco-text-wrap {
        /*top: calc(50% + 50px);*/
        top: 65%;
        left: -0.5em;
        font-size: 533.33%;
    }
    .main-visual .news-wrap {
        bottom: -280px;
        left: 10px;
        width: calc(100% - 20px);
    }
    .main-visual .news-wrap .news-block {
        align-items: flex-start;
        padding: 10px 0px 10px 0px;
    }
    .main-visual .news-wrap .news-block .news-img {
        flex-basis: 160px;
        max-width: 160px;
        padding: 10px 0px 0px 0px;
    }
    .main-visual .news-wrap .news-block .news-body {
        flex-basis: calc(100% - 170px);
        max-width: calc(100% - 170px);
    }
    .main-visual .news-wrap .news-block .news-body .news-date {
        font-size: 86.66%;
        padding: 0px 0px 0px 0px;
    }
    .main-visual .news-wrap .news-block .news-body .news-title {
        font-size: 100%;
        padding: 0px 0px 5px 0px;
    }
    .main-visual .news-wrap .news-block .news-body .news-title span.new {
        margin: 4px 0px 0px 3px;
    }
    .main-visual .news-wrap .news-block .news-body .news-desc {
        font-size: 73.33%;
    }
    /* ----------------
Team Philosophy
---------------- */
    .team-philosophy-wrap {
        width: calc(100% - 20px);
        margin: 280px auto 0px auto;
        padding: 60px 0px 0px 0px;
    }
    .team-philosophy-wrap .deco-text-wrap {
        bottom: -170px;
        right: -2.0em;
        font-size: 533.33%;
    }
    .team-philosophy-wrap .content-title .en {
        font-size: 153.33%;
    }
    .team-philosophy-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .team-philosophy-wrap .team-philosophy-content {
        width: 100%;
        padding: 40px 0px 0px 0px;
    }
    .team-philosophy-wrap .team-philosophy-content .philosophy-message {
        font-size: 133.33%;
        padding: 0px 0px 30px 0px;
    }
    .team-philosophy-wrap .team-philosophy-content .philosophy-desc {
        line-height: 2.0;
    }
    .team-philosophy-wrap .team-philosophy-content .philosophy-desc p:not(:last-child) {
        padding-bottom: 15px;
    }
    .team-philosophy-wrap .team-philosophy-content .philosophy-desc p:nth-child(2) {
        font-size: 93.33%;
        font-weight: 500;
    }
    .team-philosophy-wrap .team-philosophy-content .philosophy-desc p span {
        display: inline-block;
        padding-left: 1.0em;
        text-indent: -1.0em;
    }
    .team-philosophy-wrap .team-philosophy-img-wrap {
        width: 300px;
        height: 440px;
        right: calc((100% - 300px) / 2);
        top: auto;
        bottom: -340px;
    }
    .team-philosophy-wrap .team-philosophy-img-wrap .team-philosophy-img01 {
        top: 60px;
    }
    .team-philosophy-wrap .team-philosophy-img-wrap .team-philosophy-img02 {
        bottom: 100px;
    }
    /* ----------------
Our Four Strengths
---------------- */
    .four-strengths-wrap {
        width: calc(100% - 20px);
        margin: 220px auto 0px auto;
        padding: 180px 0px 0px 0px;
    }
    .four-strengths-wrap .deco-text-wrap {
        bottom: -120px;
        left: -1.8em;
        font-size: 533.33%;
    }
    .four-strengths-wrap .content-title .en {
        font-size: 153.33%;
    }
    .four-strengths-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .four-strengths-wrap .four-strengths-content {
        padding: 40px 0px 0px 0px;
        flex-wrap: wrap;
    }
    .four-strengths-wrap .four-strengths-content .four-strengths-box {
        /*flex-basis: 48%;
        max-width: 48%;
        margin-bottom: 30px;*/
        flex-basis: 23.5%;
        max-width: 23.5%;
    }
    .four-strengths-wrap .four-strengths-content .four-strengths-box .strengths-box-title {
        padding: 15px 0px 15px 0px;
    }
    .four-strengths-wrap .four-strengths-content .four-strengths-box .strengths-box-desc {
        font-size: 86.66%;
    }
    /* ----------------
Production Flow
---------------- */
    .production-flow-wrap {
        width: calc(100% - 20px);
        margin: 0px auto 0px auto;
        padding: 60px 0px 60px 0px;
    }
    .production-flow-wrap .deco-text-wrap {
        bottom: -120px;
        right: -0.5em;
        font-size: 533.33%;
    }
    .production-flow-wrap .content-title .en {
        font-size: 153.33%;
    }
    .production-flow-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .production-flow-wrap .production-flow-content {
        flex-wrap: wrap;
        padding: 40px 0px 0px 0px;
        max-width: 600px;
        margin: 0 auto;
    }
    .production-flow-wrap .production-flow-content .production-flow-box {
        flex-basis: 100%;
        max-width: 100%;
        padding: 30px 0px 30px 0px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:not(:last-child) {
        flex-basis: 100%;
        max-width: 100%;
        margin: 0px 0px 50px 0px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:not(:last-child)::after {
        height: 50px;
        width: 100%;
        top: auto;
        right: 0%;
        bottom: -40px;
        background-image: url("../images/flow-arrow-s.png");
        background-size: 100% 50px;
        background-position: center bottom;
    }
    .production-flow-wrap .production-flow-content .production-flow-box .icon-wrap {
        height: 90px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:not(:last-child) .icon-wrap {
        padding: 0px 0px 0px 0px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:nth-child(1) .icon-wrap img {
        max-width: calc(94px * 0.7);
    }
    .production-flow-wrap .production-flow-content .production-flow-box:nth-child(2) .icon-wrap img {
        max-width: calc(96px * 0.7);
    }
    .production-flow-wrap .production-flow-content .production-flow-box:nth-child(3) .icon-wrap img {
        max-width: calc(90px * 0.7);
    }
    .production-flow-wrap .production-flow-content .production-flow-box:nth-child(4) .icon-wrap img {
        max-width: calc(101px * 0.7);
    }
    .production-flow-wrap .production-flow-content .production-flow-box .title-wrap {
        padding: 20px 20px 0px 0px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:not(:last-child) .title-wrap {
        padding: 20px 20px 0px 0px;
    }
    .production-flow-wrap .production-flow-content .production-flow-box .desc-wrap {
        padding: 20px 30px 0px 30px;
        font-size: 93.33%;
    }
    .production-flow-wrap .production-flow-content .production-flow-box:not(:last-child) .desc-wrap {
        padding: 20px 30px 0px 30px;
    }
    /* ----------------
Middle Image
---------------- */
    .middle-img-wrap {
        display: block;
        position: relative;
        width: 100%;
        margin: -20px auto 0px auto;
        padding: 0px 0px 290px 0px;
        height: 300px;
    }
    .middle-img-wrap img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        object-position: center center;
    }
    .middle-img-wrap::after {
        width: 100%;
        height: 120%;
        top: auto;
        left: 0;
        bottom: -100px;
    }
    /* ----------------
Common Question
---------------- */
    .common-question-wrap {
        width: calc(100% - 20px);
        margin: 120px auto 0px auto;
        padding: 60px 0px 0px 0px;
    }
    .common-question-wrap .deco-text-wrap {
        bottom: -120px;
        left: -1.8em;
        font-size: 533.33%;
    }
    .common-question-wrap .common-question-content-wrap {
        flex-wrap: wrap;
        width: 100%;
    }
    .common-question-wrap .common-question-content-wrap .content-title-wrap {
        flex-basis: 100%;
        max-width: 100%;
    }
    .common-question-wrap .common-question-content-wrap .content-title-wrap .content-title .en {
        font-size: 153.33%;
    }
    .common-question-wrap .common-question-content-wrap .content-title-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .common-question-wrap .common-question-content-wrap .common-question-content {
        flex-basis: 100%;
        max-width: 100%;
        padding: 40px 0px 0px 0px;
    }
    .common-question-wrap .common-question-content-wrap .common-question-content .common-question-block {
        width: 100%;
        padding: 10px 0px 40px 0px;
    }
    .common-question-wrap .common-question-content-wrap .common-question-content .common-question-block .question-part {
        padding: 0px 0px 20px 0px;
    }
    .common-question-wrap .common-question-content-wrap .common-question-content .common-question-block .answer-part {
        font-size: 93.33%;
    }
    /* ----------------
Production results
---------------- */
    .production-results-wrap {
        width: calc(100% - 20px);
        margin: 0px auto 0px auto;
        padding: 60px 0px 0px 0px;
    }
    .production-results-wrap .deco-text-wrap {
        bottom: -120px;
        right: -1.8em;
        font-size: 533.33%;
    }
    .production-results-wrap .content-title .en {
        font-size: 153.33%;
    }
    .production-results-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .production-results-wrap .production-results-content {
        flex-wrap: wrap;
        padding: 40px 0px 0px 0px;
        max-width: 600px;
        margin: 0 auto;
    }
    .production-results-wrap .production-results-content .production-results-box {
        flex-basis: 100%;
        max-width: 100%;
    }
    .production-results-wrap .production-results-content .production-results-box .video-container-wrap {
        padding: 0px 20px 0px 20px;
        max-width: 400px;
        margin: 0 auto;
    }
    .production-results-wrap .production-results-content .production-results-box:not(:last-child) {
        margin: 0px 0px 40px 0px;
    }
    .production-results-wrap .production-results-content .production-results-box:last-child {
        margin: 0px 0px 0px 0px;
    }
    .production-results-wrap .production-results-content .production-results-box .results-box-title {
        padding: 20px 0px 10px 0px;
    }
    .production-results-wrap .production-results-content .production-results-box .results-box-desc {
        padding: 20px 0px 0px 0px;
    }
    /* ----------------
Customer Testimonials
---------------- */
    .customer-testimonials-wrap {
        width: calc(100% - 20px);
        margin: 0px auto 0px auto;
        padding: 80px 0px 0px 0px;
    }
    .customer-testimonials-wrap .deco-text-wrap {
        bottom: -120px;
        left: -2.2em;
        font-size: 533.33%;
    }
    .customer-testimonials-wrap .content-title .en {
        font-size: 153.33%;
    }
    .customer-testimonials-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .customer-testimonials-wrap .customer-testimonials-content {
        flex-wrap: wrap;
        padding: 40px 0px 0px 0px;
        max-width: 600px;
        margin: 0 auto;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box {
        flex-basis: 100%;
        max-width: 100%;
        padding: 35px 20px 30px 20px;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box:not(:last-child) {
        margin: 0px 0px 40px 0px;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box .customer-img-wrap img {
        max-width: 160px;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box .customer-box-title {
        padding: 20px 0px 20px 0px;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box .customer-box-desc {
        font-size: 93.33%;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box .customer-box-category {
        padding: 20px 0px 0px 0px;
    }
    .customer-testimonials-wrap .customer-testimonials-content .customer-testimonials-box .customer-box-category .category-text {
        font-size: 93.33%;
    }
    /* ----------------
Representative Profile
---------------- */
    .representative-profile-wrap {
        width: calc(100% - 20px);
        margin: 0px auto 0px auto;
        padding: 80px 0px 0px 0px;
    }
    .representative-profile-wrap .deco-text-wrap {
        bottom: -120px;
        right: -3.4em;
        font-size: 533.33%;
    }
    .representative-profile-wrap .representative-profile-content-wrap {
        flex-wrap: wrap;
    }
    .representative-profile-wrap .representative-profile-content-wrap .content-title-wrap {
        flex-basis: 100%;
        max-width: 100%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .content-title-wrap .content-title .en {
        font-size: 153.33%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .content-title-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content {
        flex-basis: 100%;
        max-width: 100%;
        padding: 40px 0px 0px 0px;
        flex-wrap: wrap;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-img-wrap {
        flex-basis: 100%;
        max-width: 100%;
        text-align: center;
        padding: 0px 0px 30px 0px;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-img-wrap img {
        max-width: 120px;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap {
        flex-basis: 100%;
        max-width: 100%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-post{
    font-size: 86.66%;

}
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-name {
        font-size: 133.33%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-message{
font-size: 93.33%;
}
    
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-history {
        font-size: 93.33%;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-history p {
        padding: 0px 0px 0px 1.0em;
    }
    .representative-profile-wrap .representative-profile-content-wrap .representative-profile-content .profile-desc-wrap .main-specialty .specialty-desc {
        font-size: 93.33%;
    }
    /* ----------------
Contact Us
---------------- */
    .contact-us-wrap {
        width: calc(100% - 20px);
        margin: 0px auto 0px auto;
        padding: 80px 0px 200px 0px;
    }
    .contact-us-wrap .deco-text-wrap {
        bottom: 30px;
        left: -1.8em;
        font-size: 533.33%;
    }
    .contact-us-wrap .contact-us-content-wrap {
        flex-wrap: wrap;
    }
    .contact-us-wrap .contact-us-content-wrap .content-title-wrap {
        flex-basis: 100%;
        max-width: 100%;
    }
    .contact-us-wrap .contact-us-content-wrap .content-title-wrap .content-title .en {
        font-size: 153.33%;
    }
    .contact-us-wrap .contact-us-content-wrap .content-title-wrap .content-title .ja {
        font-size: 93.33%;
    }
    .contact-us-wrap .contact-us-content-wrap .content-title-wrap .content-message {
        padding: 40px 0px 0px 0px;
        font-size: 93.33%;
    }
    .contact-us-wrap .contact-us-content-wrap .content-title-wrap .content-message p:not(:last-child) {
        padding: 0px 0px 20px 0px;
    }
    .contact-us-wrap .contact-us-content-wrap .contact-us-content {
        flex-basis: 100%;
        max-width: 100%;
        padding: 40px 0px 0px 0px;
    }
    .contact-btn-wrap {
        justify-content: center;
        padding: 20px 0px 0px 0px;
    }
    .contact-btn-wrap a,.contact-btn-wrap input[type="submit"]  {
        font-size: 93.33%;
        padding: 20px 80px 20px 80px;
    }
}
@media only screen and (max-width: 800px) {
    /* ----------------
main visual
---------------- */
    .main-visual .visual-img-wrap {
        height: 500px;
    }
    .main-visual .visual-img-wrap img {
        width: 100%;
        height: 500px;
        object-fit: cover;
        object-position: top -30px right -0px;
    }
    .main-visual .visual-text-wrap > div {
        font-size: 213.33%;
        padding: 5px 0px 5px 0px;
    }
    .main-visual .visual-text-wrap > div:nth-child(2) {
        padding-left: 0px;
    }
    /* ----------------
Our Four Strengths
---------------- */
    .four-strengths-wrap .four-strengths-content .four-strengths-box {
        flex-basis: 48%;
        max-width: 48%;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 499px) {
    /* ----------------
header
---------------- */
    .header-content .logo-wrap a .logo-mark {
        max-width: 120px;
    }
    /* ----------------
main visual
---------------- */
    .main-visual .visual-img-wrap img {
        object-position: top -80px right -30px;
    }
    .main-visual .visual-text-wrap {
        left: 10px;
    }
    .main-visual .visual-text-wrap > div {
        font-size: 186.66%;
        padding: 5px 0px 5px 0px;
    }
    .main-visual .news-wrap .news-block .news-img {
        flex-basis: 100px;
        max-width: 100px;
        padding: 10px 0px 0px 0px;
    }
    .main-visual .news-wrap .news-block .news-body {
        flex-basis: calc(100% - 110px);
        max-width: calc(100% - 110px);
    }
    /* ----------------
Team Philosophy
---------------- */
    .team-philosophy-wrap .team-philosophy-img-wrap {
        width: calc(100% - 80px);
        height: 440px;
        right: 40px;
        top: auto;
        bottom: -340px;
    }
    .team-philosophy-wrap .team-philosophy-img-wrap .team-philosophy-img01 {
        top: -0px;
    }
    .team-philosophy-wrap .team-philosophy-img-wrap .team-philosophy-img02 {
        bottom: 170px;
    }
    /* ----------------
Our Four Strengths
---------------- */
    .four-strengths-wrap {
        width: calc(100% - 20px);
        margin: 180px auto 0px auto;
        padding: 180px 0px 0px 0px;
    }
}