@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&display=swap');

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	font-family: "Zen Kaku Gothic New", serif;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
	font-size: 1.8rem;
	font-weight: 500;
	color: #000000;
}

h1, h2, h3, h4 {
	margin: 0;
	transform: rotate(0.05deg);
}

ul {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

p {
	line-height: 2em;
	transform: rotate(0.05deg);
}

a {
	transform: rotate(0.05deg);
}

a:focus,
*:focus {
	outline: none;
}

section {
	position: relative;
}

figure {
	margin: 0;
	padding: 0;
}

.wrap {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.page_contents {
	padding: 0 0 60px 0;
}

.flex {
	display: flex;
}

.flex_between {
	justify-content: space-between;
}

.flex_align_center {
	align-items: center;
}

.flex_align_end {
	align-items: flex-end;
}

.flex_wrap {
	flex-wrap: wrap;
}

.flex_wrap_reverse {
	flex-wrap: wrap-reverse;
}

.serif {
	font-family: "Zen Old Mincho", serif;
/*
	font-family: 'Noto Serif JP', serif;
 */
}


/* --------------------------------
   HEADER
-------------------------------- */
.header {
	width: 100%;
	background: #ffffff;
	position: fixed;
	right: 0;
	left: 0;
	z-index: 99999;
	box-shadow: 0 1px 15px 3px rgba(0, 0, 0, 0.3);
}

#inner-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
}

a.header_logo {
	display: block;
	margin: 0;
}

/* --------------------------------
   NAVIGATION
-------------------------------- */
#nav_outer {
	max-width: 920px;
	width: 100%;
	background: #ffffff;
	padding: 0 0 0 10px;
}

ul.main_nav {
	display: flex;
	min-height: 20px;
	margin: 0 auto;
}

ul.main_nav li {
	position: relative;
	width: 16.67%;
	text-align: center;
}

ul.main_nav li:last-child::after,
ul.main_nav li::before {
	content: '';
	position: absolute;
	height: 24px;
	top: 50%;
	transform: translateY(-50%);
}

ul.main_nav li::before {
	left: 0;
	border-left: 2px solid #007cc7;
}

ul.main_nav li:last-child::after {
	right: 0;
	border-right: 2px solid #007cc7;
}

ul.main_nav li a,
ul.main_nav li a:hover,
ul.main_nav li a:focus {
	position: relative;
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 20px 5px;
}

ul.main_nav li ul {
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
}

ul.main_nav li ul li {
	overflow: hidden;
	width: 220px;
	height: 0;
	transition: .2s;
}

ul.main_nav li ul li a,
ul.main_nav li ul li a:hover,
ul.main_nav li ul li a:focus {
	padding: 14px 20px;
	background: rgba(128, 128, 128, 0.85);
	text-align: left;
	color: #ffffff;
}

ul.main_nav li:hover ul li {
	overflow: visible;
	height: 57px;
}

ul.main_nav li ul li:last-child::after,
ul.main_nav li ul li::before {
	border: none;
}

/* --------------------------------
   SLIDER
-------------------------------- */


/* --------------------------------
   FOOTER
-------------------------------- */
section#footer_recruit {
	padding: 60px 0;
	text-align: center;
}

div#footer_nav_outer {
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
}

div#footer_nav_outer ul.main_nav li a,
div#footer_nav_outer ul.main_nav li a:hover,
div#footer_nav_outer ul.main_nav li a:focus {
	padding: 0 5px;
}

div#footer_nav_outer ul.sub-menu {
	display: none;
	visibility: hidden;
}

div#inner-footer {
	padding: 60px 0 40px 0;
}

div.footer_address_outer {
	display: flex;
	justify-content: space-between;
	max-width: 1160px;
	margin: 0 auto;
}

a.footer_logo {
	display: block;
	min-width: 160px;
	width: calc(208 / 1160 * 100%);
}

div.footer_address {
	padding: 5% 0 0 10px;
	font-size: 1.3rem;
	line-height: 1.3em;
}

div.footer_address h4 {
	margin: 0 0 10px 0;
	font-size: 1.9rem;
	font-weight: normal;
}

div#copyright {
	padding: 2px 20px;
	background: #007cc7;
	font-size: 1.2rem;
	text-align: center;
	color: #ffffff;
}

img.footer_recruit_link_mobile {
	display: none;
	visibility: hidden;
}

/* --------------------------------
   BLOG
-------------------------------- */
div.blog_outer {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px 200px 20px;
}

main.blog_wrap {
	max-width: 760px;
	width: 100%;
	padding: 0 20px 0 0;
}

article.blog_archive {
	margin: 0 0 100px 0;
}

div.blog_archive_inner {
	padding: 0 0 40px 0;
}

div.blog_date_outer {
	display: flex;
	align-items: center;
	font-size: 14pt;
}

p.blog_date {
	font-weight: bold;
}

span.blog_cat {
	margin: 0 10px 0 0;
	padding: 0 20px 2px 20px;
	border-radius: 5px;
	font-size: 1.5rem;
}

span.cat_base {
	border: 2px solid #007cc7;
	background: #007cc7;
	color: #ffffff;
}

span.cat_news {

}

span.cat_blog {
	background: #F0F0F0;
	color: #007cc7;
}

span.cat_other {
	border: 2px solid #707070;
	background: #707070;
	color: #ffffff;
}

h3.blog_title {
	margin: 20px 0 0 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #000000;
}

h3.blog_title,
h3.blog_title a {
	color: #007cc7;
}

div.blog_content {
	padding: 40px 0 0 0;
}

article.blog_single footer.blog_footer {
	margin: 0;
}

article.blog_single {
	width: 100%;
	margin: 0 auto;
}

div.blog_single_outer {
	padding: 0 20px 100px 20px;
	border-radius: 30px;
	background: #ffffff;
}

div.blog_pagination_outer {

}

div.wp-pagenavi {
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	margin: 10px;
	padding: 10px 17px;
	border: none;
	font-weight: bold;
	text-decoration: none;
}

.wp-pagenavi span.current {
	border-radius: 5px;
	background: #007cc7;
	color: #ffffff;
}

div.blog_single_pagination_outer {
	max-width: 495px;
	width: 100%;
	margin: 100px auto 0 auto;
	font-size: 12pt;
}

div.blog_single_pagination_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

div.blog_single_pagination_title {
	width: 100%;
	text-align: center;
}

div.pagination_link_left,
div.pagination_link_right {
	min-width: 100px;
}


div.pagination_link_right {
	text-align: right;
}

div.blog_single_pagination_inner a,
div.blog_single_pagination_inner a:hover,
div.blog_single_pagination_inner a:focus {
	color: #007cc7;
}

div.blog_single_pagination_inner a:hover,
div.blog_single_pagination_inner a:focus {
	/*
		background: #014FB9;
		color: #ffffff;
	*/
}

/* --------------------------------
   SIDEBAR
-------------------------------- */
div.sidebar {
	min-width: 350px;
}

h2.side_title {
	font-size: 18pt;
	font-weight: 900;
	color: #007cc7;
}

ul.side_list {
	margin: 20px auto 80px auto;
	font-size: 14pt;
}

ul.side_list li {
	padding: 20px 0;
	border-bottom: 1px solid #000000;
}

/* --------------------------------
   WIDGETS
-------------------------------- */


/* --------------------------------
   TOP
-------------------------------- */
section#top_about {
	z-index: 9999;
	margin: -6% auto 0 auto;
	mix-blend-mode: multiply;
}

div.top_about_inner {
	width: 50%;
	margin: 0 auto 50px auto;
}

div.top_about_text {
	padding: 0 0 0 20px;
	text-align: center;
}

div.top_about_inner p.content_description {
	margin: 60px auto 0 auto;
}

p.content_description {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}

figure.ndg_logo {
	text-align: center;
}

div.top_company_link_outer {
	margin: 50px auto 0 auto;
}

a.top_company_linker {
	position: relative;
	width: calc(388 / 1240 * 100%);
	transition: .5s;
}

a.top_company_linker:hover,
a.top_company_linker:focus {
	opacity: 0.7;
}

div.top_company_link_title_box {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 32px;
	background: #007cc7;
	mix-blend-mode: multiply;
}

h3.top_company_link_title {
	position: absolute;
	bottom: 2px;
	width: 100%;
	text-align: center;
	color: #ffffff;
}

div.top_company_link {
	position: relative;
}

div.service_company_wrapper {
	position: relative;
}

div.top_content_inner {
	width: 50%;
	margin: 8% auto 0 auto;
	text-align: center;
}

figure.service_company_n_brick {
	position: absolute;
	top: 55%;
	left: 50.7%;
	width: calc(620 / 1240 * 100%);
	mix-blend-mode: multiply;
	transform: translate(-50%, -50%);
}

div.top_content_inner p.content_description {
	margin: 20px auto 0 auto;

}

section#top_news {
	margin: 100px auto 0 auto;
	padding: 60px 0;
	background: #e6f0f0;
}

div.top_news_outer {
	max-width: 1110px;
	margin: 30px auto 0 auto;
	border-top: 1px solid #000000;
}

a.top_news_inner {
	display: block;
	padding: 8px 40px;
	border-bottom: 1px solid #000000;
}

div.news_data {
	display: flex;
	align-items: center;
}

p.news_date {
	font-size: 2rem;
}

div.news_title {
	padding: 0 0 0 30px;
}

span.news_cat {
	margin: 0 10px 0 0;
	padding: 2px 10px 3px 10px;
	border-radius: 5px;
	background: #007cc7;
	font-size: 1.4rem;
	color: #ffffff;
}


/* --------------------------------
   PAGE
-------------------------------- */
header.page_header {
	padding: 60px 20px;
}

h1.content_title {
	font-family: "Oswald", serif;
	font-optical-sizing: auto;
	font-size: 4.8rem;
	font-weight: 500;
	text-align: center;
}

h1.content_title span.content_title_caption {
	font-family: "Zen Kaku Gothic New", serif;
/*
	font-family: 'Noto Sans JP', sans-serif;
*/
	display: block;
	margin: 10px auto 0 auto;
	font-size: 1.8rem;
	color: #007cc7;
}

h1.content_catch {
	font-family: "Zen Old Mincho", serif;
	line-height: 1.5em;
	font-size: 4.2rem;
}

span.content_catch_mobile {
	display: none;
	visibility: hidden;
	font-family: "Zen Old Mincho", serif;
	line-height: 1.5em;
	font-size: 4.2rem;
}

a.content_link {
	display: block;
	max-width: 200px;
	margin: 50px auto 0 auto;
	padding: 5px;
	background: url("../images/n_brick.svg") center center / contain no-repeat #007cc7;
	background-blend-mode: multiply;
	color: #ffffff;
	transition: .5s;
}

a.content_link:hover,
a.content_link:focus {
	opacity: 0.7;
	color: #ffffff;
}

figure.page_catch_image {
	text-align: center;
}

/* service */
div.service_title_outer {
	margin: 8% auto 0 auto;
	text-align: center;
}

div.service_title_outer p.content_description {
	margin: 4% auto 0 auto;
}

div.service_corp_outer {
	margin: 8% auto 0 auto;
}

div.service_corp_inner {
	width: 50%;
}

div.service_corp_inner_left {
	padding: 0 35px 0 0;
}

h2.service_corp_title {
	padding: 20px 10px;
	background: url("../images/n_brick.svg") center center / contain no-repeat #007cc7;
	background-blend-mode: multiply;
	font-size: 3.7rem;
	text-align: center;
	color: #ffffff;
}

p.service_corp_catch {
	margin: 30px auto;
	line-height: 1.5em;
	font-size: 3.7rem;
	font-weight: 700;
}

div.service_corp_photo_outer {
	display: flex;
	justify-content: space-between;
	margin: 4% auto 0 auto;
}

div.service_corp_photo {
	width: calc(388 / 1240 * 100%);
}

h1.page_content_title {
	position: relative;
	line-height: 1em;
	margin: 150px auto 100px auto;
	padding: 20px;
	font-size: 2.8rem;
	background: #007cc7;
	text-align: center;
	color: #ffffff;
}

h1.page_content_first_title {
	margin: 0 auto 100px auto;
}

h1.page_content_title img {
	position: absolute;
	top: 50%;
	right: 0;
	width: calc(240 / 1240 * 100%);
	mix-blend-mode: multiply;
	transform: translateY(-50%);
}

p.company_greeting_sign {
	margin: 20px auto 0 auto;
	font-size: 2.2rem;
	text-align: right;
}

figure.company_p01 {
	text-align: center;
}

div.company_access_outer {
	margin: 0 auto 100px auto;
	text-align: center;
}

h3.company_access_title {
	font-size: 2.3rem;
	color: #007cc7;
}

p.company_access_text {
	margin: 20px auto 30px auto;
}

/* group */
div.group_content_head {
	padding: 200px 20px;
	text-align: center;
}

div.group_content_head_01 {
	background: url("../images/group/group_head_01b.jpg") center center / cover no-repeat;
}

div.group_content_head_02 {
	background: url("../images/group/group_head_02.jpg") center center / cover no-repeat;
}

div.group_content_head_03 {
	background: url("../images/group/group_head_03.jpg") center center / cover no-repeat;
}

h1.group_content_head_title {
	color: #ffffff;
	text-shadow: 0 0 10px #000000;
}

section.group_block {
	margin: 0 auto 100px auto;
}

div.group_list_outer {
	max-width: 1000px;
	margin: 0 auto;
}

div.group_list_inner_left,
div.group_list_inner_right {
	padding: 15px;
}

div.group_list_inner_left {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 200px;
	background: #cce5f4;
	text-align: center;
	border-top: 1px solid #ffffff;
}

div.group_list_inner_right {
	width: 100%;
	padding: 15px 25px;
	border-top: 1px solid #000000;
}

div.group_list_inner_right_last {
	border-bottom: 1px solid #000000;
}

div.group_list_outer_facility div.group_list_inner_left {
	min-width: 300px;
}

div.group_list_outer_facility div.group_list_inner_right {
	display: flex;
	justify-content: space-between;
}

div.group_02_facility_outer {
	margin: 0 auto 4% auto;
}

div.group_02_facility_photo {
	width: calc(500 / 1240 * 100%);
}

div.group_02_facility_spec {
	padding: 0 0 0 30px;
}

h4.group_facility_spec_title {
	font-size: 1.8rem;
	color: #007cc7;
}

div.group_02_facility_spec p {
	line-height: 1.5em;
}

div.group_02_facility_flow_outer {
	justify-content: space-between;
	margin: 20px auto 0 auto;
	line-height: 1.5em;
}

div.group_02_facility_flow_inner {
	width: calc(350 / 1240 * 100%);
}

div.group_02_facility_flow_inner img {
	margin: 0 auto 10px auto;
}

div.group_02_facility_flow_arrow {
	width: calc(55 / 1240 * 100%);
}

/* recruit */
header#recruit_header {

}

div.recruit_header_inner {
	padding: 100px 0;
	background: url("../images/recruit/recruit_header_back.jpg") center center / cover no-repeat;
	color: #ffffff;
	text-shadow: 0 0 10px #000000;
}

header#recruit_header h1.content_title span.content_title_caption {
	color: #ffffff;
}

p.recruit_header_text {
	text-align: center;
	letter-spacing: 1em;
}

section#recruit_description div.service_corp_inner {
	text-align: center;
}

section#recruit_description p.service_corp_text {
	margin: 20px auto 0 auto;
}

section#recruit_movie {
	padding: 100px 0 0 0;
}

section#recruit_movie div.wp-video {
	border-top: unset;
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
	border-left: 1px solid #000000;
}

section#recruit_entry {
	margin: 100px auto 0 auto;
	padding: 60px 0;
	background: #007cc7;
	text-align: center;
	color: #ffffff;
}

p.recruit_entry_text {
	margin: 40px auto 0 auto;
}

div.recruit_entry_link_outer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 890px;
	margin: 50px auto 0 auto;
}

div.recruit_entry_link_center {
	justify-content: center;
}

a.recruit_entry_link {
	display: block;
	max-width: 290px;
	width: 100%;
	line-height: 1.5em;
	padding: 10px;
	background: url("../images/n_brick_lite.svg") center center / contain no-repeat #ffffff;
	background-blend-mode: multiply;
	text-align: center;
	font-weight: 700;
	color: #007cc7;
	transition: .5s;
}

a.recruit_entry_link span {
	font-family: "Zen Kaku Gothic New", serif;
/*
	font-family: 'Noto Sans JP', sans-serif;
 */
	display: block;
	font-size: 1.5rem;
}

a.recruit_entry_link:hover,
a.recruit_entry_link:focus {
	color: #007cc7;
	opacity: 0.8;
}


p.recruit_pending {
	text-align: center;
}

h2.application_data_title {
	margin: 50px auto 30px auto;
	padding: 0 0 20px 0;
	border-bottom: 2px solid #007cc7;
	color: #007cc7;
}

div.application_data_outer {
	max-width: 1000px;
	margin: 0 auto;
	padding: 50px 0 0 0;
}

div.application_data_outer div.group_list_inner_left {
	background: #d6e1f1;
}

div.application_data_anchor_outer {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}

a.application_data_anchor {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 230px;
	width: 100%;
	padding: 10px;
	border: 1px solid #007cc7;
	font-size: 1.6rem;
	font-weight: bold;
	color: #007cc7;
	transition: .5s;
}

a.application_data_anchor:hover,
a.application_data_anchor:focus {
	background: #007cc7;
	color: #ffffff;
}

/* --------------------------------
   MEDIA QUERY
-------------------------------- */

@media (max-width: 767px) {
	#inner-header {
		padding: 25px 20px;
	}

	.mobile_hidden {
		display: none;
		visibility: hidden;
	}

	section#top_about {
		margin: 30px auto 0 auto;
	}

	span.content_catch_mobile {
		display: inline-block;
		visibility: visible;
		font-size: 2.5rem;
	}

	div.top_about_inner {
		width: 100%;
		text-align: center;
	}

	div.top_about_text {
		padding: 0;
	}

	h1.content_title {
		font-size: 2.8rem;
	}

	div.top_about_inner p.content_description {
		margin: 30px auto 0 auto;
		font-size: 1.5rem;
	}

	a.top_company_linker {
		width: 100%;
		margin: 0 auto 20px auto;
	}

	div.top_content_inner {
		width: 100%;
		margin: 30px auto 0 auto;
	}

	a.content_link {
		margin: 30px auto 0 auto;
	}

	div.top_content_inner p.content_description {
		font-size: 1.6rem;
	}

	a.top_news_inner {
		padding: 8px 0;
	}

	div.news_data {
		display: block;
	}

	div.news_title {
		padding: 0;
	}

	div.footer_address_outer {
		display: block;
	}

	a.footer_logo {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}

	div.footer_address {
		margin: 30px 0;
		padding: 0;
	}

	div.blog_outer {
		display: block;
		padding: 0 20px;
	}

	main.blog_wrap {
		max-width: unset;
		width: 100%;
		padding: 0;
	}

	div.sidebar {
		min-width: unset;
		width: 100%;
	}

	h1.group_content_head_title {
		font-size: 2.6rem;
	}

	h1.page_content_title {
		margin: 50px auto 30px auto;
		font-size: 2rem;
	}

	h1.page_content_title img {
		display: none;
		visibility: hidden;
	}

	div.group_list_inner {
		display: block;
	}

	div.group_list_inner_right {
		padding: 15px 0;
		border-top: unset;
	}

	div.group_list_inner_right_last {
		border-bottom: unset;
	}

	div.group_02_facility_photo {
		width: 100%;
		margin: 50px auto 0 auto;
	}

	div.group_02_facility_spec {
		width: 100%;
		margin: 30px auto 0 auto;
		padding: 0;
	}

	div.group_02_facility_flow_inner {
		width: 100%;
	}

	div.group_02_facility_flow_arrow {
		width: 100%;
		padding: 20px;
		text-align: center;
	}

	div.group_02_facility_flow_arrow img {
		width: 55px;
		height: 55px;
		transform: rotate(90deg);
		object-fit: cover;
	}

	section.group_block {
		margin: 0 auto 50px auto;
	}

	h1.content_catch {
		font-size: 2.2rem;
	}

	div.service_corp_inner {
		width: 100%;
		margin: 30px auto 0 auto;
	}

	div.service_corp_inner_left {
		padding: 0;
	}

	div.service_corp_photo_outer {
		display: block;
		margin: 20px auto 0 auto;
		text-align: center;
	}

	div.service_corp_photo {
		width: 100%;
		margin: 20px auto 0 auto;
		text-align: center;
	}

	section#recruit_description p.service_corp_text {
		text-align: left;
	}

	p.recruit_entry_text {
		font-size: 1.6rem;
	}

	a.recruit_entry_link {
		max-width: unset;
		width: 100%;
	}

	p.recruit_header_text {
		letter-spacing: 0;
	}

	a.application_data_anchor {
		max-width: unset;
	}

	div.group_list_inner_left {
		padding: 5px 10px;
	}

	div.group_list_inner_right {
		padding: 5px 10px 30px 10px;
	}

	section#footer_recruit {
	}

	section#footer_recruit a {
		text-align: center;
	}

	img.footer_recruit_link_mobile {
		margin: 0 auto;
		display: block;
		visibility: visible;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	ul.main_nav li a,
	ul.main_nav li a:hover,
	ul.main_nav li a:focus {
		font-size: 1.0rem;
		padding: 20px 5px;
	}

	h1.content_title {
		font-size: 2.8rem;
	}

	p.content_description {
		font-size: 1.6rem;
	}

	div.top_about_inner p.content_description {
		margin: 30px auto 0 auto;
	}

	a.content_link {
		margin: 30px auto 0 auto;
	}

	figure.service_company_n_brick {
		position: absolute;
		top: 55%;
		left: 50.7%;
		width: 20%;
		mix-blend-mode: multiply;
		transform: translate(-50%, -50%);
	}

	div.footer_address {
		font-size: 0.9rem;
		line-height: 1.5em;
	}

	div.footer_address h4 {
		font-size: 1.5rem;
	}

	div.sidebar {
		min-width: 180px;
	}

	section#recruit_description p.service_corp_text {
		text-align: left;
	}

	p.service_corp_catch {
		font-size: 2.7rem;
	}

	a.recruit_entry_link {
		display: block;
		max-width: 235px;
		width: 100%;
	}
}

@media (min-width: 1024px) {

}

@media (min-width: 1921px) {

}