@charset "UTF-8";

/*@font-face {
	font-family: Noto Sans Japanese;
	src: url(fonts/NotoSansJP-Regular.woff2);
	src: url(fonts/NotoSansJP-Regular.otf);
	src: url(fonts/NotoSansJP-Regular.woff);
	font-display: swap;
}*/

* {
	background-repeat: no-repeat;
	word-break: break-all;
	box-sizing: border-box;
}

html {
	line-height: 1.5;
	font-size: 14px;
}

body {
	margin: 0;
	padding: 0;
	font-size: 14px;
	background-color: #ffffff;
	background-repeat: repeat-y;
	background-position: center center;
	/*font-family:'Noto Sans JP', sans-serif;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, Osaka, verdana, Meiryo, "メイリオ", sans-serif, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, 'Noto Sans JP', Verdana, Meiryo, sans-serif;*/
	font-family:"Yu Gothic Medium", YuGothic,"游ゴシック", "游ゴシック体", "Yu Gothic", sans-serif;
	
	color: #000;
}
b, strong, .bold{
	
}
img {
	border-width: 0;
}

table {
	border-collapse: collapse;
	border-style: none;
}

th,
td {
	padding: 5px 10px;
	border-style: none;
	line-height: 1.5;
	vertical-align: top;
}

h1 {
	font-size: 16px;
}

h2 {
	color: #000;
	font-weight: normal;
	text-align: center;
	font-size: 1.45rem;
}

h2:after {
	content: "";
	display: block;
}

h3 {
	color: #333;
	font-size: 16px;
	font-weight: bold;
	margin: 10px 0px;
}

h4 {
	font-weight: bold;
}

ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

li {
	line-height: 1.5;
}

a {
	color: #333333;
	display: inline-block;
	text-decoration: none;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
}

a:hover {
	color: #000;
	text-decoration: none;
}

p {
	margin: 0;
}

input,
textarea {
	color: #333;
	font-weight: bold;
	width: 100%;
	background: #efefef;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #bdbdbd;
	font-weight: normal;
	font-size: 16px;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #bdbdbd;
	font-weight: normal;
	font-size: 16px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, Osaka, verdana, Meiryo, "メイリオ", sans-serif, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic";
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #bdbdbd;
	font-weight: normal;
	font-size: 16px;
}

input::-webkit-input-placeholder::first-letter {
	color: #ff0000;
}

input:focus {
	border: 2px solid rgba(52, 152, 219, 1);
	box-shadow: 0px 0px 0px 0px rgba(52, 152, 219, 1);
	background-color: #bdbdbd;
	-webkit-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
	-moz-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
	-o-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
	transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
	opacity: 1;
	transition: opacity 0.3s ease;
}

:focus::-webkit-input-placeholder {
	opacity: 0;
	transition: opacity 0.3s ease;
}

:focus::-moz-placeholder {
	opacity: 0;
	transition: opacity 0.3s ease;
}

:focus:-moz-placeholder {
	opacity: 0;
	transition: opacity 0.3s ease;
}

:focus:-ms-input-placeholder {
	opacity: 0;
	transition: opacity 0.3s ease;
}

textarea,
input {
	border: none;
	padding: 10px;
}

select {
	color: #333;
	font-size: 16px;
	text-align: center;
	text-align: -webkit-center;
}

button,
select,
select option {
	color: #333;
	font-weight: normal;
	font-size: 16px;
}

input:hover,
button:hover {
	cursor: pointer;
}

select {
	vertical-align: middle -webkit-box-align:center;
	-moz-box-align: center;
	-o-box-align: center;
	-ms-box-align: center;
	box-align: center;
	-webkit-box-pack: center;
	display: -webkit-box;
}

option:invalid {
	color: #333;
}

option {
	vertical-align: middle -webkit-box-align:center;
	-moz-box-align: center;
	-o-box-align: center;
	-ms-box-align: center;
	box-align: center;
	-webkit-box-pack: center;
	display: -webkit-box;
}

#top {}
#top main.panel{
	margin-bottom: 0;
}

header {
	position: fixed;
	width: 100%;
	height: 56px;
	padding: 0 36px;
	background: rgba(255, 255, 255, .8);
	box-shadow: 0px 1px 2px rgba(0, 0, 0, .3);
	z-index: 999;
}

.hdr_inner {
	/*max-width: 1060px;*/
	margin: 0 auto;
	display: flex;
}

header .hdr_left {
	max-width: 460px;
}

header h1 {
	font-size: 0.65rem;
	margin: 0;
	width: 450px;
}

header h1 a {
	display: flex;
	align-items: center;
	color: #333;
}

header h1 span {
	width: 200px;
	display: inline-block;
	float: right;
	margin-left: 2rem;
}
header h1 span br{
	display: none;
}
header h1 img{
	height: 48px;
}
header h2 {
	margin: .5rem auto 0;
	text-align: left;
}

.sptel {
	display: block;
	position: absolute;
	right: 55px;
	top: 1rem;
}

.sptel ul {
	font-size: 0;
}

.sptel ul li {
	display: inline-block;
	margin-right: 1px;
}

.sptel a {
	color: #1e3135;
	font-size: 18px;
	line-height: 46px;
	text-align: center;
	display: block;
	height: 46px;
	width: 46px;
	border-right: 1px solid #1e3135;
}

.sptel ul li:first-child a {
	border-left: 1px solid #1e3135;
}

nav {
	display: block;
}

.global-nav {
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	width: 600px;
	height: 100%;
	margin: 0 0 0 auto;
	padding: 0;
	text-align: left;
}

.global-nav ul {
	width: 100%;
	height: 100%;
	margin: 0;
	z-index: 2;
	font-size: 0;
}

.global-nav ul li ul {
	display: none;
	position: absolute;
	left: 0;
	top: 56px;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.global-nav ul li:hover ul {
	display: block;
}

.global-nav ul li:hover ul:after {
	display: block;
	content: "";
	clear: both;
}

.global-nav .left li ul li {
	width: 100%;
	font-size: .9rem;
	letter-spacing: -.01rem;
	background: rgba(255, 255, 255, .8);
	background: #d2e4f2;
}

.global-nav ul.left li ul li a {
	line-height: 36px;
	height: 36px;
	color: #333;
	font-weight: 300;
}

.global-nav li {
	margin: 0 auto;
	text-align: center;
	display: inline-block;
	position: relative;
}

.global-nav li > a:visited,
.global-nav li > a:link {
	color: #333;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.global-nav .left {
	text-align: left;
	display: flex;
}

.global-nav .left li {
	font-size: 1rem;
	min-width: 150px;
	margin: 0;
}

.global-nav .left li a {
	padding: 0;
	line-height: 56px;
	display: block;
	font-weight: bold;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
		
}

/*.global-nav .left li:last-child a.hdrContact {
	line-height: 1.5;
	padding-top: 9px;
	padding-bottom: 5px;
}
.global-nav .left li:last-child a.hdrContact {	
	background: #f4f4f4;
    min-width: 150px;
    padding: 9px 0 5px;
    height: 56px;
    color: #000;
}

*/

.global-nav .left li:last-child a span {
	margin-right: .5rem;
}


.current,
.global-nav li > a:active,
.global-nav li > a:hover {
	background: #fff;
	color: #4b656b;
	text-decoration: none;
	transition: opacity .5s ease-in;
}


.global-nav .left li:last-child:hover a.hdrContact {
	opacity: .5;
}

.global-nav .left li ul li:hover a {
	
}

.tel_num {
	display: block;
}

.container {
	width: auto;
	margin: 0 auto;
	padding: 0;
}

.keyvisual {
	padding-top: 55px;
}

#gotop {
	position: fixed;
	right: 0;
	bottom: 5rem;
}

footer {
	padding: 3rem;
	padding: 0rem;
	text-align: center;
}

footer ul {
	padding: 0 0 2rem;
	display: block;
}

footer ul li ul {
	display: none;
}

footer ul li {
	display: inline-block;
	padding: 0 0 1rem;
	width: 100%;
}

footer .outline {
	line-height: 1.3;
	font-size: .85rem;
}

footer .outline img {
	display: block;
	margin: .5rem auto .3rem;
}

footer .outline .tel_num span {
	padding-right: .5rem
}

.page_top a {
	font-size: 2rem;
	color: #1e3135;
	border-radius: 5px 0 0 5px;
	border-top: 1px solid #1e3135;
	border-left: 1px solid #1e3135;
	border-bottom: 1px solid #1e3135;
	width: 42px;
	height: 42px;
	text-align: center;
	background: rgba(255, 255, 255, .9)
}

.page_top a span {
	text-shadow: #fff 0 0px 3px;
	display: block;
	line-height: 42px;
	right: -3px;
	top: 0;
}

.keyimage {
	margin: 0 auto;
	text-align: center;
	position: relative;
}

.keyCopy {
	position: absolute;
	left: 0;
	top: 40%;
	z-index: 2;
	width: 100%;
	text-align: center;
	color: #000;
	font-size: 8rem;
	font-family: 'Hammersmith One', sans-serif;
}

.keyimage img {
	z-index: 1;
	width: 100%;
}


.box_01 {
	display: flex;
	display: -webkit-flex;
	max-width: 1060px;
	margin: 0 auto;
}

.message {
	padding: 2rem;
	width: 50%;
	background: #fff;
	margin: 1rem;
	border: 1px solid #dddddd;
}

.box_01 .message > h2 {
	font-size: .85rem;
	color: #4b656b;
	margin-bottom: 1rem;
	line-height: 1.2;
	border-bottom: 1px solid rgba(1, 65, 78, 1);
	font-weight: 600;
}

.box_01 .message > h2 span {
	display: block;
	font-size: 1.2rem;
	padding-top: .5rem;
}

.message p {
	width: 100%;
	padding: 0;
	text-align: left;
	font-size: 1.05rem;
	line-height: 2;
	letter-spacing: .1rem;
}

.textSplitLoad {
	display: none;
}

.split {
	visibility: hidden;
}

.row {
	/*background:#4b656b;color:#fff;*/
	padding: 5rem 0 0;
	text-align: center;
	margin: 0 auto;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.row .col-xs-12 {
	background: #000;
	color: #fff;
	padding: 1rem;
}

.container .row .row_inner {
	background: #fff;
}

.container .row .row_inner a {
	color: #444;
}

.row:after {
	display: block;
	content: "";
	clear: both;
}

.row > h2 {
	font-size: 1.35rem;
	color: #fff;
	margin-bottom: 5rem;
}

.row > h2 span {
	display: block;
	font-size: 3rem;
	padding-top: .7rem;
}

.row > h2:after {
	display: inline-block;
	content: "";
	clear: both;
	background: #fff;
	width: 5rem;
	height: 4px;
	margin-top: 1rem;
	border-radius: 2px;
}

.row > .col-sm-4 {
	width: 33.3%;
	float: left;
	text-align: center;
	padding: 3rem 1rem;
}

.row > .col-sm-4 > h3 {
	font-size: 1rem;
	color: #4b656b;
}

.row > .col-sm-4 > h3 span {
	font-size: 1.5rem;
	display: block;
}

.row > .col-sm-4 span.glyphicon {
	font-size: 8rem;
	margin-bottom: 3rem;
}

.row > .col-sm-4 p {
	text-align: left;
	min-height: 150px;
	line-height: 1.9;
	max-width: 280px;
	margin: 0 auto;
}

.row > .btn {
	background: #c9c9c9;
    color: #000;
	border-radius: 0;
	margin: 3rem auto;
	white-space: unset;
	max-width: 90%;
	font-weight: 700;
}

.row > .btn .glyphicon {
	font-size: 1rem;
	margin-bottom: 0;
	padding-right: .8rem;
}

.row > .btn:hover {
	background: rgba(255, 255, 255, 1);
	border: 2px solid rgba(255, 255, 255, .5);
	color: rgba(1, 65, 78, 1);
}

.threeBox {
	width: 100%;
	border-bottom: 1px solid rgba(64, 123, 187, .1);
}

.threeBox:after {
	display: block;
	content: "";
	clear: both;
}

.threeBox h2 {
	font-size: 1rem;
	text-align: left;
	border-bottom: 1px solid rgba(1, 65, 78, 1);
	color: #4b656b;
	margin: 2rem 0 1rem;
	font-weight: 600;
}

.threeBox h2:after {
	display: block;
	content: "";
	clear: both;
}

.threeBox h2 span {
	display: block;
	font-size: 1.6rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
}

.topicsBox {
	width: 50%;
	float: left;
	border: 1px solid rgba(64, 123, 187, .1);
	background: rgba(64, 123, 187, .0);
	background: #fff;
	margin: 1rem 1rem 1rem 0;
}

.box_01 .topicsBox h2 {
	position: relative;
	margin: 2rem 2rem 0;
	padding: 0;
	line-height: 1;
}

.box_01 .topicsBox h2 span {
	padding-top: .5rem;
}

.topicsArea {
	padding: .1rem 0;
	overflow-y: scroll;
	height: 260px;
	margin-bottom: 2rem;
	margin-right: 2rem;
}

.topicsArea a {
	display: block;
}

.topicsArea dl {
	opacity: 1;
	margin: 0 auto;
	padding: 1rem 0 1rem 2rem;
}

.topicsArea dl:hover {
	background: rgba(64, 123, 187, .1);
	opacity: 1;
	animation-duration: 1s;
	animation-name: fade-in;
	-moz-animation-duration: 1s;
	-moz-animation-name: fade-in;
	-webkit-animation-duration: 1s;
	-webkit-animation-name: fade-in;
}

.topicsArea dt {
	font-weight: normal;
	font-size: 1rem;
	color: #666;
	padding-bottom: .5rem;
}

.topicsArea dd.title {
	font-size: 1rem;
	padding-top: 0;
}

.topicsArea dd {
	font-size: 1rem;
	padding-top: .5rem;
}

.box_01 h2 {
	font-size: 1rem;
	margin: 0;
	text-align: left;
	border-bottom: 1px solid rgba(1, 65, 78, 1);
	color: #4b656b;
}

.box_01 h2 span {
	display: block;
	font-size: 1.6rem;
}

.box_01 h2:after {
	display: inline-block;
	content: "";
	clear: both;
}

.linkRight {
	position: absolute;
	right: 0rem;
	top: 1rem;
}

.linkRight .btn {
	font-size: 1rem;
	background: #616161;
	color: #fff;
	font-weight: bold;
}

.linkRight .btn a {
	color: #4b656b;
}

.portContact {
	max-width: 1060px;
	margin: 0 auto;
	display: flex;
}

.portfolio {
	width: 100%;
	margin: 0 auto;
	background: #c0cacc;
	padding: 1rem;
}

.portfolio h2 {
	font-size: 1.75rem;
	font-weight: 600;
	border-bottom: 1px solid #fff;
	color: #1e3135;
	margin: 0 0 1rem;
}

.portfolio h2 span {
	display: block;
	font-size: 1.6rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
	letter-spacing: .5rem;
	padding-bottom: 1rem;
}

.portfolio .btn {
	background: rgba(128, 148, 152, 1);
	width: 100%;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: .04rem;
	padding: 1rem 2rem;
	margin: 1.5rem auto 1rem;
	color: #fff;
}

.portfolio p {
	text-align: left;
	margin: 2rem auto 0;
	line-height: 1.5;
}

.designer {
	position: relative;
	padding-bottom: 3rem;
}

.designer .flex_box {
	display: flex;
}

.designer figure {
	max-width: 50%;
}

.designer figure img {
	max-width: 100%;
}

.designer figure + div {
	max-width: 50%;
	padding-left: 1.5rem;
	line-height: 2;
}

.designer .flex_box + .btn {
	position: absolute;
	bottom: 3rem;
	right: 0;
	padding: 1rem 1.5rem;
	background: #6f7374;
	color: #fff;
	font-weight: 800;
}

.contact {
	/*width: 50%;*/
	padding: 1rem;
	text-align: center;
}

.contact h2 + div {
	text-align: left;
	width: 80%;
	line-height: 2;
	margin: 2rem auto 0;
}

.contact p {
	font-size: 1.25rem;
	display: inline-block;
	width: 49%;
	text-align: center;
	padding: 3rem 0;
	line-height: 1.2;
}

.contact p span.glyphicon {
	font-size: 4rem;
	padding-right: 1rem;
	display: inline-block;
	color: #484848;
}

.bread {
	max-width: 1060px;
	margin: 0 auto;
	padding: 1rem 0 0;
}

.bread ul {
	display: inline-block;
	font-size: 0;
}

.bread ul li {
	display: inline-block;
	font-size: .9rem;
}

.bread ul li a:after {
	content: ">";
	display: inline-block;
	width: 1.5rem;
	height: 1rem;
	padding-left: .5rem;
}

.cate_cover {
	overflow: hidden;
	background-color: rgba(0, 0, 0, .1);
	background-image: url(../img/common/hdr_bg_page.jpg);
	background-size: auto;
	background-position: top 40% center;
}

.cate_cover .img_main {
	width: 100%;
}

.cate_cover h2 {
	display: block;
	font-size: 2rem;
	letter-spacing: .3rem;
	padding-top: 0rem;
	font-weight: 900;
	color: #fff;
	text-shadow: #333 1px 1px;
	padding-bottom: 2rem;
	line-height: 1.3;
	padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
}

.cate_cover h2 span {
	display: block;
	font-size: 1rem;
	padding-top: .7rem;
	letter-spacing: .5rem;
}

.cover_lead {
	max-width: 1060px;
	margin: 0 auto;
	padding: 3rem 0;
	font-size: 1.2rem;
}

.cover_lead h3:after {
	background: none;
}

.cover_lead .lead_list {
	position: relative;
	width: 500px;
}

.cover_lead .lead_heading {
	position: relative;
	font-size: 2rem;
	color: #434343;
}

.cover_lead.index .lead_heading.heading:before {
	content: "[";
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 0;
}

.cover_lead.index .lead_heading.heading:after {
	background: none;
	content: "]";
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 0;
}

.cover_lead .text {
	line-height: 2;
	font-size: 1rem;
	padding-top: 2rem;
}

.cover_lead.index .lead_heading {
	/*width:500px;*/
}

.lead_heading {
	text-align: center;
	font-size: 1.35rem;
	margin: 0 auto 1rem;
	color: #606060;
}

.lead_heading:after {}

.lead_list {
	max-width: 560px;
	margin: 0 auto;
}

.lead_list_item {
	position: relative;
	margin-left: 6px;
	padding-bottom: 1rem;
	font-size: 1.2rem;
	font-weight: 600;
	color: #231816;
}

.lead_list_item i {
	margin-right: .5rem;
	color: #3498db;
}

.cate_outer {
	border-top: 1px solid rgba(219, 219, 219, 0.3);
}

.cate_outer .col:after {
	content: "";
	display: block;
	clear: both;
}

.cate_outer .col {
	max-width: 1060px;
	margin: 3rem auto;
	padding: 3rem 0;
	letter-spacing: .1rem;
}

.cate_outer h3 {
	font-size: 1.4rem;
	font-weight: 900;
	margin: 0;
	text-align: left;
	padding: 1rem;
	letter-spacing: .1rem;
}
.service.cate_cover{
	background-image: url(../img/common/hdr_bg_page.jpg);
    opacity: .8;
}
.service.cate_cover h2{
	    text-shadow: -1px 1px 3px #0c0c0c;
}
.service.cate_outer h3:after {
	content: "";
	border-bottom: 3px solid #352f2f;
	display: block;
	width: 3rem;
	margin:1rem auto 0;
}
.cate_outer h3 span {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	padding-bottom: .3rem;
}

.cate_outer .col h3 {
	color: #4b656b;
	font-size: 1.4rem;
	font-weight: 300;
	text-align: left;
	margin: 0;
	padding: 1rem .5rem;
}

.cate_outer .col h3 span {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	padding-bottom: .3rem;
}
.col_text{
    width: calc(60% - 4rem);
}
.cate_outer .col p {
	line-height: 1.8;
}

.cate_outer .col figure {
	max-width: 50%;
	float: left;
	padding-right: 3rem;
}

.cate_outer .col img {
	max-width: 100%;
}

.cate_outer .col .btn {
	margin-top: 1rem;
	background: #1e3135;
	color: #fff;
}

.cate_outer .col .btn span {
	padding-right: 1rem;
}

.contact.wide {
	width: 100%;
}

.page .container {
	width: 1060px;
}
.company.cate_cover h2{
}
.outline_001 {
	width: 100%;
	margin: 3rem auto;
}

.outline table {
	width: 100%;
}

.outline h3 {
	font-size: 1.4rem;
	color: #4b656b;
	font-weight: 800;
	border-bottom: 1px solid #4b656b;
	padding-bottom: .5rem;
}

.outline th {
	background: #adbabd;
	border-bottom: 1px solid #fff;
	font-weight: 300;
	padding: 1rem;
}

.outline tr:last-child th {
	border-bottom: 1px solid #d3e4f3;
}

.outline td {
	border-bottom: 1px solid #dfdfdf;
	border-right: 1px solid #dfdfdf;
	vertical-align: middle;
}

.outline td:nth-child(2) {
	border-top: 1px solid #dfdfdf;
}

.outline_002 {
	margin-bottom: 3rem;
}

.outline_002 p {
	line-height: 2;
	letter-spacing: .05rem;
	margin-bottom: 1rem;
}

.form_top {
	max-width: 100%;
	margin: 3rem auto 7rem;
}

.form_top .subBox {
	padding-bottom: 3rem;
}

.form_top .subBox h3 {
	color: #4b656b;
	font-size: 1.6rem;
	padding-bottom: 1rem;
}

.form_top .subBox button {
	background: #4b656b;
	padding: 1rem 2.5rem 1rem 1.5rem;
	position: relative;
	min-width: 30%;
	margin-bottom: 3rem;
	font-size: 1.35rem;
	color: #fff;
}

.form_top .subBox button:hover {
	opacity: .7;
}

.form_top .subBox button a {
	color: #fff;
}

.form_top .subBox button span {
	right: 1rem;
	position: absolute;
	top: 35%;
}

.form_cover {
	max-width: 100%;
	margin: 3rem auto;
}

.form_cover dl {
	border-top: 1px solid #dfdfdf;
	padding: 1rem;
}

.form_cover dl dt {
	font-weight: 100;
	padding-bottom: .5rem;
}

.form_cover dl dd {
	margin-bottom: 1rem;
	border-bottom: 1px solid #dfdfdf;
	padding-bottom: .5rem;
}
.contact_form_box{
	
}
.contact_form_box dl{
	max-width: 700px;
    margin: 3rem auto;
}
.contact_form_box dl dt{
	text-align: left;
	display: flex;
    justify-content: flex-start;
}
.contact_form_box dl dd{
	margin-bottom: 2rem;
}
.form_cover dl dd textarea {
	max-width: 710px;
}
.contact_form_box p{
	padding-top: 0;
}
.contact_form_box [type=submit]{
	background: #ffc74c;
}
.form_font_001 {
	font-size: 1.1rem;
	font-weight: 600;
	display: inline-block;
}

.form_font_002 {}

.form_font_003:after {
	display: block;
}

.form_font_003 {
	background: #ff4c4c;
	color: #fff;
	font-size: .8rem;
	padding: 0 2px;
}

dt .form_font_003 {
	line-height: 20px;
	margin-left: auto;
    margin-bottom: .3rem;
}

.formError .formErrorContent {
	background: #ff5555;
}

.formError .formErrorArrow div {
	background: #ff5555;
}

.contact.page_footer {
	width: 100%;
	border: 1px solid rgba(1, 65, 78, 1);
	margin: 0 auto 5rem;
	color: #fff;
	border-radius: 5px;
	padding: 0;
}

.contact.page_footer a:link {
	padding: 1rem;
	width: 100%;
	position: relative;
	background:#6f6f6f;
}
.contact.page_footer a:active,
.contact.page_footer a:hover{
	background: #ccc;
}
.contact.page_footer h2 {
	font-size: 1.6rem;
	text-align: center;
	color: #fff;
	margin: 0;
	font-family: 'Noto Sans Japanese', sans-serif;
	float: left;
	width: 20%;
	border-right: 1px solid #fff;
}

.contact.page_footer h2 span {
	display: inline-block;
	font-size: 1rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
}

.contact.page_footer p {
	padding: 0;
}

.contact.page_footer p.phone {}

.contact.page_footer p.form a {
	color: #fff;
	font-size: 1rem;
}

.contact.page_footer a h2 + div {
	text-align: center;
	width: 80%;
	line-height: 54.65px;
	margin: 0 0 0 20%;
	font-size: 1.3rem;
	color: #fff;
}

.contact.page_footer a .glyphicon {
	position: absolute;
	right: 1rem;
	top: 45%;
	color: #fff;
}

.contact.page_footer a:hover {
	background: rgba(64, 123, 187, .8);
}

.form_cover .contact_002 {
	margin: 3rem auto;
	text-align: center;
	padding: 1rem;
}

.btnSubmit {
	background: #ff6e35;
	color: #fff;
	font-size: 1.05rem;
	letter-spacing: .05rem;
	padding: 1rem 0;
	font-weight: 700;
	width: 80%;
}

.form_cover p {
	text-align: center;
	padding: 0 1rem;
	font-size: .85rem;
}

.business {
	margin-top: 3rem;
}

.business h3 {
	color: #4b656b;
	font-size: 1.45rem;
}

.business .lead {
	font-size: 1rem;
}

.business_box {
	margin: 0 0 3rem;
}

.business_box:after {
	display: block;
	clear: both;
	content: "";
}

.business_box h4 {
	color: #4b656b;
	font-size: 1.3rem;
}

.business_box figure {
	width: 40%;
	float: left;
}

.business_box figure img {
	max-width: 100%;
}

.business_desc {
	float: left;
	width: 60%;
	padding-left: 3rem;
	line-height: 2;
}

.more_link {
	padding: 1rem;
	background: #4b656b;
	color: #fff;
	width: 200px;
	margin-top: 3rem;
	float: right;
}

.confirm.form_cover dl dd {
	padding-top: 12px;
}

.confirm.form_cover dl dd:after {
	display: block;
	content: "";
	clear: both;
}

.cover_lead {
	margin: 3rem auto 0;
}

.row .conts {
	margin-bottom: 2rem;
	display: flex;
	flex-flow: wrap;
	max-width: 1060px;
	margin: 5rem auto;
}

.row h2.second {
	border-bottom: none;
	font-weight: 900;
	font-size: 1.6rem;
	text-align: center;
	background: #fff;
	padding: 3rem 0;
	color: #333;
	margin-bottom: 2rem;
}

.row h2.second span {
	font-weight: bold;
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

.row > h2.second:after {
	display: none;
}

.row .conts figure {
	width: 50%;
}

.row .conts.system_support .su_innder {
	width: 50%;
}

.row .conts figure img {
	max-width: 100%;
	width: 100%;
}

.row .conts.system_efforts {
	margin-bottom: 1rem;
	margin-top: 3rem;
}
.row .conts.system_efforts h3{

}
.row .conts.system_efforts .row_inner{
	width: 55%;
    flex-flow: wrap;
    margin-left: 0;
}
.row .system_efforts .col-xs-12{
	background: #fff;
	color: #000;
}
.row .system_efforts .col-xs-12 p{
	color: #000;
	max-width: 100%;
}
.system_efforts .row_inner h3{
	width: 100%;
    text-align: left;
}
.system_efforts .col-sm-4{
	padding-top: 0;
    width: 49%;
    padding-left: 0;
}
.system_efforts .col-sm-4 h3{
	width: 100%;
    text-align: left;
}
.row .conts.system_efforts .col-sm-4{
	padding-top: 0
}
.row .conts.system_efforts p {
	text-align: left;
	line-height: 2;
	padding-right: 0;
}
.row .conts.system_efforts .lead {
	font-size: 1.2rem;
	padding-right: 0;
	margin-bottom: 3rem;
}

.row .system_efforts .col-xs-12 h4 {
	color: #4b656b;
	text-align: left
}
.system_efforts .btn{
	border-radius: 0;
    margin: 2rem auto 3rem;
    width: 40%;
    padding: 1rem 0;
    font-size: 1.5rem;
    border: 1px solid #333;
	color: #333;
	background: #fff;
	font-size: 1.2rem;
}
.system_efforts .btn .glyphicon{
	padding-right: 1rem;
}
.row .conts.system_support .sub_ttl {
	color: #1e3135;
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1.5;
	padding-bottom: 1rem;
}

.row .conts.system_support .sub_ttl span {
	font-size: 1rem;
	padding-left: 1rem;
}

.row .conts.system_support p {
	text-align: left;
	line-height: 2;
	padding-right: 5rem;
}

.inner_box {
	padding: 1rem 0;
	margin-left: 0;
}

.inner_box ul {
	margin-bottom: 1rem;
}

.inner_box dl {
	margin: 1rem;
	border: 1px solid #1e3135;
	color: #07549e;
}

.inner_box dt {
	float: left;
	font-weight: 100;
	padding: 1rem;
	border-right: 1px solid #1e3135;
	background: #ddebf5;
	color: #07549e;
}

.inner_box dd {
	border-bottom: 1px solid #1e3135;
	padding: 1rem 0 1rem 0;
}

.inner_box dd:last-child {
	border-bottom: none;
}

.cover_lead.business {
	margin-top: 0;
}

.cover_lead.business .text {
	padding-top: 0;
}

.privacy_area {
	height: 120px;
	width: 80%;
	overflow-y: scroll;
	margin: 2rem auto;
	border: 1px solid #ccc;
	padding: 1rem;
	font-size: .85rem;
}

.privacy_area h3 {
	text-align: center;
	font-weight: normal;
}

.privacy_area p {
	text-align: left;
	padding: 0 0 2rem;
}

.form_cover .privacy_area dl {
	border: none;
	padding: 0;
}

.form_cover .privacy_area dl dt {
	width: auto;
	float: none;
	line-height: 1;
}

.form_cover .privacy_area dl dd {
	padding-left: 0;
	border-bottom: none;
}

#pcode {
	width: 20%;
	font-size: 1.2rem;
}

.confirm input[type="text"],
.confirm textarea {
	background: none;
	pointer-events: none;
	padding: 0;
	font-weight: 100;
}

.confirm #pcode {
	font-size: 1rem;
}

.form_cover dd p {
	font-size: 1rem;
}

.btn_back {
	padding: .5rem 1.85rem;
	margin: 0 auto;
	text-align: center;
	display: block;
}
.keyvisual_copy{
	position: absolute;
	right: 20%;
    left: 20%;
}
.keyvisual_copy h3{
	font-family: 'Yu Gothic', sans-serif;
}
.keyvisual-inner{
	position: relative;
    width: 100%;
    overflow: hidden;
}
.bread + .access{
	width: 100%;
    margin: 3rem auto;
}
.page .access + .container{
	padding: 0;
}

.access.cate_cover h2{
	text-shadow: #0c0c0c 1px 1px 1px;
	height: 100%;
	padding-top: 0;
}
.access .cate_outer .col {
	text-align: left;

}
.access .cate_outer {
	border-top: none;
}
.access h3 {
	font-size: 1.4rem;
    color: #4b656b;
    font-weight: 800;
    border-bottom: 1px solid #4b656b;
    padding-bottom: .5rem;
}

.access li {
	padding: 0 0 1rem;
}
.access li:first-child{
	font-weight: bold;
	font-size: 1.2rem;
}


.access li:before {
	content: "・";
	width: 16px;
	height: 16px;
	display: inline-block;
}
.access li:first-child:before{
	display: none;
}
.map_iframe{
	width: 100%;
	margin: 0 auto 10rem;
}
.map_iframe iframe{
	width: 100%;
}

.privacy {
	padding-top: 1rem;
}

.privacy .col {
	padding: 0 0 1rem;
}

.privacy dt {
	color: #231816;
	padding: 1rem 0;
}

.casestudy .cate_outer h3 {
	font-size: 1rem;
	background: none;
	text-align: center;
}

.casestudy .device {
	text-align: left;
	font-size: 18px;
	color: #7fbddd;
}

.casestudy .cate_outer i.fa-desktop,
.casestudy .cate_outer i.fa-mobile-alt {}

.casestudy h3 a {
	font-size: .85rem;
	text-decoration: underline;
	color: #1e3135;
}

.casestudy .cate_outer .caselink {
	padding: 1rem;
	margin-bottom: 10px;
	border-bottom: 1px solid #dfdfdf;
	text-align: center;
}

.casestudy .casebox figure img {
	width: 80%;
}

.casestudy .casebox p {
	padding-bottom: 1rem;
	text-align: left;
}

.casestudy .charge ul {
	font-size: 0;
}

.casestudy .charge ul li {
	display: inline-block;
	padding: 2px 8px;
	font-size: 10px;
	margin-right: 3px;
	margin-bottom: 3px;
	background: #e4e9ee;
	background: rgba(225, 231, 236, 0.9);
}

.casestudy .charge ul li i {
	padding-right: 3px;
}

.casestudy .charge ul.res li {
	border: none;
	color: #f63484;
	background: rgb(251, 207, 225);
}

.casestudy .cate_outer .btn {
	background: rgba(128, 148, 152, 1);
	color: #fff;
	border-radius: 0;
	padding: 8px 10px;
	width: 50%;
}

.casestudy .cate_outer .btn i {
	padding-right: 5px;
}

.casestudy .charge {
	padding: 0 0 1rem 0;
	text-align: left;
}

.casestudy .charge h4 {
	font-size: 1rem;
	color: #1e3135;
	background: #e7f7ff;
	padding: 5px 5px;
}

.casestudy .cate_outer .col dl {
	text-align: left;
	padding: 1rem;
}

.casestudy .cate_outer .col dl dt {
	font-weight: 900;
	color: #1e3135;
}

.casestudy .cate_outer .col dl dt:before {}

.casestudy .cate_outer .col dl dd {
	padding-bottom: 1rem;
}

.grad-wrap {
	position: relative;
}

.grad-wrap + .grad-wrap {
	margin-top: 40px;
}

.grad-trigger {
	z-index: 2;
	position: absolute;
	right: 0;
	bottom: .5rem;
	left: 0;
	width: 120px;
	margin: auto;
	padding: .2rem 0;
	border-radius: 2px;
	font-size: 0.85rem;
	text-align: center;
	cursor: pointer;
	transition: .2s ease;
	border: 1px solid #dedede;
	background: #fff;
}

.grad-trigger::after {
	content: "続きを読む"
}

.grad-trigger .fa {
	margin-right: .5em;
}

.grad-item {
	position: relative;
	overflow: hidden;
}

.grad-wrap {
	padding-bottom: 40px;
}

.grad-item.is-hide {
	height: 50px;
}

.grad-item::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 40px;
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
	background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
}

.grad-trigger.is-show {
	bottom: 0.5rem;
}

.grad-trigger.is-show::after {
	content: "閉じる"
}

.grad-trigger.is-show + .grad-item::before {
	display: none;
}

.casestudy.detail .charge ul {
	padding: 1rem;
	display: flex;
	flex-wrap: wrap;
}

.casestudy.detail .charge ul li {
	width: 50%;
	padding: 5px 10px;
	border: 1px solid rgba(225, 231, 236, 1);
	border-top: none;
	background: none;
	text-align: center;
	margin: 0;
}

.casestudy.detail .charge ul li:nth-child(even) {
	border-left: none;
	border-top: none;
}

.casestudy.detail .charge ul li:nth-child(1),
.casestudy.detail .charge ul li:nth-child(2) {
	border-top: 1px solid rgba(225, 231, 236, 1);
}

.casestudy.detail .charge ul li i {
	color: #1e3135;
	display: block;
	font-size: 26px;
	padding-top: 5px;
	padding-bottom: 5px;
}

.casestudy.detail .charge ul.lng {
	padding-top: 0;
	padding-bottom: 0;
}

.casestudy.detail .charge ul.lng li {
	width: auto;
	background: #e7f7ff;
	border: none;
	margin-right: 3px;
	font-size: 1rem;
}

.casestudy.detail .charge.fnc ul {
	padding: 0 1.5rem;
}

.casestudy.detail .charge.fnc ul li {
	margin-right: 0;
	text-align: left;
	width: 100%;
	font-size: 1rem;
	border: 1px solid rgba(225, 231, 236, 1);
	border-bottom: none;
	border: none;
	padding: 0;
}

.casestudy.detail .charge.fnc ul li:last-child {
	border-bottom: 1px solid rgba(225, 231, 236, 1);
	border: none;
}

.casestudy.detail .charge.fnc ul li i {
	display: inline-block;
	font-size: 1rem;
}

.casestudy.detail .cate_outer {
	padding-top: 3rem;
}

.casestudy.detail .cate_outer h3 {
	text-align: left;
	background: #e7f7ff;
	font-size: 1.1rem;
}

.casestudy.detail .cate_outer h3 i {
	padding-right: 3px;
}

.casestudy.detail .cate_outer h3 span a {
	padding-top: 5px;
}

.cate_outer .col .note {
	font-size: 10px;
	color: #1e3135;
}

.cate_outer h3 span.fnc_info {
	color: #0b0b0b;
	background: rgb(251, 207, 225);
	display: inline-block;
	margin-left: 1rem;
	padding: 5px 10px;
	font-size: .85rem;
}

.casestudy .cate_outer .others h3 {
	background: #e7f7ff;
	text-align: left;
	font-size: 1.15rem;
	font-weight: 300;
}

.casestudy .cate_outer .others dl dt {
	font-weight: 300;
}

.maintein .cate_outer .col {
	font-size: 1rem;
	padding: 1rem;
}

.maintein .cate_outer .col p {
	padding: 0;
	text-align: left;
}

.maintein .cate_outer .col h4 {
	font-size: 1rem;
	font-weight: 800;
	color: #1e3135;
	padding: 1rem 0 0;
	text-align: left;
}

.maintein .cate_outer .col h4.zero {
	color: #dc1c0e;
}

.maintein .inner_box ul {
	text-align: left;
}

.maintein .inner_box ul li {
	text-align: left;
	padding-left: 1.5rem;
	text-indent: -0.7rem;
}

.maintein .inner_box ul li i {
	color: #1e3135;
	padding-right: 5px;
}

.maintein dl {
	color: #07549e;
}

.maintein dl dt {
	float: none;
	border-right: none;
	border-bottom: 1px solid #1e3135;
}

.maintein dl dd {
	text-align: center;
}

.form_cover p.alert_confirm {
	padding: 0 0 1rem;
	color: #ff4c4c;
	font-size: 1.3rem;
}

.cate_menu {}

.cate_menu ul {
	margin: 0 auto;
	padding: 1rem;
}

.cate_menu ul li a {
	display: block;
	border: 1px solid #1e3135;
	padding: 5px 1rem;
	color: #1e3135;
	font-weight: 800;
}

.cate_menu ul li a:after {
	font-family: 'Glyphicons Halflings';
	content: "\e080";
	position: absolute;
	right: 1rem;
	transform: rotate(90deg);
	color: #1e3135;
}

.cate_menu ul li {
	position: relative;
	min-height: 32px;
	margin-bottom: .5rem;
}

.box_01 .tipsBox {
	padding: .1rem 0;
	height: auto;
	margin: 0;
	border-top: 1px solid rgba(64, 123, 187, .1);
}

.box_01 .tipsBox h2 {
	font-size: 1.2rem;
	font-weight: 800;
	position: relative;
	margin: 0;
	padding: 1rem 1rem 0;
	line-height: .8;
	color: #1e3135;
	text-align: center
}

.box_01 .tipsBox h2 span {
	padding-top: .5rem;
	font-size: 1rem;
	font-weight: 300;
}

.tipsBox {
	position: relative;
	margin-top: 3rem;
}
.tipsBox h2{
	margin: 0;
    padding: .5rem;
    font-size: .85rem;
}
.tipsBox h2 span	{
	font-size: 1.15rem;
	padding-top: 0;
}
.tipsBox a {
	display: block;
	width: 100%;
	margin-right: 1rem
}

.tipsArea {
	padding: 1rem 3rem;
}

.tipsArea .item {
	display: flex;
}

.tipsArea dl {
	margin-bottom: .5rem;
	width: 70%;
	padding: 0 .5rem;
}

.tipsArea dt {
	font-weight: 300;
	width: 100%;
	color: #1e3135;
	font-size: .75rem;
}

.tipsArea dd {
	width: 100%;
}

.tipsArea .title {
	font-weight: 400;
	color: #1e3135;
	padding-bottom: 0
}

.tipsArea .desc {
	font-size: .85rem;
}

.tipsArea .thmb_img {
	width: 30%;
	height: 90px;
	overflow-y: hidden;
	margin-bottom: 1rem;
}

.tipsArea .thmb_img img {
	height: auto;
	align-self: flex-start;
	width: 100%;
	max-width: 100%;
}

.tipsBox .linkRight {
	top: unset;
	bottom: 0;
	right: auto;
	display: block;
	width: 100%;
	text-align: center;
}

.tipsBox .linkRight .btn {
	width: 90%;
	min-height: 42px;
}

@media screen and (min-width:768px) {
	header h1 img{
		height: 56px;
	}
	header h1 a{
		color: #333;
	}
	header h1 a:hover{
		color: #c7c7c7;
	}
	header h1 span {
		width: auto;
		margin-left: .5rem;
		padding-top: 0;
		font-size: 12px;
	}
	header h1 span br{
		display: block;
	}
	header.navbar {
		position: fixed;
		top:0;
		border-radius: 0;
		background:#fff;
		border: none;
		-webkit-transition: all .3s ease;
		-moz-transition: all .3s ease;
		transition: all .3s ease;
	}
	.global-nav .left li > a:hover{
		color: #333;
	}

	.global-nav .left li ul li {
		background: #444a4b;
		border-bottom: rgba(255, 255, 255, .5) 1px solid;
		font-size: .85rem;
	}

	.global-nav .left li ul li:last-child {
		border-bottom: none;
	}

	.global-nav ul.left li ul li a {
		font-weight: 800;
		color: #fff;
	}

	.sptel {
		display: none;
	}




	.keyvisual-inner {
		height: 500px;
		margin: 0 auto;
	}

	.keyvisual-inner .item {
		height: 500px;
		margin: 0 auto;
		width: 100%;
		background: #a6dbff;
	}

	.keyvisual-inner > .item > a,
	.keyvisual-inner > .item > img,
	.keyvisual-inner > .item > a > img,
	.keyvisual-inner .item img {
		width: 100%;
		max-width: none !important;
	}

	.keyvisual-inner > .item > a > img {
		opacity: .9;
		margin-top: -250px;
	}

	.keyvisual_copy {
		line-height: 2;
		bottom: 40%;
		padding-bottom: 0;
		padding: 0;
	}

	.keyvisual_copy h3 {
		font-weight: bold;
		font-size: 4rem;
		text-align: center;
		color: #fff;
		text-shadow: -1px 1px 0px #010e19;
		margin: 0;
	}
	/* for top_42428175.png 
	.keyvisual_copy h3 {
		font-weight: bold;
		font-size: 4.4rem;
		text-align: center;
		color: #fff;
		text-shadow: 1px 1px 8px #0c161e;
		margin: 0;
		letter-spacing: .2rem;
		line-height: 1.4;
	}*/


	.row h2.second {
		font-size: 1rem;
		padding: 2rem 0;
		margin-top: 3rem;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.row h2.second span {
		font-size: 2rem;
	}

	.bread {
		padding-top: .5rem
	}

	footer {
		background-color: rgba(219, 219, 219, 0.3);
		padding: 2rem 0 1rem;
		/*font-family:'Noto Sans Japanese', sans-serif;*/
	}

	footer ul {
		padding: 5rem 3rem;
		display: block;
	}

	footer ul.footer_menu {
		max-width: 960px;
		margin: 0 auto;
		display: flex;
		padding: 1rem 0;
		text-align: left;
	}

	footer ul.footer_menu > li {
		padding: 1rem 0 0 0;
		width: 25%;
		font-size: 14px;
		font-weight: 600;
	}

	footer ul.footer_menu > li a {
		color: #1e3135;
	}

	footer ul.footer_menu > li a:hover {
		text-decoration: underline;
		opacity: 1;
		animation-duration: 1s;
		animation-name: fade-in;
		-moz-animation-duration: 1s;
		-moz-animation-name: fade-in;
		-webkit-animation-duration: 1s;
		-webkit-animation-name: fade-in;
	}

	footer ul.footer_menu > li ul {
		padding: 1rem 0;
	}

	footer ul.footer_menu > li ul li {
		width: 100%;
		padding: 0;
		line-height: 1;
		font-size: 12px;
		/*font-weight:300;*/
	}

	footer ul.footer_menu > li ul li a {
		color: #5a5a5a;
	}

	footer ul.footer_menu > li ul li a:active,
	footer ul.footer_menu > li ul li a:hover {
		text-decoration: underline;
		background: rgba(64, 123, 187, .1);
		opacity: 1;
		animation-duration: 1s;
		animation-name: fade-in;
		-moz-animation-duration: 1s;
		-moz-animation-name: fade-in;
		-webkit-animation-duration: 1s;
		-webkit-animation-name: fade-in;
	}

	footer ul li ul {
		display: block;
		width: 100%
	}

	footer .outline {
		margin-top: 3rem;
	}

	footer .outline img {
		margin-right: 5px;
		display: inline-block;
	}

	footer .outline {
		font-size: 1rem;
		font-weight: 600;
		padding: 5px 0;
		color: #666;
	}

	footer .outline .cname {
		font-size: 1rem;
	}

	footer .outline .zip {
		display: inline-block;
		font-size: .8rem;
		padding-left: .5rem;
	}

	footer .outline .addr {
		display: inline-block;
		font-size: .8rem;
	}
	footer .outline .addr br{
		display: none;
	}
	footer .outline .tel_num {
		font-size: .8rem;
		padding-left: .5rem;
		display: inline-block;
	}

	.message {
		margin: 0 0 0 .5rem;
		border-width: 30px;
		text-align: center;
	}

	.message .logo_ph {
		width: 50%;
		margin-bottom: 1rem;
		margin-top: .5rem;
	}

	.message p {
		font-size: 1rem;
		padding: 1rem 0 0;
		line-height: 1.6;
	}

	.box_01 .message > h2 {
		text-align: center;
	}

	.box_01 .message > h2 span {
		font-size: 1.4rem;
	}

	.topicsBox {
		margin: 0 .5rem 0 0;
		float: none;
		padding-top: 0;
		border: 2px solid rgb(221 221 221);
	}

	.box_01 .topicsBox h2 {
		text-align: center;
		margin-top: 1rem;
		margin-right: 0;
		margin-left: 0;
		padding-bottom: 0;
		font-weight: bold;
		font-size: .85rem;
	}

	.box_01 .topicsBox h2 span {
		font-size: 1.4rem;
		font-weight: bold;
	}

	.topicsArea {
		margin-right: 0;
		height: 350px;
		margin-bottom: 0;
	}

	.linkRight {
		position: static;
	}

	.linkRight .btn {
		width: 98%;
		font-size: 1rem;
		border-radius: 0;
		margin: 1%;
		padding: 20px 0;
	}


	.row {
		padding: 0;
		margin-top: 2rem;
		background: rgba(255, 255, 255, 1);
		color: #444;
	}

	.box_01 + .row {
		margin-top: 0;
	}

	.row:nth-child(3) > .btn {
		width: auto;
		padding: 1.5rem;
	}

	.container .row .row_inner {
		display: -webkit-flex;
		display: flex;
		background: rgba(255, 255, 255, 1);
		margin: 0 auto;
		max-width: 1060px;
	}
	.container .row .row_inner .col-sm-4{
		padding-top: 0;
	}
	.row .system_efforts figure{
		width: 40%;
	}
	.row .conts.system_efforts .col-sm-4 h3{
		font-size: 1.2rem;
		margin-top: 0;
    	margin-bottom: 1rem;
	}
	.row .system_efforts .row_inner .col-sm-4{
		width: 49%;
		padding: 0;
	}
	.row .system_efforts .row_inner .col-sm-4 p{
		padding: 0 2rem 0 0;
		line-height: 1.8;
	}
	.container .row .system_efforts .col-xs-12{
		padding: 0;
		margin-top: 3rem;
	}
	.container .row .col-xs-12 {
		margin: 30px auto 0;
		float: none;
		padding: 1rem 1.5rem;
	}

	.container .row .col-xs-12 h2 {
		font-weight: 600;
		font-size: 2.6rem;
		margin-bottom: 2rem;
		color: #fff;
	}

	.container .row .col-xs-12 h2 span {
		padding-right: 1rem;
		display: block;
		font-size: 1rem;
		font-weight: 900;
	}

	.container .row .col-xs-12 h2 span.glyphicon {
		font-size: 2.6rem;
		display: inline;
	}

	.container .row .row_inner .col-xs-12 h2 .glyphicon-tasks {
		font-size: 2rem;
		display: inline-block;
	}

	.col-xs-12 p {
		max-width: 760px;
		margin: 0 auto 2rem;
		text-align: left;
		line-height: 1.5;
		color: #fff;
	}

	.container .row .row_inner a {
		color: #444;
	}

	.row .row_inner .col-sm-4 {
		width: auto;
		margin: 0 .1rem 0;
		background: rgba(255, 255, 255, .1);
		padding: 3rem 1.5rem 0;
		-webkit-flex-grow: 5;
		flex-grow: 5;
	}

	.row .row_inner .col-sm-4 h3 {
		margin-bottom: .5rem;
		font-weight: 900;
		font-size: 1.35rem;
		color: #4b656b;
	}

	.row .row_inner .col-sm-4 p {
		max-width: 480px;
		min-height: none;
		padding-bottom: 2rem;
		margin-bottom: 2rem;
		text-align: left;
		line-height: 1.5;
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}

	.row .row_inner .col-sm-4 p:last-child {
		margin-bottom: 0;
		border-bottom: none;
	}

	.row > .btn {
		border-radius: 0;
		margin: 1rem auto 3rem;
		width: 40%;
		padding: 1.5rem 0;
		font-size: 1.5rem;
		border: none;
	}

	.row > .btn:hover {
		background: rgba(127, 189, 221, .3);
		background: #ccc;
		border: none;
		color: rgba(1, 65, 78, 1);
	}

	.row > .btn a {
		color: #fff;
	}

	.row.sys_lp > .btn {
		width: auto;
		padding: 1.5rem;
	}

	.box_01 {
		margin-top: 0rem;
	}

	.box_01_inner {
		max-width: 1060px;
	}
	.cate_cover {
		height: 240px;
		padding-top: 40px;
		padding-bottom: 0;
		background-size: cover;
    	background-position-y: 43%;
	}
	.cate_cover h2 {
		padding-top: 0;
		height: 100%;
		font-size: 3rem;
	}

	.form_top {
		max-width: 1060px;
		margin: 3rem auto 7rem;
	}

	.form_top .subBox {
		padding-bottom: 3rem;
	}

	.form_top .subBox h3 {
		color: #4b656b;
		font-size: 1.6rem;
		padding-bottom: 1rem;
	}

	.form_top .subBox button {
		background: #4b656b;
		padding: 1rem 2.5rem 1rem 1.5rem;
		position: relative;
		min-width: 30%;
		margin-bottom: 3rem;
		font-size: 1.35rem;
		color: #fff;
	}

	.form_top .subBox button:hover {
		opacity: .7;
	}

	.form_top .subBox button a {
		color: #fff;
	}

	.form_top .subBox button span {
		right: 1rem;
		position: absolute;
		top: 35%;
	}

	.form_cover {
		max-width: 1060px;
		margin: 3rem auto;
	}

	.form_cover dl {
		border-top: 1px solid #dfdfdf;
		padding-top: .5rem;
		display: flex;
		flex-flow: wrap;
	}

	.form_cover dl dt {
		float: left;
		width: 250px;
		font-weight: 100;
		height: 48px;
		/*line-height: 40px;*/
		border-bottom: 1px solid #dfdfdf;
		display: flex;
		flex-flow: wrap;
    	align-items: center;
		justify-content: flex-start;
		text-align: left;
	}

	.form_cover dl dd {
		padding-left: 50px;
		margin-bottom: 1rem;
		border-bottom: 1px solid #dfdfdf;
		padding-bottom: .5rem;
		width: calc( 100% - 300px);
	}

	.form_cover dl dd textarea {
		max-width: 710px;
	}

	.form_font_001 {
		font-size: 1.1rem;
		font-weight: 600;
		display: inline-block;
	}

	.contact_form_box [type=submit]{
		padding: 20px;
		max-width: 350px;
	}

	.form_font_003:after {
		display: block;
	}

	.form_font_003 {
		background: #ff4c4c;
		color: #fff;
		font-size: .8rem;
		padding: 0 2px;
	}


	.form_cover .contact_002 {
		width: 400px;
	}

	.cover_lead {
		margin-top: 1rem;
	}

	.cover_lead .text {
		padding-top: 4rem;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.cover_lead.system .lead_list {
		width: 500px;
		padding-bottom: 2rem;
	}

	.cover_lead.index .lead_heading {
		padding-bottom: 1rem;
		/*font-weight:100;*/
	}

	.lead_list_item {
		font-size: 1.2rem;
	}

	.portfolio {
		width: 100%;
		max-width: 1060px;
		margin: 0 auto;
		background: #e5f2f8;
		padding: 2rem;
		border-right: none;
		text-align: left;
	}

	.portfolio:after {
		display: block;
		content: '';
		clear: both;
	}

	.portfolio h2 {
		font-size: 0.75rem;
		text-align: left;
	}

	.portfolio h2 span {
		display: block;
	}

	.portfolio .btn {
		background: rgb(127, 189, 221);
		width: 300px;
		font-size: 1.15rem;
		font-weight: 700;
		letter-spacing: .04rem;
	}

	.portfolio p {
		line-height: 2;
		width: 50%;
		float: left;
		margin-top: 1rem;
	}

	.portfolio figure {
		width: 40%;
		float: right;
	}

	.portfolio figure img {
		max-width: 100%;
	}

	.threeBox .portfolio {
		width: 50%
	}

	.threeBox .partner {
		width: 50%;
		text-align: right;
		padding: 1rem;
	}

	.threeBox .partner .flex_box {
		display: flex;
	}

	.threeBox .partner img {
		padding: 0;
		height: 250px;
	}

	.threeBox .partner p {
		text-align: left;
		line-height: 1.8;
		padding-left: 2.5rem;
	}

	.threeBox .partner .btn {
		margin: -3.5rem auto 2rem;
		width: 50%;
		padding: 1rem 0;
		background: #6f7374;
		color: #fff;
	}

	.contact p.form {
		border-right: 1px solid #dfdfdf;
		padding: .5rem 0;
	}

	.contact p span.glyphicon {
		
		padding-bottom: .75rem;
	}

	.contact p a {
		color: #4b656b;
		font-weight: 800;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact p a br{
		
	}

	.portContact .deigner {
		width: 100%;
		margin-bottom: 5rem;
	}

	.portContact .deigner .btn {
		margin-top: 1rem;
		padding: 1rem 3rem;
	}

	.portContact .deigner img {
		height: 200px;
	}

	.portContact .deigner .flex_box {
		width: 100%;
		display: flex;
	}

	.portContact .deigner .flex_box div {
		width: 60%;
		padding-left: 3rem;
		line-height: 2;
	}

	.contact.page_footer {
		max-width: 860px;
		margin-top: 5rem;
	}

	.btnSubmit {
		font-size: 1.5rem;
		font-weight: 100;
		width: 100%;
	}

	.privacy {
		padding-top: 3rem;
		max-width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
		letter-spacing: .05rem;
	}

	.privacy .col:last-child {
		padding-bottom: 3rem;
	}

	.privacy dl {}

	.privacy dt {
		padding-bottom: .5rem;
		font-weight: bold;
	}

	.privacy dl dd {
		padding-bottom: 1rem;
	}

	.entry-content .bread + .access {
		padding-top:0;
		max-width: 1060px;
	}

	.access .cate_outer {
		padding: 0;
	}

	.access .cate_outer .col {
		margin: 0 auto;
		padding-top: 1rem;
		display: flex;
    	max-width: 100%;
	}
	.access .access_001 ul{
		margin-left: 20px;
	}
	.access .col.access_001 figure{
		margin-left: auto;
    	margin-right: 0;
	}
	.access li{
		padding-left: 2rem;
	}
	.access li:first-child{
		padding-left: 0;
	}
	
	.access h4 a {
		font-size: 1.25rem;
	}

	.inner_box {
		padding: 1rem 0;
		margin-left: 40%;
	}

	.service .cover_lead .lead_heading.heading {
		font-size: 1rem;
		color: #4b656b;
		text-align: left;
	}

	.service .cover_lead .lead_heading.heading span {
		font-size: 1.8rem;
	}

	.service .cover_lead .lead_heading.heading::after {
		background: none;
	}

	.inner_box dl {
		margin: 0 0 2rem 0;
		max-width: 330px;
	}

	.inner_box dt {
		width: 60%;
		padding: .5rem 1rem;
	}

	.inner_box dd {
		text-align: center;
		padding: .5rem 1rem;
	}

	.cate_outer .col {
		max-width: 960px;
		margin: 0 auto;
		padding-top: 3rem;
		letter-spacing: .1rem;
	}

	.cate_outer .col h3 {
		color: #4b656b;
		font-size: 1.8rem;
		font-weight: 300;
		margin: 0;
		padding: 0 0 1rem;
		background: none;
	}

	.cate_outer h3 {
		font-size: 2.2rem;
		font-weight: bolder;
		margin: 0;
		text-align: center;
	}

	.cate_outer .col figure {
		max-width: 40%;
		margin-right: 4rem;
		padding-right: 0;
	}

	.casestudy.index .cover_lead {
		padding: 0;
	}

	.cover_lead.index .lead_heading {
		width: 500px;
	}

	.casestudy.index .cate_outer {
		display: flex;
		flex-wrap: wrap;
		padding-top: 2rem;
	}

	.casestudy .cate_outer .caselink {
		flex-basis: 32%;
		width: 32%;
		border-top: 1px solid #dfdfdf;
		border-left: 1px solid #dfdfdf;
		border-right: 1px solid #dfdfdf;
		border-bottom: 1px solid #dfdfdf;
		padding: 1rem;
		margin-right: 1%;
		margin-bottom: 10px;
	}

	.casestudy .cate_outer .caselink a {
		padding: 0.5rem
	}

	.casestudy .casebox {
		text-align: center;
		padding: .5rem;
	}

	.casestudy .casebox h3 {
		background: none;
		font-weight: 800;
	}

	.casestudy .casebox figure {
		overflow-y: hidden;
		text-align: center;
		margin-bottom: 0;
	}

	.casestudy .casebox figure img {
		width: 80%;
		margin: 0 auto;
	}

	.casestudy .casebox p {
		text-align: left;
		padding-bottom: 1rem;
	}

	.casestudy .cate_outer .caselink .charge ul {
		font-size: 0;
	}

	.casestudy .cate_outer .caselink .charge ul li {
		display: inline-block;
		padding: 2px 8px;
		font-size: .85rem;
		margin-right: 3px;
		margin-bottom: 3px;
		background: #e4e9ee;
		background: rgba(225, 231, 236, 0.9);
	}

	.casestudy .cate_outer .caselink .charge {
		padding-top: 0;
	}

	.casestudy .cate_outer .caselink .charge ul.res li {
		border: none;
		color: #f63484;
		background: rgb(251, 207, 225);
	}

	.casestudy .cate_outer .btn {
		padding: 3px 10px;
	}

	.casestudy .cate_outer {
		max-width: 1060px;
		margin: 2rem auto;
	}

	.casestudy .cate_outer h3 {
		background: none;
	}

	.casestudy .cate_outer .col figure {
		max-width: 40%;
		display: inline-block;
	}

	.casestudy .rightbox {
		display: inline-block;
		width: 60%;
	}

	.casestudy .charge {
		padding: 1rem 0 0;
		margin-bottom: 1rem;
	}

	.casestudy .charge + .charge {}

	.casestudy .charge h4 {
		margin: 0 0 .5rem 0;
	}

	.grad-trigger.is-show {
		bottom: 0;
	}

	.grad-wrap {
		padding-bottom: 40px;
	}

	.grad-item.is-hide {
		height: 120px;
	}

	.casestudy.detail .cate_outer h3 {
		font-size: 1.35rem;
		background: none;
		padding: 0 0 1rem 0;
	}

	.casestudy.detail .cate_outer h3 span {
		color: #1e3135;
	}

	.other_site a {
		text-align: right;
		font-size: .95rem;
		padding-top: .5rem;
		color: #1e3135;
		display: block;
	}

	.other_site a i {
		padding-left: .2rem;
	}

	.casestudy.detail .lefttbox {
		display: inline-block;
		width: 50%;
		float: left;
	}

	.casestudy.detail .cate_outer .col .lefttbox figure {
		width: 100%;
		max-width: 100%;
		float: none;
		text-align: center;
		padding-top: 3rem;
		padding-right: 0;
		padding-bottom: 5rem;
		border: #ccc 1px solid;
	}

	.casestudy.detail .cate_outer .col .lefttbox figure img {
		max-width: 70%;
		margin: 0 auto;
	}

	.casestudy.detail .rightbox {
		width: 50%;
		padding-left: 3rem;
	}

	.casestudy.detail .rightbox p {
		letter-spacing: normal;
	}

	.casestudy.detail .charge {
		border: 1px solid #daedff;
		padding: 1rem;
		margin-top: 3rem;
		background: #e7f7ff;
	}

	.casestudy.detail .charge h4 {
		margin: 0;
		padding: 0 1.5rem;
		font-size: 1rem;
		background: none;
	}

	.casestudy.detail .charge ul {
		padding: 0 0 1rem;
	}

	.casestudy.detail .charge ul li {
		width: 25%;
		background: #fff;
		color: #1e3135;
	}

	.casestudy.detail .charge h4 {
		padding: 0 0 .3rem;
	}

	.casestudy.detail .charge ul {
		padding-bottom: 1%;
	}

	.casestudy.detail .charge ul li {
		border: none;
		width: 19%;
		line-height: 1.2;
		margin-right: 1%;
		letter-spacing: -.03rem;
	}

	.casestudy.detail .charge ul li:nth-child(1),
	.casestudy.detail .charge ul li:nth-child(2) {
		border-top: none;
	}

	.casestudy.detail .charge ul li i {
		padding-top: 10px;
		padding-right: 0;
		color: #1e3135;
		font-size: 1.2rem;
	}

	.casestudy.detail .charge + .charge {
		margin-top: 0;
	}

	.casestudy.detail .charge ul.lng li {
		background: #fff;
	}

	.casestudy.detail .charge ul li i {}

	.casestudy.detail .charge.fnc {
		background: #e7f7ff;
	}

	.casestudy.detail .charge.fnc ul {
		padding: 0;
		margin: 0;
		padding: 0;
		border: none;
		border-bottom: 5px solid #e7f7ff;
	}

	.casestudy.detail .charge.fnc ul li {
		border: none;
		padding: .15rem 1.5rem;
		border-bottom: 5px solid #e7f7ff;
		border-right: 5px solid #e7f7ff;
		background: #fff;
		font-size: .85rem;
		background: #fff;
		width: auto;
		padding: .45rem 1rem;
		letter-spacing: unset;
	}

	.casestudy.detail .charge.fnc ul li:last-child {
		border-bottom: 5px solid #e7f7ff;
	}

	.casestudy.detail .charge.fnc ul li i {
		padding: 0 5px 0 0;
	}

	.maintein .cate_outer .col {
		padding: 2rem 0;
	}

	.maintein .inner_box {
		padding: 0;
		margin-left: 46%;
	}

	.maintein .inner_box dl {
		max-width: 100%;
		margin: 1rem 0;
	}

	.maintein dl dt {
		float: left;
		border-right: 1px solid #1e3135;
		min-height: 35px;
	}

	.maintein dl dd {
		width: 100%;
		min-height: 55px;
		padding-top: 20px;
	}

	.maintein dl dd:nth-child(2) {
		min-height: 35px;
		padding-top: .5rem;
	}

	.maintein dl dt:nth-child(5) {
		border-bottom: none;
	}

	.maintein .cate_outer .col .btn {
		margin: 2rem auto;
	}

	.maintein .cate_outer.hp dl dt {
		border-bottom: none;
		min-height: 35px;
	}

	.maintein .cate_outer.hp dl dd {
		min-height: 35px;
	}

	.maintein .cate_outer .col h4.zero {
		margin-top: 0;
		padding-top: 0;
		font-size: 1.4rem;
	}

	.container.business {
		margin-top: 0;
	}

	.container.business .cate_outer h3 {
		background: none;
		max-width: 1060px;
		text-align: left;
		margin: 0 auto;
		padding: 2rem 0 1rem 0;
	}

	.container.business .cate_outer .col {
		padding-top: 1rem;
	}

	footer copy {
		font-size: .85rem;
	}

	.outline_001 {
		margin-bottom: 5rem;
	}

	.outline_001 table {
		width: 92%;
		margin: 1.5rem 3rem 0;
	}

	.outline_002 {
		padding: .5rem 3rem 0;
		margin-bottom: 5rem;
	}

	.cate_outer .col .btn {
		margin-top: 2rem;
		padding: 8px 15px;
		border-radius: 0;
	}

	.col .btn .glyphicon {
		margin-right: .5rem;
	}

	.cate_menu ul {
		display: flex;
		justify-content: center;
		margin-bottom: 3rem;
	}

	.cate_menu ul li a {
		padding-right: 3rem;
		border-right: none;
	}

	.cate_menu ul li a:after {
		top: 30%;
		transform: rotate(0deg);
	}

	.cate_menu ul li:last-child a {
		border-right: 1px solid #1e3135;
	}

	.cate_menu ul li a span {
		display: block;
		font-size: .85rem;
		font-weight: 300;
		color: #505050;
	}

	.box_01 .tipsBox {
		width: 50%;
		padding: .5rem 1rem 0;
		border-top: none;
		border-right: 1px solid rgba(64, 123, 187, .1);
		border-left: 1px solid rgba(64, 123, 187, .1);
	}

	.tipsBox a {
		display: block;
		width: 100%;
	}

	.tipsBox a:last-child {
		margin-right: 0;
	}

	.box_01 .tipsBox h2 {
		text-align: left;
		font-size: .85rem;
		padding-left: 0
	}

	.box_01 .tipsBox h2 span {
		font-size: 1.2rem;
		font-weight: 800;
	}
	.portContact{
		display: block;
	}
	.portContact .contact{
		margin: 0 auto 2rem;
		width: 100%;
		padding: 0 1rem;
		border: 10px solid #ccc;
	}
	.portContact .contact p{
		padding: 3rem 0 2rem;
	}
	.portContact .contact p.form{
		padding-bottom: .5rem;
	}
	.portContact .contact h2,
	.portContact .tipsBox h2{
		margin-top: 0;
	}
	.portContact .contact h2{
		padding: 1rem;
		text-align: center;
	}
	.tipsBox{
		width: 100%;
		margin-bottom: 3rem;
	}
	.tipsBox h2{
		font-size: 1rem;
		padding: 0
	}
	.tipsBox h2 span{
		font-size: 1.6rem;
	}
	.tipsArea {
		padding:2rem 0 1rem 0;
		width: 100%;
		display: flex;		
	}

	.tipsArea .item {
		display: flex;
		flex-flow: row;
		margin-bottom: 0;
	}

	.tipsArea a:last-child .item {
		border-bottom: none;
	}

	.tipsArea dl {
		margin-bottom: .5rem;
		width: calc(100% - 120px);
		padding: 0 0 0 1rem;
		display: flex;
		flex-flow: column;
	}

	.tipsArea dt {
		font-weight: 300;
		width: 80px;
		color: #1e3135;
		font-size: .85rem;
	}

	.tipsArea dd {
		width: 100%;
	}

	.tipsArea .title {
		font-weight: 400;
		padding-bottom: .3rem;
		/*width: calc(100% - 80px);*/
	}

	.tipsArea .desc {
		font-size: .85rem;
	}

	.tipsArea .thmb_img {
		width: 120px;
		height: 100px;
		overflow-y: hidden;
		margin-bottom: 0;
	}

	.tipsArea .thmb_img img {
		height: auto;
		align-self: flex-start;
		width: 100%;
		max-width: 100%;
	}

	.tipsBox .linkRight {
		width: 100%;
		text-align: center;
		border-top:1px solid rgb(172 183 185);
		margin: 0 auto;
	}

	.tipsBox .linkRight .btn {
		min-height: 24px;
		padding: 5px 5px;
		font-size: 1rem;
		text-align: center;
		width: 380px;
	}
		.service.cate_outer{
		padding-top: 120px;
		margin-top: -60px;
		border: none;
	}
	.service.cate_outer .col{
		display: flex;
		justify-content: flex-start;
		flex-flow: wrap;
		padding: 3rem 0 5rem 0;
	}
}


}

@media screen and (min-width:745px) and (max-width:768px) {
	header {
		padding-left: 10px
	}

	header .hdr_left {}

	header h1 {
		width: 350px;
	}

	header h1 span {
		margin-left: 1rem;
	}

	.global-nav .left li {
		min-width: 70px;
	}
}

@media screen and (max-width:767px) {

	a:hover,
	a:active,
	a:focus {
		cursor: pointer
	}

	img {
		max-width: 100%;
	}

	.hdr_inner {
		max-width: none;
		display: inline-block;
		width: 100%;
	}

	header {
		padding: 0 10px;
		height: 60px;
		border-radius: 0;
	}

	header.navbar-default {
		position: fixed;
		padding: 0;
		height: 68px;
		border-radius: 0;
	}

	header .hdr_left {
		max-width: none;
		position: relative;
	}

	header h1 {
		width: 80%;
		float: left;
	}

	header h1 a {
		padding-top: 18px;
		padding-left: 0;
	}

	header h1 span {
		margin-left: 0;
		position: absolute;
		top: 1px;
		left: 0;
		width: 100%;
		letter-spacing: -.05rem;
		float: none;
		text-align: center;
		border-bottom: #696969 1px solid;
		color: #333;
    	padding: 3px;
	}
	.sptel{
		top: 1.4rem;
	}
	.sptel a{
		border-right: 1px solid #7d7d7d;
	}
	.sptel ul li:first-child a{
		border-left: 1px solid #7d7d7d;
	}
	.navbar-default .navbar-toggle {
		margin-right: 5px;
		margin-top: 24px;
		border: none;
	}

	.navbar-default .navbar-toggle .icon-bar {
		background-color: #333;
		width: 26px;
		height: 3px;
	}

	header nav {
		background: #d2e4f2;
	}

	header nav ul.nav {
		background: #fff;
		margin: 5px;
	}

	.global-nav .left li {
		width: 100%;
		text-align: left;
	}

	.global-nav .left li:last-child {
		padding-left: 0;
		text-align: center;
		border-bottom: none;
	}

	.global-nav ul li ul {
		display: block;
		position: relative;
		left: unset;
		top: unset;
	}

	.global-nav .left ul li:last-child {
		text-align: left;
		padding-left: 30px;
	}

	.nav > li {
		border-bottom: 1px solid #d2e4f2;
	}

	.nav > li ul {
		border-top: 1px solid #d2e4f2;
	}

	.nav > li ul li {
		border-bottom: 1px solid #d2e4f2;
		padding-left: 30px;
	}

	.nav > li ul li a:before {
		content: "∟";
		width: 16px;
		height: 16px;
		display: inline-block;
		color: #1e3135;
	}

	.navbar-default .navbar-nav > li > a {
		color: #1e3135;
	}

	.navbar-default .navbar-nav > li > a,
	.navbar-nav li a {
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 15px;
		line-height: 20px;
	}

	.global-nav ul.left li ul li a {
		color: #1e3135;
	}

	.global-nav {
		width: 100%;
	}

	.global-nav .left {
		display: inherit;
		width: 97%;
	}

	.bread {
		max-width: 100%;
		padding: .3rem 0 0 .3rem;
	}

	.bread ul li {
		font-size: .8rem;
	}

	.row .conts,
	.portContact {
		max-width: 100%;
	}

	.keyvisual {
		padding-top: 61px;
	}

	.panel .keyvisual_copy h3 {
		color: #fff;
		font-size: 12px;
		position: absolute;
		top: 15%;
		left: 0;
		background:#231816;
		padding: 10px 0 13px 15px;
		width: 58%;
		line-height: 1;
		padding-left: 3rem;
		height: 72px;
	}

	.panel .keyvisual_copy h3 span {
		font-size: 24px;
		padding: 0;
		letter-spacing: .08rem;
		display: block;
	}

	.panel .keyvisual_copy h3 span.glyphicon {
		font-size: 30px;
		padding: 0;
		letter-spacing: .08rem;
		left: .5rem;
		position: absolute;
		top: 22%;
	}

	.panel .keyvisual_copy h3 span:nth-child(2) {
		font-size: 18px;
		letter-spacing: unset;
		padding-top: 0.1rem;
	}

	.keyvisual_copy {
		left: 5%;
		right: 5%;
		text-align: left;
		position: static;
		color: #333;
		text-shadow: none;
	}

	.keyvisual_copy h3 span:last-child {
		font-size: .85rem;
	}

	.keyvisual_copy h3 span:last-child:after {
		display: block;
		content: "";
		clear: both;
		padding-bottom: 5px;
	}

	.keyvisual_copy p {
		font-size: 12px;
		padding: 0 15px;
		text-shadow: none;
		min-height: 88px;
		letter-spacing: .05rem;
	}


	.message {
		padding: 1rem;
		width: initial;
		text-align: center;
		margin: 0;
		border: none;
		border-top: 1px solid rgba(64, 123, 187, .1);
	}

	.message img {
		max-width: 200px;
		margin: 0 auto 1rem;
	}

	.message p {
		font-size: .95rem;
		line-height: 1.6;
		letter-spacing: unset;
	}

	.message p br {
		display: none;
	}

	.box_01 {
		display: unset;
		max-width: unset;
		width: 100%;
	}

	.topicsBox {
		width: 100%;
		float: none;
		border: none;
		border-top: 1px solid rgba(64, 123, 187, .1);
	}

	.box_01 .topicsBox h2 {
		margin: 1rem 1rem 0;
		font-size: 1.2rem;
		padding-bottom: .5rem;
	}

	.box_01 .topicsBox h2 span {
		padding-top: .5rem;
		display: inline-block;
		font-size: .85rem;
		padding-left: 1rem;
	}

	.topicsArea {
		height: 200px;
		margin-right: 0;
	}

	.topicsArea dl {
		padding-bottom: 0;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.topicsArea dt {
		float: left;
		width: 28%;
		font-size: .95rem;
	}

	.topicsArea dd {
		padding-left: 29%;
		font-size: .95rem;
	}

	.topicsArea dd.title {
		font-size: .95rem;
	}

	.row {
		padding-top: 1rem;
	}

	.row .col-xs-12 {
		margin-bottom: 1rem;
		float: none;
	}

	.row h2 {
		margin-top: 0;
		color: #fff;
		font-size: 1.25rem;
		font-weight: 900;
		letter-spacing: .1rem;
	}

	.row h2 span.glyphicon {
		padding-right: .5rem;
	}

	.row h2 span:nth-child(2) {
		display: block;
		font-size: .85rem;
		font-weight: 400;
	}

	.row .col-xs-12 p {
		font-size: .95rem;
		text-align: left;
		opacity: .8;
	}

	.row_inner a {
		color: #fff;
		width: 45%;
		vertical-align: top;
	}

	.row_inner .col-sm-4,
	.row_inner a .col-sm-4 {
		padding-top: 15px;
		padding-bottom: 1rem;
		padding-left: 10px;
		padding-right: 10px;
		font-size: .85rem;
	}

	.row_inner:nth-child(2) {
		border-top: 1px dotted rgba(255, 255, 255, .3);
	}

	.col-sm-4 h3 {
		color: #4b656b;
	}

	.row_inner a .col-sm-4 p {
		text-align: left;
		opacity: .9;
	}

	.col-sm-4 p {
		text-align: left;
	}

	.row > .btn {
		margin: .5rem auto 1.95rem auto;
	}

	.row h2.second {
		font-size: .9rem;
		font-size: .9rem;
		padding: 1rem 0 1rem 0;
		margin-bottom: 0;
	}

	.row h2.second span {
		font-weight: 900;
		font-size: 1.5rem;
	}

	.row .conts.system_efforts {
		display: block;
		flex-flow: column-reverse;
		margin: 0;
		padding: 1.5rem;
	}

	.row .conts.system_efforts p {
		padding-right: 0;
		width: 100%;
		line-height: 1.5;
	}


	.row .conts.system_efforts figure {
		width: 100%;
		border: 3px solid #fff;
		margin-bottom: 1rem;
	}

	.row .conts.system_support {
		flex-flow: column-reverse;
		margin: 0;
	}

	.row .conts.system_support figure {
		width: 100%;
		margin-bottom: 1rem;
	}

	.su_innder {
		padding: 1.5rem;
	}

	.row .conts.system_support p {
		padding-right: 0;
		line-height: 1.5;
	}

	.row .conts.system_support .sub_ttl {
		color: #fff;
		text-align: center;
		font-size: 1rem;
	}

	.toppage .portfolio {
		width: 100%;
	}

	.threeBox .portContact {
		display: block;
		flex-flow: column;
	}

	.portContact .contact {
		width: 100%;
		padding: 0;
	}

	.portContact .contact h2 {
		margin: 0;
		padding: .5rem;
		font-size: .85rem;
	}

	.portContact .contact h2 span {
		padding: 0;
		font-size: 1.15rem;
	}

	.portContact .contact h2 + div {
		width: 100%;
		margin-top: 1rem;
		line-height: 1.5;
		padding: 0 1rem 1rem;
	}

	.portContact .contact p {
		padding: 0 0 0 0;
	}

	.portContact .contact p a:visited,
	.portContact .contact p a:link {
		color: #1e3135;
		font-size: 1rem;
		font-weight: bold;
		display: flex;
		flex-flow: column;
		justify-content: center;
		align-items: center;
	}

	.portContact .contact p span.glyphicon {
		display: inline-block;
		font-size: 2.5rem;
		width: 56px;
		margin: 0 0 .5rem;
		padding: 0;
		height: 56px;
		line-height: 56px;
		background: rgba(30, 49, 53, 1);
		color: #fff;
		border-radius: 50%;
	}

	.portContact .partner {
		margin-top: 1.5rem;
		text-align: center;
	}

	.portContact .partner h2,
	.portContact .designer h2 {
		border-top: 1px solid rgba(1, 65, 78, 1);
		margin: 0;
		padding: .5rem;
		font-size: .85rem;
	}

	.portContact .partner h2 span,
	.portContact .designer h2 span {
		padding: 0;
		font-size: 1.15rem;
	}

	.portContact .partner h2 span small {
		color: #fff;
	}

	.portContact .partner figure {
		max-width: 30%;
	}

	.portContact .partner figure + p,
	.portContact .designer figure + div {
		max-width: 70%;
		padding-left: 1rem;
		line-height: 1.5;
		font-size: .9rem;
		text-align: left;
	}

	.flex_box {
		display: flex;
		padding: 1rem;
	}

	.portContact .designer {
		text-align: center;
	}

	.portContact .designer .flex_box {
		display: block;
		padding: 0;
	}

	.portContact .designer figure {
		max-width: 100%;
		max-height: 150px;
		overflow: hidden;
		margin-bottom: 0;
	}

	.portContact .designer figure + div {
		max-width: 100%;
		padding: 1rem;
		line-height: 2;
	}

	.portContact .partner .btn,
	.portContact .designer .btn {
		margin: 0 auto 1rem;
		background: rgba(30, 49, 53, 1);
		color: #fff;
		white-space: normal;
		position: static;
	}

	.portContact .partner h2 {
		background: #1e3135;
		color: #fff;
		border-color: #1e3135;
	}

	.portContact .partner .btn {
		margin: 0 1rem 1rem;
		position: relative;
		text-align: left;
		padding-left: 3rem;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		background: #1e3135;
		color: #fff;
		font-weight: 800;
	}

	.portContact .partner .btn span {
		position: absolute;
		top: 30%;
		left: .9rem;
	}

	.cate_cover {
		padding-top: 67px;
	}

	.cate_cover h2 {
		padding-bottom: .5rem;
		font-size: 1.25rem;
		letter-spacing: .08rem;
	}

	.cate_cover h2 span {
		display: block;
		font-size: 1.2rem;
		padding-top: .7rem;
		letter-spacing: .5rem;
	}

	.cover_lead {
		max-width: 100%;
		margin: 0 auto;
		padding: 2rem 0;
	}

	.cover_lead .lead_list {
		width: 80%;
		max-width: 90%;
	}

	.lead_list_item {
		font-size: 1rem;
		padding-bottom: 1rem;
	}

	.cover_lead .text {
		padding: 1rem 1rem 0 1rem;
		line-height: 1.7;
	}

	.cate_outer .col {
		max-width: 100%;
		padding: 1rem 0;
		margin: 0 auto;
		text-align: center;
	}

	.cover_lead .lead_list:before,
	.cover_lead .lead_list:after {
		content: "";
	}

	.cover_lead .lead_heading.heading {
		font-size: 1.4rem;
		text-align: center;
	}

	.cover_lead .lead_heading.heading:after {
		width: 170px;
	}

	.cate_outer .col figure {
		max-width: 100%;
		float: none;
		padding-right: 0;
		margin: 0 1rem 1rem 1rem;
	}

	.cate_outer .col p {
		text-align: left;
		padding: 0 1.5rem;
		line-height: 1.7;
	}

	.cate_outer .col .btn {
		min-height: 42px;
		max-width: 280px;
		width: auto;
		white-space: initial;
	}

	.contact.page_footer {
		margin: 1rem;
		width: 93%;
	}

	.contact.page_footer a:link {
		padding: 1rem .5rem;
	}

	.contact.page_footer h2 {
		font-size: 1rem;
		width: 25%;
	}

	.contact.page_footer h2 span {
		font-size: .8rem;
	}

	.contact.page_footer a h2 + div {
		width: 70%;
		line-height: 1.3;
		font-size: 1rem;
		text-align: left;
		margin-left: 28%;
	}

	footer {
		margin-top: 3rem;
	}

	footer ul {
		padding-bottom: 0;
		border-top: 1px solid #1e3135;
	}

	footer ul li {
		padding: .5rem 1rem;
		text-align: left;
		border-bottom: 1px dotted #1e3135;
	}

	footer ul li a:visited,
	footer ul li a:link {
		color: #1e3135;
	}

	footer copy {
		background: #fff;
		font-size: .8rem;
		display: block;
		color: #1e3135;
	}

	.page_top a {
		width: 42px;
		height: 42px;
		text-align: center;
	}

	.page .container {
		width: 100%;
		padding: 0 1em;
	}

	.outline_001 {
		margin-top: 0;
	}

	.outline h3 {
		font-size: 1.2rem;
	}

	.outline_002 p {
		line-height: 1.5;
	}

	footer copy {
		font-size: .85rem;
	}
	.access h3{
		padding: 0 1rem 1rem;
	}
	.access .cate_outer .col{
		padding: 0 1rem;
	}
	.map_iframe iframe{
		max-height: 300px;
	}


}


@media screen and (max-width:374px) {
	.panel .keyvisual_copy h3 {
		padding-left: 2.8rem;
	}

	.panel .keyvisual_copy h3 span:nth-child(2) {
		font-size: 16px;
	}
}

.slideout-menu {
	position: fixed;
	top: 0;
	bottom: 0;
	width: 256px;
	min-height: 100vh;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	z-index: 0;
	display: none;
}

.slideout-menu-left {
	left: 0;
}

.slideout-menu-right {
	right: 0;
}

.slideout-panel {
	position: relative;
	z-index: 1;
	will-change: transform;
	background-color: #FFF;
	min-height: 100vh;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
	overflow: hidden;
}

.slideout-open .slideout-menu {
	display: block;
}

@-webkit-keyframes pulse {
	from {
		opacity: 1.0;
	}

	to {
		opacity: 0.7;
	}
}

.blinking {
	-webkit-animation-name: pulse;
	-webkit-animation-duration: 0.8s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-direction: alternate;
	-webkit-animation-delay: 0s;
}