@charset "utf-8";
/* CSS Document */


/*---------------------------------------- common start */

html{
	font-size: 62.5%;
	line-height:1.8rem;
}
body {
	min-width:320px;
	font-size: 1.5rem;
	font-family: 'Roboto', sans-serif;
	color:#333;
	background:#FFF;
	width:100%;
	font-weight:bold;
	line-height:170%;
}
/*---------------------------------------- common end */

p.border img{
	margin-top:2%;
	vertical-align:middle;
}

.wrap_topImg{
	width:100%;
	background:#CCC;
}
.wrap_topImg div{
	max-width:1400px;
	margin:0 auto;
}
.wrap_topImg div img{
	width:100%;
	max-width:1400px;
	min-width:320px;
}







@media (max-width: 640px) {
	
/*------------------------------------------ 共通 */	

main{
	display:block;
	width:90%;
	margin:25% auto;
}
.contents{
	text-align:left;
	
}
/*-- タイトル --*/
.title_wrap{
	width:90%;
	margin:10% auto;
}

.contents p.heading_txt{
	margin:10px 0 50px;
	line-height:200%;
}
.contents p.text{
	margin:3% 0 12%;
	line-height:170%;
}
h1.title_01{
	color:#333333;
	font-family:"CrimsonText-Semibold";
	font-size:3.3rem;
}
h1.title_02{
	color:#4E0C70;
	font-family:"CrimsonText-Semibold";
	font-size:3.3rem;
	line-height:130%;
}
	
h2{
	color:#333;
	font-size:2rem;
	margin:7% 0;
}
h3{
	color:#570B81;
	font-size:1.8rem;
	margin:5% 0 2%;
}


br.pc{
	display:none;
}

/*------------------------------------------ 共通 */	

/*------------------------------------------ top */	
/*-- トップイメージ --*/
.wrap_topImg{
	margin:19% 0 0;
}

/*--スライド--*/
.carouselWrap {
  position:relative;
  max-width: 640px;
  height:250px;
  margin:0 auto;
  overflow:hidden;
}
.carousel{
	position:absolute;
	left:50%;
	width:2400px;
	margin-left:-420px;
}

.column {
	float: left;
	width:220px;
	margin-left:1.5%;
}
.column img{
	width:100%;
}
p.text_top{
	font-family: 'Roboto', sans-serif;
	margin-bottom:150px;
	font-size:1.5rem;
	font-weight:500;
	line-height:170%;
	text-align:left;
}	
/*---------------------------------------- top*/	
/*---------------------------------------- community_outreach*/
.float_box div{
	width:90%;
	float: none;
	margin: 10px auto;
	text-align:center;
	border-top: 1px solid #EEEBEB;
	border-bottom: 1px solid #EEEBEB;
}
	
	
.float_box div p{
	text-align:center;
}
.float_box div p.icon_text{
	width:70%;
	margin:1% auto 5%;
	font-size:1.2rem;
}
	.float_box div p.icon_text:before{
	content:url("../community_outreach/img/arrow.png") ;
	margin: 2px;
    position: relative;
    top: 2px;
	}
.float_box div p.icon_text a:hover{
	transition: 0.5s ;
	color:#aaa;
}
/*---------------------------------------- community_outreach*/


/*---------------------------------------- contact*/

div.contact_index{
	width:90%;
	margin:0 auto;
	font-family: 'Roboto', sans-serif;
	font-weight:200;
	letter-spacing:1px;
}
div.contact_index .box.left{
	margin-right:4%;
}
div.contact_index .box h2{
	font-family:"CrimsonText-Bold";
	margin:10px 0 25px 0;
	font-size:2rem;
}
div.contact_index .box p.place{
color: #570B81;
font-size: 1.8rem;
margin: 80px 0 15px;
padding-bottom:10px;
border-bottom:1px solid #570B81;
 
}

div.contact_index .box > div:nth-child(2){
	text-align:center;
	margin:3% 0 5%;
}
div.contact_index p.mail{
	margin-bottom:20px;
	padding-left:35px;
	background:url("../img/icon_01.png") no-repeat left;
}
 div.contact_index p.tel{
	padding-left:35px;
	background:url("../img/icon_02.png") no-repeat left;
}
	
	
/*---------------------------------------- contact*/


/*---------------------------------------- footer start */
footer {
	width:90%;
	margin:20px auto;
	letter-spacing:1px;
}
footer div h4{
	width:120px;
	margin:8% 0;
	padding:20px 0 0;
	border-top:4px solid #333;
	font-family:"CrimsonText-Bold";
	font-size:1.6rem;
}
footer div.footer_access,
footer div.footer_contact{
	font-family:"CrimsonText-Semibold";
	margin:0 0 25%;
	font-size:1.4rem;
}
footer div.footer_contact p a{
	color:#333;
}
footer div.footer_contact p a:hover{
	color:#aaa;
}
footer div.footer_contact ul{
	list-style:none;
	display:flex;
	-webkit-display:flex;
	width:20% !important;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top:2%;
}
footer div.footer_contact ul li{
	font-size:0;
	line-height:0;
	width:40% !important;
}
footer div.footer_contact ul li img{
	width:100% !important;
}

footer div.footer_nav ul li{
	font-family:"CrimsonText-Semibold";
    text-align:center;
    padding: 20px 30px 0;
    line-height: 100%;
}
footer div.footer_nav ul li a{
	width:100%;
	padding: 20px 30px 0;
}
footer div.copy_sp {
	border-top:1px solid #ccc;
	font-family:"CrimsonText-Semibold";
	font-size:0.9rem;
	color:#333;
	margin-top:15px;
	padding-top:15px;
	text-align:center;
}
footer div.footer_nav ul li a span:before,
footer div.footer_nav ul li span:before{
    content: "";
    display: inline-block;
    width: 8px;
    border-bottom: 3px solid #96C;
    margin: 0 5px 3px 0;
}
footer div.footer_nav ul li.stay{
	color:#aaa;
}
footer div.footer_nav p.copy {
	display:none;
}
/*---------------------------------------- footer end */
	}


/*---------------------------------------- sp start */


@media (min-width: 641px) {
/*------------------------------------------ 共通 */		

main{
	width:1000px;
	margin:3% auto 10%;
	display:block;
}
.title_wrap.top{
	width:1000px;
	margin:40px auto 2%;
}
.title_wrap{
	width:1000px;
	margin:40px auto 10%;
}
.contents{
	width:1000px;
	margin:0 auto 220px;
	text-align:left;
	
}
.contents p.heading_txt{
	margin:10px 0 50px;
	line-height:200%;
}
.contents p.text{
	margin:10px 0 50px;
	line-height:170%;
}
h1.title_01{
	color:#333333;
	font-family:"CrimsonText-Semibold";
	font-size:4rem;
}
h1.title_02{
	color:#4E0C70;
	font-family:"CrimsonText-Semibold";
	font-size:4rem;
	line-height:130%;
}	
h2{
	color:#333;
	font-size:2.5rem;
	margin:20px 0 40px;;
}
h3{
	color:#570B81;
	font-size:1.8rem;
	margin:15px 0;
}




/*------------------------------------------ 共通 */	
	
/*------------------------------------------ top */		
p.text_top{
	font-family: 'Roboto', sans-serif;
	margin:50px 0 40px;
	font-size:1.6rem;
	font-weight:600;
	line-height:300%;
	letter-spacing:1px;
}	



/*--スライド--*/

.carouselWrap {
  position:relative;
  max-width: 1400px;
  height:390px;
  margin:0 auto 5%;
  overflow:hidden;
}
.carousel{
	position:absolute;
	left:50%;
	width:2400px;
	margin-left:-1010px;
}

.column {
	float: left;
	margin-left:2%;
}
.column img{
	width:100%;
}


/*------------------------------------------ top */	
/*---------------------------------------- community_outreach*/

.float_box div{
	width:220px;
	float:left;
	margin: 0 4px 0 0;
	text-align:center;
	border-left: 1px solid #EEEBEB;
	border-right: 1px solid #EEEBEB;
}
.float_box div img{
	text-align:center;
}
.float_box div p.icon_text{
	margin:0;
	padding:0;
	font-size:1.1rem;
	letter-spacing: -0.05em;
}
	.float_box div p.icon_text:before{
	content:url("../community_outreach/img/arrow.png") ;
	margin: 2px;
    position: relative;
    top: 2px;
}
	
	
.float_box div p.icon_text a:hover{
	transition: 0.5s ;
	color:#aaa;
}
/*---------------------------------------- community_outreach*/
/*---------------------------------------- contact*/

div.contact_index{
	margin:25px 0 60px;
	font-family: 'Roboto', sans-serif;
	font-weight:200;
	letter-spacing:1px;
}
div.contact_index .box{
	width:48%;
	float:left;
}
div.contact_index .box.left{
	margin-right:4%;
}
div.contact_index .box h2{
	font-family:"CrimsonText-Bold";
	margin:10px 0 25px 0;
	font-size:2rem;
}
div.contact_index .box p.place{
color: #570B81;
font-size: 1.8rem;
margin: 15px 0;
padding-bottom:10px;
border-bottom:1px solid #570B81;
 
}
div.contact_index .box div{
	float:left;
}
div.contact_index .box > div:nth-child(2){
	margin-right:30px;
}
div.contact_index p.mail{
	margin-bottom:20px;
	padding-left:35px;
	background:url("../img/icon_01.png") no-repeat left;
}
 div.contact_index p.tel{
	padding-left:35px;
	background:url("../img/icon_02.png") no-repeat left;
}
	
	
/*---------------------------------------- contact*/

/*---------------------------------------- footer start */
footer {
	width:1000px;
	margin:20px auto;
	letter-spacing:1px;
}
footer div h4{
	width:120px;
	margin:30px 0;
	padding:20px 0 0;
	border-top:4px solid #333;
	font-family:"CrimsonText-Bold";
	font-size:1.6rem;
}
footer div.footer_access,
footer div.footer_contact{
	margin:0 0 120px;
	font-family:"CrimsonText-Semibold";
}
footer div.footer_access p{
	font-size:1.4rem;
}
footer div.footer_contact p{
	font-size:1.4rem;
}
footer div.footer_contact p a{
	color:#333;
}
footer div.footer_contact p a:hover,
footer div.footer_nav ul li a:hover{
	transition: 0.5s;
	color:#aaa;
}
footer div.footer_contact ul{
	list-style:none;
	display:flex;
	-webkit-display:flex;
	width:8% !important;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top:2%;
}
footer div.footer_contact ul li{
	font-size:0;
	line-height:0;
	width:40% !important;
}
footer div.footer_contact ul li img{
	width:100% !important;
}

footer div.footer_nav ul li{
	float:left;
	font-family:"CrimsonText-Semibold";
	display: inline-block;
    padding: 20px 40px 0 2px;
    line-height: 100%;
    font-size: 1.2rem;
}

footer div.footer_nav p.copy {
	border-top:1px solid #ccc;
	font-family:"CrimsonText-Semibold";
	font-size:1.1rem;
	color:#333;
	padding-top:13px;
	text-align:right;
}


footer div.footer_nav ul li a span:before,
footer div.footer_nav ul li span:before{
    content: "";
    display: inline-block;
    width: 8px;
    border-bottom: 3px solid #4E0C70;
    margin: 0 5px 3px 0;
}

footer div.footer_nav ul li.stay{
	color:#aaa;
}
.copy_sp{
	display:none;
/*---------------------------------------- footer end */
	}
	
	

	.community_logos .company_item{
		margin-bottom: 10px;
	}