@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2024/10/24
 */

@media screen and (max-width: 767px) {
	#wrapper,
	.home #wrapper {
		padding: 6.5rem 0;
	}
	
	#header {
		padding: 0 1.6rem;
	}
	.home #header {
		background: #fff;
		color: #000;
	}
	
	#header .left {
		display: flex;
	}
	.header-logo img {
	    width: 21rem;
	}
	.home .header-logo .black {
	    opacity: 1;
	}
	#header .sns {
		position: static;
	    width: 5.6rem;
	}	
	#header .sns img {
		width: 2.7rem;
	}
		
	.head-links {
		position: fixed;
		right: 0;
		top: auto;
		bottom: 0;
		z-index: 1;
		width: 100%;
	}	
	.head-links a {
		width: 100%;
	}
	
	.btn-menu {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		position: relative;
		width: 7.7rem;
		height: 100%;
		margin-right: -1.6rem;
		gap: 1.1rem;
	}
	
	.btn-menu:before,
	.btn-menu:after {
		width: 4.5rem;
		height: .1rem;
		background: #000;
		content: '';
		display: block;
		transition: .3s ease;
	}
	
	.btn-menu.is-active:before {
		transform: translateY(.6rem) rotate(30deg);
	}

	.btn-menu.is-active:after {
		transform: translateY(-.6rem) rotate(-30deg);
	}
	
	
	#g-navi {
		display: none;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		position: absolute;
		right: 0;
		top: 100%;
		z-index: 3;
		padding: 3.8rem 3.6rem 8rem;
		width: 100%;
		height: calc(100vh - 6.5rem);
		background: #fff;
	}
	#g-navi.open {
		display: block;
	}
	#g-navi .head-links {
		gap: 0 1.6rem;
		position: static;
	}
	#g-navi ul {
		display: block;
		margin-top: 1rem;
	}
	#g-navi li a {
		justify-content: flex-start;
		padding: 0;
		text-align: left;
		border-bottom: 1px solid;
		font-size: 1.5rem;
	}
	#g-navi li .eng {
		display: none;
	}
	#g-navi li .jap {
		display: block;
	}	
		
	#footer {
	    padding: 8rem 0 0;
	}
	.foot-part + .foot-part {
	    border-top: 0;
	}
	.foot-part {
		padding: 0;
	}
	.contact-part {
	    display: block;
	}
	.contact-part .head-large {
		margin-bottom: 0;
		padding-bottom: 3rem;
		border-bottom: 1px dashed #707070;
		text-align: center;
	}
	.contact-part .head-large p + p {
	    margin-top: 2.8rem;
	}
	.contact-part .head-large .eng img {
		width: 23.5rem;
	}
	.contact-part .head-large .jap2 {
		line-height: 1.75;
	}
	.contact-part .tel-link,
	.contact-part .website {
		padding: 3rem 0;
		border-bottom: 1px dashed #707070;
	}
	.contact-part .btn-link {
	    margin-top: 0.4rem;
	}
	
	.footer-inner {
		display: block;
		padding: 4rem 0;
		text-align: center;
	}
	.foot-logo img {
		margin: 0 auto 0.8rem;
	}
	.foot-links {
	    width: auto;
	}
	.foot-links ul {
	    gap: 0 2rem;
	}
	.foot-links .function {
	    justify-content: center;
		flex-wrap: nowrap;
		margin: 3.8rem -1rem 0;
	}
		
		
	/* !common */	
	.main-swiper .swiper-slide img {
		height: calc(100vh - 13rem);
	}
	.main-swiper .circle-dot {
	    right: 3.6rem;
	    bottom: 3.6rem;
	    width: 5.2rem;
	    height: 5.2rem;
	}
	.main-swiper .circle-dot:before {
		right: 0;
		width: 0.9rem;
		height: 0.9rem;
	}
	
	.main-swiper .swiper-pagination {
		gap: 0 0.3rem;
		width: 5.2rem;
		height: 5.2rem;
	}
	.main-swiper .swiper-pagination:before {
		top: 0.6rem;
		height: 3.9rem;
	}
	.swiper-pagination-current {
		margin-top: -2rem;
		font-size: 1.4rem;
	}
	.swiper-pagination-total {
		margin-bottom: -2rem;
		font-size: 1.4rem;
	}
	
	#main-visual .info {
	    left: 2.4rem;
	    bottom: 2.5rem;
	}
	#main-visual .head .jap {
	    font-size: 3rem;
	}
	#main-visual .head .eng {
	    margin-top: 1.6rem;
	}
	#main-visual .head .eng img {
		width: 24rem;
	}
	#teaser .bg {
		margin-left: 3.6rem;
	}
	
	#teaser .bg:before,
	#recruit #teaser .bg:before {
		content: none;
	}	

	#teaser .bg img {
		height: 13.7rem;
	}
	#teaser .info {
		position: static;
		transform: translate(0%);
		padding: 3.3rem 3.6rem 3rem;
		color: #000;
	}
	#teaser .info2 {
		height: 18rem;
	}
	#teaser .info2 .head-large .jap {
	    margin-top: 1.3rem;
	}
	#teaser .head01 {
		margin: 2rem 0 0;
		text-align: center;
		font-size: 3.4rem;
	}
		
	.inner, 
	.inner2 {
		padding: 0 3.6rem;
	}
	
	.head-large {
		margin-bottom: 2.4rem;
	}
	.head-large p + p {
	    margin-top: 1.3rem;
	}
	.head-large .jap {
		font-size: 2rem;
	}
	.head-small {
		margin-bottom: 1.8rem;
		font-size: 1.8rem;
	}
	.head-txt {
		font-size: 1.5rem;
	}
	
	.btn-link {
		margin-top: 2.4rem;
	}
	.btn-link .btn {
	    width: 100%;
		height: 5.2rem;
	}
	.btn-link .btn.white-st {
		height: 6.2rem;
	}
	
	.link-more {
	    margin-top: 4rem;
	}
	
	.btn-instagram {
		width: 100%;
	}
	
	.anchors-list {
	    padding: 4rem 0 8rem;
	}
	.anchors-list ul {
		gap: 2.3rem 0;
	}
	.anchors-list li {
		width: 100%;
		font-size: 1.4rem;
	}
	
		
	/* !page */		
	.main-about {
	    padding: 4rem 0 4.4rem;
	}
	.main-about .display {
	    display: block;
	}
	.main-about .display .info {
		text-align: center;
	}
	.main-about .head-txt {
		line-height: 2.6667;
		font-weight: 500;
	}
	.main-about .btn-link {
	    margin-top: 3rem;
	}	
		
	.top-about {
	    padding: 5.2rem 0 0;
	}
	.top-about .display .info {
	    width: auto;
	}
	.top-about .display .head-large {
	    padding-top: 0;
	}
	.top-about .display .head-large .eng {
	    position: absolute;
	    right: -1rem;
	    top: 0;
		z-index: -1;
	    width: 8rem;
	}
	.top-about .display .txt {
	    display: flex;
	    flex-direction: column;
	    gap: 1.8rem 0;
	    line-height: 2.133;
	    font-size: 1.5rem;
	    font-weight: 400;
	}
	.top-about .display .img {
	    position: static;
		margin: 5rem -3.6rem 0;
	    width: auto;
	}	
	
	.top-service {
		margin-top: -4.4rem;
	    padding: 9.4rem 0 0;
	    background: linear-gradient(to left, #F4F4F4 82.87%, transparent 82.87%);
	}
	.top-service .display {
	    display: block;
	}
	.top-service .display .info {
		width: auto;
	}
	.top-service .display .img {
		margin: 4.4rem -3.6rem 0;
		width: auto;
	}
	.top-service .head-large .eng img {
		width: 22rem;
	}
	
	.top-equipment {
	    margin: 6rem 0 0;
		padding: 0 0 5rem;
	}
	.top-equipment:before {
		top: 6rem;
		height: calc(100% - 6rem);
	}
	.top-equipment .head-large .eng img {
		width: 29.8rem;
	}
	.top-equipment .display {
		display: block;
	}
	.top-equipment .display:before {
		content: none;
	}
	.top-equipment .display .imgs {
	    padding: 0 1.6rem;
		margin: 0 auto 5rem;
	    width: auto;
	}
	.top-equipment .display .info {
	    padding: 0;
	    width: auto;
	}
	.equipment-imglist li {
		height: 32.5rem;
	}
	
	.top-casestudy {
	    padding: 6.6rem 0 5.8rem;
	}
	.case-display {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 6rem 0;
	}
	.top-casestudy .btn-link {
	    margin-top: 6rem;
	}
	
	.news-content {
		display: block;
	}
	.news-content .side {
		padding-right: 0;
	    width: auto;
	}
	.news-content .main {
	    width: auto;
	}
	.news-content .head-large {
		margin-bottom: 4.2rem;
		text-align: center;
	}
	.news-content .head-large .eng img {
		width: 14.8rem;
	}
	
	.news-list li {
	    margin-bottom: 2.3rem;
	}
	.news-list li a:after {
		content: none;
	}
	.news-list li a {
	    display: block;
	    padding: 1.3rem 1.2rem;
		font-size: 1.5rem;
	}
	.news-list .date {
	    display: block;
		margin: 0 0 0.4rem;
	}
	.news-list .dd {
	    display: block;
		line-height: 1.4;
	}
	.top-news .link-more {
		text-align: center;
	}
	
	.top-recruit {
		padding: 6rem 0 6.8rem;
	}
	.top-recruit .head-large .eng img {
		width: 21.8rem;
	}
	.top-recruit .info {
		text-align: center;
	}
	.top-recruit .head-txt {
	    font-size: 1.5rem;
		font-weight: 400;
	}
	
	.recruit-imgslist {
		display: block;
		position: static;
		margin-top: 3.8rem;
		width: 100%;
		height: 21.3rem;
	}
	.recruit-swiper {
	    width: 100%;
	    transform: rotate(0);
	}
	.recruit-swiper .swiper-slide {
		max-width: 16rem;
		max-height: auto;
	}
	
	.top-instagram {
	    padding: 6rem 0 7rem;
	}
	.top-instagram .head-large {
	    margin-bottom: 2.2rem;
	}
	.top-instagram .head-large .eng img {
		width: 29.4rem;
	}
	.instagram-list-swiper {
		margin: 0 -1.2rem;
	}
	.instagram-list {
	    display: flex;
	    gap: 0;
	}
	.top-instagram .swiper-ctrl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 1.6rem;
	}
	.top-instagram .swiper-pagination {
		display: flex;
		justify-content: center;
		align-items: center;
		position: static;
		width: auto;
	}
	.top-instagram .swiper-ctrl .swiper-button-prev,
	.top-instagram .swiper-ctrl .swiper-button-next {
		position: static;
	}
	
	.top-instagram .end {
	    margin-top: 3rem;
	}
	
	.top-client {
	    padding: 7.8rem 0 6rem;
	}
	.top-client .head-large {
		margin-bottom: 3rem;
		text-align: center;
	}
	.top-client .head-large .eng img {
		width: 17.6rem;
	}
	.top-client .head-large p + p {
	    margin-top: 1.2rem;
	}
	.client-content {
	    display: block;
	}
	.client-content .side {
	    display: block;
		width: auto;
		border-right: 0;
	}
	.client-content .main {
		width: auto;
	}
	.partner-list {
	    gap: 2rem 0;
	}
	.partner-list li {
	    padding: 0 2rem;
	    width: 50%;
	}
	
	/* about.html */
	.about-wrap .head-large .jap3 {
		font-size: 1.8rem;
	}
	
	.about-philosophy {
		padding: 2rem 0 0;
	}
	.philosophy-steps {
		grid-template-columns: repeat(1, 1fr);
		margin-bottom: 3.8rem;
		border-left: 0;
		border-top: 1px solid #707070;
	}
	.philosophy-steps li {
	    padding: 2.4rem 1rem;
	    border-right: 0;
		border-bottom: 1px solid #707070;
	    font-size: 2rem;
	}	
	.philosophy-steps li .step {
		margin-bottom: 1.8rem;
		font-size: 0;
	}
	.about-philosophy .banner {
	    margin-top: 5.6rem;
	}
	.about-philosophy .banner img {
		object-fit: cover;
		height: 24.6rem;
	}
	
	.about-greeting {
		padding: 9.8rem 0;
	}
	.about-greeting .inner {
		padding: 0 1.5rem;
	}
	.about-greeting .display {
		display: block;
		padding: 4.4rem 1.5rem 3.6rem;
	}
	.about-greeting .display .img {
		margin-bottom: 2.8rem;
	    width: auto;
	}
	.about-greeting .display .info {
	    width: auto;
	}
	.about-greeting .head-large .eng img {
		width: 25.3rem;
	}
	.about-greeting .head-large .jap {
	    margin-top: 0;
	    font-size: 2rem;
	}
	.about-greeting .display .end {
		font-size: 1.5rem;
	}
	
	.about-company {
	    padding: 2rem 0;
	}
	.about-company .inner {
		padding: 0 1.5rem;
	}
	.about-company .bg {
	    padding: 4.8rem 2rem 5rem;
	}
	.about-company .head-large {
	    margin-bottom: 4.4rem;
	}
	.about-company .head-large .eng img {
		width: 25.2rem;
	}
	.about-company th {
		display: block;
	    padding: 2.7rem 0 1rem;
	    width: 100%;
	    text-align: left;
	    font-weight: 700;
	}
	.about-company td {
		display: block;
	    padding: 0 0 2.5rem;
	    width: 100%;
	}
	.about-company .line-he {
		line-height: 1.875;
	}
	
	.about-access {
	    padding: 7.2rem 0 9.6rem;
	}
	.about-access .head-large .eng img {
		width: 21rem;
	}
	
	.about-access .access-info {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 4.8rem 0;
	}
	.about-access .access-info .tit {
		font-size: 1.5rem;
	}
	.about-access .access-info .map iframe {
	    height: 19.6rem;
	}
	
	.about-history {
	    padding: 7.5rem 0;
	}
	.about-history .head-large .eng img {
		width: 21.8rem;
	}
	.history-line ul {
		padding-bottom: 1rem;
	}
	.history-line ul:before {
		left: -1px;
	}
	.history-line li {
		width: auto;
	}
	.history-line li:nth-of-type(even) {
	    padding: 0 0 0 2rem;
	    text-align: left;
	}
	.history-line li:nth-of-type(even):before {
	    right: auto;
		left: 0;
	    transform: translateX(-50%);
	}
	
	.service-juryoyap {
	    padding: 6.4rem 0 7rem;
	}
	.service-juryoyap .display {
	    display: block;
	}
	.service-juryoyap .display .info {
	    width: auto;
	}
	.service-juryoyap .display .img {
	    width: auto;
		margin: 3.4rem -3.6rem 0 0;
	}
	.service-juryoyap .display .img img {
		object-fit: cover;
	    height: 25.4rem;
	}
	.service-juryoyap .display .img2 {
	    position: static;
		margin: 3.4rem 0 0 -3.6rem;
	    width: auto;
	}
	.service-juryoyap .display .img2 img {
	    height: 19.5rem;
	}
	.service-juryoyap .head-large .jap {
	    font-size: 2.5rem;
	}
	.service-juryoyap .sub {
		letter-spacing: 0.05em;
	}
	.service-juryoyap .sub span {
	    padding: 1rem 0.8rem;
	    font-size: 1.5rem;
	}
	.service-juryoyap .head-txt {
		line-height: 2.333;
	    font-size: 1.5rem;
	}
	
	.service-juryobutsu {
	    padding: 5.2rem 0 0;
	}
	.service-juryobutsu .head-large {
	    margin-bottom: 3.6rem;
	    text-align: left;
	}
	.service-juryobutsu .head-large .jap {
	    margin-top: 1.6rem;
	    font-size: 2.5rem;
	}
	.service-equipmentlist .head {
	    padding: 1.8rem 0;
	    font-size: 1.5rem;
	    letter-spacing: 0;
	}
	.service-equipment-swiper {
		position: relative;
	}

	.service-equipment-swiper .swiper-button-prev {
		top: 12rem;
		left: -2.4rem;
	}
	.service-equipment-swiper .swiper-button-next {
		top: 12rem;
		right: -2.4rem;
	}
	/*.service-equipmentlist ul {
	    display: flex;
	    padding-bottom: 0;
	}
	.service-equipmentlist li {
	    padding: 1.7rem;
	}
	.service-equipmentlist li:before,
	.service-equipmentlist li:after {
		content: none;
	} */

	.service-equipmentlist .service-equipment-swiper {
		position: relative;
	}

	.service-equipmentlist .swiper-ctrl .swiper-pagination {
		position: absolute;
		bottom: -2.6rem;
	}

	.service-equipmentlist li {
		padding: 1.75rem 1.7rem 1.5rem;
	}

	.service-equipmentlist li .img {
		margin-bottom: 1.1rem;
	}

	.service-equipmentlist li .img img {
		width: 100%;
	}

	.service-equipmentlist .foot {
		position: relative;
		padding: 4rem 0 5.6rem;
		text-align: center;
		font-weight: 700;
		font-size: 1.5rem;
		line-height: 1.66;
		z-index: 2;
		background: #fff;
	}
	
	.service-about {
	    padding: 5.8rem 0;
	}
	.service-about .head-large {
	    margin-bottom: 3.6rem;
	}
	.service-about .head-large .jap3 {
	    margin-top: 2.5rem;
		font-size: 1.8rem;
	}
	.service-about-excuse .head {
	    margin-bottom: 4.3rem;
	    font-size: 2.5rem;
	}
	.service-about-excuse {
	    margin-bottom: 3.2rem;
	}
	.service-about-excuse:after {
	    content: "";
	    margin-top: 7rem;
	}
	.service-about-excuse ul {
	    display: flex;
	    justify-content: center;
	    flex-wrap: wrap;
	    gap: 0;
	}
	.service-about-excuse li {
		margin: -1.8rem 0;
		padding-top: 23.3rem;
		width: 23.3rem;
	}
	.service-about-leave .head {
	    margin-bottom: 3.2rem;
		line-height: 2;
	    font-size: 2rem;
	}
	.service-about-leave .head .big {
	    margin-bottom: 3.2rem;
		line-height: 1.5;
	    font-size: 2.5rem;
	}
	.service-about-leave ul {
	    grid-template-columns: repeat(2, 1fr);
	    gap: 1.6rem 1.4rem;
	}
	.service-about-leave li {
	    padding: 1rem 0;
	    font-size: 1.8rem;
	}
	.case-boxlink {
	    margin-top: 6rem;
	}
	.case-boxlink a {
	    display: block;
	}
	.case-boxlink a:after {
	    right: 0;
	    top: auto;
		bottom: 0;
	    transform: translate(50%, 50%);
	    width: 11.2rem;
	    height: 11.2rem;
	    background-position: 2.8rem 2.8rem;
	    background-size: 1.4rem;
	}
	.case-boxlink .info {
	    padding: 1rem;
	    width: auto;
		text-align: center;
	}
	.case-boxlink .img {
	    width: auto;
	}
	.case-boxlink .img img {
	    height: 19.5rem;
	}
	.case-boxlink .head-large {
		padding: 3.2rem 0 2.4rem;
	    margin-bottom: 0;
	}
	
	.service-wrap .banner img {
		height: 24.4rem;
	}
	
	.service-strength {
	    padding: 7rem 0;
	}
	.service-strength .head-large .eng img {
		max-width: 27.7rem;
	}
	.service-strength .head-large .jap3 {
		font-size: 1.8rem;
	}
	.service-strength .head {
	    margin-bottom: 2.3rem;
	    line-height: 1.45;
	    font-size: 2rem;
	}
	.service-strength .head-txt {
	    margin-bottom: 0;
	    text-align: left;
	}
	.service-strength ul {
	    grid-template-columns: repeat(1, 1fr);
	    border-left: 0;
	}
	.service-strength li {
	    padding: 5rem 0 4rem;
	    border-right: 0;
	    border-bottom: 1px dashed #707070;
	}
	
	.service-strength-area {
	    margin-top: 4.7rem;
	    padding: 5rem 1.5rem 28rem;
	    background-image: url(../img/service/bg_map_sp.png);
		background-position: center bottom;
	    background-size: 100%;
	    border-width: 1.2rem;
		text-align: center;
		font-size: 1.5rem;
	}
	.service-strength-area .head-large .eng img {
		max-width: 15rem;
	}
	.service-strength-area .head {
		line-height: 1.6;
		margin-bottom: 1rem;
	}
	
	.service-flow {
		padding: 0 0 7.3rem;
		border-top: 1px solid;
	}
	.service-flow .head-large {
	    transform: translateY(2.8rem);
	    margin-bottom: -6.3rem;
	}
	.service-flow .head-large .eng img {
		width: 14rem;
	}
	.service-flow .head-large .jap3 {
		font-size: 1.8rem;
	}
	.service-flow .bg-grid {
	    position: relative;
	    padding: 10.8rem 0 0;
	}
	.service-flow .bg-grid .line.top {
	    top: 10.8rem;
	}
	.service-flow .bg-grid .line.bottom {
	    bottom: 0;
	}
	.service-flow-swiper {
	    margin: 1.8rem 1.6rem;
	}
	.service-flow .swiper-pagination {
	    padding: 2.5rem 0;
		margin: 0 -3.6rem;
		width: auto;
		border-top:1px solid;
	}
	.service-flow .swiper-button-prev,
	.service-flow .swiper-button-next {
		top: 20rem;
	}
	.service-flow-swiper .display {
	    display: block;
	}
	.service-flow-swiper .display .img {
		margin-bottom: 2rem;
		width: auto;
	}
	.service-flow-swiper .display .info {
		width: auto;
		line-height: 2;
		font-size: 1.5rem;
	}
	.service-flow-swiper .display .step {
	    font-size: 2rem;
	}
	.service-flow-swiper .display .num {
	    margin-right: 0.8rem;
	}
	.service-flow-swiper .display .btn-link .btn {
		/*border-radius: 4rem;*/
	}
	
	.service-faq {
	    padding: 7rem 0 6rem;
	}
	.service-faq .head-large .eng img {
		width: 10rem;
	}
	.service-faq .head-large .jap3 {
	    margin-top: 1.8rem;
	}
	.faq-list li {
	    margin-bottom: 2.5rem;
	    padding: 1.6rem;
		font-size: 1.5rem;
	}
	.faq-list li .quest {
		background-size: 1.5rem;
	}
	.faq-list li .answer {
	    margin-top: 1.5rem;
	}
	
	/* case.html */
	.case-wrap {
	    padding: 3.4rem 0 4.6rem;
	}
	.case-category .tit {
	    padding-bottom: 0;
	    margin-bottom: 1.3rem;
	    border-bottom: 0;
	    font-size: 1.5rem;
	}
	.category-select {
	    -webkit-appearance: none;
	    appearance: none;
	    border: 1px solid #000;
	    color: #333;
		padding: 0 1.5rem;
		height: 6rem;
		width: 100%;
		background: url(../img/common/icon_select.svg)no-repeat right 1rem center;
	}
	.title-articles {
	    font-size: 1.5rem;
	}
	
	.case-list {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 6rem 0;
	}
	.case-itemlink .tit {
	    font-size: 1.5rem;
	}
	
	.wp-pagenavi {
		margin: 4.5rem -1rem 0;
	}
	.wp-pagenavi .page, 
	.wp-pagenavi .current {
		width: 4rem;
		height: 4rem;
		font-size: 2.2rem;
	}
	
	.detail-wrap {
	    padding: 3.8rem 0 6rem;
		background: transparent;
	}
	.detail-content {
	    display: block;
	}
	.detail-content .main {
		margin-bottom: 5.4rem;
		width: auto;
	}
	.detail-content .side {
		width: auto;
	}
	.detail-wrap .detail-bg {
	    padding: 0;
	}
	.detail-wrap .title {
	    margin-bottom: 2rem;
	}
	.detail-wrap .title .date {
	    margin-bottom: 1rem;
	    font-size: 1.5rem;
	}
	.detail-wrap .title h2 {
		margin-top: 1rem;
	    font-size: 2rem;
	}
	.detail-wrap .detail h3 {
	    padding: 0;
	    font-size: 1.8rem;
	}
	.detail-wrap .detail p {
	    line-height: 1.8;
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
	.detail-wrap .btn-link .btn {}
	.detail-content .side .hd01 {
	    margin-bottom: 3rem;
	}
	
	/* equipment.html */
	.anchors-list .head-large {
	    margin: 0 -1rem 4rem;
	}
	.anchors-list .head-large .jap {
		white-space: nowrap;
	    line-height: 2.222;
	    font-size: 1.8rem;
	}
	
	.equipment-part {
		margin-bottom: 8rem;
	}
	
	.equipment-wrap {
		font-size: 1.5rem;
	}
	.equipment-banner {
	    margin-bottom: 4.5rem;
	}
	.equipment-banner .bg:before {
	    /*content: none;*/
	}
	
	
	.sp_none .bg:before {
	    content: none !important;
	}

	
	.equipment-banner .bg img {
		height: 27rem;
	}
	.equipment-banner .head {
	    top: 4rem;
	    padding: 0 0 1.7rem 3.2rem;
	}
	.equipment-banner .head:before {
		width: calc(100% - 2.6rem);
		border-bottom-width: 0.6rem;
	}
	.equipment-banner .head:after {
		width: 2.6rem;
		height: 0.6rem;
	}
	.equipment-truck .equipment-banner .head img {
		width: 15.8rem;
	}
	.equipment-crane .equipment-banner .head img {
		width: 16.1rem;
	}
	.equipment-forklift .equipment-banner .head img {
		width: 22.7rem;
	}
	.equipment-electric .equipment-banner .head img {
		width: 23.1rem;
	}
	.equipment-facility .equipment-banner .head img {
		width: 20.6rem;
	}
	.equipment-display {
	    display: block;
	}
	.equipment-display + .equipment-display {
	    margin-top: 12.5rem;
	}
	.equipment-display .info {
		margin-bottom: 3rem;
		width: auto;
	}
	.equipment-display .img {
		padding-right: 0; 
		margin-top: 0;
		width: auto;
	}
	.equipment-display .map {
		width: auto;
	}
	.equipment-display .map iframe {
	    height: 35.2rem;
	}
	.equipment-display .title {
	    padding: 1.8rem 1.7rem;
	    margin-bottom: 1.8rem;
	}
	.equipment-display .title .model {
	    padding: 0 0.7rem 0 0;
	    font-size: 2rem;
	}
	.equipment-display .title .units {
	    padding-left: 1rem;
	}
	.equipment-display .title .num {
	    font-size: 2rem;
	}
	.equipment-display .sub {
	    margin-bottom: 2rem;
	}
	.equipment-display .inventorys li {
		padding: 2.2rem 0;
	}
	.equipment-display .inventorys .num {
	    font-size: 2rem;
	}
	.equipment-display .access .address {
		letter-spacing: 0.05em;
	}
	
	.equipment-model-ctrl {
	    gap: 0.7rem;
	    margin-top: 1.5rem;
	}
	.equipment-model-ctrl li {
		width: 7.4rem;
	}
	.equipment-model-ctrl li img {
	    height: 6.6rem;
	}
	
	
	
	
	/* recruit.html */
	#recruit #teaser .bg {
		margin-left: 0;
	}
	#recruit #teaser .bg img {
	    height: 44rem;
	}
	#recruit #teaser .info {
	    padding: 3.2rem 2rem 0;
	}
	#recruit #teaser .head-large {
		padding: 1.6rem 3.6rem 1.6rem 6.6rem;
		margin-left: -2rem;
		background: #000;
		color: #fff;
	}
	#recruit #teaser .head-large:after {
	    width: 5rem;
	    background-image: url(../img/recruit/hd_line_bl.png);
	}
	#recruit #teaser .head-large .jap {
		font-size: 1.3rem;
	}
	.recruitment-point {
		display: none;
	}
	
	.recruit-message {
	    padding-top: 3.6rem;
	}
	.recruit-message .display {
	    display: block;
	}
	.recruit-message .display .img {
	    margin: 0 0 6.8rem -3.6rem;
		width: auto;
	}
	.recruit-message .display .info {
		width: auto;
	}
	.recruit-message .display .img img {
		height: 24.7rem;
	}
	.recruit-message .display .head-large {
		margin-bottom: 3rem;
	}
	.recruit-message .display .head-large .eng img {
		width: 25.2rem;
	}
	.recruit-message .display .head-txt {
	    font-size: 1.5rem;
	    font-weight: 400;
	}
	
	.recruit-features {
	    padding: 6.6rem 0 6.4rem;
	}
	.recruit-features .head-large .eng img {
		width: 27.4rem;
	}
	.recruit-features .features-points {
		grid-template-columns: repeat(1, 1fr);
		gap: 4.8rem 0;
		margin: 0 3.6rem;
	}
	.recruit-features .features-points li {
		border-top: 0;
	}
	.features-points li a {
	    display: block;
	    padding: 0;
	    min-height: inherit;
		font-size: 1.5rem;
	}
	.features-points li .step {
		position: relative;
		margin-top: -1.5rem;
		text-align: center;
		line-height: 1;
		font-size: 3rem;
	}
	.features-points li .step:before,
	.features-points li .step:after {
		content: "";
		position: absolute;
		top: 50%;
		width: calc(50% - 2.4rem);
		border-top: 1px solid #fff;
	}
	.features-points li .step:before {
		left: 0;
	}
	.features-points li .step:after {
		right: 0;
	}
	.features-points li h3 {
		margin-bottom: 1rem;
		line-height: 1.444;
		font-size: 1.8rem;
	} 
	.features-points li .more {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 0.6rem;
		margin-top: 2rem;
		height: 3.1rem;
		background: #fff; 
		color: #3E3E3E;
		font-size: 1.4rem;
		font-weight: 500;
	}
	.features-points li .more:after {
	    content: "";
	    width: 1.5rem;
	    height: 1.5rem;
	    background: url(../img/common/icon_link_wh.svg) no-repeat center #3E3E3E;
	    background-size: 0.6rem;
	    border-radius: 50%;
	}
	
	.fancybox-content {
		width: calc(100% - 5rem);
	}
	.fancybox-recruit-features {
		padding: 4rem 2.4rem 3.2rem;
		max-height: 90vh;
	}
	.features-display {
	    display: block;
	    margin-bottom: 2rem;
	}
	.features-display .info {
		margin-bottom: 2rem;
	    width: auto;
	}
	.features-display .img {
	    width: auto;
	}
	.fancybox-head {
		margin-bottom: 1rem;
	    font-size: 2rem;
	}
	.fancybox-head .step {
	    font-size: 3rem;
	}
	.fancybox-information li {
	    padding: 1.5rem;
		line-height: 1.6667;
		font-size: 1.5rem;
	}
	.fancybox-information li + li {
	    margin-top: 2.2rem;
	}
	.fancybox-information .hd01 {
		font-size: 1.6rem;
	}
	.fancybox-information .hd01 span {
	    margin-bottom: 0.5rem;
		white-space: nowrap;
		word-wrap: break-word;
		word-break:break-all;
	}
	.fancybox-information .display {
	    display: block;
	}
	.fancybox-information .display .info {
		width: auto;
	}
	.fancybox-information .display .img {
		margin-top: 1.5rem;
		width: auto;
	}
	.fancybox-information .sitemap {
	    padding: 1.5rem;
	    background: none;
	}
	.fancybox-information .display .logo {
	    padding: 0;
		margin: 2rem auto 0;
		width: auto;
		max-width: 17rem;
	}
	.fancybox-information .btn-benefit {
		display: block;
	}
	.fancybox-information .btn-benefit .btn {
		justify-content: space-between;
		gap: 0;
		padding: 1.2rem 1.5rem;
		height: auto;
		border-width: 0.6rem;
		line-height: 1.4;
		font-size: 1.5rem;
	}
	.fancybox-information .btn-benefit .note {
		margin-top: 1.4rem;
		text-align: center;
	}
	
	.fancybox-information2 {
	    flex-direction: column;
	    gap: 1.7rem 0;
	}
	.fancybox-information2 .box {
	    width: 100%;
	}
	.fancybox-information2 .hd01 {
	    padding: 1.2rem 1rem;
		font-size: 1.6rem;
	}
	.fancybox-information2 .leave-time {
	    padding: 1.5rem;
		text-align: left;
		font-size: 1.5rem;
	}
	.fancybox-information2 .leave-time .case {
	    gap: 0 1rem;
	    margin: 1.5rem 0 2rem;
	}
	.fancybox-information2 .leave-time .case li {
	    padding: 1rem 0 6.2rem;
	    width: 100%;
	    height: auto;
	    background: no-repeat bottom -1rem center #3E3E3E;
		background-size: 4.5rem;
	    border-radius: 0.5rem;
		text-align: center;
		font-size: 1rem;
	}
	.fancybox-information2 .leave-time .time {
	    font-size: 1.2rem;
	}
	.fancybox-information2 .leave-time .num {
	    margin-right: 0.4rem;
	    font-size: 2.5rem;
	}
	
	.features-teaser {
	    margin: 0 0 4.4rem;
	}
	.features-teaser .info {
	    position: static;
	    padding: 2rem 0 0;
	    background: none;
	    text-align: left;
	    color: #000;
	}
	.features-teaser .fancybox-head .step {
		padding: 0;
	}
	.fancybox-features-settle .display {
	    display: block;
		line-height: 2;
	}
	.fancybox-features-settle .display + .display {
	    margin-top: 6.5rem;
	}
	.fancybox-features-settle .display .info {
		margin-bottom: 2rem;
		width: auto;
	}
	.fancybox-features-settle .display .img {
		width: auto;
	}
	.fancybox-features-settle .display.block-cen {
	    padding: 2.2rem 2rem 3rem;
	    text-align: left;
	}
	.fancybox-features-settle .block-cen .point {
	    margin-bottom: 1rem;
		text-align: center;
	}
	.fancybox-features-settle .tit {
		font-size: 1.8rem;
	}
	.fancybox-features-settle .logo {
		margin-bottom: 2.2rem;
		text-align: center;
	}
	.fancybox-features-settle .logo img {
	    max-width: 19rem;
	}
	
	
	.fancybox-close {
	    margin-top: 3.2rem;
	}
	
	
	.features-benefits .head-large .eng img {
		width: 21.8rem;
	}
	.recruit-features .features-benefits {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.6rem 0;
	    margin-top: 8rem;
	}
	.features-benefits li {
		padding: 2.6rem 1rem 2.4rem;
		font-size: 1.4rem;
	}
	.features-benefits li.title {
		padding: 0;
	    background: transparent;
		border: 0;
	}
	.features-benefits .title .head-large {
		color: #fff;
	}
	.features-benefits li .icon {
	    padding: 0 0 1.5rem;
	}
	.features-benefits li .icon img {
		max-width: 5.8rem;
		max-height: 8.8rem;
	}
	.features-benefits li .tit {
	    margin-bottom: 1.2rem;
	    font-size: 1.8rem;
	}
	
	.recruit-interview {
	    padding: 9.2rem 0 6rem;
	}
	.recruit-interview .head-large {
		margin-bottom: 4rem;
	}
	.recruit-interview .head-large .eng img {
		width: 25.2rem;
	}
	.recruit-interview-swiper {
		position: relative;
	}
	.recruit-interview-swiper .swiper-button-prev,
	.recruit-interview-swiper .swiper-button-next {
		width: 3.6rem;
		height: 3.6rem;
		background-size: auto 100%;
	} 
	.recruit-interview-swiper .swiper-button-prev {
	    left: -3.6rem;
	    background-image: url(../img/common/swiper_left2.svg);
	}
	.recruit-interview-swiper .swiper-button-next {
	    right: -3.6rem;
	    background-image: url(../img/common/swiper_right2.svg);
	}
	.recruit-interview-swiper .swiper-pagination {
		margin-top: 1.6rem;
	}
	.recruit-interview-swiper ul {
		justify-content: flex-start;
	    gap: 0;
	    font-size: 1.5rem;
	}
	.recruit-interview-swiper li {
		width: auto;
	}
	.recruit-interview-swiper .img {
		margin-bottom: 1.2rem;
	}
	.recruit-interview-swiper .img:before {
		content: none;
	}
	.recruit-interview-swiper .img img {
		object-fit: cover;
		height: 38.8rem;
	}
	.recruit-interview-swiper .info {
		padding: 1.8rem 2.8rem;
	}
	.recruit-interview-swiper .hd01 {
	    font-size: 1.5rem;
	}
	.recruit-interview-swiper .hd01 span {
		padding: 1.5rem 0.8rem 1.5rem 2.8rem;
	}
	
	.recruit-ideal {
		margin-bottom: 12rem;
	}
	.recruit-ideal-wrap .mask-recruit {
		display: block;
		position: static;
		padding: 6.5rem 2.4rem 6rem;
		margin: 0 3.6rem;
		width: auto;
	}
	.recruit-ideal-swiper {
		border-top: 1px solid #707070;
	}
	.recruit-ideal-swiper .swiper-slide {
		padding: 6rem 0 5rem;
		max-width: calc(100% - 7.2rem);
		border-left: 1px solid #707070;
	}
	.recruit-ideal-wrap .swiper-pagination {
		position: absolute;
		left: 0;
		top: 100%;
		padding: 2.6rem 0;
		height: 6rem;
		border-top: 1px solid #707070;
		border-bottom: 1px solid #707070;
	}
	.recruit-ideal-wrap .swiper-pagination:before,
	.recruit-ideal-wrap .swiper-pagination:after {
		content: "";
		position: absolute;
		top: 0;
		height: 100%;
		border-left: 1px solid #707070;
	}
	.recruit-ideal-wrap .swiper-pagination:before {
		left: 3.6rem;
	}
	.recruit-ideal-wrap .swiper-pagination:after {
		right: 3.6rem;
	}
	.recruit-ideal-wrap .swiper-button-prev,
	.recruit-ideal-wrap .swiper-button-next {
		top: auto;
		bottom: 13.5rem;
	}
	.recruit-ideal-wrap .swiper-button-prev {
		left: 1rem;
	}
	.recruit-ideal-wrap .swiper-button-next {
		right: 1rem;
	}
	
	.recruit-recruitment-points {
		padding: 6.8rem 0 4.6rem;
	}
	.recruit-recruitment-points .inner {
		padding: 0 1rem;
	}
	
	
	.recruit-recruitment-points ul {
	    display: block;
	}
	.recruit-recruitment-points li {
		margin-bottom: 3rem;
		padding: 1.2rem 1.2rem 2.6rem;
		width: auto;
	}
	.recruit-recruitment-points .img {
	    margin-bottom: 1.8rem;
	}
	.recruit-recruitment-points .info th {
		padding: 1.8rem 0;
		font-size: 1.5rem;
	}
	.recruit-recruitment-points .info td {
		padding: 1.8rem 0;
		font-size: 1.4rem;
	}
	.recruit-recruitment-points .btn-link {
	    flex-direction: column;
		gap: 1.8rem 0;
	}
	.recruit-recruitment-points .btn-link .btn {
		
	}
	
	.message-wrap {
		font-size: 1.5rem;
	}
	
	.message-introd {
	    padding: 4.5rem 0 0;
	    background: linear-gradient(to bottom, #B2B2B2 45.6rem, #fff 45.6rem);
	    line-height: 2.1333;
	}
	.message-introd .hd01 {
	    margin-bottom: 0.8rem;
	    font-size: 1.5rem;
	}
	.message-introd .hd01 span {
		padding: 2.2rem 1.8rem;
	}
	.message-introd .hd02 {
	    margin-bottom: 1.8rem;
	    font-size: 1.8rem;
	}
	.message-introd .hd02:before {
	    margin-right: 0.8rem;
	    width: 2.8rem;
	}
	.message-introd .display {
		display: block;
	}
	.message-introd .display .info {
		margin-bottom: 4rem;
		width: auto;
		line-height: 1.4;
	}
	.message-introd .display .img {
		width: auto;
	}
	.message-introd .display2 {
	    margin-top: 6.6rem;
	}
	.message-introd .display2 .img {
		width: auto;
	} 
	.message-introd .paragraph {
		margin-top: 3.5rem;
	}
	.message-introd .paragraph li + li {
	    margin-top: 3.6rem;
	}
	
	.message-schedule {
	    padding: 1.6rem 0 2rem;
	}
	.message-schedule .inner {
		padding: 0 1rem;
	}
	.message-schedule .bg {
	    padding: 7.8rem 2.5rem 5.8rem;
	}
	.message-schedule .head-large {
		margin-bottom: 3.5rem;
	}
	.message-schedule .head-large .eng img {
		width: 27.2rem;
	}
	.message-schedule li {
	    display: block;
	    line-height: 2;
	}
	.message-schedule li .date {
		margin-bottom: 1.6rem;
		padding: 0.7rem 0;
		font-size: 1.4rem;
	}
	.message-schedule li .info {
		width: auto;
	}
	
	.message-other {
	    padding: 4rem 0 6.3rem;
	}
	.message-other .head-large {
		margin-bottom: 3.2rem;
	}
	.message-other .head-large .eng img {
		width: 20.7rem;
	}
	.message-other .head-large .jap3 {
		font-size: 1.8rem;
	}
		
	.recruitment-entry {
		width: 100%;
	}
	.recruitment-entry a {
		padding: 2.5rem 1rem;
		width: 100%;
		background: #000;
		font-size: 1.5rem;
	}
	.recruitment-entry a:after {
		content: "";
		position: absolute;
		right: 3.2rem;
		top: 50%;
		transform: translateY(-50%);
		width: 1.8rem;
		height: 1.8rem;
		background: url(../img/common/icon_link.svg) no-repeat center #fff;
		border-radius: 50%;
	}
	
	#recruitment #teaser .head-large .eng img {
		width: 23rem;
	}
	.recruitment-wrap {
	    padding: 5rem 0 4.8rem;
	    line-height: 2.1333;
		font-size: 1.5rem;
	}
	.field-worker-display {
	    display: block;
	}
	.field-worker-display .info {
		margin-bottom: 2.6rem;
		width: auto;
	}
	.field-worker-display .img {
		width: auto;
	}
	.recruitment-table {
	    padding-top: 7.8rem;
	}
	.recruitment-table th {
		display: block;
		padding: 2rem 0 1rem;
		width: 100%;
	}
	.recruitment-table td {
		display: block;
		padding: 0 0 2rem;
		width: 100%;
	}
	
	.recruitment-reason {
	    padding-top: 4.8rem;
	}
	.recruitment-reason ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 6rem 0;
	}
	
	.recruitment-reason .btn-link {
		gap: 3.7rem 0;
		margin-top: 3.8rem;
	}
	.recruitment-reason .btn-link .btn {
	    height: 5.2rem;
	    width: 100%;
	    font-size: 2rem;
	}
	.recruitment-reason .btn-link .link {
		font-size: 1.6rem;
	}
	
	.entry-wrap {
		padding: 3rem 0;
		font-size: 1.5rem;
	}
	.entry-form .head-small {
		margin-bottom: 3rem;
		line-height: 2.1333;
		text-align: left;
		font-size: 1.5rem;
		font-weight: 500;
	}
	.entry-form input[type="text"],
	.entry-form select {
		padding: 0 1.5rem;
		font-size: 1.5rem;
	} 
	.btn-options {
		gap: 1rem 1.2rem;
	}
	.btn-options input + label {
		padding: 0 1.2rem;
	}
	.entry-form textarea {
		font-size: 1.5rem;
	}
	
	.entry-form .btn-link .btn {
		border-radius: 5rem;
	}
	
	#sitemap #wrapper {
	    background: #fff;
	}
	
	#sitemap #teaser .head-large .eng img {
		width: 25.5rem;
	}
	
	.site-map-wrap {
	    margin: 0;
	    padding: 3rem 0 5.8rem;
	}
	.site-map-links {
		grid-template-columns: repeat(1, 1fr);
		gap: 3rem 0;
		font-size: 1.5rem;
	}
	.site-map-links .level1 + .level1 {
		margin-top: 2rem;
	}
	
	.example {
		text-align: center;
	}
	
	.recruit-recruitment-points .swiper-ctrl .swiper-button-prev {
		left: 1rem;
		top: 37rem;
	    width: 4.6rem;
	    height: 5.6rem;
		background-image: url(../img/common/swiper_left.svg);
	}
	.recruit-recruitment-points .swiper-ctrl .swiper-button-next {
		right: 1rem;
		top: 37rem;
	    width: 4.6rem;
	    height: 5.6rem;
		background-image: url(../img/common/swiper_right.svg);
	}

	
	/*-----------------------------
	
	thanks /confirm 
	
	-------------------------------*/
	
	.confirm-area {
	    padding: 5rem 0;
	    background: #fff;
	}
	.confirm-area p.confirm-txt {
		text-align: left;
		font-size: 1.5rem;
		margin-bottom: 0;
		letter-spacing: 0.05rem;
		padding: 0 3rem;
		line-height: 1.8;
	}
	
	.confirm-area .confirm-inner {
	    padding: 5rem 2rem;
	}
	
	.confirm-area .inner{padding: 0;}
	
	.page-template-page-entry-confirm .eng,
	.page-template-page-confirm .eng,
	.page-template-page-sitemap .eng {
		width: 80%;
		margin: 0 auto;
	}
	
	.mwform-radio-field-text {
	    padding: 0 1rem;
	}
	
	.form-date .date-select02 {
	    margin-left: 2.5rem;
	}
	
	.form-date .date-select02::before {
	    content: '';
	    position: absolute;
        left: -1rem;
        top: 10%;
        z-index: 3;
	    width: .1rem;
	    height: 2rem !important;
	}
	
	/*-----------------------------
	
	policy / terms 
	
	-------------------------------*/
	.policy-area {padding: 0;}
	
	.policy-area .inner {
	    padding: 6rem 4rem;
	}
		
	.policy-area p.txt {
	    font-size: 1.5rem;
		margin-bottom: 4rem;
	}
		
	
	.policy-area .area h3 {
		font-size: 1.7rem;
	}
		
		
	/*-----------------------------
	
	news 
	
	-------------------------------*/
	
	.page-template-archive-news #teaser {
		background: #F0F0F0;
	}	
	.single-news {
	    padding: 4rem 0 5rem;
	}
		
	.single-news p.news-day {
		font-size: 1.5rem;
		font-weight: bold;
	}
	
	.single-news h2.news-ttl {
		font-size: 1.8rem;
		font-weight: bold;
	}
		
	.single-news .news-contents p {
	    font-size: 1.5rem;
	}
		
	/*-----------------------------
	
	thanks /confirm 
	
	-------------------------------*/
	.thanks-page {
		padding: 5rem 0;
	}
	
	h3.ttl_page {
		font-size: 2rem;
		margin-bottom: 3rem;
	} 
	
	p.txt_page {
		font-size: 1.5rem;
	}	
	
	/*-----------------------------
	
	contact 
	
	-------------------------------*/

	#zip {
		width: 50%;
	}
	
	.btn_contact,
	.btn-link-contact {width: 100%;}
	
	.post-type-archive-recruit .sp-head-links,
	.single-recruit .sp-head-links,
	.recruitment-entry {
		display: none !important;
	}
	
	.sp-btn {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 10;
	}
	
	.sp-btn a {
		display: block;
		width: 100%;
		height: 100;
	}
	
	.ab-img01,
	.ab-img02 {display: none !important;}
	
	
	.sp-head-links {
		position: fixed;
		right: 0;
		top: auto;
		bottom: 0;
		z-index: 10;
		width: 100%;
	}
	.sp-head-links ul {
		display: flex;
	}

	.sp-head-links ul li {
		width: 50%;
	}
	
	.sp-head-links a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 6.5rem;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 500;
	}
	.sp-head-links a:before {
		content: "";
		display: block;
		margin-right: 0.5rem;
		background: no-repeat center;
		background-size: 100%;
	}
	.sp-head-links .recruit {
		background: #838383;
	}
	.sp-head-links .contact {
		background: #000;
	}
	
	.sp-head-links .recruit:before {
		width: 1.5rem;
		height: 1.5rem;
		background-image: url(../img/common/icon_user_wh.svg);
	}
	.sp-head-links .contact:before {
		width: 1.7rem;
		height: 1.1rem;
		background-image: url(../img/common/icon_email_wh.svg);
	}

	
	
	
	
	
	
}


	


@media screen and (max-width: 374px) {
	.inner, 
	.inner2 {
		padding: 0 1.5rem;
	}
}


