@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#topHead {
position: fixed;
width: 100%;
height: 110px;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
z-index: 500;
transition: all .3s ease;
}

#topHead.fixed {
background: #fff;
height: 110px;
}

#topHead #logo {
position: absolute;
background: url("../img/logo_black.png") no-repeat;
background-size: 190px;
width: 190px;
height: 46px;
transition: all .3s ease;
left: 30px;
top: 30px;
}

#topHead #logo a span {
width: 190px;
height: 46px;
font-size: 0;
display: block;
text-indent: -10000px;
}

#logoRecruit {
position: absolute;
width: 80px;
left: 240px;
top: 34px;
}

#topHead #globalNavTop ul {
position: absolute;
display: flex;
justify-content: flex-end;
top: 20px;
right: 40px;
transition: .3s;
}

#topHead #globalNavTop ul li {
position: relative;
text-align: center;
margin-left: 20px;
}

#topHead #globalNavTop ul li a {
font-size: 1.3rem;
font-weight: 700;
color: var(--txtColor);
text-decoration: none;
line-height: 1.7;
}

#topHead.fixed #globalNavTop ul li a {
color: var(--txtColor);
}

#topHead #globalNav ul {
position: absolute;
display: flex;
justify-content: flex-end;
top: 55px;
right: 40px;
transition: .3s;
}

#topHead.fixed #globalNav ul {
top: 55px;
}

#topHead #globalNav ul li {
position: relative;
text-align: center;
margin-left: 40px;
}

#topHead #globalNav ul li a {
font-size: 1.5rem;
color: var(--txtColor);
text-decoration: none;
padding-bottom: 5px;
line-height: 1;
}

#topHead .plus a span {
position: relative;
background: url("../img/icon_plus_black.svg") no-repeat right 5px;
background-size: 12px;
width: 12px;
padding-right: 17px;
}

#topHead #globalNavTop ul li::after,
#topHead #globalNav ul li::after {
position: absolute;
background-color: var(--themeColor);
content: "";
width: 100%;
height: 1px;
bottom: -2px;
left: 0;
transform: scale(0, 1);
transform-origin: center top;
transition: all 0.3s ease;
}

#topHead #globalNavTop ul li:hover::after,
#topHead #globalNav ul li:hover::after {
transform: scale(1, 1);
}

.globalSubNav {
position: absolute;
background: rgba(0,2,0,.75);
width: 270px;
margin: auto;
padding: 15px 15px 20px;
display: none !important;
left: 0;
top: 32px !important;
overflow: visible;
transition: .6s;
}

.globalSubNavEnd {
left: -189px;
}

.globalSubNav li {
position: relative;
text-align: left !important;
margin-left: 8px !important;
}

.globalSubNav li a {
position: relative !important;
font-size: 1.4rem !important;
white-space: nowrap;
color: #fff !important;
display: block;
padding-bottom: 0 !important;
transition: .3s;
line-height: 32px !important;
}

.globalSubNav a:hover {
opacity: .6;
}

.globalSubNav li a::before {
position: absolute !important;
background-color: #fff;
width: 23px;
height: 23px;
content: "";
margin: auto;
border-radius: 23px;
top: 0;
bottom: 0;
right: 0;
}

.globalSubNav li a::after {
position: absolute !important;
width: 8px;
height: 8px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 9px;
}

#topHead .globalSubNav li::after,
#topHeadCo .globalSubNav li::after {
display: none;
}

#topHead #globalNav ul li:hover .globalSubNav,
#topHeadCo #globalNav ul li:hover .globalSubNav {
display: block !important;
animation: fadeIn 0.3s ease-in 0s forwards;
}

@keyframes fadeIn {
0% {
display: none;
opacity: 0;
}

1% {
display: block;
opacity: 0;
}

100% {
display: block;
opacity: 1;
}
}

#globalNavSide {
position: fixed;
width: 150px;
z-index: 550;
top: 0;
right: 0;
}

#globalNavSide01 a {
background-color: #f0f0f0;
width: 150px;
height: 60px;
font-size: 1.5rem;
font-weight: 700;
color: var(--themeColor);
display: block;
border: 1px solid #707070;
line-height: 56px;
}

#globalNavSide01 a:hover {
background: linear-gradient(217deg,rgba(38, 137, 11, 1) 0%, rgba(28, 101, 8, 1) 100%);
color: #fff;
}

#globalNavSide02 a {
background: linear-gradient(217deg,rgba(38, 137, 11, 1) 0%, rgba(28, 101, 8, 1) 100%);
width: 150px;
height: 85px;
font-size: 1.5rem;
font-weight: 700;
color: #fff;
padding-top: 20px;
display: block;
line-height: 1.4;
}

#globalNavSide02 a:hover {
background: #f0f0f0;
color: var(--themeColor);
border-left: 1px solid #707070;
border-right: 1px solid #707070;
}

#globalNavSide02 a span,
#globalNavSide03 a span {
display: block;
}

#globalNavSide03 a {
background-color: #000200;
width: 150px;
height: 85px;
font-size: 1.5rem;
font-weight: 700;
color: #fff;
padding-top: 16px;
display: block;
line-height: 1.4;
}

#globalNavSide03 a i {
font-size: 2.4rem;
margin-bottom: 8px;
}

#globalNavSide03 a:hover {
background-color: #f0f0f0;
color: #000200;
border: 1px solid #707070;
}

.hamburgerBtn,
.hamburgerNavWrap {
display: none !important;
}

}


@media print, screen and (max-width:1199px) {

#topHead {
position: fixed;
background-color: #fff;
width: 100%;
height: 80px;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
z-index: 500;
transition: all .3s ease;
}

#topHead.fixed {
background: #fff;
}

#topHead #logo {
position: absolute;
background: url("../img/logo_black.png") no-repeat;
background-size: 100px;
width: 100px;
height: 24px;
display: block;
margin: auto;
transition: all .3s ease;
left: 0;
right: 0;
top: 20px;
}

#topHead #logo a span {
width: 100px;
height: 24px;
font-size: 0;
display: block;
text-indent: -10000px;
}

#logoRecruit {
position: absolute;
width: 50px;
margin: auto;
left: 0;
right: 0;
top: 38px;
}

#topHead #globalNavTop,
#topHead #globalNav {
display: none;
}

.hamburgerBtn {
position: fixed;
background-color: #444642;
width: 70px;
height: 80px;
color: #fff;
top: 0;
right: 0;
cursor: pointer;
z-index: 1000;
}

.hamburgerBtn span {
position: absolute;
background-color: #fff;
width: 25px;
height: 2px;
display: inline-block;
margin: auto;
border-radius: 5px;
left: 0;
right: 0;
transition: all .4s;
}

.hamburgerBtn span:nth-of-type(1) {
top: 18px;
}

.hamburgerBtn span:nth-of-type(2) {
top: 28px;
}

.hamburgerBtn span:nth-of-type(3) {
top: 38px;
}

.hamburgerBtn.active span:nth-of-type(1) {
background-color: #fff;
top: 22px;
left: 0;
transform: translateY(5px) rotate(-135deg);
}

.hamburgerBtn.active span:nth-of-type(2){
opacity: 0;
}

.hamburgerBtn.active span:nth-of-type(3){
background-color: #fff;
top: 32px;
left: 0;
transform: translateY(-5px) rotate(135deg);
}

.hamburgerBtn::after {
position: absolute;
font-size: 1rem;
font-weight: 700;
content: "MENU";
margin: auto;
left: 0;
right: 0;
bottom: 15px;
}

.hamburgerNavWrap {
position: fixed;
background-color: #343534;
width: 100%;
height: 100vh;
color: #fff;
overflow-y: auto;
z-index: -1;
opacity: 0;
padding: 100px 0 0;
top: 0;
transition: all .3s;
display: none;
}

.hamburgerNavWrap.panelactive {
opacity: 1;
z-index: 999;
display: block;
}

.hamburgerNavWrap {
display: none;
}

#hamburgerNavLogo {
position: absolute;
width: 100px;
margin: auto;
left: 0;
right: 0;
top: 30px;
}

.hamburgerNavUl {
position: relative;
width: 88%;
text-align: left;
margin: 0 auto;
padding: 20px 10px;
border-top: 1px solid #7b7b7b;
display: flex;
justify-content: flex-start;
line-height: 1.4;
}

.hamburgerNav {
min-width: 150px;
white-space: nowrap;
}

.hamburgerNav li {
margin-right: 10px;
}

.hamburgerNav li a {
position: relative;
font-family: var(--font-copperplate);
font-size: 1.4rem;
font-weight: 700;
color: #929692;
transition: .3s;
}

.hamburgerNav li a span {
font-family: var(--font-primary);
font-size: 1.3rem;
font-weight: 700;
color: #fff;
display: block;
}

.hamburgerSubNav {
margin-top: 18px;
line-height: 1.8;
}

.hamburgerSubNav a {
position: relative;
font-size: 11px;
color: #fff;
padding-right: 5px;
}

.hamburgerSubNav li::after {
position: relative;
width: 7px;
height: 7px;
content: "";
display: inline-block;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
top: -1px;
}

.hamburgerFixed {
position: relative;
background-color: #343534;
width: 100%;
font-size: 1rem;
margin-top: 20px;
padding: 0 0 30px;
line-height: 2;
}

.hamburgerBottomTopNav {
display: flex;
justify-content: space-between;
}

#hamburgerBottomTopNav01 {
background: linear-gradient(217deg,rgba(38, 137, 11, 1) 0%, rgba(28, 101, 8, 1) 100%);
width: 50%;
border-right: 1px solid var(--txtColor);
}

#hamburgerBottomTopNav02 {
background-color: var(--txtColor);
width: 50%;
}

#hamburgerBottomTopNav01 a,
#hamburgerBottomTopNav02 a {
height: 46px;
font-size: 1.2rem;
font-weight: 700;
color: #fff;
display: block;
line-height: 44px;
letter-spacing: .2em;
}

.hamburgerBottomNav {
margin-bottom: 10px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.hamburgerBottomNav li {
background-color: #e5e5e5;
width: 50%;
}

.hamburgerBottomNav li:nth-of-type(1){
border-right: 1px solid #7b7b7b;
border-bottom: 1px solid #7b7b7b;
}

.hamburgerBottomNav li:nth-of-type(2) {
border-bottom: 1px solid #7b7b7b;
}

.hamburgerBottomNav li:nth-of-type(3){
border-right: 1px solid #7b7b7b;
}

.hamburgerBottomNav li a {
height: 35px;
font-size: 1.2rem;
font-weight: 700;
color: #7b7b7b;
display: block;
line-height: 32px;
}

#globalNavSide {
position: fixed;
width: 150px;
z-index: 550;
bottom: 0;
right: 0;
}

#globalNavSide01 a {
position: absolute;
background-color: #f0f0f0;
width: 30px;
height: 109px;
font-size: 1.1rem;
font-weight: 700;
writing-mode: vertical-rl;
color: var(--themeColor);
display: block;
border-radius: 10px 0 0 10px;
line-height: 27px;
right: 0;
bottom: 380px;
}

#globalNavSide02 a {
position: absolute;
background: linear-gradient(217deg,rgba(38, 137, 11, 1) 0%, rgba(28, 101, 8, 1) 100%);
width: 30px;
height: 165px;
font-size: 1.1rem;
font-weight: 700;
writing-mode: vertical-rl;
color: #fff;
display: block;
border-radius: 10px 0 0 10px;
line-height: 27px;
right: 0;
bottom: 200px;
}

#globalNavSide03 a {
position: absolute;
background-color: #000200;
width: 30px;
height: 165px;
font-size: 1.1rem;
font-weight: 700;
writing-mode: vertical-rl;
color: #fff;
display: block;
border-radius: 10px 0 0 10px;
line-height: 27px;
right: 0;
bottom: 20px;
}

#globalNavSide03 a i {
font-size: 1.4rem;
margin-bottom: 8px;
}

}