body{
	font-family: "Lucida Sans",arial,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic", "Osaka",sans-serif;
	line-height: 1.8em;
	font-size:15px;
	min-width: 1200px;
	margin:0;
	font-family: "Mplus 1p";

	font-variant-ligatures: none;
	}


.mincho {
	font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.date-wrap{
	color:#aaa;
}

td{
	word-break:break-all;
}

.wrap-pd{
	padding-top:3rem;
	padding-bottom:3rem;
}
/* .汎用ボタン */
.to-btn{

}

/* 汎用ボックス1 */
.box1{
}
.box1 .img img{
	width:100%;
}
.box1 .ttl{
	text-align:center;
	font-size:1.2rem;
	font-weight:bold;
}
/*.box1 .ttl:after{
	content: "";
    width: 22px;
    height: 2px;
    margin: 1rem auto;
    background-color: #000;
    display: block;
}*/
.box1 .txt{}

.to-btn {
	text-align:center;
			position:relative;
	}
.to-btn a{
		display:inline-block;
		padding:1rem;
		font-size:1.3rem;
		max-width:300px;
		background-color:#ff4949;
		color:#fff;
	}




/* 記事レイアウト */
.article .item .mask
{
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: background .1s linear;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiP…dpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==);
    background-size: 100%;
    background-image: -webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,rgba(0,0,0,0)),color-stop(100%,rgba(0,0,0,.64)));
    background-image: -moz-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.64));
    background-image: -webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.64));
    background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.64));
}

a{
	-webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
}

.article .item{
	-webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
.article .item:hover{
	opacity:0.8;
}

.article .item a{
	display:block;
	height:100%;
}

.article .item .info{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:1rem;
  color:#fff;
  z-index:1;
}





.article .item .info .cate{
  display: inline-block;
margin: 0 auto;
width: auto;
padding: 0 1rem;
-webkit-transform: skew(-27deg);
transform: skew(-27deg);
background: #000;
text-align: center;
color: #fff;
}

.article .item .info .cate.cate-headline_africa{
  background: #3DABFF;
}
.article .item .info .cate.cate-event_africa{
  background: #54B454;
}
.article .item .info .cate.cate-support_africa{
  background: #C52525;
}
.cate-1 .common-ttl{
  border-bottom:5px solid #3DABFF;
	font-size:15px;
}

.cate-2 .common-ttl{
  border-bottom:5px solid #54B454;
	font-size:15px;
}

.cate-3 .common-ttl{
  border-bottom:5px solid #C52525;
	font-size:15px;
}


.article .item .info .cate span {
  display: block;
color: #fff;
line-height: 2;
font-size: 13px;
-webkit-transform: skew(27deg);
transform: skew(27deg);
letter-spacing: 0.2rem;
font-weight: 300;
}

.article .item{
  background-image:url(../img/bg1.png);
  background-size:cover;
  background-position:center center;
  position:relative;
	min-height:200px;
}

.article .item .date {
  margin-top:.5rem;
  text-align:right;
  font-size:12px;
}
.article .item .ttl {
  margin-top: 1rem;
  line-height: 1.5;
  font-weight: bold;
  /*text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;*/
  letter-spacing: .1em !important;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.recomend{

}

.recomend .list{
	display:flex;
	flex-wrap:wrap;
}
.recomend .list .item{
	width:25%;
}
.blog .list{
	display:flex;
	flex-wrap:wrap;
}
.blog .list .item{
	width:50%;
	    border: 1px solid #fff;
}
.content-wrap{
	position: relative;
	max-width:1200px;
	margin:0 auto;
	padding-left:16px;
	padding-right:16px;
	}

.content-wrap-l{
	position: relative;
	max-width:1200px;
	margin:0 auto;
	padding:0 16px;
	}


	.lower-visual {
	    padding-left: 1rem;
	    padding-right: 1rem;
	    padding-top:8rem;
	    padding-bottom:8rem;
			text-align:center;
	  	color:#fff;
			background-image:url(../img/ttl-bg.png);
			background-size:cover;
			background-position:center center;
			position:relative;
	}
	.lower-visual::before {
		content:"";
		height:100%;
		position:absolute;
		width:100%;
		left:0;
		top:0;
		/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#35e0b8+0,7db9e8+100&0.7+0,1+100 */
background: -moz-linear-gradient(top,  rgba(53,224,184,0.7) 0%, rgba(125,185,232,.7) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(53,224,184,0.7) 0%,rgba(125,185,232,.7) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(53,224,184,0.7) 0%,rgba(125,185,232,.7) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b335e0b8', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */

	}
.lower-visual .bdr{
position:relative;
}
.lower-visual .bdr h1{
	font-size: 2rem;
color: #fff;
font-weight: normal;
line-height: 1em;
    margin-bottom: 0;
}
.lower-visual .bdr .sub{
color:#fff;
}
.common-ttl{
	font-size:1.2rem;
	font-weight:bold;
	padding:1rem !important;
	text-align:center;
	letter-spacing:5px;
	margin-bottom:0;
}
.ttl-l{
	font-size:2rem;
		padding:2rem !important;
}
.common-ttl span{
	display:block;
	font-weight:normal;
	font-size:.8rem;
	margin-top:.5rem;
}
.common-ttl span::before,
.common-ttl span::after{
	content:"-";
}
.common-ttl span.none::before,
.common-ttl span.none::after{
	content:"";
}


.common-ttl.black{
	color:#fff;
	background-color:#000;
}
.common-ttl.grey{
	color:#fff;
	background-color:#505050;
}


.common-ttl2{
  border-bottom: solid 3px #999;
  position: relative;
	font-size:1.1rem;
	color:#666;
	padding-bottom:.5rem;

}


.common-ttl2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #000;
  bottom: -3px;
  width: 20%;
}

	/*============================
	#main-header
	============================*/

	#main-header {
		background-color:#333333;
		color:#fff;
		/*padding:1rem;*/
		position:relative;
	}
	#main-header>div{
		display:flex;
		/*align-items:center;*/

	}
	#main-header .main-logo {
	width:150px;
	padding: 1rem;
	}
		#main-header .main-logo img{
			width:100%;
		}

	#main-header .top-txt{
		font-size:11px;
		font-weight:normal !important;
		padding-left:1rem;
		padding-top: 2.1rem;
		line-height:1.5em;
		margin-bottom:0;
	}

	#main-header .main-nav {
		margin-left:auto;
	}
	#main-header .main-nav  a{
		/*display:inline-block;*/
		    padding: 0 .5rem;
				display: table-cell;
				vertical-align: middle;
				font-size:13px;
	}

	#main-header .main-nav	.nav-center{
		display:table;
		height:100%;
	}

	#main-header .main-nav .mypage
	{
		height:100%;
		background-color:#585858;
		padding:0 1rem;
		margin:0;
	}
	#main-header .main-nav .contact

	{
		background-color:#3597EE;
		padding:0 1rem;
		height:100%;
		margin:0;
		text-align:center;
	}

	#main-header .main-nav .contact i{
		display:block;
		font-size:1.5rem;

	}

#main-content{}
#main-content>div{
	/*display:flex;*/

}

.sub-menu{
	display:block;
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	text-align:right;
	background-color:#555;
	    /*padding-right: 176px;*/
			z-index:2;
}
.sub-menu .list{
	display:flex;
}
.sub-menu a{
	text-align:center;
	width:12.5%;
	display:block;
	padding:1rem;
	font-size:.8rem;
	line-height: 1.5em;
}
.sub-menu a:hover{
	background-color:#333;
}
.sub-menu a img{
	width:50%;
	margin-bottom:.5rem;
}

	/*============================
	#main
	============================*/
	#main {

	/*	width:calc(100% - 250px);*/
		/*padding-top:2rem;
		padding-right:1rem;*/
		/*padding-bottom:2rem;*/
	}
	#main .txt-block {
		background-color:#fff;
		border-radius:20px;
		overflow: hidden;
	}
	#main .txt-block .ttl {
		padding:2rem;
		color:#fff;
		font-weight:bold;
		font-size:18px;
	}
	#main .txt-block>.txt {
		padding:1.5rem;
	}
	.news-list {	}
.news-list li{	}
.news-list a{
		display:flex;
	}
.news-list .date {
		background-color:#1C2550;
		color:#fff;
		width:15%;
		font-size:12px;
		text-align:center;
	}
.news-list .cate {
		width:15%;
		font-size:12px;
		text-align:center;
	}
.news-list .txt {
		width:70%;
		overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	}

	.bc-wrap{
font-size:12px;
		background-color: #1bb2a2;
}



	.breadcrumb{
		margin-bottom:0;
		background-color:inherit !important;
		padding: .5rem;
	}
	.breadcrumb-item{
		color: #fff;
	}
	.breadcrumb-item.active {
	    color:#fff;
	}
	.breadcrumb-item+.breadcrumb-item::before {
    color:#fff;
}



	/*============================
	#sidebar
	============================*/
	#sidebar {
	/*width:250px;
		background-color:#2E6A4C;
*/
	}
	#sidebar .banner-area {
	}
	#sidebar .ceo {
	}

	.wpcf7 input[type="submit"] {

	background: #ed5565;

	}
	.wpcf7-submit:hover {
	background: #ac2925;
	}

	/*============================
	#main-footer
	============================*/
	#main-footer {
	}
	#main-footer .page-link-wrap {
		background-color:#D4D7E5;
		padding:1rem 0;
	}
	#main-footer .page-link-wrap div{
		display:flex;
	}
	#main-footer .page-link-wrap .item {
		width:33%;
		padding:0 .5rem;
	}
		#main-footer .page-link-wrap .item img{
			width:100%;
		}
	#main-footer .footer-info {
		background-color: #333333;
    color: #fff;
    padding: 2rem;
	}
	#main-footer .footer-info>div{
		display:flex;
		align-items:center;
	}
	#main-footer .footer-info .logo {
	}
	#main-footer .footer-info .nav-list {
	}
	#main-footer .footer-info .nav-list .mypage {
		margin:0 .5rem;
	}
	#main-footer .footer-info .nav-list .contact {
		margin:0 .5rem;
	}
	#main-footer .footer-info .copyright {
		font-size:10px;
		margin-left:auto;
	}

	#main-footer .footer-info .nav-list {
	    text-align: center;
			margin-top:1rem;
	}
	#main-footer .footer-info .copyright {
    font-size: 10px;
    margin-left: auto;
		text-align: center;
		margin-top:1rem;
}

/* フォーム */
input[name="your-zip-code"]{
	width:100px;
	display:inline-block;
}
input[name="your-zip-code2"]{
	width:200px;
	display:inline-block;
}


#nav-drawer {
  position: relative;
}

.nav-unshown {
  display:none;
}

#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

.head-logo {
  width: 30%;
  margin: -32px auto 0;
}
#nav-open {
  font-size: 10px;
margin-bottom: 0;
line-height: 1.8;
}
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;
  width: 100%;
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;

}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}
.header {
padding: .8rem 1.1rem 1.3rem;

  background-color: #ffffff;
  position: fixed;
  top:0px;
    right: 0;
  z-index: 3;
}

#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%;
  max-width: 330px;
  height: 100%;
  background:#333;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
	background-color: $color1;
  transform: translateX(-105%);
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.navigation_item {
}

.sp-nav .navigation_item a .arw-tgl, .sp-nav .slide-toggle .arw-tgl {
	    position: absolute;
    top: 22px;
    right: 10px;
		transition: all 0.5s;
}
.arw-tgl-rotate {
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
}

.sp-nav .slide-toggle
 {
	 padding: 1.0rem;
	 color: #ffffff;
	 display: block;
	 position:relative;



}

.sp-nav .navigation_item>a,
.sp-nav .navigation_item>div.slide-toggle
{
	width: 100%;
  padding: 1.0rem;
  color: #ffffff;
  background-color:#333;
  border-bottom: 1px solid #ffffff;
  display: block;
  position:relative;
}


.arw-tgl{
	top:22px;
	right:10px;
}
.slide-toggle-box{
	display:flex;
	flex-wrap:wrap;
}
.slide-toggle-box .item{
	width: 50%;
	font-size: .8rem;
	text-align:center;

}
.slide-toggle-box .item a{
	color:#fff;
	display:block;
	font-size:.8rem;
	padding:.5rem;
}
.slide-toggle-box .item img{
	width:40%;
}

.nav-parent .slide-toggle{
background-color:#000 !important;
}

.navigation_item .item a{
background-color:#333 !important;
}

.to-list a{
	display:block;
	padding:.5rem;
	text-align:center;
	  background-color: #619dc8;
	color:#fff;
}

/*============================
#pwa
============================*/
#pwa {
	background-image:url(../img/contact-bg.png);
  background-size:cover;
	position:relative;
  background-position:center center;
	color:#fff;
	text-align:center;
	padding:2rem;
}
#pwa .mask{
	top:0;
	left:0;
	width:100%;
	position:absolute;
	height:100%;
	background-color:rgba(0,0,0,0.5);
	z-index:0;
}
#pwa .img {
	position:relative;
}
#pwa .img .fas.fa-building {
	font-size:3rem;
}
#pwa .ttl {
	position:relative;
	font-size:1.5rem;
}
#pwa .sub-ttl {
		position:relative;
	font-size:1.3rem;
}
#pwa .txt {
		position:relative;
}
.to-contact {
		position:relative;
}
.to-contact a{
	display:inline-block;
	padding:1rem;
	font-size:1.3rem;
	max-width:300px;
	background-color:#ff4949;
	color:#fff;
}
.to-contact a:hover{
	background-color:#ff7878;
}
.to-contact.blue a{
	background-color: #4481ad;;
}
.to-contact.blue a:hover{
	background-color:#94c5e8;
}

/*============================
#service-nav
============================*/
#service-nav {
}
#service-nav .ttl {
	border-bottom:1px solid #959595;
	text-align:center;
	color:#fff;
	padding:1rem;
	font-weight:bold;
	font-size:1.1rem;
}
#service-nav .list {

}
#service-nav .list a{

}
a.arrow{
	position:relative;
	display:block;
	padding:.8rem;
	color:#fff;
	border-bottom:1px solid #959595;
}
a.arrow::before {
    content: '';
    height: calc(10rem / 20);
    width: calc(10rem / 20);
    border-left: .05rem solid #fff;
    border-bottom: .05rem solid #fff;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    position: absolute;
		top: 1.8em;
    right: 1em;
}

.table th{
	background-color:#efefef;
}
.table-bordered td, .table-bordered th {
    border: 1px solid #ccc;
}

.copy{
	text-align:center;
	font-size:2rem;
	padding:2rem 0;
	    line-height: 1.5;
}
.copy-sub{
	text-align:center;
	padding-top:2rem;
}
.copy-sub span{
/*	word-break: break-all;*/
	font-size: 2.5rem;
	display:inline-block;
	border-bottom:4px solid #333;
	padding-bottom:.5rem;
	    line-height: 1em;
	color:#000;
    font-weight: bold;
	/*
	text-shadow:
        black 1px 1px 0, black -1px -1px 0,
        black -1px 1px 0, black 1px -1px 0,
        black 0px 1px 0, black  0-1px 0,
        black -1px 0 0, black 1px 0 0;
				*/
}
.copy-txt{
	text-align:center;
}
.box2{
	display:flex;
}
.box2 .img{
	width:40%;
}
.box2 .img img{
	width:100%;
}
.box2 .info{
	width:60%;
	padding-left:2rem;
}
.box2 .info .num{
	font-size:5rem;
	font-family:arial,sans-serif;
	font-weight:700;
	font-style:italic;
	    line-height: 1;
}
.box2 .info .ttl{
	font-size:1.5rem;
	    line-height: 1.5;
}
.box2 .ttl:after {
    content: "";
    width: 22px;
    height: 2px;
    margin: 1rem 0;
    background-color: #000;
    display: block;

}
.box2 .info .txt{}

	.icons .list{
	 display:flex;
	 justify-content:space-around;
	 flex-wrap:wrap;
 }
 .icons .item{
	 width:15%;
 }
 .icons .info{

	 padding:1rem 0 0;
 }
 .icons .list .ttl{
	 font-weight:bold;
	 text-align:center;
	 font-size:1.1rem;
			 padding-top: .5rem;
 }
 .icons .list .ttl::after{
	 content: "";
		 width: 22px;
		 height: 2px;
		 margin: 1rem auto;
		 background-color: #000;
		 display: block;
 }

 .icons .list .img{
	 width:150px;

	 overflow:hidden;
	 margin:0 auto;
	 border-radius:50%;

 }
 .icons .list .txt{}

.strength .list .img{
	height:150px;
	text-align:center;
	padding-top:1.5rem;
	background-color:#1d9459;
}

.strength.icons .item{
	width:25%;
}

.step{}
.step .list{
  display:flex;
  border-bottom:1px solid #ccc;
  padding-bottom:2rem;
  margin-bottom:2rem;
}
.step .list .step{
  text-align:center;
  width:80px;
  height:80px;
  border-radius:50%;
  color:#fff;
  background-color:#000;
  line-height:80px;
}
.step .list .info{
  width:calc(100% - 80px);
  padding:0 1rem;
}
.step .list .info .ttl{}
.step .list .info .txt{}

	.step-icon{}
	.step-icon .list{
	  display:flex;
	  border-bottom:1px solid #ccc;
	  padding-bottom:2rem;
	  margin-bottom:2rem;
	}
	.step-icon .list .step{
	  text-align:center;
	  width:60px;
	}
	.step-icon .list .step img{
		width:50px;
	}
	.step-icon .list .info{
	  width:calc(100% - 60px);
	  padding:0 1rem;
	}
	.step-icon .list .info .ttl{
		margin-top: 16px;
	}
	.step-icon .list .info .txt{}

hr.line{
	border-bottom:2px solid #000;
}

.blog-ttl{
	padding-bottom: .5rem;
	letter-spacing: .5rem !important;
	font-size: 26px;
	border-bottom: solid 3px black;
}

.more{

}
.more{
	text-align:center;
}
.more .to a{
	display: inline-block;
	padding: 1rem;
	font-size: 1.3rem;
	max-width: 300px;
	background-color: #ff4949;
	color: #fff;
}
.more .to a.login{
	background-color:#3597EE;
}

footer .link-list {
		display:flex;
}
footer .link-list .sub a{
	display:block;
}
footer .link-list .item{
	width:300px;
	font-size: 12px;
	line-height: 1.7;
}

.contact-table th{
	width:200px;
}

.link{
	color:#48ab2a;
	text-decoration:underline;
}
.link:hover{
	color:#48ab2a;
	text-decoration:none;
}

.paging-article{

	overflow:hidden;
}

.paging-article a{
	text-decoration:underline;
	color:#607d57;
}
.paging-article a:hover{
	text-decoration:none;
}
.paging-article .prev{
	width:50%;
	float:left;

}
.paging-article .next{
	width:50%;
	float:right;
	text-align:right;
}

.paging-article small{
	color:#999;
}

.entry-content h2  {
	text-align:left;
	color: #000;
	padding: 0.5em 0;
	border-top: solid 3px #000;
	border-bottom: solid 3px #000;
    font-size: 1.5rem;
}

.entry-content h3 {
	text-align:left;
	background: #ccc;
	padding: 0.5em;
	    font-size: 1.2rem;
}

.entry-content h4 {
	text-align:left;
	padding: 0.25em 0.5em;
	color: #000;
	background: transparent;
	border-left: solid 5px #000;
	    font-size: 1.1rem;
}

.entry-content h5 {
	text-align:left;
background: linear-gradient(transparent 70%, #ccc 70%);
font-size:1.3rem;
color: #000;
    font-size: 1.1rem;
}


.sp-only{
	display: none;
}


.sns-icon{

}

.sns-icon li{
	display:inline-block;
	font-size:30px;
}
.sns-icon li a{
	color:#666;
	display:block;
	padding:1rem .5rem;
}
.sns-icon li a:hover{
	color:#999;

}

/* 以下タブレット(col-md)の設定 */
@media screen and (max-width: 992px) {


}
