@charset "utf-8";

/* ===

TOP PAGE STYLE

Last Updated: 2014/08/01 (WATANABE)
======================================= */

/* ===============================

	COMMON

=============================== */

.cnts1,#cnts2,#cnts3,#cnts4 {
	width: 100%;
	text-align: center;
}

.cnts1 h3,#cnts2 h3,#cnts3 h3, #cnts5 h3 {
	text-align: center;
	margin-bottom: 25px;
}

#cnts4 h3 {
	text-align: center;
	margin-bottom: 0;
}

/* ===============================

	KEY VISUAL

=============================== */

#key {
	position: relative;
	height: 35em;
}

#key:after{
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	content: "";
	height: 100%;
	width:100%;
	z-index: -1;
	opacity: 0.75;
	background: linear-gradient(
		-45deg,
		transparent 0%,
		transparent 60%,
		#66aad7 60%,
		#0071bc 100%
		);
}

#key:before{
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	content: "";
	height: 100%;
	width: 85%;
	background-image:  url(../images/top/key_visual_bk.png);
	background-position:right bottom;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -2;
	opacity: 0.35;
}

@media only screen and (max-width: 768px){
	#key:before{
	width: 100%;
	}
}

/* #key:after{
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	content: "";
	height: 100%;
	width: 50%;
	background-image:  url(../images/top/key_visual_r.png);
	background-position:right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
} */

#key .inner{
	padding-left: 1em;
	padding-right: 1em;
	text-align: left;
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

#key .inner > img{
	width: 55%;
	margin-left: -10%;
}

#key .inner > div{
	padding-left: 0.5em;
	font-size: 270%;
	line-height: 1.4;
}

#key .inner div a{
	position: relative;
	text-decoration: none;
	display: inline-block;
	color: #ffffff;
	border-radius: 2em;
	margin-top: 1em;
	padding: 0.65em 1em 0.65em;
	font-size: 0.6em;
	width: 15em;
	text-align: center;
	background: #00c9aa;
	background: linear-gradient(45deg, #00c9aa 0%, #00b499 100%);
}

#key .inner div a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	display: block;
	margin-top: -0.25em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 0.5em;
	height: 0.5em;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}


#key .inner h2{
	text-shadow:	#ffffff 0 0 0.5em;
}

#key .inner h2 span{
font-size: 120%;
color: #0071bc;
}

#key .inner h2 span::before{
	content: "「";
	text-indent: -0.5em;
	display: inline-block;
}

#key .inner h2 span::after{
	content: "」";
	display: inline-block;
	margin-right:-0.25em
}

@media only screen and (max-width: 768px){
	#key {
		height: auto;

	}

	#key br.sp_none{
		display: none;
	}

	#key .inner{
		display: block;
		padding-top: 2em;
		padding-bottom: 2em;
		text-align: center;
	}

	#key .inner > img{
		width: 90%;
		max-width: 500px;
		margin-left: 0;
	}

	#key .inner div {
		font-size: 140%;
    text-align: center;
    width: 100%;
    padding: 0;
	}

	#key .inner div a{
		font-size: 1em;
	}

}

#info{
	margin-top: 0;
	margin-bottom: 2em;
}

@media only screen and (min-width: 769px){
	#info{
		margin-bottom: 0;
	}
}

/* ===============================

	CONTENTS1 (casestudy)

=============================== */
.cnts1 {
	margin-bottom: 10px;
}

.main_function{
	padding: 3em 0;
}

.cnts1 .inner {
	padding: 25px 20px;
}

.cnts1.main_function .inner{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.cnts1.main_function .inner dl{
	line-height: 1.5;
	margin-bottom: 2em;
  display: flex;
  flex-direction: column;
}

.cnts1.main_function .inner dl dt{
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	padding-bottom: 0.75em;
}

.cnts1.main_function .inner dl dd{
	flex-grow: 1;
}

.cnts1.main_function .inner dl dt img{
	display: block;
	margin: 0 auto;
	height: 3em;
	margin-bottom: 1em;
}

.cnts1.main_function .inner dl dt span{
	background: linear-gradient(transparent 60%, #ff0 60%);
	display: inline;
}

.cnts1.main_function .inner dl dd{
	font-size: 1.1em;
}


@media only screen and (min-width: 769px){
	.cnts1.main_function .inner dl{
		width: calc((100% - (3%*(4 - 1)))/4);
		margin-right: 3%;
	}

	.cnts1.main_function .inner dl:nth-of-type(4n){
		margin-right: 0;
	}
}

@media only screen and (max-width: 1200px) and (min-width: 768px){
	.cnts1.main_function .inner dl{
		width: calc((100% - (3%*(3 - 1)))/3);
		margin-right: 3%;
	}

	.cnts1.main_function .inner dl:nth-of-type(3n){
		margin-right: 0;
	}
}

@media only screen and (max-width: 768px){
	.cnts1.main_function{
		padding: 3em 15px;
	}

	.cnts1.main_function .inner dl{
		width: calc((100% - (5%*(2 - 1)))/2);
		margin-right: 5%;
	}

	.cnts1.main_function .inner dl:nth-of-type(2n){
		margin-right: 0;
	}

	.cnts1.main_function .inner dl dt{
		font-size: 1.3em;
	}

	.cnts1.main_function .inner dl dt br{
		display: none;
	}
}

@media only screen and (min-width: 769px){
.cnts1.casestudy .inner{
	max-width: 960px;
}
}



/* メニュー */
.cnts1 ul li {
	float: left;
}

.cnts1 ul li.last {
	margin: 0;
}

.cnts1 .menu-agenda,
.cnts1 .menu-use{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto;
}

.cnts1 .menu-agenda li {
	width: 48%;
	max-width: 173px;
	height: 194px;
	margin-bottom: 1em;
	margin-left: 1%;
	margin-right: 1%;
}

@media only screen and (min-width: 769px){
	.cnts1 .menu-agenda li {
		margin-left: 5px;
		margin-right: 6px;
	}
}

.cnts1 .menu-agenda li.menu6 {
	margin-left: 95px;
}

.cnts1 .menu-use li {
	width: 204px;
	height: 194px;
	margin-right: 33px;
	margin-bottom: 13px;
}

/* ===============================

	CONTENTS2 (SUPPORT)

=============================== */

#cnts2 {
	background: url(../images/top/cnts2_bg.jpg) center top no-repeat #4469af;
	background-size: auto 100%;
	height: auto;
	padding-top: 40px;
}

#cnts2 .inner {
	max-width: 960px;
	box-sizing: border-box;
	padding: 0 20px 20px;
}

#cnts2 .menu-support li {
	width: 260px;
	height: auto;
	float: left;
	margin-right: 70px;
	margin-bottom: 20px;
}

#cnts2 .menu-support li.last {
	margin-right: 0;
}

#cnts2 .menu-support li dl dt {
	margin-bottom: 10px;
}

#cnts2 .menu-support li dl dd {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 18px;
	color: #ffffff;
}

#cnts2 .menu-support li dl dd a { color: #ffffff; text-decoration: none; }
#cnts2 .menu-support li dl dd img{
	display: inline-block;
	margin-top:10px;
}


/* ===============================

	CONTENTS3 (PARTNER)

=============================== */
#cnts3 {
	background: #fff;
	padding: 40px 0 0;
}

#cnts3 .inner {
	box-sizing: border-box;
	margin-bottom:40px;
}

#cnts3 .inner ul {
	/* display: table; */
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#cnts3 .inner ul li {
	vertical-align: middle;
	margin: 0;
	display: inline-block;
	text-align: center;
	padding: 0.25em 0.5em;
	box-sizing: border-box;
}

#cnts3 .inner ul li img {
	width: auto;
	height: 100%;
	background: transparent;
	max-width: fit-content;
	max-height: 30px;
}
/* ===============================

	CONTENTS4 (NEWS)

=============================== */

#cnts4 {
	background: #eeeeee;
	padding: 40px 0;
}

#cnts4 .inner {
	padding: 0 20px;
	text-align: center;
}

#cnts4 dl {
	width: 100%;
	box-sizing: border-box;
	/*height: 140px;*/
	padding: 20px;
	margin: 0 auto;
	background: #ffffff;
	text-align: left;
	overflow-y: auto;
/*
	border-radius: 4px; 
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px; 
*/
}

#cnts4 dl dt {
	clear: left;
	width: 90px;
	margin-bottom: 10px;
	float: left;
	background: #456bac;
	color: #ffffff;
	line-height: 20px;
	text-align: center;
	display: block;
}


#cnts4 .more {
	width: 60px;
	padding: 5px;
	background: #999999;
	float: right;
	margin: 0 18px 5px 0;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px; 
}

#cnts4 .more a {
	text-decoration: none;
	font-weight: bold;
	color: #ffffff;
	display: block;
}


#news-list-box dl {
	border-bottom: 1px dotted #ccc;
	/* width: 100%; */
}

#news-list-box dl:after {
	content: "";
	clear: both;
	display: block;
}

#news-list-box dl > * {
	float: left;
}

#news-list-box dl dt + dd {
	display: inline-block;
	margin-bottom: 5px;
	border-radius: 4px;
	padding: 4px 0;
	font-size: 12px;
	text-align: center;
	color: #fff;
}
	#news-list-box dl dt + dd.jirei { background: #0482a6; }
	#news-list-box dl dt + dd.news { background: #e85353; }
	#news-list-box dl dt + dd.oshirase { background: #93c448; }
	
/* --- SP ---------- */
@media screen and (max-width: 768px) {

	
	#news-list-box dl {
		padding: 10px;
	}
	
	#news-list-box dl dt { width: 57%; }
	#news-list-box dl dt + dd { width: 43%; float: right; }
	#news-list-box dl dd + dd { width: 100%; clear: both; }
	
	#news-list-box .archive {
		margin-top: 20px;
	}
	
	#news-list-box .archive li {
		margin-bottom: 5px;
	}
	
}

/* --- PC ---------- */
@media screen and (min-width: 769px) {
	#news-list-box h2 + dl {
		padding-top: 20px;
	}
	
	#news-list-box dl {
	/*	margin-bottom: 20px; */
		padding-bottom: 20px;
	}
	
	#news-list-box dl dt { width: 12%; }
	#news-list-box dl dt + dd { width: 14%; margin:0 0 10px 10px; }
	#news-list-box dl dd + dd { width: 100%; padding: 0; }
	
	#news-list-box .archive li {
		display: inline-block;
	}
		
	#news-list-box .archive li:not(:last-child)::after {
		content: "|";
		margin: 0 10px;
	}
	
}


/* ===============================

	CONTENTS5 (SPECIAL)

=============================== */

#cnts5 {
	background: #ffffff;
	padding-top: 50px;
	padding-bottom: 50px;
}

#cnts5 .inner ul {
	display: table;
	margin: 0 auto;
}

#cnts5 .inner ul li {
	display: table-cell;
	/*
	padding-right: 25px;
	*/
}
#cnts5 .inner ul li.last {
	padding-right: 0;
}



/* ===============================

	PC

=============================== */

@media screen and (min-width: 767px) {

#cnts5 .inner ul.pc-none {
	display: none;
}

#cnts5 .inner ul li {
	padding-right: 25px;
}
	
}

/* ===============================

	SP

=============================== */

@media only screen and (max-width: 768px) {

#cnts5 .inner ul.sp-none {
	display: none;
}

.cnts1 h3, #cnts2 h3, #cnts3 h3, #cnts5 h3 {
	margin-bottom: 15px;
}

.cnts1 {
	width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
}


.cnts1 .inner,
.cnts1 .inner {
	padding: 0;
	margin-bottom: 15px;
	position: relative;
}

#cnts2 {
	width: 100%;
	height: auto;
    background: url(../images/top/cnts2_bg.jpg) center top no-repeat #4469af;
	background-size: cover;
	padding: 20px 15px 15px 15px;
	box-sizing: border-box;
}

#cnts2 .inner {
	text-align: center;
	padding: 0;
}

#cnts2 .menu-support li {
	width: 100%;
	height: auto;
	float: none;
	margin-bottom: 10px;
}

#cnts3 .inner{
	margin-bottom: 2em;
}

#cnts3 .inner ul li{
	padding-top: 0.1em;
	padding-bottom: 0.1em;
}

#cnts3 .inner ul li img{
	max-height: 1.5em;
}

#cnts4 {
	padding: 20px 0;
}


#cnts4 .inner dl {
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
}

#cnts4 dl dt {
	width: 7em;
}

#cnts4 .more {
	margin: 5px 0;
}

#cnts5 {
	padding: 20px 0;
}

#cnts5 .inner ul {
	display: table;
	width: 100%;
	padding: 0;
}

#cnts5 .inner ul li {
	display: table-cell;
	padding: 0 0 1% 2%;
	width: 48%;
	text-align: center;
}
}


/*----- 20170118導入事例ボタン追加 -----*/
.btn-case {
	margin: 0 auto 3rem;
	border-radius: 4px; 
	-webkit-border-radius: 4px;
	background: #333;
	width: 16em;
	max-width: 100%;
	font-size: 1.25em;
	font-weight: bold;
}

.btn-case a {
	position: relative;
	display: block;
	padding: 1em 2em;
	text-decoration: none;
	color: #fff;
}

.btn-case a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	display: block;
	margin-top: -0.25em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 0.5em;
	height: 0.5em;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.title01 span{
	font-weight: normal;
	font-size: 280%;
	line-height: 125%;
	margin-bottom: 0.5em;
	position: relative;
	display: inline-block;
}

@media only screen and (max-width: 768px){
	.title01 span{
		font-size: 180%;
	}
	.title01 span br{
		display: none;
	}
}

.title01 a{
	color: inherit;
}

.title01.white{
	color: #ffffff;
}

.title01 span:after{
	content: "";
	left: 0;
	right: 0;
	bottom: -0.25em;
	margin: auto;
	position: absolute;
	width: 2em;
	height: 3px;
	display: inline-block;
	vertical-align: middle;
	background-color: #0071bc;
}