@charset "utf-8";


/*　　Home / メインイメージ
-------------------------------------------------------*/
.main-img {
	position: relative;
	height: 100vh;
}
.slider-box {
	position: relative;
	width: 100%;
	height: 100%;
}
.zoomslider {
	width: 62%;
	height: 100%;
	margin-left: auto;
}
.main-txt01 {
	position: absolute;
	top: 38%;
	left: 5.85%;
	z-index: 200;
}
.main-txt01 h1 {
	font-size: 3vw;
	line-height: 1.4;
	font-weight: 600;
}
.main-txt01 h1 span {
	font-size: 4vw;
	color: #009944;
}
.main-design {
	position: absolute;
	top: 0;
	bottom: -2px;
	left: 0;
	right: 0;
	width: 100%;
	background-image: url("/wp-data/common/main_design.webp");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% auto;
	z-index: 200;
}
.main-scroll {
	position: absolute;
	left: 18%;
	bottom: 50px;
	width: 22px;
	height: 87px;
	background-image: url("/wp-data/common/main_scroll.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 200;
}



@keyframes main-anime__kf {
0% {
	opacity: 0;
	transform: translateX(80px);
}
100% {
	opacity: 1;
	transform: translateX(0);
}
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.main-img {
	height: 55vh;
}
}

@media screen and (min-width: 768px) and (max-width: 1270px) and (max-height: 1000px) {
.main-img {
	height: 100vh;
}
}

@media screen and (max-width: 767px){
.main-img {
	height: 55vh;
}
.slider-box {
	position: relative;
	width: 100%;
	height: calc(100% - 95px);
	
}
.zoomslider {
	width: 100%;
	height: 100%;
}
.main-txt01 {
	position: relative;
	top: 0;
	left: 5%;
	padding: 15px 0 0;
	
}
.main-txt01 h1 {
	font-size: 2.4rem;
}
.main-txt01 h1 span {
	font-size: 3.4rem;
}
.main-scroll {
	left: auto;
	right: 5%;
	bottom: 5px;
	background-position: left bottom;
	background-size: 16px auto;
}
}


/*　　ページタイトルイメージ / パンクズ / ページナビ
-------------------------------------------------------*/
.page-header {
	position: relative;
	height: 30vw;
}
.page-header-service {
	padding: 144px 0 60px;
}
.page-header-service-logo {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
.page-header-service-logo img {
	width: 600px;
}
.page-header-img {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: inset 12px 0 24px rgba(0,0,0,0.1);
}
.page-header-box-tit {
	position: relative;
	width: 50%;
	height: 30vw;
}
.page-header-tit {
	position: absolute;
	top: calc(50% + 30px);
	left: 50%;
	margin: 0 auto;
	width: 30vw;
	min-width: 500px;
	transform: translateY(-50%) translateX(-50%);
}
.page-header-tit .txt-jp {
	display: block;
	padding-bottom: 20px;
	font-size: max(1.7vw,3rem);
	font-weight: 600;
	line-height: 1.4;
	color: #282828;
	border-bottom: 1px solid #ccc;
}
.page-header-tit .txt-en {
	display: block;
	margin: 20px auto 0;
	font-size: 1.8rem;
	font-family: gill-sans-nova, sans-serif;
	font-weight: 700;
	color: #999;
	line-height: 1.4;
}
.page-header-no-img {
	padding-top: 84px;
}
.page-header-no-img .box-bg {
	background-color: #f7f7f7;
}
.page-header-no-img .inner {
	max-width: 1200px;
	margin: auto;
}
.page-header-no-img .box-tit {
	width: 50vw;
	min-width: 500px;
	padding: 50px 0;
}
.page-header-no-img .box-tit .txt-jp {
	display: block;
	padding-bottom: 20px;
	font-size: max(1.7vw,3rem);
	font-weight: 600;
	line-height: 1.4;
	color: #282828;
	border-bottom: 1px solid #ccc;
}
.page-header-no-img .box-tit .txt-en {
	display: block;
	margin: 20px auto 0;
	font-size: 1.8rem;
	font-family: gill-sans-nova, sans-serif;
	font-weight: 700;
	color: #999;
	line-height: 1.4;
}
.pankuzu {
	margin-top: 10px;
	font-size: 1.2rem;
}
.news-detail-header .pankuzu {
	margin-top: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}
.page-nav {
	margin-top: 20px;
}
.page-nav li {
	margin-top: 30px;
}
.page-nav li a {
	position: relative;
	display: block;
	padding: 0 30px 10px 0;
	color: #282828;
	font-size: 1.8rem;
	line-height: 1.4;
	border-bottom: 1px solid #ccc;
}
.page-nav li a:hover {
	color: #04b954;
	border-bottom: 1px solid #04b954;
}
.page-nav li.link-scroll a::after {
	position: absolute;
	bottom: 12px;
	right: 0;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #ccc;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 7px auto;
	transform: rotate(90deg);
}
.page-nav li.link-scroll a:hover::after {
	background-color: #04b954;
}
.page-nav li.link-download a::after {
	position: absolute;
	bottom: 12px;
	right: 0;
	content: "";
	width: 20px;
	height: 20px;
	background-image: url("/wp-data/common/icon_download_off.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px auto;
}
.page-nav li.link-download a:hover::after {
	background-image: url("/wp-data/common/icon_download_on.png");
}
.page-nav li.link-page a {
	position: relative;
}
.page-nav li.link-page a i {
	position: absolute;
	bottom: 13px;
	right: 0;
	color: #ccc;
	font-size: 1.8rem;
}
.page-nav li.link-page a:hover i {
	color: #04b954;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.page-header {
	position: relative;
	height: auto;
}
.page-header-service {
	padding: 110px 0 50px;
}
.page-header-service-logo img {
	width: 60%;
}
.page-header-box-tit {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 110px;
}
.page-header-tit {
	position: relative;
	top: 0;
	left: 0;
	width: 90%;
	margin: 0 auto;
	min-width: initial;
	transform: none;
}
.page-header-tit .txt-jp {
	padding-bottom: 15px;
	font-size: 2.6rem;
}
.page-header-tit .txt-en {
	margin: 15px auto 0;
	font-size: 1.6rem;
}
.page-header-img {
	position: relative;
	width: 100%;
	height: 50vw;
	margin-top: 50px;
	box-shadow: none;
}
.page-header-no-img {
	padding-top: 60px;
}
.page-header-no-img .box-tit {
	min-width: initial;
	width: 90%;
	padding: 50px 0;
	margin: 0 auto;
}
.page-header-no-img .box-tit .txt-jp {
	padding-bottom: 15px;
	font-size: 2.6rem;
}
.page-header-no-img .box-tit .txt-en {
	margin: 15px auto 0;
	font-size: 1.6rem;
}
.page-nav {
	margin-top: 10px;
}
.page-nav li a {
	padding: 0 26px 10px 0;
	font-size: 1.4rem;
}
.page-nav li.link-scroll a::after {
	width: 16px;
	height: 16px;
	background-size: 6px auto;
}
.page-nav li.link-download a::after {
	width: 16px;
	height: 16px;
	background-size: 16px auto;
}
.page-nav li.link-page a i {
	bottom: 12px;
	font-size: 1.6rem;
}
}

@media screen and (max-width: 767px){
.page-header {
	position: relative;
	height: auto;
}
.page-header-service {
	padding: 90px 0 40px;
}
.page-header-service-logo img {
	width: 70%;
}
.page-header-box-tit {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 80px;
}
.page-header-tit {
	position: relative;
	top: 0;
	left: 0;
	width: 90%;
	margin: 0 auto;
	min-width: initial;
	transform: none;
}
.page-header-tit .txt-jp {
	padding-bottom: 15px;
	font-size: 2rem;
}
.page-header-tit .txt-en {
	margin: 15px auto 0;
	font-size: 1.4rem;
}
.page-header-img {
	position: relative;
	width: 100%;
	height: 50vw;
	margin-top: 30px;
	box-shadow: none;
}
.page-header-no-img {
	padding-top: 50px;
}
.page-header-no-img .box-tit {
	width: 90%;
	min-width: initial;
	padding: 30px 0;
	margin: 0 auto;
}
.page-header-no-img .box-tit .txt-jp {
	padding-bottom: 15px;
	font-size: 2rem;
}
.page-header-no-img .box-tit .txt-en {
	margin: 15px auto 0;
	font-size: 1.4rem;
}
.page-nav {
	margin-top: 20px;
}
.page-nav li {
	margin-top: 10px;
}
.page-nav li a {
	padding: 10px 26px 10px 0;
	font-size: 1.4rem;
}
.page-nav li.link-scroll a::after {
	width: 16px;
	height: 16px;
	background-size: 6px auto;
}
.page-nav li.link-download a::after {
	width: 16px;
	height: 16px;
	background-size: 16px auto;
}
.page-nav li.link-page a i {
	bottom: 12px;
	font-size: 1.6rem;
}
}



/*　	ログイン
-------------------------------------------------------*/
.login-user-btn a {
	display: block;
	margin: 20px auto 0;
	padding: 22px;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	border-radius: 8px;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.login-user-btn a:hover {
	background-color: #04b954;
	transform: scale(1.05);
}
.login-user-btn-icon {
	margin-right: 15px;
	font-size: 3rem;
	vertical-align: middle;
}
.login-mypage-btn a {
	display: block;
	margin: 20px auto 0;
	padding: 22px;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	border-radius: 8px;
	background-color: #ea9807;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.login-mypage-btn a:hover {
	background-color: #ffb401;
	transform: scale(1.05);
}
.login-mypage-btn-icon {
	margin-right: 15px;
	font-size: 3rem;
	vertical-align: middle;
}
.login-app-icon {
	display: inline-block;
	width: 50px;
	margin-right: 15px;
	border-radius: 10px;
	border: 1px solid #ccc;
	overflow: hidden;
	vertical-align: middle;
}
.login-app-box-txt {
	position: relative;
	padding: 15px 30px;
}
.login-app-list,
.login-app-box-txt p {
	position: relative;
	z-index: 2;
}
.login-app-list li {
	padding: 15px 0;
	border-top: 1px dotted #ccc;
}
.login-app-list-x {
	position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size: 30rem;
	color: #ffeff1;
	z-index: 1;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.login-user-btn a,
.login-mypage-btn a {
	padding: 15px;
	width: 90%;
	background-size: 6px auto;
}
}

@media screen and (max-width: 767px){
.login-user-btn a,
.login-mypage-btn a {
	width: 90%;
	padding: 15px;
	background-size: 6px auto;
}

.login-app-box-txt {
	padding: 0;
}
.login-app-list-x {
	font-size: 25rem;
}
}



/*　　Home / NEWS
-------------------------------------------------------*/
.news-nav {
	padding: 10px;
	background: #f7f7f7;
}
.news-nav li {
	padding-right: 50px;
}
.news-nav li:last-child {
	padding-right: 0;
}
.news-nav li i {
	margin-right: 5px;
}
.news-nav li a {
	padding-left: 18px;
	color: #282828;
	background-image: url("/wp-data/common/arrow01_2.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 8px auto;
}
.news-nav li a.item-news:hover {
	color: #009944;
}
.news-nav li a.item-column:hover {
	color: #009944;
}
.news-nav li a.item-event:hover {
	color: #009944;
}
.icon-news {
	font-size: 2rem;
	color: #009944;
}
.icon-column {
	font-size: 2rem;
	color: #009944;
}
.icon-event {
	font-size: 2rem;
	color: #009944;
}
.icon-size-L {
	font-size: max(1.7vw,3rem);
}
.news-content li {
	margin-top: 30px;
}
.news-content li a {
	color: #282828;
}
.news-content li a:hover {
	color: #282828;
}
.news-date {
	margin-left: 15px;
	font-size: 1.4rem;
	color: #999;
}
.news-txt {
	margin-top: 10px;
}
.news-content li a:hover .news-txt {
	text-decoration: underline;
}
.news-content li a:hover img {
	opacity: 0.8;
}
.news-content .icon-cate {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	line-height: 22px;
	font-size: 1.2rem;
	text-align: center;
}
.news-box .icon-cate {
	color: #009944;
	border: 1px solid #009944;
}
.column-box .icon-cate {
	color: #009944;
	border: 1px solid #009944;
}
.event-box .icon-cate {
	color: #009944;
	border: 1px solid #009944;
}
.news-label01 {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	margin-right: 10px;
	line-height: 22px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	background: #ffb401;
}
.news-label01-02 {
	display: inline-block;
	width: 130px;
	height: 22px;
	margin-top: 10px;
	line-height: 22px;
	letter-spacing: 0.3em;
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
	background: #ffb401;
}
.news-label02 {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	margin-right: 10px;
	line-height: 22px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	background: #ff0000;
}
.news-label02-02 {
	display: inline-block;
	width: 130px;
	height: 22px;
	margin-top: 10px;
	line-height: 22px;
	letter-spacing: 0.3em;
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
	background: #ff0000;
}
.news-label03 {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	margin-right: 10px;
	line-height: 22px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	background: #999;
}
.news-label03-02 {
	display: inline-block;
	width: 130px;
	height: 22px;
	margin-top: 10px;
	line-height: 22px;
	letter-spacing: 0.3em;
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
	background: #999;
}
.news-category-list li {
	width: 21.25%;
	margin-right: 5%;
	margin-top: 60px;
}
.news-category-list li:nth-child(4n) {
	margin-right: 0;
}
.news-category-img01 {
	position: relative;
	margin-bottom: 20px;
	padding-top: 100%;
	border-radius: 8px;
	overflow: hidden;
}
.news-category-img01 img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
  object-position: center;
}
.news-detail-header {
	padding: 150px 0 0;
}
.news-detail-tit01 {
	font-size: max(1.7vw,3rem);
	line-height: 1.4;
}
.news-detail-img01 {
	position: relative;
	width: 21.25%;
	margin-right: 5%;
}
.news-detail-img01-inner {
	position: relative;
	padding-top: 100%;
	border-radius: 8px;
	overflow: hidden;
}
.news-detail-img01 img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
  object-position: center;
}
.news-detail-btn-box li {
	padding: 0 15px;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.news-nav li a {
	padding-left: 16px;
	background-size: 6px auto;
}
.icon-news {
	font-size: 1.8rem;
}
.icon-column {
	font-size: 1.8rem;
}
.icon-event {
	font-size: 1.8rem;
}
.icon-size-L {
	font-size: 2.6rem;
}
.news-category-list li {
	width: 30%;
	margin-right: 5%;
	margin-top: 50px;
}
.news-category-list li:nth-child(4n) {
	margin-right: 5%;
}
.news-category-list li:nth-child(3n) {
	margin-right: 0;
}
.news-detail-header {
	padding: 100px 0 0;
}
}

@media screen and (max-width: 767px){
.news-nav li a {
	padding-left: 16px;
	background-size: 6px auto;
}
.icon-news {
	font-size: 1.8rem;
}
.icon-column {
	font-size: 1.8rem;
}
.icon-event {
	font-size: 1.8rem;
}
.icon-size-L {
	font-size: 2rem;
}
.news-date {
	font-size: 1.2rem;
}
.news-nav li {
	padding-right: 20px;
}
.news-nav li a {
	padding-left: 15px;
}
.news-category-list li {
	width: 47.5%;
	margin-right: 5%;
	margin-top: 40px;
}
.news-category-list li:nth-child(4n),
.news-category-list li:nth-child(2n) {
	margin-right: 0;
}
.news-detail-header {
	padding: 90px 0 0;
}
.news-detail-tit01 {
	font-size: 2rem;
}
.news-detail-img01 {
	width: 80%;
	margin: 0 auto 20px;
}
.news-detail-btn-box li {
	width: 100%;
	padding: 0;
}
}



/*　　Home / トピックス / swiper基本情報
-------------------------------------------------------*/
.topics-slide {
  overflow: hidden;
}
.topics-slide .swiper {
  overflow: visible;
	max-width: 1200px;
	margin: 0 auto;
	/* pagination 表示の場合
	padding-bottom: 35px;
	*/
}
.topics-slide .slide {
  overflow: hidden;
  -webkit-transition: var(--transition), opacity 1s;
  transition: var(--transition), opacity 1s;
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
}
a.swiper-slide {
	color: #282828;
}
a.swiper-slide:hover {
	color: #282828;
	text-decoration: underline;
}
a.swiper-slide:hover img {
	opacity: 0.8;
}
.topics-slide .slide-img {
	border-radius: 8px;
	overflow: hidden;
}
.topics-slide .swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 0.3;
}
.topics-slide .slide-txt {
  padding: 10px 0 0;
	line-height: 1.6;
}
.icon-accepting {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	margin-right: 10px;
	line-height: 22px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	background: #ff0000;
}
.icon-announcement {
	display: inline-block;
	min-width: 65px;
	height: 22px;
	margin-right: 10px;
	line-height: 22px;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	background: #ffb401;
}
.swiper-button-prev,
.swiper-button-next {
  width: 50px;
	height: 50px;
	margin-top: 0;
}
.swiper-pagination {
	position: absolute;
	bottom: 0 !important;
}
.swiper-pagination-bullet {
  width: 12px;
  height: 8px;
	margin: 0 5px !important;
	border-radius: 0;
	background-color: #999;
}
.swiper-pagination-bullet-active {
  background-color: #009944;
}
.topics-slide .swiper-button-prev {
	top: 114px;
	left: calc(50% - 637px);
}
.topics-slide .swiper-button-next {
	top: 114px;
	right: calc(50% - 637px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: rgba(204,204,204,0.8);
}
.swiper-button-prev::after {
  background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
	transform: rotate(180deg);
}
.swiper-button-next::after {
  background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
	background-color: rgba(204,204,204,1);
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.topics-slide .swiper {
  padding: 0 5%;
}
.swiper-button-prev,
.swiper-button-next {
  width: 40px;
	height: 40px;
}
.topics-slide .swiper-button-prev {
	top: calc(12vw - 20px);
	left: calc(5% - 30px);
}
.topics-slide .swiper-button-next {
	top: calc(12vw - 20px);
	right: calc(5% - 30px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 40px;
	height: 40px;
}
}

@media screen and (max-width: 767px){
.topics-slide .swiper {
  padding: 0 8% 35px;
}
.swiper-button-prev,
.swiper-button-next {
  width: 30px;
	height: 30px;
}
.topics-slide .swiper-button-prev {
	top: 16vw;
	left: calc(8% - 20px);
}
.topics-slide .swiper-button-next {
	top: 16vw;
	right: calc(8% - 20px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 30px;
	height: 30px;
}
.topics-slide .slide-txt {
  font-size: 1.2rem;
}
}



/*　　Home / e-ラーニングサービス事業
-------------------------------------------------------*/
.home-eLearning {
	position: relative;
	min-height: 1019px;
	padding: 60px 0;
}
.home-eLearning-img01 {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 80%;
	background-image: url("/wp-data/top/home_eLearning_img01.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 1;
}
.home-eLearning-box01 {
	position: relative;
	width: 48.5%;
	margin: 0 auto 0 6%;
	padding: 3vw;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 10px 0 rgba(21,65,106,0.2);
	z-index: 2;
}
.home-eLearning-txt01 {
	font-size: 6rem;
}
.home-eLearning-txt02 {
	padding: 15px;
	background: #f7f7f7;
}
.home-eLearning-service li {
	margin-top: 30px;
}
.home-eLearning-service li p {
	flex: 1;
}
.home-eLearning-banner {
	width: 38.144%;
	margin-right: 3.092%;
}
.home-eLearning-gns {
	border: 1px solid #009944;
}
.home-eLearning-vnm {
	border: 1px solid #e75297;
}
.home-eLearning-tokutei {
	border: 1px solid #0075c1;
}
.home-eLearning-kaigo {
	border: 1px solid #f4a100;
}
.home-eLearning-hks {
	border: 1px solid #003f8e;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.home-eLearning {
	padding: 0;
	min-height: auto;
}
.home-eLearning-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-eLearning-box01 {
	width: 90%;
	margin: -50px 5% 0;
	padding: 50px;
}
.home-eLearning-txt01 {
	font-size: 4.6rem;
}
}

@media screen and (max-width: 767px){
.home-eLearning {
	padding: 0;
	min-height: auto;
}
.home-eLearning-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-eLearning-box01 {
	width: 90%;
	margin: -30px 5% 0;
	padding: 30px 15px;
}
.home-eLearning-txt01 {
	font-size: 3rem;
}
.home-eLearning-banner {
	width: 100%;
	margin: 0 0 10px;
}
}



/*　　Home / DX支援事業
-------------------------------------------------------*/
.home-dx {
	position: relative;
	min-height: 1019px;
	padding: 60px 0;
}
.home-dx-img01 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 80%;
	background-image: url("/wp-data/top/home_dx_img01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 1;
}
.home-dx-box01 {
	position: relative;
	width: 48.5%;
	margin: 0 6% 0 auto;
	padding: 3vw;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 10px 0 rgba(21,65,106,0.2);
	z-index: 2;
}
.home-dx-txt01 {
	font-size: 3rem;
}
.home-dx-txt02 {
	padding: 15px;
	background: #f7f7f7;
}
.home-dx-service li {
	margin-top: 30px;
}
.home-dx-service li p {
	flex: 1;
}
.home-dx-banner {
	width: 38.144%;
	margin-right: 3.092%;
}
.home-dx-medicalclip {
	border: 1px solid #0064a1;
}
.home-dx-webPartner {
	border: 1px solid #77b18e;
}


@media screen and (min-width: 768px) and (max-width: 1270px){
.home-dx {
	padding: 0;
	min-height: auto;
}
.home-dx-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-dx-box01 {
	width: 90%;
	margin: -50px 5% 0;
	padding: 50px;
}
.home-dx-txt01 {
	font-size: 4.6rem;
}
}

@media screen and (max-width: 767px){
.home-dx {
	padding: 0;
	min-height: auto;
}
.home-dx-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-dx-box01 {
	width: 90%;
	margin: -30px 5% 0;
	padding: 30px 15px;
}
.home-dx-txt01 {
	font-size: 3rem;
}
.home-dx-banner {
	width: 100%;
	margin: 0 0 10px;
}
}



/*　　Home / 研修制作・運営支援事業
-------------------------------------------------------*/
.home-support {
	position: relative;
	min-height: 1019px;
	padding: 60px 0;
}
.home-support-img01 {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 80%;
	background-image: url("/wp-data/top/home_support_img01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 1;
}
.home-support-box01 {
	position: relative;
	width: 48.5%;
	margin: 0 auto 0 6%;
	padding: 3vw;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 10px 0 rgba(21,65,106,0.2);
	z-index: 2;
}
.home-support-txt01 {
	font-size: 6rem;
}
.home-support-txt02 {
	padding: 15px;
	background: #f7f7f7;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.home-support {
	padding: 0;
	min-height: auto;
}
.home-support-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-support-box01 {
	width: 90%;
	margin: -50px 5% 0;
	padding: 50px;
}
.home-support-txt01 {
	font-size: 4.6rem;
}
}

@media screen and (max-width: 767px){
.home-support {
	padding: 0;
	min-height: auto;
}
.home-support-img01 {
	position: relative;
	bottom: auto;
	width: 100%;
	height: 55vw;
}
.home-support-box01 {
	width: 90%;
	margin: -30px 5% 0;
	padding: 30px 15px;
}
.home-support-txt01 {
	font-size: 3rem;
}
}



/*　　Home / 会社案内
-------------------------------------------------------*/
.home-company {
	background-image: url("/wp-data/common/main_design.webp");
	background-repeat: no-repeat;
	background-position: center bottom 25%;
	background-size: 100% auto;
}
.home-company-img01 {
	border: 10px solid rgba(255,255,255,0.5);
}
.home-company-txt01 {
	font-size: 6rem;
	line-height: 1;
}
.home-company-list li {
	margin-top: 10px;
}
.company-studio {
	position: relative;
	padding: 60px 0 0;
	background-color: #f7f7f7;
}
.company-studio-txt-en {
	position: absolute;
	bottom: -1vw;
	left: calc(50% + 1.5vw);
	color: #fff;
	line-height: 1;
	font-size: 6vw;
}
.company-access {
	height: 500px;
	padding: 10px;
	border: 1px solid #ccc; 
}
.company-access iframe {
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.home-company {
	background-position: center bottom 20%;
}
.home-company-img01 {
	width: 60%;
	margin: 0 auto 20px;
}
.home-company-txt01 {
	font-size: 5rem;
}
.home-company-list {
	padding: 0 12%;
}
.company-studio {
	padding: 50px 0 0;
}
}

@media screen and (max-width: 767px){
.home-company {
	background-position: center bottom 20%;
}
.home-company-img01 {
	width: 70%;
	margin: 0 auto 20px;
}
.home-company-txt01 {
	font-size: 4rem;
}
.home-company-list {
	padding: 0;
}
.company-studio {
	padding: 40px 0 0;
}
.company-studio-txt-en {
	left: auto;
	right: 15px;
	font-size: 10vw;
}
}



/*　	Home / 外部サイト
-------------------------------------------------------*/
.external-sites {
	margin-top: 40px;
}
.external-sites li {
	width: 23.75%;
	margin: 20px 1.666% 0 0;
}
.external-sites li:nth-child(4n) {
	margin: 20px 0 0 0;
}
.external-sites li a {
	display: block;
	border: 1px solid #dedede;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.external-sites {
	margin-top: 30px;
}
}

@media screen and (max-width: 767px){
.external-sites {
	margin-top: 20px;
}
.external-sites li {
	width: 48%;
	margin: 20px 4% 0 0;
}
.external-sites li:nth-child(2n),
.external-sites li:nth-child(4n) {
	margin: 20px 0 0 0;
}
}



/*　	サービスTOP
-------------------------------------------------------*/
.service-mov {
	padding: 30px 0;
	background: #f7f7f7;
}
.serviceTop-list.box-dx {
	margin-top: 20px;
}
.serviceTop-list li {
	margin-top: 30px;
	border: 1px solid #ccc;
	border-radius: 8px;
	overflow: hidden;
	transition-duration: 0.2s;
}
.serviceTop-list li.service-eLearning {
	width: 30%;
	margin-right: 5%;
}
.serviceTop-list li.service-eLearning:nth-child(3n) {
	margin-right: 0;
}
.serviceTop-list li a {
	display: block;
	position: relative
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	color: #282828;
	padding-bottom: 40px;
}
.serviceTop-list li a:hover::after {
	content: "";
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.serviceTop-list li:hover {
	transform: scale(1.05);
}
.serviceTop-list .service-logo {
	text-align: center;
}
.serviceTop-list .service-logo img {
	max-height: 114px;
}
.serviceTop-list li a:hover img {
	opacity: 0.8;
}
.serviceTop-list li a:hover::after {
	background-color: #04b954;
}
.serviceTop-list li .box-txt01 {
	margin: 0 20px;
	padding: 20px 50px 0 0;
	font-size: 1.4rem;
	border-top: 1px solid #ccc;
}
.serviceTop-achievements li {
	position: relative;
	margin-top: 30px;
	border: 1px solid #ccc;
	border-radius: 8px;
	overflow: hidden;
	transition-duration: 0.2s;
}
.serviceTop-achievements li a {
	display: block;
	position: relative;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	color: #282828;
}
.serviceTop-achievements li::before {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 36.842%;
	width: 1px;
	background-color: #ccc;
}
.serviceTop-achievements li a::after {
	content: "";
	position: absolute;
	top: calc(50% - 16px);
	right: 15px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.serviceTop-achievements li:hover {
	transform: scale(1.05);
}
.serviceTop-achievements li a:hover img {
	opacity: 0.8;
}
.serviceTop-achievements li a:hover::after {
	background-color: #04b954;
}
.serviceTop-achievements li .box-logo {
	position: relative;
	width: 36.842%;
	min-height: 114px;
}
.serviceTop-achievements li .box-txt01 {
	flex: 1;
	padding: 12px 70px 12px 30px;
}
.serviceTop-subcontracting {
	margin-top: 30px;
	padding: 30px;
	border: 1px solid #ccc;
	border-radius: 8px;
}
.serviceTop-subcontracting-img01 {
	margin-top: 30px;
	width: 49.642%;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.serviceTop-list.box-dx {
	margin-top: 20px;
}
.serviceTop-list li.service-eLearning {
	width: 47.5%;
	margin-right: 5%;
}
.serviceTop-list li.service-eLearning:nth-child(3n) {
	margin-right: 5%;
}
.serviceTop-list li.service-eLearning:nth-child(2n) {
	margin-right: 0;
}
.serviceTop-list li a::after {
	width: 28px;
	height: 28px;
	background-size: 6px auto;
}
.serviceTop-achievements li a::after {
	top: calc(50% - 14px);
	width: 28px;
	height: 28px;
	background-size: 6px auto;
}
.serviceTop-achievements li .box-txt01 {
	padding: 12px 55px 12px 30px;
}
}

@media screen and (max-width: 767px){
.serviceTop-list.box-dx {
	margin-top: 10px;
}
.serviceTop-list li.service-eLearning {
	width: 100%;
	margin-right: 0;
}
.serviceTop-list li:nth-child(3n) {
	margin-right: 0;
}
.serviceTop-list li a::after {
	width: 24px;
	height: 24px;
	background-size: 6px auto;
}
.serviceTop-achievements li a::after {
	top: calc(50% - 12px);
	width: 24px;
	height: 24px;
	background-size: 6px auto;
}
.serviceTop-achievements li .box-txt01 {
	padding: 12px 50px 12px 30px;
}
.serviceTop-subcontracting {
	padding: 15px;
}
.serviceTop-subcontracting-img01 {
	width: 100%;
}
}



/*　	サービス子ページ
-------------------------------------------------------*/
.service-news li {
	padding: 20px 0;
	border-bottom: 1px dotted #ccc;
}
.service-news .icon-cate {
	display: inline-block;
	min-width: 150px;
	height: 22px;
	line-height: 22px;
	font-size: 1.2rem;
	text-align: center;
}
.service-news .icon-cate {
	color: #009944;
	border: 1px solid #009944;
}
.service-news li a {
	display: block;
	position: relative;
	color: #282828;
	padding-right: 80px;
}
.service-news li a::after {
	content: "";
	position: absolute;
	top: calc(50% - 16px);
	right: 15px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #CCCCCC;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.service-news li a:hover p {
	text-decoration: underline;
}
.service-news li a:hover img {
	opacity: 0.8;
}
.service-news li a:hover::after {
	background-color: #04b954;
}
.service-news-img {
	width: 180px;
	margin-right: 20px;
}
.service-num-list li {
	position: relative;
	margin-top: 20px;
	border-radius: 8px;
	overflow: hidden;
	transition-duration: 0.2s;
}
.service-num-list li:hover {
	opacity: 0.8;
	transform: scale(1.05);
}
.service-num-list li a {
	color: #282828;
}
.service-num-list li a div {
	display: table;
	width: 100%;
	height: 100%;
}
.service-num-list li a div .num {
	display: table-cell;
	width: 56px;
	font-size: 3rem;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}
.service-num-list li a div .tit {
	display: table-cell;
	width: calc(100% - 56px);
	padding: 15px;
	vertical-align: middle;
}
.service-num-tit {
	position: relative;
	min-height: 66px;
	padding: 16px 15px 16px 80px;
	line-height: 1.4;
}
.service-num-tit .icon-num {
	display: block;
	position: absolute;
	top: 8px;
	left: 15px;
	width: 50px;
	height: 50px;
	line-height: 48px;
	color: #fff;
	font-size: 3rem;
	border-radius: 8px;
	text-align: center;
}
.service-btn01 {
	display: inline-block;
	min-width: 360px;
	padding: 18px;
	color: #fff;
	line-height: 1.4;
	font-weight: 600;
	text-align: center;
	border-radius: 8px;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.service-btn01.no-arrow {
	background-image: none;
}
.service-btn01:hover {
	color: #fff;
	opacity: 0.8;
	transform: scale(1.05);
}
.service-btn02 {
	display: inline-block;
	width: 460px;
	padding: 18px;
	color: #fff;
	line-height: 1.4;
	font-weight: 600;
	text-align: center;
	border-radius: 8px;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.service-btn02.no-arrow {
	background-image: none;
}
.service-btn02:hover {
	color: #fff;
	opacity: 0.8;
	transform: scale(1.05);
}
.service-btn02 .fonticon {
	margin-right: 10px;
	font-size: 3rem;
	color: #fff;
	vertical-align: middle;
}
.service-point {
	position: relative;
	padding: 75px 20px 30px;
	border: 1px solid #ff9900;
}
.service-point-tit {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	padding: 12px 30px;
	color: #fff;
	line-height: 1;
	font-size: 2.4rem;
	text-align: center;
	background: #ff9900;
}
.service-support {
}
.service-demo {
	padding: 60px 0;
}
.service-voice {
	border: 1px solid;
}
.service-voice-tit {
	padding: 15px 20px;
}
.service-title-line {
	display: inline-block;
	padding: 3px 0 3px 12px;
	line-height: 1.5;
	border-left: 4px solid;
}
.service-voice-box01 {
	padding: 20px;
}
.service-voice-img {
	width: 25.431%;
	margin-right: 20px;
}
.themes-icon {
  display: inline-block;
  min-width: 65px;
  height: 22px;
  margin-left: 10px;
  line-height: 22px;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  background: red;
}
.themes-icon-new {
	background: red;
}
.themes-icon-renewal01 {
	background: #ea9807;
}
.themes-icon-renewal02 {
	background: #999;
}


@media screen and (min-width: 768px) and (max-width: 1270px){
.service-news .icon-cate {
	min-width: 120px;
}
.service-num-list li a div .num {
	width: 46px;
	font-size: 2.4rem;
}
.service-num-list li a div .tit {
	width: calc(100% - 46px);
}
.service-num-tit {
	position: relative;
	min-height: 56px;
	padding: 16px 15px 0px 70px;
	line-height: 1.4;
}
.service-num-tit .icon-num {
	top: 8px;
	width: 40px;
	height: 40px;
	line-height: 39px;
	font-size: 2.4rem;
}
.service-point {
	padding: 65px 20px 30px;
}
.service-point-tit {
	font-size: 2rem;
}
.service-demo {
	padding: 50px 0;
}
.service-btn01 {
	background-size: 6px auto;
}
.service-btn02 {
	background-size: 6px auto;
}
.service-btn02 .fonticon {
	font-size: 2.4rem;
}
}

@media screen and (max-width: 767px){
.service-news .icon-cate {
	min-width: 80px;
}
.service-news li a {
	padding-right: 0;
}
.service-news li a::after {
	display: none;
}
.service-news-img {
	width: 100px;
	margin-right: 15px;
}
.service-num-list li a div .num {
	width: 46px;
	font-size: 2.4rem;
}
.service-num-list li a div .tit {
	width: calc(100% - 46px);
}
.service-num-tit {
	min-height: 46px;
	padding: 10px 15px 10px 51px;
}
.service-num-tit .icon-num {
	top: 5px;
	left: 5px;
	width: 36px;
	height: 36px;
	line-height: 35px;
	font-size: 2.4rem;
}
.service-point {
	padding: 55px 15px 15px;
}
.service-point-tit {
	font-size: 1.6rem;
}
.service-demo {
	padding: 40px 0;
}
.service-voice-tit {
	padding: 10px 15px;
}
.service-voice-box01 {
	padding: 15px;
}
.service-voice-img {
	width: 100%;
	margin: 0 0 20px;
}
.service-btn01 {
	min-width: 90%;
	padding: 18px;
	border-radius: 6px;
	background-size: 6px auto;
}
.service-btn02 {
	width: 90%;
	padding: 14px;
	border-radius: 6px;
	background-size: 6px auto;
}
.service-btn02 .fonticon {
	font-size: 2.4rem;
}
}



/*　	よくある質問
-------------------------------------------------------*/
.faq-search {
	position: relative;
	padding: 30px;
	background: #eaf5ed;
	overflow: hidden;
}
.faq-search-bg {
	position: absolute;
	top: -30px;
	left: calc(50% - 280px);
	font-size: 12rem;
	color: #c4dfcb;
	z-index: 1;
}
.faq-search-box-txt {
	position: relative;
	z-index: 2;
}
.faq-search-box-input {
	position: relative;
	z-index: 2;
}
.faq-search .input-keyword {
	width: 60%;
	padding: 10px;
	font-size: 1.6rem;
	border: 1px solid #ccc;
	border-radius: 8px;
}
.faq-search .btn-search {
	display: block;
	width: 120px;
	margin: 0 10px;
	padding: 10px;
	font-size: 1.6rem;
	color: #fff;
	text-align: center;
	border-radius: 8px;
	border: 0;
	background: #009944;
	cursor: pointer;
	transition-duration: 0.2s;
}
.faq-search .btn-search:hover {
	background: #04b954;
	transform: scale(1.05);
}
.faq-search .btn-reset {
	display: block;
	width: 120px;
	padding: 10px;
	font-size: 1.6rem;
	color: #666;
	text-align: center;
	border: 1px solid #ccc;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	transition-duration: 0.2s;
}
.faq-search .btn-reset:hover {
	background: #f7f7f7;
	transform: scale(1.05);
}
.faq-keyword {
	width: 83%;
	margin: 20px auto 0;
}
.faq-keyword-list li {
	margin: 10px 40px 0 0;
}
.faq-box {
	margin-top: 30px;
}
.faq-box dt {
	display: block;
	position: relative;
	padding: 15px 60px 15px 60px;
	color: #282828;
	font-weight: 700;
	border-radius: 8px;
	background: #f7f7f7;
	cursor: pointer;
}
.faq-box dt:hover {
	color: #282828;
	background: #eaf5ed;
}
.faq-box dt::before{
	content: "Q";
	position: absolute;
	top: 17px;
	left: 15px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 2rem;
	font-family: gill-sans-nova, sans-serif;
	font-weight: 500;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	background-color: #009944;
}
.faq-box dt:hover::before,
.faq-box dt.active::before{
	color: #fff;
}
.faq-box dt::after {
	content: "";
	position: absolute;
	top: 24px;
	right: 15px;
	width: 20px;
	height: 20px;
	border-radius: 25px;
	background-image: url("/wp-data/common/icon_toggle01.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px auto;
}
.faq-box dt.active {
	color: #282828;
	border-radius: 8px 8px 0 0;
	background: #eaf5ed;
}
.faq-box dt.active::after {
	background-image: url("/wp-data/common/icon_toggle02.png");
}
.faq-box dd {
	position: relative;
	display: none;
	padding: 15px 20px 15px 60px;
	border: 1px solid #eaf5ed;
	border-top: 0;
	border-radius: 0 0 8px 8px;
}
.faq-box dd::before {
	content: "A";
	position: absolute;	
	top: 17px;
	left: 15px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 2rem;
	font-family: gill-sans-nova, sans-serif;
	font-weight: 500;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	background-color: #b7b7b7;
}
.faq-category-box {
	margin-top: 30px;
	border: 1px solid #ccc;
	border-radius: 8px;
	transition-duration: 0.2s;
}
.faq-category-box:hover {
	transform: scale(1.05);
}
.faq-category-box:hover i {
	color: #04b954;
}
.faq-category-box a {
	display: block;
}
.faq-category-box:hover .faq-category-icon {
	color: #04b954;
}
.faq-category-inner {
	display: block;
	padding: 20px;
}
.faq-category-icon {
	display: block;
	width: 100%;
	text-align: center;
}
.faq-category-icon i {
	color: #009944;
	font-size: 7rem;
}
.faq-category-txt {
	display: block;
	width: 100%;
	margin: 20px 0 0;
	padding: 20px 0 0;
	color: #282828;
	border-top: 1px solid #ccc;
	text-align: center;
}


@media screen and (min-width: 768px) and (max-width: 1270px){
.faq-search-bg {
	position: absolute;
	top: -20px;
	left: calc(50% - 220px);
	font-size: 11rem;
}
.faq-keyword {
	width: 100%;
}
.faq-box dt::before{
	top: 14px;
}
.faq-box dt::after {
	top: 19px;
	right: 10px;
	background-size: 16px auto;
}
.faq-box dd::before {
	top: 14px;
}
.faq-category-icon i {
	font-size: 5rem;
}
}

@media screen and (max-width: 767px){
.faq-search {
	padding: 20px 15px;
}
.faq-search-bg {
	position: absolute;
	top: -15px;
	left: calc(50% - 170px);
	font-size: 8rem;
}
.faq-search .input-keyword {
	width: 100%;
}
.faq-search .btn-search {
	width: 120px;
	margin: 20px 10px 0;
}
.faq-search .btn-reset {
	width: 120px;
	margin: 20px 10px 0;
}
.faq-keyword {
	width: 100%;
}
.faq-keyword-list li {
	margin: 10px 0 0;
}
.faq-box {
	margin-top: 20px;
}
.faq-box dt {
	padding: 10px 45px 10px 52px;
}
.faq-box dt::before{
	top: 10px;
	left: 10px;
}
.faq-box dt::after {
	top: 14px;
	right: 10px;
	background-size: 16px auto;
}
.faq-box dd {
	padding: 15px 20px 10px 52px;
}
.faq-box dd::before {
	top: 10px;
	left: 10px;
}
.faq-category-box {
	margin-top: 20px;
}
.faq-category-inner {
	position: relative;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	padding: 15px 0;
}
.faq-category-inner::after {
	content: "";
	position: absolute;
	top: 15px;
	bottom: 15px;
	left: 28%;
	width: 1px;
	background: #ccc;
}
.faq-category-icon {
	width: 30%;
	vertical-align: middle;
	text-align: center;
}
.faq-category-icon i {
	font-size: 4rem;
}
.faq-category-txt {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
	
	width: 65%;
	margin: 0 0 0 5%;
	border-top: 0;
	padding: 0;
	text-align: left;
}
}



/*　	採用情報
-------------------------------------------------------*/
.page-header-recruitment {
	position: relative;
	height: 40vw;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.page-header-recruitment-txt {
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	max-width: 1200px;
	margin: auto;
	line-height: 1.6;
	z-index: 100;
}
.page-header-recruitment-txt span {
	display: inline-block;
	margin-top: 20px;
	padding: 5px 20px;
	font-size: 4.6rem;
	background-color: #fff;
}
.recruitment-tit-en {
	font-size: 6rem;
	line-height: 1;
}
.recruitment-tit-jp {
	display: block;
}
.recruitment-message {
	position: relative;
	padding: 60px 0;
}
.recruitment-tit01 {
	position: relative;
	padding: 30px 0;
	background-color: #f7f7f7;
	z-index: 1;
}
.recruitment-tit01-inner {
	padding: 0 20px;
}
.recruitment-message-txt {
	position: relative;
	width: 50%;
	padding: 60px 60px 0 20px;
	background: #fff;
	z-index: 3;
}
.recruitment-message-img01 {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 48.5%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 2;
}
.recruitment-tit-line {
	position: relative;
}
.recruitment-tit-line::before {
	content: "";
	position: absolute;
	top: 33px;
	left: 0;
	right: 0;
	height: 1px;
	background: #009944;
	z-index: 0;
}
.recruitment-tit-line-inner {
	position: relative;
	display: inline-block;
	padding: 0 20px;
	background: #fff;
	z-index: 2;
}
.recruitment-interview-list > li {
	width: 30%;
	margin-top: 60px;
	margin-right: 5%;
	border: 1px solid #ccc;
	border-radius: 8px;
	overflow: hidden;
	transition-duration: 0.2s;
}
.recruitment-interview-list > li:nth-child(3n) {
	margin-right: 0;
}
.recruitment-interview-list > li a {
	display: block;
	position: relative;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	color: #282828;
	padding-bottom: 40px;
}
.recruitment-interview-list > li a::after {
	content: "";
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.recruitment-interview-list > li:hover {
	transform: scale(1.05);
}
.recruitment-interview-list > li:hover a::after {
	background-color: #04b954;
}
.recruitment-interview-list .box-txt01 {
	padding: 15px 20px 10px;
}
.recruitment-interview-list .icon-department {
	position: relative;
	width: 110px;
	margin-top: -15px;
	padding: 5px 30px 5px 20px;
	color: #fff;
	border-radius: 0 0 30px 0;
	background: #009944;
}
.icon-department.production {
	background: #f4a100;
}
.icon-department.management {
	background: #0075c1;
}
.recruitment-interview-list .list-tag > li {
	margin-right: 15px;
}
.recruitment-designparts01 {
	position: relative;
}
.recruitment-designparts01-img01 {
	position: relative;
}
.recruitment-designparts01-img01 .box-img01 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	min-height: 30.75vw;
}
.recruitment-designparts01-img01 .box-img01 img {
	width: 100%;
	height: 100%;
  object-fit: cover;
  object-position: center;
}
.recruitment-designparts01-txt01,
.recruitment-designparts01-txt02 {
	min-height: 30.75vw;
	background: #009944;
}
.recruitment-designparts01-txt01::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 60px;
	background: #ea9807;
}
.recruitment-designparts01-txt02::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	background: #ea9807;
}
.recruitment-designparts01-txt01 .box-txt01,
.recruitment-designparts01-txt02 .box-txt01 {
	width: 68%;
	margin: 0 auto;
	padding: 3.5vw 0;
	color: #fff;
}
.recruitment-designparts01-tit-en {
	display: block;
	font-size: 4vw;
	line-height: 1;
}
.recruitment-designparts01-tit-jp {
	display: block;
	margin-top: 2.5vw;
	padding-top: 2.5vw;
	border-top: 1px solid #fff;
	font-size: 3rem;
	line-height: 1.4;
}
.btn-recruitment {	
	display: block;
	height: 60px;
	margin-top: 2vw;
	padding-top: 12px;
	color: #282828;
	text-align: center;
	border-bottom: 1px solid #009944;
	background: #fff;
	transition-duration: 0.2s;
}
.btn-recruitment:hover {
	color: #04b954;
	border-bottom: 1px solid #04b954;
	transform: scale(1.05);
}
.btn-recruitment span {
	position: relative;
	display: inline-block;
	padding-right: 42px;
	font-size: 2rem;
	font-weight: 600;
}
.btn-recruitment span::after {
	content: "";
	position: absolute;
	top: 1px;
	right: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px auto;
}
.btn-recruitment:hover span::after {
	background-color: #04b954;
}
.recruitment-designparts01-movie {
	position: relative;
	padding: 5vw 3vw;
	background: #00682e;
}
.recruitment-slide {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
}
.recruitment-slide .slide {
  overflow: hidden;
}
.recruitment-slide .swiper-button-prev {
	top: calc(50% - 25px);
	left: -40px;
}
.recruitment-slide .swiper-button-next {
	top: calc(50% - 25px);
	right: -40px;
}
.recruitment-slide .slide-img {
	border-radius: 8px;
	overflow: hidden;
}
.recruitment-slide .swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 1;
}
.recruitment-slide .slide-txt {
  padding: 10px 0 0;
	line-height: 1.6;
}

/*　小型ノートPC用　*/
@media screen and (min-width: 1270px) and (max-height: 800px) {
.recruitment-slide {
	max-width: 880px;
}
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.page-header-recruitment {
	height: 50vw;
}
.page-header-recruitment-txt {
	bottom: 20px;
	max-width: 80%;
}
.page-header-recruitment-txt span {
	margin-top: 10px;
	padding: 5px 10px;
	font-size: 2rem;
}
.recruitment-tit-en {
	font-size: 4rem;
}
.recruitment-message {
	padding: 40px 0;
}
.recruitment-message-txt {
	padding: 40px 40px 0 20px;
}
.recruitment-tit-line::before {
	top: 22px;
}
.recruitment-interview-list > li {
	width: 47.5%;
	margin-right: 5%;
}
.recruitment-interview-list > li:nth-child(3n) {
	margin-right: 5%;
}
.recruitment-interview-list > li:nth-child(2n) {
	margin-right: 0;
}
.recruitment-interview-list > li a::after {
	width: 28px;
	height: 28px;
	background-size: 6px auto;
}
.recruitment-designparts01-img01 .box-img01 {
	position: relative;
}
.recruitment-designparts01-txt01 .box-txt01,
.recruitment-designparts01-txt02 .box-txt01 {
	padding: 60px 0;
}
.recruitment-designparts01-txt01::after,
.recruitment-designparts01-txt02::after {
	left: 0;
	right: auto;
	width: 40px;
	height: 40px;
}
.recruitment-designparts01-tit-en {
	font-size: 8vw;
}
.btn-recruitment {
	margin-top: 50px;
	height: 60px;
	padding-top: 14px;
}
.btn-recruitment span {
	padding-right: 38px;
	font-size: 1.8rem;
}
.btn-recruitment span::after {
	width: 28px;
	height: 28px;
	background-size: 6px auto;
}
.recruitment-designparts01-movie {
	padding: 0;
}
.recruitment-slide {
	max-width: 80%;
	margin: 0 auto;
}
.recruitment-slide .swiper-button-prev {
	top: calc(50% - 20px);
	left: -30px;
}
.recruitment-slide .swiper-button-next {
	top: calc(50% - 20px);
	right: -30px;
}
}

@media screen and (max-width: 767px){
.page-header-recruitment {
	height: 100vw;
}
.page-header-recruitment-txt {
	bottom: 10px;
	max-width: 90%;
}
.page-header-recruitment-txt span {
	margin-top: 10px;
	padding: 5px 10px;
	font-size: 1.6rem;
}
.recruitment-tit-en {
	font-size: 2.8rem;
}
.recruitment-message {
	padding: 0;
}
.recruitment-tit01-inner {
	padding: 0;
}
.recruitment-message-txt {
	width: 100%;
	padding: 20px 0;
}
.recruitment-message-img01 {
	position: relative;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 60vw;
}
.recruitment-tit-line::before {
	top: 16px;
}
.recruitment-interview-list > li {
	width: 100%;
	margin-top: 30px;
	margin-right: 0;
}
.recruitment-interview-list > li:nth-child(3n) {
	margin-right: 0;
}
.recruitment-interview-list > li a {
	padding-bottom: 30px;
}
.recruitment-interview-list > li a::after {
	width: 24px;
	height: 24px;
	background-size: 6px auto;
}
.recruitment-designparts01-img01 .box-img01 {
	position: relative;
}
.recruitment-designparts01-txt01 .box-txt01,
.recruitment-designparts01-txt02 .box-txt01 {
	min-height: auto;
	width: 80%;
	padding: 50px 0;
}
.recruitment-designparts01-txt01::after,
.recruitment-designparts01-txt02::after {
	left: 0;
	right: auto;
	width: 30px;
	height: 30px;
}
.recruitment-designparts01-tit-en {
	font-size: 10vw;
}
.recruitment-designparts01-tit-jp {
	margin-top: 20px;
	padding-top: 20px;
	font-size: 1.8rem;
}
.btn-recruitment {
	width: 100%;
	height: 50px;
	margin-top: 30px;
	padding-top: 10px;
}
.btn-recruitment span {
	padding-right: 34px;
	font-size: 1.6rem;
}
.btn-recruitment span::after {
	top: 2px;
	right: 0;
	width: 24px;
	height: 24px;
	background-size: 6px auto;
}
.recruitment-designparts01-movie {
	padding: 0;
}
.recruitment-slide {
	max-width: 80%;
}
.recruitment-slide .swiper-button-prev {
	top: calc(50% - 15px);
	left: -24px;
}
.recruitment-slide .swiper-button-next {
	top: calc(50% - 15px);
	right: -24px;
}
}



/*　	資料ダウンロード
-------------------------------------------------------*/
.download-service {
	margin-top: 40px;
}
.download-service > li {
	margin-top: 30px;
	border: 1px solid #ccc;
	border-radius: 8px;
	overflow: hidden;
	transition-duration: 0.2s;
}
.download-service > li.service-eLearning {
	width: 30%;
	margin-right: 5%;
}
.download-service > li.service-eLearning:nth-child(3n) {
	margin-right: 0;
}
.download-service .service-logo {
	text-align: center;
}
.download-service .service-logo img {
	max-height: 114px;
}
.download-service .box-txt01 {
	margin: 0 20px;
	padding: 20px 0;
	font-size: 1.4rem;
	border-top: 1px solid #ccc;
}
.download-btn-list {
	margin-top: 20px;
}
.download-btn-list > li {
	margin-top: 5px;
}

.download-btn01 {
	display: block;
	padding: 10px 10px 10px 34px;
	color: #282828;
	line-height: 1.4;
	font-weight: 600;
	border-radius: 50px;
	background-image: url("/wp-data/common/icon_download_off02.png");
	background-repeat: no-repeat;
	background-position: left 5px center;
	background-size: 18px auto;
}
.download-btn01:hover {
	color: #04b954;
	background-image: url("/wp-data/common/icon_download_on.png");
}

.download-logo img:hover {
	transform: scale(1.05);
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.download-service {
	margin-top: 20px;
}
.download-service > li.service-eLearning {
	width: 47.5%;
	margin-right: 5%;
}
.download-service > li.service-eLearning:nth-child(3n) {
	margin-right: 5%;
}
.download-service > li.service-eLearning:nth-child(2n) {
	margin-right: 0;
}
}

@media screen and (max-width: 767px){
.download-service {
	margin-top: 10px;
}
.download-service > li.service-eLearning {
	width: 100%;
	margin-right: 0;
}
.download-service > li:nth-child(3n) {
	margin-right: 0;
}
}



/*　　hidebox
-------------------------------------------------------*/
.hidebox {
  position: relative;
}
.hidebox-btn {
	display: none;
	position: absolute;
  bottom: 0;
	left: 0;
	right: 0;
	width: fit-content;
  font-size: 1.8rem;
	font-weight: 600;
  margin: auto;
  padding: 5px 50px;
	color: #282828;
  cursor: pointer;
	background-color: #fff;
	border-radius: 8px;
	text-align: center;
  transition: all .2s;
  z-index: 1;
}
.hidebox-btn::after {
	display: none;
  content: "全て表示";
	padding-left: 26px;
	background-image: url("/wp-data/common/icon_toggle01.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 16px auto;
}
.hidebox-btn:hover {
  color: #fff;
	background-color: #009944;
}
.hidebox-txt {
  overflow: hidden;
  position: relative;
}
/* 最初に見えてるテキストエリアの高さ */
.hidebox-txt.is-hide {
  height: auto;
}
/* グラデーション */
.hidebox-txt::before {
	display: none;
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.9) 50%, #fff 100%);
  background:         linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.9) 50%, #fff 100%);
  bottom: 0;
  content: "";
  height: 100px; /* グラデーションで隠す高さ */
  position: absolute;
  width: 100%;
}
/* 閉じるボタンの位置 */
.hidebox-btn.is-show {
	display: none;
  bottom: -20px;
}
.hidebox-btn.is-show::after {
  content: "閉じる";
}
.hidebox-btn.is-show + .hidebox-txt::before {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.hidebox-btn {
  font-size: 1.6rem;
}
}

@media screen and (max-width: 767px){
/* 最初に見えてるテキストエリアの高さ */
.hidebox-txt.is-hide {
  height: 500px;
}
.hidebox-btn::after {
	display: block;
}
/* グラデーション */
.hidebox-txt::before {
  display: block;
}
.hidebox-btn {
	display: block;
  font-size: 1.6rem;
}
}



/*　　お問い合わせパーツ
-------------------------------------------------------*/
.parts-contact {
	padding: 50px;
	background: #f7f7f7;
}
.parts-contact-btn {
	display: inline-block;
	width: 680px;
	padding: 22px;
	color: #fff;
	line-height: 1.4;
	font-weight: 600;
	border-radius: 8px;
	background-color: #009944;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.parts-contact-btn:hover {
	color: #fff;
	background-color: #04b954;
	transform: scale(1.05);
}
.parts-contact-service-btn {
	display: inline-block;
	width: 680px;
	padding: 22px;
	color: #fff;
	line-height: 1.4;
	font-weight: 600;
	border-radius: 8px;
	background-image: url("/wp-data/common/arrow01_3.png");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 8px auto;
	transition-duration: 0.2s;
}
.parts-contact-service-btn:hover {
	color: #fff;
	opacity: 0.8;
	transform: scale(1.05);
}
.parts-contact .icon-tel {
	display: inline-block;
	color: #009944;
	font-size: 2.4rem;
	vertical-align: middle;
}
.parts-contact-txt01 {
	display: inline-block;
	margin: -5px 25px 0 10px;
	font-size: 3rem;
	vertical-align: middle;
}
.parts-contact-txt02 {
	display: inline-block;
	font-size: 1.4rem;
	vertical-align: middle;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.parts-contact {
	padding: 30px;
}
.parts-contact-btn {
	width: 500px;
	padding: 18px;
	border-radius: 6px;
	background-size: 6px auto;
}
.parts-contact-service-btn {
	width: 500px;
	padding: 18px;
	border-radius: 6px;
	background-size: 6px auto;
}
.parts-contact .icon-tel {
	font-size: 2rem;
}
.parts-contact-txt01 {
	font-size: 2.4rem;
}
.parts-contact-txt02 {
	font-size: 1.2rem;
}
}

@media screen and (max-width: 767px){
.parts-contact {
	padding: 30px 15px;
}
.parts-contact-btn {
	width: 100%;
	padding: 18px;
	border-radius: 6px;
	background-size: 6px auto;
}
.parts-contact-service-btn {
	width: 100%;
	padding: 18px;
	border-radius: 6px;
	background-size: 6px auto;
}
.parts-contact .icon-tel {
	display: inline-block;
	color: #009944;
	font-size: 2rem;
	vertical-align: middle;
}
.parts-contact-txt01 {
	font-size: 2.4rem;
}
.parts-contact-txt02 {
	display: block;
	font-size: 1.2rem;
}
}



/*　　お問い合わせフォーム
-------------------------------------------------------*/
.privacy-box {
	width: 100%;
	height: 200px;
  padding: 10px;
  border: 1px solid #ccc;
}
.icon-required {
	display: inline-block;
	font-size: 12px; font-size: 1.2rem;
  font-weight: 400;
	line-height: 1.5;
	margin-right: 10px;
	padding: 2px 8px 2px;
	background-color: #cf1126;
	color: #fff;
	vertical-align:middle;
	border-radius: 3px;
}
.form-initialize {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.contactForm {
}
.contactForm th,
.contactForm td {
	font-size: 1.6rem;
}
.confirm-box .confirm-text {
	display: none;
}
.contactForm input {
	padding: 10px;
	font-size: 1.6rem;
	vertical-align:middle;
	border: 1px solid #ccc;
}
.required-bgcolor {
	background-color: #fff7f7;
}
.contactForm input[type="radio"] {
	vertical-align: baseline;
}
.contactForm input[type="file"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border: 0;
	padding: 0;
}
.contactForm .select-menu {
	height: 40px;
	font-size: 1.6rem;
	line-height:1.6;
	padding: 3px;
	border: 1px solid #ccc;
	background: #fff;
}
.contactForm textarea {
  padding: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px; font-size: 1.6rem;
  border: 1px solid #ccc;}
.contactForm .btn-box {
	padding-top: 50px;
	text-align: center;
}
.contactForm .btn-send {
	position: relative;
	-webkit-appearance: none;
	font-size: 2.4rem;
	font-weight: 700;
	padding: 22px;
	width: 720px;
	margin: 20px auto 0;
	cursor: pointer;
	color: #fff;
	border: 0;
	border-radius: 8px;
	background: url("/wp-data/common/arrow_01.png"), linear-gradient(to right, #f4dd42, #e56f0f);
	background-repeat: no-repeat, no-repeat;
	background-position: right 12px center, center;
	background-size: 8px auto, 100%;
	transition-duration: 0.2s;
}
.contactForm .btn-send:hover {
  color: #fff;
	background: url("/wp-data/common/arrow_01.png"), linear-gradient(to right, #ffe42b, #ff5400);
	background-repeat: no-repeat, no-repeat;
	background-position: right 12px center, center;
	background-size: 8px auto, 100%;
	transform: scale(1.05);
}
.contactForm .btn-modify {
	position: relative;
	-webkit-appearance: none;
	font-weight: 700;
	font-size: 2.4rem;
	padding: 22px;
	width: 720px;
	margin: 30px auto 0;
	cursor: pointer;
	color: #fff;
	border-radius: 8px;
	background-color: #666;
	transition-duration: 0.2s;
}
.contactForm .btn-modify:hover {
  color: #fff;
	background-color: #999;
	transform: scale(1.05);
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.contactForm .btn-box {
	padding-top: 20px;
}
.contactForm .btn-send,
.contactForm .btn-modify {
	width: 80%;
	padding: 20px;
	font-size: 1.6rem;
}
}

@media screen and (max-width: 767px){
.privacy-box {
  padding: 10px;
}
.contactForm .btn-box {
	padding-top: 10px;
}
.contactForm .btn-send {
	padding: 20px;
	width: 90%;
	font-size: 1.6rem;
}
.contactForm .btn-modify {
	padding: 20px;
	width: 90%;
	font-size: 1.6rem;
}
}


/*　　pagenavi
-------------------------------------------------------*/
.works-pagenav {
	margin: 80px auto;
	padding: 5px 0;
}
.wp-pagenavi {
	clear: both;
	padding: 5px 0;
	text-align: center;
	background-color: transparent;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: inline-block;
	text-decoration: none;
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 5px 14px;
	margin: 4px;
  color: #282828;
	font-family: gill-sans-nova, sans-serif;
	font-weight: 500;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
	border-color: #009944;
}
.wp-pagenavi a:hover {
	color: #009944;
	border: 1px solid #009944;
	background-color: #fff;
}
.wp-pagenavi span.current {
	font-weight: 700;
	color: #fff;
	border: 1px solid #009944;
  background-color: #009944;
}
.wp-pagenavi .extend {
	display: none;
}


@media screen and (min-width: 768px) and (max-width: 1270px){
.wp-pagenavi {
	padding: 0;
}
.wp-pagenavi a, .wp-pagenavi span {
	padding: 5px 13px;
	margin: 3px;
}
}

@media screen and (max-width: 767px){
.works-pagenav {
	margin: 40px auto;
}
.wp-pagenavi {
	padding: 0;
}
.wp-pagenavi a, .wp-pagenavi span {
	padding: 4px 10px;
	margin: 4px;
}
}
