@charset "UTF-8";


/*
	module add styles
----------------------------------------------------------------------------- */
h1.ttl-type01{
	margin-top: 0;
}
.box-inner > .ttl-type01:first-child{
	margin-top: 0;
}

strong{
	font-weight: bold;
}
article p+p{
	margin: 0;
}
.column-text + .column-img{
	margin: 40px 0 0;
}
.photo-item__text-next{
	margin-top: 0;
}
.photo-item__text .photo-item__text__inner small{
	font-size: 12px;
}
@media screen and (max-width: 767px) {
	.photo-item__text .photo-item__text__inner small{
		font-size: 10px;
	}
}

/* title */
.page-ttl-wrap{
	position: relative;
	height: 120px;
	z-index: 2;
}
.page-ttl-wrap:after{
	content: "";
	background: url(/service/common/img/bg.png) no-repeat 0 0;
	background-size: 100% auto;
	position: absolute;
	width: 470px;
	height: 160px;
	top: -40px;
	right: 0;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.page-ttl-wrap{
		height: 80px;
	}
	.page-ttl-wrap:after{
		background-image: url(/service/common/img/bg@sp.png);
		width: 180px;
		height: 120px;
	}
}


/* tab */
.service_head .func-tab__nav > ul{
	height: 100%;
}
.service_head .func-tab__nav > ul > li{
	line-height: 1.25;
	letter-spacing: 0.05em;
	display: table;
	font-size: 13px;
	width: 16.666%;
	height: 65px;
}
.service_head .func-tab__nav > ul > li > span{
	display: table-cell;
	vertical-align: middle;
	position: relative;
	padding: 0 15px;
	height: auto;
	z-index: 2;
}
.service_head .func-tab__nav > ul > li > span span[class^="icon"]{
	position: relative;
	display: inline-block;
	padding: 0 10px 0 20px;
	pointer-events: none;
	z-index: -1;
}
.service_head .func-tab__nav > ul > li > span span[class^="icon"]:before{
	content: "";
	display: inline-block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 15px auto;
	width: 15px;
	height: 15px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -7px 0 0;
}
.service_head .func-tab__nav > ul > li > span span.icon01:before{	background-image: url(/service/common/img/icon_search_solution.svg);	}
.service_head .func-tab__nav > ul > li > span span.icon02:before{	background-image: url(/service/common/img/icon_search_task.svg);	}
.service_head .func-tab__nav > ul > li > span span.icon03:before{	background-image: url(/service/common/img/icon_search_scene.svg);	}
.service_head .func-tab__nav > ul > li > span span.icon04:before{	background-image: url(/service/common/img/icon_search_name.svg);	}
.service_head .func-tab__nav > ul > li > span span.icon05:before{	background-image: url(/service/common/img/icon_search_freeword.svg);	}

.service_head .func-tab__nav > ul > li.open{
	border-bottom: 1px solid #fff !important;
}
.service_head .func-tab__nav > ul > li.open span span[class^="icon"]{
	background: none;
}
.service_head .func-tab__nav > ul > li.current,
.middle .func-tab__nav > ul > li.current{
	border-bottom: none;
}
.service_head .tab-head{
	font-size: 20px;
	letter-spacing: 0.05em;
}
.service_head .tab-head a{
	color: #053250;
	padding-right: 25px;
	text-decoration: underline;
	background: url(/common/images/icon_arrow_link.svg) 100% 48% no-repeat;
	background-size: 12px 12px;
}
/* tab middle */
.middle.func-tab{
	margin-bottom: 0;
}
.middle.func-tab .link-list{
	margin-bottom: 0;
}
.middle .func-tab__nav{
	border-top: none;
	padding: 0 40px;
}
.middle .func-tab__nav ul{
	border-top: 1px solid #b0bec5;
	height: 100%;
}
.middle .func-tab__nav ul li{
	letter-spacing: 0.05em;
	height: auto;
	display: table;
}
.middle .func-tab__nav ul li > span{
	padding: 3px 0;
	line-height: 1.3;
	display: table-cell;
	vertical-align: middle;
}
.middle .func-tab__nav > ul > li > span > span[class^="img"]{
	position: relative;
	padding: 0 30px 0 50px;
	display: block;
	pointer-events: none;
}
.middle .func-tab__nav > ul > li > span > span[class^="img"]:before{
	content: "";
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 40px;
	height: 40px;
	margin: -20px 0 0;
}
.middle .func-tab__nav > ul > li > span > span.img01:before{	background-image: url(/service/common/img/img_search_power_plant.png);	}
.middle .func-tab__nav > ul > li > span > span.img02:before{	background-image: url(/service/common/img/img_search_bldg.png);	}
.middle .func-tab__nav > ul > li > span > span.img03:before{	background-image: url(/service/common/img/img_search_bldg02.png);	}
.middle .func-tab__nav > ul > li > span > span.img04:before{	background-image: url(/service/common/img/img_search_antenna.png);	}

.middle .func-tab__nav > ul > li.open{
	border-bottom: 1px solid #fff !important;
}
.middle .func-tab__nav > ul > li.open > span > span{
	background: none;
}
.middle .func-tab__content-wrap .func-tab__content .box-inner{
	padding: 0;
}
.func-tab.service_head .func-tab__content-wrap .func-tab__content{
	padding: 0 0 30px;
	border-bottom: 1px solid #b0bec5;
}
@media screen and (max-width: 767px) {
	/* tab middle */
	.middle.func-tab{
		padding-bottom: 0;
	}
	.middle .func-tab__nav{
		padding: 0;
		margin: 0 -15px;
	}
	.middle .func-tab__nav > ul{
		border-top: 1px solid #eeeeee;
		height: 100%;
	}
	.middle .func-tab__nav ul li{
		display: block;
	}
	.middle .func-tab__nav ul li > span{
		padding: 15px 0 0;
		display: block;
	}
	.middle .func-tab__nav > ul > li > span > span[class^="img"]{
		padding: 0 30px 0 45px;
	}
	.middle .func-tab__nav > ul > li > span > span[class^="img"]:before{
		width: 22px;
		height: 22px;
		margin: -12px 0 0;
	}
	.middle .func-tab__nav > ul > li.open{
		border-bottom: 1px solid #eee !important;
	}
	.middle .func-tab__nav > ul > li.open .link-list span{
		background: none;
	}
	.middle .func-tab__nav .func-tab__content{
		background-color: #ffffff;
	}
	.middle .func-tab__nav > ul > li .func-tab__content .box-inner{
		padding: 15px 15px 10px;
	}
	.middle .func-tab__nav .func-tab__content ul.link-list{
		border-top: none;
	}
}

/* link */
.link-list.thin li a{
	height: 45px;
}
.link-list li[class*="img"] a span{
	padding: 3px 35px 3px 70px;
}
.link-list li[class*="img"] a span:after{
	content: "";
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 40px;
	height: 40px;
	margin: -20px 0 0;
}
.link-list li.img01 a span:after{	background-image: url(/service/common/img/img_search_office.png);	}
.link-list li.img02 a span:after{	background-image: url(/service/common/img/img_search_bldg03.png);	}
.link-list li.img03 a span:after{	background-image: url(/service/common/img/img_search_finance.png);	}
.link-list li.img04 a span:after{	background-image: url(/service/common/img/img_search_factory.png);	}
.link-list li.img05 a span:after{	background-image: url(/service/common/img/img_search_school.png);	}
.link-list li.img06 a span:after{	background-image: url(/service/common/img/img_search_dc.png);	}
.link-list li.img07 a span:after{	background-image: url(/service/common/img/img_search_hosp.png);	}
.link-list li.img08 a span:after{	background-image: url(/service/common/img/img_search_store.png);	}
.link-list li.img09 a span:after{	background-image: url(/service/common/img/img_search_power_plant.png);	}
.link-list li.img10 a span:after{	background-image: url(/service/common/img/img_search_bldg.png);	}
.link-list li.img11 a span:after{	background-image: url(/service/common/img/img_search_bldg02.png);	}
.link-list li.img12 a span:after{	background-image: url(/service/common/img/img_search_antenna.png);	}
.link-list li.img13 a span:after{	background-image: url(/service/common/img/img_search_theater.png);	}
.link-list li.img14 a span:after{	background-image: url(/service/common/img/img_search_gob.png);	}
.link-list li.img15 a span:after{	background-image: url(/service/common/img/img_search_rd.png);	}
.link-list li.img16 a span:after{	background-image: url(/service/common/img/img_search_meeting.png);	}
.link-list li.img17 a span:after{	background-image: url(/service/common/img/img_search_sports.png);	}

@media screen and (max-width: 767px) {
	.link-list li[class*="img"] a span{
		padding: 3px 20px 3px 40px;
	}
	.link-list li[class*="img"] a span:after{
		width: 22px;
		height: 22px;
		margin: -12px 0 0;
	}
}

/* btn */
.btn-wrap02.small a{
	padding-top: 10px;
	width: 270px;
	height: 40px;
	font-size: 14px;
}
.btn-wrap02.small a:after{
	right: 15px;
}
.btn-wrap02.reverse a.btn-type-arrow{
	background-color: #053250 !important;
	color: #ffffff !important;
}
.btn-wrap02.reverse a.btn-type-arrow:after{
	border-color: #ffffff;
}
.btn-wrap02.reverse a span{
	display: inline-block;
	position: relative;
	padding: 0 0 0 30px;
}
.btn-wrap02.reverse a span:after{
	content: "";
	background: url(/service/common/img/icon_human.svg) no-repeat center;
	background-size: 18px auto;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -10px 0 0;
	height: 18px;
	width: 18px;
}
.btn-wrap02.reverse a:hover{
	background-color: #ffffff !important;
	color: #053250 !important;
}
.btn-wrap02.reverse a:hover.btn-type-arrow:after{
	border-color: #053250;
}
.btn-wrap02.reverse a:hover span:after{
	background-image: url(/service/common/img/icon_human_dark.svg);
}
@media screen and (max-width: 767px) {
	.btn-wrap02.small a{
		padding: 7px 20px 0;
		width: auto;
		max-width: 180px;
		height: 30px;
		min-height: 30px;
		font-size: 10px;
		font-weight: bold;
	}
	.btn-wrap02.small .btn-type-back{
		max-width: 200px;
		margin: 10px auto 0;
	}
	.btn-wrap02.small a:after{
		position: static;
		margin-left: 10px;
		display: inline-block;
	}
	.btn-wrap02.reverse a span{
		padding: 0 0 0 18px;
	}
	.btn-wrap02.reverse a span:after{
		background-size: 12px auto;
		margin: -7px 0 0;
		height: 12px;
		width: 12px;
	}
}


/*
	商品・サービス - base color -
----------------------------------------------------------------------------- */
.page-ttl-wrap .page-ttl,
.ttl-type01,
.ttl-type02,
.ttl-type03{
	color: #053250;
}

#main article > .page-ttl:first-child,
.dl-type01 dt{
	color: #053250;
}


/*
	商品・サービス - TOP -
----------------------------------------------------------------------------- */
/* title */
.top .page-ttl-wrap{
	padding: 25px 40px 30px;
	height: auto;
}
.top .page-ttl-wrap:after{
	display: none;
}
.top .page-ttl-wrap .page-ttl{
	margin: 0;
}

/* mainvis */
.mainvis{
	background: url(/service/common/img/bg_mainvisual.png) no-repeat center 0 #EEF1F2;
	background-size: 1366px auto;
	line-height: 1.7;
	text-align: center;
	height: 500px;
	position: relative;
	overflow: hidden;
}
.mainvis .mainvis_inner{
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1210px;
}
.mainvis .title{
	font-size: 28px;
	margin: 45px 0 15px;
}
.mainvis .lead{
	font-size: 16px;
}
.mainvis .image{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.mainvis .image img{
	vertical-align: middle;
	width: 100%;
}
.mainvis .btn-wrap02{
	margin: 235px 0 0;
	padding: 0;
}
.mainvis .comment{
	text-align: right;
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin: 15px 0 0;
}
@media screen and (max-width: 767px) {
	.top .page-ttl-wrap{
		margin: 0;
		padding: 25px 40px 30px;
		height: auto;
	}

	.mainvis{
		background: url(/service/common/img/bg_mainvisual@sp.png) no-repeat center;
		background-size: cover;
		height: 200px;
		position: relative;
	}
	.mainvis .mainvis_inner{
		padding: 0 10px;
	}
	.mainvis .title{
		font-size: 18px;
		letter-spacing: 0.1em;
		margin: 20px 0 5px;
	}
	.mainvis .lead{
		font-size: 10px;
		line-height: 1.4;
		letter-spacing: 0.2em;
	}
	.mainvis .btn-wrap02{
		margin: 0;
		padding: 0;
		position: absolute;
		left: 50%;
		bottom: 15px;
		transform: translateX(-50%);
	}
	.mainvis .btn-wrap02 a.btn-type-arrow{
		letter-spacing: 0.05em;
		font-size: 10px;
		padding: 4px 0 0;
		min-height: 24px;
		width: 220px;
	}
	.mainvis .btn-wrap02 a.btn-type-arrow::after{
		right: 12px;
		width: 6px;
		height: 6px;
	}
}

/* top searchs */
.top_search_wrap:first-child{
	margin: 60px 0;
}
.top_search_wrap{
	margin: 0 0 60px;
	padding: 0 0 60px;
	border-bottom: 1px solid #E2E8EA;
}
.top_search_wrap .search_title{
	font-size: 20px;
	position: relative;
	letter-spacing: 0.05em;
	margin: 0 0 25px;
}
.top_search_wrap [class^="search_title icon"]{
	padding: 0 0 0 30px;
}
.top_search_wrap .search_title:after{
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: 20px auto;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -12px 0 0;
	width: 20px;
	height: 20px;
}
.top_search_wrap .search_title.icon01:after{
	background-image: url(/service/common/img/icon_search_solution.svg);
}
.top_search_wrap .search_title.icon02:after{
	background-image: url(/service/common/img/icon_search_task.svg);
}
.top_search_wrap .search_title.icon03:after{
	background-image: url(/service/common/img/icon_search_scene.svg);
}
.top_search_wrap .search_title.icon04:after{
	background-image: url(/service/common/img/icon_search_name.svg);
}
.top_search_wrap .search_title.icon05:after{
	background-image: url(/service/common/img/icon_search_freeword.svg);
}
@media screen and (max-width: 767px) {
	.top_search_wrap:first-child{
		margin: 30px 0;
	}
	.top_search_wrap{
		margin: 0 0 40px;
		padding: 0 0 40px;
	}
	.top_search_wrap .search_title{
		font-size: 16px;
		margin: 0 0 20px;
	}
	.top_search_wrap .search_title a{
		font-weight: bold;
	}
}

/* solution */
.solution .solution_body:after{
	content: "";
	display: table;
	clear: both;
}
.solution .solution_body .panel{
	border: 1px solid #EEEEEE;
	background-position: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	cursor: pointer;
	margin: 0 2.5% 40px 0;
	width: 23.12%;
	float: left;
	text-align: center;
	position: relative;
	padding: 17% 0 0;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.solution .solution_body .panel.green{	background-image: url(/service/common/img/frame_arch_green.png);	}
.solution .solution_body .panel.blue{	background-image: url(/service/common/img/frame_arch_blue.png);	}
.solution .solution_body .panel.orange{	background-image: url(/service/common/img/frame_arch_yellow.png);	}
.solution .solution_body .panel.purple{	background-image: url(/service/common/img/frame_arch_purple.png);	}

.solution .solution_body .panel .panel_inner{
	border: 1px solid transparent;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	padding: 7% 5px 0;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
.solution .solution_body .panel .panel_inner{
	display: block;
	color: #000;
	text-decoration: none;
}
.solution .solution_body .panel .ttl{
	line-height: 1.3;
	margin: 0 0 2%;
	font-size: 20px;
	display: table;
	width: 100%;
}
.solution .solution_body .panel.green .ttl{	color: #00A395;	}
.solution .solution_body .panel.blue .ttl{	color: #0092D3;	}
.solution .solution_body .panel.orange .ttl{	color: #F2971B;	}
.solution .solution_body .panel.purple .ttl{	color: #B74C96;	}

.solution .solution_body .panel .ttl > span{
	display: table-cell;
	vertical-align: middle;
}
.solution .solution_body .panel .txt{
	font-size: 12px;
}
.relatedlinkarea.solution .solution_body .panel{
	margin: 0 2.5% 30px 0;
}
.relatedlinkarea{
	padding: 30px 30px 10px;
	margin: 40px 0 60px;
	background-color: #F5F7F8;
}
.relatedlinkarea > [class^="ttl-"]{	margin-top: 0;	}
.solution .solution_body .panel:nth-child(4){	margin: 0;	}
.relatedlinkarea .link-list li a{
	font-size: 15px;
}
.relatedlinkarea .link-list li[class*="img"] a span{
	padding: 3px 35px 3px 65px;
}

/* hover current */
.solution .solution_body .panel:hover,
.solution .solution_body .panel.active{
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}
.solution .solution_body .panel.green:hover,
.solution .solution_body .panel.green:hover .panel_inner,
.solution .solution_body .panel.green.active,
.solution .solution_body .panel.green.active .panel_inner{	border-color: #00A395;	}

.solution .solution_body .panel.blue:hover,
.solution .solution_body .panel.blue:hover .panel_inner,
.solution .solution_body .panel.blue.active,
.solution .solution_body .panel.blue.active .panel_inner{	border-color: #0092D3;	}

.solution .solution_body .panel.orange:hover,
.solution .solution_body .panel.orange:hover .panel_inner,
.solution .solution_body .panel.orange.active,
.solution .solution_body .panel.orange.active .panel_inner{	border-color: #F2971B;	}

.solution .solution_body .panel.purple:hover,
.solution .solution_body .panel.purple:hover .panel_inner,
.solution .solution_body .panel.purple.active,
.solution .solution_body .panel.purple.active .panel_inner{	border-color: #B74C96;	}

.solution .solution_body .panel.gray:hover,
.solution .solution_body .panel.gray:hover .panel_inner,
.solution .solution_body .panel.gray.active,
.solution .solution_body .panel.gray.active .panel_inner{	border-color: #546E7A;	}
/* hover current end */

@media screen and (max-width: 1140px) {
	.solution .solution_body .panel .ttl{
		font-size: 14px;
	}
	.solution .solution_body .panel .txt{
		font-size: 10px;
	}
}
@media screen and (max-width: 767px) {
	/* set order */
	.solution .solution_body{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.solution .solution_body .panel.order1{
		order: 1 !important;
	}
	.solution .solution_body .panel.order2{
		order: 2 !important;
	}
	.solution .solution_body .panel.order3{
		order: 5 !important;
	}
	.solution .solution_body .panel.order4{
		order: 6 !important;
	}
	.solution .solution_body .balloon.order5{
		order: 3 !important;
	}
	.solution .solution_body .balloon.order6{
		order: 4 !important;
	}
	.solution .solution_body .balloon.order7{
		order: 7 !important;
	}
	.solution .solution_body .balloon.order8{
		order: 8 !important;
	}
	.solution .solution_body .balloon.order9{
		order: 10 !important;
	}
	/* set order end */

	.solution .solution_body .panel{
		width: 48.75%;
		width: -webkit-calc((100% - (2.5% + 2px))/2);
		width: -ms-calc((100% - (2.5% + 2px))/2);
		width: calc((100% - (2.5% + 2px))/2);
		margin: 0 2.5% 2.5% 0;
		padding: 35.4% 0 0;
		float: none;
	}
	.solution .solution_body .panel:nth-child(4){
		margin: 0 2.5% 2.5% 0;
	}
	.solution .solution_body .panel:nth-child(even){
		margin: 0 0 2.5% 0;
	}

	.relatedlinkarea{
		padding: 20px 20px 10px;
		margin: 20px 0;
	}
	.relatedlinkarea.solution .solution_body{
		margin: 0 -2.5%;
	}
	.relatedlinkarea.solution .solution_body .panel{
		width: 47.5%;
		margin: 0 1.25% 2.5%;
		padding: 34.5% 0 0;
	}
	.relatedlinkarea .link-list li a{
		font-size: 12px;
	}
	.relatedlinkarea .link-list li[class*="img"] a span{
		padding: 3px 20px 3px 40px;
	}

	.solution .solution_body .panel .panel_inner{
		padding: 10px 5px 0;
	}
	.solution .solution_body .panel .ttl{
		margin: 0 0 2%;
		font-size: 16px;
	}
}

.solution .solution_body .balloon{
	display: none;
	background-color: #ffffff;
	border: 2px solid #00A395;
	border-radius: 10px;
	position: relative;
	padding: 35px 25px 0;
	clear: both;
	width: 100%;
}
.solution .solution_body .balloon:before,
.solution .solution_body .balloon:after{
	content: "";
	position: absolute;
	z-index: -2;
	border: 15px solid transparent;
	border-bottom: 25px solid transparent;
	width: 0;
	height: 0;
	margin: 0 0 0 -10px;
	top: 100px;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.solution .solution_body .balloon.green:before,
.solution .solution_body .balloon.green:after{	left: 11%;	}
.solution .solution_body .balloon.blue:before,
.solution .solution_body .balloon.blue:after{	left: 36.5%;	}
.solution .solution_body .balloon.orange:before,
.solution .solution_body .balloon.orange:after{	left: 62.5%;	}
.solution .solution_body .balloon.purple:before,
.solution .solution_body .balloon.purple:after{	left: 88%;	}

.solution .solution_body .balloon.green{	border-color: #00A395;	}
.solution .solution_body .balloon.blue{	border-color: #0092D3;	}
.solution .solution_body .balloon.orange{	border-color: #F2971B;	}
.solution .solution_body .balloon.purple{	border-color: #B74C96;	}

.solution .solution_body .balloon.green:before,
.solution .solution_body .balloon.blue:before,
.solution .solution_body .balloon.orange:before,
.solution .solution_body .balloon.purple:before{
	border-bottom: 25px solid #ffffff;
	top: 100px;
	z-index: 0;
}

.solution .solution_body .balloon.move:after{
	animation: outerframeline .3s ease-in-out both;
	z-index: -1;
}
.solution .solution_body .balloon.move.green:before,
.solution .solution_body .balloon.move.blue:before,
.solution .solution_body .balloon.move.orange:before,
.solution .solution_body .balloon.move.purple:before{
	animation: insideframeline .3s ease-in-out both;
}

.solution .solution_body .balloon.green:after{	border-bottom: 25px solid #00A395;	}
.solution .solution_body .balloon.blue:after{	border-bottom: 25px solid #0092D3;	}
.solution .solution_body .balloon.orange:after{	border-bottom: 25px solid #F2971B;	}
.solution .solution_body .balloon.purple:after{	border-bottom: 25px solid #B74C96;	}

.solution .solution_body .balloon .photo-item-list5{
	margin: 0 -15px;
}
.solution .solution_body .balloon .photo-item-list5 a,
.solution .solution_body .balloon .photo-item-list5 .photo-item__text__inner{
	background-color: #fafafa;
}
.solution .solution_body .balloon .link-list{
	margin: 0 -15px;
}
.solution .solution_body .balloon .link-list .lead{
	display: block;
	font-size: 13px;
	padding: 5px 5px 0;
}
@media screen and (max-width: 767px) {
	.solution .solution_body .balloon{
		padding: 15px 15px 5px;
		margin: 20px 0;
	}
	.solution .solution_body .balloon:before,
	.solution .solution_body .balloon:after{
		border: 15px solid transparent;
		border-bottom: 25px solid transparent;
		margin: 0 0 0 -10px;
		top: 100px;
		left: 90px;
	}

	.solution .solution_body .balloon.green:before,
	.solution .solution_body .balloon.green:after,
	.solution .solution_body .balloon.orange:before,
	.solution .solution_body .balloon.orange:after,
	.solution .solution_body .balloon.gray:before,
	.solution .solution_body .balloon.gray:after{	left: 23.692%;	}

	.solution .solution_body .balloon.blue:before,
	.solution .solution_body .balloon.blue:after,
	.solution .solution_body .balloon.purple:before,
	.solution .solution_body .balloon.purple:after{	left: 74.205%;	}

	.solution .solution_body .balloon.green:before,
	.solution .solution_body .balloon.blue:before,
	.solution .solution_body .balloon.orange:before,
	.solution .solution_body .balloon.purple:before,
	.solution .solution_body .balloon.gray:before{
		border-bottom: 25px solid #ffffff;
		top: 100px;
	}

	.solution .solution_body .balloon.green:after{	border-bottom: 25px solid #00A395;	}
	.solution .solution_body .balloon.blue:after{	border-bottom: 25px solid #0092D3;	}
	.solution .solution_body .balloon.orange:after{	border-bottom: 25px solid #F2971B;	}
	.solution .solution_body .balloon.purple:after{	border-bottom: 25px solid #B74C96;	}
	.solution .solution_body .balloon.gray:after{	border-bottom: 25px solid #546E7A;	}

	.solution .solution_body .balloon .search_title{
		margin: 0 0 10px;
	}
	.solution .solution_body .balloon .photo-item-list5{
		margin: 0 -5px;
	}
	.solution .solution_body .balloon .link-list{
		margin: 0 -5px;
	}
	.solution .solution_body .balloon .link-list .lead{
		font-size: 11px;
		padding: 5px 5px 3px;
	}
}

@-webkit-keyframes outerframeline {
	0%{
		top: 100px;
	}
	100%{
		top: -40px;
	}
}
@keyframes outerframeline {
	0%{
		top: 100px;
	}
	100%{
		top: -40px;
	}
}
@-webkit-keyframes insideframeline {
	0%{
		top: 100px;
	}
	100%{
		top: -36px;
	}
}
@keyframes insideframeline {
	0%{
		top: 100px;
	}
	100%{
		top: -36px;
	}
}

/* scene */
.top_search_wrap.scene{
	margin: 0 0 20px;
	padding: 0 0 40px;
}
.scene.link-list{
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.top_search_wrap.scene{
		padding: 0 0 30px;
		margin: 0 0 40px;
	}
}


/* products */
.top_search_wrap.layout02{
	margin: 0 0 60px;
	padding: 0 0 20px;
}
.products{
	padding-left: 0;
	border-right: 1px solid #E2E8EA;
}
.products ul.list{
	line-height: 1.3;
}
.products ul.list li{
	display: inline-block;
	margin: 0 0 15px;
}
.products ul.list li:after{
	content: "|";
	display: inline;
	margin: 0 3px 0 10px;
}
.products ul.list li a{
	color: #053250 !important;
}
.products ul.list.last li:last-child:after{
	display: none;
}
.top_search_wrap .freeword{
	padding-right: 0;
}
.top_search_wrap .freeword .keyword_wrap{
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.top_search_wrap.layout02{
		margin: 0;
		padding: 0;
		border-bottom: none;
	}
	.products{
		border-right: none;
		border-bottom: 1px solid #E2E8EA;
		margin: 0 0 40px;
		padding: 0 0 20px;
	}
	.products ul.list{
		font-size: 12px;
	}
	.products ul.list li{
		margin: 0 0 20px;
	}
	.products ul.list li:after{
		margin: 0 3px 0 7px;
	}

	.top_search_wrap .freeword{
		padding: 0;
	}
	.top_search_wrap .freeword .keyword_wrap{
		padding: 0;
		width: 100%;
	}
}

/* special-photo-item-wrap */
.layout02.special-photo-item-wrap .special-photo-item figure img{
	vertical-align: top;
}
.layout02.special-photo-item-wrap .special-photo-item dl{
	padding: 15px 145px 15px 15px;
	display: table;
	width: 100%;
}
.layout02.special-photo-item-wrap .special-photo-item dl dt{
	display: table-cell;
	vertical-align: middle;
	line-height: 1.3;
	font-size: 26px;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.top_search_wrap + .special-photo-item-wrap{
		margin: 40px 0 30px;
	}
	.layout02.special-photo-item-wrap .special-photo-item dl{
		padding: 10px 115px 10px 10px;
	}
	.layout02.special-photo-item-wrap .special-photo-item dl dt{
		font-size: 18px;
		letter-spacing: 0.08em;
	}
}

/* business_items */
.business_items{
	overflow: hidden;
	margin: 0 -15px;
}
.business_items .item{
	display: block;
	cursor: pointer;
	overflow: hidden;
	background-color: #212121;
	color: #ffffff;
	float: left;
	text-align: center;
	text-decoration: none;
	position: relative;
	padding: 20px;
	margin: 0 15px;
	width: -webkit-calc(25% - 30px);
	width: -ms-calc(25% - 30px);
	width: calc(25% - 30px);
	-webkit-transition: opacity 0.40s ease-out;
	transition: opacity 0.40s ease-out;
	z-index: 2;
}
.business_items .item:after{
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 11px;
	height: 11px;
	margin: -5px 0 0;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transform: rotate(-45deg);
}
.business_items .item .ttl{
	letter-spacing: 0.15em;
	font-size: 12px;
}
.business_items .item .ttl strong{
	display: block;
	font-size: 16px;
	margin: 3px 0 0;
}
.business_items .item .cap{
	font-size: 12px;
}
.business_items .item .bg{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	-webkit-transition: transform 0.40s ease-out;
	transition: transform 0.40s ease-out;
}
.business_items .item.item01 .bg{
	background-image: url(/common/images/project_bg01.jpg);
}
.business_items .item.item02 .bg{
	background-image: url(/common/images/project_bg02.jpg);
}
.business_items .item.item03 .bg{
	background-image: url(/common/images/project_bg03.jpg);
}
.business_items .item.item04 .bg{
	background-image: url(/common/images/project_bg04.jpg);
}
.business_items .item:hover{
	opacity: .7;
}
.business_items .item:hover .bg{
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
@media screen and (max-width: 767px) {
	.business_items .item{
		padding: 15px 25px;
		margin: 0;
		width: 50%;
	}
	.business_items .item .ttl{
		margin: 0 0 5px;
		font-size: 11px;
	}
	.business_items .item .ttl strong{
		font-weight: bold;
		font-size: 13px;
	}
}

/*
	商品・サービス - 詳細 -
----------------------------------------------------------------------------- */
.detail_title{
	border-bottom: 2px solid transparent;
	border-right: 1px solid transparent;
	position: relative;
	margin: 0 0 35px;
	padding: 0 70px 10px 0;
	line-height: 1.3;
	font-size: 15px;
	letter-spacing: 0.05em;
	color: #053250;
}
.detail_title.green{	border-color: #00A395;	}
.detail_title.blue{	border-color: #0092D3;	}
.detail_title.orange{	border-color: #F2971B;	}
.detail_title.purple{	border-color: #B74C96;	}
.detail_title.gray{	border-color: #546E7A;	}

.detail_title:after{
	content: "";
	position: absolute;
	bottom: -2px;
	right: -1px;
	background-position: center;
	background-size: 115px auto;
	background-repeat: no-repeat;
	height: 72px;
	width: 115px;
}
.detail_title.green:after{	background-image: url(/service/common/img/bg_green.png);	}
.detail_title.blue:after{	background-image: url(/service/common/img/bg_blue.png);	}
.detail_title.orange:after{	background-image: url(/service/common/img/bg_orange.png);	}
.detail_title.purple:after{	background-image: url(/service/common/img/bg_purple.png);	}
.detail_title.gray:after{	background-image: url(/service/common/img/bg_gray.png);	}

.detail_title > h1,
.detail_title > p{
	margin: 0;
	line-height: 1.3;
}
.detail_title > h1 strong,
.detail_title > p strong{
	display: block;
	margin: 10px 0 0;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.detail_title{
		margin: 0 0 35px;
		padding: 0 50px 10px 0;
		line-height: 1.5;
		font-size: 14px;
		letter-spacing: 0.02em;
	}
	.detail_title > h1,
	.detail_title > p{
		line-height: 1.5;
	}
	.detail_title > h1 strong,
	.detail_title > p strong{
		margin: 5px 0 0;
		font-size: 18px;
	}
}


/*
	商品・サービス - 詳細 -
----------------------------------------------------------------------------- */
.low_search_wrap .search_field{
	overflow: hidden;
}
.low_search_wrap .search_field + .search_field{
	margin: 60px 0 0;
}
.low_search_wrap .search_field .left{
	background-color: #F5F7F8;
	float: left;
	padding: 40px 40px 40px 30px;
	width: 50%;
}
.low_search_wrap .search_field .right{
	float: right;
	width: 50%;
	padding: 0 2.56%;
}
.low_search_wrap .search_field .link-list{
	margin: 0 -15px;
}
.low_search_wrap .search_field.banner{
	background-color: #F5F7F8;
	margin: 0 0 60px;
	/*display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;*/
}
.low_search_wrap .search_field.banner .left{
	padding: 30px 30px 10px;
}
.low_search_wrap .search_field.banner .left .text + .btn-wrap02.small{
	margin: 15px auto 0;
}
.low_search_wrap .search_field.banner .right{
	padding: 0;
}

.low_search_wrap .search_title{
	line-height: 1.3;
	font-size: 24px;
	position: relative;
	letter-spacing: 0.05em;
}
.low_search_wrap .search_title.green{	color: #00A395	}
.low_search_wrap .search_title.blue{	color: #0092D3	}
.low_search_wrap .search_title.orange{	color: #F2971B	}
.low_search_wrap .search_title.purple{	color: #B74C96	}
.low_search_wrap .search_title.gray{	color: #546E7A	}

.low_search_wrap .search_title[class*="img"]{
	padding: 0 0 0 50px;
}
.low_search_wrap .search_title[class*="img"]:after{
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 0;
	width: 36px;
	height: 36px;
	margin: -24px 0 0;
}
/* 「課題から探す」のアイコン設置 */
.low_search_wrap .search_title.img01:after{	background-image: url(/service/common/img/img_search_power_plant.png);	}
.low_search_wrap .search_title.img02:after{	background-image: url(/service/common/img/img_search_bldg.png);	}
.low_search_wrap .search_title.img03:after{	background-image: url(/service/common/img/img_search_bldg02.png);	}
.low_search_wrap .search_title.img04:after{	background-image: url(/service/common/img/img_search_antenna.png);	}
/* 「シーンから探す」のアイコン設置 */
.low_search_wrap .search_title.img05:after{	background-image: url(/service/common/img/img_search_office.png);	}
.low_search_wrap .search_title.img06:after{	background-image: url(/service/common/img/img_search_bldg03.png);	}
.low_search_wrap .search_title.img07:after{	background-image: url(/service/common/img/img_search_finance.png);	}
.low_search_wrap .search_title.img08:after{	background-image: url(/service/common/img/img_search_factory.png);	}
.low_search_wrap .search_title.img09:after{	background-image: url(/service/common/img/img_search_school.png);	}
.low_search_wrap .search_title.img10:after{	background-image: url(/service/common/img/img_search_dc.png);	}
.low_search_wrap .search_title.img11:after{	background-image: url(/service/common/img/img_search_hosp.png);	}
.low_search_wrap .search_title.img12:after{	background-image: url(/service/common/img/img_search_store.png);	}
.low_search_wrap .search_title.img13:after{	background-image: url(/service/common/img/img_search_theater.png);	}
.low_search_wrap .search_title.img14:after{	background-image: url(/service/common/img/img_search_gob.png);	}
.low_search_wrap .search_title.img15:after{	background-image: url(/service/common/img/img_search_rd.png);	}
.low_search_wrap .search_title.img16:after{	background-image: url(/service/common/img/img_search_meeting.png);	}
.low_search_wrap .search_title.img17:after{	background-image: url(/service/common/img/img_search_sports.png);	}

.low_search_wrap .search_sub_title{
	color: #053250;
	font-weight: bold;
	font-size: 16px;
	margin: 0 0 10px;
}
.low_search_wrap .text{
	line-height: 1.7;
	margin: 10px 0;
	letter-spacing: 0.05em;
}
.low_search_wrap .btn-wrap02{
	padding: 0;
	margin: 25px auto 0;
}
.low_search_wrap .btn-wrap02 a{
	background-color: #ffffff;
}
.low_search_wrap .btn-wrap02.small{
	width: 240px;
}
.low_search_wrap .btn-wrap02 a:hover{
	background-color: #053250;
	color: #ffffff;
}
.low_search_wrap .anchor_navi.thin li{
	margin-bottom: 10px;
}
.low_search_wrap .anchor_navi.thin li a{
	font-size: 14px;
}
/* layout2 */
.low_search_wrap .search_field.layout2{
	position: relative;
	padding: 0 0 30px;
	height: 100%;
	min-height: 250px;
}
.low_search_wrap .search_field.layout2 .bg{
	position: absolute;
	right: 0;
	bottom: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 300px;
	height: 270px;
}
.low_search_wrap .search_field.layout2.green .bg{	background-image: url(/service/common/img/bg_arch_green.png);	}
.low_search_wrap .search_field.layout2.blue .bg{	background-image: url(/service/common/img/bg_arch_blue.png);	}
.low_search_wrap .search_field.layout2.orange .bg{	background-image: url(/service/common/img/bg_arch_yellow.png);	}
.low_search_wrap .search_field.layout2.purple .bg{	background-image: url(/service/common/img/bg_arch_purple.png);	}
.low_search_wrap .search_field.layout2.gray .bg{	background-image: url(/service/common/img/bg_arch_gray.png);	}

.low_search_wrap .search_field.layout2:before,
.low_search_wrap .search_field.layout2:after{
	content: "";
	position: absolute;
}
.low_search_wrap .search_field.layout2:before{
	width: 100%;
	height: 11px;
	bottom: 0;
}
.low_search_wrap .search_field.layout2:after{
	width: 21px;
	height: 100%;
	top: 0;
	right: 0;
}
.low_search_wrap .search_field.layout2.green:before,
.low_search_wrap .search_field.layout2.green:after{	background-color: #00A395;	}
.low_search_wrap .search_field.layout2.blue:before,
.low_search_wrap .search_field.layout2.blue:after{	background-color: #0092D3;	}
.low_search_wrap .search_field.layout2.orange:before,
.low_search_wrap .search_field.layout2.orange:after{	background-color: #F2971B;	}
.low_search_wrap .search_field.layout2.purple:before,
.low_search_wrap .search_field.layout2.purple:after{	background-color: #B74C96;	}
.low_search_wrap .search_field.layout2.gray:before,
.low_search_wrap .search_field.layout2.gray:after{	background-color: #546E7A;	}

.low_search_wrap .search_field.layout2 .left{
	background-color: #ffffff;
	padding: 0 40px 0 0;
	width: 41.026%;
}
.low_search_wrap .search_field.layout2 .right{
	padding: 0 160px 0 0;
	width: 58.974%;
}
@media screen and (max-width: 767px) {
	.low_search_wrap .search_field + .search_field{
		margin: 30px 0 0;
	}
	.low_search_wrap .search_field .left{
		float: none;
		width: 100%;
		padding: 20px 15px;
		margin: 0 0 25px;
	}
	.low_search_wrap .search_field .right{
		float: none;
		width: 100%;
		padding: 0;
	}
	.low_search_wrap .search_field.banner{
		margin: 0 0 30px;
	}
	.low_search_wrap .search_field.banner .left{
		padding: 20px 15px 0;
		margin: 0;
	}
	.low_search_wrap .search_field.banner .left .text + .btn-wrap02.small{
		margin: 0 auto 20px;
	}
	.low_search_wrap .search_field.banner .right{
		padding: 0;
		text-align: center;
	}
	.low_search_wrap .search_field .link-list{
		margin: 0 -5px;
	}
	.low_search_wrap .search_title{
		font-size: 18px;
	}
	.low_search_wrap .search_title[class*="img"]{
		padding: 0 0 0 30px;
	}
	.low_search_wrap .search_title[class*="img"]:after{
		width: 20px;
		height: 20px;
		margin: -10px 0 0;
	}
	.low_search_wrap .search_sub_title{
		font-size: 14px;
	}
	.low_search_wrap .text{
		font-size: 14px;
		margin: 7px 0 20px;
	}
	.low_search_wrap .btn-wrap02{
		margin: 20px auto 0;
		color: #ffffff !important;
	}
	.low_search_wrap .btn-wrap02.small{
		width: 180px;
	}
	.low_search_wrap .btn-wrap02.small a:after{
		position: absolute;
		right: 12px;
	}

	.low_search_wrap .anchor_navi.thin{
		margin: 0;
	}
	.low_search_wrap .anchor_navi.thin ul{
		border-top: none;
	}
	.low_search_wrap .anchor_navi.thin li{
		margin-bottom: 0;
	}
	.low_search_wrap .anchor_navi.thin li a{
		border: 1px solid #eeeeee;
		font-size: 12px;
	}
	.low_search_wrap .anchor_navi.thin li + li a{
		border-top: none;
	}

	/* layout2 */
	.low_search_wrap .search_field.layout2{
		padding: 0 25px 80px 0;
	}
	.low_search_wrap .search_field.layout2 .bg{
		width: 170px;
		height: 130px;
	}
	.low_search_wrap .search_field.layout2.green .bg{
		background-image: url(/service/common/img/bg_arch_green@sp.png);	}
	.low_search_wrap .search_field.layout2.blue .bg{	
		background-image: url(/service/common/img/bg_arch_blue@sp.png);	}
	.low_search_wrap .search_field.layout2.orange .bg{	
		background-image: url(/service/common/img/bg_arch_yellow@sp.png);	}
	.low_search_wrap .search_field.layout2.purple .bg{	
		background-image: url(/service/common/img/bg_arch_purple@sp.png);	}
	.low_search_wrap .search_field.layout2.gray .bg{	
		background-image: url(/service/common/img/bg_arch_gray@sp.png);	}

	.low_search_wrap .search_field.layout2:before{
		height: 25px;
	}
	.low_search_wrap .search_field.layout2:after{
		width: 5px;
	}
	.low_search_wrap .search_field.layout2 .left{
		padding: 0;
		width: 100%;
	}
	.low_search_wrap .search_field.layout2 .right{
		padding: 0;
		width: 100%;
	}
}

/* ボックス - 罫線あり - */
.low_search_wrap .search_frame_box01{
	overflow: hidden;
	border: 1px solid #B0BEC5;
	padding: 20px;
}
.low_search_wrap .search_frame_box01 img{
	width: 100%;
	vertical-align: middle;
}
.low_search_wrap .search_frame_box01 .left{
	float: left;
	width: 39.894%;
}
.low_search_wrap .search_frame_box01 .right{
	float: right;
	width: 57.624%;
}
@media screen and (max-width: 767px) {
	.low_search_wrap .search_frame_box01{
		padding: 15px 15px 20px;
	}
	.low_search_wrap .search_frame_box01 .left{
		float: none;
		width: 100%;
		margin: 0 0 15px;
	}
	.low_search_wrap .search_frame_box01 .right{
		float: none;
		width: 100%;
	}
}



/* SP footer nav */
@media screen and (max-width: 767px) {
	.service_list{
		font-size: 14px;
		margin: 0 -15px;
	}
	.service_list > li{
		margin-top: -1px;
		border-top: 1px solid #eeeeee;
	}
	.service_list > li > a{
		display: block;
		position: relative;
		background: #fafafa;
		font-weight: bold;
		text-decoration: none !important;
		padding: 10px 30px 10px 15px;
		border-left:1px solid #eeeeee;
		border-right:1px solid #eeeeee;
		border-bottom:1px solid #eeeeee;
	}
	.service_list > li > a:after{
		position: absolute;
		top: 50%;
		right: 12px;
		width: 8px;
		height: 8px;
		margin-top: -5px;
		border-right: 1px solid #053250;
		border-bottom: 1px solid #053250;
		transform: rotate(-45deg);
		content: "";
	}
	.service_list > li > a.link-pdf{
		background:#fafafa url(/common/images/icon_pdf.png) calc(100% - 8px) 50% no-repeat;
		background-size: 24px 24px;
	}
	.service_list > li > a.link-pdf:after{
		display: none;
	}

	.service_list .menu_btn{
		cursor: pointer;
		display: block;
		position: relative;
		font-size:14px;
		font-weight: bold;
		color:#053250;
		padding: 10px 33px 10px 15px;
		border-left:1px solid #eeeeee;
		border-right:1px solid #eeeeee;
		border-bottom:1px solid #eeeeee;
		background:#fafafa url(/common/images/icon_plus.svg) calc(100% - 9px) 50% no-repeat;
		background-size: 12px 12px;
	}
	.service_list .menu_btn.open{
		background:#fafafa url(/common/images/icon_minus.svg) calc(100% - 9px) 50% no-repeat;
		background-size: 12px 12px;
	}

	.service_list .menu_body{
		position: relative;
		display: none;
	}
	.service_list .menu_body .top_search{
		font-size: 16px;
		font-weight: bold;
		padding: 17px 15px;
	}
	.service_list .menu_body > ul{
		font-size:14px;
	}
	.service_list .menu_body > ul > li > a{
		display: block;
		position: relative;
		text-decoration: none !important;
		padding: 10px 33px 10px 15px;
		border-bottom:1px solid #eeeeee;
	}
	.service_list .menu_body > ul > li:first-child > a{
		border-top:1px solid #eeeeee;
	}
	.service_list .menu_body > ul > li > a:after{
		position: absolute;
		top: 50%;
		right: 12px;
		width: 8px;
		height: 8px;
		margin-top: -5px;
		border-right: 1px solid #053250;
		border-bottom: 1px solid #053250;
		transform: rotate(-45deg);
		content: "";
	}
	.service_list .menu_body > ul > li > a:hover{
		color: #ECEFF1;
	}
	.service_list .menu_body > ul > li:last-child > a{
		border-bottom:none;
	}
	.service_list .menu_body > ul > li.current > a{
		background: #053250;
		color:#fff;
	}
	.service_list .menu_body > ul > li > a.link-pdf{
		background: url(/common/images/icon_pdf.png) calc(100% - 8px) 50% no-repeat;
		background-size: 24px 24px;
	}
	.service_list .menu_body > ul > li > a.link-pdf:after{
		display: none;
	}

}
@media screen and (max-width: 767px) {
	.service_nav{
		margin: 0 0 40px;
	}
	.service_list .menu_btn,
	.service_list .menu_btn.open{
		background-color: #FFFFFF;
	}
	.service_list .menu_btn{
		padding: 10px 33px 10px 40px;
	}
	.service_list .menu_btn:after{
		content: "";
		background-size: 18px auto;
		background-repeat: no-repeat;
		background-position: center;
		position: absolute;
		top: 50%;
		left: 10px;
		margin: -10px 0 0;
		height: 18px;
		width: 18px;
	}
	.service_list .menu_btn.icon01:after{
		background-image: url(/service/common/img/icon_search_solution.svg);
	}
	.service_list .menu_btn.icon02:after{
		background-image: url(/service/common/img/icon_search_task.svg);
	}
	.service_list .menu_btn.icon03:after{
		background-image: url(/service/common/img/icon_search_scene.svg);
	}
	.service_list .menu_btn.icon04:after{
		background-image: url(/service/common/img/icon_search_name.svg);
	}
	.service_list .menu_btn.icon05:after{
		background-image: url(/service/common/img/icon_search_freeword.svg);
	}
	.service_list .menu_body > ul > li > a{
		padding: 10px 33px 10px 40px;
	}
}

/* freeword */
.keyword_wrap{
	max-width: 550px;
	margin: 0 auto;
}
.keyword_wrap form{
	border: 1px solid #B0BEC5;
	border-radius: 4px;
	margin: 0 0 15px;
	position: relative;
	overflow: hidden;
}
.keyword_wrap input[type="text"],
.keyword_wrap input[type="submit"]{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	outline: none;
}
.keyword_wrap input[type="text"]{
	color: #546e7a;
	font-size: 16px;
	padding: 0 15px;
	line-height: 1.4;
	letter-spacing: 0.05em;
	height: 40px;
	width: 515px;
}
.keyword_wrap input[type="submit"]{
	color: transparent;
	background: url(/common/images/icon_search.svg) no-repeat center;
	background-size: 18px 18px;
	position: absolute;
	right: 0;
	width: 40px;
	height: 40px;
}
.keyword_wrap .search_change{
	text-align: center;
	margin: 0 -12px;
}
.keyword_wrap .search_change input[type="radio"]{
	position: absolute;
	top: 50%;
	left: 0;
	margin: -7px 0 0;
	opacity: 0;
}
.keyword_wrap .search_change .item{
	position: relative;
	cursor: pointer;
	margin: 0 12px;
	padding: 0 0 0 20px;
}
.keyword_wrap .search_change .item:before{
	content: "";
	background: url(/service/common/img/icon_radio_off.svg) no-repeat center;
	background-size: 12px auto;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -7px 0 0;
	width: 12px;
	height: 12px;
}
.keyword_wrap .search_change .item.checked:before{
	background-image: url(/service/common/img/icon_radio_on.svg);
}
.keyword_wrap .search_change .item .caption{
	color: #546E7A;
	font-size: 14px;
	line-height: 1.8;
}
@media screen and (max-width: 767px) {
	.keyword_wrap{
		padding: 20px 0 0;
		width: 90%;
	}
	.keyword_wrap form{
		margin-bottom: 0;
	}
	.keyword_wrap input[type="text"]{
		font-size: 12px;
		width: 90%;
		width: -webkit-calc(100% - 40px);
		width: -moz-calc(100% - 40px);
		width: -ms-calc(100% - 40px);
		width: calc(100% - 40px);
	}
	.keyword_wrap .search_change .item:before{
		margin: -5px 0 0;
	}
	.keyword_wrap .search_change input[type="radio"]{
		margin: -5px 0 0;
	}
}


/* map_wrap
----------------------------------------------------------- */
.map_wrap .menu a{
	text-decoration: none;
	padding: 10px 10px 10px 20px;
	display: block;
	position: relative;
}
.map_wrap .menu a:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 100%;
	background-color: transparent;
	    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}
.map_wrap .menu a.hokkaido:before{	background-color: #ed6e5d;	}
.map_wrap .menu a.tohoku:before{	background-color: #e5a54a;	}
.map_wrap .menu a.tokyo:before{	background-color: #eded29;	}
.map_wrap .menu a.cyubu:before{	background-color: #a9dd45;	}
.map_wrap .menu a.kansai:before{	background-color: #5eb545;	}
.map_wrap .menu a.hokuriku:before{	background-color: #41c8ce;	}
.map_wrap .menu a.cyugoku:before{	background-color: #427acc;	}
.map_wrap .menu a.shikoku:before{	background-color: #a955e5;	}
.map_wrap .menu a.kyusyu:before{	background-color: #ea5cad;	}
.map_wrap .menu a:hover:before{
	opacity: .7;
}
.map_wrap .menu .tbl-type01 tbody tr td{
	padding: 5px 10px;
}
@media screen and (max-width: 767px) {
	.map_wrap .menu{
		margin: 10px 0 0;
	}
	.map_wrap .menu a{
		padding: 5px 5px 5px 15px;
	}
	.map_wrap .menu a:before{
		width: 4px;
	}
}


/* Other Styles
----------------------------------------------------------- */
.unique-box .column-text02{
	border: none;
	background-color: #70C7D1;
	color: #fff;
}







/* --------------------------------------------------------------------------
	
	migrated from another this CSS file
	- commons/css/style2018.css
	
----------------------------------------------------------------------------- */

/* Sub　Service
----------------------------------------------------------- */
.box-inner-sub{
	width: 1000px;
	position: relative;
	margin:0 auto 100px;
}
@media screen and (max-width: 767px) {
	.box-inner-sub{
		width: auto;
		margin:0 15px 30px;
		overflow: hidden;
	}
}

#service-box00{
	position: relative;
	padding: 210px 0 150px;
	text-align: center;
	min-width: 1000px;
	overflow: hidden;
}
#service-box00__bg{
	position: absolute;
	top:0;
	left: 0;
	width:100%;
	height: 100%;
	z-index: 5;
	background-size: cover !important;
	/**/
	-webkit-animation: animation_zoom01 10s ease;
    animation: animation_zoom01 10s ease;
}
#service-box00 h2{
	position: relative;
	z-index: 9;
	color:#fff;
	font-size:36px;
	line-height: 1.6;
	margin-bottom: 40px;
	text-align: center;
	font-weight: normal;
	letter-spacing: 2px;
}
#service-box00 p{
	position: relative;
	z-index: 9;
	color:#fff;
	font-size:16px;
	margin-bottom: 0px;
	line-height: 1.8;
	text-align: center;
}
@media screen and (max-width: 767px) {
	#service-box00{
		padding: 100px 10px 30px;
		min-width: 100%;
	}
	#service-box00 h2{
		font-size:24px;
		line-height: 1.4;
		margin-bottom: 20px;
		letter-spacing: 0.04em;
	}
	#service-box00 p{
		font-size:12px;
		letter-spacing: 0.15em;
	}
}


#page-ttl{
	position: absolute;
	top:0;
	left: 0;
	width:100%;
	min-width: 1000px;
	height: 100px;
	z-index: 10;
	background: url(/images/service/page_ttl_bg.png) 0 0 repeat;
	
	text-align: center;
	line-height: 1.2;
	color:#fff;
	padding-top: 25px;
	
	font-weight:normal;
	font-size:22px;
}
#page-ttl .page-ttl__eng{
	display: block;
	text-align: center;
	margin-bottom: 12px;
	font-size:14px;
	letter-spacing: 2px;
}
#page-ttl .page-ttl__name{
	display: block;
	text-align: center;
	letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
	#page-ttl{
		min-width: 100%;
		padding-top: 18px;
		font-size: 20px;
		letter-spacing: 1em;
		height: 80px;
	}
	#page-ttl .page-ttl__eng{
		margin-bottom: 8px;
		font-size: 14px;
		letter-spacing: 0.15em;
	}
	#page-ttl .page-ttl__name{
		font-size: 20px;
		letter-spacing: 0.1em;
	}
}


#service-box01{
	background: #F5F7F8;
	min-width: 1000px;
	padding: 100px 0 1px;
	margin-bottom: 60px;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	#service-box01{
		min-width: 100%;
		padding: 30px 0 1px;
		margin-bottom: 30px;
	}
}


/* box-inner-sub__text */
.box-inner-sub__text{
	width:520px;
	/**/
	position: absolute;
	top:-40px;
	z-index: 20;
	overflow: hidden;
}
.box-inner-sub__text.off-hidden{
	overflow: visible;
}
.box-inner-sub__text.off-hidden::before{
	display: none !important;
}
.box-inner-sub__text::before{
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom:0;
	z-index: 21;
	background: #fff;
	
	-webkit-transform: translateX(102%);
    transform: translateX(102%);
}
.box-inner-sub.active .box-inner-sub__text::before{
    -webkit-animation: animation_type01 1.4s cubic-bezier(1, 0, 0, 1);
    animation: animation_type01 1.4s cubic-bezier(1, 0, 0, 1);
}


.box-inner-sub__text__inner{
	position: relative;
	padding: 35px 40px 25px 40px;
	width:520px;
	min-height: 445px;
	z-index: 20;
	opacity: 0;
	background: #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.10);
}
.box-inner-sub__text__inner.active{
	opacity: 1;
}

.box-inner-sub__text h3{
	line-height: 1.35;
	font-size:36px;
	text-align: left;
	font-weight: normal;
	color:#000;
	padding-bottom: 25px;
	margin-bottom: 30px;
	border-bottom:1px solid #eceff1;
}
.box-inner-sub__text h3 em{
	font-weight: normal;
	display:inline;
}
.box-inner-sub__text h3 strong{
	display: block;
	font-weight: normal;
	padding-top: 5px;
}
.box-inner-sub__text h3 span{
	color: #fff;
	padding:6px 12px;
	border-radius: 4px;
	display: inline-block;
	font-size:14px;
	vertical-align: middle;
}
.box-inner-sub__text h3 span:first-child{
	margin-left: 0px;
}
.box-inner-sub__text h3 i{
	font-size:16px;
	display: inline-block;
	margin: 0 6px;
	vertical-align: middle;
}


.box-inner-sub__text dl{
	padding-bottom: 2px;
}
.box-inner-sub__text dl:last-child{
	padding-bottom: 10px;
}
.box-inner-sub__text dl dt{
	font-size:20px;
	margin-bottom: 15px;
}
.box-inner-sub__text dl dd{
	margin: 0 0 20px 0;
	padding:0;
	font-size:15px;
}
.box-inner-sub__text dl dd sup {
	vertical-align: sub !important;
}

/* type別 */
.box-inner-sub-type01 .box-inner-sub__text,
.box-inner-sub-type03 .box-inner-sub__text{
	left: 0;
}
.box-inner-sub-type02 .box-inner-sub__text{
	right: 0;
}
@media screen and (max-width: 767px) {
	.box-inner-sub__text{
		width: 100%;
		position: static;
	}
	.box-inner-sub__text__inner{
		padding: 25px 15px;
		width: 100%;
		min-height: 100%;
	}
	.box-inner-sub__text::before{
		width: 100%;
		-webkit-transform: translateX(120%);
		transform: translateX(120%);
	}
	.box-inner-sub__text h3{
		font-size: 22px;
		padding-bottom: 20px;
		margin-bottom: 17px;
		letter-spacing: 0.02em;
	}
	.box-inner-sub__text h3 strong{
		padding-top: 3px;
	}
	.box-inner-sub__text h3 span{
		padding: 3px 10px;
		letter-spacing: 0.05em;
		font-size: 12px;
	}
	.box-inner-sub__text h3 i{
		font-size: 14px;
		margin: 0 6px;
	}

	.box-inner-sub__text dl dt{
		font-size: 16px;
		letter-spacing: 0.02em;
		margin-bottom: 10px;
	}
	.box-inner-sub__text dl dd{
		margin: 0 0 24px 0;
		line-height: 1.7;
		letter-spacing: 0.05em;
		font-size: 14px;
	}
}
/* END box-inner-sub__text */


/* box-inner-sub__ph */
.box-inner-sub__ph{
	display: block;
	margin: 0;
	padding: 0 0 0px 0;
	opacity: 0;
	/**/
	-webkit-transition: all 1.5s;
    -moz-transition: all 1.5s;
    transition: all 1.5s;
}
.box-inner-sub.active .box-inner-sub__ph{
	opacity: 1;
}

/* type別 */
.box-inner-sub-type01 .box-inner-sub__ph,
.box-inner-sub-type03 .box-inner-sub__ph{
	text-align: right;
	margin-right: -80px;
}
.box-inner-sub-type02 .box-inner-sub__ph{
	text-align: left;
	margin-left: -80px;
}
@media screen and (max-width: 767px) {
	/* type別 */
	.box-inner-sub-type01 .box-inner-sub__ph,
	.box-inner-sub-type03 .box-inner-sub__ph{
		margin-right: 0;
	}
	.box-inner-sub-type02 .box-inner-sub__ph{
		margin-left: 0;
	}
}
/* END box-inner-sub__ph */



.ttl-type-sub01{
	line-height: 1;
	padding-bottom: 18px;
	background: url(/images/service/sub_ttl_bg.png) 0 100% no-repeat;
	font-size:24px;
	color:#053250;
	margin-bottom: 40px;
	font-weight:normal;
}

/* logo */
.logo-single{
	width: 300px;
	margin: 0 auto;
	text-align: center;
}
.logo-single .item + .item{
	margin: 15px 0 0;
}
@media screen and (max-width: 767px) {
	.logo-single{
		width: 100%;
	}
	.logo-single .item + .item{
		margin: 10px 0 0;
	}
}

/* logo-slide */
.logo-slide{
	position: relative;
	width:300px;
	margin: 0 auto;
}
.logo-slide li.logo-slide__item{
	line-height: 0;
}
.logo-slide li.logo-slide__item img{
	margin: 0 auto;
}
.logo-slide li.logo-slide__item a:hover img{
	opacity: 0.7;
}
.logo-slide li.logo-slide__item a{
	display: block;
	overflow: hidden;
	width: 240px;
	margin: 0 auto;
}
.logo-slide .slick-prev,
.logo-slide .slick-next{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

	margin-top: -23px;
	width: 30px;
	height: 45px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: none;
    outline: 0;
    background: #fff;
	z-index: 998;
}

.logo-slide .slick-prev{
	left:0px;
	margin-left: 0px;
}
	.logo-slide .slick-prev::after{
		content: ' ';
		position: absolute;
		width: 11px;
		height: 11px;
		border-left: 1px solid #053250;
		border-bottom: 1px solid #053250;
		left: 0px;
		top: 50%;
		margin-top: 0;
		-webkit-transform: rotate(45deg) translateY(-50%);
		transform: rotate(45deg) translateY(-50%);
	}

.logo-slide .slick-next{
	right: 0px;
	margin-right: 0px;
}
.logo-slide .slick-next::after{
	content: ' ';
	position: absolute;
	width: 11px;
	height: 11px;
	border-right: 1px solid #053250;
	border-bottom: 1px solid #053250;
	right: 0px;
	top: 50%;
	margin-top: 0;
	-webkit-transform: rotate(-45deg) translateY(-50%);
	transform: rotate(-45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
	.logo-slide{
		width: 100%;
		max-width: 580px;
	}
	.logo-slide li.logo-slide__item a{
		width: auto;
	}
	.logo-slide .slick-prev,
	.logo-slide .slick-next{
		margin-top: -20px;
		width: 25px;
		height: 35px;
		opacity: 0.5;
	}
}
/* END logo-slide */


.service-banner-type01{
	text-align: center;
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom:1px solid #eceff1;
}
.service-banner-type01 a{
	position: relative;
	display:inline-block;
	line-height: 1;
	margin: 0 auto;
	color:#fff;
	text-decoration: none;
	-webkit-transition: opacity 0.40s ease-out;
		transition: opacity 0.40s ease-out;
}
.service-banner-type01 a span{
	display: block;
	width:120px;
	height: 30px;
	padding-top: 8px;
	border:1px solid #fff;
	border-radius: 30px;
	font-size:14px;
	position: absolute;
	top:50%;
	margin-top: -15px;
	right:20px;
	z-index: 1;
}
.service-banner-type01 a span::after {
    position: absolute;
    top: 50%;
	right:12px;
    width: 7px;
    height: 7px;
	margin-top: -4px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
    content: "";
}
@media screen and (max-width: 767px) {
	.service-banner-type01{
		padding: 0 15px;
		margin-bottom: 40px;
		border-bottom: none;
	}
	.service-banner-type01 a span{
		height: 24px;
		padding-top: 6px;
		font-size: 10px;
	}
	.service-banner-type01 a span::after {
		right: 10px;
	    width: 6px;
	    height: 6px;
	}
}

/* st_dec------------------------------- */
body.st_dec #service-box00__bg{
	background: url(/images/service/st_dec/main_bg02.jpg) 50% 0 no-repeat;
}

body.st_dec .box-inner-sub__text h3{
	color:#00a496;
}
body.st_dec .box-inner-sub__text h3 span{
	background: #00a496;
}




/* st_sb------------------------------- */
body.st_sb #service-box00__bg{
	background: url(/images/service/st_sb/main_bg02.jpg) 50% 0 no-repeat;
}

body.st_sb .box-inner-sub__text h3{
	color:#0093d4;	
}
body.st_sb .box-inner-sub__text h3 span{
	background: #0093d4;
}



/* st_fm------------------------------- */
body.st_fm #service-box00__bg{
	background: url(/images/service/st_fm/main_bg02.jpg) 50% 0 no-repeat;
}

body.st_fm .box-inner-sub__text h3{
	color:#ffa726;
}
body.st_fm .box-inner-sub__text h3 span{
	background:#ffa726;
}



/* st_dc------------------------------- */
body.st_dc #service-box00__bg{
	background: url(/images/service/st_dc/main_bg02.jpg) 50% 0 no-repeat;
}

body.st_dc .box-inner-sub__text h3{
	color:#b84c97;
}
body.st_dc .box-inner-sub__text h3 span{
	background:#b84c97;
}







/* animation
----------------------------------------------------------- */

@-webkit-keyframes animation_type01 {
	0% {-webkit-transform: translateX(-102%);}
	47% {-webkit-transform: translateX(0%);}
	53% {-webkit-transform: translateX(0%);}
	100% {-webkit-transform: translateX(102%);}
}
@keyframes animation_type01 { 
	0% {
	-webkit-transform: translateX(-102%);
	-moz-transform: translateX(-102%);
	transform: translateX(-102%);
	}
	47% {
	-webkit-transform: translateX(0%);
	-moz-transform: translateX(0%);
	transform: translateX(0%);
	}
	53% {
	-webkit-transform: translateX(0%);
	-moz-transform: translateX(0%);
	transform: translateX(0%);
	}
	100% {
	-webkit-transform: translateX(102%);
	-moz-transform: translateX(102%);
	transform: translateX(102%);
	}
}

@-webkit-keyframes animation_zoom01 {
	0% {-webkit-transform: scale(1.25);}
	100% {-webkit-transform: scale(1.0);}
}
@keyframes animation_zoom01 { 
	0% {
	-webkit-transform: scale(1.25);
	-moz-transform: scale(1.25);
	transform: scale(1.25);
	}
	100% {
	-webkit-transform: scale(1.0);
	-moz-transform: scale(1.0);
	transform: scale(1.0);
	}
}