@charset "utf-8";

html,
html * {
	padding: 0px;
	margin:0;
	box-sizing: border-box;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"
}

header {
	padding: 12px;
}

body {
	margin-left: auto;
	margin-right: auto;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	margin-bottom: 20px;
}

.style-logo {
	margin-top: 0px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	/*width: 501px;*/
	max-width: 720px;
}
.style-nav {
	display: none;
}
.style-nav ul {
	list-style-type: none;
}

.style-nav ul li a {
	text-decoration: none;
	color:#151e27;
	text-align: center;
	display:block;
	padding: 4px;
	/*height: 38px;*/
	font-size: 18px;
}

.style-nav ul li a:hover{
	color:#3A6EA5;
	border-bottom: 2px solid #3A6EA5;
}
.main_contents {
	padding: 36px;
	font-size: 2.4vw;
	font-weight: 200;
}

.breadcrumb {
	margin: 0 0 0 18px;
  	padding: 0;
	list-style: none;
	font-size: 2.4vw;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: 200;
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #468CCF;/*色*/
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

.row:before,.row:after {
	content: "";
	display:table;
}

.row:after {
	clear:both;
}

.hero {
	background-image: url(image/hero.jpg);
	background-size: cover;
	padding: 20px 20px 50px 20px;
	color:#ffffff;
	text-align: center;
}
.hero_company {
	background-image: url(image/main_image.jpg);
	background-size: cover;
	padding: 20px 20px 50px 20px;
	text-align: center;
	color:#000000;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
	
}
.hero_ccb {
	background-image: url(image/key_ccb.jpg);
	background-size: cover;
	padding: 20px 20px 50px 20px;
	text-align: center;
	color:#000000;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.hero_cals {
	background-image: url(image/key_cals.jpg);
	background-size: cover;
	padding: 20px 20px 50px 20px;
	text-align: center;
	color:#000000;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.news {
	padding: 20px 10px;
}
.news table {
	border-collapse: collapse;
	
}

h1 {
	font-size: 3.0em;
	font-weight: 100;
	margin-bottom: 50px;
}
.contents h1 {
	margin-top: 20px;
	margin-bottom: 0px;
}
.main_contents h2 {
	padding: 8px;
	margin-bottom: 18px;
	font-size:1.4em;
	border-left: 10px solid #468CCF;
	/*border-bottom: 2px solid #f3f3f3;*/
	background-color: #EFEFEF;
	box-shadow: 1px 1px 3px #aaaaaa;
	box-sizing: border-box;
	
}
h3 {
	font-size: 2.0em;
	font-weight: 100;
	margin-bottom: 100px;
}
.contents h3 {
	margin-bottom: 40px;
}

.main_contents h3 {
	padding: 8px;
	font-size:1.2em;
	border-left: 8px solid #468CCF;
	border-bottom: 2px solid #f3f3f3;
	background-color: #CCE5FF;
	margin-bottom: 12px;
	margin-top:18px;
}
h4 {
	font-size: 14px;
	font-weight: 200;
	margin-bottom: 20px;
}
.main_contents h4 {
	font-size: 1.2em;
	margin: 4px 0 10px 0;
	padding: 4px 4px 4px 14px;
	/*background:url("image/arrow_green_s.gif") no-repeat 0px 0.4em;*/
	background-color:#F0F0F0;
	border-radius: 8px;
	border:solid 1px #c0c0c0;
}

p {
	font-size: 1.0em;
	font-weight: 200;
	margin: 4px 0 8px 0;
}
.main_contents .small {
	font-size: 0.8em;
	color: gray;
	margin: -8px auto 12px auto;
	text-align: center;
}
.main_contents table {
	width: 100%;
	border-collapse: collapse;
}

.main_contents table tr:nth-child(odd) {
	background-color: #FAFAFA;
}
.main_contents table tr.last {
	background-color: transparent;
	text-align: right;
}
.main_contents table td:first-child {
	white-space: nowrap;
}
.main_contents table td {
	border: 1px solid #c0c0c0;
	padding: 4px;
	vertical-align: top;
	font-size: 2.0rem;
	font-weight: 200;
}
.main_contents p {
	font-size: 1.0em;
	padding: 0 12px;
	margin: 4px 0 0px 0;
	/*line-height: 1.8rem;*/
}
.main_contents p strong {
	color: #ff3333;
	background: linear-gradient(transparent 30%, #fffa7d 30%);
}
.main_contents p strong2 {
	color: #000000;
	font-weight: bold;
	background: linear-gradient(transparent 90%, #fffa7d 15%);
}
.main_contents p.link a {
	font-size: 1.1em;
	color: #FFFFFF;
	background-color: #0066CC;
	text-decoration: none;
	border-radius: 6px;
	margin: 14px 0 14px 0;
}

.main_contents ul {
	margin-left: 24px;
	margin-bottom: 12px;
}
.main_contents li {
	display:list-item;
	font-size: 1.0em;
	list-style: disc;
	margin-left: 18px;
	/*height: 30px;*/
}
.main_contents img.center {
	max-width: 480px;
	margin: 0 auto 10px auto;
	text-align: center;
}
.main_contents img.center_mini {
	max-width: 160px;
	margin: 0 auto 10px auto;
	text-align: center;
}
.main_contents img.center_micro {
	max-width: 64px;
	oadding:10px;
	text-align: center;
	display: inline-block;
	float: left;
}
.main_contents img.center_mynavi {
	max-width: 260px;
	margin: 0 auto 10px auto;
	text-align: center;
}
.main_contents .col-md-qtrR img{
	max-width: 360px;
}
.team_ccb {
	margin: 0 4px 0 0;
	font-size: 60%;
	background-color: #a8e3b8;
	padding: 0 6px 0 6px;
	border: 1px #1a7e40 solid;
	border-radius: 4px;
}
.team_de {
	margin: 0 4px 0 0;
	font-size: 60%;
	background-color: #B5C9DD;
	padding: 0 6px 0 6px;
	border: 1px #14396A solid;
	border-radius: 4px;
}
.team_cals {
	margin: 0 4px 0 0;
	font-size: 60%;
	background-color: #c0e6e6;
	padding: 0 6px 0 6px;
	border: 1px #468CCF solid;
	border-radius: 4px;
}
.team_lab {
	margin: 0 4px 0 0;
	font-size: 60%;
	background-color: #ffff99;
	padding: 0 6px 0 6px;
	border: 1px #ffcc00 solid;
	border-radius: 4px;
}
 .team_total {
	margin: 0 2px 0 0;
	font-size: 60%;
	background-color: #ffcc99;
	padding: 0 6px 0 6px;
	border: 1px #ff9966 solid;
	border-radius: 4px;
}

.img_center {
  	margin: 0 auto;
  	text-align: center;
}

.button {
	border:2px #ffffff solid;
	padding:8px 20px;
	border-radius: 30px;
	color: #ffffff;
	text-decoration: none;
}

.color-tile h2 {
	font-size: 1.6rem;
}
.blue-box {
	background-color:#3A6EA5;
	color:#ffffff;
	padding: 30px 10px;
	text-align: center;
	/*background-image: url("image/gallery-4.png");*/
}

.green-box {
	background-color: #008080;
	color:#ffffff;
	padding: 30px 10px;
	text-align: center;
}

.orange-box {
	background-color:#D69A19;
	color:#ffffff;
	padding: 30px 10px;
	text-align: center;
}

.col {
	width: 100%;
	padding:0px 14px 14px 14px;
}
.uki {
	font-size: 3.2vw;
	position: absolute;
	margin: 4px 0 0px 1rem;
	color:#000;

}
.uki h3 {
	margin: 0;
	width: 650px;
	font-size: 1.4em;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              	-1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.uki p {
	font-size: 1.0em;
	background-color:rgba(222,222,222,0.5);
	padding: 4px;
	width:85%;
}
.uki strong {
	color: #ffa500;
	background: linear-gradient(transparent 0%, #ffffe0 0%);
	/*background: linear-gradient(transparent 0%, #fffa7d 0%);*/
	float:left;
	border-radius: 8px;
}
.sub-footer {
	padding: 10px;
	background-color: #FAFAFA;
	font-size: 24px;
}
.sub-footer img {
	margin: 6px 0px;
	max-width: 420px;
}

.sub-footer h3 {
	font-size: 16px;
	font-weight: 200;
	margin-bottom: 10px;
	margin-left: 0px;
	background-color: #3A6EA5;
	text-align: center;
	color: #ffffff;
}
.sub-footer .side-map {
	display: none;
}
.style-sub {
	
}
.style-sub ul {
	list-style: none;
	text-align: center;
	margin:0 auto;
}

.style-sub ul li {
	padding-left: 0px;
	padding-right: 0px;
	margin: 0;
	display: block;
	/*background:url("image/arrow_blue_m.gif") no-repeat 0px 10px;*/
}
.style-sub ul li a {
	text-decoration: none;
	color:#151e27;
	text-align: center;
}

.style-sub ul li a:hover{
	color:#3A6EA5;
}

footer {
	padding: 20px 30px;
	background-color: #646570;
	color: #FFFFFF;
}

footer h2 {
	font-size: 16px;
}

.copyright {
	font-size: 0.75em;
	clear: both;
	margin: 10px 0 0 0;
	text-align: right;
}

/*タブレット用*/
@media (min-width: 988px){
	body {
		max-width: 1008px;
	}

	.style-logo {
		margin-top: 0px;
		margin-left: auto;
		margin-right: auto;
		display: block;
		/*width: 501px;*/
		max-width: 501px;
	}	
	.style-nav {
		display:inline;
	}
	.style-nav ul li{
		display:inline-block;
		font-size: 40px;
	}

	.style-nav ul li a {
		font-size: 18px;
	}
	
	.style-nav ul{
		text-align:center;
	}
	.style-nav a#rec{
		display:inline-block;
		padding-left:12px;
		padding-right: 12px;
		border:1px solid #3A6EA5;
		border-radius: 14px;
		background-color: #fff;
	}
	.style-nav ul li a#rec:hover{
		color:#3A6EA5;
		border-bottom: 4px solid #3A6EA5;
	}
	
	.main_contents {
		padding: 10px 60px 20px 60px;
		font-size: 1.0rem;
	}
	
	.breadcrumb {
  		margin: 0 0 0 30px;
		font-size:0.9em;
	}
	.main_contents p {
		overflow: hidden;
	}
	.main_contents img.left {
		width: 80%;
		max-width: 360px;
		height: auto;
		float: left;
		margin: 0 20px;
		overflow: hidden;
	}
	.main_contents img.leftLarge {
		max-width: 550px;
		height: auto;
		float: left;
		margin: 0 20px;
		overflow: hidden;
		animation: fadeIn 1s ease 0s 1 normal;
	}
	.main_contents img.right {
		width: 80%;
		max-width: 360px;
		height: auto;
		float: right;
		margin: 0 20px;
		overflow: hidden;
	}
	.main_contents img.rightLarge {
		max-width: 550px;
		height: auto;
		float: right;
		margin: 0 15px;
		overflow: hidden;
	}
	.main_contents img.rightLargeAnime {
		max-width: 550px;
		height: auto;
		float: right;
		margin: 0 15px;
		overflow: visible;
		animation: fadeIn 1s ease 0s 1 normal;
	}	
	@keyframes fadeIn {
    0% {opacity: 0} /* 始め */
    100% {opacity: 1} /* 終わり */
}
	
	.main_contents img.center {
		margin: 0 auto 10px auto;
		text-align: center;
		max-width: 650px;
	}
	.main_contents table td {
		border: 1px solid #c0c0c0;
		padding: 4px;
		vertical-align: top;
		font-size: 1.0rem;
		font-weight: 100;
	}
	
	h1 {
		font-size: 40px;
		margin-bottom: 90px;
	}
	
	h2 {
		font-size: 16px;
		margin-bottom: 90px;
	}
	.contents h1 {
		margin: 20px;
	}
	.contents h2 {
		margin-bottom: 10px;
	}
	
	.contents h3 {
		margin-bottom: 40px;
	}
	
	.main_contents h2 {
		font-size: 18px;
	}
	.main_contents h3 {
		font-size: 18px;
		margin-bottom: 10px;
		overflow: hidden;
	}
	.main_contents p {
		font-size: 1.0em;
		padding: 0 12px;
		margin: 4px 0 0px 0;
		/*line-height: 1.8rem;*/
	}
	.main_contents .link a {
		padding: 0px 18px;
		border-radius: 8px;
	}
	
	.col-md-half {
		width: 50%;
	}
	
	.col-md-third {
		width: 33.33%;
	}
	.col-md-75 {
		float:left;
		width:60%;
	}
	.col-md-qtrR {
		float: right;
		width: 250px;
		margin-right: 0px;
		padding-right: 0px;
	}
	.col {
		float: left;
		padding:0px 7px 14px;
	}
	.main_contents .col-md-half img{
		max-width: 360px;
	}

	.uki {
		font-size: 16px;
	}
	footer {
		padding: 10px 30px;
		margin:0 6px 0 6px;
	}
	
	footer p {
		margin-bottom: 10px;
	}
	
	footer h2 {
		margin: 0 auto 12px auto;
	}
	
	.sub-footer h3{
		margin-bottom: 6px;
	}
	.sub-footer img {
	max-width: 150px;
	}
	.sub-footer p {
		font-size: 10pt;
	}
	.sub-footer .side-map {
		display:contents;
	}
	.style-sub {
		margin:0 auto 0 auto;
		text-align: center;
	}
	.style-sub ul li {
		max-width: 860px;
		font-size: 12pt;
		display: inline;
	}

/*デスクトップ用*/
@media (min-width: 1200px){
	body {
		max-width: 1280px;
	}
	
	.style-logo {
		float: left;
	}
	
	.style-nav {
		float:right;
	}
	
	.col-lg-qtr {
		width: 25%;
	}
	.col-md-75 {
		float:left;
		width:78%;
	}
	.sub-footer img {
	max-width: 216px;
	}
}