@charset "utf-8";
/*------ タイトル -------*/
.ttlPage{
	color: var(--white-color);
	padding:250px 4% 150px;
	background-color:#999;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	text-shadow: 0px 1px 0px rgba(0,0,0,0.3);
	line-height:1;
	}
	.ttlPage-seminar{ background-image:url(../images/seminar/page_bg.jpg); }
	.ttlPage-service{ background-image:url(../images/service/page_bg.jpg); }
	.ttlPage-case{ background-image:url(../images/case/page_bg.jpg); }
	.ttlPage-company{ background-image:url(../images/company/page_bg.jpg); }
	.ttlPage-contact{ background-image:url(../images/contact/page_bg.jpg); }
	.ttlPage-recruit{ background-image:url(../images/recruit/page_bg.jpg); }
	.ttlPage_ttl{
		font-size:4rem;
		}
		.ttlPage_ttl_en{
			display:inline-block;
			margin-left:20px;
			vertical-align:middle;
			font-size:1.6rem;
			}
.ttl01 {
	font-size:3.2rem;
	line-height:1;
  position: relative;
	padding-bottom:1em;
  border-bottom: 3px solid #ddd;
	margin-bottom:40px;
	}
	.ttl01:before {
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 20%;
		height: 3px;
		content: '';
		background: #bf2424;
		}
	.ttl01 span{
		color: #bf2424;
		font-size:1.6rem;
		margin-bottom:10px;
		display:block;
		}
.ttl02{
	color:#fff;
	background-color:#bf2424;
	padding:1em;
	font-size:2.4rem;
	line-height:1;
	margin-bottom:30px;
	}
.ttl03{
	font-size:2rem;
	line-height:1;
	border-left:3px solid #bf2424;
	padding:1em;
	color: #bf2424;
	margin-bottom:20px;
	background-color:#f5f5f5;
	}
.ttl04{
	font-size:1.8rem;
	line-height:1;
	padding:1em;
	color: #fff;
	background-color:#000;
	margin-bottom:20px;
	border-radius: 4px;
	}
@media screen and (max-width: 768px) {
.ttlPage{
	padding:184px 4% 120px;
	}
	.ttlPage_ttl_en{
		margin-left:0;
		display:block;
		margin-top:15px;
		}
.ttl01 {
	margin-bottom:30px;
	}
.ttl02{
	margin-bottom:25px;
	}
	}
@media screen and (max-width: 480px) {
.ttlPage{
	padding:140px 4% 80px;
	}
	}

/*------ ボタン -------*/
.btn{
	width:100%;
	max-width:280px;
	display:inline-block;
	border:2px solid #bf2424;
	background-color:#fff;
	line-height:1em;
	text-align:center;
	padding:20px 40px;
	border-radius:100px;
	font-weight:700;
	}
	.btn-b{
		color:#fff;
		background-color:#bf2424;
		}
	.btn:hover{
		background-color:#bf2424;
		color:#fff;
		}
	.btn-b:hover{
		}
@media screen and (max-width: 768px) {
	}
@media screen and (max-width: 480px) {
	}
	
/*------ アンカーナビ -------*/
.anchorNav{
	text-align:center;
	}
	.anchorNav li{
		display:inline-block;
		margin-bottom:8px;
		}
		.anchorNav li a{
			color: #fff;
			background-color: #bf2424;
			display:inline-block;
			padding:15px;
			font-size:1.4rem;
			line-height:1.2em;
			border-radius: 4px;
			font-weight:700;
			}
@media screen and (max-width: 768px) {
	}
@media screen and (max-width: 480px) {
.anchorNav li a{
	padding:10px;
	}
	}

/*------ テキストボックス -------*/
.txtBox {
	width: 100%;
	background-color: #f5f5f5;
	padding:15px;
	border-radius: 4px;
	font-size: 1.4rem;
	line-height: 1.4em;
	}

/*------ AAA -------*/
.indent{
	padding-left:0.5em;
	text-indent:-0.5em;
	}

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

ヘッダーの設定
	
----------------------------------------------------------------------------------------------------*/

/*------　ヘッダーの設定 -------*/


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

フッターの設定
	
----------------------------------------------------------------------------------------------------*/
.footer{
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	background-color:#ee1b2d;
	background-image:url(../images/common/footer_bg.jpg);
	}
.footer .col{
	border-radius: 4px;
	border:1px solid #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	}
.footer a{
	text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
	display:block;
	width: 100%;
	padding:40px 20px;
	text-align:center;
	color:#fff;
	border-radius: 4px;
	line-height:1;
	font-size:2.4rem;
	}
.footer a dl{
	width: 100%;
	}
.footer a dt{
	font-size:1.6rem;
	}
.footer a dd{
	margin-top:15px;
	font-size:3.2rem;
	font-weight:700;
	font-family:Arial, Helvetica, sans-serif;
	}
	.footer a dd i{
		font-size:2.8rem;
		}
	.footer a dd span{
		margin-top:10px;
		display:block;
		font-size:1.2rem;
		}
.copyright{
	background-color:#000;
	color:#fff;
	text-align:center;
	font-size:1.4rem;
	line-height:1;
	padding:20px;
	}
@media screen and (max-width: 768px) {
.footer a{
	padding:30px 15px;
	}
.footer a dd{
	margin-top:10px;
	}
	}
@media screen and (max-width: 480px) {
.footer a{
	padding:20px 10px;
	}
	}
	
/*----------------------------------------------------------------------------------------------------

トップページの設定
	
----------------------------------------------------------------------------------------------------*/
.ttlTop{
	text-align:center;
	font-size:3.2rem;
	line-height:1;
	}
	.ttlTop span{
		font-size:1.4rem;
		color:#bf2424;
		display:block;
		margin-bottom:15px;
		}
		.ttlTop + p{
			text-align:center;
			font-size:1.5rem;
			line-height:1.2em;
			color:#555555;
			margin-top:25px;
			margin-bottom:40px;
			}
@media screen and (max-width: 768px) {
.ttlTop span{
	margin-bottom:10px;
	}
.ttlTop + p{
	margin-top:20px;
	margin-bottom:30px;
	}
	}
@media screen and (max-width: 480px) {
}
	
/*------　メインビジュアル -------*/
.mainVisual{
	width:100%;
	height:100vh;
	background-color:#000;
	}
	.mainVisual_cont{
		color:#fff;
		position:absolute;
		left: 4.17%;
    bottom: 80px;
		z-index:2;
		text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
		}
		.mainVisual_cont span{
			font-size:1.8rem;
			}
		.mainVisual_cont h2{
			font-size:4.8rem;
			line-height:1.6em;
			margin:30px 0 40px 0;
			}
		.mainVisual_cont p{
			font-size:1.6rem;
			}
/*@media (orientation: landscape) and (max-width: 1200px){
.mainVisual_cont{
	left: 40px;
	}
.mainVisual_cont h2{
	font-size:4rem;
	}
}*/
@media screen and (max-width: 1200px) {
	.mainVisual_cont{
		bottom: 120px;
		}
	}
@media screen and (max-width: 768px) {
	.mainVisual_cont{
		padding:0 4%;
		left: 0px;
		bottom: 120px;
		}
	.mainVisual_cont span{
			font-size:1.4rem;
			}
	.mainVisual_cont h2{
		font-size:4rem;
		/*font-size:5.208333333333333vw;*/
		margin:10px 0 20px 0;
		}
	.mainVisual_cont p{
		font-size:1.4rem;
		}
	.mainVisual_cont p br{
		display:none;
		}
}
@media screen and (max-width: 480px) {
	.mainVisual_cont h2{
		font-size:3.2rem;
		/*font-size:6.25vw;*/
		}
}

.pickup{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#bf2424+0,bc2424+50,d83131+100&0.9+0,0.9+100 */
	background: -moz-linear-gradient(-45deg,  rgba(191,36,36,0.9) 0%, rgba(188,36,36,0.9) 50%, rgba(216,49,49,0.9) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  rgba(191,36,36,0.9) 0%,rgba(188,36,36,0.9) 50%,rgba(216,49,49,0.9) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  rgba(191,36,36,0.9) 0%,rgba(188,36,36,0.9) 50%,rgba(216,49,49,0.9) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6bf2424', endColorstr='#e6d83131',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	padding:1em;
	position: absolute;
	bottom:140px;
	right:2.08%;
	box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
	border-radius: 5px;
	text-align:right;
	}
	.pickup p{
		color:#fff;
		font-size:1.8rem;
		line-height:1.6em;
		font-weight:700;
		}
@media screen and (max-width: 1200px) {
	.pickup{
		text-align:left;
		width:100%;
		bottom:0;
		right:0;
		border-radius: 0;
		padding:1em 4%;
		}
	}
@media screen and (max-width: 768px) {
	.pickup p{
		font-size:1.6rem;
		}
	}
@media screen and (max-width: 320px) {
	.pickup p br{
		display:none;
		}
	}

.scrolldown {
	z-index:9;
	position: absolute;
	bottom:40px;
	right:2.08%;
	-webkit-animation: arrowmove 1s ease-in-out infinite;
	animation: arrowmove 1s ease-in-out infinite;
}
@-webkit-keyframes arrowmove {
	0% {
		bottom: 1%;
	}
	50% {
		bottom: 3%;
	}
	100% {
		bottom: 1%;
	}
}
@keyframes arrowmove {
	0% {
		bottom: 1%;
	}
	50% {
		bottom: 3%;
	}
	100% {
		bottom: 1%;
	}
}
.scrolldown span {
	position: absolute;
	left: -20px;
	bottom: 10px;
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.scrolldown:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: -6px;
	width: 1px;
	height: 20px;
	background: #eee;
	-webkit-transform: skewX(-31deg);
	-ms-transform: skewX(-31deg);
	transform: skewX(-31deg);
}
.scrolldown:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 1px;
	height: 50px;
	background: #eee;
}
@media screen and (max-width: 1200px) {
	.scrolldown{
		right:20px;
		}
	}
@media screen and (max-width: 320px) {
	.scrolldown{
		display:none !important;
		}
	}

/*------　事業紹介 -------*/
.inner-1760{ max-width:1760px; }
.topbiz{
	background-image:url(../images/biz_bg.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;s
	}
.bizCard{
	border-radius: 8px;
	background-color:#fff;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
	overflow:hidden;
	position:relative;
	}
	.bizCard:after{
		content:"";
		display:block;
		position:absolute;
		right: -30px;
		bottom: -30px;
		width:60px;
		height:60px;
		background-color:#bf2424;
		transform:rotate(45deg);
		}
	.bizCard_tmb img{
		width:100%;
		border-radius:8px 8px 0 0;
		}
	.bizCard_cont{
		padding:40px;
		}
		.bizCard_cont span{
			font-size:1.5rem;
			line-height:1;
			font-weight:700;
			display:block;
			color:#bf2424;
			}
		.bizCard_cont h3{
			font-size:2.4rem;
			line-height:1.2em;
			margin-top:15px;
			}
		.bizCard_cont p{
			margin-top:25px;
			color:#555;
			font-size:1.4rem;
			line-height:1.5em;
			}
		.bizCard_cont ul{
			margin-top:20px;
			}
		.bizCard_cont ul li{
			margin-top:5px;
			display:inline-block;
			font-size:1.2rem;
			line-height:1.2em;
			background-color:#f5f5f5;
			padding:10px;
			}
		.bizCard_cont ul li i{
			color:#bf2424;
			}
@media screen and (max-width: 1760px) {
.inner-1760{
	width:94%;
	}
.bizCard_cont{
	padding:30px;
	}
	}
@media screen and (max-width: 768px) {
.bizCard_cont{
	padding:20px;
	}
.bizCard_cont h3{
	margin-top:10px;
	}
.bizCard_cont p,
.bizCard_cont ul{
	margin-top:15px;
	}
	}
@media screen and (max-width: 480px) {
.bizCard_cont p,
.bizCard_cont ul{
	margin-top:10px;
	}
	}
				
/*------　研修会･イベントについて -------*/
.topevent{
	}
.swiper-container-event{
	margin-top:-10px;
	padding:10px 10px 30px 10px !important;
	}
.swiper-container-event.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom:0px !important;
}
			
/*------　会社案内 -------*/
.bnr-case{ background-image:url(../images/case_bnr_bg.jpg); }
.bnr-company{ background-image:url(../images/company_bnr_bg.jpg); }
.bnr{
	width:100%;
	height:326px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 8px;
	position: relative;
	background-color: #999;
	color:#fff;
	padding:0px 3.4% 0px 10.2%;
	text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
	        box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	}
	.bnr div {
		width:100%;
		}
	.bnr p{
		font-size:3.2rem;
		line-height:1em;
		font-weight:700;
		}
	.bnr span{
		margin-top:20px;
		display:block;
		font-size:1.6rem;
		line-height:1.2em;
		}
@media screen and (max-width: 768px) {
.bnr{
	height:250px;
	}
.bnr span{
	margin-top:10px;
	}
	}
@media screen and (max-width: 480px) {
.bnr{
	height:auto;
	padding:40px 20px;
	text-align:center;
	}
	}


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

研修会･イベント
	
----------------------------------------------------------------------------------------------------*/
/*------　共通 -------*/
.eventCard{
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
	}
.eventCard_link{
	display:block;
	}
.eventCard_tmb{
	position:relative;
	}
.eventCard_cont{
	padding:25px;
	}
.eventCard_cont_ttl{
	line-height:1.2em;
	}
/*.eventCard_cont_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
	}*/
	.eventCard_cont_time,
	.eventCard_cont_cate{
		font-size:1.3rem;
		line-height:1.2em;
		}
	.eventCard_cont_cate{
		margin-bottom:10px;
		width:100%;
		max-width:80px;
		height:24px;
		line-height: 24px;
		text-align:center;
		color:#fff;
		border-radius: 12px;
		}
	.eventCard_cont_time{
		margin-bottom:10px;
		}
	.eventCard_cont_ttl{
		margin-top:10px;
		}
		
.-event{ background-color:#5fad56 !important; }
.-seminar{ background-color:#48639c !important; }

@media screen and (max-width: 768px) {
	.eventCard_cont{
		padding:20px;
		}
	}
@media screen and (max-width: 480px) {
	.eventCard_cont{
		padding:15px;
		}
	}
	
/*------　一覧 -------*/
.eventCard_cont_data {
	width: 100%;
	margin-top:20px;
	background-color:#f5f5f5;
	padding:10px;
	border-radius: 4px;
	font-size:1.4rem;
	line-height:1.4em;
	}
	.eventCard_cont_data dt,
	.eventCard_cont_data dd{
		width:100%;
		}
		.eventCard_cont_data dt {
			font-weight:bold;
			margin-bottom:5px;
			}
			.eventCard_cont_data dd{
				margin-bottom:10px;
				}
@media screen and (max-width: 768px) {
.eventCard_cont_data {
	margin-top:15px;
	}
	}
@media screen and (max-width: 480px) {
	}

/*------　詳細 -------*/
.seminarKiji{
	}
	.seminarKiji .ttlPt02{
		text-align:center;
		font-size:2rem;
		margin-bottom:0;
		border-radius: 8px 8px 0 0;
		}
	.seminarKiji_cont{
		font-size:1.5rem;
		padding:20px;
		border:1px solid #ddd;
		}
@media screen and (max-width: 768px) {
	.seminarKiji_cont{
		padding:15px;
		}
	}
@media screen and (max-width: 480px) {
	}


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

事業紹介
	
----------------------------------------------------------------------------------------------------*/
.unitGrid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
	}
	.unitGrid-rvs{
		flex-direction: row-reverse;
		}
	.unitGrid_tmb {
		text-align:center;
		}
		.unitGrid_tmb img{
			display:inline-block;
			box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
			}
	.unitGrid_cont {
		}
@media screen and (max-width: 768px) {
	.unitGrid{
		display:block;
		flex-direction: row-reverse;
		}
		.unitGrid .wt49{
			width:100% !important;
			}
			.unitGrid_tmb{
				margin-top:20px;
				}
	}
@media screen and (max-width: 480px) {
	}
	
.unitCard{
	background-color:#f5f5f5;
	}
	.unitCard-w{
		background-color:#FFF;
		border:1px solid #eee;
		}
	.unitCard_tmb{
		}
	.unitCard_cont{
		padding:20px;
		}
		.unitCard_cont h6{
			text-align:center;
			font-size:1.8rem;
			line-height:1;
			color: #bf2424;
			}
			.unitCard_cont p{
				margin-top:16px;
				font-size:1.5rem;
				line-height:1.5em;
				}
	
.floatBox{
	font-size:1.5rem;
	}
.floatBox figure {
	float: right;
	margin: 0 0 10px 10px;
	}
.floatBox figure img {
	max-width: 100%;
	}
	
.tableMini{
	width:100%;
	}
	.tableMini th,
	.tableMini td{
		border:1px solid #ddd;
		font-size:1.5rem;
		line-height:1em !important;
		padding:20px;
		vertical-align:middle;
		}
		.tableMini th{
			background-color:#f5f5f5;
			text-align:left;
			}
		.tableMini td{
			}

.sdgsList{
	text-align:center;
	}
	.sdgsList li{
		display:inline-block;
		}
		.sdgsList li img{
			width:100%;
			max-width:100px;
			}

.inner-1040{ max-width:1040px; }


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

実績紹介
	
----------------------------------------------------------------------------------------------------*/
.sortNav{
	text-align:center;
	letter-spacing:-0.4em;
	}
	.sortNav_item{
		letter-spacing: 0.1em;
		display:inline-block;
		margin-right:20px;
		margin-bottom:10px;
		display:inline-block;
		border:1px solid #ddd;
		font-size:1.4rem;
		line-height:1.2em;
		border-radius: 100px;
		padding:10px 20px;
		cursor: pointer;
		}
		.sortNav_item:hover{
			background-color: #bf2424;
			color:#fff;
			}
		.sortNav_item.is-active {
			background-color: #bf2424;
			color:#fff;
			}
@media screen and (max-width: 768px) {
.sortNav_item{
	margin-right:10px;
	}
.sortNav_item a{
	padding:10px;
	}
}
@media screen and (max-width: 480px) {
}
.is-hide {
	display: none;
	}
.caseBox{
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
	position:relative;
	margin-top:40px;
/*	-webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;*/
	}
.caseBox_link{
	padding:40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row;
	flex-flow: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	}
.caseBox_link_data{
	z-index:3;
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	background-color: rgba(000,000,000,0.8);
	color:#fff;
	line-height:1;
	padding:10px;
	font-size:1.4rem;
	}
.caseBox_tmb{
	width:40%; /* 448 */
	}
.caseBox_cont{
	width:60%; /* 672 */
	padding-left:40px;
	}
	.caseBox_cont ul{
		}
	.caseBox_cont ul li{
		display:inline-block;
		background-color: #bf2424;
		padding:10px;
		color:#fff;
		line-height:1;
		font-size: 1.4rem;
		border-radius: 4px;
		}
	.caseBox_cont span{
		margin-top:20px;
		display:block;
		font-weight:bold;
		color: #555;
		font-size: 1.5rem;
		line-height: 1.5em;
		}
	.caseBox_cont h4{
		margin-top:10px;
		font-size:2.4rem;
		font-weight:700;
		}
	.caseBox_cont p{
		margin-top:20px;
		}
	
/*@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}*/

.js-modaal p{
	font-size:1.5rem;
	background-color: #fff; /* 背景色 */
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%),linear-gradient(180deg, #ccc 1px, transparent 1px);/* 点線1の色 *//* 点線2の色と太さ */
  background-size: 4px 100%,100% 3em;/* 点線1のサイズ *//* 点線2のサイズ */ 
  line-height: 3em; /* 文字の高さ */
  padding-bottom: 1px; /* 最終行の下にも罫線を引く */
	}
@media screen and (max-width: 768px) {
.caseBox_link{
	padding:20px;
	}
.caseBox_cont{
	padding-left:20px;
	}
}
@media screen and (max-width: 480px) {
.caseBox_link{
	display:block;
	padding:10px;
	}
.caseBox_tmb,
.caseBox_cont{
	width:100%;
	}
.caseBox_cont{
	padding:0;
	margin-top:20px;
	}
.caseBox_cont span,
.caseBox_cont p{
	margin-top:15px;
	}
}


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

会社案内
	
----------------------------------------------------------------------------------------------------*/
		
