@charset "utf-8";

/* トップタイトル
-------------------- */
#PageTitle {
    height: 0;
    padding-top: 15.62%;
    background: url('../img/page/bg_sub_title.jpg') 0 0 no-repeat;
    background-size: contain;
	position: relative;
}

#PageTitle h1 {
    font-size: 30px;
    font-weight: bold;
	color:#FFF;
	position:absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	text-align: center;
}

#PageTitle h1 span.main-title {
    display: block;
    font-size: 32px;
    font-weight: bold;
}

#PageTitle h1 span.sub-title {
    font-size: 16px;
}


/* レイアウト
-------------------- */
.contents {}

#Main {}

.contents .blog-left {
	float:left;
	width:750px;
}

.contents .blog-right {
	float:right;
	width:290px;
}


.widget {
    margin-bottom: 30px;
}
.widget h2{
	margin-bottom: 8px !important;
}

.widget ul{
	padding-left:0!important;
}
.widget li{

}
.widget li:before{
	display:none;
}

.widget li a {
    display: block;
    padding: 13px 10px 12px 20px;
    border-bottom: 1px solid #CCCCCC;
    background: url(../img/common/icn_arrow02.png) 10px 18px no-repeat;
    text-decoration: none;
    color: #333;
}
.widget li a:hover {
    background-color: #e8e8e8;
}
.widget table tr:first-child {
	color: #000;
	border-top: 3px solid #000;
	border-bottom: 2px solid #000;
}
.widget table tr:first-child a {
    color: #000;
	text-decoration:underline;
}
.widget table tr{
	border-top:none;
	border-bottom:none;
}

.widget table th,
.widget table td {
    padding: 3px;
    text-align: center;
	display: table-cell;
	width: 14.2857142857%;
}
.widget table th {
    font-size: 90%;
}
.widget table th.sunday{
    color:#c6000f;
}
.widget table th.saturday{
    color:#0075d8;
}
.widget table td {}

.widget table td.today {
	background:#cacaca;
	color:#FFF;
}

.widget table td center{
	text-align:center;
}
.widget table td center span:first-child{
	padding-left:2em;
}
.widget table td center span:last-child{
	padding-right:2em;
}
.widget table th a,
.widget table td a{
	text-decoration:underline;
}

.widget-area h2 span {
	font-size:20px;
}

/* 汎用スタイル
-------------------- */
.list_line{
	margin: 0 auto 80px;
}

.list_line li{
	border-bottom:1px solid #aaa;
	padding:16px 0;
}
.list_line li span:nth-child(1){
	display:inline-block;
	text-align:center;
	width:240px;
	vertical-align: middle;
}

.list_line li span:nth-child(2){
	display:inline-block;
	vertical-align:middle;
}

/* 文章 */
.main p {
	line-height: 1.9;
}

.main h3{
	position: relative;
	padding: 1.3em 0 0.7em;
	font-size:22px;
}
.main h3:after{
	content: "";
	display: block;
	height: 2px;
	background: -moz-linear-gradient(to right, #21bda0, #f6d400);
	background: -webkit-linear-gradient(to right, #21bda0,#f6d400);
	background: linear-gradient(to right, #21bda0, #f6d400);
}

.mb48{
	margin-bottom:48px;
}

/* コメントスタイル */
#BlogCommentList {
    margin-bottom: 50px;
}
img.auth-captcha-image {
	margin-bottom: 6px;
}
.auth-captcha {
	margin: 20px 0;
	color: #fff;
	text-align: center;
}
.submit {
	text-align: center;
}

/* ボタンスタイル */
.button {
	font-size:15px;
	font-weight:normal;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #dcdcdc;
	padding:5px 15px;
	text-decoration:none;
	background:-moz-linear-gradient( center top, #f9f9f9 7%, #e9e9e9 98% );
	background:-ms-linear-gradient( top, #f9f9f9 7%, #e9e9e9 98% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(7%, #f9f9f9), color-stop(98%, #e9e9e9) );
	background-color:#f9f9f9;
	color:#666666;
	display:inline-block;
	text-shadow:1px 1px 0px #ffffff;
 	-webkit-box-shadow:inset 1px 1px 0px 0px #ffffff;
 	-moz-box-shadow:inset 1px 1px 0px 0px #ffffff;
 	box-shadow:inset 1px 1px 0px 0px #ffffff;
    cursor: pointer;
}
.button:hover {
	background:-moz-linear-gradient( center top, #e9e9e9 7%, #f9f9f9 98% );
	background:-ms-linear-gradient( top, #e9e9e9 7%, #f9f9f9 98% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(7%, #e9e9e9), color-stop(98%, #f9f9f9) );
	background-color:#e9e9e9;
}
.button:active {
	position:relative;
	top:1px;
}

.more_btn{
margin-top: 25px;
}

.more_btn a{
    background: #21bda0;
    color: #FFF;
    padding: 13px 90px;
    text-align: center;
    font-size: 18px;
box-shadow: 2px 2px 4px #cccccc;
}
.more_btn a:hover{
    background: #46c7af;
}


/* baser system style
-------------------- */
	/* ContentsNavi */
#contentsNavi,
#ContentsNavi {
	margin: 50px 0 20px;
	text-align: center;
}
#contentsNavi a,
#ContentsNavi a {
	color: #FFF;
	background:#000;
	display:inline-block;
	padding: 8px 32px;
}
#contentsNavi a:hover,
#ContentsNavi a:hover {
	opacity: 0.5;
}

	/* pagination */
.pagination {
	margin: 60px 0;
	text-align: center;
	font-size: 12px; font-size: 1.2rem;
}
.pagination span.disabled,
.pagination span.prev a,
.pagination span.next a {
	margin: 0 20px;
}
.pagination span.current,
.pagination span.number a {
	margin: 0 4px;
	padding: 7px 10px;
	background: #dedede;
	color: #fff;
	text-decoration: none !important;
}
.pagination span.current,
.pagination span.number a:hover {
	background: #666;
}
.pagination a:active {
	background: #666;
}

/* ContactForm
-------------------- */
.form-s {
    width: 20%;
}
.form-m {
    width: 50%;
}
.form-l {
    width: 90%;
}

.mail-before-attachment {
}
.mail-after-attachment {
}
.mail-description small {
}

.submit {
	margin: 30px 0;
	text-align: center;
}
.submit input.button {
	font-size: 15px;
	cursor: pointer;
}
.auth-captcha {
	margin: 30px 0;
	text-align: center;
}
.mail-description {
	margin-bottom: 10px;
}
#flashMessage {
	margin-bottom: 10px;
}
.alert-message {
    color: #c00;
}

/* ブログ */
.contents .blog .date{
	text-align: right;
	font-size: 90%;
	margin-bottom: 16px;
}

.contents .blog .post{
	margin:0 auto 60px;
}

.contents .blog .post-list{}

.contents .blog .post-list li{
	margin-bottom:2em;
}

.contents .blog .post-list li.eye-catch{
	width:30%;
	margin-right:1em;
}

.contents .blog .post-list li.post{
	width: 100%;
	border-bottom: 1px solid #EEE;
	padding-bottom: 16px;
	margin-bottom: 80px;
}

.contents .blog .post-list li:before{
	content:"";
}

.contents .blog .more{
	text-align:right;
}

.contents .blog .more a{
	color: #FFF !important;
	text-align: right;
	background: #000;
	display: inline-block;
	padding: 8px 32px;
	text-decoration: none !important;
}

.contents .blog ul {
	padding-left: 1em;
}

.contents .blog ul li{
	position: relative;
	padding-left: 0.1em;
}


.contents .blog ul li:before{
	content:"◆";
	position: absolute;
	left: -1em;
	top: 0;
}

.contents .blog .blog-left {
	float:left;
	width:950px;
}

.contents .blog .blog-right {
	float:right;
	width:290px;
}

.contents .blog .blog-right .story-list li{
	margin-bottom:32px;
}

.contents .blog .blog-right .story-list li a{
	padding:0;
	background:none;
	border-bottom:none;
}
.contents .blog .blog-right .story-list li a:hover{
	background:none;
	opacity: 0.5;
}


.disc-block{
	background:url("../img/page/bg_nami.png") repeat-x left bottom;
	padding: 32px 0;
}
.disc-block h3{
	border-bottom:none;
}
.disc-block .img{
	width:50%;
	margin-right:2em;
}

.disc-block .txt{
	width:50%;
	background:url("../img/common/icon_bg1.png") no-repeat right top;
}

/* 共通 */
#Particles{
	position: relative;
	margin-top: -48px;
	padding: 48px 0 64px;
}

#Particles canvas {
	position: absolute;
	top: 0;
	left: 0;
}

/* 個別 */
#About .main section{
	padding-bottom:64px;
}
#About .main section:last-child {
	padding-bottom:0;
}
#About .main .flex-box{
	margin-bottom:64px;
}
#About .main .flex-box li{
	padding-right:16px;
}

#About .main .flex-box li:last-child{
	padding-right:0;
}

#About .main section:nth-child(2) .flex-box > div:nth-child(1){
	width:20%;
	font-size: 13px;
}
#About .main section:nth-child(2) .flex-box > div:nth-child(1) img{
	margin-bottom:16px;
}

#About .main section:nth-child(2) .flex-box > div:nth-child(2){
	width:80%;
	padding-left: 2em;
}

#Technology .main h4{
	text-align: center;
}

#Case .main ul{
	margin-bottom: 20px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}

#Case .main ul li{
	width: 330px;
	border:1px solid #dcdcdc;
	margin-bottom:80px;
}

#Case .main ul li h3{
	padding:10px 15px 0;
}

#Case .main ul li p.text{
	padding:15px 15px 25px;
}

#Case .main ul li p.img img{
	width:100%;
}

#Flow div.flow_block{
	position: relative;
    word-break: keep-all;
}

#Flow ol.number_list{
	letter-spacing: 0.15em;
  	font-size: 22px;
	display: flex;
    flex-wrap: wrap;
}

#Flow ol.number_list li{
	margin-bottom: 0.5rem;
    font-size: 16px;
    display: -webkit-flex;
    display: flex;
	align-items: center;
	width:33%;
}

#Flow ol.number_list li:before{
	font-family: "Lato","メイリオ","小塚ゴシック Pro",sans-serif;
	display:inline-block;
	margin-right:0.7em;
	color:#21bda0;
	font-size: 22px;
	font-style: oblique;
}


#Flow ol.number_list li:nth-child(1):before{
	content:"01";
}
#Flow ol.number_list li:nth-child(2):before{
	content:"02";
}
#Flow ol.number_list li:nth-child(3):before{
	content:"03";
}
#Flow ol.number_list li:nth-child(4):before{
	content:"04";
}
#Flow ol.number_list li:nth-child(5):before{
	content:"05";
}
#Flow ol.number_list li:nth-child(6):before{
	content:"06";
}
#Flow ol.number_list li:nth-child(7):before{
	content:"07";
}
#Flow ol.number_list li:nth-child(8):before{
	content:"08";
}
#Flow ol.number_list li:nth-child(9):before{
	content:"09";
}
#Flow ol.number_list li:nth-child(10):before{
	content:"10";
}
#Flow ol.number_list li:nth-child(11):before{
	content:"11";
}
#Flow ol.number_list li:nth-child(12):before{
	content:"12";
}
#Flow ol.number_list li:nth-child(13):before{
	content:"13";
}
#Flow ol.number_list li:nth-child(14):before{
	content:"14";
}
#Flow ol.number_list li:nth-child(15):before{
	content:"15";
}
#Flow ol.number_list li:nth-child(16):before{
	content:"16";
}
#Flow ol.number_list li:nth-child(17):before{
	content:"17";
}
#Flow ol.number_list li:nth-child(18):before{
	content:"18";
}
#Flow ol.number_list li:nth-child(19):before{
	content:"19";
}
#Flow ol.number_list li:nth-child(20):before{
	content:"20";
}
