/*! Luxeritas Child CSS */
/* Luxeritas WordPress Theme - free/libre wordpress platform
 *
 * @copyright Copyright (C) 2015 Thought is free.
 * @license http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 * @author LunaNuko
 * @link https://thk.kanzae.net/
 * @translators rakeem( http://rakeem.jp/ )
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 *   Theme Name: TSH FS Site
 *   Template: luxeritas
 *   Text Domain: tsh-fs
 *   Theme URI: https://xxx/
 *   Description: luxeritas's Child theme for TSH web site
 *   Author: TSH Web service team
 *   Author URI: https://www.tsh-world.co.jp/
 *   Tags: one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-header, custom-background, custom-colors, custom-menu, theme-options, featured-image-header, editor-style, sticky-post, threaded-comments, translation-ready
 *   Since: 20180706
 *   Modify: 20180706
 *   Version: 1.00
 *   Template Version: 2
 *
 * ã“ã“ã‹ã‚‰ä¸Šã‚’æ¶ˆã™ã¨æ­£ã—ãå‹•ä½œã—ãªããªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
 * ( Erasing the elements above here might cause system issues. )
*/

/* ä»¥ä¸‹ã€å¥½ã¿ã«å¿œã˜ã¦å­ãƒ†ãƒ¼ãƒžç”¨ã®ã‚¹ã‚¿ã‚¤ãƒ«ã‚’ãŠæ›¸ããã ã•ã„ã€‚
 * ( Below here, please write down your own styles for the child theme. )
*/


/*@media (min-width:576px) {
 .container {
  width:540px
 }
}
@media (min-width:768px) {
 .container {
  width:720px
 }
}
@media (min-width:992px) {
 .container {
  width:100%;
 }
}
@media (min-width:1200px) {
 .container {
  width:1140px
 }
}*/

/*
 * ------------------------------
 * Common style
 * ------------------------------
 */

body {
	position: relative;
	font-family: 'Hiragino Kaku Gothic Pro', "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", 'Meiryo','Source Sans Pro','MS PGothic',sans-serif;
}

h1,
h2,
h3,
h4,
#footer-in,
.archive .lcp-list li,
.post .message {
	font-family: 'Source Sans Pro','Hiragino Kaku Gothic Pro','Yu Gothic','Meiryo','MS PGothic',sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}
ul, li {
	list-style: none;
}
.post {
	padding: 0;
}
.post p {
	line-height: 1.86em;
	letter-spacing: 0.14em;
}
@media (max-width:991px){
	body, .post, .post p {
		font-size: 1.8rem;
		line-height: 1.94em;
		letter-spacing: 0.02em;
	}
}
@media (max-width:575px){
	body, .post, .post p {
		font-size: 1.6rem;
	}
}
.meta-box {
	display: none;
}


/*
 * ------------------------------
 * Layout
 * ------------------------------
 */
body {
}
body .container {
	width: 100%;
	padding: 0;
}
body #primary, body #pnavi, body #section, body .grid {
	border: none;
}
.post #core,
.page #core {
	margin: 0;
	padding: 0;
	background: none;
}
#header {
	width: 100%;
	/* display: none; */
}
#primary {
	/* margin: 0; */
	/* display: block; */
	/* background-color: #eee; */
	/* box-shadow: 0 -5px 5px 0px rgba(0,0,0,.10); */
}
body #main {
	float: none;
}
.single #primary,
.archive #primary {
	width: 1120px;
	max-width: 100%;
	background: none;
	margin: 0 auto;
}
.single #main,
.page #main,
.archive #main {
	position:relative;
	margin-bottom: 8em;
	max-width: inherit;
	width: 100%;
	margin: 0 auto;
	background: #fff;
}
body #primary, body #pnavi, body #section, body .grid {
  border: none;
}
#breadcrumb {
	display:none !important;
}
body #foot-in {
	max-width: 1120px;
	padding: 35px 0;
	margin-bottom: 3em;
}
#foot-in ul.menu > li > a {
	font-size: 1.5rem;
}
#foot-in ul li {
	margin: 0;
}
#foot-in ul li li {
	font-size: 1.3rem;
}

.page main .meta {
	display: none;
}
.date.published {
	color: #aaa;
	font-weight: bold;
}
main .meta .fa-clock-o,
main .meta .fa-folder,
main .meta .fa-calendar,
#breadcrumb .fa-file-o {
	display: none;
}
main .meta .category a {
	display: inline-block;
	margin-left: 5px;
	padding: 5px 15px;
	background: #009ede;
	color: #fff;
	text-decoration: none;
}
.archive main .meta .category a {
	padding: 0px 10px;
}

/*
 * ------ section ------
 */
main section {
	padding-top: 140px;
	padding-bottom: 140px;
	overflow: hidden;
}
main section,
main section.wide .inner  {
	margin: 0 auto;
	max-width: 95%;
}
main section,
.inner {
	width: 1200px;
}
div > section > .inner {
	max-width: 95%;
	margin: 0 auto;
}
main section.semi-wide,
.inner.semi-wide {
	width: 95%;
}
main section section {
	padding: 2em 0;
	max-width: 100%;
}
main section > not(.inner):last-child,
main section .inner > :last-child {
	padding-bottom: 0;
}
main section.bg-gray:last-child,
main section.bg-white:last-child,
main section.bg-black:last-child {
	padding-bottom: 4em;
}
.archive main section {
	padding: 0;
}
main section::after,
main section::after,
.inner::after {
  content: '';
  display: block;
  clear: both;
}
main section.wide,
.inner.wide {
	width: 100%;
}
main section.wide {
	padding-left: 0;
	padding-right: 0;
	max-width: 100%;
}
@media (max-width:991px){
	main section {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	main section,
	main section.wide .inner {
		width: 90%;
	}
	main section.bg-gray:last-child,
	main section.bg-white:last-child,
	main section.bg-black:last-child {
		padding-bottom: 2em;
	}
}
main .bg-none {
	background-color: transparent;
}
main .bg-gray {
	color: #222;
	background-color: #f5f5f5;
}
main .bg-white {
	color: #222;
	background-color: #fff;
}
main .bg-black {
	color: #fff;
	background-color: #222;
}
.news-date {
	color: #009ede;
	font-weight: 700;
}


/*
 * ------------------------------
 * link
 * ------------------------------
 */

body a,
body a img,
body a::after {
	transition: 0.5s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.arrow {
	padding-right: 1.5em;
	position: relative;
	text-decoration: none;
}
.arrow:not(a){
	padding-right: 0;
}
.arrow:not(a) > a{
	padding-right: 1.5em;
	text-decoration: none;
}
.arrow:not(i)::after {
    content: "\f105";
    display: inline-block;
    position: absolute;
    padding-left: 0;
    top: 50%;
    right: 0;
    font-size: 1.8em;
    line-height: 1em;
    font-family: "FontAwesome";
    transform: translateY(-0.55em);
}
a.home::after {
	content: "\f015";
	font-family: "FontAwesome";
}
.accordion dt a::after {
	content: "\f103";
	font-family: "FontAwesome";
}
.external::after,
a.external::after {
	display: inline-block;
	margin-left: 0.5em;
	content:"\f08e";
	font-family: "FontAwesome";
	font-size: 0.6em;
}
.post a.nomark::after,
a.nomark.external::after {
	content: none;
}
.post h2 a,
.post h3 a,
.post h4 a,
.post h5 a {
	color: inherit;
}
.btn_01,
.btn_02,
a.btn_01,
a.btn_02,
input.btn_01,
input.btn_02 {
	display: inline-block;
	margin-right: 0.5em;
	margin-left: 0.5em;
	padding: 15px 70px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.0;
	cursor: pointer;
	text-decoration: none;
}
.btn_01,
a.btn_01,
input.btn_01 {
	border: 2px solid #004ea2;
	color: #004ea2;
	text-decoration: none;
}
.btn_02,
a.btn_02,
input.btn_02 {
	padding: 30px 95px;
	background-color: #fff;
	border-radius: 3px;
	font-size: 2.4rem;
	font-family: "Source Sans Pro";
	color: #004ea2 !important;
	border: 1px solid #e2e2e2;
}
a.btn_02.mail {
	padding-left: 140px;
	background-image: url("../../uploads/sites/11/icon_mail.png");
	background-repeat: no-repeat;
	background-position: 95px 50%;
}
.post .btn_01::after,
.post .btn_02::after {
	width: auto;
	line-height: inherit;
	background: none;
}
.btn_01.small,
.btn_02.small {
	padding: 3px 15px;
}
.btn_01:hover,
a.btn_01:hover,
input.btn_01:hover {
	border-color: #00a0e9;
}
.btn_02:hover,
a.btn_02:hover,
input.btn_02:hover {
	background-color: transparent;
	border-color: #004ea2;
}
.post .btn_01:hover::after {
	color: #fff;
	background: none;
}
.wpel-icon-right i.wpel-icon {
	margin-right: 0.6em;
	font-size: 0.6em;
}

@media (max-width:575px){
	.btn_02,
	a.btn_02,
	input.btn_02 {
		padding: 30px 35px;
	}
	a.btn_02.mail {
		padding-left: 80px;
		background-position: 35px 50%;
	}
}

.pagination > .active > span, .pagination > li > a:hover {
	background: #ee9f04;
}


/*
 * ------ List ------
 */
.post ul, .post ul li {
	list-style: none;
}
.post ul {
	padding-left: 0;
}
.post ul li {
	padding-left: 1.0em;
}
.post ul li::before {
	content: "â—";
	display: inline-block;
	position: relative;
	top: -0.25em;
	left: -1em;
	width: 1em;
	color: #004ea2;
	font-size: 0.5em;
	line-height: 2em;
}
.post li.nomark,
.post ul.nomark li,
.post li.column {
	padding-left: 0;
	text-indent: 0;
}
.post li.nomark::before,
.post ul.nomark li::before,
.post li.column::before {
	content: none;
}
.post .list-number li {
    list-style: decimal;
    margin-bottom: 0.3em;
}
.post .check-list li {
	position: relative;
	padding-bottom: 30px;
	padding-left: 38px;
	background-image: url("../../uploads/sites/11/icon-checkbox.png");
	background-repeat: no-repeat;
	background-position: 0 0.1em;
}
.post .check-list li::before {
	content: none;
}
.check-list li:last-child {
	padding-bottom: 0;
}

/*
 * ------------------------------
 * headline
 * ------------------------------
 */
.post h2.nomark,
.post h3.nomark,
.post h4.nomark {
	padding-bottom: 0;
	background: none;
}
.post h2.nomark::before,
.post h2.nomark::after,
.post h3.nomark::before,
.post h3.nomark::after,
.post h4.nomark::before,
.post h4.nomark::after {
	content: none;
}

.post h2 {
	margin-bottom: 40px;
	padding: 0;
	border: none;
	font-size: 3.2rem;
	text-align: center;
	color: #004ea2;
	letter-spacing: 0.02em;
}
.post h2:first-child,
.post h3:first-child {
	margin-top: 0;
}
.post .h2-has-icon,
.post .h3-has-icon {
	margin-bottom: 25px;
	padding: 100px 0 0 ;
	border: none;
	text-align: center;
	color: #444;
	font-weight: 400;
	letter-spacing: 0.12em;
	background: url(../../uploads/sites/11/icon_logo.png) center top no-repeat;
	background-size: 58px auto;
}
.post h2.h2-small {
	margin-bottom: 15px;
	letter-spacing: 0.08em;
}
.archive h2.entry-title {
	font-size: 2rem;
}
.post h3.head-center {
	margin-bottom: 1.5em;
}
.post h3.head-center::after {
	width: 50px;
	background: #999;
	bottom: 5px;
	height: 2px;
}
.post h2.texLeft,
.post h3.texLeft {
	text-align: center;
	border: none;
}
.post h4 {
	margin-left: 3px;
	border-left: solid 3px #004ea2;
	border-bottom: dotted 1px #004ea2;
	font-weight: 500;
}

.post h5 {
	font-size: 2.4rem;
}
.post h5::before {
	content: 'â– ';
	color: #004ea2;
	font-size: 0.8em;
	display: inline-block;
	position: relative;
	top: -0.1em;
	width: 1.5em;
}
@media (max-width:991px){
	.post h3.message{
		font-size: 4.0rem;
	}
}
@media (max-width:767px){
	.post h3.message{
		font-size: 2.5rem;
	}
}
@media (max-width:575px){
	.post h2,
	.post h2.h2-has-icon {
		font-size: 2.6rem;
	}
	.wide > h3 {
		padding-left: 5%;
	}
}



/*
 * ------------------------------
 * Eye catch visual
 * ------------------------------
 */

.single .container,
.page .container,
.archive .container {
	top: 0;
	margin-top: 100px;
}
/*
 * ------ Eye catch visual default image ------
 */

/* ------ layout ------ */
.page h1.entry-title,
h1.category-title {
	margin: 0;
	padding: 125px 2.5% 135px;
	text-align: center;
	color: #fff;
	letter-spacing: 0.24em;
	font-size: 2.4rem;
	background-image: url('../../uploads/sites/11/header_mini_bg.jpg');
	background-size: cover;
	background-position: 50% 50%;
}
.page h1.entry-title::before {
	content: "";
	display: block;
	font-size: 6.2rem;
	letter-spacing: 0.04em;
}
.services.page h1.entry-title::before {
	content: 'SERVICE';
	font-weight: 900;
}
.rd.page h1.entry-title::before {
	content: 'R&D';
	font-weight: 900;
}
.inquiry.page h1.entry-title::before {
	content: 'INQUIRY';
	font-weight: 900;
}

#title-subcontent {
	position: absolute;
	top: 170px;
	left: 0;
	right: 0;
	text-align: center;
}
#title-subcontent h2 {
	display: block;
	font-size: 50px;
	font-style: normal;
	font-style: normal;
	letter-spacing: 0.1em;
	border-left: none;
	text-shadow: 0 0px 7px rgba(0,0,0,0.3);
}


@media (max-width:991px){
	.single #primary,
	.page #primary,
	.archive #primary {
		max-width: 100%;
		margin-top: 80px;
		padding: 0;
	}
	.single .container,
	.page .container,
	.archive .container {
	margin-top: 80px;
	}
	.grid {
	}
	.post h1.entry-title,
	.page h1.entry-title{
	}
	h1.category-title {
		display: none;
	}
	.single h1.entry-title {
		padding: 0;
	}
	#title-subcontent {
		position: static;
		margin-bottom: 2em;
		padding: 0 5%;
		width: 100%;
		color: #222;
		text-align: left;
	}
	#title-subcontent h2 {
		margin-top: 10px;
		padding: 0;
		font-size: 20px;
		text-shadow: none;
	}
	#title-subcontent p {
		padding: 0;
		font-size: 15px;
		text-shadow: none;
	}
}
@media (max-width:991px){
	.post h1.entry-title{
		padding: 90px 2.5% 100px;
	}
}


/*
 * ------------------------------
 * box
 * ------------------------------
 */
.box_01 {
  background: #D9F1EF;
  border-radius: 9px;
  padding: 15px;
}
.box_02 {
  background: rgba(1, 64, 153, 0.1);
  padding: 15px;
}
.box_03 {
  background: #FFF;
  border: 1px solid #ddd;
  padding: 15px;
}
.border-box {
	padding: 45px;
	border: 1px solid rgba( 0,0,0,0.25 );
}
.border-box > :last-child {
	margin-bottom: 0;
}
@media (max-width:991px) {
	.border-box {
		padding: 25px;
	}
}

.column2box,
.column3box,
.column4box {
	display: flex;
	flex-wrap: wrap;
  margin-bottom: 15px;
}
.column1box .column {
  margin: 0 auto 20px;
}
.column2box > .column,
.column3box > .column,
.column4box > .column {
  display: block;
  margin-bottom: 20px;
}
.column2box > .column {
/*  float: left;*/
  width: 48%;
  margin-left: 0;
}
.column2box.nomargin > .column {
	width: 50%;
}
.column2box > .column:nth-child(2n + 1) {
  margin-left: 0;
  clear: both;
}
.column3box > .column {
/*  float: left;*/
  width: 32%;
  margin-left: 2%;
}
.column3box.nomargin > .column {
	width: 33.3%;
}
.column3box > .column:nth-child(3n + 1) {
  margin-left: 0;
  clear: both;
}
.column4box > .column {
/*  float: left;*/
  width: 23.5%;
  margin-left: 2%;
}
.column4box.nomargin > .column {
	width: 25%;
}
.column4box > .column.col2 {
  width: 49%;
}
.column4box > .column:nth-child(4n + 1) {
  margin-left: 0;
  clear: both;
}

.column2box.nomargin > .column,
.column3box.nomargin > .column,
.column4box.nomargin > .column {
	margin: 0;
}

.column2box::after,
.column3box::after,
.column4box::after {
  content: '';
  display: block;
  clear: both;
}
@media (max-width:991px){
	.column2box > .column,
	.column3box > .column,
	.column4box > .column {
		width: 48%;
  	margin-left: 4%;
	}
	.column3box > .column:nth-child(3n + 1) {
  	margin-left: 4%;
		clear: none;
	}
	.column2box > .column:nth-child(2n + 1),
	.column3box > .column:nth-child(2n + 1),
	.column4box > .column:nth-child(2n + 1)  {
		margin-left: 0;
		clear: both;
	}
}
@media (max-width:767px){
	.column2box > .column,
	.column3box > .column,
	.column4box > .column,
	.column3box > .column:nth-child(3n + 1),
	.column2box.nomargin > .column,
	.column3box.nomargin > .column,
	.column4box.nomargin > .column {
		width: 100%;
		margin-left: 0;
	}
}

/*+++++++++++++++++++++++++++++++++++++++++++
	margin
+++++++++++++++++++++++++++++++++++++++++++ */
.pt0 {
  padding-top: 0!important;
}
.pb0 {
  padding-bottom: 0!important;
}
.pl0 {
  padding-left: 0!important;
}
.pr0 {
  padding-right: 0!important;
}
.mt0 {
  margin-top: 0!important;
}
.mt5 {
  margin-top: 5px!important;
}
.mt10 {
  margin-top: 10px!important;
}
.mt15 {
  margin-top: 15px!important;
}
.mt20 {
  margin-top: 20px!important;
}
.mt25 {
  margin-top: 25px!important;
}
.mt30 {
  margin-top: 30px!important;
}
.mt35 {
  margin-top: 35px!important;
}
.mt40 {
  margin-top: 40px!important;
}
.mt45 {
  margin-top: 45px!important;
}
.mt50 {
  margin-top: 50px!important;
}
.mt60 {
  margin-top: 60px!important;
}
.mt70 {
  margin-top: 70px!important;
}
.mt100 {
  margin-top: 100px!important;
}
.mb0 {
  margin-bottom: 0!important;
}
.mb5 {
  margin-bottom: 5px!important;
}
.mb10 {
  margin-bottom: 10px!important;
}
.mb15 {
  margin-bottom: 15px!important;
}
.mb20 {
  margin-bottom: 20px!important;
}
.mb25 {
  margin-bottom: 25px!important;
}
.mb30 {
  margin-bottom: 30px!important;
}
.mb35 {
  margin-bottom: 35px!important;
}
.mb40 {
  margin-bottom: 40px!important;
}
.mb45 {
  margin-bottom: 45px!important;
}
.mb50 {
  margin-bottom: 50px!important;
}
.mb60 {
  margin-bottom: 60px!important;
}
.mb70 {
  margin-bottom: 70px!important;
}
.mb100 {
  margin-bottom: 100px!important;
}
.mr0 {
  margin-right: 0!important;
}
.mr5 {
  margin-right: 5px!important;
}
.mr10 {
  margin-right: 10px!important;
}
.mr15 {
  margin-right: 15px!important;
}
.mr20 {
  margin-right: 20px!important;
}
.mr25 {
  margin-right: 25px!important;
}
.mr30 {
  margin-right: 30px!important;
}
.mr35 {
  margin-right: 35px!important;
}
.mr40 {
  margin-right: 40px!important;
}
.mr45 {
  margin-right: 45px!important;
}
.mr50 {
  margin-right: 50px!important;
}
.ml0 {
  margin-left: 0!important;
}
.ml5 {
  margin-left: 5px!important;
}
.ml10 {
  margin-left: 10px!important;
}
.ml15 {
  margin-left: 15px!important;
}
.ml20 {
  margin-left: 20px!important;
}
.ml25 {
  margin-left: 25px!important;
}
.ml30 {
  margin-left: 30px!important;
}
.ml35 {
  margin-left: 35px!important;
}
.ml40 {
  margin-left: 40px!important;
}
.ml45 {
  margin-left: 45px!important;
}
.ml50 {
  margin-left: 50px!important;
}

.clear {
  clear: both;
}
.texCenter {
  text-align: center!important;
}
.texLeft {
  text-align: left!important;
}
.texRight {
  text-align: right!important;
}
.weightNormal {
  font-weight: 500!important;
}
.weightBold {
  font-weight: bold!important;
}
.floatL {
  float: left;
}
.floatR {
  float: right;
}
.floatNone {
  float: none !important;
}
.imgL {
  float: left;
  margin: 0 2em 2em 0;
}
.imgR {
  float: right;
  margin: 0 0 2em 2em;
}
.boxCenter {
  display: block;
  margin: 0 auto;
}
.warning {
  color: #c90000;
}
.caution {
	color: #014099;
}
.catchcopy {
	display: block;
	color: #005e9e;
	font-size: 1.2em;
	text-align: center;
}
.post .big {
	font-size: 1.2em;
}
.post .ex-big {
	font-size: 1.5em;
}
.post i.ex-big::after {
	font-size: 3em;
}
.post .message {
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.6;
}
.border-img {
	border: 1px solid #ccc;
	box-sizing: border-box;
}
.post .inner strong {
	background: linear-gradient(0,rgba(158, 193, 57, 0.2) 30%, transparent 30%);
}
.post .inner strong.nomark {
	background: none;
}

.fa-angle-double-down::after {
	content: "\f103";
}

@media (min-width:992px){
	.none-pc {
		display: none !important;
	}
}
@media (max-width:991px){
	.texCenter-tab {
		text-align: center!important;
	}
	.texLeft-tab {
		text-align: left!important;
	}
	.texRight-tab {
		text-align: right!important;
	}
	.floatNone-tab {
		float: none !important;
	}
	.none-tab {
		display: none !important;
	}
}
@media (max-width:767px){
	.post .big {
		font-size: 1.1em;
	}
	.post .ex-big {
		font-size: 1.2em;
	}
	.texCenter-m {
		text-align: center!important;
	}
	.texLeft-m {
		text-align: left!important;
	}
	.texRight-m {
		text-align: right!important;
	}
	.floatNone-m {
		float: none !important;
	}
	.none-m {
		display: none !important;
	}
	.post .message {
		font-size: 2.0rem;
	}
}



/*
 * ------------------------------
 * table
 * ------------------------------
 */

.noborder td, .noborder th {
	border: none;
	background: none;
	font-weight: inherit;
}
.post thead th {
	background: #009ede;
	color: #fff;
}
.noborder td, .noborder th {
	text-align: left;
	padding: 4px 8px;
}
.w100per {
	width: 100%;
}
.w100per tbody,
.w100per thead,
.w100per tr,
.w100per th,
.w100per td {
	width: inherit;
}
@media (max-width:575px){
	.post table td, .post table th {
		display: inline-block;
		width: 100%;
		border-bottom-width: 0;
	}
	.noborder td, .noborder th {
		text-align: left;
		padding: 6px 0;
	}
	.noborder th {
		font-weight: 700;
	}
	.post table:not(.noborder) {
		border-bottom: 1px solid #ddd;
	}
	.nowrap-table td, .nowrap-table th {
		display: table-cell;
		width: auto;
		border-bottom-width: 1;
	}
	.nowrap-table {
		border-bottom: none;
	}
}

/*
 * ------------------------------
 * more link
 * ------------------------------
 */
.more-link.btn {
	display: table;
}
.more-link.btn a {
	display: table-cell;
	position: relative;
	padding: 0.6em;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: bold;
	font-family: Century Gothic, "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	line-height: 1em;
	text-align: center;
	vertical-align: middle;
}
.more-link.btn a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.more-link.btn a {
	background: #009ede;
}
.more-link.btn a::before {
	content: "\f054";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -0.5em;
	font-size: 12px;
	font-family: 'FontAwesome';
}

/*
 * ------------------------------
 * Mega menu
 * ------------------------------
 */

#head-in {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 25px;
  background: none;
}
#head-in .info {
	padding-top: 0;
}
.sitename img {
	width: 250px;
}
#header #gnavi,
.menu-gnav-container {
	max-width: 100%;
	height: 100%;
}
#gnavi .menu-gnav-container {
	display: block;
}
#nav {
	position: fixed;
	height: 100px;
	box-shadow: 0 3px 5px 0 rgba(0,0,0,.05);
	top: 0;
	left: auto;
	right: auto;
}
#nav, #gnavi ul {
	color: #111;
	background: #fff;
}
#gnavi #menu-gnav {
	justify-content: flex-end;
	height: 100%;
	transform-origin: top;
}
#gnavi li {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	display: table;
	height: 100%;
}
#gnavi li > a {
	display: table-cell;
	vertical-align: middle;
}
#gnavi li:hover,
#gnavi li:hover a,
#gnavi li:hover > a > span,
#gnavi li > a:hover,
#gnavi li > a span:hover {
	background: none;
}
#gnavi .current_page_item>a {
	background-color: transparent;
	color: #111;
	font-weight: inherit;
}
#gnavi div>ul>li>a>span {
	padding: 0 15px;
}

@media (max-width:991px){
	#head-in {
		left: 5px;
		width: calc( 100% - 70px );
	}
	.sitename img {
		width: 195px;
	}
	#gnavi .menu-gnav-container {
		visibility: hidden;
		transform: scaleY(0.01);
		opacity: 0;
		transition: opacity 0.5s ease-in, transform 0.5s ease-in;
		transition-delay: 0.3s;
		width: 100%;
	}
	.closenav #gnavi .menu-gnav-container {
		visibility: hidden;
	}
	.opennav #gnavi .menu-gnav-container {
		visibility: visible;
		transform: scaleY(1);
		opacity: 1;
	}
	.moving #gnavi .menu-gnav-container{
		visibility: visible;
	}
	#gnavi #menu-gnav{
		visibility: hidden;
		position: absolute;
		top: 80px;
		z-index: -100;
		padding: 30px 0;
		width: 100%;
		height: auto;
		border: none;
		background-color: #004ea2;
	}
	.opennav #gnavi #menu-gnav,
	.moving #gnavi #menu-gnav  {
		visibility: visible;
		display: block;
	}
	#gnavi li {
		width: 100%;
		border: none;
	}
	#gnavi #menu-gnav li a {
		background-color: transparent;
		color: #fff;
	}
	#gnavi li:hover,
	#gnavi li:hover a,
	#gnavi li:hover > a > span,
	#gnavi li > a:hover,
	#gnavi li > a span:hover {
		color: #e5e9ff;
	}
	body:not(.fixed) #gnavi div>ul>li>a>span {
		padding: 24px 0;
		display: inline-block;
	}
}

/*
 * Mobile menu open button----------------------
 */
#mob-nav-btn {
	position: absolute;
	right: 0px;
	padding: 0px 25px;
	text-align: right;
	cursor: pointer;
	transition: opacity 0.3s;
	opacity: 0;
	top: -1000px;
}
#mob-nav-open {
	visibility: hidden;
	width: 60px;
	height: 60px;
}

.mob-nav {
	margin: 0 0 0 auto;
	right: 25px;
}
.mob-nav::after,
.mob-nav::before {
	content: "";
	display: block;
}
.mob-nav,
.mob-nav::after,
.mob-nav::before {
	background: #004ea2;
	width: 40px;
	height: 2px;
	position: absolute;
	top: 40px;
	transition: 0.3s;
}
.mob-nav::before {
	transform: translateY(-15px);
	top: 0px;
}
.mob-nav::after {
	transform: translateY(14px);
	top: 0px;
}
#mob-nav-open:checked ~ .mob-nav {
	background-color: transparent;
}
#mob-nav-open:checked ~ .mob-nav::before {
	transform: rotate(45deg);
}
#mob-nav-open:checked ~ .mob-nav::after {
	transform: rotate(-45deg);
}
@media (max-width:991px){
	#nav {
		top: 0px;
		position: fixed;
		height: 80px;
		padding-top: 0;
	}
	#mob-nav-btn {
		top: 0px;
		opacity: 1;
	}
}
@media (max-width:576px){
	.mob-nav,
	.mob-nav::after,
	.mob-nav::before {
		width: 30px;
	}
	.mob-nav::before {
		transform: translateY(-12px);
	}
	.mob-nav::after {
		transform: translateY(11px);
	}
}



/*
 * ------------------------------
 * Pagetop
 * ------------------------------
 */
#page-top {
	width: 5em;
	height: 5em;
	padding: 0.5em 0 0 0;
}
#page-top .fa {
	display: block;
}
@media (max-width:575px){
	#page-top {
		width: 3em;
		height: 3em;
		padding: 0.5em 0 0 0;
	}
}


/*
 * ------------------------------
 * sns_area
 * ------------------------------
 */
#foot-in .sns_area > li {
	display: inline-block;
	margin: 20px 5px 0 0;
	font-size: 1.8rem;
}
.sns_area a {
	display: table;
	width: 2em;
	background: #009ede;
	height: 2em;
}
.sns_area a.icon-twitter {
	background: #00aced;
}
.sns_area a.icon-google {
	background: #d34836;
}
.sns_area a.icon-facebook {
	background: #3b5998;
}
.sns_area a:hover {
	text-decoration: none;
	opacity: 0.8;
}
.sns_area a i {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}


/*
 * ------------------------------
 * Icon btn
 * ------------------------------
 */
 .post *.icon-btn {
	padding-left: 0;
	padding-right: 0;
	border: 0;
	font-weight: 500;
	overflow: hidden;
	box-shadow: 0px 0px 3px 3px rgba(0,0,0,0.1);
}

.post .icon-btn.small {
	width: 400px;
	margin: 0 auto;
	max-width: 100%;
}
.icon-btn a{
	position: relative;
	display: block;
	padding: 50px 20px 50px 40%;
	font-size: 2.3rem;
	color: #fff;
	background-color: #004ea2;
	text-decoration: none;
}
.icon-btn a.mail {
	font-weight: 700;
}
.icon-btn a.mail small {
	display: inline-block;
	padding-top: 1.5em;
	font-size: 0.65em;
	font-weight: 400;
}
.icon-btn a.mail::after {
	content: "";
	position: absolute;
	top: 0%;
	left: 5%;
	width: 30%;
	height: 200px;
	background-image: url('./images/icon-mail.png'); /* Default */
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
}
.icon-btn a.mail::after {
	width: 30%;
	height: 200px;
	background-image: url('./images/icon-mail.png');
}
.post .icon-btn a::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	top: 0;
	bottom: 0;
	left: -100%;
	background: rgba(0, 158, 222, 0.6);
	z-index: 1;
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 0;
}
.post .icon-btn a:hover::before {
	left: 0;
	opacity: 1;
}

@media (max-width:767px){
	.post .icon-btn {
		width: 500px;
		max-width: 100%;
		margin: 0 auto;
	}
	.post .icon-btn a {
		padding: 150px 20px 40px 20px;
		font-size: 1.8rem;
	}
	.post .icon-btn a::after {
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 150px;
		background-size: auto 120px;
	}
}


/*
 * ------------------------------
 * img-menu
 * ------------------------------
 */
.img-menu .column {
	table-layout: fixed;
	position: relative;
	height: 200px;
	overflow: hidden;
	box-sizing: border-box;
	z-index: 3;
	border-radius: 5px;
	background-size: cover;
}
.img-menu .column::after,
.img-menu .column .content::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: inherit;
	-webkit-transition: .5s;
	transition: .5s;
}
.img-menu .column:hover::after {
	filter: blur(5px);
}
.img-menu .content {
	display: table;
	table-layout: fixed;
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: rgba(0,0,0,.3);
}
.img-menu .column .content::after {
	background: linear-gradient( 15deg, rgba(0,78,162,.8), rgba(0,78,162,.3));
	opacity: 0;
	-webkit-transition: .5s;
	transition: .5s;
}
.img-menu .column:hover .content::after {
	opacity: 0.5;
}
.img-menu .content a {
	display: table-cell;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 20px;
	vertical-align: middle;
	font-size: 3.2rem;
	color: #fff;
	font-weight: 700;
	line-height: 45px;
	text-decoration: none;
	text-shadow: 0 0 15px rgba(0,0,0,0.25);
	letter-spacing: 0.08em;
	z-index: 11;
}
.img-menu a.external {
	content: none;
}
.img-menu a.external::after {
	content: "";
	margin: 0;
}
.img-menu .content a::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	display: block;
	border-radius: 5px;
	width: calc( 100% - 20px);
	height: calc( 100% - 20px);
	border: 1px solid #fff;
}
_:-ms-lang(x), .img-menu .content a::after {
	height: calc( 200px - 20px);
}
.img-menu .img-menu-partner {
	background-image: url('../../uploads/sites/11/btn_partner_bg.jpg');
}
.img-menu .img-menu-tsh {
	background-image: url('../../uploads/sites/11/btn_tsh_bg.jpg');
}
.img-menu .img-menu-partner span::before {
	display: inline-block;
	vertical-align: middle;
	height: 45px;
	content: url('../../uploads/sites/11/icon_partner.png');
	position: relative;
	left: 0;
	top: -10px;
}

@media (max-width:991px) {
	.post .img-menu .column {
		width: 670px;
		max-width: 100%;
		margin: 0 auto 20px;
	}
}
@media (max-width:576px) {
	.img-menu .content a {
		font-size: 2.4rem;
	}
	.img-menu .img-menu-partner a::before {
		top: 0.8em;
	}
}


/* --- featureArea --- */
section {
	background-size: cover;
	background-position: center center;
}
#featureArea {
	background-image: url('../../uploads/sites/11/feature_bg.png');
	background-size: auto;
}
#featureArea p {
	line-height: 2.5em;
}
#bannerArea {
	padding: 80px 0;
}
#bannerArea .img-menu,
#bannerArea .column {
	margin-bottom: 0;
}
#serviceArea {
	text-align: center;
	background-image: url('../../uploads/sites/11/service_bg.jpg');
}

#IndividualServiceArea {
	padding: 0;
	flex-wrap: nowrap;
	margin-bottom: 0;
}
#IndividualServiceArea .column {
	margin: 0;
	padding: 100px 0;
	background-size: cover;
	background-position: center center;
	width: 33.333%;
	flex-grow:1;
	border-style: solid;
	border-color: #fff;
	border-width: 5px 5px 5px 0;
}
#IndividualServiceArea .column .content {
	max-width: 90%;
	margin: auto;
	width: 455px;
	text-align: center;
	color: #fff;
}
#IndividualServiceArea .column:last-child {
	border-right: none;
}
#IndividualServiceArea #financeArea {
	min-width: 450px;
	background-image: url('../../uploads/sites/11/service_finance_bg.jpg');
}
#IndividualServiceArea #serviceImgArea {
	background-image: url('../../uploads/sites/11/service_img_bg.jpg');
}
#IndividualServiceArea #insuaranceArea {
	min-width: 450px;
	background-image: url('../../uploads/sites/11/service_insurance_bg.jpg');
}
#IndividualServiceArea .h3-has-icon {
	padding-top: 72px;
	background-size: 72px auto;
	color: #fff;
	font-weight: 700;
	font-size: 3.2rem;
}
#IndividualServiceArea #financeArea .h3-has-icon {
	background-image: url("../../uploads/sites/11/icon_finance.png");
}
#IndividualServiceArea #insuaranceArea .h3-has-icon {
	background-image: url("../../uploads/sites/11/icon_insurance.png");
}
#contactArea {
	text-align: center;
	background-image: url('../../uploads/sites/11/contact_bg.jpg');
	border-bottom: 5px solid #fff;
}
#contactArea p {
	margin-bottom: 40px;
}

@media (max-width:991px) {
	#bannerArea .column:first-child {
		margin-bottom: 20px;
	}
	#serviceArea {
		text-align: left;
	}
	#IndividualServiceArea {
		flex-wrap: wrap;
	}
	#IndividualServiceArea .column {
		width: 100%;
		border-width: 10px 0 0 0;
	}
	#IndividualServiceArea .column:last-child {
		border-bottom-width: 10px;
	}
	#IndividualServiceArea .column .content {
		width: 475px;
	}
	#serviceArea {
		background-image: url('../../uploads/sites/11/service_bg_m.jpg');
	}
	#IndividualServiceArea #serviceImgArea {
		display: none;
	}
	#IndividualServiceArea #financeArea {
		min-width: auto;
		background-image: url('../../uploads/sites/11/service_finance_bg_m.jpg');
	}
	#IndividualServiceArea #insuaranceArea {
		min-width: auto;
		background-image: url('../../uploads/sites/11/service_insurance_bg_m.jpg');
	}
	#contactArea {
		border-bottom: 10px solid #fff;
	}
}


/* --- halfMenuArea --- */
.visual-menu {
	background-color: #e9e9e9;
	background-size: cover;
	background-position: center center;
	border-bottom: 5px solid #fff;
}
.visual-menu .content {
	width: 50%;
}
.visual-menu .inner-content {
	height: 100%;
	width: 430px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 2%;
	position: relative;
	background-size: auto 60%;
	background-position: 100% 50%;
	background-repeat:no-repeat;
}
.visual-menu .inner-content > :last-child {
	margin-bottom: 0
}
.rd .visual-menu {
	position: relative;
	padding-top: 125px;
	padding-bottom: 125px; 
	background-position: 40% center;
}
.rd .visual-menu .content {
	width: 50%;
	min-width: 600px;
}
.rd .visual-menu .inner-content {
	width: 675px;
	padding: 0 5%;
}
.visual-menu.content-right .content {
	margin: 0 0 0 auto;
}

#aboutRD.visual-menu {
	background-image:url('../../uploads/sites/11/about_dev_bg.jpg');
	border-bottom: none;
}
#aboutRPA.visual-menu {
	background-image:url('../../uploads/sites/11/rd_rpa_bg.jpg');
}
#aboutRapid.visual-menu {
	background-position: 67% center;
	background-image:url('../../uploads/sites/11/rd_rapid_bg.jpg');
}
#aboutBigdata.visual-menu {
	background-image:url('../../uploads/sites/11/rd_bigdata_bg.jpg');
}


.visual-menu .btn_01.bg-none {
	color: #fff;
	border: 1px solid #fff;
}

@media (max-width:991px) {
	.rd .visual-menu {
		background-position: 35% center;
	}
}

@media (max-width:767px) {
	.half-menu .column {
		width: 100%;
		height: auto;
	}
	.half-menu .content {
		padding: 90px 0;
	}
	.half-menu .image {
		height: auto;
		padding-top: 69.3%;
	}
	.half-menu.content-left .content::after,
	.half-menu.content-right .content::after {
		top: auto;
		right: 50%;
		left: 50%;
		bottom: -80px;
		border-width: 40px 24px;
		margin: 0;
		border-color:#010101 transparent  transparent transparent;
		margin-left: -24px;
	}
	#aboutRD.visual-menu {
		background-image:url('../../uploads/sites/11/about_dev_bg_m.jpg');
	}
	.visual-menu {
		border-bottom: 10px solid #fff;
	}
	.rd .visual-menu {
		padding: 0;
	}
	.rd .visual-menu::after {
		position: relative;
		left: 0;
		content: "";
		display: block;
		z-index: 100;
		width: 100%;
		height: 0;
		padding-top: 79.333%;
		background-size: cover;
		background-position: center;
	}
	.visual-menu .content,
	.rd .visual-menu .content {
		width: 100%;
		min-width: auto;
	}
	.rd .visual-menu .content {
		padding: 100px 0;
		background-size: cover;
		background-position: center center;
	}
	.visual-menu .inner-content{
		padding-bottom: 50.6%;
		width: 415px;
		max-width: 95%;
	}
	.rd .visual-menu .inner-content,
	.visual-menu.content-right .inner-content  {
		margin: 0 auto;
		max-width: 95%;
	}
	.visual-menu.content-left .content,
	.visual-menu.content-right .content  {
		margin: 0 auto;
	}
	#aboutRPA.visual-menu .content {
		background-image:url('../../uploads/sites/11/rd_rpa_bg_m.jpg');
	}
	#aboutRapid.visual-menu .content {
		background-image:url('../../uploads/sites/11/rd_rapid_bg_m.jpg');
	}
	#aboutBigdata.visual-menu .content {
		background-image:url('../../uploads/sites/11/rd_bigdata_bg_m.jpg');
	}
	#aboutRPA.visual-menu::after {
		background-image:url('../../uploads/sites/11/rd_rpa_img_m.jpg');
	}
	#aboutRapid.visual-menu::after {
		background-image:url('../../uploads/sites/11/rd_rapid_img_m.jpg');
	}
	#aboutBigdata.visual-menu::after {
		background-image:url('../../uploads/sites/11/rd_bigdata_img_m.jpg');
	}
}


/*
 * ------------------------------
 * Inquiry
 * ------------------------------
 */
.mailform-table {
	margin: 0 auto;
	text-align: left;
}
#mail-list h4 {
	margin: 3em 0 1em 0;
}
#mail-list p {
	margin-bottom: 0.5em;
}

.mailform-table input[type="submit"],
.mailform-table input[type="text"],
.mailform-table input[type="email"],
.mailform-table input[type="tel"],
.mailform-table textarea,
.mailform-table .reply a {
	width: 100%;
}
.mailform-table input[name^=your-zip] {
	width: 5em;
}
input[type="tel"] {
	color: inherit;
	background: #fff;
	border: 1px solid #ddd;
	display: inline;
	line-height: 1;
	vertical-align: middle;
	padding: 12px 12px 11px;
	max-width: 100%;	
}

input.wpcf7c-conf, select.wpcf7c-conf, textarea.wpcf7c-conf {
	background-color: #ccc;
	color: #444;
	border: 1px solid #aaa;
}
html input[disabled].btn_01 {
	background: #e5e5e5;
	color: #ccc;
	border-color: #ccc;
}

input.btn_01.bg-gray {
	background: #ccc;
	color: #444;
	border-color: #aaa;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	padding: 20px;
	border-color: #f7e790;
	background: #fffae0;
}

@media (max-width:767px){
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	.reply a {
		width: 100%;
	}
	input[type="submit"] {
		width: 90%;
	}
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 769px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

div.wpcf7 .wpcf7-spinner {
    display: block;
}

#gnavi .current-menu-item>a, #gnavi .current-menu-ancestor>a, #gnavi .current_page_item>a, #gnavi .current_page_ancestor>a {
    background: none repeat scroll 0 0 #fff;
    color: #000;
    font-weight: 700;
}