/* destop */

@media screen and (min-width:768px) {
    .section .container {
        padding: 3% 5%;
    }
    .ec-support-icon img {
        height: 55px;
    }
    .sec-tit h3 {
        font-size: 40px;
    }
    .sec-tit h3 small {
        font-size: 24px;
    }
    .sec-tit h3 big {
        font-size: 46px;
    }
    .subtitle-sp {
        margin-left: 75px;
        left: 0;
    }
    /* banner */
    .banner-content {
        width: 60%;
    }
    .banner-3 {
        background-position: 85% 10%;
    }
    /* paragraph */
    .paragraph p {
        font-size: 2rem;
        line-height: 2;
    }
    /* record */
    .record .container {
        max-width: inherit;
    }

    .record-intro {
        max-width: 1440px;
        padding: 0 5%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        text-align: center;
        margin: 0 auto;
    }
    .record-intro .item {
        transition: .3s;
    }
    .record-intro .item:hover {
        transform: translateY(-10px);
    }
    .record .title h4 {
        font-size: 2rem;
    }
    .record-intro h5,
    .record-intro p {
        font-size: 0.8rem;
    }

    .record .record_contract {
        max-width: 1540px;
        margin: 0 auto;
        padding: 0 20px;
    }

    /* ec support pro */
    .ec-support-pro p {
        font-size: 1.2rem;
    }
    .ec-support-pro .paraBox,
    .ec-support-pro .paraPoint {
        margin: 2% 0;
    }
    .ec-support-pro .txtBox {
        text-align: center;
    }
    .ec-support-pro .itembox {
        width: 100%;
        justify-content: center;
    }
    .ec-support-pro .txtBox {
        width: 70%;
        padding: 7% 5%;
        line-height: 1.8;
    }
    .ec-support-pro .itembox .item {
        flex-grow: 0;
        padding: 1% 2%;
        font-size: 1.5rem;
    }
    .ec-support-pro .keypoint {
        font-size: 1.5rem;
    }
    .ec-support-pro .paraPoint p {
        font-size: 2rem;
    }
    /* ec market scale */
    .ec-market-scale .itembox {
        flex-direction: row-reverse;
        align-items: flex-start;
    }
    .ec-market-scale .itembox .item {
        width: 46%;
        margin: 2%;
    }
    .ec-market-scale .txt p {
        line-height: 1.8;
        font-size: 1.5rem;
        margin-bottom: 1em;
    }
	.ec-market-scale .txt p small {
		font-size: 15px;
	}
    /* ec market problem */
    .ec-market-problem .itembox {
        flex-direction: row;
        justify-content: center;
    }
    .ec-market-problem .item {
        padding: 50px 20px 10px;
        height: auto;
        margin: 4% 1%;
    }
    .ec-market-problem .item img {
        height: 120px;
    }
    .ec-market-problem .title h3 {
        margin-bottom: 0.2em;
    }
    .ec-market-problem .title p {
        font-size: 1.2rem;
    }
    .ec-market-problem .txtbox .title h3 {
        font-size: 2rem;
    }
    .ec-market-problem .txtbox {
        margin: 2% 0;
    }
	.ec-market-problem .txtbox .txt p {
		font-size: 1.2rem;
		line-height: 2;
	}
	.ec-market-problem .item-title h4 {
		font-size: 1.35rem;
		font-weight: 600;
	}
	.ec-market-problem .item .item-txt {
		line-height: 1.6;
	}
    .ec-market-problem .item-img {
        margin-bottom: 20px;
    }
    /* solution */
    .solution .txtbox {
        width: 65%;
        margin: auto;
    }
    .solution .txtbox {
        line-height: 1.5;
    }
    .solution .txtbox .title h3 {
        font-size: 2.4rem;
    }
    .solution .txtbox .txt h3 {
        font-size: 2.4rem;
    }
    .solution .txtbox .txt p {
        font-size: 1.2rem;
    }
    /* strength */
    .strength .itembox {
        flex-wrap: nowrap;
    }
    .strength .itembox .item {
        width: 23%;
        padding: 1% 0;
        border-top: 10px solid #e7221a;
    }
    /* strength-point-box */
    .strength-point-box .title {
        width: 90%;
        margin: auto;
        justify-content: center;
    }
    .strength-point-box .title .point {
        font-size: 1.5rem;
    }
    .strength-point-box .subtitle h3 {
        font-size: 2rem;
		line-height: 1.6;
    }
    .strength-point-box .title .number {
        font-size: 6rem;
    }
    .strength-point-box .subtitle {
        width: 90%;
        margin: 0 auto 1.7em;
        text-align: left;
    }
    .strength-point-item:nth-child(odd) .itembox {
        flex-direction: row-reverse;
        align-items: flex-start;
    }
    .strength-point-item:nth-child(even) .itembox {
        width: 100%;
        flex-direction: row;
    }
    .strength-point-item:nth-child(even) .subtitle {
        text-align: right;
    }
    .strength-point-box .itembox {
        width: 92%;
        margin: auto;
    }
    .strength-point-box .itembox .item {
        width: 50%;
    }
    .strength-point-box .item-btn {
        margin: auto;
        width: 60%;
    }
    .strength-point-box .item-txt {
        padding-bottom: 10%;
    }
    .strength-point-box .item-txt .txt {
        margin-bottom: 2em;
    }
    .strength-point-box .item-txt .txt p {
        font-size: 18px;
        line-height: 2;
    }
    .strength-point-box .mall {
        flex-wrap: nowrap;
    }
    .strength-point-box .mall img {
        height: 95px;
    }
    .strength-point-box .mall dd {
        width: 100%;
    }
    .strength-point-box .mall-box p {
        font-size: 1.5rem;
    }
    .strength-point-box .item-img img {
        max-height: 400px;
    }
    .strength-point-box .item-btn a {
        font-size: 1.3rem;
        border-radius: 40px;
    }
    /* prodution */
    .production .itembox .item {
        margin: 3% 2%;
    }
    .production .itembox .item {
        width: 16%;
    }
    .production .itembox .item .title p {
        font-size: 1.2rem;
    }
    .production>.container>.title>h3 {
        font-size: 2rem;
    }
    /* contact */
    .contact .txt {
        width: 50%;
    }
    .contact .txt h2 {
        font-size: 2.5rem;
        line-height: 1.8;
		padding-bottom: 5%;
    }
    .contact .itembox .item {
        margin-bottom: 0;
    }
    .contact .itembox .item a {
        width: 85%;
    }
    .contact .itembox {
        flex-direction: row;
        justify-content: center;
        margin: auto;
    }
    .contact .itembox .item {
        width: 50%;
        text-align: center;
        justify-content: center;
    }
    .contact .itembox .item img {
        max-height: 80px;
    }
    .contact .itembox .item .phone h3 {
        font-size: 3rem;
    }
    .contact .itembox .item .mail {
        justify-content: center;
    }
    .contact .itembox .item .mail h3 {
        font-size: 2rem;
    }
    /* ec-suporrt-pro-achivement */
    .ec-support-pro-achivement .itembox {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .ec-support-pro-achivement .item {
        max-width: 250px;
        width: 21%;
        padding: 2% 0;
        margin: 5% 2%;
    }
    .ec-support-pro-achivement .item-txt p {
        font-size: 1.5rem;
    }
    .ec-support-pro-achivement .item:nth-child(2) .item-txt p {
        font-size: 1rem;
    }
    /* case */
    .case-item .itembox {
        flex-direction: row;
    }
    .case-item .itembox .item img {
        height: 400px;
    }
    .case .itembox .item {
        text-align: center;
        width: 50%;
    }
    .case-txt {
        flex-direction: row;
        justify-content: unset;
    }
    .case-txt .point {
        margin-right: 20px;
        margin-bottom: 0;
    }
    .case .title {
        font-size: 1.5rem;
    }
    .case-txt .point p,
    .case-txt p {
        font-size: 1.2rem;
		line-height: 1.6;
    }
    /* voice */
    .voice .item .shadow {
        max-width: 1000px;
        margin: auto;
        padding: 5%;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.40);
    }
    .voice .item .item-left,
    .voice .item .item-right {
        display: inline-block;
        vertical-align: top;
    }
    .voice .item .item-left {
        width: 46%;
    }
    .voice .item .item-right {
        width: 50%;
    }
    .voice .company-name img {
        height: 46px;
    }
    .voice .company-site img {
        height: 209px;
    }
    .voice .item-txt dt p {
        font-size: 1.8rem;
    }
    .voice .item-txt dd p {
        font-size: 1rem;
        line-height: 2;
    }
    .voice .item-txt dt p span {
        font-size: 1.2rem;
    }
    .slick-prev,
    .slick-next {
        top: 50%;
    }
    /* service-flow */
    .service-flow .itembox {
        flex-direction: row;
        justify-content: center;
    }
    .service-flow .itembox .item {
        height: 250px;
        position: relative;
        width: 20%;
        margin: 5% 5%;
        padding: 1% 1%;
    }
    .service-flow .itembox .item:not(:last-child):after {
        content: "";
        position: absolute;
        display: block;
        width: 30px;
        height: 30px;
        border: transparent;
        border-top: 2px solid #b8b8b8;
        border-right: 2px solid #b8b8b8;
        top: 0;
        bottom: 0;
        right: -40%;
        transform: translateX(-100%) rotate(45deg);
        margin: auto;
        background-color: transparent;
    }
    .service-flow .item-btn a {
        width: 75%;
        margin: auto;
    }
    .service-flow .title p {
        font-size: 1.5rem;
    }
    .service-flow .item-txt p {
        font-size: 1rem;
    }
	.service-flow .item-title h4 {
		font-size: 1.4rem;
	}
    /* faq */
    .faq .item-title h3 {
        font-size: 2rem;
    }
    .faq .item-txt h3 {
        font-size: 1.7rem;
    }
    /* award */
    .award .title h2 {
        font-size: 2.3rem;
    }
    /* map */
    .ttl_area5 {
        padding: 50px 0;
    }
    .ttl_area5 h2 {
        line-height: 1.5;
        font-size: 2.3rem;
    }
    #branch .branch_box {
        display: flex;
        flex-wrap: wrap;
        float: right;
        width: 100%;
        background: #fff;
        margin: 0;
    }
    .branch_inner_box {
        width: 50%;
    }
    .branch_inner_box a {
        font-size: 1.5rem;
    }
    .map_box {
        width: 100%;
        /*float: left;*/
        text-align: center;
        padding: 0;
    }
    .ttl_area5 p {
        font-size: 1.1rem;
        line-height: 2;
    }
    .ttl_area5 p:last-child {
        font-size: 1rem;
    }
    /* inquiry */
    #form_box {
        max-width: 1000px;
        margin: 0 auto;
    }
    #form_box table {
		width: 80%;
		margin: auto;
	}
    #form_box table th {
        padding: 1% 3%;
        text-align: left;
        width: 30%;
        box-sizing: border-box;
        font-size: 16px;
        display: inline-block;
    }
    #form_box table td {
        padding: 1% 3%;
        text-align: left;
        display: inline-block;
        box-sizing: border-box;
    }
    #privacy .priv_inner {
        height: 300px;
        overflow-y: scroll;
        padding: 20px;
    }
    #form_box div#submit {
        width: 50%;
        padding: 2% 5%;
        font-size: 1.875rem;
    }
    #form_box>p:nth-child(1) {
        font-size: 1.5rem;
    }
    /* company */
    .company-sec {
        max-width: 1000px;
        /*margin: 120px auto 0;*/
        margin: 0 auto;
        padding: 0;
    }
    .company-sec-ttl {
        width: 150px;
        font-family: 'Overpass', sans-serif;
        font-weight: 600;
        margin-bottom: 40px;
        text-align: left;
        font-size: 2.2rem;
        letter-spacing: 0.02em;
    }
    .company-sec-ttl span {
        padding-bottom: 12px;
        border-bottom: 2px solid #cc0000;
    }
    ul.company-sec-list {
        margin: 0 auto 70px auto;
    }
    .company-sec-list li {
        display: flex;
        margin-bottom: 23px;
        padding-bottom: 20px;
        border-bottom: 1px dashed #d2d2d2;
    }
    .company-sec-list li:last-child {
        margin-bottom: 0;
    }
    .company-sec-info {
        width: 15.5em;
        margin-bottom: 5px;
    }
    .company-date {
        padding: 0 0 0 10%;
        font-size: 1.2rem;
        letter-spacing: 0.02rem;
    }
    .company-category a {
        display: inline-block;
        font-family: 'Overpass', sans-serif;
        font-weight: 600;
        padding: 3px 5px 2px;
        border: 1px solid #cc0000;
        font-size: 1.1rem;
        letter-spacing: 0.02em;
        line-height: 1.0;
        color: #cc0000;
        transition: all .2s;
    }
    .company-category a:hover {
        border: 1px solid #a30000;
        color: #a30000;
    }
    .company-sec-list-ttl {
        display: inline-block;
        width: calc(100% - 15.5em);
        padding-top: 3px;
        font-size: 1.4rem;
        line-height: 1.6;
        transition: all .2s;
    }
    .company-sec-list-ttl:hover {
        color: #cc0000;
    }
    .company-link-text {
        text-align: right;
    }
    .pagetop {
        right: 3%;
        z-index: 10000;
        width: 3%;
    }
    /* works */
    .works .itembox {
        justify-content: space-between;
    }
    .works .item img {
        height: 50px;
    }
    .works .itembox .item {
        margin: 20px 0px;
    }
    /* service */
    .service .listbox {
        display: flex;
        justify-content: space-between;
        padding: 0 2%;
        align-items: center;
    }
    .service ul.list-item:nth-child(1) {
        padding-left: 5%;
    }
    .service img {
        height: 50px;
    }
    .service ul li {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 1em;
        margin-left: 20px;
    }
    .service .list-item-box {
        width: 54%;
        display: flex;
    }
    .service ul {
        margin-right: 20px;
    }
    .service .service-list ul,
    .service .service-list dd {
        padding: 3px 0 20px 7px;
        width: 22%;
        vertical-align: middle;
        height: 100px;
        border-left: 3px solid #d2d2d2;
    }
    .service .service-list dd {
        border: 0;
        text-align: center;
        line-height: 1.5;
        color: #d70c19;
        font-size: 1.1rem;
        font-weight: 500;
    }
    footer {
        padding-bottom: 8%;
    }
    .copyright {
        padding: 1%;
    }
}


@media screen and (min-width:1200px) {
    .banner-content {
        width: auto;
    }
    .banner-content {
        flex-direction: row;
        top: calc(50% - 0px);
        padding: 0 3%;
    }
    .banner-1 .keypoint {
        font-size: 3.6rem;
    }
    .banner-content-left {
        width: 50%;
    }
    .banner-content-right {
        width: 50%;
        padding-top: 5%;
        position: relative;
        right: 20px;
    }
    .banner-info p {
        font-size: 1.1rem;
    }
    .banner-info-item {
        justify-content: unset;
        margin: 2% 0;
    }
    .banner-info-item .item {
        margin: 0 1% 0 0;
        font-size: 1rem;
        padding: 1.5% 2%;
    }
    .banner-info .title,
    .banner-info .description {
        text-align: unset;
    }
    .banner-info .description {
        margin-bottom: 5%;
    }
    .banner-info .description p {
        line-height: 1.8;
    }
    .banner-info .description h3 {
		font-size: 2rem;
    }
    .banner-info-exp {
        justify-content: unset;
        margin-top: 5%;
    }
    .banner-info-exp .item {
        font-size: 1.4rem;
        width: 150px;
        height: 150px;
    }
    .banner-device {
        margin: 0 0 10% 0;
        width: 100%;
    }
    .banner-btn a {
        font-size: 2rem;
    }
    .service-flow .item-txt p {
        font-size: 1rem;
        line-height: 1.6;
    }
    .ec-market-scale .item img {
        height: 400px;
    }
}

@media screen and (min-width:1244px) {
    .main-link {
        height: 60px;
    }
    .list {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .list a {
        color: #ffffff;
        font-size: 1rem;
        margin: 0 20px;
        font-weight: 300;
    }
    .other-links {
        padding: 10px;
        background-color: #023e18;
    }
    .inner {
        margin: auto;
        position: relative;
        width: 100%;
        height: 100%;
    }
    .top {
        display: flex;
        align-items: center;
        padding: static;
        background: #fff;
        box-shadow: none;
        width: auto;
        float: left;
        height: 100%;
        padding: 0 0 0 10px;
    }
    .inner::after {
        content: '';
        width: 0;
        clear: both;
        display: block;
    }
    .menu {
        display: flex;
        align-items: center;
        height: 100%;
        position: static;
        width: auto;
        padding: 0;
        margin: 0;
        float: right;
    }
    .menu li {
        display: flex;
        align-items: center;
        height: 100%;
        position: relative;
        border-bottom: none;
    }
    .menu a {
        color: #000;
        font-weight: 400;
        font-size: 1rem;
        padding: 15px 20px;
        display: block;
    }
    .contactBtn {
        background-color: #d80c18;
        border-radius: 0 0 0 30px;
        padding: 5px 0;
        margin-left: 10px;
    }
    .contactBtn a {
        color: #fff;
    }
    .list li:hover ul {
        display: block;
    }
    .menu-wrap {
        display: none;
    }
    .subtitle-pc {
        display: flex;
        white-space: nowrap;
    }
    .subtitle-sp {
        display: none;
    }
}

@media screen and (max-width:768px) {
    html {
        font-size: 4.26667vw;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    h1 {
        font-size: 5.33334vw;
        line-height: 1.4;
    }
    h2 {
        font-size: 10.66667vw;
    }
    h3 {
        font-size: 4.8vw;
    }
    .top {
        display: flex;
        align-items: center;
        padding: 1% 2%;
    }
    .btw_logo {
        box-sizing: content-box;
        padding-right: 3%;
    }
    .btw_logo img {
        width: 140px;
        padding-right: 0;
    }
    .section .container {
        padding: 8vw 4vw;
    }
    .container {
        max-width: 100%;
    }
    .contact .banner-5 .container {
        padding: 8vw 4vw;
    }
    .contact.fixeditem .banner-5 .container {
        padding: 4vw 0;
    }
    .subtitle-sp {
        top: 16%;
    }
    .subtitle p {
        line-height: 1.4rem;
    }
    .banner-1 {
        height: 110vh;
    }
    .banner-content {
        top: 50%;
        padding: 0 4vw;
    }
    .banner-info .title .sub {
        font-size: 15px;
    }
    .banner-info .title {
        text-align: left;
    }
    .banner-info .description {
        text-align: left;
    }
    .banner-info .description p {
        font-size: 4vw;
        letter-spacing: 0px;
        line-height: 1.4rem;
    }
    .banner-info-item {
        flex-wrap: wrap;
        width: 82vw;
        gap: 2.5vw;
    }
    .banner-info-item .item {
        padding: 1.333334vw 0;
        margin: 0;
        width: 45%;
        font-size: 4vw;
    }
    .banner-info-exp {
        justify-content: space-between;
        width: 88vw;
        margin: 5.33334vw auto 0;
    }
    .banner-info-exp .item {
        width: 28vw;
        height: 28vw;
        margin: 0;
        font-size: 4.26667vw;
        line-height: 1.3;
    }
    .redcycleP:after {
        height: 5px;
    }
    .banner-btn a {
        padding: 4vw;
        width: 100%;
        margin-top: 9vw;
        font-size: 4.8vw;
        box-sizing: border-box;
    }
    .paragraph p {
        font-size: 4.8vw;
        line-height: 1.6;
        letter-spacing: 1px;
    }
    .record>.container>.title {
        font-size: 6.4vw;
        padding: 0 0 4vw;
    }
    .record-intro .title {
        margin-bottom: 2.66667vw;
    }
    .record-intro h5 {
        font-size: .8rem;
    }
    .ec-support-icon {
        margin: 0;
    }
    .ec-support-icon img {
        height: 12vw;
        margin-bottom: 2vw;
    }
    .ec-support-pro .txtBox {
        width: 100%;
        padding: 4vw 2.66667vw;
    }
    .ec-support-pro p {
        font-size: 4vw;
        line-height: 2;
    }
    .ec-support-pro p:first-child {
        margin-bottom: 1em;
    }
    .ec-support-pro p .bolder {
        line-height: 1.4;
    }
    .ec-support-pro .paraBox {
        margin-top: 0;
        line-height: 2;
        text-align: left;
        letter-spacing: -0.07vw;
        font-size: 4vw;
    }
    .ec-support-pro .paraPoint {
        text-align: left;
        margin: 2.66667vw 0 5.33334vw;
        font-size: 4.8vw;
    }
    .ec-support-pro .itembox {
        gap: 2vw;
    }
	.ec-support-pro .itembox .item {
		width: 48%;
        margin: 0;
	}
    .ec-market-scale .itembox .item {
        margin: 0 auto;
    }
    .sec-tit {
        margin-bottom: 6.66667vw;
    }
    .sec-tit h3 {
        font-size: 6.4vw;
        line-height: 1.4;
    }
    .sec-tit p {
        margin-top: 2%;
        line-height: 2rem;
    }
    .ec-support-pro .sec-tit h3 {
        font-size: 8.53334vw;
    }
    .ec-market-problem .item {
        width: 90%;
        height: auto;
    }
    .ec-market-problem .item-title {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
    .ec-market-problem .item-img {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
	.ec-market-problem .item-img img {
		width: 52px;
	}
    .ec-market-problem .item .item-txt {
        text-align: center;
		line-height: 1.6;
    }
	.ec-market-problem
    .ec-market-problem .txtbox .txt {
        width: 75%;
        margin: auto;
        line-height: 1.5rem;
        letter-spacing: 1.5px;
    }
    .ec-market-problem .txtbox .txt {
        text-align: left;
        text-indent: 0;
    }
    .ec-market-problem .txtbox .txt p {
        font-size: 4vw;
		line-height: 1.6;
    }
    .strength-point-box .itembox .item {
        width: 80%;
    }
    .strength-point-item:not(:nth-child(1)) {
        margin-top: 12vw;
    }
    .strength-point-box .itembox>.item:nth-child(1) .item-img {
        width: 80vw;
        margin: auto;
    }
    .strength-point-box .itembox, .strength-point-item:nth-child(odd) .itembox {
        flex-wrap: wrap;
        justify-content: center;
        gap: 6vw;
    }
    .strength-point-box .subtitle h3 {
        text-align: center;
        font-size: 5.33334vw;
    }
    .strength-point-box .item-txt {
        padding-bottom: 1%;
    }
    .strength-point-box .item-btn {
        width: 100%;
        margin: 6vw auto;
    }
    .strength-point-box .item-btn a {
        margin: 0;
        padding: 4vw;
        font-size: 4.8vw;
    }
    .strength-point-box .mall {
        align-items: center;
        margin-top: 10px;
    }
    .strength-point-box .mall img {
        width: 100%;
        height: auto;
    }
    .bolder {
        display: inline;
    }
    .solution .txtbox {
        padding: 10vw 4vw;
    }
    .solution .txtbox .title {
        margin-bottom: 5vw;
    }
    .solution .txtbox .title h3 {
        font-size: 6.4vw;
    }
    .solution .txtbox .txt {
        margin: 0 0 4vw;
    }
    .solution .txtbox .txt h3 {
        font-size: 5.333334vw;
        line-height: 2;
    }
    .solution .txtbox .txt {
        margin-bottom: 0;
    }
    .solution .txtbox .txt p {
        line-height: 1.5rem;
    }
    .strength .container {
        padding-left: 2vw;
        padding-right: 2vw;
    }
	.strength h4 {
		font-size: 4vw;
	}
    .strength .itembox {
        gap: 3vw;
        justify-content: center;
    }
	.strength .itembox .item {
		padding: 3vw 2vw;
        margin: 0;
	}
    .strength-point-box .title {
        margin-bottom: 2vw;
    }
    .strength .item-num {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }
    .strength .item-title {
        line-height: 1.2rem;
		font-size: 14px;
    }
    .strength .item-img {
        margin-bottom: 0;
    }
    .strength-point-item {
        letter-spacing: 1px;
    }
    .strength-point-box .itembox {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .strength-point-box .item-txt .txt p {
        margin-bottom: 0;
        font-size: 4.26667vw;
    }
    .strength-point-box .mall-box {
        padding: 4% 5%;
    }
    .strength-point-box .mall-box p {
        line-height: 1.5rem;
    }
	.production>.container>.title>h3 {
		font-weight: 700;
		font-size: 1.2rem;
	}
    .production>.container>.title:before,
    .production>.container>.title:after {
        width: 20%;
    }
	.production .itembox .item .title p {
		font-size: 14px;
	}
    .contact h2 {
        font-size: 4.8vw;
    }
    .contact .txt {
        width: 100%;
        line-height: 2rem;
        letter-spacing: 1px;
    }
    .ec-market-scale .txt {
        line-height: 1.6;
    }
    .ec-market-scale .txt p {
        font-size: 4vw;
        margin-bottom: 0.5em;
    }
	.ec-market-scale .txt p small {
		font-size: 2vw;
	}
    .ec-market-scale .itembox {
        align-items: center;
    }
    .ec-market-scale .item img {
        height: auto;
    }
    .ec-market-scale .txt p {
        font-size: 1.2rem;
    }
    .ec-support-pro-achivement .item {
        width: 48%;
    }
    .ec-support-pro-achivement .item-num {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }
    .ec-support-pro-achivement .item .item-img {
        width: 50%;
        margin: 0 auto;
    }
    .case-item .itembox .item {
        margin: 0 auto 5%;
        width: 85%;
    }
    .case-item .itembox .item img {
        height: auto;
    }
    .case-txt .point {
        padding: 5px 10px;
    }
    .case-txt p {
        line-height: 1.5rem;
    }
    .slick-prev,
    .slick-next {
        width: 35px;
        height: 35px;
        background-size: 35px;
    }
    .section.voice .item-txt {
        line-height: 1.5rem;
    }
    .voice .item-txt dd p {
        line-height: 1.5rem;
    }
    .service-flow .itembox {
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
    .service-flow .item {
        width: 90%;
        height: 240px;
    }
    .service-flow .item-num {
		top: 5%;
		letter-spacing: 1px;
		height: 38px;
		line-height: 36px;
		width: 94px;
    }
    .service-flow .item-btn a {
        font-size: 14px;
    }
    .service-flow .itembox .item-img {
        margin: 0 auto;
        width: 50%;
    }
    .service-flow .item-txt p {
        font-size: 12px;
        line-height: 1rem;
    }
    .award .container {
        padding-left: 2vw;
        padding-right: 2vw;
    }
    .award .title h2 {
        line-height: 1.4;
        font-size: 4.26667vw;
    }
    .ttl_area5 h2 {
        font-size: 2rem;
        line-height: 3rem;
    }
    .ttl_area5 p {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .ttl_area5 p:last-child {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }
    .map_box {
        margin: 0 auto;
        width: 100%;
    }
    .branch_inner_box {
        width: 100%;
        margin-bottom: 25px;
    }
    #branch .branch_box h3 {
        font-size: 16px;
    }
    #branch .inner.cf {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    .branch_inner_box table th {
        font-size: 12px;
        text-align: center;
        letter-spacing: 1px;
    }
    .branch_inner_box table td {
        font-size: 12px;
        line-height: 18px;
        letter-spacing: 1px;
    }
    #branch .b {
        font-size: 12px;
    }
    #form_box {
        font-size: 14px;
        line-height: 1.5rem;
        padding: 5% 0;
    }
	#form_box table th {
		padding-bottom: 1%;
	}
	#form_box table td input {
		line-height: 1.8;
	}
    .must_com {
        vertical-align: middle;
        padding: 0px 5px;
        border-radius: 2px;
		line-height: 1.6;
    }
    #privacy {
        font-size: 12px;
        height: 150px;
        overflow: scroll;
    }
    #form_box div#submit {
        width: 80%;
        margin-top: 40px;
        padding: 4% 3%;
    }
    .branch-sec-ttl .jpn {
        font-size: 1.5rem;
    }
    .company-sec {
        padding: 0 10px;
    }
    .company-sec .container {
        padding: 6% 0;
    }
    .company-sec-list li span {
        font-size: 14px;
    }
    .company-sec-list li {
        font-size: 16px;
        line-height: 1.5rem;
        padding-left: 20px;
    }
    .works .itembox {
        margin: 10px 0 0;
    }
    .works .itembox .item {
        margin: 10px;
        width: 26%;
    }
    .works .item img {
        height: auto;
    }
    .service-flow .item {
        padding: 0% 1%
    }
    .service-flow .itembox .item {
        width: 26%;
        margin: 5% 0;
    }
    .service-flow .itembox .item:nth-child(2) {
        margin: 5% 4%;
    }
    dl.list-item dt {
        font-size: 14px;
    }
    dl.list-item dl {
        margin: 15px 0;
    }
    .list-item-box {
        text-align: center;
        display: flex;
        justify-content: center;
    }
    .list-item li {
        text-align: left;
        font-size: 12px;
        line-height: 20px;
    }
    .service-list-innner {
        padding: 10px 30px;
    }
    .service .service-list {
        margin-top: 20px;
    }
    .service ul.list-item {
        width: 48%;
        list-style: none;
        padding-left: 0;
        margin-bottom: 5px;
    }
    .service ul li:nth-child(odd) {
        padding-right: 0px;
    }
    .service .service-list dd {
        width: 100%;
        line-height: 1.2rem;
    }
    .service .service-list ul {
        padding: 3px 0 20px 15px;
        width: 29%;
    }
    .service ul li {
        margin-left: 10px;
    }
    .service dl.list-item {
        width: 55%;
        margin-bottom: 5%;
    }
    .service-list-item li {
        line-height: 1.5rem;
        font-size: 12px;
    }
    footer {
        padding-bottom: 20vh;
    }
    .copyright {
        padding: 1vh;
        font-size: 12px;
    }
}

@media screen and (max-width:414px) {
    .ec-market-scale .txt p {
        font-size: 1rem;
    }
    .ec-market-problem .txtbox .txt {
        width: 100%;
    }
    .service-flow .item-txt p {
        font-size: 14px;
        line-height: 1.5rem;
    }
    .ttl_area5 h2 {
        font-size: 1.4rem;
        line-height: 2rem;
    }
    .ttl_area5 p {
        font-size: 12px;
        line-height: 1.2rem;
    }
    .strength-point-box .itembox .item {
        width: 100%;
    }
    .map_box {
        margin: 0 auto;
        width: 80%;
    }
    #form_box div#submit {
        margin-top: 40px;
        padding: 4% 3%;
    }
    .company-sec-list li {
        font-size: 12px;
        line-height: 1.5rem;
        padding-left: 20px;
    }
    .service ul li:nth-child(odd) {
        padding-right: 20px;
    }
    .service .service-list ul {
        width: 100%;
    }
    .service dl.list-item {
        width: 100%;
    }
	.service-flow .title h3 {
		margin-bottom: 1rem;
	}
    .service-flow .itembox .item {
        width: 100%;
    }
    .service-flow .itembox .item:nth-child(2) {
        margin: 5% 0;
    }
	.service-flow .item-title {
		margin-top: 2.5em;
	}
	.service-flow .item-title h4 {
		font-size: 1.2rem;
	}
    #branch .branch_box {
        width: 100%;
    }
    .ttl_area5 p:last-child {
        font-size: 0.8rem;
    }
    .mb25 {
        margin-bottom: 2vw;
    }
}