@charset "UTF-8";
/* CSS Document */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, span,var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	box-sizing: border-box;
}
ul,ol {
    list-style:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
	color:inherit;
    text-decoration: none;
	box-sizing: border-box;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align:top;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #333;
	line-height: 1.7;
	letter-spacing: 0.055em;
	width: 100%;
	text-align: justify;
	margin: 0 auto;
	overflow-x: hidden;
}
html{
	overflow-x: hidden;
}
/*トップページ上*/
.nk_top{
	background: url("../images/nktopback.png") no-repeat center;
	background-size: cover;
	height: 780px;
	text-align: center;
	position: relative;
}
.nklogotop{
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 0.07em;
	color: #fff;
	text-shadow: 0 0 5px #232850, 0 0 8px #232850, 0 0 8px #232850, 0 0 8px #232850;
	padding: 323px 0;
	margin: 0 auto;
}
@media only screen and (max-width: 1350px) {
	.nklogotop{
	padding: 323px 0 0 380px;
}
}
.nklogotop p span{
	font-size: 0.8em;
}
.nklogotop img{
	max-width: 630px;
	margin-top: -5px;
}
.topmenu01{
	width: 340px;
	position: absolute;
	top: 0;
	left: 0;
}
.topmenu01 .topmenu_service:first-of-type{
	background: url("../images/top_overhead-crane.png") no-repeat top right;
	background-size: cover;
}
.topmenu01 .topmenu_service:nth-of-type(2){
	background: url("../images/top_chain-block.png") no-repeat top right;
	background-size: cover;
}
.topmenu01 .topmenu_service:nth-of-type(3){
	background: url("../images/top_freight-elevator.png") no-repeat top right;
	background-size: cover;
}
.topmenu01 .topmenu_service a{
	display: block;
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	height: 213px;
	padding: 91px 0 0;
	text-align: center;
	text-shadow: 0 0 5px #000,0 0 15px rgba(0,0,0,0.5);
	position: relative;
	transition: .2s;
	z-index: 1;
}
.topmenu01 .topmenu_service a:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right,rgba(30,32,136,0.45) 0%,rgba(30,32,136,0.45) 60%, transparent 100%);
	position: absolute;
	top: 0;
	left: 0;
	transition: .8s;
	z-index: -1;
}
.topmenu_other{
	height: 141px;
	background: linear-gradient(to right,rgba(30,32,136,1) 0%,rgba(30,32,136,0.8) 50%, transparent 100%);
	padding: 35px 70px 0;
}
.topmenu_other a{
	display: block;
	color: #fff;
	text-align: left;
	padding-bottom: 10px;
	transition: .3s;
}
.topmenu_other a:after{
	font-family: "Material Symbols Outlined";
	content: "\e941";
	display: inline-block;
	font-size: 19px;
	vertical-align: middle;
	padding: 0 0 3px 20px;
	transition: .2s .2s;
}
.topmenu02{
	display: flex;
	position: absolute;
	bottom: 0;
	right: 0;
}
.topmenu02 li{
	position: relative;
}
.topmenu02 li:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,rgba(255,255,255,0.85) 0%,rgba(255,255,255,0.85) 100%);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .1s .1s;
}
.topmenu02 li.topmenu_news:before{
	border-radius: 10px 0px 0px 0px;
}
.topmenu02 a{
	font-size: 17px;
	font-weight: 500;
	display: block;
	width: 170px;
	height: 110px;
	color: #fff;
	padding-top: 56px;
	text-align: center;
	position: relative;
	z-index: 1;
}
.topmenu02 a:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: .5s;
	z-index: -1;
}
.topmenu02 .topmenu_news a{
	text-shadow: 0 0 10px rgba(0, 153, 253, 1);
	border-radius: 10px 0px 0px 0px;
	transition: .5s;
}
.topmenu02 .topmenu_contact a{
	text-shadow: 0 0 10px rgba(5, 8, 136, 1);
	transition: .5s;
}
.topmenu02 .topmenu_news a:before{
	font-family: "Material Symbols Outlined";
	content: "\ef49";
	font-size: 32px;
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
}
.topmenu02 .topmenu_contact a:before{
	font-family: "Material Symbols Outlined";
	content: "\e158";
	font-size: 26px;
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
}
.topmenu02 .topmenu_news a:after{
	background: linear-gradient(to bottom,rgba(40,170,255,0.85) 0%,rgba(105,195,255,0.85) 100%);
	border-radius: 10px 0px 0px 0px;
}
.topmenu02 .topmenu_contact a:after{
	background: linear-gradient(180deg, rgba(30, 32, 136, 0.85) 0%, rgba(97, 99, 172, 0.85) 100%);
}

.nkback{
	background: #EBF0FA;
}

/*ヘッダー*/
header{
	width: 100%;
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
	background: #fff;
	padding: 20px 67.5px 20px 50px;
	box-shadow: 0 3px 5px rgba(0,0,0,0.08);
	z-index: 2;
}
header h1{
	max-width: 300px;
}
header ul{
	display: flex;
	justify-content: flex-end;
	flex-shrink: 0;
}
header li{
	color: #333333;
	margin: 8px 17.5px;
	transition: .3s;
}

/*ハンバーガーメニュー*/
.spmenu_containertop{
	display: none;
}
.spmenu_container .spmenubtn{
	display: none;
}

/*パンくずリスト・共通*/
.breadcrumbs{
	max-width: 1160px;
	width: 100%;
	display: flex;
	padding: 25px 40px 20px;
	margin: 0 auto;
	position: absolute;
	top: 75px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.breadcrumbs li{
	font-size: 13px;
	color: #fff;
}
.breadcrumbs li:after{
	font-family: "Material Symbols Outlined";
	content: "\e5cc";
	display: inline-block;
	font-size: 21px;
	line-height: 1;
	margin-bottom: 2px;
	vertical-align: middle;
}
.breadcrumbs li:last-of-type{
	opacity: 0.6;
}
.breadcrumbs li:last-of-type:after{
	display: none;
}
.nkpage .breadcrumbs li{
	color: #505050;
}
.nk_content{
	max-width: 1160px;
	padding: 0 40px;
	margin: 0 auto;
}
.nkpagetop_h{
	width: 100%;
	height: 250px;
	background: url("../images/company_exterior_back.png") no-repeat top right / contain ,#E1E6F0;
	padding-top: 55px;
	margin: 80px 0 80px;
}
.nkpagetop_h.contact_h2{
	background: url("../images/contact_back.png") no-repeat top right / contain ,#E1E6F0;
}
.nkpagetop_h div{
	font-size: 70px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: rgba(30, 32, 136, 0.6);
}
.nkpagetop_h div span{
	font-size: 30px;
	letter-spacing: 0.1em;
	color: #1E2088;
	margin-left: 25px;
}
.nkpage .pageh3{
	font-size: 35px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: #1E2088;
	text-align: center;
}
.nkpage .pageh3 div{
	font-size: 25px;
	line-height: 1.5;
	opacity: 0.6;
}

/*AboutAs*/
.nkaboutus{
	background: url("../images/aboutus_back.png") no-repeat;
	background-size: 100%;
	padding: 60px 0 200px;
}
.nkaboutus h2{
	font-size: 70px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #8E8FC3;
	text-align: center;
}
.nkaboutus h2 span{
	display: block;
	font-size: 30px;
	letter-spacing: 0.1em;
	color: #1E2088;
	margin-top: -8px;
}
.nkaboutus_text01{
	font-size: 30px;
	font-weight: 600;
	line-height: 1.6;
	color: #232850;
	text-align: center;
	padding: 30px 0;
}
.nkaboutus_text02{
	font-size: 18px;
	color: #232850;
	text-align: center;
}
.nkaboutus ul{
	height: 1015px;
	background: url("../images/aboutus_logo.png") no-repeat center / 281px 140px;
	margin: 80px auto 0;
	position: relative
}
.nkaboutus li{
	width: 31.0185%;
	height: 0;
	padding-top: calc(31.0185% - 10px);
	color: #fff;
	background: #40419A;
	text-align: center;
	border: 5px solid #BBBCDB;
	border-radius: 50%;
	position: absolute;
}
.nkaboutus li div{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.nkaboutus li img{
	width: 20.298%;
	padding: 26px 0 10px;
}
.nkaboutus li h3{
	font-size: clamp(18px,2vw,23px);
	font-weight: 600;
	line-height: 1.4;
}
.nkaboutus li p{
	font-size: clamp(14px,1.5vw,18px);
	font-weight: 500;
	line-height: 1.6;
	padding-top: 3.58%;
}
.nkaboutus li:first-of-type{
	top: 0;
	left: calc(50% - 2.3148%);
	transform: translateX(-100%)
}
.nkaboutus li:nth-of-type(4){
	top: 0;
	right: calc(50% - 2.3148%);
	transform: translateX(100%)
}
.nkaboutus li:nth-of-type(2){
	top: 50%;
	left: calc(50% - 19.074%);
	transform: translate(-100%,-50%)
}
.nkaboutus li:nth-of-type(5){
	top: 50%;
	right: calc(50% - 19.074%);
	transform: translate(100%,-50%)
}
.nkaboutus li:nth-of-type(3){
	bottom: 0;
	left: calc(50% - 2.3148%);
	transform: translateX(-100%)
}
.nkaboutus li:nth-of-type(6){
	bottom: 0;
	right: calc(50% - 2.3148%);
	transform: translateX(100%)
}

/*トップページサービス*/
.nkservice_top_back{
	background: url("../images/servicetop_back.png") no-repeat top center/ 100%,#1E2088;
	border-radius: 0px 80px 0px 0px;
}
.nkback .nkservice_top{
	padding: 60px 40px 15px;
	margin: 0 auto;
}
.nkservice_top h2,.nkservice h2{
	font-size: 70px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: rgba(255,255,255,0.8);
}
.nkservice_top h2 span,.nkservice h2 span{
	font-size: 30px;
	letter-spacing: 0.1em;
	color: #fff;
	margin-left: 25px;
}
.nkservice_top h2 + p, .nkservice h2 + p{
	font-size: 25px;
	letter-spacing: 0.08em;
	color: #fff;
	margin: 10px 0 60px;
}
.nkservice_top h2 + p span{
	font-size: 0.8em;
}
.nkservice_top li{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background: #fff;
	padding: 45px 40px 15px;
	margin-bottom: 85px;
	border-radius: 20px;
	position: relative;
	box-shadow: 5px 5px 8px rgba(0,0,0,0.2);
}
.nkservice_top_num{
	font-size: 75px;
	font-weight: 700;
	color: #8384be;
	position: absolute;
	top: 0;
	left: 40px;
	transform: translateY(-50%);
}
.nkservice_toptext{
	width: 510px;
	padding-right: 20px;
	margin-bottom: 20px;
}
.nkservice_toptext h3{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	color: #1E2088;
	padding-bottom: 13px
}
.nkservice_top li img{
	width: 475px;
	margin: -60px -55px 0 0;
}
.nkservice_toplink{
	color: #1E2088;
	margin-top: 55px;
	text-align: right;
	transition: .3s;
}
.nkservice_toplink a:after{
	font-family: "Material Symbols Outlined";
	content: "\e941";
	font-size: 18px;
	display: inline-block;
	padding-left: 10px;
	margin-bottom: 3px;
	vertical-align: middle;
	transition: .3s;
}
.nkservice_top li:nth-of-type(2n){
	flex-direction: row-reverse;
}
.nkservice_top li:nth-of-type(2n) .nkservice_top_num{
	top: 0;
	left: auto;
	right: 40px;
}
.nkservice_top li:nth-of-type(2n) .nkservice_toptext{
	padding-right: 0;
	padding-left: 20px;
}
.nkservice_top li:nth-of-type(2n) img{
	margin: -60px 0 0 -55px;
}

/*トップページニューススライダー*/
.nkback .nknews_top{
	padding: 60px 40px 100px;
	margin: 0 auto;
}
.nknews_top h2{
	font-size: 70px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #6163AC;
}
.nknews_top h2 span{
	font-size: 30px;
	letter-spacing: 0.1em;
	color: #1E2088;
	margin-left: 25px;
}
.nknews_top .swiper{
	margin-top: 15px
}
.nknews_top .swiper-pagination{
	display: flex;
	justify-content: center;
	margin: 50px 0 0;
}
.nknews_top .swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: block;
	margin: 0 7.5px;
	background: #1E2088;
	cursor: pointer;
}
.nknews_top .swiper-pagination-bullet-active{
	background: #FFF000;
}
.nknews_top .swiper-button-prev{
	width: 22px;
	height: 22px;
	border: solid #FFF;
	border-width: 4px 0 0 4px;
	filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	position: absolute;
	transform: rotate(-45deg) translateY(-50%);
	top: calc(50% - 74.39px);
	left: 20px;
	z-index: 20;
	opacity: 0.8;
	cursor: pointer;
}
.nknews_top .swiper-button-next{
	width: 22px;
	height: 22px;
	border: solid #FFF;
	border-width: 4px 4px 0 0;
	filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	position: absolute;
	transform: rotate(45deg) translateY(-50%);
	top: calc(50% - 74.39px);
	right: 20px;
	z-index: 20;
	opacity: 0.8;
	cursor: pointer;
}


/*下部お問い合わせ*/
.contact_top{
	background: #F5F7FC;
	padding: 60px 0 100px;
}
.contact_top h2{
	font-size: 30px;
	font-weight: 500;
	color: #232850;
	text-align: center;
}
.contact_top h2:before{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 13px 15px 15px;
	background: #1E2088;
	vertical-align: middle;
}
.contact_top h2 span{
	font-weight: 300;
	margin-left: 15px;
}
.contact_top h2 span:before{
	content: "";
	display: inline-block;
	height: 30px;
	margin: 0 15px 5px 0;
	vertical-align: middle;
	border-left: 1px solid #232850;
}
.contact_top ul{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 50px;
}
.contact_top li{
	width: 326px;
	color: #1E2088;
	margin: 0 45px;
}
.contact_top li h3{
	font-size: 20px;
	font-weight: 500;
	border-bottom: 1px solid #1E2088;
}
.contact_top li .tel{
	font-family: 'Roboto';
	font-size: 46px;
	letter-spacing: 0.046em;
	font-weight: 700;
}
.contact_top li .openhour{
	margin-top: -5px;
	line-height: 1.5;
}
.contact_top li .contactbtn{
	display: block;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	height: 65px;
	color: #fff;
	background: #1E2088;
	padding: 6px 40px;
	margin-top: 20px;
	border: 1px solid #1E2088;
	border-radius: 99px;
	transition: .3s;
}
.contact_top li .contactbtn:before{
	font-family: "Material Symbols Outlined";
	content: "\e158";
	display: inline-block;
	font-size: 30px;
	margin: 0 13px 5px 0;
	vertical-align: middle;
}
.contact_top li .contactbtn:after{
	font-family: "Material Symbols Outlined";
	content: "\e941";
	display: inline-block;
	font-size: 25px;
    margin: 0 0 3px 40px;
	vertical-align: middle;
	transition: .3s;
}

/*フッター*/
.footer_back{
	color: #fff;
	background: #1E2088;
	padding: 40px 0 60px;
	text-align: center;
}
.footer_logo{
	width: 280px;
}
.footer_back .comtext{
	font-size: 35px;
	font-weight: 500;
}
.footer_back .addresstext{
	font-size: 14.5px;
	margin: 5px 0 15px;
}
.footer_back ul{
	max-width: 365px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
}
.footer_back li{
	margin: 15px 22.5px 0; 
}
.nk_copyright{
	font-size: 11px;
	text-align: center;
	padding: 20px;	
}


/*サービスページ*/
.nkservice{
	background: url("../images/servicepage_back01.png") no-repeat top / 100%,
		url("../images/servicepage_back02.png") no-repeat center 950px/ 100%,
		#1E2088;
	padding: 65px 0 200px;
	margin-top: 75px;
}

/*サービスページスライダー*/
.nkservice .nkservice_slide{
	width: 100%;
	padding: 0 80px;
	margin-bottom: 200px;
}
.nkservice_slide li{
	position: relative;
}
.nkservice_slide li a{
	display: block;
}
.nkservice .nkservice_slide ul li div{
	font-size: clamp(18px,3vw,35px);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
	width: 100%;
	color: #fff;
	text-align: center;
	text-shadow: 0 0 15px #000,0 0 15px #000;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: 0;
	transition: .5s;
}
.nkservice .nkservice_slide ul li.swiper-slide-active div{
	opacity: 1;
	transition: 1s;
}
.nkservice_slide .swiper-pagination{
	display: flex;
	justify-content: center;
	margin: 30px 0 0;
}
.nkservice_slide .swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: block;
	margin: 0 7.5px;
	background: #8E8FC3;
	cursor: pointer;
}
.nkservice_slide .swiper-pagination-bullet-active{
	background: #D2D2E7;
}
.nkservice_slide .swiper-button-prev{
	width: 22px;
	height: 22px;
	border: solid #FFF;
	border-width: 4px 0 0 4px;
	filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	position: absolute;
	transform: rotate(-45deg);
	top: calc(50% - 21px);
	left: 20px;
	z-index: 20;
	opacity: 0.8;
	cursor: pointer;
}
.nkservice_slide .swiper-button-next{
	width: 22px;
	height: 22px;
	border: solid #FFF;
	border-width: 4px 4px 0 0;
	filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	position: absolute;
	transform: rotate(45deg);
	top: calc(50% - 21px);
	right: 20px;
	z-index: 20;
	opacity: 0.8;
	cursor: pointer;
}

/*サービスフロー*/
.nkservice .srvh3{
	font-size: 35px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: #fff;
	text-align: center;
}
.nkservice .srvh3 div{
	font-size: 25px;
	opacity: 0.6;
	line-height: 1.5;
}
.nkservice .srvh3 span{
	font-size: 0.8em;
}
.nkflow{
	margin: 50px 0 120px;
}
.nkflow ol{
	display: flex;
	justify-content: space-between;
	max-width: 538px;
	padding: 76px 40.5px 70px;
	margin: 0 auto -35px;
	position: relative;
}
.nkflow ol:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 50% 50px, 100% 0, 100% calc(100% - 50px), 50% 100% , 0 calc(100% - 50px));
	position: absolute;
	top: 0;
	left: 0;
}
.nkflow ol:first-of-type{
	padding: 35px 40.5px 70px;
}
.nkflow ol:first-of-type:before{
	background: #F4F4F9;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 50% 100% , 0 calc(100% - 50px));
}
.nkflow ol:nth-child(2):before{
	background: #EDEDF5;
}
.nkflow ol:nth-child(3):before{
	background: #E6E6F2;
}
.nkflow ol:nth-child(4):before{
	background: #DFE0EE;
}
.nkflow ol:nth-child(5):before{
	background: #D9D9EB;
}
.nkflow ol:nth-child(6):before{
	background: #D2D2E7;
}
.nkflow ol:after{
	content: "";
	display: block;
	width: 241px;
	height: 200px;
	border-radius: 10px;
	position: absolute;
	top: 0;
	right: -30px;
	transform: translateX(100%);
}
.nkflow ol:first-of-type:after{
	background: url("../images/flow01_img.png") no-repeat;
	background-size: cover;
}
.nkflow ol:nth-child(2):after{
	background: url("../images/flow02_img.png") no-repeat;
	background-size: cover;
	right: auto;
	left: -30px;
	transform: translateX(-100%);
}
.nkflow ol:nth-child(3):after{
	background: url("../images/flow03_img.png") no-repeat;
	background-size: cover;
}
.nkflow ol:nth-child(4):after{
	background: url("../images/flow04_img.png") no-repeat;
	background-size: cover;
	right: auto;
	left: -30px;
	transform: translateX(-100%);
}
.nkflow ol:nth-child(5):after{
	background: url("../images/flow05_img.png") no-repeat;
	background-size: cover;
}
.nkflow ol:nth-child(6):after{
	background: url("../images/flow06_img.png") no-repeat;
	background-size: cover;
	right: auto;
	left: -30px;
	transform: translateX(-100%);
}
.nkflow ol .nkflow_num{
	font-size: 60px;
	font-weight: 700;
	color: #1E2088;
	margin-right: 30px;
	text-align: center;
	z-index: 1;
}
.nkflow ol .nkflow_num div{
	font-size: 23px;
	font-weight: 500;
	margin-bottom: -15px;
	border-bottom: 1px solid #1E2088;
}
.nkflow_text{
	width: 351px;
	z-index: 1;
}
.nkflow_text h4{
	font-size: 23px;
	line-height: 1.5;
	color: #1E2088;
}
.nkflow_text p{
	font-size: 18px;
	color: #232850;
}

/*メンテナンス*/
.nkmaintenance_back{
	background: #EBF0FA;
	padding: 13px;
	border-radius: 20px;
	box-shadow: 5px 5px 8px rgba(0,0,0,0.3);
	margin-bottom: 150px;
}
.nkmaintenance{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 40px 5px;
	border: 2px solid #1E2088;
	border-radius: 11.5px;
}
.nkmainttext{
	width: 530px;
	margin-right: 20px;
}
.nkmainttext h3{
	font-size: 40px;
	font-weight: 700;
	line-height: 1.4;
	color: #1E2088;
}
.nkmainttext h3 div{
	font-size: 25px;
	font-weight: 500;
}
.nkmainttext h3 span{
	font-size: 0.8em;
}
.nkmainttext p{
	font-size: 18px;
	color: #232850;
	margin: 15px 0 30px;
}
.nkmaintenance img{
	width: 41.8%;
	min-width: 320px;
	margin: 15px 0 35px;
}

/*私たちの強み*/
.nkstrengths{
	margin-top: 50px;
	color: #fff;
}
.nkstrengths li{
	padding-bottom: 40px;
	margin-bottom: 30px;
	border-bottom: 1px solid #BBBCDB;
}
.nkstrengths h4{
	font-size: 28px;
	font-weight: 600;
	margin-bottom: 20px;
}
.nkstrengths li:last-of-type{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: transparent;
}


/*商品ページ*/
.nkproduct{
	background: #EBF0FA;
	padding: 80px 0 200px;
}
.nkproduct h2{
	max-width: 1366px;
	width: calc(100% - 50px);
	background: url("../images/overhead-crane_pagetop.png") no-repeat center;
	background-size: cover;
	padding: 15.65% 40px 0;
	margin: 0 auto;
	position: relative;
}
.nkproduct h2.chain-block_h2{
	background: url("../images/chain-block_pagetop.png") no-repeat center;
	background-size: cover;
}
.nkproduct h2 div{
	font-size: 28px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	width: 100%;
	color: #fff;
	text-shadow: 0 0 15px #000;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.nkproduct02{
	background: #E1E6F0;
	padding-bottom: 150px;
	margin-top: 150px;
}
.nkproduct h3{
	font-size: 35px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: #232850;
	padding: 80px 0 35px;
	text-align: center;
}
.nkproduct h3 span{
	font-size: 0.8em;
}
.nkproduct h3.machine_h:before{
	content: "";
	display: inline-block;
	width: 45px;
	height: 46.3px;
	background: url("../images/wrench_icon.png") no-repeat;
	background-size: cover;
	margin: 0 10px 3px 0;
	vertical-align: bottom;
}
.nkproduct h3 + p{
	color: #232850;
}

/*特長と利点*/
.nkproduct .merit{
	display: grid;
	gap: 30px 30px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	margin-top: 15px;
}
.nkproduct .merit.merit03{
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.nkproduct .merit li{
	background: #fff;
	padding: 0 23px 23px;
	box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	position: relative;
}
.nkproduct .merit .merit_num{
	font-family: 'Roboto';
	font-size: 40px;
	font-weight: 900;
	line-height: 1;
	color: #28AAFF;
	margin-top: -16px;
	text-align: center;
}
.nkproduct .merit li h4{
	font-size: 21px;
	width: fit-content;
	color: #232850;
	border-bottom: 1px solid #28AAFF;
    margin: 0 auto;
}
.nkproduct .merit li h4 span{
	font-size: 0.8em;
	border-bottom: none;
}
.nkproduct .merit li p{
	color: #232850;
	margin-top: 6px;
}

/*設置サービス*/
.installation{
	margin-top: 30px;
}
.installation li{
	margin-bottom: 40px;
	position: relative;
}
.installation .installation_num{
	font-family: 'Roboto';
	font-weight: 600;
	font-size: 25px;
	width: 73px;
	height: 45px;
	line-height: 1;
	color: #fff;
	background: #232850;
	border-radius: 5px 0px 0px 0px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0
}
.installation .installation_num div{
	font-size: 15px;
	padding: 5px 0 0;
	line-height: 0.9;
}
.installation h4{
	font-size: 25px;
	line-height: 1.35;
	display: inline-block;
	height: 45px;
	color: #232850;
	background: #FFF000;
	padding: 5px 25px 5px 93px;
	border-radius: 5px 5px 0px 0px;
}
.installation p{
	font-size: 20px;
	font-weight: 500;
	color: #232850;
	background: #FFF;
	padding: 15px 20px;
}

/*修理・点検サービス*/
.repair_text{
	font-size: 18px;
	font-weight: 500;
	color: #232850;
	margin: 40px 0 15px;
}
.repair{
	margin-bottom: 25px;
}
.repair li{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	width: fit-content;
	color: #fff;
	background: #4B4DA0;
	padding: 6px 20px 8px;
	margin-bottom: 10px;
}
.machine_recap{
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	color: #232850;
}
.machine_recap span{
	font-size: 1.2em;
	color: #28AAFF;
}

/*定期メンテナンス*/
.product_maint{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin: 50px 0 30px;
	position: relative;
}
.product_maint:before{
	content: "";
	display: block;
	width: 100%;
	height: 15px;
	background: #BBBCDB;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.product_maint li{
	width: 31.48%;
	background: #fff;
	box-shadow: 3px 3px 8px rgba(0,0,0,0.2);
	border-radius: 10px;
	overflow: hidden;
	z-index: 1;
}
.product_maint li h4{
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	background: #4B4DA0;
	padding: 3px 10px 5px;
	text-align: center;
}
.product_maint li p{
	font-size: 18px;
	color: #232850;
	padding: 13px 25px 18px;
}

/*まとめ*/
.product_recap{
	font-size: 19.2px;
	font-weight: 600;
}

/*会社情報*/
.ceo_message{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 50px 0 150px
}
.ceo_message .ceoimg{
	width: 460px;
	margin-right: 30px;
}
.message_text{
	width: 580px;
}
.message_text img{
	display: block;
	max-width: 325px;
	margin: 30px 0 0 auto;
}
.outline{
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
	margin: 50px 0 200px;
	border-bottom: 1px solid #C8C8C8;
}
.outline th{
	font-weight: 600;
	width: 185px;
}
.outline th,.outline td{
	padding: 35px 20px;
	border-top: 1px solid #C8C8C8;
}

/*お問い合わせ*/
.contact_text{
	text-align: center;
	margin-top: 25px;
}
.contact_text a{
	color: #28AAFF;
}
.contact_link{
	display: inline-block;
	color: #28AAFF;
	text-align: center;
	margin: 20px 0 100px;
	transition: .3s;
}
.contact_form{
	width: 100%;
	max-width: 790px;
	margin: 0 auto 60px;
	border-collapse: collapse;
    border-spacing: 0;
}
.contact_form th{
	font-size: 18px;
	font-weight: 500;
	width: 210px;
	padding-top: 20px;
	vertical-align: top;
}
.contact_form td{
	padding: 15px 0;
}
.contact_form input,.contact_form select,.contact_form textarea{
	font-size: 15px;
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	border: 1px solid #B4B4B4;
	border-radius: 5px;
}
.contact_form input:focus,.contact_form select:focus,.contact_form textarea:focus{
	outline: none;
}
.nk_select{
	position: relative;
	display: block;
}
.nk_select:before{
	content: "";
	display: block;
	width: 10px;
	height: 7px;
	background: #000;
	clip-path: polygon(0 0,100% 0,50% 100%);
	position: absolute;
	top: 17px;
	right: 20px;
	z-index: 1;
}
.contact_form select{
	font-size: 15px;
	color: #969696;
	background: #fff;
	appearance: none;
	cursor: pointer;
}
.contact_form textarea{
	height: 180px;
}
.form_btn_wrap{
	display: flex;
	justify-content: center;
	margin-bottom: 200px;
}
.form_btn_wrap input{
	width: 260px;
	height: 54.5px;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.055em;
	color: #FFF;
	background: #6163AC;
	display: block;/*contact Form7に対応*/
	padding: 16px;
	margin: 0 10px;
	border: 0;
	text-align: center;
	border-radius: 10px;
	cursor: pointer;
	box-sizing: border-box;
	transition: .3s;
}

/*確認画面・完了画面*/
.confirm_area{
	display: none;
}
.confirm_area h3{
	font-size: 20px;
	font-weight: 400;
	color: #1E2088;
	margin-top: 50px;
	text-align: center;
}
.confirm_area .contact_form{
	margin: 30px auto 80px;
}
.confirm_area .contact_form th,.confirm_area .contact_form td{
	padding: 25px 0;
	border-bottom: 1px solid #B4B4B4;
}
.confirm_area .contact_form tr:last-of-type th,.confirm_area .contact_form tr:last-of-type td{
	border-bottom: none;
}



/*contact Form7　メッセージカスタマイズ*/
.q-bei_form .wpcf7 form .wpcf7-response-output {/*送信ボタンの下に表示されるメッセージ*/
	margin: 30px 0;
	padding: 0;
	font-size: 22px;
	text-align: center;
	color: #CD3267;
	border: 0 transparent; 
}

.q-bei_form .use-floating-validation-tip .wpcf7-not-valid-tip {/*項目下に表示されるメッセージ*/
	color: #dc3232; 
	font-size: 1em;
	font-weight: normal;
	display: block;
}
input.wpcf7-not-valid, textarea.wpcf7-not-valid, select.wpcf7-not-valid {/*項目エラー背景*/
    background: #F5E6E6;
}


/*プライバシーポリシー*/
.privacypolicy_h{
	background: #E1E6F0;
	padding: 159px 0 65px;
}

.privacypolicy_h h2{
	font-size: 35px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #1E2088;
	margin-bottom: 15px;
}
.privacypolicy_h div{
	font-size: 25px;
	letter-spacing: 0.1em;
	color: rgba(30, 32, 136, 0.6);
}
.privacypolicy{
	margin-top: 80px;
}
.privacypolicy dt{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
}
.privacypolicy dd{
	margin-bottom: 50px;
}
.privacypolicy + p{
	font-size: 18px;
	width: fit-content;
	margin: 0 0 200px auto;
}
.privacypolicy + p span{
	font-size: 22px;
}

/*ＮＫニュース関係*/
.nksingle_date{
	font-size: 13px;
	color: #646464;
	margin-right: 15px;
}
.nksingle_category{
	font-size: 12px;
	line-height: 1;
	display: inline-block;
	color: #1E2088;
	background: #fff;
	padding: 4.8px 12px 5.5px;
	margin-right: 5px;
	border: 1px solid #1E2088;
	border-radius: 99px;
}

/*ニューストップ*/
.nknews_top .nk_thumbnail{
	aspect-ratio: 340 / 253;
/*	padding-top: 74.62%;*/
	background: #EFEFEF;
	border: 1px solid #C4C4C4;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
}
.nknews_top .nk_thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
.nknews_top h3{
	font-size: 16px;
	font-weight: 400;
	color: #232850;
	margin-top: 10px;
}
.newslist_link{
	color: #232850;
	margin-top: 30px;
	text-align: right;
	transition: .3s;
}
.newslist_link a:after{
	font-family: "Material Symbols Outlined";
	content: "\e941";
	font-size: 18px;
	display: inline-block;
	padding-left: 10px;
	vertical-align: middle;
	transition: .3s;
}

/*ニュース一覧*/
.nkpage h3.nknews_h{
	font-size: 25px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: #1E2088;
	margin-bottom: 15px;
}
.nknews_h div{
	font-size: 25px;
	line-height: 1.2;
	color: #1E208899;
}
.nksingle_new{
	margin-bottom: 150px;
}
.nksingle_new .nk_thumbnail{
	aspect-ratio: 1080 / 594;
	background: #EFEFEF;
	border: 1px solid #C4C4C4;
	margin-bottom: 15px;
	position: relative;
	overflow: hidden;
}
.nksingle_new .nk_thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
.nksingle_new .nksingle_category{
	font-size: 14px;
	padding: 6px 15px 7px;
	position: absolute;
	top: 15px;
	left: 15px;
}
.nksingle_new h4{
	font-size: 18px;
	font-weight: 400;
	color: #232850;
	margin-top: 5px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nksingle_list{
	display: grid;
	gap: 45px 30px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.nksingle_list li{
	max-width: 340px;
	position: relative;
}
.nksingle_list .nk_thumbnail{
	aspect-ratio: 340 / 230;
/*	padding-top: 67.64%;*/
	background: #EFEFEF;
	border: 1px solid #C4C4C4;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
}
.nksingle_list .nk_thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
.nksingle_list .nksingle_category{
	position: absolute;
	top: 10px;
	left: 10px
}
.nksingle_list h4{
	font-size: 16px;
	font-weight: 400;
	color: #232850;
	margin-top: 5px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*ニュース投稿*/
.nk_single_back{
	background: #F7F7F7;
}
.nk_single{
	color: #646464;
	background: #fff;
	margin: 0 auto 0;
	padding: 170px 160px 200px
}
.nk_single .nknews_h{
	margin-top: 100px
}
.nk_single_container .nk_thumbnail{
	border: 1px solid #C4C4C4;
	margin-bottom: 15px;
}
.nk_single_container .nk_thumbnail img{
	width: 100%;
}
.nk_single_container h2{
	font-size: 25px;
	font-weight: 500;
	line-height: 1.5;
	color: #232850;
	margin: 20px 0 50px;
}
.nk_single_container h3{
	font-size: 23px;
	font-weight: 500;
	color: #232850;
	margin: 50px 0 20px;
}
.nk_single_container h4{
	font-size: 20px;
	font-weight: 500;
	color: #232850;
	margin: 50px 0 20px;
}
.nk_single_container h5{
	font-size: 18px;
	font-weight: 500;
	color: #232850;
	margin: 30px 0 15px;
}
.nk_single_container h6{
	color: #232850;
	font-weight: 500;
	margin: 30px 0 10px;
}
.nk_single_container p{
	margin: 0 0 20px;
}
.nk_single_container p a{
	color: #4B4DA0;
}
.nk_single_container figure{
	margin: 50px 0 50px;
}
.nk_single_container figure img{
	border: 1px solid #C4C4C4;
}
.nk_single_container .size-full img{
	width: 100%;
}
.nk_single_container .wp-block-list{
	list-style: inherit;
	padding-left: 25px;
	margin: 30px 0;
}
.nk_single_container .wp-block-buttons{
	margin: 30px 0;
}
.nk_single_container .wp-block-button__link{
	display: inline-block;
	background-color: #4B4DA0;
	padding: 8px 30px 10px;
	cursor: pointer;
	transition: .3s;
}

/*投稿一覧ページネーション*/
.nk_pagenation{
	width: fit-content;
	margin: 80px auto 200px; 
}
.nk_pagenation .screen-reader-text{
	display: none;
}
.nk_pagenation .page-numbers{
	font-family: 'Roboto';
	display: inline-block;
	width: 33px;
	height: 33px;
	color: #4B4DA0;
	background: #fff;
	padding-top: 2px;
	margin: 0 5px;
	border: 1px solid #4B4DA0;
	border-radius: 50%;
	text-align: center;
}
.nk_pagenation .page-numbers.current{
	color: #fff;
	background: #4B4DA0;
}
.nk_pagenation .prev.page-numbers,.nk_pagenation .next.page-numbers{
	width: auto;
	height: auto;
	color: #646464;
	background: transparent;
	margin: 0 15px;
	border: none;
}



.brpc{display:block}
.brtc{display:none}
.brsp{display:none}
.brsps{display:none}

@media (any-hover: hover) {
/*トップページ上*/
.topmenu01 .topmenu_service a:hover{
	padding: 88px 0 0;
}
.topmenu01 .topmenu_service a:hover:before{
	opacity: 0;
}
.topmenu_other a:hover{
	transform: translateY(-5px);
}
.topmenu_other a:hover:after{
	transform: translateX(5px);
}
.topmenu02 li:hover:before{
		opacity: 1;
		transition: .5s;
	}
.topmenu02 .topmenu_news a:hover{
	color: #28AAFF;
	text-shadow: none;
}
.topmenu02 .topmenu_contact a:hover{
	color: #1E2088;
	text-shadow: none;
}
.topmenu02 .topmenu_news a:hover:after,.topmenu02 .topmenu_contact a:hover:after{
	opacity: 0;
	transition: .5s;
}
/*ヘッダー*/
header li:hover{
	color: #1E2088;
}
/*ハンバーガー*/
.spmenubox a:hover:after{
	transform: translateX(5px);
}
/*トップページサービス*/
.nkservice_toplink:hover{
	transform: translateY(-3px);
	opacity: 0.7;
}
.nkservice_toplink a:hover:after{
	transform: translateX(5px);
}
/*ニューストップ*/
.newslist_link:hover{
	transform: translateY(-3px);
	opacity: 0.7;
}
.newslist_link a:hover:after{
	transform: translateX(5px);
}
/*下部お問い合わせ*/
.contact_top li .contactbtn:hover{
	color: #1E2088;
	background: #fff;
}
.contact_top li .contactbtn:hover:after{
	transform: translateX(8px);
}
/*お問い合わせ*/
.contact_link:hover{
	opacity: 0.6;
}
.form_btn_wrap input:hover{
	opacity: 0.8;
}	
/*ニュース一覧*/
.nksingle_list li:hover .nk_thumbnail img,.nknews_top li:hover .nk_thumbnail img,.nksingle_new:hover .nk_thumbnail img{
	transform: scale(1.1);
}
/*投稿*/
.nk_single_container .wp-block-button__link:hover{
	background-color: #6E73F0;
	transform: translateY(-3px);
	box-shadow: 0 5px 8px rgba(0,0,0,0.15);
}

}
@media(min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}