/*----------------------------------------------
	common
---------------------------------------------*/
.mab10 { margin-bottom: 10px!important ; }
.mab20 { margin-bottom: 20px!important ; }
.mab30 { margin-bottom: 30px!important ; }
.mab40 { margin-bottom: 40px!important ; }
.mab50 { margin-bottom: 50px!important ; }

.mar20 { margin-right: 20px!important ; }
.mar30 { margin-right: 30px!important ; }

.fs14 {font-size: 14px;}

.ALcenter { text-align : center ; }
.ALright { text-align : right ; }

.VAcenter { vertical-align : middle; }

img {
	vertical-align: bottom;
}

.indent {
	text-indent : 1em;
}
.kome {
	text-indent : -1em ;
	padding-left : 1em ;
}
.important {
	color: #f00;
	font-weight: bold;
}
section {
	padding: 50px 0;
}
.float_l {
	float: left;
}
.float_r {
	float: right;
}
.float_box {
	width: 100%;
}
.w30 {
	width: 30%;
}
.w38 {
	width: 38%;
}
.w60 {
	width: 60%;
}
.w68 {
	width: 68%;
}
.w75 {
	width: 75%;
}
.w80 {
	width: 80%;
}
.w85 {
	width: 85%;
}
.w90 {
	width: 90%;
}

.test {
	color: #f00;
	font-size: 200%;
}
.small {
	font-size: 80%;
}

.flex {
  display: flex;
  justify-content: center;
}
.flex.is_jcStart {
  justify-content: flex-start;
}
.flex.is_wrap {
  flex-wrap: wrap;
}

.hover {
  transition: .2s;
}
.hover:hover {
  opacity: .7;
}

/******************************************/
.wp-theme header {
	top: 32px;
}

/*----------------------------------------------
	parts
---------------------------------------------*/
/*-- title --*/
.title_box {
	margin-bottom: 20px;
}
.inner_title {
	display: inline-block;
	vertical-align: middle;
	font-size: 175%;
	font-weight: bold;
	position: relative;
	padding-left: 45px;
}
.inner_title:before {
	content: '';
	width: 20px;
	height: 20px;
	background-color: #eee;
	font-size: 80%;
	position: absolute;
	top: 5px;
	left: 3px;
}
.inner_title:after {
	content: '';
	width: 10px;
	height: 10px;
	background-color: #ddd;
	font-size: 50%;
	position: absolute;
	top: 25px;
	left: 23px;
}
.title_type01 {
	font-size: 120%;
	font-weight: bold;
	color: #0060BF;
	margin-bottom: 10px;
}
.title_type02 {
	margin-bottom: 20px;
	padding: .4em .5em .3em;
	background-color: #0060BF;
	font-size: 120%;
	font-weight: bold;
	color: #fff;
}

/*-- button --*/
.btn_large a {
	width: 300px;
}
.btn_medium a {
	width: 150px;
}
.btn_small a {
	width: 80px;
}
.btn_gray a {
	background-color: #666!important;
}
.btn_type01 {
	position: relative;
	text-align: center;
}
.btn_type01 a {
	display: block;
	padding: 8px 0;
	background-color: #0060BF;
	color: #fff;
	font-weight: bold;
	font-size: 93%;
	text-decoration: none;
	position: relative;
	margin: 0 auto;
}
.btn_type01 a:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #fff;
	width: 100%;
	height: 100%;
	transition: all linear .2s;
}
.btn_type01 a:hover:before {
	transform: translate(2px,2px);
	width: calc(100% - 6px);
	height: 84%;
}
.btn_type01 a:after {
	content: '';
	position: absolute;
	right: 3px;
	bottom: 3px;
	vertical-align: middle;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
}

.btn_type02 {
	position: relative;
}
.btn_type02 a {
	display: block;
	padding: 15px 0;
	border: 1px solid #fff;
	color: #fff;
	font-weight: bold;
	font-size: 113%;
	text-decoration: none;
	position: relative;
	margin: 0 auto;
}
.btn_type02 a:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #fff;
	transform: translate(-1px,-1px);
	width: 100%;
	height: 100%;
	transition: all linear .2s;
}
.btn_type02 a:hover:before {
	transform: translate(2px,2px);
	width: 98%;
	height: 89%;
}
.btn_type02 a:after {
	content: '';
	position: absolute;
	right: 3px;
	bottom: 3px;
	vertical-align: middle;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
}

/*-- table --*/
.table_type01 {
	width: 100%;
}
.table_type01 th,
.table_type01 td {
	border-bottom: 1px solid #ddd;
	padding: 8px;
	vertical-align: top;
}
.table_type01 th {
	font-weight: bold;
}
.table_type02 {
	width: 100%;
}
.table_type02 th {
  background: #f5f5f5;
  font-weight: bold;
}
.table_type02 th,
.table_type02 td {
	border: 1px solid #ddd;
	padding: 12px 15px 10px;
	vertical-align: top;
}
.table_type03 {
	width: 100%;
}
.table_type03 th,
.table_type03 td {
	width: 50%;
	border: 1px solid #e0eeff;
	padding: 20px;
	vertical-align: top;
}
.table_type04 {
	width: 100%;
}
.table_type04 th {
  font-weight: bold;
}
.table_type04 th,
.table_type04 td {
	border: 1px solid #ddd;
	padding: 12px 15px 10px;
	vertical-align: top;
}
.table_type04 th.is_pink,
.table_type04 td.is_pink {
  background: #fff9fa;
}
.table_type04 th.is_orange,
.table_type04 td.is_orange {
  background: #fff7e9;
}
.table_type04 th.is_green,
.table_type04 td.is_green {
  background: #f7fbf7;
}

/*-- box --*/
.box_type01 {
	background-color: #f1f1f1;
	text-align: justify;
	padding: 15px;
}

/*-- dl --*/
.dl_type01 {
	text-align: justify;
}
.dl_type01 dt {
	color: #555;
	font-size: 113%;
	font-weight: bold;
	margin-bottom: 10px;
}
.dl_type01 dd {
	margin-bottom: 30px;
}

/*-- inline list --*/
.inline_list {
	text-align: center;
}
.inline_list li {
	display: inline-block;
	vertical-align: middle;
}
.inline_list li:first-child {
	border-right: 1px solid #333;
}

/*-- list --*/
.c_list_type01 li {
  list-style-type: disc;
	margin-left: 1.5rem;
}

/*-- products list --*/
.products_list > li {
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
}
.products_list > li:last-child {
	margin-bottom: 0;
}
.products_list > li img {
	width: 100%;
	height: auto;
}
.products_photo {
	float: left;
	width: 210px;
}
.products_info {
	float: left;
	width: 510px;
	margin-left: 20px;
}
.products_name {
	font-size: 113%;
	font-weight: bold;
	margin-bottom: 10px;
}
.products_text {
	text-align: justify;
	margin-bottom: 53px;
}
.btn_box {
	position: absolute;
	bottom: 20px;
	right: 0;
}
#rental .products_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#rental .products_list li {
  width: 49%;
}
#rental .products_info {
  width: inherit;
}

/*-- post-categories --*/
.post-categories {
	position: absolute;
	bottom: 20px;
	left: 230px;
	font-size: 81%;
	width: 350px;
	/*border-left: 1px solid #ddd;*/
}
.single .post-categories {
	position: inherit;
	width: auto;
	padding-top: 12px;
	margin-top: 12px;
	text-align: right;
	border-top: 1px solid #ddd;
}
.post-categories > li {
	display: inline-block;
	margin-right: 10px;
	/*padding: 8px 15px;
	border-right: 1px solid #ddd;*/
}
.single .post-categories > li {
	margin-right: 0;
	margin-left: 10px;
}
.post-categories > li a {
	color: #0060BF;
}
.post-categories > li a:hover {
	text-decoration: none;
}

/*-- footer_contents --*/
.footer_contents {
	background: url(../images/bg_top_company.jpg) center 0 no-repeat;
	background-size: cover;
	color: #fff;
	text-align: center;
}
.footer_contents_title {
	font-size: 225%;
	font-weight: bold;
	margin-bottom: 40px;
}
.footer_contents_text {
	font-size: 113%;
	line-height: 1.9;
	margin-bottom: 30px;
}

/*----------------------------------------------
	top
---------------------------------------------*/
#top .slider a {
	display: block;
}
#top section.top_section02 {
	background-color: #F0F0F0;
	background-image: url(../images/bg_top_result.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}
#top section.top_section03 {
	background: url(../images/bg_triangle.jpg) 0 0 repeat;
}
#top .top_title {
	display: inline-block;
	vertical-align: middle;
	font-size: 175%;
	font-weight: bold;
	position: relative;
	padding-left: 45px;
}
#top .top_title:before {
	content: '■';
	color: #eee;
	font-size: 80%;
	position: absolute;
	top: 0;
	left: 0;
}
#top .top_title:after {
	content: '■';
	color: #ddd;
	font-size: 50%;
	position: absolute;
	top: 20px;
	left: 18px;
}
#top .top_section02 .top_title:before {
	color: #ccc;
}
#top .top_section02 .top_title:after {
	color: #aaa;
}
#top .top_title_en {
	display: inline-block;
	vertical-align: middle;
	padding-left: 20px;
	margin-left: 15px;
	border-left: 1px solid #555;
}

/*-- products --*/
#top .top_products_box {
	width: 100%;
}
#top .top_products_inner {
	float: left;
	width: 50%;
}
#top .top_products_inner:first-child .top_btn_products {
	border-right: 1px inset #004A95;
}
#top .top_btn_products {
	background-color: #005BB5;
	color: #fff;
	padding: 10px;
	text-align: center;
}
#top .top_btn_products span {
	display: inline-block;
	font-weight: bold;
	position: relative;
	font-size: 113%;
}
#top .top_btn_products span:before {
	content: '';
	box-sizing: border-box;
	width: 7px;
	height: 7px;
	border: 7px solid transparent;
	border-top: 7px solid #fff;
	margin-right: 10px;
	position: absolute;
	top: 11px;
	left: -22px;
	margin: auto;
}
#top .top_btn_products span:before {
	animation:move 3s linear 0s infinite normal;
	-webkit-animation:move 3s linear 0s infinite normal;
}
@keyframes move {
	0% {
		transform: translate(0,-3px);
	}
	50% {
		transform: translate(0,3px);
	}
	100% {
		transform: translate(0,-3px);
	}
}
@-webkit-keyframes move {
	0% {
		transform: translate(0,-3px);
	}
	50% {
		transform: translate(0,3px);
	}
	100% {
		transform: translate(0,-3px);
	}
}
#top .top_btn_products.active span:before {
	border: 7px solid transparent;
	border-bottom: 7px solid #fff;
	top: 4px;
}
#top .top_btn_products.active:hover span:before {
	animation:moveup 3s linear 0s infinite normal;
	-webkit-animation:moveup 3s linear 0s infinite normal;
}
@keyframes moveup {
	0% {
		transform: translate(0,3px);
	}
	50% {
		transform: translate(0,-3px);
	}
	100% {
		transform: translate(0,3px);
	}
}
@-webkit-keyframes moveup {
	0% {
		transform: translate(0,3px);
	}
	50% {
		transform: translate(0,-3px);
	}
	100% {
		transform: translate(0,3px);
	}
}
#top .top_products_group {
	min-height: 399px;
}
#top .top_products_group.top_place {
	background: url(../images/bg_top_place.jpg) 0 0 no-repeat;
}
#top .top_products_group.top_purpose {
	background: url(../images/bg_top_purpose.jpg) 0 0 no-repeat;
}
#top .top_products_list {
	background-color: rgba(221,221,221,.8);
}
#top .top_products_list li {
	display: inline-block;
	width: 100px;
	min-height: 116px;
	margin: 3px 10px 14px;
	text-align: center;
	vertical-align: top;
}
#top .top_products_list li a {
	color: #005AB4;
	text-decoration: none;
}
#top .top_products_list li a span {
	display: block;
	transition: all linear .3s;
}
#top .top_products_list li a:hover span {
	opacity: .5;
}
#top .top_products_name {
	font-size: 93%;
	line-height: 1.2;
}

/*-- result --*/
.top_result_box {
	position: relative;
}
.top_result_box .slick-list {
	/*margin: 0 -15px;*/
}
.top_result_box .slick-prev,
.top_result_box .slick-next {
	position: absolute;
	top: 30%;
	width: 20px;
	height: 50px;
	border: none;
	cursor: pointer;
}
.top_result_box .slick-prev {
	left: -50px;
	background: url(../images/icon_arrow_left.png) 0 0 no-repeat;
}
.top_result_box .slick-next {
	right: -50px;
	background: url(../images/icon_arrow_right.png) 0 0 no-repeat;
}
.top_result_list {
	overflow: hidden;
}
.top_result_list li {
	display: inline-block;
	text-align: center;
	vertical-align: top;
}
.top_result_list li:last-child {
	margin-right: 0;
}
.top_result_photo {
	width: 312px;
	height: 312px;
	overflow: hidden;
	position: relative;
}
.top_result_photo img {
	transition: all ease .5s;
}
.top_result_photo:hover {
	background-color: rgba(0,0,0,1);
}
.top_result_photo:hover a span img {
	transform: scale(1.1);
	opacity: .5;
}
.top_result_photo:before,
.top_result_photo:after,
.top_result_photo span.hover:before,
.top_result_photo span.hover:after {
	content: '';
	background-color: #fff;
	display: block;
	position: absolute;
	z-index: 999;
	transition: all .3s ease;
	-webkit-transition: all .3s ease-in;
}
.top_result_photo:before {
	height: 1px;
	left: 2%;
	top: 2%;
	width: 96%;
	transform: translate(-500px,0);
}
.top_result_photo:after {
	bottom: 2%;
	height: 1px;
	right: 2%;
	width: 96%;
	transform: translate(500px,0);
}
.top_result_photo span.hover:before {
	bottom: 2%;
	height: 96%;
	left: 2%;
	width: 1px;
	transform: translate(0,500px);
}
.top_result_photo span.hover:after {
	height: 96%;
	right: 2%;
	top: 2%;
	width: 1px;
	transform: translate(0,-500px);
}

.top_result_photo:hover:before,
.top_result_photo:hover:after,
.top_result_photo:hover span.hover:before,
.top_result_photo:hover span.hover:after {
	transform: translate(0,0);
}

.top_result_photo span.hover {
	display: block;
	position: relative;
	width: 312px;
	height: 312px;
}
.top_result_photo span.hover img {
	position: absolute;
	top: -100%;
	bottom: -100%;
	left: -100%;
	right: -100%;
	margin: auto;
}

.top_result_photo .detail {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 1.5em;
	color: #fff;
	font-weight: bold;
	font-size: 125%;
	opacity: 0;
	transition: all linear .3s;
}
.top_result_photo:hover .detail {
	opacity: 1;
}
.top_result_title {
	margin: 5px 20px 0 0;
	text-align: left;
	font-size: 113%;
	font-weight: bold;
}
.top_result_text {
	margin: 5px 20px 0 0;
	text-align: justify;
}

/*-- link --*/
#top .top_link_box {
	text-align: center;
}
#top .top_link_box.top_flow {
	border-right: 1px solid #005AB4;
}
#top .top_link_box.top_support {
	border-left: 1px solid #fff;
}
#top .top_link_icon {
	margin-bottom: 40px;
}
#top .top_link_title {
	font-size: 138%;
	font-weight: bold;
	margin-bottom: 5px;
}
#top .top_link_title_en {
	font-size: 75%;
}
#top .top_link_title_en:after {
	display: block;
	content:'';
	width: 30px;
	border-bottom: 1px solid #555;
	margin: 15px auto 20px;
}
#top .top_link_text {
	margin-bottom: 20px;
}

/*----------------------------------------------
	inner
---------------------------------------------*/
.inner header {
	/*background-color: rgba(255,255,255,1);*/
}
/*-- title --*/
.inner .pagetitle {
	background-image: url(../images/bg_pagetitle.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-color: #0054BA;
	padding: 100px 0 20px;
	color: #fff;
}
.inner .pagetitle_ja {
	display: inline-block;
	vertical-align: middle;
	font-size: 219%;
	font-weight: bold;
}
.inner .pagetitle_en {
	display: inline-block;
	vertical-align: middle;
	font-size: 125%;
	font-weight: bold;
	border-left: 1px solid #fff;
	margin-left: 30px;
	padding-left: 30px;
	text-transform: uppercase;
}

/*-- pankuzu --*/
.inner .pankuzu {
	background-color: #f1f1f1;
	padding: 4px 0;
	font-size: 80%;
}
.inner .pankuzu a {
	color: #0054BA;
}
.inner .pankuzu a:hover {
	text-decoration: none;
}

/*-- pankuzu --*/
.inner .inner_block {
	margin-bottom: 40px;
}
.inner .inner_block:last-child {
	margin-bottom: 0;
}

/*-- flow_box --*/
.flow_box {
	display: table;
	width: 100%;
	padding: 40px;
}
.flow_box:nth-child(even){
	background-color: #f9f9f9;
}
.flow_anime {
	display: table-cell;
	width: 280px;
	padding: 0 35px;
}
.flow_box img {
	width: 100%;
	height: auto;
}
.flow_info {
	display: table-cell;
	vertical-align: middle;
	width: 540px;
	padding: 0 50px;
}
.flow_title,
.flow_text {
	text-align: left;
}
.flow_title {
	color: #0054BA;
	font-size: 200%;
	margin-bottom: 20px;
	font-weight: bold;
}
.flow_text {
	text-align: justify;
	font-size: 113%;
}

/*-- #support flow_box --*/
#support .flow_box_wrap {
	width: 660px;
	padding: 30px 40px;
}
#support .flow_box_wrap:nth-child(even) {
	background-color: #f9f9f9;
}
#support .flow_box_wrap:first-child {
	margin-top: -30px;
}
#support .flow_box {
	padding: 0;
	background: none;
}
#support .flow_anime {
	padding: 0;
}
#support .flow_info {
	width: 340px;
	padding: 0 20px;
}
#support .flow_text {
	font-size: 100%;
}
#support #service .main_contents img {
	max-width: 100%;
	height: auto;
}

/*----------------------------------------------
	products
---------------------------------------------*/
#products .products_info {
	padding: 15px 0;
}

/*----------------------------------------------
	result, used
---------------------------------------------*/
/*-- category page --*/
.wp-pagenavi a {
	color: #555;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	border-color: #005BB5 !important;
	color: #005BB5;
}

/*-- single page --*/
#used .photo_box,
#result .photo_box {
	margin-bottom: 10px;
	width: 100%;
}
#used .photo_box img,
#result .photo_box img {
	max-width: 100%;
	height: auto;
}
#used .thumb_list,
#result .thumb_list {
	margin: 0 -5px;
}
#used .thumb_list li,
#result .thumb_list li {
	display: inline-block;
	width: 115px;
	height: 115px;
	margin: 0 5px 10px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	background-color: #aaa;
}
#used .thumb_list li img,
#result .thumb_list li img {
	display: block;
	width: 180%;
	height: auto;
	position: absolute;
	top: -100%;
	bottom: -100%;
	left: -100%;
	right: -100%;
	margin: auto;
}
#used .thumb_list li:hover img,
#result .thumb_list li:hover img {
	opacity: .7;
}
#used .thumb_list li img.selected,
#result .thumb_list li img.selected {
	opacity: .2;
}

/*-- single parts --*/
#used .single .box_type01 h3,
#result .single .box_type01 h3 {
	font-weight: bold;
	font-size: 140%;
	margin-bottom: 20px;
}
#used .products_text p,
#used .single .box_type01 p,
#result .single .box_type01 p {
	margin-bottom: .5em;
}
#used .single .box_type01 strong,
#result .single .box_type01 strong {
	font-weight: bold;
}
#used .single .box_type01 ul,
#used .single .box_type01 ol,
#result .single .box_type01 ul,
#result .single .box_type01 ol {
	margin-bottom: .5em;
}
#used .single .box_type01 ul li,
#result .single .box_type01 ul li {
	list-style-type: disc;
	margin-left: 20px;
}
#used .single .box_type01 ol li,
#result .single .box_type01 ol li {
	list-style-type: decimal;
	margin-left: 20px;
}
#used .single .box_type01 a,
#result .single .box_type01 a {
	color: #0060BF;
}
#used .single .box_type01 a:hover,
#result .single .box_type01 a:hover {
	text-decoration: none;
}
#used .single .box_type01 sup,
#result .single .box_type01 sup {
	font-size: 80%;
	vertical-align: super;
}
#used .single .box_type01 sub,
#result .single .box_type01 sub {
	font-size: 80%;
	vertical-align: sub;
}
#used .gray_box {
	background-color: #f1f1f1;
	margin-bottom: 10px;
	padding: 17px 10px 15px 17px;
}

/*----------------------------------------------
	flow
---------------------------------------------*/


/*----------------------------------------------
	company
---------------------------------------------*/
.company_greeting {
	text-align: justify;
}
.company_name {
	margin-top: 10px;
	text-align: right;
}
.company_name span {
	font-size: 125%;
	font-weight: bold;
}

/*----------------------------------------------
	contact
---------------------------------------------*/
#contact .inline_list {
	background-color: #f1f1f1;
	padding: 20px 0;
}
#contact .inline_list li {
	padding: 0 60px;
}
#contact .table_type02 th {
	width: 20%;
	font-weight: bold;
}
#contact .table_type02 th.required {
	color: #F00000;
}
#contact input,
#contact textarea {
	padding: 3px 5px;
}
#contact input.size_s {
	width: 8%;
}
#contact input.size_m {
	width: 20%;
}
#contact input.size_l {
	width: 91%;
}
#contact label {
	margin-right: 20px;
}
#contact .error {
	font-size: 88%;
	color: #f00;
}
#contact .contact_btn_box {
	text-align: center;
}
#contact .contact_btn_box .btn_type01 {
	display: inline-block;
	margin: 0 10px;
}
#contact .contact_btn_box form {
    display: inline-block;
}
#contact .contact_btn_box a {
	cursor: pointer;
}

/*----------------------------------------------
	wp-theme
---------------------------------------------*/
.wp_section strong,
.wp_section strong > * {
	font-weight: bold;
}
/*---about---*/
/*#about.wp-theme .main_contents h3 {
	font-size: 200%;
	font-weight: bold;
	color: #0060BF;
	margin-bottom: 10px;
}*/
#about .wp_section .main_contents h2 {
	display: inline-block;
	vertical-align: middle;
	font-size: 175%;
	font-weight: bold;
	position: relative;
	padding-left: 45px;
}
#about .wp_section .main_contents h2::before {
	content: '';
	width: 20px;
	height: 20px;
	background-color: #eee;
	font-size: 80%;
	position: absolute;
	top: 5px;
	left: 3px;
}
#about .wp_section .main_contents h2::after {
	content: '';
	width: 10px;
	height: 10px;
	background-color: #ddd;
	font-size: 50%;
	position: absolute;
	top: 25px;
	left: 23px;
}
#about .wp_section .main_contents h3 {
	margin-bottom: 20px;
	padding: .4em .5em .3em;
	background-color: #0060BF;
	font-size: 120%;
	font-weight: bold;
	color: #fff;
}
#about .wp_section .main_contents ul li {
	list-style-type: disc;
	margin-left: 1.5rem;
}

/*----------------------------------------------
	clearfix
---------------------------------------------*/

.clearfix:after,
.wrap:after,
.flow_box:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix,
.wrap,
.flow_box {
	min-height: 1px;
}

* html .clearfix,
* html .wrap,
* html .flow_box {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}