@font-face {
	font-family: 'Abuget';
	font-style: normal;
	font-weight: normal;
	src: local('Abuget Regular'), url('../fonts/Abuget/Abuget.woff') format('woff');
}
@font-face {
	font-family: 'Quickpen';
	src: local('Quickpen'), url('../fonts/Quickpen/Quickpen.woff') format('woff');
}


/* ==========================================================================
   Base
========================================================================== */
html {
  font-size: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

#container {
  opacity: 0;
  transition: 1s;
  overflow-x: hidden;
  overflow-y: auto; 
}
.pace-done #container {
  opacity: 1;
}
/* ==========================================================================
   Loading
========================================================================== */
.pace {
  position: fixed;
  z-index: 9998;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #FFF;

  transition: 1s;
}
.pace-done .pace {
  opacity: 0;
  pointer-events: none;
}

/* ==========================================================================
   Header
========================================================================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	color: #fff;
	transition: transform .6s cubic-bezier(0.190, 1.000, 0.220, 1.000); }

#inner-header {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center; }

#logo {
    position: relative;
    z-index: 2;
    line-height: 1; }

#logo a,
#logo div {
    font-size: 0;
    line-height: 1.25;
    display: inline-block;
    vertical-align: middle;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain; }
#logo svg {
    fill: #FFF;
    transition: .6s cubic-bezier(0.190, 1.000, 0.220, 1.000); }

.header.transform {
	background-color: #FFF;
	color: #262c38; }

.header.fixed {
	transform: translateY(0);
	background-color: #FFF;
	color: #262c38; }
.header.fixed #logo svg {
	fill: #42a5b8; }


.nav-link {
	position: absolute;
	top: 0;
	background-color: #42a5b8;
	background-image: url(../img/icon/icon-yoshunet.svg);
	background-repeat: no-repeat;
	background-position: center center;
}
body.lang-en .nav-link {
	background-image: url(../img/icon/icon-yoshunet_en.svg);
}
body.lang-cn .nav-link {
	background-image: url(../img/icon/icon-yoshunet_cn.svg);
}
.nav-link a {
	display: block;
	height: 100%;
}

.nav-link.on::before {
	content: '';
    display: block;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 9px 7px;
	border-color: transparent transparent #FFF transparent;
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 3;
}

#login_form {
	position: absolute;
	top: 100%;
	background-color: #FFF;
	color: #262c38;
	border: 2px solid #42a5b8;
	padding: 35px 35px 30px;
	display: none;
}
#login_form .row {
	margin-top: 5px;
	margin-bottom: 5px;
}
#login_form .btn {
	background-color: #262c38;
    color: #FFF;
    border: 1px solid #262c38;
    outline: none;
    margin: 10px 0 5px;
}
#login_form .btn::before {
    display: none;
}
#login_form .btn:hover {
	background-color: #FFF;
    color: #262c38;
    border: 1px solid #262c38;
}
#login_form .close {
	display: inline-block;
	text-align: center;
	font-size: 20px;
	line-height: 30px;
	width: 30px;
	position: absolute;
	top: 5px;
	right: 5px;
}


#login_form .login_form__inner {
    opacity: 0;
    transition: all .4s cubic-bezier(0.190, 1.000, 0.220, 1.000); }
.nav-link.on + #login_form .login_form__inner {
    opacity: 1;
}

/* ==========================================================================
   Navigation
========================================================================== */
.gNav__inner {
    width: 100%;
}

.navBar {
    margin: 0 auto;
    width: 100%;
}
.navBar .nav {
    display: flex;
}
.nav a {
    letter-spacing: .1em;
    font-weight: 600;
}

.footer-links .nav {
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer-links .nav > li > a {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.nav .blank a,
.nav .facebook a {
    padding-right: 30px !important;
}

.nav .blank a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f24d";
    font-weight: 400;
    position: absolute;
    right: 0;
}
.nav .facebook a::after {
    font-family: "Font Awesome 5 Brands";
    content: "\f082";
    font-size: 14px;
    position: absolute;
    right: 0;
}
.nav .youtube a::after {
    font-family: "Font Awesome 5 Brands";
    content: "\f167";
    font-size: 14px;
    position: absolute;
    right: 0;
}
.nav .twitter a::after {
    font-family: "Font Awesome 5 Brands";
    content: "\f099";
    font-size: 14px;
    position: absolute;
    right: 0;
}
.nav .instagram a::after {
    font-family: "Font Awesome 5 Brands";
    content: "\f16d";
    font-size: 14px;
    position: absolute;
    right: 0;
}

.gNav .nav li.pll-parent-menu-item > a {
    padding-right: 30px;
    padding-left: 30px;
    font-size: .8em;
    line-height: 1.5rem;
    background: url(../img/icon/icon-grobal-w.svg) no-repeat left center / 16px; }
.header.fixed .gNav .nav li.pll-parent-menu-item > a {
	background-image: url(../img/icon/icon-grobal.svg); }

.gNav .nav li.pll-parent-menu-item > a::after {
	content: '';
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 3px 0 3px;
	border-color: currentColor transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%); }


.footer-links .nav li.pll-parent-menu-item {
    display: none; }
.footer-links .nav .sub-menu a {
    font-weight: 500;
}

/* ==========================================================================
   Side
========================================================================== */
.side__header {
	background-color: #262c38;
	color: #FFF; }
.side__header .ttl {
	font-size: 1rem;
	padding: 1.25rem 30px; }

.sidebar ul.category-list li {
	background-color: #FFF;
	margin-top: 1px; }
.sidebar ul.category-list li a {
	display: flex;
	align-items: center; }
.sidebar ul.category-list li a .cat-img {
	width: 90px;
	height: 70px;
	margin-right: 15px;
	clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); 
	-webkit-clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); }
.sidebar ul.category-list li a .ttl__en {
	color: #379eaf;
	font-size: .8em; }

/* ==========================================================================
   Banner Template
========================================================================== */
.bannerlist #banner-recruit .cover {
  background-image: url(../img/banner/recruit.jpg);
}
.bannerlist #banner-strength .cover {
  background-image: url(../img/banner/strength.jpg);
}

/* ==========================================================================
   Company Footer Navigation
========================================================================== */
#company__nav {
	background-color: #FFF;
	border-bottom: 1px solid currentColor; }
#company__nav .row > div {
	padding-right: 30px;
    padding-left: 30px; }
#company__nav .btn {
	width: 100%;
	padding: 0; }
#company__nav .btn::before {
	z-index: 1;
	background-color: transparent;
	border: 1px solid currentColor; }
#company__nav .btn::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: .5em;
    height: .5em;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg) translate(-50%,-50%); }
#company__nav .btn .imgBox {
	position: absolute;
	top: 1px;
	left: 1px;
	bottom: 1px;
	z-index: -1;
	width: 35%;
	transform: skewX(-12.5deg);
	overflow: hidden; }
#company__nav .btn .imgBox::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -12.5%;
	left: -12.5%;
	bottom: 0;
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform: skewX(12.5deg); }
#company__nav .btn .imgBox::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -12.5%;
	left: -12.5%;
	bottom: 0;
	z-index: 2;
	background-image: url(../img/company-nav/overlay_dot.png);
	background-repeat: repeat;
    background-position: top left;
    background-size: 3px;
    transform: skewX(12.5deg);
    opacity: .4; }
#company__nav .btn .txtBox {
    padding-left: 25%; }
#company__nav .btn span {
    font-weight: 600; }
#company__nav .btn em {
    display: block;
    font-style: normal;
    color: #42a5b8;
    font-size: .75rem;
    font-weight: 500;
    margin-top: 4px; }

#company__nav .about .btn .imgBox::before {
	background-image: url(../img/company-nav/about.jpg); }
#company__nav .history .btn .imgBox::before {
	background-image: url(../img/company-nav/history.jpg); }
#company__nav .benefit .btn .imgBox::before {
	background-image: url(../img/company-nav/benefit.jpg); }
#company__nav .csr .btn .imgBox::before {
	background-image: url(../img/company-nav/csr.jpg); }

/* ==========================================================================
   Recruit Footer Navigation
========================================================================== */
.bannerlist #banner-newgraduate .cover {
  background-image: url(../img/recruit-nav/newgraduate.jpg);
}
.bannerlist #banner-career .cover {
  background-image: url(../img/recruit-nav/career.jpg);
}

#recruit__nav {
	background-color: #FFF;
	padding-top: 0;
	border-bottom: 1px solid currentColor; }

#recruit__contact .btn {
	width: 100%;
	height: 10rem;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center; }
#recruit__contact .btn::before {
	background-color: #9fb7bf; }
#recruit__contact .btn::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: .5em;
    height: .5em;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg) translate(-50%,-50%); }
#recruit__contact .btn .txtBox {
    margin-left: 15%; }
#recruit__contact .btn span {
  display: block; }
#recruit__contact .btn em {
    display: block;
    font-style: normal;
    margin-top: 4px;
    color: #ededed; }
#recruit__contact .btn i {
	display: block;
	width: 4rem;
	height: 4rem;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%); }
#recruit__contact .btn .icon-faq {
	background-image: url(../img/icon/icon-faq.svg); } 
#recruit__contact .btn .icon-contact {
	background-image: url(../img/icon/icon-contact.svg); } 

@media only screen and (min-width: 376px) {
  #recruit__contact .btn span {
    display: inline-block; }
  #recruit__contact .btn span:not(:last-of-type)::after {
    content: '・'; }
}

/* ==========================================================================
   Footer
========================================================================== */
.footer {
	clear: both;
	overflow: hidden;
	background-color: #262c38;
	color: #FFF; }

.footer .logo a {
	display: block; }
.footer .logo svg {
	width: 106px;
	fill: #42a5b8; }

.footer-links .nav .yoshunet { display: none; }

.footer .copyright {
	border-top: 1px solid rgba(255,255,255,0.1);
	margin-top: 15px;
	position: relative; }

.footer .copyright p {
	font-size: 10px; }

.footer .page-top {
	width: 50px;
	height: 50px;
	border: 1px solid #b4b4b4;
	background-color: #FFF;
	border-radius: 50%;
	cursor: pointer;
	position: absolute;
	top: 0;
	transform: translateY(-50%); }

.footer .page-top::after {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 1px solid #262c38;
	border-left: 1px solid #262c38;
	cursor: pointer;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: rotate(45deg) translate(-65%, 0);  }

#yoshunet p.yonettitle {
    font-weight: 600;
    padding-bottom: 15px;
    margin-bottom: 15px;
    margin-top: 40px;
    border-bottom: 1px solid #ecf1ed;
    font-size: 1.2rem;
}
