/***********************
* Responsive Breakpoints
* 1025px +          PC
* 768px - 1024px    Tablet
* 0px - 767px       SmartPhone
************************/

/*********************
* common
***********************/
:root {
	--color-main: rgb(9, 74, 151); /*#094A97*/
	--color-sub: rgb(222, 39, 38); /*#DE2726*/
	--color-sub2: rgb(25, 158, 80); /*#199E50*/
	--color-trans: rgba(0, 0, 0, 0.8);
	--color-trans2: rgba(0, 0, 0, 0.4);
	--color-trans3: rgba(0, 0, 0, 0.05);
	--base-width: 1000px;
	--margin: 50px auto;
	--margin-l: 100px auto;
	--margin-side: 50px;
	--padding: 50px;
	--fnt-xs: 10px;
	--fnt-s: 12px;
	--fnt-l: 36px;
	--fnt-xl: 48px;
}
@media screen and (max-width: 1024px) {
	:root {
		--margin: 25px auto;
		--margin-l: 50px auto;
		--margin-side: 25px;
		--padding: 25px;
		--padding-sp: 50px 5% 50px;
		--fnt-xs: 10px;
		--fnt-s: 12px;
		--fnt-l: 24px;
		--fnt-xl: 28px;
	}
}

* {
	box-sizing: border-box;
}
input:active,
input:focus,
button:active,
button:focus,
textarea:active,
textarea:focus {
	outline-width: 0;
	outline-style: none;
	outline-color: unset;
	outline-offset: 0;
}

/* Utility */
.mb-m {
	margin-bottom: 5rem;
}

/* Decoration & Other */
.sp-br {
	display: none;
}

.ttl {
	margin: 0 !important;
}
.desc {
	margin-top: 0 !important;
	font-size: var(--fnt-s);
}
.ttl::after {
	display: block;
	content: "";
	height: 2px;
	width: 100px;
	background: var(--color-sub);
}
.more a {
	position: relative;
	border-radius: 50px;
	padding: 0.5rem 3rem;
	background: #ffffff;
	color: var(--color-main) !important;
}
.more a:hover {
	background: rgba(255, 255, 255, 0.9);
}
.more a::after {
	position: absolute;
	top: 12px;
	right: -25px;
	content: "";
	display: inline-block;
	height: 14px;
	width: 56px;
	background: url(images/arrow.svg) center center no-repeat;
	transition: right 0.3s ease-out;
}
.more a:hover::after {
	right: -30px;
}
/* youtube */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

#gMap {
	position: absolute;
	width: 100%;
	padding-top: 33%;
	z-index: -1;
}
#gMap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* svg - logo */
img[src*=".svg"] {
	width: 100%;
	height: auto;
}

.skewMask {
	overflow: hidden;
}
.skewTop {
	transform: skewY(-10deg);
	transform-origin: top right;
}
.skewTop img {
	transform: skewY(10deg);
	transform-origin: top right;
}
.skewBottom {
	transform: skewY(-10deg);
	transform-origin: bottom left;
}
.skewBottom img {
	transform: skewY(10deg);
	transform-origin: bottom left;
}

@-moz-document url-prefix() {
	/* ここに書く */
	#masthead .site-info a {
		width: 240px;
	}
}

#masthead .site-info a img {
	width: 100%;
	max-height: 60px;
}

/* Header */
#masthead.fixed {
	background: rgba(33, 33, 33, 0.9);
}
body.scrolled #masthead {
	background: var(--color-trans);
}

/* Nav */
body.scrolled #masthead.fixed #menu-collapse > ul > li > a {
	color: #ffffff;
}
body.scrolled #masthead.fixed #menu-collapse > ul > li > a::after {
	border: none;
}
.menu-item-37 a::after {
	content: "COMPANY";
	font-size: var(--fnt-xs);
	font-weight: 100;
}
.menu-item-32 a::after {
	content: "BUSINESS";
	font-size: var(--fnt-xs);
	font-weight: 100;
}
.menu-item-31 a::after {
	content: "RECRUIT";
	font-size: var(--fnt-xs);
	font-weight: 100;
}
.menu-item-29 a::after {
	content: "NEWS";
	font-size: var(--fnt-xs);
	font-weight: 100;
}
.menu-item-1120 a::after {
	content: "HEALTH";
	font-size: var(--fnt-xs);
	font-weight: 100;
}

/*newsList*/
.newsBox {
	position: relative;
	top: -90px;
	z-index: 1;
	background: var(--color-trans);
	color: #ffffff;
}
.newsBox::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0.4;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23929877' fill-opacity='0.4' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}
.newsBox div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
.newsBox .wp-block-column:not(:first-child) {
	margin-left: 0;
}
.newsBox h3 {
	font-size: var(--fnt-s) !important;
	font-weight: 900;
}
.newsBox a {
	color: rgba(255, 255, 255, 1);
	text-decoration: none !important;
}
.newsBox a:hover {
	color: rgba(255, 255, 255, 0.5);
}
.newsList {
	list-style-type: none;
	width: 100%;
	margin: 0;
	padding: 1rem;
}
.newsList dt {
	position: relative;
}
.newsList dt .addNew {
	position: absolute;
	top: -0.2rem;
	display: inline-block;
	color: var(--color-sub);
	font-size: var(--fnt-xs);
}
.newsList dt:last-of-type,
.newsList dd:last-of-type {
	margin: 0;
}
.newsMore a {
	line-height: 50px;
	border-top: 2px solid rgba(255, 255, 255, 1);
	border-bottom: 2px solid rgba(255, 255, 255, 1);
}
.newsMore a:hover {
	border-top: 2px solid rgba(255, 255, 255, 0.5);
	border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}

h2 {
	font-size: var(--fnt-xl) !important;
	font-family: Haettenschweiler;
	letter-spacing: 0.2rem;
	line-height: 1.1;
}

.timelineBox {
	position: relative;
}
.timelineBox::after {
	position: absolute;
	content: "";
	height: 100px;
	width: 200%;
	bottom: -30px;
	left: -50%;
	background: var(--color-trans3);
	z-index: -1;
}
.timelineImgBox {
	position: relative;
}
.timelineImgBox .manTop {
	position: absolute;
	top: 0;
}
.timelineImgBox .manBottom {
	position: absolute;
	bottom: 0;
	z-index: 1;
}

.timelineImgBox .airplane {
	position: absolute;
	bottom: 30px;
	left: 0;
	width: 174px;
	height: 47px;
	transform: rotate(15deg);
}
.timelineImgBox .airplane.is-show {
	animation: airplaneMove 7s forwards;
}
@keyframes airplaneMove {
	0% {
		bottom: 200px;
		left: -500px;
		opacity: 0;
		transform: rotate(5deg);
	}
	5% {
		opacity: 1;
	}
	45% {
		opacity: 1;
		transform: rotate(-5deg);
	}
	58% {
		opacity: 0;
		bottom: 450px;
		left: 2000px;
	}
	60% {
		opacity: 0;
	}
	61% {
		opacity: 1;
		bottom: 200px;
		left: -700px;
		transform: rotate(5deg);
	}
	100% {
		bottom: 30px;
		left: 0;
		transform: rotate(15deg);
	}
}

.timeline {
	position: relative;
	margin: 3em auto;
	padding-bottom: 2em;
}
.timeline:before {
	position: absolute;
	top: 0;
	left: 45px;
	width: 3px;
	height: 100%;
	content: "";
	background: var(--color-main);
}
.timeline .timeline_item {
	margin: 0 0 0 80px;
}
.timeline .timeline_item .time_date .time {
	font-family: serif;
	font-size: 6em;
	font-weight: bold;
	position: relative;
	margin: 0;
	letter-spacing: 3px;
	color: rgba(9, 74, 151, 0.1);
}
.timeline .timeline_item .time_date .time:before {
	position: absolute;
	top: 50%;
	left: -39px;
	width: 10px;
	height: 10px;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border: 3px solid var(--color-main);
	background: #ffffff;
}
.timeline .timeline_item .time_date .flag {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0;
	margin-top: -60px;
	color: var(--color-main);
}
.timeline .timeline_item .time_date .flag .guideline {
	margin-left: 1rem;
	font-size: 1rem;
	color: var(--color-trans2);
}
.timeline .timeline_item .time_date .flag .guideline .aim {
	font-size: 0.8rem;
}
.timeline .timeline_item .desc {
	font-size: 1.2em;
	margin-top: 10px;
	padding-left: 20px;
	border-left: 1px solid var(--color-main);
}
.timeline .timeline_item h4 {
	display: inline-block;
	padding: 2px 6px;
	border-radius: 3px;
	background: var(--color-sub2);
	color: #ffffff;
	font-size: var(--fnt-s);
}
.timeline .timeline_item ul {
	color: var(--color-sub2);
}
/* top common */
.home .context {
	padding: var(--padding);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23929877' fill-opacity='0.4' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E")
		var(--color-trans2);
}

.container.column {
	margin: 3rem auto 0;
}

/* #page_top */
#page_top {
	width: 100px;
	height: 60px;
	position: fixed;
	right: 0;
	bottom: 0;
	background: var(--color-trans2);
	opacity: 0.6;
	z-index: 3;
}
#page_top a {
	position: relative;
	display: block;
	width: 100px;
	height: 60px;
	text-decoration: none;
}
#page_top a::before {
	font-family: "icomoon" !important;
	font-weight: 900;
	content: "\e90b";
	font-size: 25px;
	color: #ffffff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -25px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
#page_top a::after {
	content: "PAGE TOP";
	font-size: 13px;
	color: #ffffff;
	position: absolute;
	top: 30px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

/* footer */
#footer {
	background: var(--color-trans) !important;
	text-align: right;
}
#footer .footer-content .container {
	max-width: 90%;
}
#footer .wrap .copyright {
	color: #ffffff;
	text-align: right;
}
#footer span:nth-child(1) {
	font-weight: 900;
	color: var(--color-main);
}
#footer span:nth-child(2) {
	font-weight: 900;
	color: var(--color-sub);
}
#footer span:nth-child(3) {
	font-weight: 900;
	color: var(--color-sub2);
}

/*********************
* PC+
1025px +
***********************/
@media screen and (min-width: 1025px) {
	#masthead.fixed {
		margin-top: -69px;
	}
	#masthead #menu-collapse ul {
		display: flex;
		align-items: center;
	}
	#masthead.fixed #menu-collapse a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		letter-spacing: 0.1rem;
		font-weight: 900;
	}
	#masthead #menu-collapse > ul > li > a {
		line-height: normal;
		font-size: 16px;
		padding: 0 2rem;
		border-bottom: 3px solid transparent;
		transition: all 0.5s ease-out;
	}
	#masthead #menu-collapse > ul > li > a:hover {
		border-bottom: 3px solid var(--color-main);
	}
	.menu-item-30 {
		height: 50px;
		line-height: 50px;
		background: var(--color-main);
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		margin-left: 3rem;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		border-radius: 25px;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 > a {
		height: 50px;
		line-height: 50px;
		padding: 0 3rem;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
	}
	#masthead.fixed #menu-collapse .menu-item-30 a:hover {
		background: rgba(255, 255, 255, 0.2);
	}

	/* main-visual */
	.main-visual .main-visual-content {
		padding: 20rem 0;
	}

	/* newsList */
	.newsBox {
		width: var(--base-width) !important;
		margin: 0 auto;
	}
	.newsList {
		display: flex;
		flex-wrap: wrap;
		margin: 1rem 0;
		border-left: 1px solid var(--color-trans2);
		border-right: 1px solid var(--color-trans2);
	}
	.newsList dt {
		width: 15%;
		margin: 0 0 1rem;
		padding: 0;
	}
	.newsList dd {
		width: 85%;
		margin: 0 0 1rem;
		padding: 0;
	}
	.newsDate {
		font-size: var(--fnt-s);
	}

	/* topCompany */
	/*.topCompany-wrap{
		background : #fff);
	}*/
	.topCompany {
		position: relative;
		margin-top: -180px;
		padding: 150px 0 100px;
		background: var(--color-main);
		color: #ffffff;
		overflow: hidden;
	}
	.topCompany::before {
		position: absolute;
		top: -150px;
		left: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: #ffffff;
		transform: rotate(20deg);
	}

	.topCompany .ttl,
	.topCompany .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
	}
	.topCompany .wp-block-media-text {
		margin: var(--margin-l);
	}
	.topCompany .wp-block-media-text .wp-block-media-text__content {
		margin-left: 32%;
	}

	/* topBusiness */
	.topBusiness {
		margin: var(--margin-l);
		position: relative;
		padding: 150px 0 100px;
		background: var(--color-trans3);
		color: #ffffff;
		overflow: hidden;
	}
	.topBusiness::before {
		position: absolute;
		top: -150px;
		right: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: #ffffff;
		transform: rotate(-20deg);
	}
	.topBusiness .ttl,
	.topBusiness .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
		color: var(--color-main);
	}
	.topBusiness .wp-block-media-text {
		margin: var(--margin-l);
	}
	.topBusiness .wp-block-media-text .wp-block-media-text__content {
		margin-right: 32%;
	}
	.topBusiness .context {
		margin-left: -50%;
	}

	/* topRecruit */
	.topRecruit-wrap {
		background: var(--color-sub2);
	}
	.topRecruit {
		margin: var(--margin-l);
		position: relative;
		background: var(--color-sub2);
		color: #ffffff;
		overflow: hidden;
	}
	.topRecruit::before {
		position: absolute;
		top: -150px;
		left: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: var(--color-sub2);
		transform: rotate(20deg);
	}
	.topRecruit .wp-block-group__inner-container {
		padding: 150px 0 100px;
		background: #ffffff;
	}
	.topRecruit .ttl,
	.topRecruit .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
		color: var(--color-sub2);
	}
	.topRecruit .wp-block-media-text {
		margin: var(--margin-l);
	}
	.topRecruit .wp-block-media-text .wp-block-media-text__content {
		margin-left: 32%;
	}
	.topRecruit .context {
		margin-right: -50%;
	}
	.topRecruit .context .wp-block-group__inner-container {
		padding: 0;
		background: transparent;
	}

	/* topVison */
	.topVison .wp-block-cover__inner-container {
		width: var(--base-width);
		margin: var(--margin-l);
		padding: 150px 0;
		color: #ffffff !important;
		overflow: hidden;
	}
	.topVison .ttl,
	.topVison .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* footerContact */
	.footerContact {
		position: relative;
	}
	body:not(.home) .footerContact {
		margin-top: 100px;
	}
	.contactBox {
		width: 400px;
		padding: 50px;
		background: var(--color-trans);
		color: #ffffff;
	}
	.footerContact .ttl,
	.footerContact .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.footerContact .more a {
		background: rgba(255, 255, 255, 0.9);
	}
	.footerContact .more a:hover {
		background: rgba(255, 255, 255, 0.8);
		color: var(--color-main) !important;
	}
	.footerContact .contactInfo p:nth-child(1) {
		transition-delay: 0.2s;
	}
	.footerContact .contactInfo p:nth-child(2) {
		transition-delay: 0.4s;
	}
	.footerContact .contactInfo p:nth-child(3) {
		transition-delay: 0.6s;
	}
	.footerContact .contactInfo p:nth-child(4) {
		transition-delay: 0.8s;
	}

	/****** company ******/
	.companyProfile {
		margin: var(--margin-l);
	}
	.companyTable {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: var(--margin-l);
	}
	.companyTable h2 {
		width: 200px;
		font-size: 1.2rem !important;
	}
	.companyTable h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.companyTable div {
		width: calc(100% - 200px);
		padding: 1rem;
		border-top: 1px solid var(--color-trans3);
	}
	.companyTable div > *:first-child {
		margin-top: 0;
	}
	.bt-company {
		display: inline-block;
		height: 50px;
		line-height: 50px;
		width: 360px;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
		background: var(--color-main);
		color: #fff !important;
		text-decoration: none !important;
		text-align: center;
	}
	.bt-company:hover {
		background: #0a88cc;
	}

	.president {
		margin: var(--margin-l);
	}
	/*.president .ttl , .president .desc {
		margin-top : 0 !important;
		margin-bottom : 0 !important;
		margin-left : 18% !important;
	}
	.president .wp-block-media-text .wp-block-media-text__content {
		margin-left : 28%;
	}*/
	.president .wp-block-media-text__media img {
		margin-left: -26%;
		z-index: -1;
	}
	.president .sign {
		text-align: right;
	}
	.president .sign img {
		width: 200px;
	}
	.president .wp-block-media-text__media {
		z-index: -1;
	}

	/****** business ******/
	.businessImg {
		max-width: 1800px !important;
		width: 90%;
		margin: var(--margin-l);
	}
	.businessImg img {
		width: 100%;
	}

	.businessDesc {
		margin: var(--margin-l);
	}
	.businessDesc .skewMask {
		margin-top: -2rem;
	}

	.inspection {
		position: relative;
		margin: var(--margin);
		padding: 150px 0 100px;
		background: var(--color-main);
		color: #ffffff;
		overflow: hidden;
	}
	.inspection::before {
		position: absolute;
		top: -150px;
		left: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: #ffffff;
		transform: rotate(20deg);
	}

	.inspection .ttl,
	.inspection .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
	}
	.inspection .wp-block-media-text {
		margin: var(--margin-l);
	}
	.inspection .wp-block-media-text .wp-block-media-text__content {
		margin-left: 32%;
	}

	.management {
		margin: var(--margin-l);
		position: relative;
		padding: 150px 0 100px;
		background: var(--color-trans3);
		overflow: hidden;
	}
	.management::before {
		position: absolute;
		top: -150px;
		right: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: #ffffff;
		transform: rotate(-20deg);
	}
	.management .ttl,
	.management .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
		color: var(--color-main);
	}
	.management .wp-block-media-text {
		margin: var(--margin-l);
	}
	.management .wp-block-media-text .wp-block-media-text__content {
		margin-right: 32%;
	}

	/* supervision */
	.supervision-wrap {
		background: var(--color-sub2);
	}
	.supervision {
		margin: var(--margin-l);
		position: relative;
		background: var(--color-sub2);
		overflow: hidden;
	}
	.supervision::before {
		position: absolute;
		top: -150px;
		left: -300px;
		height: 1600px;
		width: 400px;
		content: "";
		display: block;
		background: var(--color-sub2);
		transform: rotate(20deg);
	}
	.supervision .wp-block-group__inner-container {
		padding: 150px 0 100px;
		background: #ffffff;
	}
	.supervision .ttl,
	.supervision .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 20% !important;
		color: var(--color-sub2);
	}
	.supervision .wp-block-media-text {
		margin: var(--margin-l);
	}
	.supervision .wp-block-media-text .wp-block-media-text__content {
		margin-left: 32%;
	}
	.supervision .context .wp-block-group__inner-container {
		padding: 0;
		background: transparent;
	}

	.other {
		margin: var(--margin-l);
		position: relative;
		padding: 50px 0 50px;
		overflow: hidden;
	}
	.other .ttl,
	.other .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.other img {
		margin: var(--margin-l);
	}

	/****** recruit ******/

	.guidelines {
		margin: var(--margin-l);
	}
	.guidelinesTable {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: var(--margin);
	}
	.guidelinesTable h3 {
		width: 150px;
		font-size: var(--fnt-s) !important;
	}
	.guidelinesTable h3::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.guidelinesTable div {
		width: calc(100% - 150px);
		padding: 1rem;
		border-top: 1px solid var(--color-trans3);
	}
	.guidelinesTable div > *:first-child {
		margin-top: 0;
	}

	.entryBox {
		text-align: center;
		font-weight: 900;
	}
	.entryBox p:first-of-type {
		margin: 0;
		color: var(--color-sub);
	}
	.entryBox .wp-block-button {
		width: 40%;
	}
	.entryBox .wp-block-button__link {
		border-bottom: 2px solid var(--color-trans2);
		background: #0044a3;
		color: rgba(255, 255, 255, 1);
		font-size: var(--fnt-l);
	}
	.entryBox .wp-block-button__link:hover {
		background: #0a88cc;
		color: rgba(255, 255, 255, 0.9);
	}

	.jobBox {
		text-align: center;
		font-weight: 900;
	}
	.jobBox p:first-of-type {
		margin: 0;
		color: var(--color-sub);
	}
	.jobBox .wp-block-button__link {
		padding: 1rem 4rem;
		background: #0044a3;
		color: rgba(255, 255, 255, 1);
	}
	.jobBox .wp-block-button__link:hover {
		background: #0a88cc;
		color: rgba(255, 255, 255, 0.9);
	}

	.resources {
		margin: var(--margin-l);
	}
	.resources .wp-block-columns {
		text-align: center;
		font-weight: 900;
	}
	.resources .wp-block-columns img {
		max-width: 80% !important;
	}
	.resources .ttl,
	.resources .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.careerPath {
		margin: var(--margin-l);
	}
	.careerPath .ttl,
	.careerPath .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.careerSupport {
		margin: var(--margin-l);
	}
	.careerSupport .ttl,
	.careerSupport .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.allowance {
		color: var(--color-sub);
		font-size: var(--fnt-l);
		font-weight: 900;
	}
	.allowance::before {
		content: "毎月";
		display: inline-block;
		vertical-align: middle;
		height: 50px;
		width: 50px;
		margin-right: 1rem;
		line-height: 50px;
		border-radius: 50px;
		text-align: center;
		background: var(--color-sub);
		color: #ffffff;
		font-size: var(--fnt-s);
		font-weight: 900;
	}
	.educationImg {
		margin: 0;
	}

	.qualificationImg figure {
		position: relative;
	}
	.qualificationImg figure dl {
		position: absolute;
		bottom: 0;
		width: 100%;
		margin: 0;
		padding: 20px;
		background: var(--color-trans);
		color: #ffffff;
	}
	.qualificationImg figure dl dt {
		display: inline-block;
	}
	.qualificationImg figure dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.qualificationImg figure dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.acquisition {
		position: relative;
		color: var(--color-sub2);
		font-size: var(--fnt-s);
	}
	.acquisition::before {
		position: absolute;
		content: "取得した資格";
		display: inline-block;
		padding: 2px 6px;
		border-radius: 3px;
		background: var(--color-sub2);
		color: #ffffff;
		font-size: var(--fnt-s);
	}
	.acquisition ul {
		margin-top: 2.5rem;
	}

	.message {
		margin: var(--margin-l);
	}
	.message .ttl,
	.message .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 18% !important;
	}
	.message .wp-block-media-text {
		margin: var(--margin);
	}
	.messageTxtRight .wp-block-media-text__content {
		margin-right: 30%;
	}
	.messageTxtLeft .wp-block-media-text__content {
		margin-left: 30%;
	}
	.message dl {
	}
	.message dl dt {
		display: inline-block;
	}
	.message dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.message dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.interview,
	.interviewImg {
		margin: var(--margin-l);
	}
	.interview .ttl,
	.interview .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.interviewBox {
		margin: var(--margin);
	}
	.interviewBox h3 {
		color: var(--color-sub2);
		line-height: initial;
	}
	.interviewBox p {
		margin-top: 0;
		padding: 1rem;
		border-radius: 10px;
		background: var(--color-trans3);
	}
	.interviewBox h3::first-letter {
		font-size: var(--fnt-l);
	}
	.interviewBox h3:nth-of-type(odd),
	.interviewBox p:nth-of-type(odd) {
		margin-right: var(--margin-side);
	}
	.interviewBox h3:nth-of-type(even),
	.interviewBox p:nth-of-type(even) {
		margin-left: var(--margin-side);
	}
	/*.interviewBox h3:last-of-type , .interviewBox p:last-of-type {
		margin-right : 0;
		margin-left : 0;
	}*/
	.interviewBox .lastContent h3,
	.interviewBox .lastContent p {
		margin-right: 0;
		margin-left: var(--margin-side);
	}
	.interviewBoxImg {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	.interviewBox dl dt {
		display: inline-block;
	}
	.interviewBox dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.interviewBox dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.data {
		width: 100%;
		padding: 100px 0;
		margin: var(--margin-l);
		margin-bottom: 5rem;
		background: #dadcdb;
	}
	.data img {
		display: block;
		max-width: 1240px !important;
		margin: auto;
	}
	/****** contact ******/
	.contact form {
		display: block;
		max-width: 800px;
		margin: auto;
	}
	.contact form h2 {
		font-size: var(--fnt-s) !important;
	}
	.contact form h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.contact form h2::after {
		display: inline-block;
		content: "必須";
		margin-left: 5px;
		padding: 2px 3px 2px 4px;
		vertical-align: middle;
		border-radius: 3px;
		background: var(--color-sub);
		color: #ffffff;
		font-size: var(--fnt-xs);
	}
	.contact form label:last-of-type h2::after {
		display: none;
	}
	.contact label {
		display: block;
		margin-bottom: 2rem;
	}
	.contact input[type="submit"] {
		display: block;
		width: 200px;
		height: 50px;
		line-height: 50px;
		padding: 0 3rem;
		margin: auto;
		border-top: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 50px;
		background: var(--color-sub2);
		color: #ffffff;
		font-weight: 900;
	}
	.contact input[type="submit"]:hover {
		opacity: 0.9;
	}

	/* archive */
	.blog #main .container {
		width: 95%;
		max-width: inherit !important;
	}
	.blog .articles.column-3 article {
		flex-basis: 25%;
		width: 25%;
		margin-right: 0;
	}
}

/*********************
* Tablet
768px - 1024px
***********************/
@media screen and (min-width: 768px) and (max-width: 1024px) {
	#masthead.fixed {
		margin-top: -55px;
	}
	#masthead .site-info a img {
		width: 170px;
	}

	body.scrolled #masthead .icon {
		color: #ffffff;
		border-color: #ffffff;
	}
	#masthead .global-nav #menu-collapse.panel {
		backdrop-filter: blur(5px);
	}
	#masthead .global-nav #menu-collapse.panel > ul > li {
		margin-bottom: 1rem;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li > a {
		text-align: center;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li > a::after {
		display: block;
	}

	.newsBox {
		position: absolute;
		top: -80px;
		left: 0;
		right: 0;
		display: flex;
		padding-left: 3%;
	}
	.newsBox .wp-block-column:not(:only-child) {
		flex-basis: unset !important;
	}
	.newsBox .wp-block-column:nth-of-type(1) {
		flex-basis: 20% !important;
	}
	.newsBox .wp-block-column:nth-of-type(2) {
		flex-basis: 70% !important;
	}
	.newsBox .wp-block-column:nth-of-type(3) {
		flex-basis: 10% !important;
	}
	.newsBox div {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		z-index: 1;
	}
	.newsBox .wp-block-column:not(:first-child) {
		margin-left: 0;
	}
	.newsBox h3 {
		font-size: var(--fnt-s) !important;
		font-weight: 900;
	}
	.newsBox a {
		color: rgba(255, 255, 255, 1);
		text-decoration: none !important;
	}
	.newsBox a:hover {
		color: rgba(255, 255, 255, 0.5);
	}
	.newsList {
		list-style-type: none;
		width: 100%;
		margin: 0;
		padding: 1rem 2rem;
	}
	.newsList dt {
		position: relative;
	}
	.newsList dt .addNew {
		position: absolute;
		top: -0.2rem;
		display: inline-block;
		color: var(--color-sub);
		font-size: var(--fnt-xs);
	}
	.newsList dt,
	.newsList dd {
		margin: 0;
	}

	/****** topCompany ******/
	.topCompany {
		padding: 150px 5% 50px;
		background: var(--color-main);
		color: #ffffff;
	}

	/****** topBusiness ******/
	.topBusiness {
		padding: var(--padding-sp);
		background: var(--color-trans3);
	}
	.home .context {
		padding: 0;
		background: none;
	}

	/****** topRecruit ******/
	.topRecruit {
		padding: var(--padding-sp);
		background: var(--color-sub2);
		color: #ffffff;
	}

	/****** topVison ******/
	.topVison {
		z-index: 1;
	}
	.topVison .wp-block-cover__inner-container {
		color: #ffffff !important;
	}
	.topVison img.wp-block-cover__image-background {
		height: 100% !important;
	}

	/****** footerContact ******/
	/* footerContact */
	.footerContact {
		overflow: hidden;
	}
	#gMap {
		padding-top: 175%;
		margin-top: -50px;
	}
	.contactBox {
		width: 400px;
		padding: 15px;
		background: var(--color-trans2);
		color: #ffffff;
	}

	/****** business ******/
	.businessImg img {
		width: 100%;
	}

	.businessDesc {
		margin: var(--margin-l);
	}
	.businessDesc .skewMask {
		margin-top: 0;
	}

	.inspection {
		padding: 50px 5% 50px;
		background: var(--color-main);
		color: #ffffff;
		overflow: hidden;
	}

	.inspection .ttl,
	.inspection .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.inspection .wp-block-media-text {
		margin: var(--margin-l);
	}
	.inspection .wp-block-media-text .wp-block-media-text__content {
		margin-left: 0;
	}

	.management {
		position: relative;
		padding: 50px 5% 50px;
		background: var(--color-trans3);
		overflow: hidden;
	}
	.management .ttl,
	.management .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		color: var(--color-main);
	}
	.management .wp-block-media-text {
		margin: var(--margin-l);
	}
	.management .wp-block-media-text .wp-block-media-text__content {
		margin-right: 0;
	}

	/* supervision */
	.supervision {
		position: relative;
		padding: 50px 5% 50px;
		background: var(--color-sub2);
		overflow: hidden;
		color: #ffffff;
	}
	.supervision .ttl,
	.supervision .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.supervision .wp-block-media-text {
		margin: var(--margin-l);
	}
	.supervision .context .wp-block-group__inner-container {
		padding: 0;
		background: transparent;
	}

	/****** company ******/

	.president .wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.president
		.wp-block-media-text.is-stacked-on-mobile
		.wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	.president
		.wp-block-media-text.is-stacked-on-mobile
		.wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	.companyProfile {
		margin: var(--margin-l);
	}
	.companyTable {
		margin: var(--margin-l);
	}
	.companyTable h2 {
		margin: 0;
		padding: 1rem 0 0 !important;
		border-top: 1px solid var(--color-trans3);
		font-size: var(--fnt-s) !important;
	}
	.companyTable h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.companyTable div {
		padding: 1rem;
	}
	.companyTable div > *:first-child {
		margin-top: 0;
	}
	.companyTable div > *:last-child {
		margin-bottom: 0;
	}

	.bt-company {
		display: inline-block;
		height: 50px;
		line-height: 50px;
		width: 300px;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
		background: var(--color-main);
		color: #fff !important;
		text-decoration: none !important;
		text-align: center;
	}
	.bt-company:hover {
		background: #0a88cc;
	}
	/****** recruit ******/
	.guidelines {
		margin: var(--margin);
	}
	.guidelinesTable {
		margin: var(--margin-l);
	}
	.guidelinesTable h3 {
		margin: 0;
		padding: 1rem 0 0 !important;
		border-top: 1px solid var(--color-trans3);
		font-size: var(--fnt-s) !important;
	}
	.guidelinesTable h3::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.guidelinesTable div {
		padding: 1rem;
	}
	.guidelinesTable div > *:first-child {
		margin-top: 0;
	}
	.guidelinesTable div > *:last-child {
		margin-bottom: 0;
	}

	.entryBox {
		margin-bottom: 3rem;
		text-align: center;
		font-weight: 900;
	}
	.entryBox p:first-of-type {
		margin: 0;
		color: var(--color-sub);
	}
	.entryBox .wp-block-button {
		width: 40%;
	}
	.entryBox .wp-block-button__link {
		border-bottom: 2px solid var(--color-trans2);
		background: #0044a3;
		color: rgba(255, 255, 255, 1);
		font-size: var(--fnt-l);
	}
	.entryBox .wp-block-button__link:hover {
		background: #0a88cc;
		color: rgba(255, 255, 255, 0.9);
	}

	.resources {
	}
	.resources .wp-block-columns {
		text-align: center;
		font-weight: 900;
	}
	.resources .wp-block-columns img {
		max-width: 80% !important;
	}
	.resources .ttl,
	.resources .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.resources .wp-block-column {
		flex-basis: 33% !important;
		margin: 0;
		font-size: var(--fnt-s);
	}

	.careerPath {
		margin-bottom: 100px;
	}
	.timelineBox .wp-block-column:not(:only-child) {
		flex-basis: unset !important;
	}
	.timelineBox .wp-block-column:nth-child(2n) {
		margin-left: 0;
	}
	.timelineBox .wp-block-column:not(:only-child).timelineImgBox {
		flex-basis: 14.99% !important;
	}
	.timelineBox .wp-block-column:not(:only-child).timelineTxtBox {
		flex-basis: 84.99% !important;
	}
	.timeline:before {
		left: 15px;
	}
	.timeline .timeline_item .time_date .time:before {
		left: -29px;
	}
	.timeline .timeline_item {
		margin: 0 0 0 40px;
	}
	.timeline .timeline_item .desc {
		padding-left: 0;
		border-top: 1px solid var(--color-main);
		border-left: none;
	}

	.timeline .timeline_item .time_date .time {
		font-family: serif;
		font-size: 4em;
		font-weight: bold;
		position: relative;
		margin: 0;
		letter-spacing: 3px;
		color: rgba(9, 74, 151, 0.1);
	}
	.careerSupport {
		margin: var(--margin-l);
	}
	.message {
		padding: 0 5%;
	}

	.qualificationImg figure {
		position: relative;
	}
	.qualificationImg figure dl {
		padding: 10px;
	}
	.qualificationImg figure dl dt {
		display: inline-block;
	}
	.qualificationImg figure dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.qualificationImg figure dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.acquisition {
		position: relative;
		color: var(--color-sub2);
		font-size: var(--fnt-s);
	}
	.acquisition::before {
		position: absolute;
		content: "取得した資格";
		display: inline-block;
		padding: 2px 6px;
		border-radius: 3px;
		background: var(--color-sub2);
		color: #ffffff;
		font-size: var(--fnt-s);
	}
	.acquisition ul {
		margin-top: 2.5rem;
	}
	.acquisition .wp-block-column:nth-of-type(2) ul {
		margin-top: 0;
	}

	.message {
		margin: var(--margin-l);
	}
	.message .ttl,
	.message .desc {
		margin-left: 0;
	}
	.message .wp-block-media-text {
		margin: var(--margin);
	}
	.messageTxtRight .wp-block-media-text__content {
		margin-right: 0;
	}
	.messageTxtLeft .wp-block-media-text__content {
		margin-left: 0;
	}
	.message dl {
	}
	.message dl dt {
		display: inline-block;
	}
	.message dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.message dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.interview,
	.interviewImg {
		margin: var(--margin-l);
	}
	.interview .ttl,
	.interview .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.interviewBox {
		margin: var(--margin);
	}
	.interviewBox h3 {
		color: var(--color-sub2);
		line-height: initial;
	}
	.interviewBox p {
		margin-top: 0;
		padding: 1rem;
		border-radius: 10px;
		background: var(--color-trans3);
	}
	.interviewBox h3::first-letter {
		font-size: var(--fnt-l);
	}

	.interviewBoxImg {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	.interviewBox dl dt {
		display: inline-block;
	}
	.interviewBox dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.interviewBox dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}
	.data {
		margin-bottom: 3rem;
	}
	/****** contact ******/
	.contact form {
		display: block;
		max-width: 800px;
		margin: auto;
	}
	.contact form h2 {
		font-size: var(--fnt-s) !important;
	}
	.contact form h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.contact form h2::after {
		display: inline-block;
		content: "必須";
		margin-left: 5px;
		padding: 2px 3px 2px 4px;
		vertical-align: middle;
		border-radius: 3px;
		background: var(--color-sub);
		color: #ffffff;
		font-size: var(--fnt-xs);
	}
	.contact form label:last-of-type h2::after {
		display: none;
	}
	.contact label {
		display: block;
		margin-bottom: 2rem;
	}
	.contact input[type="submit"] {
		display: block;
		width: 200px;
		height: 50px;
		line-height: 50px;
		padding: 0 3rem;
		margin: auto;
		border-top: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 50px;
		background: var(--color-sub2);
		color: #ffffff;
		font-weight: 900;
	}
	.contact input[type="submit"]:hover {
		opacity: 0.9;
	}
}

/*********************
* SmartPhone
0px - 767px
***********************/
@media only screen and (max-width: 767px) {
	#masthead.fixed {
		margin-top: -55px;
	}
	#masthead .site-info a img {
		width: 170px;
	}
	body.scrolled #masthead .icon {
		color: #ffffff;
		border-color: #ffffff;
	}
	#masthead .global-nav #menu-collapse.panel {
		backdrop-filter: blur(5px);
	}
	#masthead .global-nav #menu-collapse.panel > ul > li {
		margin-bottom: 1rem;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li > a {
		text-align: center;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li > a::after {
		display: block;
	}

	.main-visual.main-video {
		padding-top: 100%;
	}

	.main-visual-content.container::before {
		display: block;
		content: url(images/sp-copy.svg);
		width: 55%;
		height: auto;
		margin-bottom: 80px;
	}

	.newsBox {
		position: absolute;
		top: -150px;
		left: 0;
		right: 0;
		gap: 0 !important;
	}
	.newsList {
		flex-flow: column nowrap;
		padding: 0 1rem;
	}
	.newsList dt,
	.newsList dd {
		width: 100%;
	}
	.newsList dt .addNew {
		top: -0.4rem;
	}
	.newsList dd {
		margin: 0 0 1rem;
	}
	.newsList dd:last-of-type {
		margin: 0;
	}
	.newsMore {
		margin: 0.5rem 0 !important;
	}

	/****** topCompany ******/
	.topCompany {
		padding: 150px 5% 50px;
		background: var(--color-main);
		color: #ffffff;
	}

	/****** topBusiness ******/
	.topBusiness {
		padding: var(--padding-sp);
		background: var(--color-trans3);
	}
	.home .context {
		padding: 0;
		background: none;
	}

	/****** topRecruit ******/
	.topRecruit {
		padding: var(--padding-sp);
		background: var(--color-sub2);
		color: #ffffff;
	}

	/****** topVison ******/
	.topVison {
		z-index: 1;
	}
	.topVison .wp-block-cover__inner-container {
		color: #ffffff !important;
	}
	.topVison img.wp-block-cover__image-background {
		height: 100% !important;
	}

	/****** footerContact ******/
	/* footerContact */
	.footerContact {
		overflow: hidden;
	}
	#gMap {
		padding-top: 75%;
	}
	.contactBox {
		width: 400px;
		padding: 15px;
		background: var(--color-trans2);
		color: #ffffff;
	}

	/****** business ******/
	.businessImg img {
		width: 100%;
	}

	.businessDesc {
		margin: var(--margin-l);
	}
	.businessDesc .skewMask {
		margin-top: 0;
	}

	.inspection {
		padding: 50px 5% 50px;
		background: var(--color-main);
		color: #ffffff;
		overflow: hidden;
	}

	.inspection .ttl,
	.inspection .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.inspection .wp-block-media-text {
		margin: var(--margin-l);
	}
	.inspection .wp-block-media-text .wp-block-media-text__content {
		margin-left: 0;
	}

	.management {
		position: relative;
		padding: 50px 5% 50px;
		background: var(--color-trans3);
		overflow: hidden;
	}
	.management .ttl,
	.management .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		color: var(--color-main);
	}
	.management .wp-block-media-text {
		margin: var(--margin-l);
	}
	.management .wp-block-media-text .wp-block-media-text__content {
		margin-right: 0;
	}

	/* supervision */
	.supervision {
		position: relative;
		padding: 50px 5% 50px;
		background: var(--color-sub2);
		overflow: hidden;
		color: #ffffff;
	}
	.supervision .ttl,
	.supervision .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.supervision .wp-block-media-text {
		margin: var(--margin-l);
	}
	.supervision .context .wp-block-group__inner-container {
		padding: 0;
		background: transparent;
	}

	/****** company ******/
	.companyProfile {
		margin: var(--margin-l);
	}
	.companyTable {
		margin: var(--margin-l);
	}
	.companyTable h2 {
		margin: 0;
		padding: 1rem 0 0 !important;
		border-top: 1px solid var(--color-trans3);
		font-size: 1.2rem !important;
	}
	.companyTable h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.companyTable div {
		padding: 1rem;
	}
	.companyTable div > *:first-child {
		margin-top: 0;
	}
	.companyTable div > *:last-child {
		margin-bottom: 0;
	}
	.bt-company {
		display: inline-block;
		height: 50px;
		line-height: 50px;
		width: 280px;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
		background: var(--color-main);
		color: #fff !important;
		text-decoration: none !important;
		text-align: center;
	}
	.bt-company:hover {
		background: #0a88cc;
	}

	/****** recruit ******/
	.guidelines {
		margin: var(--margin);
	}
	.guidelinesTable {
		margin: var(--margin-l);
	}
	.guidelinesTable h3 {
		margin: 0;
		padding: 1rem 0 0 !important;
		border-top: 1px solid var(--color-trans3);
		font-size: var(--fnt-s) !important;
	}
	.guidelinesTable h3::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.guidelinesTable div {
		padding: 1rem;
	}
	.guidelinesTable div > *:first-child {
		margin-top: 0;
	}
	.guidelinesTable div > *:last-child {
		margin-bottom: 0;
	}

	.entryBox {
		margin-bottom: 3rem;
		text-align: center;
		font-weight: 900;
	}
	.entryBox p:first-of-type {
		margin: 0;
		color: var(--color-sub);
	}
	.entryBox .wp-block-button {
		width: 80%;
	}
	.entryBox .wp-block-button__link {
		border-bottom: 2px solid var(--color-trans2);
		background: #0044a3;
		color: rgba(255, 255, 255, 1);
		font-size: var(--fnt-l);
	}
	.entryBox .wp-block-button__link:hover {
		background: #0a88cc;
		color: rgba(255, 255, 255, 0.9);
	}

	.resources {
	}
	.resources .wp-block-columns {
		text-align: center;
		font-weight: 900;
	}
	.resources .wp-block-columns img {
		max-width: 80% !important;
	}
	.resources .ttl,
	.resources .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.timelineBox {
		gap: 0;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)
		> .wp-block-column.timelineImgBox {
		flex-basis: 14.99% !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)
		> .wp-block-column.timelineTxtBox {
		flex-basis: 70% !important;
	}
	.timeline:before {
		left: 15px;
	}
	.timeline .timeline_item .time_date .time:before {
		left: -29px;
	}
	.timeline .timeline_item {
		margin: 0 0 0 40px;
	}
	.timeline .timeline_item .desc {
		padding-left: 0;
		border-top: 1px solid var(--color-main);
		border-left: none;
	}

	.timeline .timeline_item .time_date .time {
		font-family: serif;
		font-size: 4em;
		font-weight: bold;
		position: relative;
		margin: 0;
		letter-spacing: 3px;
		color: rgba(9, 74, 151, 0.1);
	}
	.careerSupport {
		margin: var(--margin-l);
	}
	.message {
		padding: 0 5%;
	}

	.qualificationImg figure {
		position: relative;
	}
	.qualificationImg figure dl {
		padding: 10px;
	}
	.qualificationImg figure dl dt {
		display: inline-block;
	}
	.qualificationImg figure dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.qualificationImg figure dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.acquisition {
		position: relative;
		color: var(--color-sub2);
		font-size: var(--fnt-s);
	}
	.acquisition::before {
		position: absolute;
		content: "取得した資格";
		display: inline-block;
		padding: 2px 6px;
		border-radius: 3px;
		background: var(--color-sub2);
		color: #ffffff;
		font-size: var(--fnt-s);
	}
	.acquisition ul {
		margin-top: 2.5rem;
	}
	.acquisition .wp-block-column:nth-of-type(2) ul {
		margin-top: 0;
	}

	.message {
		margin: var(--margin-l);
	}
	.message .ttl,
	.message .desc {
		margin-left: 0;
	}
	.message .wp-block-media-text {
		margin: var(--margin);
	}
	.messageTxtRight .wp-block-media-text__content {
		margin-right: 0;
	}
	.messageTxtLeft .wp-block-media-text__content {
		margin-left: 0;
	}
	.message dl {
	}
	.message dl dt {
		display: inline-block;
	}
	.message dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.message dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}

	.interview,
	.interviewImg {
		margin: var(--margin-l);
	}
	.interview .ttl,
	.interview .desc {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.interviewBox {
		margin: var(--margin);
	}
	.interviewBox h3 {
		color: var(--color-sub2);
		line-height: initial;
	}
	.interviewBox p {
		margin-top: 0;
		padding: 1rem;
		border-radius: 10px;
		background: var(--color-trans3);
	}
	.interviewBox h3::first-letter {
		font-size: var(--fnt-l);
	}

	.interviewBoxImg {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	.interviewBox dl dt {
		display: inline-block;
	}
	.interviewBox dl dt::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background: var(--color-sub);
	}
	.interviewBox dl dd {
		margin: 0;
		font-size: var(--fnt-s);
	}
	.data {
		margin-bottom: 3rem;
	}
	/****** contact ******/
	.contact form {
		display: block;
		max-width: 800px;
		margin: auto;
	}
	.contact form h2 {
		font-size: var(--fnt-s) !important;
	}
	.contact form h2::before {
		display: inline-block;
		content: "";
		height: 2px;
		width: 10px;
		margin-right: 5px;
		vertical-align: middle;
		background: var(--color-sub);
	}
	.contact form h2::after {
		display: inline-block;
		content: "必須";
		margin-left: 5px;
		padding: 2px 3px 2px 4px;
		vertical-align: middle;
		border-radius: 3px;
		background: var(--color-sub);
		color: #ffffff;
		font-size: var(--fnt-xs);
	}
	.contact form label:last-of-type h2::after {
		display: none;
	}
	.contact label {
		display: block;
		margin-bottom: 2rem;
	}
	.contact input[type="submit"] {
		display: block;
		width: 200px;
		height: 50px;
		line-height: 50px;
		padding: 0 3rem;
		margin: auto;
		border-top: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 50px;
		background: var(--color-sub2);
		color: #ffffff;
		font-weight: 900;
	}
	.contact input[type="submit"]:hover {
		opacity: 0.9;
	}
}

/*********************
* SP + Tablet
769px - 1024px
***********************/
@media screen and (min-width: 769px) and (max-width: 1022px) {
	#masthead #menu-collapse ul {
		display: flex;
		align-items: center;
	}
	#masthead.fixed #menu-collapse a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		letter-spacing: 0.1rem;
		font-weight: 900;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li {
		margin-bottom: 0;
	}
	#masthead #menu-collapse > ul > li > a {
		line-height: normal;
		font-size: 13px;
		padding: 0 0.5rem;
		border-bottom: 3px solid transparent;
		transition: all 0.5s ease-out;
	}
	#masthead #menu-collapse > ul > li > a:hover {
		border-bottom: 3px solid var(--color-main);
	}
	.menu-item-30 {
		height: 50px;
		line-height: 50px;
		background: var(--color-main);
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		margin-left: 0.5rem;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		border-radius: 25px;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 > a {
		width: 180px;
		height: 50px;
		line-height: 50px;
		padding: 0;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
	}
	#masthead.fixed #menu-collapse .menu-item-30 a:hover {
		background: rgba(255, 255, 255, 0.2);
	}
}

/*********************
* Tablet +
1023px - 1024px
***********************/
@media screen and (min-width: 1023px) and (max-width: 1280px) {
	#masthead #menu-collapse ul {
		display: flex;
		align-items: center;
	}
	#masthead.fixed #menu-collapse a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		letter-spacing: 0.1rem;
		font-weight: 900;
	}
	#masthead .global-nav #menu-collapse.panel > ul > li {
		margin-bottom: 0;
	}
	#masthead #menu-collapse > ul > li > a {
		line-height: normal;
		font-size: 15px;
		padding: 0 1rem;
		border-bottom: 3px solid transparent;
		transition: all 0.5s ease-out;
	}
	#masthead #menu-collapse > ul > li > a:hover {
		border-bottom: 3px solid var(--color-main);
	}
	.menu-item-30 {
		height: 50px;
		line-height: 50px;
		background: var(--color-main);
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		margin-left: 1rem;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 {
		border-radius: 25px;
	}
	#masthead #menu-collapse > ul > li.menu-item-30 > a {
		width: 180px;
		height: 50px;
		line-height: 50px;
		padding: 0;
		border-bottom: 2px solid var(--color-trans2);
		border-radius: 25px;
	}
	#masthead.fixed #menu-collapse .menu-item-30 a:hover {
		background: rgba(255, 255, 255, 0.2);
	}
}

/*********************
* Tablet +
1025px - 1500px
***********************/
@media screen and (min-width: 1025px) and (max-width: 1500px) {
	.topCompany::before {
		left: -400px;
	}
	.topBusiness::before {
		right: -400px;
	}
	.topRecruit::before {
		left: -400px;
	}
	.inspection::before {
		left: -400px;
	}
	.management::before {
		right: -400px;
	}
	.supervision::before {
		left: -400px;
	}
}

.smb-tab-panel {
	height: 0;
	padding: 0; /* パディングをなくして高さが影響しないように */
	margin: 0; /* マージンをなくしてレイアウトが崩れないように */
}
/* パネルの初期状態（非表示時） */
.smb-tab-panel[aria-hidden="true"] {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
}

/* パネルが表示される時（アクティブ時） */
.smb-tab-panel[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
}

/* 初期状態（非表示時） */
.smb-tab-panel[aria-hidden="true"] {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-20px); /* 上からスライドする効果 */
	height: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease,
		transform 0.5s ease,
		height 0.5s ease,
		padding 0.5s ease,
		margin 0.5s ease;
}

/* アクティブ状態（表示時） */
.smb-tab-panel[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	transform: translateX(0); /* スライド効果完了後、元の位置に戻す */
	height: auto;
	padding: 20px; /* 必要に応じて元のパディングに戻す */
	margin: 0;
	overflow: visible;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease,
		transform 0.5s ease,
		height 0.5s ease,
		padding 0.5s ease,
		margin 0.5s ease;
}

.smb-tabs[data-orientation="horizontal"]
	> .smb-tabs__tabs
	.smb-tabs__tab[aria-selected="true"] {
	border-bottom-color: #0000;
	background: #094a97;
	color: #fff;
	border-radius: 0;
}

.certificationList {
	margin: var(--margin-l);
	.wp-block-image {
		width: max-content;
		margin-top: -60px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 10px;
		background: #fff;
	}
	& h3 {
		margin-bottom: 0;
		text-align: center;
	}
	& h3 + p {
		margin-top: 0 !important;
		text-align: center;
		font-weight: 900;
	}
}

.requirements {
	display: flex;
	align-items: center;
	& h4 {
		margin-right: 1rem;
	}
	& p {
		margin: 0 !important;
		color: #199e50;
		font-weight: 900;
	}
}

.healthManagement {
	& h3 {
		margin-top: 3rem;
		font-size: 1.2rem !important;
		letter-spacing: 0.2rem;
		line-height: 1.1;
		&:before {
			display: inline-block;
			content: "";
			height: 2px;
			width: 10px;
			margin-right: 5px;
			vertical-align: middle;
			background: var(--color-sub);
		}
	}
	& .indicatorsTable {
		& thead th {
			padding: 0.1rem 0.5rem;
			text-align: center;
			&:nth-of-type(2),
			&:nth-of-type(3) {
				background: #ddebf7;
			}
			&:nth-of-type(4) {
				background: #fff2cc;
			}
			&:nth-of-type(5) {
				background: #ffccff;
			}
		}
		& tbody td {
			padding: 0.1rem 0.5rem;
		}
	}

	& .jobTable,
	& .safetyTable,
	& .seminerTable {
		& thead th {
			&:nth-of-type(2),
			&:nth-of-type(3) {
				background: #ddebf7;
			}
			&:nth-of-type(4) {
				background: #ffccff;
			}
		}
	}

	& .kgiStatusTable {
		& table {
			width: 100%;
			table-layout: fixed;
		}

		& thead th {
			padding: 0.1rem 0.5rem;
			text-align: center;

			&:nth-of-type(2),
			&:nth-of-type(3) {
				background: #ddebf7;
			}

			&:nth-of-type(4) {
				background: #ffccff;
			}
		}

		& tbody td {
			padding: 0.1rem 0.5rem;

			&:nth-of-type(4) {
				background: #fbf2f7;
			}
		}

		& thead th:first-child,
		& tbody td:first-child {
			width: 64%;
		}

		& tbody td:first-child {
			text-align: left;
		}

		& thead th:not(:first-child),
		& tbody td:not(:first-child) {
			width: 12%;
			text-align: center;
			vertical-align: middle;
			white-space: nowrap;
		}

		@media (max-width: 600px) {
			& thead th:first-child,
			& tbody td:first-child {
				width: 55%;
			}

			& thead th:not(:first-child),
			& tbody td:not(:first-child) {
				width: 15%;
				padding-left: 4px;
				padding-right: 4px;
			}
		}
	}

	& .initiativeTable {
		& thead th {
			background: #fff2cc;
			text-align: center;
		}
		& tbody td {
			padding: 0.1rem 0.5rem;
		}
	}
}

/*.single #main > header .page-header,
.page #main > header .page-header {
	padding: 18rem 0 15rem;
}*/
@media only screen and (max-width: 768px) {
	.single #main > header .page-header,
	.page #main > header .page-header {
		padding: 9rem 0 4rem;
	}
}

.page-id-1084 #main header {
	background-position: bottom;
}
