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

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

body {
	font-family: Helvetica, メイリオ, ヒラギノ角ゴ Pro W3,  Arial, sans-serif;
	color: #404040;
	
	}


/* --- text-link --- */
a:link { color: #0000ff; }
a:visited { color: #000090; }
a:hover { color: #c07100; }
a:active { color: #c07100; }

/* --- img-link --- */
a.link {} 
a.link :link    {}  
a.link :visited {}  
a.link :hover   {opacity:0.8;}  
a.link :active  {opacity:0.8;} 
a.link :hover img {filter:alpha(opacity=50);} 


/* --- clearfix --- */
.clearFix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearFix {
	min-height: 1px;
}



h2.title {
	font-family: "Sawarabi Mincho";
	margin: 0 auto 20px;
	font-size: 22px; /* --- vp設定 --- */
	line-height:160%;
	text-align: center;
	padding: 10px 0;
	letter-spacing: 1px;
}


h2.category {
	font-family: 'Pragati Narrow', sans-serif;
	margin: 2% auto;
	color:#0075c2;
	font-size: 30px; /* --- vp設定 --- */
	line-height: 80%;
	text-align: center;
}
	h2.category span{
		font-family: メイリオ, sans-serif;
		display: block;
		color: #b68e55;
		font-weight: normal;
		font-size:14px;
		text-align: center;
		padding: 0;
	}



.text {
	margin: 1% auto;
}
.text p {
	padding: 0 10px;
	font-size: 85%;   /* --- vp設定 --- */
	line-height: 200%;
	text-align: left; /* --- vp設定 --- */
}




/* -----------------------------------------
				▼ header ▼				
----------------------------------------- */


	#siteTitle-pc { display:none;}
	#siteTitle-sp {
		display: block;
		background:#FFF;
	}
		.siteTitle-sp {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
			max-width: 1120px;
			margin: 0 auto;
		}		
		.siteTitle-sp a{
			color:#0075c2;
			text-decoration: none;
		}
		.siteTitle-sp i{
			color:#0075c2;
			margin-right: 10px;
			margin-bottom: 15px;
			font-size:30px;
		}
		.siteTitle-sp img{
			margin-top: 15px;
			margin-bottom: 15px;
			max-width: 100%;
		}
	

	#lead-sp {
		display:block;
		height: 150px;
		width: 100%;
		background-color: rgba(0,0,0,0.80);
		position: absolute;
		bottom: 0;
		text-align: center;
		line-height: 150px;
	}
	#lead-sp img {
		max-width:100%;
		vertical-align: middle;
	}
	#lead { display:none;}

	#header-pc {display:none;}
	#header-sp {
		display:block;
		background-color: rgba(0,0,0,0.80);}
	#header-sp img {
		max-width:100%;
		border-bottom: 5px #003366 solid;
	}
	
	#header_gnav {display:none;}	
	#header_gnav_sp {
		display:block;
		background: rgba(0,0,0,0.80); }
	#header_gnav_sp ul {
      max-width: 1120px;
      margin-left: auto;
      margin-right: auto;
      line-height: 0;
      display: table;
      table-layout: fixed;
      width: 100%; }
    #header_gnav_sp li {		
      display: table-cell;
	  text-align: center;
      width: 20%;
	  color:#FFF;
	  font-size: 75%;
	  border-right: 1px #FFF solid;
	  }
	#header_gnav_sp li.last {		
      border-right: none;}  

    #header_gnav_sp a {
	  color:#FFF;
	  text-decoration: none;
      display: block;
      width: 100%;
	  height: 100%;
      padding-top: 20px;
      padding-bottom: 20px;
	 }
	#header_gnav_sp a:hover{
		color:#ffff7f;
		text-decoration: underline;
	}
	  
		


	
/* -------------------------------------
			▼ contents ▼				
------------------------------------- */


#contents { 
	background-image: url(image/backimage.png);
	background-repeat: no-repeat;
	background-position: center 0%;
}

#container {
	max-width: 1120px;
	margin: 2% auto;
	padding: 2% 0;
}

.section {
	margin: 0 auto;
	padding: 2% 0;
	width: 95%;
}


.service {
	display: flex;
	justify-content: space-between;
	/* --- 折り返し --- */	
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.service .item {
	width: 48.5204%;
	margin-bottom: 15px;
}
.service .item img {
	max-width: 100%;
	box-shadow:2px 2px 2px #dcd6d2;
}


.service .item h4 {
	font-family: 'Crimson Text', sans-serif;
	color: #433d3c;
	margin: 10px 0 0;
	padding: 10px 10px 0;
	text-align:center;
	font-size: 95%;
	line-height:100%;
}
.service .item h4 hr{
	border: 0;
	height: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
	width:80px;
}
.service .item p {
	font-family:Helvetica, メイリオ, ヒラギノ角ゴ Pro W3,  Arial, sans-serif;
	display:block;
	padding: 0 10px;
	color:#887f7a;
	font-size: 75%;
	line-height: 200%;
}

	

/* -------------------------------------
			▼ news ▼				
------------------------------------- */


h2.category-w {
	font-family: 'Pragati Narrow', sans-serif;
	margin: 2% auto;
	color: #ffffff;
	font-size: 30px; /* --- vp設定 --- */
	line-height: 80%;
	text-align: center;
}
	h2.category-w span{
		font-family: メイリオ, sans-serif;
		display: block;
		color: #ffffff;
		font-weight: normal;
		font-size:14px;
		text-align: center;
		padding: 0;
	}


#news {
	background-image: url(image/bg-02.jpg);
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center 0%;
}


	.topic div {
		background:#ffffff;
		flex-basis: 44%;
		padding: 20px;
		margin: 20px 0;
		border-radius:4px;
	}
	
	.topic div h3 {
		font-family: "Sawarabi Mincho";
		font-size: 120%;
		text-align: center;
		letter-spacing: 2px;
		padding-bottom: 10px;
		border-bottom: 1px dotted #c8c8c8;
	}
	.topic div dl {
		width: 100%;
		margin-bottom: 5px;
	}	
	.topic div dt {
		width: 4em;
		float: left;
		padding: 16px 0 8px 6px;
		font-size: 80%;
		line-height: 140%;
		color: #ed6d46;
	}
	.topic div dd {
		margin: 0;
		padding: 16px 0 8px 7.5em;
		font-size: 80%;
		line-height: 140%;
		border-bottom: 1px dotted #c8c8c8;
	}
	.topic div a {
		color:#404040;
	}
		.topic div a:hover {
			color:#F30;
		}
		



/* -------------------------------------
			▼ company ▼				
------------------------------------- */


#company {}


.aboutus{}
.aboutus img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	max-width: 90%; /* --- vp設定 --- */
}
.aboutus p{
	font-size: 85%; /* --- vp設定 --- */
	margin-bottom: 30px;
	padding-top: 10px;
	line-height: 180%;
	letter-spacing: 1px; /* --- vp設定 --- */
}
.aboutus dl{
	overflow: hidden;
}
.aboutus dt{
	margin-right: 30px;
	font-size: 80%; /* --- vp設定 --- */
	float: left;
	width: 6em;
	padding: 16px 0 8px 16px;
	line-height: 140%;
	border-right: 1px dotted #c8c8c8;
}
.aboutus dd{
	font-size: 80%; /* --- vp設定 --- */
	padding: 16px 0 8px 0;
	line-height: 140%;
	border-bottom: 1px dotted #c8c8c8;
}
.aboutus dd.first{
	border-top: 1px dotted #c8c8c8;
}


.map{
	border-top: 5px #003366 solid;
}



/* -------------------------------------
		▼ privacy policy ▼				
------------------------------------- */


#privacypolicy {}


h3.pp-item {
	font-weight:700;
	margin-top: 20px;
}


	
/* -----------------------------------------
				▼ footer ▼				
----------------------------------------- */

#footer {
	background: #0d0015;
	width: 100%;
	padding: 10px 0;
}
	#footer-container {
		width: 100%;
	}
	#footernav {
		max-width: 1120px;
		margin: 0 auto;
		padding: 15px 0;
	}
	
	.footer-logo {
			display: flex;
			justify-content: center;
		}
		.footer-logo img {
			float: left;
		}
		.footer-logo h1{
			float: left;
			color:#FFF;
			font-family: 'Ubuntu';
			font-size: 200%;
			line-height: 90%;
			padding: 10px 0 0 15px;
		}
			.footer-logo h1 span{
				display: block;
				color:#FFF;
				font-size: 14px;
				font-weight: bold;
				letter-spacing:1px;
				padding-left: 2px;
			}
			
	.footer-menu ul{
		max-width: 100%;
		text-align:center;
		margin-top: 15px;
		margin-bottom: 5px;
	}
	.footer-menu ul li.first{
		display: inline;
		color:#FFF;
		font-size: 80%;
		padding: 0 15px;
		border-right: 1px #FFF solid;
		border-left: 1px #FFF solid;
	}
	.footer-menu ul li{
		display: inline;
		color:#FFF;
		font-size: 80%;
		padding: 0 15px;
		border-right: 1px #FFF solid;
	}
	.footer-menu a{
		color:#FFF;
		text-decoration: none;
	}
	.footer-menu a:hover{
		color:#c07100;
		text-decoration: underline;
	}
	

		
	.copyright {
		text-align: center;
		font-size: 75%;
		letter-spacing: 1px;
		color: #fbfaf5;
		padding: 0 0 20px;
	}
	
	


/* ---------------------------------------------
					pc-style				
--------------------------------------------- */
@media screen and (min-width: 769px){
	
	h2.title {font-size: 36px;}

	h2.category {font-size: 40px;}
	h2.category-w {font-size: 40px;}	

	.text p {
		font-size:100%;
		text-align: center;
		letter-spacing: 2px;
	}

	#siteTitle-sp { display: none;}
	#siteTitle-pc {
		display:block;
		background:#FFF;
	}
		.siteTitle-pc {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
			max-width: 1120px;
			margin: 0 auto;
		}		
		.siteTitle-pc a{
			color:#0075c2;
			text-decoration: none;
		}		
		.siteTitle-pc img{
			margin-top: 23px;
			margin-bottom: 23px;
			max-width: 100%;
		}



	#lead-sp { display:none;}
	#lead {
		display:block;
		height: 200px;
		width: 56%;
		background-color: rgba(0,0,0,0.80);
		position: absolute;
		top: 330px;
		left: 0px;
		text-align: right;
		padding-right: 40px;
		line-height: 200px;
	}
	#lead img {
		max-width:100%;
		vertical-align: middle;
	}

	#header-sp {display:none;}
	#header-pc {
		display:block;
		height:772px;
		border-bottom: 7px #003366 solid;
	}
	
	#header_gnav_sp { display: none;}
	#header_gnav {
		display:block;
		background: rgba(0,0,0,0.80); }
    #header_gnav ul {
      max-width: 1120px;
      margin-left: auto;
      margin-right: auto;
      line-height: 0;
      display: table;
      table-layout: fixed;
      width: 100%; }
      #header_gnav ul::after {
        clear: both;
        content: "";
        display: table; }
    #header_gnav .label {
      color: #ffffff;
      display: inline-block;
      width: 100%;
      border-left: 1px solid #ffffff;
      height: 32px; }
    #header_gnav li {
      display: table-cell;
      text-align: center;
      vertical-align: top;
      position: relative;
      width: 20%; }
      #header_gnav li:last-child .label {
        border-right: 1px solid #ffffff; }
      #header_gnav li.active {
        background: #399da3; }
    #header_gnav a {
      display: block;
      width: 100%;
      height: 100%;
      padding-top: 20px;
      padding-bottom: 20px;
      transition: background .3s linear; }
      #header_gnav a:hover {
        background: #528fcc; }	
	
	

	.topic {
		display: flex;
		justify-content: space-between;
	}
	.topic div {margin: 0;}
	
	.service .item {
		width: 24%;
		margin-bottom: 0;
	}
	.service .item h4 {
		font-size: 105%;
		line-height:100%;
	}	

	.aboutus p{
		font-size: 95%;
		letter-spacing: 2px;
	}
	.aboutus dt{font-size: 90%;}
	.aboutus dd{font-size: 90%;}	


	.map{
		border-top: 10px #003366 solid;
	}


	#container { overflow: hidden; }


}



/* ---------------------------------------------
					pc-style				
--------------------------------------------- */
@media screen and (min-width: 1025px){

	.aboutus img{
		float: left;
		margin-right: 40px;
		max-width: 100%;
	}

}


