@media (max-width: 1600px) {
	.sub-contents .overview .strengths .text h3 {
		font-size: calc(var(--font52) - 0.4rem);
	}
}

@media (max-width: 1400px) {
	.site-map .depth2 {
		column-gap: 20px;
	}
	.site-map .depth2 > li > a {
		font-size: 1.8rem;
	}

	main .business .info-box h5 {
		font-size: 2.8rem;
	}
    main .business .item .text h3 {
        font-size: 3.2rem;
    }
	main .product .product-pagination button {
		font-size: 2.4rem;
	}
	main .product .product-pagination button.swiper-pagination-bullet-active {
		font-size: 3.4rem;
	}
	
	.sub-visual .depth1 li a {
		font-size: 1.8rem;
	}
	.sub-contents .overview .mean .title p {
		font-size: 2.1rem;
	}
	.sub-contents .overview .strengths .text dl dt {
		font-size: 2.3rem;
	}
	.sub-contents .directions .text-box dl br {
		display: none;
	}
	.sub-contents .total .service .icon-box h5 {
		font-size: 2.2rem;
	}
	.sub-contents .total .service .text-box p {
		font-size: 1.6rem;
	}
	.sub-contents .total .service .item:hover .text-box::before {
		left: -40%;
	}
	.sub-contents .smart .factory .text-box {
		grid-template-columns: repeat(3, 200px);
	}
	.sub-contents .recruit .talent .item dl dd br {
		display: none;
	}
}

@media (max-width: 1200px) {
	.site-map .depth2 > li > a {
        font-size: 1.6rem;
    }

	main .business .info-box {
		flex-direction: column;
		row-gap: 30px;
		column-gap: 0;
	}
	main .business .item-box {
		flex-wrap: wrap;
		row-gap: 20px;
		column-gap: 0;
	}
	main .business .item {
		flex-grow: inherit;
		width: 100%;
		padding: 15% 0;
	}
	main .product .info-box p {
		font-size: 1.7rem;
	}
	main .product .product-pagination button {
        font-size: 2.1rem;
    }
	main .product .product-pagination button.swiper-pagination-bullet-active {
        font-size: 2.5rem;
    }
	
	.sub-contents .tab-title {
		column-gap: 10px;
	}
	.sub-contents .tab-title li > * {
		font-size: 1.9rem;
	}
	.sub-contents .overview .mean .item-box {
		flex-wrap: wrap;
	}
	.sub-contents .overview .mean .img-box {
		width: 100%;
		max-width: 640px;
		margin-left: auto;
	}
	.sub-contents .overview .strengths .text dl dt {
        font-size: 2.0rem;
    }
	.sub-contents .total .service .item-box {
		column-gap: 5px;
	}
	.sub-contents .total .service .item .text-box::before {
		width: 240%;
		padding: 120% 0;
		left: -300%;
	}
	.sub-contents .total .service .item:hover .text-box::before {
        left: -60%;
    }
	.sub-contents .custom .cost .item .text {
		padding: 30px 20px;
	}
}

@media (max-width: 1024px) {
	.site-map .depth2 {
		flex-direction: column;
		row-gap: 15px;
		column-gap: 0;
	}
	.site-map .depth2.on {
		height: auto;
	}
	.site-map .depth2 > li > a {
		font-size: 1.8rem;
	}
		
	.sub-visual .depth1 li a {
        font-size: 1.6rem;
    }
	.sub-contents .total .service .item {
		flex-direction: row;
	}
	.sub-contents .total .service .text-box {
		display: grid;
		grid-template-columns: repeat(2, auto);
	}
	.sub-contents .total .service .icon-box h5 {
		min-height: auto;
	}
	.sub-contents .accu .item .text h3 {
		font-size: calc(var(--font72) - 0.6rem);
	}
	.sub-contents .product .note .item-box h4 {
		font-size: var(--font36);
	}
	.sub-contents .product .information .info-box .spec-box .spec {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 10px;
    }
}

@media (max-width: 768px) {
	main .business .info-box h5 {
        font-size: 2.2rem;
    }
	main .business .item .text h3 {
        font-size: 2.4rem;
    }

	.sub-visual .depth1 {
		display: none;
	}
	.sub-contents .tab-title li > * {
        font-size: 1.7rem;
    }
	.sub-contents .overview .mean .title p {
        font-size: 1.8rem;
    }
	.sub-contents .total .service .item {
		flex-direction: column;
	}
	.sub-contents .total .service .icon-box h5 {
		font-size: 1.9rem;
        margin: 0;
    }
	.sub-contents .smart .factory .text-box .item p {
		font-size: 1.6rem;
	}
	.sub-contents .custom .cost .item .text h5 {
		font-size: var(--font36);
	}
	.sub-contents .accu .item .text h3 {
        font-size: calc(var(--font72) - 0.2rem);
    }
	.sub-contents .recruit .talent .item dl dd {
        font-size: 1.6rem;
    }
}

@media (max-width: 640px) {
	main .business .item {
		padding: 20% 0;
	}
	main .business .item .text h3 {
        font-size: 1.9rem;
    }
	main .product .product-pagination button,
	main .product .product-pagination button.swiper-pagination-bullet-active {
		font-size: 1.8rem;
	}
	
	.sub-visual h2 {
		font-size: 2.4rem;
	}
	.sub-visual .path a {
		font-size: 1.4rem;
	}
	.sub-contents .tab-title {
		column-gap: 5px;
	}
	.sub-contents .tab-title li > * {
        font-size: 1.4rem;
    }
	.sub-contents .overview .title p br {
		display: none;
	}
	.sub-contents .overview .mean .img-box {
		flex-direction: column;
		margin-top: 50px;
	}
	.sub-contents .overview .mean .img-box .img {
		margin: -140px 0 -160px;
	}
	.sub-contents .overview .mean .img-box .integer {
		margin: 0 0 0 auto;
	}
	.sub-contents .overview .strengths .text h3 {
		font-size: var(--font52);
    }
	.sub-contents .total .service .icon-box h5 {
        font-size: 1.8rem;
    }
	.sub-contents .total .service .text-box {
        display: grid;
        grid-template-columns: repeat(1, auto);
    }
	.sub-contents .custom .cost .item .text {
        padding: 15px 10px;
    }
	.sub-contents .custom .cost .item .text h5 {
		font-size: 1.8rem;
	}
	.sub-contents .product .note .item-box h4 br {
		display: none;
	}
}