@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*-----------------------------------

	base

-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
    font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
    font-size: 1.6em;
	color: #1C1C1C;
    line-height: 2;
	letter-spacing: 0;
	font-weight: 500;
	background: #ffffff;
	margin:0 !important;
	width: 100%;
	overflow: hidden;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.contents_inner {
	max-width: 1480px;
    width: 90%;
	margin: 0 auto;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
	display: block;
	color: #1C1C1C;
	text-decoration:none;
    cursor: pointer;
	transition: all 0.3s;
}
a:hover {
	opacity: 0.6;
	text-decoration:none;
}
a img {
	transition: all 0.3s;
}
a:hover img {
	opacity: 0.6;
}
/* device */
.tab{
	display: none;
}
.sp{
	display:none;
}
.pc{
	display:block;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],
input[type="reset"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration {
    display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
    outline-offset: -2px;
}
@media screen and (max-width: 840px) {
/* device */
	.pc{
		display:none;
	}	
	.sp{
		display:none;
	}
	.tab{
		display:block;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 14px;
		font-size: 1.4em;
	}
/* device */
	.pc{
        display:none;
    }
	.tab{
        display:none;
	}
    .sp{
        display:block;
    }
}
/*-----------------------------------

	clearfix

-----------------------------------*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/*-----------------------------------

	header

-----------------------------------*/
header {
	width: 100%;
	height: 110px;
	background: #FFF;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 100;
}
header #logo {
	line-height: 0;
	width: 160px;
}
header #hRight {

}
header #hRight .top_box {
	display: flex;
	align-items: center;
	column-gap: 15px;
	margin-bottom: 10px;
}
header #hRight .btm_box {
	display: flex;
	align-items: center;
	justify-content: end;
}
header #hRight .btm_box a {
	width: fit-content;
    padding: 0 10px;
    border-right: 1px solid #1C1C1C;
}
header #hRight .recruit_btn {
	width: 150px;
	padding: 10px 0;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
    background: #1C1C1C;
	border-radius: 5px;
}
header #hRight .recruit_btn:hover {
	background: #2d2d2d;
	opacity: 1;
}
header #hRight .recruit_btn img {
	vertical-align: -13%;
	margin-right: 8px;
}
header #hRight .privacy {
	font-size: 12px;
	line-height: 25px;
	color: #2EA7E0;
	padding-left: 30px;
	background: url(../img/common/icon_privacy.svg) no-repeat left center/23px;
}
header #hRight .tel {
	font-size: 31px;
	font-weight: 700;
	line-height: 1;
	color: #2EA7E0;
	padding-left: 30px;
	background: url(../img/common/icon_tel.svg) no-repeat left center/25px;
}
@media screen and (max-width: 840px) {
	header #hRight .privacy {
		font-size: 10px;
		line-height: 17px;
		padding-left: 20px;
		background: url(../img/common/icon_privacy.svg) no-repeat left center/15px;
	}
	header #hRight .tel {
		font-size: 19px;
		padding-left: 20px;
		background: url(../img/common/icon_tel.svg) no-repeat left center/16px;
	}
	header #hRight .btm_box a {
		font-size: 12px;
	}
}
@media screen and (max-width: 640px) {
	header {
		height: 120px;
		padding: 0 10px;
		column-gap: 10px;
	}
	header::after {
		height: 15px;
	}
	header #logo {
		width: 130px;
	}
	header #hRight .top_box {
		align-items: end;
		flex-direction: column-reverse;
		gap: 5px 0;
		white-space: nowrap;
	}
	header #hRight .btm_box {
		flex-wrap: wrap;
		gap: 5px 0;
	}
}
@media (min-width: 641px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
/*-----------------------------------

	gNav

-----------------------------------*/
.gNav {
    /* max-width: 1480px; */
	max-width: 1300px;
    width: 90%;
    height: 70px;
	/* background: #7f7f7f; */
	/* background: #2EA7E0; */
	/* background: #EC7B1C; */
	background: #2e76cf;
	position: relative;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.gNav ul {
	width: calc(100% - 220px);
	height: 100%;
	display: flex;
	border-left: 2px solid #FFF;
}
.gNav ul li {
	width: 25%;
	border-right: 2px solid #FFF;
}
.gNav .orange {
	background: #F2942C;
}
.gNav .tealblue {
	background: #3193A2;
}
.gNav .green {
	background: #45B035;
}
.gNav .yellow {
	background: #B4C519;
}
.gNav .blue {
	background: #00578F;
}
.gNav .blue {
	background: #00578F;
}
.gNav .brown {
	background: #e15500;
}
.gNav ul li:hover {
	background: #333;
	transition: ease 0.2s;
}
.gNav ul li a:hover img,
.gNav ul li a:hover,
.gNav ul li a img:hover {
	opacity: 1 !important;
	transition: ease 0.2s;
}
.gNav ul li a {
	display: block;
	color: #FFF;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.18;
	text-align: center;
	width: 100%;
	height: 100%;
	padding-top: 10px;
	transition: ease 0.2s;
}
.gNav ul li a img {
	display: block;
	width: 35px;
	margin: 0 auto 5px;
}
.gNav ul li a .recruit_icon {
	width: 32px;
}
.gNav ul li a .works_icon {
	width: 37px;
}
/*
.gNav ul li:nth-child(1) a::before {
	width: 68px;
	height: 51px;
	background: url(../img/common/icon_nav01.svg) no-repeat center/contain;
}
.gNav ul li:nth-child(2) a::before {
	width: 47px;
	height: 61px;
	background: url(../img/common/icon_nav02.svg) no-repeat center/contain;
}
.gNav ul li:nth-child(3) a::before {
	width: 67px;
	height: 45px;
	background: url(../img/common/icon_nav03.svg) no-repeat center/contain;
}
.gNav ul li:nth-child(4) a::before {
	width: 87px;
	height: 56px;
	background: url(../img/common/icon_nav04.svg) no-repeat center/contain;
}
*/
.gNav .pagetop {
    width: 60px;
    height: 60px;
	background: url(../img/common/icon_totop.svg) no-repeat center/contain;
	position: absolute;
    top: calc(50% - 30px);
	left: calc(50% + 760px);
	filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.3));
	left: auto;
	right: 25px;
}
.lower_nav .gNav .pagetop {
	/* position: fixed;
	top: auto;
	bottom: 30px; */
}
@media screen and (max-width: 1700px) {
	.gNav .pagetop {
		left: auto;
        right: 25px;
	}
}
@media screen and (max-width: 1100px) {
	.gNav {
		width: 100%;
		height: 90px;
	}
	.gNav ul {
		width: calc(100% - 140px);
	}
	.gNav ul li a {
		font-size: 14px;
		gap: 5px;
	}
	.gNav ul li:nth-child(1) a::before {
		width: 51px;
		height: 38px;
	}
	.gNav ul li:nth-child(2) a::before {
		width: 35px;
		height: 45px;
	}
	.gNav ul li:nth-child(3) a::before {
		width: 50px;
		height: 33px;
	}
	.gNav ul li:nth-child(4) a::before {
		width: 65px;
		height: 41px;
	}
	.gNav .pagetop {
		width: 44px;
		height: 44px;
		top: calc(50% - 22px);
		right: 13px;
	}
	.lower_nav .gNav .pagetop {
		width: 44px;
		height: 44px;
	}
}
@media screen and (max-width: 640px) {
	.gNav {
		height: auto;
	}
	.gNav ul {
		/* width: calc(100% - 70px); */
		width: calc(100%);
		border-left: none;
		flex-wrap: wrap;
		margin-left: inherit;
	}
	.gNav ul li {
		width: calc(100% / 5);
		position: relative;
	}
	.gNav ul li:nth-child(2n) {
		/* border-right: none; */
	}
	/* .gNav ul li:nth-child(n+3) {
		border-top: 2px solid #FFF;
	} */
	.gNav ul li:last-child {
		border-right: none;
	}
	.gNav ul li a {
		display: block;
		/* padding: 20px 0 20px 5vw; */
		padding: 10px 0 10px 0;
        text-align: center;
		font-size: 11px;
	}
	.gNav ul li a img {
		/* display: inline-block;
		width: 35px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 15px;
		margin: auto 0; */
		display: block;
		width: 45px;
		margin: 0 auto 5px;
	}
	.gNav .pagetop {
		top: -59px!important;
		left: 13px;
	}
	.lower_nav .gNav .pagetop {
		position: absolute;
	}
	header #hRight .recruit_btn {
		display: none;
	}
	.works_menu {
	position: fixed;
	bottom: 72.97px;
	width: 150px;
    right: 0;
    /* background: #45B035; */
    /* background: #2EA7E0; */
	/* background: #7f7f7f; */
	background: #EC7B1C;
    overflow: hidden;
    height: 0;
    transition: height 0.3s ease-in-out;
	}
	.gNav ul li .menu_list {
		display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: flex-end;
    /* border-right: 2px solid #FFF; */
	}
	.gNav ul li .menu_list div {
		width: 100%;
		/* border-right: 2px solid #FFF; */
	}
	.gNav ul li .menu_list div a {
		/* background: #45B035; */
        color: #fff;
        padding: 10px 0 10px 0;
	}
	.gNav ul li .menu_list div:not(:last-child) a {
		border-bottom: 1px solid #fff;
	}
}
/*-----------------------------------

	footer

-----------------------------------*/
footer {
	background: #2EA7E0;
	padding: 50px 0 150px;
	color: #FFF;
}
footer a {
	color: #FFF !important;
}
footer .contents_inner {
	display: flex;
	justify-content: space-between;
}
footer .details {
	display: flex;
	align-items: center;
	column-gap: 35px;
}
footer .details .logo {
	width: 143px;
}
footer .details .textWrap {
	line-height: 1.33;
}
footer .details .textWrap div:nth-child(1) {
	font-size: 18px;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}
footer .nav {
	display: flex;
	column-gap: 75px;
}
footer .nav nav {
	display: flex;
	column-gap: 35px;
	line-height: 1.75;
}
footer .nav nav ul .parent_page {
	padding-left: 0;
}
footer .nav nav ul li {
	padding-left: 20px;
}
footer .nav nav ul li a {
	padding-left: 20px;
	margin-left: -20px;
	background: url(../img/common/icon_footer_arrow.svg) no-repeat left 8px/14px;
}
footer .nav .nav_other ul {
	display: flex;
	column-gap: 10px;
	margin-bottom: 50px;
}
footer .nav .nav_other ul li a {
	width: 56px;
	height: 56px;
	background: #FFF;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none
}
/* footer .nav .nav_other ul li a:hover,
footer .nav .nav_other ul li a:hover img {
	opacity: 1;
} */
footer .nav .nav_other ul li:nth-child(1) a img {
	width: 32px;
}
footer .nav .nav_other ul li:nth-child(2) a img {
	width: 33px;
}
footer .nav .nav_other ul li:nth-child(3) a img {
	width: 37px;
}
footer .nav .nav_other ul li:nth-child(4) a img {
	width: 34px;
}
footer .nav .nav_other small {
	font-size: 14px;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 1700px) {
	footer {
		font-size: 0.94vw;
	}
	footer .details {
		column-gap: 2vw;
	}
	footer .details .logo {
		width: 8.41vw;
	}
	footer .details .textWrap div:nth-child(1) {
		font-size: 1.06vw;
	}
	footer .nav {
		column-gap: 4.5vw;
	}
	footer .nav nav {
		column-gap: 2vw;
	}
	footer .nav nav ul li {
		padding-left: 1.18vw;
	}
	footer .nav nav ul li a {
		padding-left: 1.18vw;
		margin-left: -1.18vw;
		background: url(../img/common/icon_footer_arrow.svg) no-repeat left 0.5vw/0.82vw;
	}
	footer .nav .nav_other ul {
		column-gap: 0.5vw;
	}
	footer .nav .nav_other ul li a {
		width: 3.3vw;
		height: 3.3vw;
	}
	footer .nav .nav_other ul li:nth-child(1) a img {
		width: 1.88vw;
	}
	footer .nav .nav_other ul li:nth-child(2) a img {
		width: 1.94vw;
	}
	footer .nav .nav_other ul li:nth-child(3) a img {
		width: 2.18vw;
	}
	footer .nav .nav_other ul li:nth-child(4) a img {
		width: 2vw;
	}
	footer .nav .nav_other small {
		letter-spacing: 0;
		font-size: 0.82vw;
	}
}
@media screen and (max-width: 1100px) {
	footer {
		padding: 50px 0 100px;
	}
}
@media screen and (max-width: 840px) {
	footer {
		font-size: 16px;
	}
	footer .contents_inner {
		flex-direction: column;
		align-items: center;
		row-gap: 50px;
	}
	footer .details {
		column-gap: 25px;
	}
	footer .details .logo {
		width: 130px;
	}
	footer .details .textWrap div:nth-child(1) {
		font-size: 18px;
	}
	footer .nav {
		flex-direction: column;
		align-items: center;
		gap: 70px 0;
	}
	footer .nav nav {
		column-gap: 35px;
	}
	footer .nav nav ul li {
		padding-left: 20px;
	}
	footer .nav nav ul li a {
		padding-left: 20px;
		margin-left: -20px;
		background: url(../img/common/icon_footer_arrow.svg) no-repeat left 8px/14px;
	}
	footer .nav .nav_other ul {
		column-gap: 10px;
		margin-bottom: 30px;
	}
	footer .nav .nav_other ul li a {
		width: 56px;
		height: 56px;
	}
	footer .nav .nav_other ul li:nth-child(1) a img {
		width: 32px;
	}
	footer .nav .nav_other ul li:nth-child(2) a img {
		width: 33px;
	}
	footer .nav .nav_other ul li:nth-child(3) a img {
		width: 37px;
	}
	footer .nav .nav_other ul li:nth-child(4) a img {
		width: 34px;
	}
	footer .nav .nav_other small {
		font-size: 14px;
	}
}
@media screen and (max-width: 640px) {
	footer {
		padding: 35px 0 45px;
		font-size: 13px;
	}
    footer .contents_inner {
		row-gap: 30px;
    }
	footer .details {
		flex-direction: column;
		gap: 15px 0;
	}
	footer .details .logo {
		width: 86px;
	}
	footer .details .textWrap {
		text-align: center;
	}
	footer .details .textWrap div:nth-child(1) {
		font-size: 14px;
		margin-bottom: 10px;
	}
    footer .nav {
		gap: 30px 0;
    }
	footer .nav nav {
		width: 100%;
		margin: 0 auto;
		flex-wrap: wrap;
		gap: 15px 12%;
		font-size: 15px;
	}
	footer .nav .nav_other small {
		display: block;
		font-size: 12px;
		text-align: center;
	}

}
