/*
Theme Name: helild
Template: hello-elementor
Tags: child-sakamizu
*/

/*----------------- Top Recruiting ----------------*/
.recruiting::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 30%;
	background-color: #b9acac;
    background-image: radial-gradient(#dfd3d3 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.recruiting::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 30%;
	background-color: #b9acac;
    background-image: radial-gradient(#dfd3d3 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.recruiting-box::before {
    content: '';
    display: block;
    position: absolute;
    top: 3.5em;
    right: -10%;
    width: 130%;
    height: 100%;
	background-color: #EAE9E9;
	z-index: -1;
}
.home .img-carousel .elementor-widget-wrap::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#aaa 30%, transparent 31%), radial-gradient(#aaa 30%, transparent 31%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
    opacity: 0.2;
}
/*-------------------- Service -------------------*/
.breadcrumbs {	
	font-size: 85%;
	color: #777;
}
.breadcrumbs a {
	color: #357;
}
.elementor-column.img-carousel {
	display: block;
}
.img-carousel .e-swiper-container::after, .single-carousel > .elementor-widget-wrap::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#aaa 30%, transparent 31%), radial-gradient(#aaa 30%, transparent 31%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
    opacity: 0.2;
}
.img-carousel .swiper-container {
    box-shadow: 40px 40px 40px -40px rgba(0, 0, 0, 0.24);
}
.img-carousel.even .swiper-container {
    box-shadow: -40px 40px 40px -40px rgba(0, 0, 0, 0.24);
}
.img-carousel .elementor-widget-image-carousel .swiper-container .swiper-slide figure{
    line-height: 0;
}
.mb0.elementor-widget:not(:last-child){
    margin-bottom: 0;
}
.mb5.elementor-widget:not(:last-child){
    margin-bottom: 5px;
}
.mb10.elementor-widget:not(:last-child){
    margin-bottom: 10px;
}
.page:not(.home) h3.elementor-heading-title,
.page:not(.home) h3.elementskit-info-box-title {
    position: relative;
    color: #014D;
    font-weight: bold;
    padding: 0.4em 0em 0.5em 1em;
    margin: 0;
    border-bottom: 2px solid #148a;
}
.page:not(.home) h3.elementor-heading-title::before,
.page:not(.home) h3.elementskit-info-box-title::before {
    content: '';
    position: absolute;
    top: 10%;
    left: 0;
    width: 8px;
    height: 70%;
    background: #148a;
}
.page:not(.home) .elementskit-megamenu-panel h3.elementskit-info-box-title {
    color: initial;
    padding: initial;
    margin: 1em 0 0.6em;
	border: none;
}
.page:not(.home) .elementskit-megamenu-panel h3.elementskit-info-box-title::before {
    position: relative;
    width: initial;
    height: initial;
    background: initial;
}
.page:not(.home) .red-contents h3.elementor-heading-title, 
.page:not(.home) .red-contents h3.elementskit-info-box-title {
    color: #544;
    border-bottom: 2px solid #C22a;
}
.page:not(.home) .red-contents h3.elementor-heading-title::before, 
.page:not(.home) .red-contents h3.elementskit-info-box-title::before {
    background: #C22a;
}
.division-box .ekit-wid-con .elementskit-infobox .elementskit-box-header .elementskit-info-box-icon {
    margin-bottom: 0;
}
.division-box .ekit-wid-con img:not([draggable]) {
    height: calc( 120px + 5vw);
    object-fit: cover;
}
.division-box .ekit-wid-con .elementskit-infobox{
    overflow: visible;
}
.item-list li {
	display:inline-block;
	padding: 0.2em 0.5em 0.1em;
	background: #edeadf;
	margin: 0.9% 0.9% 0.9% 0;
	font-size: 95%;
}
.lb a::after {
    content: "\f00e";
    font-family: 'Font Awesome 5 Free';
    font-size: 125%;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    position: absolute;
    right: 3%;
    bottom: 8px;
    text-shadow: 0 -1px 2px rgba(90,90,90,0.5), -1px 0 2px rgba(90,90,90,0.5), 1px 0 2px rgba(90,90,90,0.5), 0 1px 2px rgba(90,90,90,0.5), 0px 1px 3px rgba(90,90,90,0.5);
}
.works-item-box .htb-row > div:nth-child(n + 7) {
	display: none;
}
/*--------------------Rec-hero -------------------*/
.rec-hero {
	overflow: hidden;
}
.rec-hero .rec-hero-catch {
    position: absolute;
    text-shadow: 0 0 5px #6008;
}
.rec-hero .rec-hero-video {
	max-height: 102vh;
}
.rec-hero video {
	max-width: 102%;
	width: 102%;
}
.rec-hero .rec-hero-video::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#000 30%, transparent 31%), radial-gradient(#000 30%, transparent 31%);
    background-size: 4px 4px;
    background-position: 0 0, 2px 2px;
    opacity: 0.3;
}
.rec-hero .rec-hero-catch p {
	font-family: YuMincho, 'Yu Mincho';
	font-size: calc(1.2em + 1.2vw);
	color: #fff;
	text-shadow: 0 0 5px #6008;
}
.rec-news .su-posts-default-loop.topiclist-loop .su-post {
	border-bottom: none;
}
.rec-news .su-posts-default-loop.topiclist-loop .su-post-meta {
    color: #544;
}
.rec-news .cate {
	color: #fff;
    background: #D54;
}
.rec-news a {
	color: #544;
}
.rec-scroll {
	position: absolute;
	bottom: 100px;
	left: 0;
}
.rec-scroll .scroll-btn a {
	display: inline-block;
	position: absolute;
	padding: 0 0 100px;
	left: 0;
	top: 50%;
	overflow: hidden;
	color: #fff;
	font-size: 85%;
	font-family: 'Josefin Sans', sans-serif; 
	text-decoration: none;
	writing-mode: vertical-lr;
}
.rec-scroll .scroll-btn a::after {
	content: '';
	position: absolute;
	width: 1px;
	margin-top: 5px;
	height: 4vw;
	left: 50%;
	background: #fff;
	animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
/*-------------------- Recruit -------------------*/
.company::after {
	content: 'Company';
    display: block;
    position: absolute;
    bottom: 0;
    left: 4vw;
	color: #fff;
	font-size: 4.4em;
	font-weight: bold;
    opacity: 0.4;
}
.rec-works::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    height: 60%;
    background-image: radial-gradient(#000 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
	z-index: -1;
}
.interview::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 15%;
	background-color: #CFCECE;
	background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
}
.education::after {
	content: 'Education';
    display: block;
    position: absolute;
    bottom: 0;
    left: 4vw;
	color: #fff;
	font-size: 4.4em;
	font-weight: bold;
    opacity: 0.4;
}
.interview-box .elementskit-info-box-title {
	position: absolute;
	top: 0;
	left: 0;
	width: 7em;
	background: #D54D;
	padding: 0.3em 0;
}
.keyword .elementor-icon i:before {
	position: initial;
}
.item-list.red li {
	background: #D55;
	color: #fff;
}
.check-list.red {
	color: #544;
}
.check-list.red li:before {
	color: #C22;
}
.f-def.rec-list dt {
	color: #fff;
	background: #D44;
    min-width: 6.3em;
    text-align: center;
	padding: 0.3em 0;
}
.rec-list dd {
	margin: 0 0 1.5em;
}
.rec-news .su-posts-default-loop.topiclist-loop .su-post .cate {
	display: none;
}
.rec-news .su-posts-default-loop.topiclist-loop .su-post-meta {
	min-width: 6em;
	margin-bottom: 0;
}
.red-line .elementor-widget-container h2:before {
    position: absolute;
    width: 2em;
    height: 2px;
    background-color: #c22;
    content: '';
    top: 0.5em;
    left: 0em;
}
.c-red-line .elementor-widget-container h2:before {
    position: absolute;
    width: 2em;
    height: 2px;
    background-color: #c22;
    content: '';
    top: 0.5em;
    left: -1em;
}
.m-red-line {
	position: relative;
}
.m-red-line .elementor-widget-container h2:before {
    position: absolute;
    width: 1em;
    height: 2px;
    background-color: #c22;
    content: '';
    top: 0.5em;
    left: 0em;
}
.m-white-line .elementor-widget-container h2:before {
    position: absolute;
    width: 1em;
    height: 2px;
    background-color: #FFFD;
    content: '';
    top: 0.5em;
    left: 0em;
}
.rec-footer .ekit-wid-con .elementskit-infobox {
	justify-content: space-between;
}
/*------------------ Rec-Company -----------------*/
.pride::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.pride::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.next::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.next::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.numbers-box .elementor-counter-number-wrapper {
	align-items: baseline;
}
.numbers-box .elementor-counter-number-suffix,
.numbers-box .elementor-counter-number-prefix {
	font-size: 60%;
}
.numbers-box .elementor-counter-number-prefix {
	color: #544;
	margin-right: 0.2em;
}
.numbers-box .apexcharts-legend-series .apexcharts-legend-text {
	font-size: 1em !important;
}
.r-ratio-box h3 {
	border-bottom: 1px solid #C22;
}
.r-ratio-box ul {
	margin-bottom: 1em;
}
.r-ratio-box li {
    display: inline-block;
	font-size: 1.4em;
	font-weight: bold;
    margin-right: 0.5em;
}
.b-ratio-box img {
	display: inline-block;
	padding: 0 1em;
	max-height: 200px;
}
.percentage {
	color: #C11;
	font-size: 110%;
}
.percentage .unit {
	font-size: 60%;
}
.red-contents h4:before {
    font-size: 105%;
    content: "ー";
    margin: 0 0.3em;
    color: #C66;
}
.red-contents .f-def dt {
    color: #D55;
}
.project .swiper-slide .swiper-slide-image {
	transition: all .4s ease;
}
.project .swiper-slide:hover .swiper-slide-image {
    transform: scale(1.1);
}
.project .swiper-slide .swiper-slide-inner {
	overflow: hidden;
}
.project-img .ekit-wid-con img:not([draggable]) {
	max-width: 700px;
	width: 100%;
}
/*------------------ Rec-Works -----------------*/
.rewarding::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.rewarding::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30%;
    height: 20%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.w-interview a.elementor-toggle-title:before {
	display: inline-block;
	content: 'Q.';
	color: #c55;
	margin-right: 0.3em;
}
.interview-img-box::before {
    content: '';
    display: block;
    position: absolute;
    top: -5%;
    left: -5%;
    width: 90%;
    height: 60%;
	background-color: #CFCECE;
	background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
}
.interview-img-box.even:before {
	background-color: #FFF;
    opacity: 0.5;
}
.schedule-box::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 100%;
	background-color: #CFCECE;
	background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
	z-index: -1;
}
.point-list li {
	margin-bottom: 0.1em;
	text-indent: -1.7em;
	padding-left: 1.5em;
}
.point-list li:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 95%;
	font-weight: 400;
	content: "\f0a4";
	margin: 0 0.4em;
	color: #D77;
}
/*------------------ Application -----------------*/
.person-box::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30%;
    height: 20%;
	background-color: #CFCECE;
	background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
	z-index: -1;
}
.rec-table, .rec-table th, .rec-table td {
	text-align: left;
}
.rec-table th , .rec-table tbody>tr:nth-child(odd)>td, .rec-table tbody>tr:nth-child(odd)>th {
	background: none;
}
.rec-table tr:nth-child(2n) {
	background: none;
}
table.rec-table tbody tr:hover>td, table.rec-table tbody tr:hover>th,
.rec-table tbody>tr:nth-child(odd):hover>td, table tbody>tr:nth-child(odd):hover>th {
    background: none;
}
.rec-table th {
	width: 6.5em;
	color: #C55;
}
.rec-table > tbody > tr > th, .rec-table > tbody > tr > td {
	border: 0;
	border-bottom: 1px solid hsla(0,0%,50.2%,.5019607843137255);
	padding: 1em 0.5em;
}
.rec-table a.phone {
	color: #D55;
}
.flow .ekit-wid-con .elementskit-infobox{
    overflow: visible;
}
ul.disc li {
	margin-left: 1.5em;
}
table tbody>tr:nth-child(odd)>th {
    background: #ebf8f9;
}
/*------------------ Education -----------------*/
.welfare-box .elementor-container {
	flex-wrap: wrap;
}
.welfare-box .elementor-container > .elementor-column {
	width: 50%;
}
.education-box::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30%;
    height: 20%;
	background-color: #CFCECE;
	background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.2;
	z-index: -1;
}
.career::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 25%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
.career::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30%;
    height: 20%;
	background-color: #CFCECE;
    background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    background-size: 8px 8px;
    opacity: 0.3;
	z-index: -1;
}
/*-------------- under-navigation --------------*/
.under-navigation {
	margin-top: 1.5em;
	text-align: center;
}
.under-navigation .elementor-button {
	margin: 0.4em 0.5em;
	padding: 1em 3em 1em 3em;
}
.under-navigation .elementor-button:hover {
	background-color: #259;
}
.nav-links {
	font-size: 95%;
}
.nav-links .nav-previous {
	float: left;
	width: 50%;
}
.nav-links .nav-previous a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 600;
	content: '\f053';
	margin-right: 0.3em;
}
.nav-links .nav-next {
	float: right;
	width: 50%;
	text-align: right;
}
.nav-links .nav-next a::after {
	font-family: 'Font Awesome 5 Free';
	font-weight: 600;
	content: '\f054';
	margin-left: 0.3em;
}
/*-------------------- Single ------------------*/
.breadcrumb-wrap {
    max-width: 1300px;
	margin: 0 auto;
    padding: 0.2em 0.8em;
}
/*------------------- Sidebar ------------------*/
ul.sidebar {
	margin-bottom: 0;
}
/*------------------- Mega Menu ----------------*/
#ekit-megamenu-main-navi .rec-mega .ekit-wid-con .elementskit-infobox .box-body,
#ekit-megamenu-main-navi .rec-mega .elementor-col-25:nth-child(even) .ekit-wid-con .elementskit-infobox .box-body {
    background: #7116;
}
#ekit-megamenu-main-navi .corporate-info .ekit-wid-con .elementskit-infobox .box-body,
#ekit-megamenu-main-navi .corporate-info.elementor-col-25:nth-child(even) .ekit-wid-con .elementskit-infobox .box-body {
    background: #4006;
}
#ekit-megamenu-main-navi .social-info .ekit-wid-con .elementskit-infobox .box-body,
#ekit-megamenu-main-navi .social-info.elementor-col-25:nth-child(even) .ekit-wid-con .elementskit-infobox .box-body {
    background: #0146;
}
/*-------------------- Media -------------------*/
@media screen and (min-width: 600px) {
	.recruiting::before, .recruiting::after {
	    width: 30%;
	    height: 60%;
	}
	.rec-news .su-posts-default-loop.topiclist-loop .su-post {
		align-items: center;
	}
	.company::after {
    	font-size: 7em;
	}
	.interview::after {
		width: 30%;
		height: 40%;
	}
	.education::after {
    	font-size: 7em;
	}
	.welfare-box .elementor-container > .elementor-column {
		width: 33.33%;
	}
	.education-box::before {
    	width: 15%;
    	height: 40%;
	}
	.pride::before, .pride::after {
    	width: 25%;
    	height: 45%;
	}
	.next::before, .next::after {
    	width: 25%;
    	height: 45%;
	}
	.career::before, .career::after {
    	width: 25%;
    	height: 45%;
	}
	.person-box::before {
    	width: 20%;
    	height: 40%;
	}
	.rewarding::before {
    	width: 25%;
    	height: 45%;
	}
	.rewarding::after {
    	width: 25%;
    	height: 45%;
	}
}
@media print, screen and (min-width: 600px) {
	.numbers-box .elementor-container {
		flex-wrap: wrap;
	}
	.numbers-box .elementor-container > .elementor-column {
		width: 50%;
	}
	.numbers-box .elementor-container > .elementor-column.w50 {
		width: 50%;
	}
	.numbers-box .elementor-container > .elementor-column.w100 {
		width: 100%;
	}
}
@media print, screen and (min-width: 768px) {
	.numbers-box .elementor-container > .elementor-column {
		width: 33.33%;
	}
}
@media screen and (min-width: 1200px) {
	.rec-news {
		position: absolute;
		bottom: 1.5em;
		left: 50%;
		transform: translateX(-50%);
	}
	.company::after {
    	left: 5vw;
		font-size: 9em;
	}
	.education::after {
    	left: 5vw;
		font-size: 9em;
	}
	.welfare-box .elementor-container > .elementor-column {
		width: 25%;
	}
	.rec-table th {
		width: 10em;
	}
	.rec-table > tbody > tr > th, .rec-table > tbody > tr > td {
		padding: 1em;
	}
	.project-img-box::before {
    	content: '';
    	display: block;
    	position: absolute;
    	top: -100px;
    	left: -100px;
    	width: 50%;
    	height: 40%;
		background-color: #CFCECE;
		background-image: radial-gradient(#EAE9E9 20%, transparent 21%);
    	background-size: 8px 8px;
    	opacity: 0.2;
		z-index: -1;
	}
	.elementor-column.img-carousel.single-carousel {
		display: flex;
	}
}
@media screen and (min-width: 600px) and (max-width: 700px) {
	.r-ratio-box li {
		font-size: 1.3em;
	}
}
@media screen and (min-width:1200px) and (max-width:1450px) {
	.elementor-72 .elementor-element.img-carousel > .elementor-element-populated.e-swiper-container {
    	margin-left: 40px;
	}
}
@media screen and (max-width: 1450px) {
	#medical .elementor-background-overlay,
	#residence .elementor-background-overlay {
		background-image: linear-gradient(270deg, #FFFFFF 0%, #E0E8EF 0%);
	}
	#amusement .elementor-background-overlay,
	#civil .elementor-background-overlay {
		background-image: linear-gradient(90deg, #FFFFFF 0%, #E0E8EF 0%);
	}
}
@media screen and (max-width: 1199px) {
	.rec-hero-video video {
		width: 200%;
	}
}
@media screen and (max-width: 599px) {
	.elementor-8516 .company.elementor-element.elementor-element-d25c481:not(.elementor-motion-effects-element-type-background),
	.elementor-8516 .education.elementor-element.elementor-element-f726c09:not(.elementor-motion-effects-element-type-background) {
    	background-image: linear-gradient(180deg, #00000000 9%, #EAE9E9 9%);
	}
	.elementor-8516 .interview.elementor-element.elementor-element-179660d:not(.elementor-motion-effects-element-type-background) {
		background-image: linear-gradient(90deg, #00000000 0%, #ECECEC 0%);
	}
	.telephone.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper {
		align-items: end;
	}
	.interview-img-box .ekit-wid-con img:not([draggable]) {
		max-width: 320px;
		width: 80%;
	}
	.schedule-box .twae-wrapper .twae-content {
    	padding: 1em 0.8em 0;
	}
	.schedule-box .twae-wrapper .twae-label-big {
    	font-size: 1.2em;
	}
	.schedule-box .twae-vertical.twae-wrapper .twae-story {
    	margin-bottom: 2.5em;
	}
	.elementor-11236 .schedule-box .elementor-element.elementor-element-fa5d22f .twae-title {
		font-size: 1.2em;
	}
	.elementor-column.img-carousel.single-carousel {
		display: flex;
	}
}