@charset "utf-8";

/* トップタイトル
-------------------- */
#PageTitle {
    margin-top: 140px;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
}
#PageTitle h1 {
    padding-top: 60px;
    font-size: 35px;
    font-weight : bold;
    letter-spacing: 2px;
    color       : #ffffff;
    text-shadow:  2px  2px 10px #777 ,
                 -2px  2px 10px #777 ,
                  2px -2px 10px #777 ,
                 -2px -2px 10px #777;
}


/* レイアウト
-------------------- */
.contents {
    margin-bottom: 50px;
}
#Main {
}
#Side {
    margin-top: 100px;
}
#Side #Banner {
    margin: 30px 0 60px;
    text-align: center;
}
#Side #Banner .banner {
    display: inline-block;
}
/* 右サイド */
#MainLeft {
    float: left;
    width: 674px;
}
#SideLeft {
    float: left;
    width: 250px;
}
/* 左サイド */
#MainRight {
    float: right;
    width: 674px;
}
#SideRight {
    float: right;
    width: 250px;
}

#SideLeft #Banner,
#SideRight #Banner {
    text-align: center;
}
#SideLeft #Banner .banner,
#SideRight #Banner .banner {
    margin: 20px 0;
}



/* 汎用スタイル
-------------------- */
/* 見出し */
.main h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28px;
    letter-spacing: 1px;
	text-align: center;
	margin-bottom: 80px;
	color: #111111;
}
.main h2.bge-title-h2 {
	margin: 55px 0 70px;
}
.main h2::before,
.main h2::after {
	content: '';
	width: 70px;
	height: 3px;
	background-color: #08107B;
}
.main h2::before {
	margin-right: 20px;
}
.main h2::after {
	margin-left: 20px;
}
.main h3 {
    margin: 50px 0 30px;
    font-size:  24px;
    border-bottom: solid 3px #08107B;
    padding-bottom:  5px;
    position:  relative;
    font-weight:  normal;
}
.main h3:before {
    content:  '';
    width: 100px;
    height: 3px;
    background-color: #CCCCCC;
    display:  block;
    position:  absolute;
    left:  0;
    bottom: -3px;
}
.main h3 a {
	text-decoration: none;
    color: #333;
}
.main h3 a:hover {
	text-decoration: underline;
    color: #888;
}
.main h4 {
	margin: 30px 0 20px;
    font-size: 18px;
    font-weight: bold;
    color: #08107B;
}
.main h4:first-letter {
    font-size: 150%;
    color: #00B8E7;
}
.main h5 {
	margin: 20px 0 10px;
    font-size: 18px;
    font-weight: bold;
}

/* 文章 */
.main p {
    margin-bottom: 30px;
}
#Recipe img {
    border: 1px solid #ccc;
    box-shadow: 8px 8px 0px 0px rgba(0,0,0,0.1);
}
/* 企業情報
-------------------- */
.p-message {
	padding: 0 20%;
}
.p-message .delegate_name {
	font-family: "UD デジタル 教科書体 N-B","UD Digi Kyokasho N-B";
	text-align: right;
	font-size: 18px;
}


/* サイドバー
-------------------- */
.side h2 {
    margin-bottom: 10px;
    padding: 8px;
    text-align: center;
    color: #fff;
    background: #666666;
    font-family: "oswald";
    font-size: 14px;
    letter-spacing: 2px;
}
.widget {
    margin-bottom: 30px;
}
.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 {
    background: #666666;
    color: #fff;
}
.widget table tr:first-child a {
    color: #fff;
}
.widget table th,
.widget table td {
    padding: 3px;
    border: 1px solid #ddd;
    text-align: center;
}
.widget table th {
    background: #e8e8e8;
}
.widget table td {

}


/* 検索窓 */
.search-box {
    margin-bottom: 30px;
}
.search-box input#SearchIndexQ {
    width: 200px;
    margin-right: 10px;
}


/* ブログスタイル
-------------------- */
.blog h2 {
}
.blog h2 a {
    text-decoration: none;
    color: #333;
}
.blog h2 a:hover {
    position: relative;
    bottom: -1px;
    color: #666;
}
.blog .post {
    margin-bottom: 80px;
}
.blog .more {
    text-align: right;
}
.blog .more a {
    display: inline-block;
    width: 130px;
    margin: 10px 0;
    padding: 10px 10px 10px 20px;
    background: #222222 url(../img/common/icn_arrow01.png) 10px center no-repeat;
    color: #fff;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 2px;
    border-radius: 4px;
}
.blog .more a:hover {
    color: #fff;
    opacity: 0.7;
    text-decoration: none;
}
.blog .meta {
    margin-bottom: 15px;
    padding: 15px;
    border: 1px dashed #ccc;
}
.blog .tag a {
    display: inline-block;
    margin-right: 2px;
    padding: 2px 15px;
    background: #000;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}
.blog .eye-catch {
    margin-bottom: 30px;
}

/* コメントスタイル */
#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;
}

/* 画像スタイル */
.bgb-image2,
.bgb-image-text2 {
    align-items: center;
    display: flex;
    justify-content: center;
}


/* baser system style
-------------------- */
	/* contents-navi */
#contents-navi {
	margin: 50px 0 20px;
	text-align: center;
}
#contents-navi a {
	color: #333;
}

	/* 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;
	color: #333;
}
.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;
}

/* お問い合わせ・ユーザー登録
-------------------- */
.col-head {
    width: 250px;
}
.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;
}
.form-error,
input[type=text].form-error,
input[type=email].form-error {
	color: #630015;
	border-color: #c20c33;
	background-color: #ffd9e1;
}
.agree-check-box {
	text-align: center;
}
.agree-check-box label {
  display: inline-block;
  padding: 10px 50px;
  border: 1px solid #CCCCCC;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.agree-check-box label:hover {
  background-color: #F0F0E6;
}


@media screen and (max-width: 640px) {
	.form-contact table {
		box-sizing: border-box;
	}
	.form-contact tr {
		display: block;
		margin-bottom: 1.5em;
	}
	.form-contact th {
		padding: 5px 10px;
		background: #999;
		color: #fff;
	}
	.form-contact th,
	.form-contact td {
		display: list-item;
		width: auto;
		border: none;
	}
	.form-contact td textarea {
		width: 100%;
	}
}


/* 新着情報
-------------------- */
.main .news h2 {
	display: inline-block;
	font-size: 22px;
    letter-spacing: 1px;
	text-align: left;
	margin-bottom: 40px;
	color: #111111;
}
.main .news h2::before,
.main .news h2::after {
	content: '';
	width: 0;
	height: 0;
	margin: 0;
}

/* 開発実績
-------------------- */
.works-index,
.works-archives ul {
}
.works-index .post,
.works-archives .post {
    width: 100%;
    margin-bottom: 50px;
    box-shadow: 0px 2px 4px #aaa;
}
.works-index .post:after,
.works-archives .post:after {
    content:"";
    display:block;
    clear:both;
}
.works-index .post .post:hover,
.works-archives .post .post:hover {
	opacity: 0.6;
}

.works-index .post a,
.works-archives .post a {
    color: #333333;
    text-decoration: none;
}
.works-index .post .img,
.works-archives .post .img {
    float:left;
    width: 30%;
}
.works-index .post .details,
.works-archives .post .details {
    float:right;
    width: 70%;
}
.works-index h3,
.works-archives h3 {
	margin: 0;
	padding: 25px 20px 10px;
    background: none;
	font-size: 22px;
	font-weight: bold;
	border: none;
}
.works-index h3::before,
.works-index h3::after,
.works-archives h3::before,
.works-archives h3::after {
	content: '';
	width: 0;
	height: 0;
	margin: 0;
}
.works-index .post img,
.works-archives .post img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.works-index .post p,
.works-archives .post p {
	padding: 5px 20px;
}

/* 製品サービス
-------------------- */
.products-index ul,
.products-archives ul {
}
.products-index .post,
.products-archives .post {
    width: 100%;
    margin-bottom: 50px;
    box-shadow: 0px 2px 4px #aaa;
}
.products-index .post:after,
.products-archives .post:after {
    content:"";
    display:block;
    clear:both;
}
.products-index .post .post:hover,
.products-archives .post .post:hover {
	opacity: 0.6;
}

.products-index .post a,
.products-archives .post a {
    color: #333333;
    text-decoration: none;
}
.products-index .post .img,
.products-archives .post .img {
    float:left;
    width: 30%;
}
.products-index .post .details,
.products-archives .post .details {
    float:right;
    width: 70%;
}
.products-index h2,
.products-archives h2 {
	margin-bottom: 50px;
}
.products-index h3,
.products-archives h3 {
	margin: 0;
	padding: 25px 20px 10px;
    background: none;
	font-size: 22px;
	font-weight: bold;
	border: none;
}
.products-index h3::before,
.products-index h3::after,
.products-archives h3::before,
.products-archives h3::after {
	content: '';
	width: 0;
	height: 0;
	margin: 0;
}
.products-index .post img,
.products-archives .post img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.products-index .post p,
.products-archives .post p {
	padding: 5px 20px;
}

/* 最新版ダウンロード */
.terms-box {
	padding: 40px;
	background: #EEEEEE;
}
.terms-box h4:first-child {
	margin-top: 0;
}
.ver-upgrade .bgt-grid {
    position: relative;
}
.ver-upgrade .bgt-grid:before {
    position: absolute;
    margin: 60px 0 0 -20px;
    border: 20px solid transparent;
    border-left-color: #FFC300;
    content: "";
}
.ver-upgrade .bgt-grid.bgt-grid--first:before {
    content: none;
}


/* 製品サービス（その他）
-------------------- */
.other-index ul,
.other-archives ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.other-index,
.other-archives {
    margin-bottom: 80px;
}
.other-index:last-child,
.other-archives:last-child {
    margin-bottom: 0;
}
.other-index .post,
.other-archives .post {
    display:inline-block;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 70px;
    box-shadow: 0px 2px 4px #aaa;
}
.other-index .post:nth-child(3n),
.other-archives .post:nth-child(3n) {
    margin-right: 0;
}
.other-index .post .details,
.other-archives .post .details {
	width: 100%;
	height: 100%;
}
.other-index .post .card:hover,
.other-archives .post .card:hover {
	opacity: 0.6;
}
.other-index a,
.other-archives a  {
    color: #333333;
    text-decoration: none;
}
.other-index h2,
.other-archives h2 {
	margin-bottom: 50px;
}
.other-index h3,
.other-archives h3 {
	margin: 0;
	padding: 20px 16px 5px;
    background: none;
	font-size: 22px;
	font-weight: bold;
	border: none;
}
.other-index h3::before,
.other-index h3::after,
.other-archives h3::before,
.other-archives h3::after {
	content: '';
	width: 0;
	height: 0;
	margin: 0;
}
.other-index .details p,
.other-archives .details p {
	margin-bottom: 10px;
	padding: 4px 16px;
}

/* ブログ
-------------------- */
.topics-index .eye-catch,
.topics-archives .eye-catch {
   float: left;
    margin-right: 20px;
}
.topics-single .eye-catch {
    width: 280px;
}



/* ウィジェット - サポート電話番号
-------------------- */
.widget-area .support_tel {
	background: #EEEEEE;
	position: relative;
    padding: 15px 25px 25px 15px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display: flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: space-between;
}
.widget-area .support_tel:before {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 99.5%;
  height: 98%;
  content: '';
  border: 2px solid #08107B;
  pointer-events: none;
}

.widget-area .support_tel p {
    margin: 0;
}
.widget-area .support_tel p.tel {
    text-align: center;
    width: 50%;
}
.widget-area .support_tel p.description {
    font-size: 12px;
    width: 50%;
}
.widget-area .support_tel .title {
    display: block;
	font-size: 18px;
	font-weight: 700;
	position: relative;
	z-index: 2;
}
.widget-area .support_tel .title::before {
	content: attr(data-en);
	position: absolute;
	top: -20px;
	left: 0;
	color: rgba(9,17,123,0.2);
	font-size: 40px;
	font-weight: 700;
	font-style: italic;
}
.widget-area .support_tel .num {
    padding: 10px 0;
    font-size: 30px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 3px;
	font-weight: 700;
    color: #08107B;
}

/* ウィジェット - ユーザー登録
-------------------- */
.widget-area .register {
}
.widget-area .register a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 26px;
  font-weight: 700;
  padding: 20px 40px 20px 100px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #08107B;
  border-radius: 0.5rem;
  background: #DDDDDD;
  -webkit-box-shadow: 0 5px 0 #08107B;
  box-shadow: 0 5px 0 #08107B;
}
.widget-area .register a::after {
  content: '';
  width: 15px;
  height: 15px;
  border-top: 4px solid #333333;
  border-right: 4px solid #333333;
  transform: rotate(45deg);
}
.widget-area .register a p {
 position: relative;
  width: 30%;
}
.widget-area .register a p i {
    padding-right: 5px;
}
.widget-area .register a span {
  display: inline-block;
  width: 60%;
  font-size: 12px;
  color: #333333;
  line-height: 1.5;
}
.widget-area .register a:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #813AB6;
  background: #DDDDDD;
  -webkit-box-shadow: 0 2px 0 #08107B;
  box-shadow: 0 2px 0 #08107B;
}

/* 個人情報保護方針
-------------------- */
a.mailBtn {
    display: inline-block;
    background-color: #486fbf !important;
    color: #FFF;
    font-size: 18px;
    text-align: center;
    width: 100%;
    padding: 0.5em;
    margin: 0.5em 0 0;
    text-decoration: none;
    border-radius: 5px;
}
a.mailBtn:hover{
    opacity:0.8;
    cursor: pointer;
    text-decoration: none;
}