/*
Theme Name: KIRARA_NAVI_THEME
Author: kirara_navi_design_works
Description: original tamplate
Version: 0.8
*/

/*
追加CSS ・ カスタマイズCSSはここより下に記載
※/CSS/style.cssファイルは編集不可
*/



.single_header {
	flex-direction: row;
}
.potent .heading-num::before {
	padding: 5px 0 0 0;
	background: #008c71;
}
.heading-num::before {
	color: #de5500;
	font-size: 58px;
}
.btn.-red p {
	display: block;
	width: 154px;
	height: 40px;
	margin: 0 auto;
	color: white;
	background: #008f6f;
}
.btn.-red a {
	color: white;
	background: #008f6f;
}

.services_title {
	padding-left: 14px !important;
	border-left: 8px solid !important;
	line-height: 1.35 !important;
	border-color: #de5500 !important;
	font-size: 1.275rem !important;
}
.services_content {
	padding: 18px 35px 17px 35px !important;
	box-sizing: border-box !important;
}
.mt-25 {
	margin-top: 23px;
}

.pageIntro_text {
	line-height: 2;
}

.pageIntro {
	width: 800px;
	margin: auto;
	max-width: 100%;
	margin-top: 50px;
}

.fullImg {
	max-width: 100%;
	width: 800px;
	margin: auto;
}

.fullImg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin-top: 50px;
}

.potent_list {
	counter-reset: number 0;
	margin-top: 150px;
	display: flex;
	flex-direction: column;
	gap: 300px;
}
.potent_item {
	display: flex;
	justify-content: space-between;
}
.potent_item::before {
	content: "";
	width: 80%;
	position: absolute;
	background: gray;
	height: 300px;
	z-index: 0;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
}
.potent_item:not(:last-child)::after {
	content: "";
	width: 80%;
	height: 102px;
	position: absolute;
	background: #ffffff;
	bottom: -180px;
	left: 50%;
	transform: translateX(-50%);
	border-bottom: 3px dotted;
	border-color: gray;
}
.potent .heading-num {
	background: antiquewhite;
	text-wrap-mode: nowrap;
	z-index: 1;
	width: fit-content;
	padding: 0;
	margin-left: 150px;
	padding: 0 30px;
}

.potent .heading-num::before {
	background: #8492a6;
	border-radius: 50%;
	width: 100px;
	height: auto;
	aspect-ratio: 1;
	text-align: center;
	align-content: center;
	top: 50%;
	left: -130px;
	transform: translateY(-50%);
}

.potent_content {
	border: 1px solid;
	width: 550px;
	padding: 50px 30px;
	background: white;
}

.potent_img {
	height: 320px;
	aspect-ratio: 5/3;
}

.potent_img img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.interview_container:nth-child(even) .interview_header {
	background: linear-gradient(225deg, #97ebeb 0%, #97ebeb 20%, #f0fcff 0%);
}

.interview_container:nth-child(even) .interview_header_container,
.interview_container:nth-child(even) .interview_content {
	flex-direction: row-reverse;
}
.interview_container:nth-child(even) .interview_img::after {
	left: 50px;
	right: auto;
}

.serviceDetail_text {
	white-space: pre-wrap;
	padding-left: 3rem;
}
.serviceDetail_intro {
	margin-top: 50px;
}

.serviceDetail_item_text {
	padding-left: 2rem;
}
.serviceDetail_item_intro {
	margin-top: 30px;
}

.serviceDetail_serviceList_item {
	width: 280px;
}

.serviceDetail_serviceList_item_img {
	display: block;
	height: auto;
	border: 1px solid #888;
	box-sizing: border-box;
}

.serviceDetail_serviceList_item_img img {
	width: 100%;
	object-fit: cover;
}

@media(max-width: 700px) {
	.potent_content {
		max-width: 90%;
	}

	.potent_item {
		flex-direction: column-reverse;
	}

	.potent_img {
		height: auto;
		width: 80%;
		margin-left: auto;
		margin-bottom: -20px;
	}

	.potent .heading-num::before {
		top: -50px;
		left: -20px;
		width: 50px;
		font-size: 32px;
	}

	.potent .heading-num {
		margin: 0;
		font-size: 1.4rem;
		text-wrap: auto;
		line-height: 1.2;
		width: 100%;
	}

	.potent_item::before {
		content: none;
	}

	.potent_list {
		gap: 60px;
		margin-top: 50px;
	}

	.potent_item:not(:last-child)::after {
		bottom: -30px;
		height: auto;
	}
	.footer_menu {
		margin-top: 50px;
		width: 300px;
		margin: auto;
	}
	.footerNavi {
		height: auto;
	}
	.products_list {
		margin-top: 50px;
		flex-direction: column;
	}

	.products_item {
		width: 0100%;
	}
}

.sdgs_intro {
	font-size: 1.2rem;
	color: #404040;
	margin-top: 50px;
}
.sdgs_who {
	text-align: right;
	margin-top: 30px;
}
.sdgs_heading {
	text-align: center;
	font-size: 2rem;
	margin-top: 50px;
	color: green;
}
.sdgs_title {
	border-bottom: 1px solid;
	line-height: 1;
	font-size: 1.7rem;
	padding-bottom: 20px;
	color: #454545;
}
.sdgs_info {
	display: flex;
	margin-top: 20px;
	gap: 70px;
}
.sdgs_logos_list {
	display: flex;
	gap: 20px;
	max-width: 100%;
	width: 420px;
	flex-wrap: wrap;
}
.sdgs_logos_item {
	width: 90px;
}
.sdgs_action {
	margin-top: 30px;
}
.sdgs_asction_list {
	display: flex;
	flex-wrap: wrap;
}
.sdgs_action_item {
	padding-left: 30px;
}
.sdgs_action_item::before {
	content: "・";
}
.sdgs_list {
	display: flex;
	flex-direction: column;
	gap: 80px;
}
.sdgs_what_content {
	margin-top: 30px;
	line-height: 2;
}
.sdgs_what {
	background: aliceblue;
	padding: 1px 50px 50px;
	margin-top: 100px;
	border-radius: 15px;
}
.sdgs_pdf a {
	background: #353535;
	width: 250px;
	display: block;
	height: 60px;
	align-content: center;
	text-align: center;
	margin: auto;
	color: white;
	border-radius: 5px;
}
.sdgs_pdf {
	margin-top: 70px;
}
.sdgs_pdf a::before {
	content: "";
	position: absolute;
	right: 20px;
	width: 12px;
	height: auto;
	aspect-ratio: 1.3;
	border: 2px solid white;
	top: 22px;
}
.sdgs_pdf a::after {
	content: "";
	position: absolute;
	right: 17px;
	top: 25px;
	width: 12px;
	height: auto;
	aspect-ratio: 1.3;
	border-right: 2px solid;
	border-bottom: 2px solid;
}

@media(max-width: 1200px) {
	.sdgs_info {
		flex-direction: column;
		gap: 30px;
	}

	.sdgs_logos_item {
		max-width: 19vw;
	}

	.sdgs_logos_list {
		gap: 10px;
	}

	h3.sdgs_heading {
		font-size: 1.6rem;
		overflow-wrap: break-word;
		margin-top: 21px;
	}

	.sdgs_title {
		font-size: 1.3rem;
		padding-bottom: 10px;
	}

	.sdgs_list {
		margin-top: 30px;
	}

	.sdgs_asction_list {
		flex-direction: column;
	}

	.sdgs_action_item {
		padding: 0;
	}

	.sdgs_what {
		padding: 5%;
		margin-top: 50px;
	}
}

.border{
border: solid 1px #fff;    	
outline: solid 1px #999;
outline-offset: 1px;
margin: 1px;
}

/* add---------------------------------------------------------------------------- 300 */
@media(min-width: 300px) {
	.potent .heading-num {
		border: 1px solid #aaa;
	}
	.potent .heading-num::before {
		width: 80px;
	}
	.potent_content {
		bottom: 0px;
		height: 260px;
		border: 4px solid #3d9e9e;
		border-radius: 10px;
		background-color: #fff;
	}

	.pageHeader_heading_en {
		letter-spacing: -0.025em;
		font-size: 3rem;
		line-height: 1.18!important;
		background: #003d92;
		background: linear-gradient(70deg, rgba(0, 61, 146, 1) 0%, rgba(0, 61, 146, 1) 15%, rgba(25, 121, 255, 1) 80%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		vertical-align: middle;
	}
	.pageHeader_heading_ja {
		letter-spacing: 0.185em;
		margin-top: 30px;
		color: #393939;
		font-size: 1.51rem;
		line-height: 1.15;
	}
	.sectionTitle_en {
		line-height: 1;
	}
	.sectionTitle_ja {
		line-height: 1;
	}
	.sectionTitle_ja span {
		font-size: 1.375rem;
	}
	.services_item a,
	.services_item {
		width: 100% !important;
		box-sizing: border-box;
	}
	.services_item {
		border: 1px solid #aaa !important;
		border-radius: 0 0 9px 9px;
	}

	.message_text-p1 {
		padding: 30px 0 15px 0;
		font-size: 1.1rem;
		line-height: 1.9;
	}
	.message_text-p2 {
		padding: 15px 0;
		font-size: 1.1rem;
		line-height: 1.9;
	}
	.message_name {
		text-align: right;
		margin-top: 30px;
	}
	.message_name {
		font-size: 1.1rem;
	}
	.message_name {
		font-size: 1.2rem;
	}
	.message_name span {
		font-size: 1.455rem;
	}
	.outline .common_th {
		width: 100%;
		padding: 0 0 0 15px;
		box-sizing: border-box;
	}
	.common_td {
		flex: auto;
		padding-bottom: 15px;
		padding-left: 15px;
		border-bottom: 1px solid gray;
	}
	.mt-80 {
		margin-top: 50px;
	}
	.license_lisit-ul {
		width: 100%;
	}
	.license_list-li {
		width: 100%;
		padding: 7px 0 7px 20px;
		gap: 0;
		box-sizing: border-box;
	}
	.license_list-li ::marker {
		color: #0060cc;
	}
	.license_list-eco {
		width: 100%;
		text-align: center;
	}
	.license_lisit-div {
		display: flex;
		flex-wrap: wrap;
	}
	.license_list-eco-box {
		width: 60%;
		margin: 30px 20% 0 20%;
		line-height: 1.7;
	}
	.sp {
		display: block;
	}
	.heading-num {
		padding: 72px 0 0 0;
		font-size: 32px;
		line-height: 1.3;
	}
	.content-width {
		width: 88%;
	}
	.access_map {
		width: 100%;
		height: 350px;
		border: 1px solid #aaa;
		box-sizing: border-box;
	}
	.gmap {
		width: 100%;
		height: 600px;
	}
	.pageHeader_img {
		width: 94%;
		margin-top: 35px;
		margin-right: 0;
		margin-left: auto;
	}
	.pageHeader_heading::after {
		margin-top: 15px;
	}
	.pageHeader_heading_ja,
	.pageHeader_heading_en {
		width: 100%;
		padding: 0 0 0 20px;
		box-sizing: border-box;
		line-height: 1.425;
	}
	.pageHeader_heading::after {
		height: 4px;
	}
	.sectionTitle_ja {
		padding-top: 6px;
		font-size: 2.55rem;
	}
	.sectionHeader {
		padding-left: 36px;
		border-left: 8px solid #005cdc;
	}
	.message_img img {
		width: 92%;
		margin: 0 4%;
	}
	.serviceDetail_serviceList-border {
		width: 80%;
		margin: 40px 10% 60px 10%;
		border-bottom: 1px solid #bbb;
	}

	.serviceDetail_serviceList {
		display: flex;
		justify-content: center;
		width: 94%;
		margin: 20px 3% 0 3%;
		border: 1px solid #bbb;
		border-radius: 7px;
		box-sizing: border-box;
		background: #f4f4f4;
	}
	.serviceDetail_serviceList_list {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		margin: 28px 0 12px 0;
	}
	.serviceDetail_serviceList_item_title {
		margin: 18px 10px 30px 5px;
		padding-left: 10px;
		border-left: 6px solid;
		border-color: #009f7b;
		line-height: 1.25;
	}
	.serviceDetail_item_title {
		border-left: 11px solid;
		line-height: 1.315;
		padding-left: 15px;
		font-size: 1.62rem;
		border-color: #0b72ff;
		margin: 50px 0 0 10px;
	}
	.topPolicy::after {
		top: 10px;
		width: auto;
		max-width: 100%;
		background-image: url(/ns-tech/wp-content/uploads/our-policy.webp);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	}
	.topPolicy_content {
		padding-left: 13%;
	}
	.hero-image_big-text {
		padding: 5px 35px 10px 35px;
		background: rgba(0, 0, 0, 0.75);
		line-height: 1.6;
	}
	.hero-image_small-text {
		width: 25vw;
		margin: 20px 0 0 0px;
		padding: 12px 40px;
		background: rgba(0, 0, 0, 0.75);
	}
	.topNewsPost_item {
		padding-bottom: 35px;
		line-height: 1;
	}
	.sub .header {
		background: #fff;
	}
	.recruit_intro {
		background: #003d92 !important;
		color: #fff;
	}
	.pagePoint {
		width: 100%;
		margin: 30px 0 0 0;
		padding: 15px 22px;
		border: 1px solid #999;
		box-sizing: border-box;
	}
	.wrap-recruit-class-label {
		margin-bottom: 10px;
		text-align: left;
	}
	.wpcf7-form-control {
		font-weight: normal;
	}
	.wrap-recruit-class-label label {
		display: block;
	}
	.wrap-recruit-class-label .wpcf7-form-control {
		border: none;
	}

	.wrap-recruit-class-label .wpcf7-form-control {
		padding-left: 0;
	}
	.wpcf7-list-item {
		margin: 0 0 0 0 !important;
	}
	.wpcf7-list-item {
		display: block !important;
		padding-left: 20px;
		box-sizing: border-box;
	}
	.box-contact {
		width: 90%;
		margin: 70px 5% 0 5%;
	}
	.contact-type {
		margin: 30px 0 10px 0;
		padding: 5px 0;
		border-bottom: 1px solid #003d92;
		color: #003d92;
		font-size: 25px;
		font-weight: bold;
	}
	.contact-tel {
		margin: 0 0 10px 0;
		padding: 0 0 0 10px;
		box-sizing: border-box;
		color: #454545;
		font-size: 20px;
		font-weight: bold;
	}
	.contact-tel-call {
		width: 76%;
		margin: 2px 12% 15px 12%;
		padding: 12px 0;
		border-radius: 100px;
		background: #009b6c;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
	}

	.contact-text {
		margin-bottom: 15px;
		padding: 0 10px 0 10px;
		box-sizing: border-box;
	}
	.wpcf7-form-control-wrap:has(.wpcf7-validates-as-required)::before {
		position: absolute;
		top: -43px;
		left: auto;
		right: 0;
		width: 55px;
		font-size: 0.8235294118rem;
		line-height: 1.9;
		color: white;
		text-align: center;
		content: "必須";
		background: #0060cc;
		border-radius: 20px;
	}
	.contact-ricruit {
		display: block;
		position: relative;
		width: 84%;
		margin: 45px 8% 0 8%;
		padding: 21px 0;
		border-radius: 100px;
		background: #eb8e00;
		color: #fff;
		font-size: 17px;
		font-weight: bold;
		text-align: center;
	}
	.contact-ricruit:before {
		background: url(/ns-tech/wp-content/uploads/icon_contact.png) no-repeat center center;
		background-size: contain;
	}
	.recruit_table {
		width: 100%;
		margin-top: -10px;
	}

	.recruit_table caption {
		font-weight: bold;
		font-size: 1.6rem;
		border-bottom: 4px solid;
		border-image: linear-gradient(to right, #f58 0, #f58 50%, #fc5 50%, #fc5 100%);
		border-image-slice: 1;
		margin-bottom: 50px;
	}

	.recruit_table tr {
		border-top: 1px solid;
		border-color: #dde4eb;
	}

	.recruit_table th {
		display: block;
		width: 100% !important;
		align-self: start;
		font-size: 18px;
		line-height: 1.8;
		padding: 10px 10px 8px 10px !important;
		vertical-align: top;
		width: 25%;
	}

	.recruit_table td {
		display: block;
		padding: 5px 0 10px 15px !important;
		vertical-align: top;
	}
	.box-interview {
		display: flex;
		width: 100%;
		margin: 80px 0 0 0;
	}
	.box-interview-a {
		display: block;
		position: relative;
		width: 100%;
	}
	.box-interview-img {
		display: block;
		width: 90%;
	}
	.box-interview-img img {
		width: 100%;
	}
	.box-interview-text {
		display: block;
		width: 100%;
		padding: 20px 20px;
		background: #f5f5f5;
		box-sizing: border-box;
	}
	.box-interview-text h3 {
		font-size: 23px;
		line-height: 1.45;
	}
	.box-interview-text p {
		width: 100%;
		margin: 20px 0 0 0;
		padding: 13px 20px;
		background: #fff;
		box-sizing: border-box;
		font-size: 16.5px;
	}
	.box-interview-text-more {
		width: 220px;
		margin: 20px auto 0 auto;
		padding: 10px 0;
		border-radius: 100px;
		background: #009b6c;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	.recruit_table_box {
		padding: 30px 20px !important;
		line-height: 1.425;
	}
	.selection_label {
		padding: 10px 15px !important;
		line-height: 1.3 !important;
		font-size: 14px !important;
	}
	.interview_list {
		width: 86%;
		margin: 0 7%;
	}
	.single_title {
		width: 100%;
	}
	.box-service-wrap {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 0 30px 0;
	}
	.box-service-text {
		width: 100%;
	}
	.box-service-text02 {
		width: 100%;
		margin: 25px 0 0 0;
		padding: 12px 20px;
		border: 2px solid #003d92;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.box-service-text02 span {
		display: inline-block;
		margin: 0 0 10px 0;
		padding: 0 40% 5px 0;
		border-bottom: 1px solid #003d92;
		color: #003d92;
		font-size: 18px;
		font-weight: bold;
	}
	.single_header {
		width: 100% !important;
		border-right: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		border-left: 1px solid #ddd;
		box-sizing: border-box;
	}
	.single_content {
		border: 1px solid #ddd;
		box-sizing: border-box;
	}
	.single_title {
		padding: 0 10px;
		font-size: 1.6rem;
		line-height: 1.3;
	}
	.single_month {
		display: block;
		width: 100%;
		font-size: 18px;
		text-align: right;
	}
	.single_content p {
		margin-bottom: 25px;
		line-height: 1.5;
	}
	.single_content {
		padding: 35px 25px 15px 25px;
	}
	.backToList_btn a {
		width: 280px;
	}
	.pagetop {
		width: 56px;
		right: 3px;
		bottom: 74px;
	}
	.hero-image-sp {
		display: block;
	}
	.hero-image-pc {
		display: none;
	}
	.sdgs_intro,
	.sdgs_paragraph {
		font-size: 1.1rem !important;
	}
	.sdgs_heading {
		color: #003d92 !important;
		font-size: 2.2rem !important;
		text-align: left !important;
		line-height: 1.3;
	}
	.recruit_table_box:has(:checked) {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.box-flex {
		display: flex;
		flex-wrap: wrap;
		padding: 20px;
		border: 1px solid #aaa;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.box-flex h3 {
		width: 100%;
		margin: 0 0 15px 0;
		padding-bottom: 5px;
		border-bottom: 1px solid #003d92;
		font-size: 1.2rem;
		text-align: center;
	}
	.box-flex65 {
		width: 100%;
	}
	.box-flex35 {
		width: 100%;
		padding: 20px 5px;
		box-sizing: border-box;
	}
	.box-flex45 {
		width: 100%;
		padding: 20px 0;
	}
	.box-flex55 {
		width: 100%;
	}
	.box-table-container th{
		background:#c6c6c6!important;
	}
	.box-table-container:nth-child(2n){
		background:#f2f2f2;
	}
	
}

@media(min-width: 900px) {
	.pageHeader_heading_ja,
	.pageHeader_heading_en {
		width: 410px;
		margin: 0 auto 0;
		padding: 0 0 0 0;
		box-sizing: border-box;
	}
}
/* -----------------------------------------------------------------------------------------------------1000px */

@media(min-width: 1000px) {
	.potent .heading-num::before {
		width: 118px;
	}
	.potent_content {
		border-color: #3d9e9e;
		background-image: none;
		background-size: 0;
		background-repeat: no-repeat;
		background-position: center center;
		background-color: #fff;
	}
	.potent_item::before {
		width: 77%;
		bottom: -80px;
		height: 362px;
		border: 3px solid #30bbbb;
		border-radius: 10px;
		background-image: linear-gradient(0deg, transparent calc(100% - 1px), #33cccc calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #33cccc calc(100% - 1px));
		background-size: 16px 16px;
		background-repeat: repeat;
		background-position: center center;
		background-color: #fff;
		padding: 20px;
	}
	.potent_item:not(:last-child)::after {
		height: 0;
	}
	.pageHeader_heading_en {
		font-size: 4.3rem;
		line-height: 1.65;
	}
	.header_menu_item:last-child a {
		background: #003d92;
		background: linear-gradient(45deg, rgba(0, 61, 146, 1) 0%, rgba(0, 61, 146, 1) 30%, rgba(0, 98, 235, 1) 80%);
	}
	.services_item a,
	.services_item {
		width: 272px !important;
		box-sizing: border-box;
	}
	.message_img {
		flex: 1;
		padding-left: 146px;
	}
	.message_text-p1 {
		padding: 70px 0 20px 0;
	}
	.message_text-p2 {
		padding: 20px 0;
	}
	.message_name {
		margin-top: 50px;
		font-size: 1.4rem;
	}
	.message_name span {
		font-size: 1.7rem;
	}
	.common_table {
		width: 70%;
		margin-left: 5%;
		margin-right: 25%;
	}
	.common_table tbody {
		gap: 24px;
	}
	.common_td {
		flex: auto;
		width: 600px;
		padding-bottom: 12px;
		border-bottom: 1px solid gray;
	}
	.outline .common_th {
		width: 190px;
	}
	.license_wrap {
		width: 80%;
		margin-left: 5%;
		margin-right: 10%;
		padding: 30px 38px;
		background-color: #f9f9f9;
		border: 1px solid #999;
	}
	.licenseBuild_tr {
		display: flex;
		justify-content: space-between;
		padding: 13px 0;
		border-bottom: 1px solid lightgray;
		font-size: 0.975rem;
	}
	.licenseBuild_box {
		gap: 60px;
	}
	.mt-80 {
		margin-top: 80px;
	}
	.license_lisit-ul {
		width: 50%;
	}
	.license_list-li {
		width: 100%;
		padding: 7px 0 7px 20px;
		gap: 0;
		box-sizing: border-box;
	}
	.license_list-li ::marker {
		color: #0060cc;
	}
	.license_list-eco {
		width: 50%;
	}
	.license_lisit-div {
		display: flex;
		flex-wrap: wrap;
	}
	.license_list-eco-box {
		width: 50%;
	}
	.sp {
		display: none;
	}
	.sectionTitle_ja span {
		font-size: 1.7rem;
	}
	.heading-num {
		padding: 64px 0 0 0;
		font-size: 38px;
	}
	.pageHeader_heading_ja {
		letter-spacing: 0.185em;
		margin-top: 150px;
		font-size: 1.625rem;
	}
	.content-width {
		width: 1180px;
		margin-left: auto;
		margin-right: auto;
	}
	.pageHeader {
		display: flex;
		width: 100%;
		height: 548px;
	}
	.pageHeader_heading_ja,
	.pageHeader_heading_en {
		width: 578px;
		margin: 0 auto 0;
		padding: 0 0 0 0;
		box-sizing: border-box;
	}
	.pageHeader_heading_ja {
		margin-top: 150px;
	}
	.sectionTitle_ja {
		padding-top: 15px;
		font-size: 3.275rem;
	}
	.message_img {
		text-align: right;
	}
	.message_img img {
		width: 82%;
		margin: 0 80px 0 0;
	}
	.serviceDetail_serviceList-border {
		width: 70%;
		margin: 60px 15% 80px 15%;
	}
	.serviceDetail_serviceList {
		width: 96%;
		margin: 22px 2% 0 2%;
		justify-content: left;
	}
	.serviceDetail_serviceList_list {
		justify-content: flex-start;
		gap: 14px;
		margin: 26px 0;
		padding: 0 18px;
	}
	.serviceDetail_serviceList_item {
		width: 262px;
	}
	.serviceDetail_serviceList_item_title {
		margin: 17px 5px 20px 5px;
	}
	.serviceDetail_item_title {
		border-left: 12px solid;
		line-height: 1.325;
		padding-left: 15px;
		font-size: 1.575rem;
		border-color: #0b72ff;
		margin: 50px 0 0 20px;
	}
	.topPolicy::after {
		width: calc(80% - 530px);
		max-width: 640px;
	}
	.narrow {
		padding-right: calc(52dvw - 765px);
		padding-left: calc(52dvw - 765px);
	}
	.service-a {
		max-height: 480px !important;
	}
	.topServices_item {
		max-height: 480px !important;
	}
	.topPolicy {
		margin-top: 0;
		padding: 132px 0 112px;
	}
	.topNews {
		width: 80%;
		margin-right: 10%;
		margin-left: 10%;
	}
	.topProducts_header {
		width: 64%;
	}
	.recruit_intro_item_content {
		width: 21vw !important;
	}
	.recruit_intro_item_content_title {
		color: #003d92 !important;
		line-height: 1.4;
	}
	.interview_header_img {
		flex: none;
		width: 800px;
	}
	.interview_img {
		flex: 31%;
		height: auto;
	}
	.interview_img img {
		height: 100%;
		-o-object-fit: cover;
		object-fit: contain;
	}
	.interview_header_container {
		height: 530px;
	}
	.interview_content {
		align-items: self-start;
	}
	.pagePoint {
		width: 800px;
		margin: 40px auto 0 auto;
		padding: 20px 40px;
	}
	.wrap-recruit-class-label {
		margin-bottom: 10px;
		text-align: right;
	}
	.wrap-recruit-class-label label {
		display: inline-block;
	}
	.wrap-recruit-class-label .wpcf7-form-control {
		border: none;
	}

	.wrap-recruit-class-label .wpcf7-form-control {
		padding-left: 0;
	}
	.wpcf7-list-item {
		display: inline-block !important;
		margin: 0 0 0 0 !important;
		padding-left: 0;
	}
	.box-contact {
		width: 56%;
		margin: 110px 22% 0 22%;
	}
	.contact-type {
		margin: 30px 0 10px 0;
		padding: 5px 0;
		border-bottom: 1px solid #003d92;
		color: #003d92;
		font-size: 30px;
		font-weight: bold;
	}
	.contact-tel {
		margin: 0 0 20px 0;
		padding: 0 0 0 20px;
		box-sizing: border-box;
		color: #454545;
		font-size: 24.25px;
		font-weight: bold;
	}
	.contact-text {
		padding: 0 20px 0 20px;
		box-sizing: border-box;
	}
	.wpcf7-form-control-wrap:has(.wpcf7-validates-as-required)::before {
		position: absolute;
		top: auto;
		left: -90px;
		width: 55px;
		font-size: 0.8235294118rem;
		line-height: 1.9;
		color: white;
		text-align: center;
		content: "必須";
		background: #0060cc;
		border-radius: 20px;
	}
	.contact-ricruit {
		display: block;
		width: 360px;
		margin: 52px auto 0 auto;
		padding: 21px 0;
		border-radius: 100px;
		background: #eb8e00;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}

	.recruit_table {
		width: 100%;
		margin-top: 20px;
	}

	.recruit_table caption {
		font-weight: bold;
		font-size: 1.6rem;
		border-bottom: 4px solid;
		border-image: linear-gradient(to right, #f58 0, #f58 50%, #fc5 50%, #fc5 100%);
		border-image-slice: 1;
		margin-bottom: 50px;
	}

	.recruit_table tr {
		border-top: 1px solid;
		border-color: #dde4eb;
	}

	.recruit_table th {
		align-self: start;
		font-size: 18px;
		line-height: 1.8;
		padding: 20px 15px !important;
		vertical-align: top;
		width: 25%;
	}

	.recruit_table td {
		padding: 20px 0 20px 30px !important;
		vertical-align: top;
	}

	.box-interview {
		display: flex;
		flex-wrap: nowrap;
		width: 100%;
		margin: 80px 0 0 0;
	}
	.box-interview-a {
		display: block;
		position: relative;
		width: 100%;
	}
	.box-interview-img {
		display: inline-block;
		width: 50%;
	}
	.box-interview-img img {
		width: 100%;
		margin: -50px 0 0 0;
	}
	.box-interview-text {
		display: inline-block;
		width: 41%;
		height: 400px;
		margin: 10px 0 0 0;
		padding: 40px 65px 0 65px;
		background: #f5f5f5;
		box-sizing: border-box;
	}
	.box-interview-text h3 {
		display: inline-block;
		margin: 20px 0 0 0;
		font-size: 26.5px;
		line-height: 1.45;
	}
	.box-interview-text p {
		width: 100%;
		margin: 25px 0 0 0;
		padding: 13px 20px;
		background: #fff;
		box-sizing: border-box;
		font-size: 16.5px;
	}
	.box-interview-text-more {
		width: 220px;
		margin: 20px auto 0 auto;
		padding: 10px 0;
		border-radius: 100px;
		background: #009b6c;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	.box-service-wrap {
		flex-wrap: nowrap;
		margin: 0 0 45px 0;
	}
	.box-service-text {
		width: 40%;
	}
	.box-service-text02 {
		width: 54%;
		margin: 0 0 0 4%;
		padding: 15px 28px;
	}

	.single_header {
		width: 900px !important;
	}
	.single_title {
		font-size: 1.9rem;
		padding: 0;
	}
	.single_content {
		padding: 50px 50px 30px 50px;
	}
	.header_title img {
		width: 320px;
	}
	.header {
		padding: 0;
	}
	.header_menu_item:last-child a {
		width: 148px;
		height: 50px;
		font-size: 15px;
	}
	.header_menu_list {
		gap: 2.05vw;
	}
	.pagetop {
		width: 60px;
		right: 50px;
		bottom: 76px;
	}
	.hero-image-sp {
		display: none;
	}
	.hero-image-pc {
		display: block;
	}
	.sdgs_heading {
		font-size: 2.2rem !important;
		text-align: center !important;
		line-height: 1.3;
	}
	.sdgs_title {
		margin-top: 50px;
	}
	.recruit_table_box:has(:checked) {
		width: 1100px;
	}
	.box-flex h3 {
		margin: 20px 0 15px 0;
		font-size: 1.2rem;
	}
	.box-flex65 {
		width: 65%;
	}
	.box-flex35 {
		width: 35%;
		padding: 20px 35px;
	}
	.box-flex45 {
		width: 45%;
		max-width: 330px;
		margin: 0 auto;
		padding: 20px 0;
	}
	.box-flex55 {
		width: 55%;
	}
}

.recruit_table_box {
	display: none;
}
.header_menu_item:last-child a::before {
	background: url("/ns-tech/wp-content/uploads/icon_contact.png") no-repeat center center;
	background-size: contain;
}

@media(min-width: 300px) {
	.gmap {
		width: 100%;
		height: 347px;
		max-width: 100%;
	}
}

.hero-sp {
	display: none;
}

@media(max-width: 1000px) {
	.hero-image-pc {
		display: none;
	}
	.hero-sp {
		display: block;
	}
}
@media(max-width: 1000px) {
	.interview_container:nth-child(even) .interview_header_container,
	.interview_container:nth-child(even) .interview_content {
		flex-direction: column-reverse;
		gap: 20px;
	}
	.interview_img img {
		max-width: 60vw;
	}

	.interview_container {
		display: flex;
		gap: 160px;
		flex-direction: column;
	}
}
@media(max-width: 1150px) {
	.interview_img {
		display: unset !important;
	}
}

.topNews {
	margin-top: 50px;
}

.footerNavi_list {
	display: flex;
	flex-direction: row;
	gap: 20px;
	width: 100%;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footerNavi {
	width: 100%;
}

.footerLayout {
	flex-direction: column-reverse;
}
.footerCorp_name {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 50px;
	gap: 30px;
}
.footerInfo {
	line-height: 2;
	font-weight: normal;
	width: 50%;
	min-width: 330px;
	font-size: 1rem;
}
.footer_menu {
	width: 100%;
}
.footer_menu {
	width: 100%;
	background: #003d92;
	padding: 3%;
	color: white;
}
.footer_title {
	color: white;
}
.footerNavi_childItem::before {
	background: white;
}
@media(max-width: 700px) {
	.footer_menu {
		margin-top: 50px;
		width: 100%;
	}
	.footerNavi_list {
		flex-wrap: wrap;
		width: fit-content;
		margin: auto;
		flex-direction: column;
	}
}
.footerCorp {
	display: flex;
	flex: 1;
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
}
.footer {
	padding-top: 0;
}
@media(max-width: 700px) {
	.footer_menu {
		margin-top: 0px;
		padding-top: 50px;
	}
	.footerCorp_name {
		margin-top: 0px;
	}
}

.footerNavi_item_link {
	font-size: 1rem;
}
.footer_menu_layout {
	margin: auto;
	width: 1200px;
	max-width: 96vw;
}

.header_menu_item:last-child a::before {
	background: url("/nst/wp-content/uploads/icon_contact.png") no-repeat center center;
	background-size: contain;
}
@media(min-width: 300px) {
	.topPolicy::after {
		background-image: url(/nst/wp-content/uploads/our-policy.webp);
	}
}
@media(max-width: 1150px) {
	.overlay.is-active {
		z-index: -2;
		background: none;
	}
}
body:has(.overlay.is-active) .copyRight {
	display: none;
}

@media print {
	.header,
	.commonContact,
	footer{
		display:none!important;
	}
	body{
		width:98%!important;
		margin:0 1%!important;
	}
	.pageHeader_img{
		width:200px;
		height:270px;
	}
	.mt-105{
		margin:0;
	}
	.pageHeader {
		height:300px;
	}
	main{
		margin:0;
	}
	.hamburger{
		display:none;
	}
}