@charset "utf-8";

/* main image */
#mainHdImg{
    min-width:980px;
    max-width:1440px;
    height:auto;
    margin:0 auto;
	position: relative;
}

#mainHdImg .logoMark {
    display: block;
    height: 1.4em;
    color: #2b84d2;
    font-size: 2em;
    padding: 0.5em 0;
}

#mainHdImg .titleArea{
    position: absolute;
    top:30px;
    left:0;
    display:block;
    width:100%;
    text-align: center;
    z-index:2;
}
#mainHdImg .slider div{
    height:300px;
    background-color:#efefef;
    background-position: center 67%;
    background-repeat: no-repeat;
    background-size:cover;
    position: relative;
   
}
#mainHdImg h2{
    box-sizing: border-box;

	color: #614336;
    letter-spacing: 0.2em;	
	    width: 85%;
    margin: 15px auto 20px;
    font-size: 1.8em;
    line-height: 1.4em;
    font-weight: bold;
    text-align: center;
    padding-top: 0;
	
}
#mainHdImg .logoMark::before{
    font-family:'marurino';
    content:'\e917';
font-size: 1.5em;
    margin-right: 8px;
    vertical-align: -0.2em;
}
#mainHdImg p{
    padding:1em;
    font-size:1.1em;
    line-height: 1.6em;
}


#testimonials #lead{
    min-width: 980px;
    max-width: 1200px;
    margin: 40px auto 10px;
    text-align: center;
	padding: 2em 1em 0;	
}


#lead p{
	line-height: 2; 
}

.co h2{
    font-size:1.6em;
    letter-spacing: 0.2em;
    margin-bottom:1em;
    text-align: center;
}
.co h2:before{
    width:100%;
    font-family: "marurino";
    display: block;
    font-size:1.6em;
    color:#2b84d2;
    padding:0.5em 0;
    text-align: center;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.co h3{
    font-size:1em;
    text-align: center;
    line-height: 2em;
    padding:2em 1em;
}


.co p#lead{
    min-width:980px;
    max-width:1200px;
    padding:0 20px;
    display: block;
    font-size:1.1em;
    line-height: 1em;
    padding:0.5em 0;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    margin:0 auto 1em;
}

/*-----tablet-----*/

@media screen and (max-width:979px) {

#mainHdImg{
    min-width:0;

}
	
.co p#lead{
    min-width:0;
}
	
}

/*-----smartphone-----*/
@media screen and (max-width:767px) {

#mainHdImg{
    height: 212px;

}
	
	#mainHdImg .titleArea{
		top: 12px;
	}
	
#mainHdImg .logoMark{
font-size: 1.3em;
	padding: 0;
	color: #fff;
}
	
#mainHdImg h2 {
	padding: 0.3em 0;
    font-size: 1.3em;
    color: #000;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
margin: 10px auto 15px;
	letter-spacing: 0;
	line-height: 1.3;
}
	
#mainHdImg .slider div {
    height: 212px;


	background:#2b84d2 url(../images/cat_top.svg) center bottom no-repeat !important;
		background-size: 38vw;
}
	
	#mainHdImg p {
		padding: 0;
		font-size: 1.1em;
		line-height: 1.5;
		color: #fff;
		font-weight: bold;

	}
	
	
#testimonials #lead{
    min-width: 0;
padding: 30px 0 52px;
background: url(../images/voice_lead_bg.jpg) no-repeat center bottom;
    background-size:cover;
	margin: 0;

}	
	

#testimonials #lead p{
	line-height: 1.5em; 
	margin-bottom: 1em;
}
	
.co h3 {
    padding: 1em 0;
		font-size: 0.96em;
	line-height: 1.5;

}
}


/*------------------------------------------------
 testimonials
------------------------------------------------*/




#testimonials .co{
    min-width: 980px;
    max-width: 1200px;
    margin: 0 auto 0;
    text-align: center;
}



/*-----smartphone-----*/
@media screen and (max-width:767px) {

#testimonials .co {
    min-width: 0;
    margin: 0 auto 0;


}
}

/* ranking ------------------------------------------*/

#ranking{
    padding:30px 20px 0;
}

#ranking .best5{
	margin: 0 auto 100px;
    position: relative;
}
#ranking .best5::before{
    content: '';
    display: block;
    width:0;
    height:0;
    position: absolute;
    left:calc(50% - 30px);
    bottom:-90px;
    border:solid 30px transparent;
    border-top:solid 25px #2b84d2;
}

#ranking .flex{
	align-items: center;
    font-size:0.95em;
}

#ranking h3{
    border-bottom:solid 1px #000;
	padding:0 0 5px;
	margin-bottom: 30px;
    text-align: left;
    font-weight: 700;
}
#ranking h3 span{
	font-size: 1.4em;
    padding:0 0.1em;
}

#ranking table{
	width: 32.7%;
	border-collapse: separate;
    border-spacing: 2px;
	
}
#ranking th{
	width: 15%;
	font-size: 1.5em;
	line-height: 2em;
	text-align: center;
    color:#fff;
	background-color: #2b84d2;
}
#ranking th span{
	font-size: 0.6em;
}
#ranking td{
    padding:5px 15px;
    text-align: left;
	line-height: 1.2em;
	background-color: #DAE9F7;
    box-sizing: border-box;
}

#ranking .orgBox{
/*	width: calc(100% - 430px);*/
	width:63%;
    min-height: 230px;
	padding: 10px 30px;
    padding-right: 31%;
	border: 2px solid #2b84d2;
	box-sizing: border-box;
    text-align: right;
    position: relative;
}
#ranking .orgBox::before,
#ranking .orgBox::after{
    content: '';
    display: block;
    width:0;
    height:0;
    position: absolute;
    right:100%;
    top:calc(50% - 20px);
    border:solid 20px transparent;
}
#ranking .orgBox::before{
    border-right:solid 30px #2b84d2;
}
#ranking .orgBox::after{
    border-right:solid 30px #fff;
    margin-right: -3px;
}
#ranking .orgBox p{
    padding:20px 0 0;
    font-size:0.96em;
    line-height: 1.6em;
    text-align: left;
}
#ranking .orgBox p:nth-of-type(2){
    border-top:solid 1px #2b84d2;
}
#ranking .orgBox .rCornerBtn{
    margin-top:1em;
    margin-left: auto;
}
.rCornerBtn:hover{
	background-color: #000;
}
#ranking .orgBox img{
    width:34%;
    height: auto;
    position: absolute;
    right: 7% ;
/*    top: calc( 50% - 90px);*/
	top: 29%;
}

#ranking .best5 > p{
    line-height: 1.6em;
    font-size:1em;
    font-weight: 700;
/*	margin: 2.5em 0 0;*/
}

#ranking .flex + p{
	margin-top: 2.5em;
}

/*-----tablet-----*/

@media screen and (max-width:979px) {
	
}

/*-----smartphone-----*/
@media screen and (max-width:767px) {
	
#ranking{
    padding:0 20px 0;
}
	
#ranking .best5{
	margin-bottom: 0.5em;

}
	
	#ranking .best5::before{
		display: none;
	}

	#ranking h3 {
		text-align: center;
		font-size: 1.1em;
		color: #2b84d2;
		border: none;
	    margin: 0 auto 20px;
		line-height: 1.8;
	}
	
	#ranking .flex {
		display: block;
	}
	
	#ranking .flex + p{
		margin-top: 1.5em;
	}
	
	#ranking table {
    width: 100%;
}
	
	#ranking .orgBox {
    width: 100%;
    padding: 0 5vw;
	margin-top: 20px;
}
	
#ranking .orgBox::before,
#ranking .orgBox::after{
	right: inherit;
	top: inherit;
    bottom:100%;
    left:calc(50% - 15px);	
    border:solid 15px transparent;
}
#ranking .orgBox::before{

	border-bottom:solid 20px #2b84d2;
}
#ranking .orgBox::after{
	border-bottom:solid 20px #fff;
	margin-bottom: -3px;
}
	
	#ranking .orgBox .rCornerBtn {
		    width: 82%;
		text-align: center;
	}

	#ranking .orgBox p:last-of-type{
		margin-bottom: 80px;
	}	
	
	#ranking .orgBox img {
		top: inherit;
		bottom: 18%;
}
#ranking .best5 > p{
    font-weight:normal;
	text-align: left;
	line-height: 1.5;
	padding-bottom: 1em;

}	
	
}

/* feedback ------------------------------------------*/
#feedback .bgGry{
	background-color: #edf1eb;
}
#feedback .bgBlu{
	background-color: #ECF3F5;
}
#feedback .co{
	padding: 45px 10px;
    margin: 0 auto;
}
#feedback h3{
/*	margin-bottom: 20px;*/
    padding: 2em 0 1.5em;
	font-size: 1.1em;
	font-weight: bold;
	position: relative;
}
#feedback h3::before{
	content:"";
	width: 40px;
	height: 40px;
	position: absolute;
    top:calc(50% - 50px - 0.6em);
    left:calc(50% - 20px);
/*	top: 6px;*/
/*	left: 0;*/
}
#feedback #fdForPic h3::before{
	background:url(../images/icon_fd1.svg) no-repeat center bottom;
	background-size: contain;
}
#feedback #fdForUc h3::before{
	background:url(../images/icon_fd2.svg) no-repeat center bottom;
	background-size: contain;
}
#feedback #fdForAfter h3::before{
	background:url(../images/icon_fd3.svg) no-repeat center bottom;
	background-size: contain;
}
/*
#feedback img{
	width: 150px;
}
*/
#feedback .flex{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}
#feedback .fd{
    width:24%;
/*	margin-top: 1.5em;*/
	padding: 15px;
	border-radius: 5px;
	background-color: #fff;
	text-align: left !important;
    position: relative;
    box-sizing: border-box;
}
#feedback .fd::after{
    content: '';
    display: block;
    width:0;
    height:0;
    position: absolute;
    left:30px;
    top:100%;
    border-right:solid 25px transparent;
    border-top:solid 20px #fff;
}
#feedback .fd .fdIcon{
	width: 25px;
	position: absolute;
	top: 0;
	left: -2px;
}
#feedback .fd .fdInner{
	position: relative;
	padding-left: 32px;
}
#feedback .fd p{
	display: inline;
	padding:0;
	line-height: 1.8em;
    font-size: 0.95em;

}
#feedback .fd p span{
	font-size: 0.85em;
}
#feedback + p{
    padding:40px 0;
	color:#fff;
    background-color:#2b84d2;
    font-size: 1.1em;
	font-weight: 700;
}



/*-----smartphone-----*/
@media screen and (max-width:767px) {
	
	#feedback .flex{
		flex-wrap: wrap;
	}
	
	
#feedback .fd {
    width: 100%;
	margin-bottom: 1.5em;
}
	
	#feedback .flex .fd:last-child{
		margin-bottom: 0;
	}	
	
#feedback .co {
    padding: 30px 0;
width: 90%;
    margin: 0 auto;
}	
	#feedback h3{
		text-align: left;
		    padding: 0.3em;	
		padding-left: 42px;
		    margin-bottom: 20px;
    color: #2b84d2;
    border-top: solid 1px #2b84d2;
    border-bottom: solid 1px #2b84d2;	
	
	}	
	
	#feedback h3::before {
	content: "";
    width: 35px;
    height: 35px;
    background-size: cover;
    position: absolute;
    top: 6px;
    left: 0;
}
	
	#feedback h3 + img{
	    width: 150px;
		height: auto;
		margin: 0 auto 2em;
}	

	
#feedback .fd::after {

    display: none;

}
	
#feedback .fd p {
    border-bottom: 1px dotted #2b84d2; 
	font-size: 1em;
	line-height: 2em;
	
}	
	
#feedback + p{
	color: #000000;
	background:#edf1eb url(../images/cat.svg) center bottom no-repeat;

}
	
}


/* eventSeminar ------------------------------------------*/
#eventSeminar{
	padding: 60px 15px;
	background-color: #f7f4ed;
	position: relative;
}
#eventSeminar .esInner{
	margin: 0 auto;
	border-radius: 5px;
    text-align: center;
}
#eventSeminar .icon{
	margin-top: 2em;
	font-size: 1em;
	font-weight: 700;
	text-align: center;
	color: #2b84d2;
	position: relative;
}
#eventSeminar .icon::before{
	font-family: 'marurino';
	content:'\e90b';
	font-size:60px;
	position: absolute;
	top: -1em;
	left: calc(50% - 30px);
    
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#eventSeminar h3{
    padding:0.7em 0 1em;
	color: #000;
	font-weight: 700;
	font-size: 1.2em;
}
#eventSeminar h3 + p {
	font-size: 0.9em;
/*	font-weight: 700;*/
	line-height: 1.6em;
}
#eventSeminar .flexCenter {
/*	width: 85%;*/
	margin: 1.5em auto 1em;;
}
#eventSeminar .flexCenter span{
	margin: 0 20px 0 0;
}
#eventSeminar .flexCenter span img{
	width: 100%;
	height: auto;
    padding:0 10px;

}
#eventSeminar a{
/*	width: 80%;*/
    width:21em;
	margin: 0.8em 0.5em 0;
	font-size: 0.9em;
}

/*-----tablet-----*/

@media screen and (max-width:979px) {
	
}

/*-----smartphone-----*/
@media screen and (max-width:767px) {
	
#eventSeminar {
    background-color:#2b84d2;
    padding: 30px 0;
}
	
#eventSeminar .esInner {
    margin: 0 auto;
    padding: 5vw;
    background-color: #fff;
    border-radius: 5px;
	width:calc(80% - 10vw) ;
    height: auto;
}
	
#eventSeminar a{
    width: 80%;
    margin-top: 0.8em;
    font-size: 0.85em;
	min-width: 7em;
    display: inline-block;
    line-height: 1;
    padding: 0.7em 2.5em 0.7em 1em;
    border-radius: 2.5em;
    color: #2b84d2;
    background-color: #fff;
    border: solid 2px #2b84d2;
    position: relative;
    font-weight: bold;
}
	
	#eventSeminar a:after{
    content: '\e92f';
    color: #2b84d2;

	}	

#eventSeminar .icon::before {
    font-size: 8vw;
    top: -0.9em;
    left: 50%;
    margin-left: -4vw;
}

	#eventSeminar h3{
		font-size: 1.25em;
		padding-bottom: 20px;
	}
#eventSeminar h3 + p {
	font-weight: 700;
	padding-bottom: 2em;

}
	
#eventSeminar .flexCenter {
    width: 85%;
    margin: 0 auto 1em;
	display: flex;
    justify-content: space-between;
}

#eventSeminar .flexCenter span {
    margin: 0;
	width: 49%;
}	
	#eventSeminar .flexCenter span img{
		padding: 0;
	}	
}

.blue{
  color:#2b84d2;
}