@charset "utf-8";
/* CSS Document */
/*body*/
body {
    /*font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif;*/
    font-family: 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    /*background-color: #e7ffff;*/
    background-color: #f5f5f5;
    background-image: url(../images/mizu-img-bg.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-attachment: fixed;
    font-size: 1.5em;
    line-height: 170%;
    font-weight: 300;
    margin: 0;
    padding: 0;
}

@media (min-width: 640px) {/*min-width: 640px　はじまり*/
body {
    font-size: 14px;
}
}
/*min-width: 640px　おわり*/
a:hover {
    color: #0787FD;
}
.page-header {
    background-color: #fcfeff;
    padding-top: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.page-header .logoset {
    float: left;
    max-width: 500px;
    font-size: 24px;
    /*padding-top: 0.25em;*/
    padding-bottom: 0.25em;
    padding-top: 0.25em;
    display: block;
}
.page-header .contactset {
    max-width: 220px;
    font-size: 14px;
    display: inline-block;
    position: relative;
    padding: 0.25em 1.5em;
    margin: 1em 1em 1em 0.5em;
    overflow: hidden;
    float: right;
    border: 1px solid #3c3232;
    border-radius: 4px;
}
.com-tel {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4em;
}
.com-tel:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon-tel.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
}
.com-time {
    line-height: 1.4em;
}

@media (min-width: 768px) {/*min-width: 768px　はじまり*/
body {
    font-size: 16px;
}
}/*min-width: 768px　おわり*/

/*ヘッダーロゴ*/
@media (min-width: 992px) {/*min-width: 992px　はじまり*/
.page-header {
    position: static;
}
.page-header .logoset {
    max-width: 450px;
    font-size: 24px;
    padding-top: 1em;
    padding-bottom: 1em;
    overflow: hidden;
}
}/*min-width: 992px　おわり*/
.page-header .logoset .com-logo {/*ASAMA会社ロゴ*/
    max-width: 8em;
    margin-right: 2%;
    float: none;
}
.page-header .logoset .com-logo img {
    width: 100%;
    height: auto;
}
.page-header .logoset .com-name {/*アサマ工業ロゴ*/
    max-width: 9em;
    float: none;
    display: none;
}
.page-header .logoset .com-name img {
    width: 100%;
    height: auto;
}

@media (min-width: 414px) {/*min-width: 414px　はじまり*/
.page-header .logoset .com-logo {
    width: 42%;
    height: auto;
    float: left;
}
.page-header .logoset .com-name {
    width: 58%;
    height: auto;
    float: left;
    display: block;
}
}/*min-width: 414px　おわり*/
/*メニュー100％*/
.g-nav {
    background-color: #3c3232;
    width: 100%;
    display: block;
}

@media (max-width: 991px) {/*max-width: 991px　はじまり*/
.g-nav {
    background-color: #fff;
    width: auto;
}
}/*min-width: 767px　おわり*/
/*navメニュー固定fixed*/
.page-header nav ul {
}
.page-header nav ul li {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.page-header nav .site-nav {
    /*padding-right: 60px;*/
    margin: 0;
    padding: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.page-header nav .site-nav li {
    color: white;
    position: relative;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-right: 1px solid #555;
}
.page-header nav .site-nav li:first-child {
    border-left: 1px solid #555;
}
.page-header nav .site-nav a {
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    overflow: hidden;
    color: #fff;
    margin: 0;
    transition: all .3s ease;
}
.page-header nav .site-nav li a:hover {
    color: #fff;
    background: #555;
}
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}
.page-header nav .site-nav a::after {
    position: absolute;
    left: 50%;
    content: '';
    width: 0;
    height: 2px;
    background-color: #27b0ff;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 49;
}
/*ヘッダーメニューカラー*/
/*guide*/
/*.page-header nav .site-nav li.menu-item-86 a::after {
    height: 2px;
    background-color: #00c4aa;
}*/
/*flow*/
/*.page-header nav .site-nav li.menu-item-85 a::after {
    height: 2px;
    background-color: #ff8571;
}*/
/*tech*/
/*.page-header nav .site-nav li.menu-item-84 a::after {
    height: 2px;
    background-color: #00b3dc;
}*/
/*contact*/
/*.page-header nav .site-nav li.menu-item-90 a::after {
    height: 2px;
    background-color: #ff92a3;
}*/
/*concept*/
/*.page-header nav .site-nav li.menu-item-87 a::after {
    height: 2px;
    background-color: #c0e05a;
}*/
/*contact*/
/*.page-header nav .site-nav li.menu-item-83 a::after {
    height: 2px;
    background-color: #ffb135;
}*/
/**/
	
.page-header nav .site-nav a::before {
    top: 0;
}
a::after {
    bottom: 0;
}
.page-header nav .site-nav a:hover::before, .page-header nav .site-nav a:hover::after {
    width: 100%;
}
/*.page-header nav .site-nav a:hover {
	background-color: #27b0ff;
}
.page-header nav .site-nav li.home a {
	background-image: url("../images/btn-icon-home.svg");
}
.page-header nav .site-nav li.company a {
	background-image: url("../images/btn-icon-company.svg");
}
.page-header nav .site-nav li.contact a {
	background-image: url("../images/btn-icon-mail.svg");
}
.page-header nav .site-nav li.sitemap a {
	background-image: url("../images/btn-icon-sitemap.svg");
}*/
/*.page-header nav .contents-nav {
	margin-top: 0.5em;
	display: block;
	clear: both;
	float: left;
	overflow: hidden;
}
.page-header nav .contents-nav li {
}
.page-header nav .contents-nav a {
	font-size: 14px;
	font-weight: 500;
	display: inline-block;
	padding: 0.15em 0.5em;
	margin-bottom: 0.75em;
	min-width: 5em;
	text-align: center;
}
.page-header nav .contents-nav a:hover {
	color: #27b0ff;
}
.page-header nav .contents-nav a {
	position: relative;
	display: inline-block;
	transition: .3s;
}*/

/*メニューボックス*/
.btn-toggleMenu-box {
    text-align: right;
}
/*メニュー*/
#btn-toggleMenu {
    width: 48px;
    height: 48px;
    font-size: 32px;
    line-height: 32px;
    padding-top: 4px;
    /*text-indent: -9999px;*/
    background-color: #eee;
    border-radius: 5px;
    border: 1px #aaa solid;
}
/*ドロップダウンメニュー*/
#menu-all-menu {
    position: relative;
    width: 100%;
    height: 48px;
    margin: 0 auto;
    -webkit-padding-start: 0px;/*padding-right: -10px;
	padding-left: -10px;*/
}
#menu-all-menu > li {
    float: left;
    /*height: 48px;*/
    line-height: 48px;
}
#menu-all-menu > li a {
    display: block;
    color: #fff;
}
#menu-all-menu:before, #menu-all-menu:after {
    content: " ";
    display: table;
}
#menu-all-menu:after {
    clear: both;
}
/*demo*/
#menu-all-menu > li.menu-item {
    position: relative;
    -webkit-transition: all 3s ease;
    transition: all .3s ease;
}
li.menu-item ul.sub-menu {
    position: absolute;
    top: 38px;
    width: 100%;
    background: #072A24;
    padding: 0;
    margin: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 50;
}
li.menu-item:hover ul.sub-menu {
    top: 48px;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
/*子メニュー*/
ul.sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}
ul.sub-menu li {
    border-top: 1px solid #555;
    border-left: none;
    border-right: none;
    border-bottom: none;
    width: 100%;
    display: block;
    overflow: hidden;
    padding: 0;
    margin: 0;
    float: left;
    line-height: 35px;
}

/*スマホドロップダウン*/
@media (max-width: 991px) {
.page-header .contactset {
    float: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0.25em 0.5em;
    display: block;
}
.com-time {
    display: none;
}
.page-header nav .site-nav li:first-child {
    border-left: none;
}
.page-header nav .site-nav {
    padding-right: 0px;
    margin: 0;
    padding: 0;
    display: block;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.page-header nav .site-nav li {
    width: 100%;
    color: white;
    position: relative;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    text-align: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-right: none;
    float: left;
    border-bottom: 1px dotted #ccc;/*height: 40px;*/
    text-indent: 2em;
}
.page-header nav .site-nav a {
    position: relative;
    display: block;
    font-size: 1em;
    font-weight: 500;
    text-align: left;
    overflow: hidden;
    color: #999;
    margin: 0;
    padding: 0.25em 0;
    -webkit-transition: all 3s ease;
    transition: all 3s ease;
    opacity: 1;
}
.page-header nav .site-nav li a:hover {
    color: #999;
    background: #fcfeff;
    z-index: 19;
    -webkit-transition: all 1s;
    transition: all 1s;
    opacity: 1;
}
.page-header nav .site-nav li a::before {
    display: inline-block;
    font-family: "FontAwesome", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
    content: "\f105";
    position: absolute;
    right: 7px;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    z-index: 50;
    opacity: 1;
}
#MobileMenu {
    position: fixed;
    z-index: 30;
    top: 48px;
    left: 0;
    width: 100%;
    overflow: hidden;
    background-color: #fcfeff;
    text-align: center;
    padding: 0 10px 20px 10px;
    margin-bottom: 1em;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-height: 280px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
#MobileMenu ul {
    opacity: 1;
    padding: 0;
    float: left;
    margin: 0;
    display: block;
    overflow: hidden;
}
#menu-all-menu {
    height: auto;
}
#menu-all-menu > li {
    float: left;
    line-height: 28px;
    opacity: 1;
}
#menu-all-menu > li a {
    display: block;
    color: #333;
}
#menu-all-menu > li a:hover {
    color: #2196F3;
}
#menu-all-menu > li.menu-item {
    position: static;
}
#menu-item-92 .sub-menu {
    display: none;
}
#menu-item-92:hover .sub-menu {
    display: block;
}
li.menu-item ul.sub-menu {
    visibility: visible;
    position: static;
    width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    display: block;
    -webkit-transition: all 3s ease;
    transition: all 3s ease;
}
li.menu-item:hover ul.sub-menu {
    visibility: visible;
    opacity: 1;
}
/*スマホメニュー*/
li.menu-item ul.sub-menu {
    background-color: #fcfeff;
    overflow: hidden;
    opacity: 1;
    -webkit-transition: all 3s ease;
    transition: all 3s ease;
}
li.menu-item ul.sub-menu li {
    color: #999;
    list-style: none;
    border-top: none;
    background-color: #fcfeff;
    float: left;
    padding: 0;
    margin: 0;
    /*line-height: normal;*/
    opacity: 1;
    /*height: 40px;*/
    -webkit-transition: all 3s ease;
    transition: all 3s ease;
    border-bottom: none;
    border-top: 1px dotted #ccc;
    text-indent: 3.5em;
    font-weight: 100;
}
/*スマホメニュー表示-ハンバーガーメニューボタン*/
#panel-btn {
    position: absolute;
    top: 4px;
    right: 5px;
    float: right;
    display: inline-block;
    /*position: relative;*/
    width: 40px;
    height: 40px;
    margin: 0.25em 0.5em 0.25em 0.25em;
    border-radius: 50%;
    background-color: #eee;
    border: 1px #aaa solid;
}
#panel-btn:hover {
    background: #eee;
}
#panel-btn .close {
    background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after {
    margin-top: 0;
}
#panel-btn .close:before {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}
.panel-btn-icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 3px;
    margin: -2px 0 0 -8px;
    background: #2196F3;
    transition: .3s ease;
}
.panel-btn-icon:before, .panel-btn-icon:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 3px;
    background: #2196F3;
    transition: .3s ease;
}
.panel-btn-icon:before {
    margin-top: -7px;
}
.panel-btn-icon:after {
    margin-top: 3px;
}
.close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    filter: alpha(opacity=50);
    opacity: .8;
}
}
/*スマホメニュー案*/
/*@media only screen and (max-width: 767px) {
.gnavi {
	display: none;
	float: none;
	width: 100%;
	height: auto;
	padding-top: 0;
	background: rgba(255, 255, 255, 0.9);
}
.gnavi ul {
	display: block;
}
.gnavi li {
	width: 100%;
	padding: 3px 0;
}
.gnavi li {
	display: block;
	height: auto;
	border-bottom: 1px dotted #ccc;
}
.gnavi li {
	display: table-cell;
	width: 15.5%;
	height: 90px;
	vertical-align: middle;
	text-align: center;
}
}*/
/*オープニング*/

#opening {
    overflow: hidden;
    background-color: #FFF;
}
#opening #opening-frame {
    max-width: 1150px;
    width: 100%;
    margin: -10px auto 0;
}
#opening ul {
    z-index: 10;
    -moz-box-shadow: 0 0 10px rgba(0,0,0,1) inset;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,1) inset;
    box-shadow: 0 0 10px rgba(0,0,0,1) inset;
    display: block;
    margin-top: 0px;
}
#opening ul li img {
    width: 100%;
    height: auto;
}
#opening ul li {
    opacity: 0.5;
    max-width: 1150px;
    z-index: 1;
}
#opening ul li.active {
    opacity: 1;
}
#opening .bx-wrapper {
    position: relative;
    padding: 0;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    border: none;
    background: #fff;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    margin-bottom: 0px;
}
#opening .bx-viewport {
    overflow: visible !important;
}
#opening .bx-controls .bx-controls-direction a {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    width: 32px;
    height: 32px;
    text-indent: -9999px;
    z-index: 29;
}
#opening .bx-controls .bx-pager {
    position: absolute;
    bottom: 10px;
    width: 100%;
}
.opening .bx-controls {
    margin: auto;
}
#opening ul li .open_text_l {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif;
    color: #fcfeff;
    font-size: 2em;
    position: absolute;
    top: 5em;
    left: 4em;
    line-height: 180%;
    font-weight: 600;
    text-shadow: black 1px 1px 10px, black -1px 1px 10px,  black 1px -1px 10px, black -1px -1px 10px;
}
#opening ul li .open_text_b {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif;
    color: #fcfeff;
    font-size: 2.7em;
    position: absolute;
    top: 3.5em;
    left: 2em;
    line-height: 180%;
    font-weight: 600;
    text-shadow: black 1px 1px 10px, black -1px 1px 10px,  black 1px -1px 10px, black -1px -1px 10px;
}
#opening ul li .open_text_r {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, sans-serif;
    color: #fcfeff;
    color: #fcfeff;
    font-size: 2em;
    position: absolute;
    top: 4em;
    right: 3em;
    line-height: 180%;
    font-weight: 550;
	text-shadow: #5db1d2 1px 1px 10px, #5db1d2 -1px 1px 10px,  #5db1d2 1px -1px 10px, #5db1d2 -1px -1px 10px;
}
#opening ul li .open_btn {
    position: absolute;
    bottom: 4em;
    left: 5em;
    font-size: 1.4em;
}

@media (max-width: 640px) {
#opening ul li .open_text_l {
    font-size: 1em;
    top: 2em;
    left: 4em;
    line-height: 180%;
    font-weight: 600;
}
#opening ul li .open_text_b {
    font-size: 1em;
    top: 2em;
    right: 4em;
    line-height: 180%;
    font-weight: 600;
}
#opening ul li .open_text_r {
    font-size: 1em;
    top: 2em;
    right: 3em;
    line-height: 180%;
    font-weight: 600;
}
#opening ul li .open_btn {
    position: absolute;
    bottom: 2em;
    left: 5em;
    font-size: 1.4em;
}
}
/*パンくずリスト*/
.crumbs {
    float: left;
    margin: 0.25em;
    padding: 0;
    font-size: 0.95em;
}
.crumbs li {
    display: inline;
}
.crumbs li i {
    position: relative;
    top: -1px;
    margin: 0 5px 0 6px;
    font-size: 0.75em;
}
.fa-arrow-right:before {
    content: "\f061";
}
.fa-angle-right:before {
    content: "\f105";
}
.fa-chevron-right:before {
    content: "\f045";
}
.fa-home:before {
    content: "\f015";
}
/*ニュース*/
#news-section {
    background-color: rgba(255,255,255,0.25);
    /*background-color: #e0f9ff;
	background-image: url(../images/bg-drop.png);*/
    background-position: top;
    padding-bottom: 3em;
}
.column-1 {
    margin-top: 3em;
    height: 330px;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    background-color: rgba(255,255,255,0.80);
}
.column-2 {
    margin-top: 3em;
    height: 160px;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    background-color: rgba(255,255,255,0.80);
}
.column-3 {
    margin-top: 10px;
    height: 160px;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    background-color: rgba(255,255,255,0.80);
}
.column-1 h3, .column-2 h3, .column-3 h3 {
    font-size: 14px;
    font-weight: bold;
    color: aliceblue;
    background-color: #015db2;
    position: relative;
    padding: 0.9em 0.5em;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.column-1 h3:before, .column-2 h3:before, .column-3 h3:before {
    content: "";
    width: 2em;
    height: 2em;
    display: inline-block;
    background-image: url(../images/icon-news.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -0.5em;
    margin-bottom: -0.5em;
    margin-right: 0.5em;
}
.column-1 h3:after, .column-2 h3:after, .column-3 h3:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #015db2;/**/
    position: absolute;
    bottom: -2em;
    left: 50%;
    margin-left: -1em
}
.column-1 h3 .en, .column-2 h3 .en, .column-3 h3 .en {
    margin-right: 0.5em;
    padding-right: 0.5em;
    border-right: 3px solid aliceblue;
    font-size: 1.2em;
}
.column-1.news h3:before, .column-2.news h3:before, .column-3.news h3:before {
    background-image: url(../images/icon-news.svg);
}
.column-1.guide h3:before, .column-2.guide h3:before, .column-3.guide h3:before {
    background-image: url(../images/icon-guide.svg);
}
.column-1.concept h3:before, .column-2.concept h3:before, .column-3.concept h3:before {
    background-image: url(../images/icon-concept.svg);
}
.column-1.contact h3:before, .column-2.contact h3:before, .column-3.contact h3:before {
    background-image: url(../images/icon-contact.svg);
}
.column-1 h3 ~div, .column-2 h3 ~div, .column-3 h3 ~div {
    font-size: 13px;
    line-height: 1.25em;
    margin-top: 1em;
    padding: 0.5em 1.2em;
    display: block;
    overflow: hidden;
}
/*ニュース一覧*/
.column-1.news dl, .column-2.news dl {
    margin: 0;
    font-size: 1em;
}
.column-1.news dl dt, .column-2.news dl dt {
    /*width: 6em;*/
    display: block;
    overflow: hidden;
    /*float: left;*/
    text-indent: 0.5em;
}
.column-1.news dl dd, .column-2.news dl dd {
    /*padding-left: 8em;*/
    border-bottom: 1px dotted #ccc;
    margin-bottom: 0.25em;
    padding-bottom: 0.25em;
    /*float: left;*/
    display: block;
    overflow: hidden;
    text-indent: 0.5em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.columu-1.guide img {
    width: 90%;
    text-align: center;
    margin: 0 auto;
}

@media (max-width: 640px) {
.column-1.news dl dd, .column-2.news dl dd {
    padding-left: 0;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}
}
/*サイドバー*/
#sidebar {
    padding: 0.75em 0.5em 1em 0.5em;
    margin: 1.5em 0;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 0 2px rgba(000,000,000,0.5);
    /*overflow: hidden;*/
    display: block;
    float: left;
    width: 100%;
}
#sidebar ul {
    padding: 0;
    margin: 0;
}
.widget {
    border-top: none;
}
.widget ul {
;/*list-style-position: inside;*/
}
.widget ul li {
    margin: 0.5em 0 0 0;
    padding: 0;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 13px;
    list-style: none;
    border-bottom: dotted #aaa 1px;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
}
.widget ul li a:before {
    content: "";
    width: 1em;
    border: 0.25em solid transparent;
    border-left-color: #0787FD;
    display: inline-block;
    margin: 0;
}
.nav-previous, .nav-next {
    font-family: 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    display: block;
    float: left;
    width: 46%;
    background: rgba(255, 255, 255, 0.7);
    text-align: center;
    padding: 0;
    margin: 2%;
    border-radius: 0.5em;
    box-shadow: 0 0 2px rgba(000,000,000,0.5);
}
/*ログアウト*/
.edit-link a {
    float: right;
    color: #333;
    font-weight: 600;
    font-size: 14px;
    background-color: #B3B3B3;
    border-radius: 5px;
    border-bottom: solid 2px #333;
    padding: 5px 15px;
    margin: 5px 0;
    overflow: hidden;
    clear: both;
    cursor: pointer;
}
/*ニュース*/
.news_time {
    border-bottom: dotted #aaa 1px;
    margin: 0;
    padding: 0;
    text-align: left;
    text-indent: 1em;
    font-weight: 600;
}
/*ニュースNEW*/
.news-new {
    color: #fff;
    font-size: 0.75em;
    background-color: crimson;
    border-radius: 0.5em;
    padding: 0 0.5em;
    margin: 0.25em;
    overflow: hidden;
    clear: both;
}
/*ニュース一覧へ*/
.news-more {
    text-align: right;
    padding: 0.25em;
    margin: 0.25em;
    overflow: hidden;
    clear: both;
}
/*コンタクトフォーム*/
.form span.required {
    background: #c9171e;
    padding: 3px 4px;
    font-size: 12px;
    margin: 0 0 0 10px;
    line-height: 12px;
    color: #FFFFFF;
    border-radius: 3px;
}
.form td, .form th {
    border-style: none;
    padding: 15px;
    margin: 0 auto 0 0;
    vertical-align: top;
    width: auto;
}
.form th {
    padding-right: 20px;
    width: 25%;
    min-width: 90px;
    text-align: left;
    font-weight: 600;
}
.form td span {
    font-weight: normal;
}
::-webkit-input-placeholder {
font-family: 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}
::-moz-placeholder {
font-family: 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}
::-ms-input-placeholder {
font-family: 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}
.wpcf7-mail-sent-ok {
    display: none !important;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border: 2px solid #c9171e;
    background: rgba(255, 255, 255, 0.7);
    background-image: none;
    box-shadow: 0 0 2px rgba(000,000,000,0.3);
    line-height: 180%;
    padding: 1em 2em;
}
span.wpcf7-not-valid-tip {
    color: #c9171e;
}

@media (max-width: 640px) {
.form td, .form th {
    padding: 5px;
    display: block;
    width: 100%;
}
}
/*コンセプト/コンタクト*/
.column-1.concept, .column-1.contact, .column-1.guide, .column-1.news {
    padding-bottom: 5em;
    position: relative;
}
.column-1.concept .btn-box, .column-1.contact .btn-box, .column-1.guide .btn-box, .column-1.news .btn-box {
    text-align: center;
    position: absolute;
    bottom: 1.0em;
    left: 0;
    width: 100%;
}
/*TOPコンセプトBTN黄緑*/
/*.column-1.concept .btn-box a {
    background-color: #c0e05a;
    border: none;
}*/
/*TOPコンタクトBTNピンク*/
/*.column-1.contact .btn-box a {
    background-color: #ff92a3;
    border: none;
}*/
/*.column-1 .btn-box a:hover {
    color: #444;
}*/
.column-1 .btn-box a:active {
    color: #fff;
}
/*.btn-primary */
.btn-primary {
    color: #fff;
    background-color: #000000;
    border-color: #151515;
}
.btn-primary:hover {
    color: #fff;
    background-color: #555555;
    border-color: #555555;
}
/*コンセプト*/
.column-1.concept, .column-1.guide {
    height: 330px;
}
.column-1.concept p, .column-1.guide p {
    margin: 0 0.5em;
}
.column-1.concept p img, .column-1.guide p img {
    margin-top: 1em;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    display: block;
}
/*コンタクト*/
.column-1.contact {
}
.column-1.contact h4 {
    font-size: 14px;
    line-height: 180%;
    margin: 1.5em 1em;
}
.column-1.contact ul {
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    overflow: hidden;
}
.column-1.contact ul li {
    margin-bottom: 0.5em;
}
.column-1.contact ul li.tel {
    font-size: 1.75em;
    font-weight: 800;
    padding-bottom: 0.15em;
    margin-bottom: 1em;
}
.column-1.contact ul li.tel:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon-tel.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
}
#contents-section {
    background-color: rgba(225,225,225,0.75);
    padding-bottom: 1em;
}
#contents-section h4 {
    font-size: 1.6em;
    margin: 1.0em auto;
    text-align: center;
}
/*スライドメニューh4*/
#contents-section h4 span {
    display: block;
    font-size: 2em;
    line-height: 1;
    margin-bottom: 0.25em;
}
#contents-section h4 span.en {
    font-size: 2em;
    font-weight: 900;
    color: #888;
}
#contents-section h4 span.en em {
    font-weight: 300;
    font-style: normal;
    color: #fff;
    text-shadow: 0 0 3px rgba(0,0,0,0.25);
}
/**/
.bx-wrapper {
    position: relative;
    margin-bottom: 60px;
    padding: 0;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -moz-box-shadow: 0 0 0px transparent;
    -webkit-box-shadow: 0 0 0px transparent;
    box-shadow: 0 0 0px transparent;
    border: 5px solid transparent;
}
.bx-viewport {
    height: 400px;
}
.slider {
}
.slider li {
    position: relative;
    margin: 0;
    cursor: pointer;
}
.slider li h5 {
    font-size: 1.0em;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    padding: 0.5em;
    background-color: #444;
    color: aliceblue;
    min-width: 5em;
    text-align: center;
    box-shadow: 0 0 3px rgba(0,0,0,0.25);
    z-index: 100;
}
.slider li .btn-box {
    font-weight: 700;
    display: block;
    position: absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
}
.slider li p {
    font-size: 13px;
    line-height: 1.25em;
    padding: 0.5em;
    margin: 0.75em 0.75em 3.5em 0.75em;
}
.slider li p .img {
    display: block;
    margin: 0 0 0.5em;
    overflow: hidden;
}
/*.slider li p .img img {
    border: 7px solid #00c4aa;
    box-sizing: border-box;
    box-shadow: 0 0 5px rgba(0,0,0,0.25);
    margin-top: -2px;
    margin-left: -4px;
}
.slider li.guide p img {
    border: 7px solid #00c4aa;
}
.slider li.flow p img {
    border: 7px solid #ff8571;
}
.slider li.tech p img {
    border: 7px solid #00b3dc;
}
.slider li.step p img {
    border: 7px solid #ffb135;
}
.slider li.relation p img {
    border: 7px solid #35a2ff;
}*/
/* Zoom In #1 */
.slider li p .img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.slider li p .img:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

@media (max-width: 640px) {
#contents-section h4 {
    font-size: 1.4em;
    margin: 1em auto;
}
#contents-section h4 span {
    display: none;
}
.slider li h5 {
    font-size: 0.95em;
    top: 1em;
}
.slider li p {
    font-size: 12px;
}
.slider li .btn-01 {
    font-size: 12px;
    padding: 6px;
}
}
/*
#00c4aa;
#ff8571;
#00b3dc;
#ffb135;
#35a2ff;
*/

/*　button-01　*/
.btn-01 {
    background-color: transparent;
    color: #fff;
    transition: .6s all;
    position: relative;
    border: 3px solid #015db2;
}
.btn-01:hover {
    color: #444;
}
.btn-01::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: .3s all;
    transform-origin: 50% 50%;
    z-index: -1;
    background-color: #015db2;
}
.btn-01::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    position: absolute;
    left: 0;
    top: 0;
    transition: .3s all;
    transform: scale(0);
    transform-origin: 50% 50%;
    opacity: 0;
    z-index: -1;
}
.btn-01:hover::after {
    transform: scale(1);
    opacity: 1;
}
/*guideグリーン*/
/*.slider li.guide .btn-01 {
    border: 3px solid #00c4aa;
}
.slider li.guide .btn-01::before {
    background-color: #00c4aa;
}*/
/*flowピンク*/
/*.slider li.flow .btn-01 {
    border: 3px solid #ff8571;
}
.slider li.flow .btn-01::before {
    background-color: #ff8571;
}*/
/*tech水色*/
/*.slider li.tech .btn-01 {
    border: 3px solid #00b3dc;
}
.slider li.tech .btn-01::before {
    background-color: #00b3dc;
}*/
/*step黄色*/
/*.slider li.step .btn-01 {
    border: 3px solid #ffb135;
}
.slider li.step .btn-01::before {
    background-color: #ffb135;
}*/
/*relation水色*/
/*.slider li.relation .btn-01 {
    border: 3px solid #35a2ff;
}
.slider li.relation .btn-01::before {
    background-color: #35a2ff;
}*/
/*あゆみ年表*/
#cd-timeline {
    position: relative;
    padding: 2em 0;
    margin-top: 2em;
    margin-bottom: 2em;
}
#cd-timeline::before {
    display: inherit;
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    margin-left: -2px;
    height: 100%;
    width: 6px;
    background: #c1c1c1;
}
.timeline-box {
    display: block;
    width: 100%;
    margin-bottom: 1em;
    overflow: hidden;
    border-bottom: dotted 2px #c1c1c1;
}
.timeline-left {
    font-size: 0.9em;
    box-sizing: border-box;
    /*float: left;*/
    text-align: left;
    position: relative;
    padding: 1em;
    margin: 0 2% 1em 12em;
    /*width: 43%;*/
    height: 100%;
    background-color: white;
    border-radius: 0.25em;
    box-shadow: 0 3px 0 #c1c1c1;
    vertical-align: middle;
}
.timeline-left::before {
    content: '';
    position: absolute;
    /*top: 16px;*/
    right: 100%;
    height: 0;
    width: 0;
    border: 10px solid transparent;
    border-right: 10px solid white;
}
.timeline-right {
    font-size: 0.9em;
    box-sizing: border-box;
    float: right;
    text-align: left;
    position: relative;
    padding: 1em;
    margin: 0 2% 1em 2%;
    width: 43%;
    height: 100%;
    background-color: white;
    border-radius: 0.25em;
    box-shadow: 0 3px 0 #c1c1c1;
    vertical-align: middle;
}
.timeline-left p, .timeline-right p {
    margin: 0;
    line-height: 1.4;
    text-align: left;
}
.timeline-left p .data {
    margin: 0 1em 0 0;
    font-weight: 800;
}
.timeline-right::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 100%;
    height: 0;
    width: 0;
    border: 10px solid transparent;
    border-right: 10px solid white;
}
.timeline-right ul {
    padding: 0 0 0 1.5em;
    margin: 0;
}
.timeline-right ul li {
    margin-bottom: 0.25em;
    text-indent: -1em;
    line-height: 1.4;
    list-style: disc;
    list-style-position: inside;
}
.timeline-data-box {
    overflow: hidden;
    float: left;
    padding: 0;
    margin: 0;
    height: 100%;
    display: -webkit-flex;
    vertical-align: middle;
}
.cd-timeline-img {
    color: white;
    font-size: 0.75em;
    line-height: 1.2em;
    padding: 1em 0 0 0;
    text-align: center;
    position: absolute;
    width: 60px;
    height: 60px;
    left: 10%;
    border-radius: 50%;
    margin-left: -30px;
    background: #e30045;
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    box-shadow: 0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px #c1c1c1;
}
.cd-timeline-img.blue {
    background: #2458a4;
}
.cd-timeline-img.green {
    background: #41ad61;
}
.cd-timeline-img.cobalt {
    background: #039ab0;
}
.cd-timeline-img.yellow {
    background: #fcc900;
}

@media (max-width: 640px) {
.timeline-right, .timeline-left {
    font-size: 0.75em;
    padding: 0.5em;
    margin: 0 2% 1em 10em;/*width: 38%;*/
}
}
/**/
ul.detail-box {
    display: block;
    overflow: hidden;
    margin: 0 1.5em 1em 1.5em;
    padding: 0;
    background: #fff;
    box-shadow: 0 0 2px rgba(000,000,000,0.3);
}
li.detail {
    /*width: 24.5%;*/
    margin: 0;
    height: 150px;
    list-style: none;
    position: relative;
    display: block;
    background: #fff;
    padding: 0;
    box-sizing: border-box;
}
li.detail:after {
    /*background: #188dc8;*/
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    z-index: 9;
    -moz-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    -o-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    transition: all .3s cubic-bezier(.165, .84, .44, 1);
    box-sizing: border-box;
}
li.detail h3 {
    font-size: 1.2em;
    padding: 1em 0.5em 0;
}
li.detail p {
    padding: 0 0.5em;
    font-size: 0.9em;
    line-height: 1.2;
    text-align: center;
}
li.detail:nth-child(even) {
    border-left: 1px solid #ccc;
}

@media (min-width: 992px) {
li.detail:nth-child(n+2) {
    border-left: 1px solid #ccc;
}
}
.blue h3 {
    color: #188dc8;
}
li.blue:after {
    background: #188dc8;
}
.pink h3 {
    color: #f77777;
}
li.pink:after {
    background: #f77777;
}
.green h3 {
    color: #1abc9c;
}
li.green:after {
    background: #1abc9c;
}
.yellow h3 {
    color: #ffc400;
    ;
}
li.yellow:after {
    background: #ffc400;
    ;
}
/*フッター*/
.page-footer .com-line, .page-footer .copyright-line {
    color: aliceblue;
    background-color: #0075c1;
}
.page-footer .nav-line {
    color: aliceblue;
    background-color: #151515;
}
.page-footer .footer-nav {
}
.page-footer .footer-nav ul, .page-footer .footer-nav ul li {
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.page-footer .footer-nav ul {
    overflow: hidden;
    padding: 2em 0.25em;
    margin-right: 5em;
    text-align: left;
    float: left;
    display: block;
}
.page-footer .footer-nav ul li {
    /*display: inline-block;*/
	/*margin-left: 0.5em;*/
/*	margin-right: 0.5em;*/
	/*padding: 0 0.25em;*/

    overflow: hidden;
    display: block;
    line-height: 1.5em;
}
.page-footer .footer-nav ul li a:hover {
    color: #A7A7A7;
}
.page-footer .footer-nav ul li a {
    /*border-left: 1px solid #FFFFFF;*/
    padding: 0 0.25em;
    margin: 0;
    font-size: 13px;
    overflow: hidden;/*display: block;*/
    color: snow;
}
.page-footer .com-line {
    background-color: #3c3232;
    padding: 0.75em 0;
}
.page-footer .copyright-line {
    background-color: #151515;
    padding: 1em 0;
}
.page-footer .copyright {
    font-size: 12px;
    padding: 0.5em 0.25em;
}

@media (max-width: 640px) {
.page-footer .footer-nav ul {
    /*width: 100%;*/
    padding: 0;
    margin: 0;
    display: block;
    float: none;
}
.page-footer .footer-nav ul li {
    width: 50%;
    padding: 0.75em 0;
    margin: 0;
    display: block;
    vertical-align: middle;
    text-align: center;
    float: left;
    border-bottom: 1px solid #3c3232;
    border-top: 1px solid #3c3232;
    cursor: pointer;
}
.page-footer .footer-nav ul li:nth-child(odd) {
    border-right: 2px solid #3c3232;
}
.page-footer .footer-nav ul li:hover {
    background-color: #3c3232;
}
.page-footer .footer-nav ul li a {
    border-left: none;
    color: white;
    display: block;
    font-size: 12px;
}
}
/*頁トップへ戻る*/
.pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 10000;
}
.pagetop a {
    font-size: 1em;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #fff;
    display: block;
    width: 70px;
    height: 70px;
    padding: 20px 0;
    line-height: 1;
    border-radius: 50px;
    border: 1px solid #ffa726;
    background: #ffa726;
    position: relative;
}
.pagetop a::after {
    content: "";
    display: block;
    width: 68px;
    height: 68px;
    border: 0px solid #fff;
    border-radius: 50px;
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    opacity: 0;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
}
.pagetop a:hover::after {
    opacity: 1;
    border-width: 7px;
}
/*メイン*/
main {
}
main section.color {
    padding: 1.5em 0;
    /*background-color: rgba(140,213,255,0.75);*/
    background-color: rgba(255,255,255,0.55);
}
main section.color:nth-child(even) {
    padding: 1.5em 0;
    /*background-color: rgba(224,249,255,0.75);*/
    background-color: rgba(230,230,230,0.75);
}
main section.color-sec {
    padding: 1.5em 0;
    background-color: rgba(255,247,200,0.75);
}
main section.color-fir {
    padding: 1.5em 0;
    background-color: none;
}
main section.color-thi {
    padding: 1.5em 0;
    background-color: rgba(255,255,255,0.55);/*background-color: rgba(140,213,255,0.75);*/
}
main .main-header {
    overflow: hidden;
}
main .main-header .warp {
    /*background-image: url(../images/img-about.jpg);*/
    background-size: cover;
    margin: 0 -10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5) inset;
    position: relative;
}
/*h2画像*/
main .main-header .warp.company {
    background-image: url(../images/img-company.jpg);
}
main .main-header .warp.tech {
    background-image: url(../images/img-01.jpg?0131);
}
main .main-header .warp.step {
    background-image: url(../images/img-02.jpg);
}
main .main-header .warp.relation {
    background-image: url(../images/img-06.jpg);
}
main .main-header .warp.privacy {
    background-image: url(../images/img-03.jpg);
}
main .main-header .warp.guide {
    background-image: url(../images/img-04.jpg);
}
main .main-header .warp.flow {
    background-image: url(../images/img-05.jpg);
}
main .main-header .warp.concept {
    background-image: url(../images/img-07.jpg);
}
main .main-header .warp.sekou {
    background-image: url(../images/img-08.jpg);
}
main .main-header .warp.news {
    background-image: url(../images/img-09.jpg);
}
main .main-header .warp.contact {
    background-image: url(../images/img-12.jpg);
}
main .main-header .warp.estimate {
    background-image: url(../images/img-13.jpg);
}
main .main-header .warp.sitemap {
    background-image: url(../images/img-11.jpg);
}
main .main-header .warp.lineup {
    background-image: url(../images/img-15.jpg);
}
main .main-header .warp:before {
    content: "";
    background-image: url(../images/opening-img-mask.png);
    background-repeat: repeat;
    position: absolute;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0;
}
main#company .main-header .warp {
    background-image: url(../images/img-about.jpg);
}
main .main-header h2 {
    font-size: 1.4em;
    padding: 1em 0 1em 1em;
    z-index: 2;
    position: relative;
    color: #333;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}

@media (max-width: 640px) {
main .main-header h2 {
    font-size: 1em;
}
}
main .main-header h2:before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    background-image: url("../images/btn-icon-company.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -0.25em;
    margin-bottom: -0.25em;
    margin-right: 0.5em;
}
main .main-header .company h2:before {
    background-image: url("../images/btn-icon-company.svg");
}
main .main-header .contact h2:before {
    background-image: url("../images/btn-icon-contact.svg");
}
main .main-header .sitemap h2:before {
    background-image: url("../images/btn-icon-sitemap.svg");
}
main .main-header .concept h2:before {
    background-image: url("../images/btn-icon-concept.svg");
}
main .main-header .news h2:before {
    background-image: url("../images/btn-icon-news.svg");
}
main .main-header .step h2:before {
    background-image: url("../images/btn-icon-step.svg");
}
main .main-header .guide h2:before {
    background-image: url("../images/btn-icon-guide.svg");
}
main .main-header .tech h2:before {
    background-image: url("../images/btn-icon-tech.svg");
}
main .main-header .privacy h2:before {
    background-image: url("../images/btn-icon-privacy.svg");
}
main .main-header .guide h2:before {
    background-image: url("../images/btn-icon-guide.svg");
}
main .main-header .relation h2:before {
    background-image: url("../images/btn-icon-relation.svg");
}
main .main-header .flow h2:before {
    background-image: url("../images/btn-icon-flow.svg");
}
main .main-header .sekou h2:before {
    background-image: url("../images/btn-icon-sekou.svg");
}
main .main-header .lineup h2:before {
    background-image: url("../images/btn-icon-lineup.svg");
}
main .main-header h2 .en {
    margin-right: 0.5em;
    padding-right: 0.5em;
    border-right: 3px solid #333;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
main .main-header h2 .bo {
    /*vertical-align: middle;*/
    font-size: 1em;
}
main h3 {
    text-align: center;
    padding: 1em 0;
    color: #015db2;
    position: relative;
    z-index: 1;/*white-space: nowrap;*//*text-shadow: 3px 0px 0px #FFF,-3px -0px 0px #FFF;*//*background-image: url(../images/color-dot.svg);
	background-position: center center;
	background-repeat: repeat-x;
	background-size: 0.5em 0.5em;*/
}
main h3.color-dot {
    background-image: url(../images/color-dot.svg);
    background-size: 0.5em 0.5em;
}
main h3.green-flower {
    background-image: url(../images/green-flower.svg);
    background-size: auto 0.5em;
}
main h3.blue-flower {
    background-image: url(../images/blue-flower.svg);
    background-size: auto 0.5em;
}
main h3.blue-line {
    background-image: url(../images/blue-line.svg);
    background-size: auto 0.5em;
}
main h3.line-wave {
    background-image: url(../images/line-wave.svg);
    background-size: auto 0.5em;
}
main h3.bottom-line {
    border-bottom: solid 2px;
    padding: 0.5em 0.25em;
    margin-bottom: 0.5em;
    border-color: #0075c1;
    text-shadow: none;
    background-image: none;
}
main h3.com {
    font-size: 1.2em;
    font-weight: bold;
    color: aliceblue;
    background-color: #015db2;
    position: relative;
    padding: 0.9em 0.5em;
    display: block;
    /*white-space: nowrap;*/
    text-overflow: ellipsis;
    background-image: none;
    letter-spacing: 0em;
    word-wrap: break-word;
}
/*main h3.com.relation {
    background-color: #35a2ff;
}
main h3.com.guide {
    background-color: #00c4aa;
}
main h3.com.flow {
    background-color: #ff8571;
}
main h3.com.concept {
    background-color: #c0e05a;
}
main h3.com.tech {
    background-color: #00b3dc;
}
main h3.com.step {
    background-color: #ffb135;
}
main h3.com.contact {
    background-color: #ff92a3;
}*/
main h3.com:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #015db2;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}

/*main h3.com.relation:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #35a2ff;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.guide:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #00c4aa;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.flow:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #ff8571;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.concept:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #c0e05a;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.tech:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #00b3dc;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.step:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #ffb135;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}
main h3.com.contact:after {
    content: "";
    border: 1em solid transparent;
    border-top-color: #ff92a3;
    position: absolute;
    bottom: -1.5em;
    left: 50%;
    margin-left: -1em;
}*/

@media (min-width: 640px) {
main .main-header h2 {
    font-size: 1.4em;
}
main .main-header h2 .bo {
    /*vertical-align: middle;*/
    font-size: 1.4em;
}
main h3.com {
    font-size: 1.4em;
    font-weight: bold;
    color: aliceblue;
    background-color: #015db2;
    position: relative;
    padding: 0.9em 0.5em;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    background-image: none;
    letter-spacing: 3px;
}
}
/**/
main h3 .str {
    display: inline-block;
    padding: 0.25em 0.5em;
    background-color: rgb(140,213,255);
    box-shadow: 0 0 10px 10px rgb(140,213,255);
    border-radius: 1em;
}
main .color:nth-child(even) h3 .str {
    background-color: rgb(224,249,255);
    box-shadow: 0 0 20px 10px rgb(224,249,255);
}
main h4.bottom-line {
    font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
    font-size: 1.4em;
    border-bottom: solid 2px;
    padding: 2em 0.25em;
    margin-bottom: 0.5em;
    border-color: #0075c1;
    line-height: 1.4em;
    text-shadow: none;
    background-image: none;
}
main h4.title-box {
    font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
    font-size: 1em;
    position: relative;
    border: none;
    padding: 1em;
    margin: 1em 0;
    border-color: #0075c1;
    line-height: 1.4em;
    text-shadow: none;
    background: rgba(255, 255, 255, 0.7);
    background-image: none;
    box-shadow: 0 0 2px rgba(000,000,000,0.3);
    overflow: hidden;
}
main h4.title-box .d-img {
    display: none;
}
main h4.title-box .d-img img {
    box-sizing: border-box;
    box-shadow: 0 0 5px rgba(0,0,0,0.25);
}
main article .entry-content {
    font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
    font-size: 1em;
    position: relative;
    border: none;
    padding: 1em;
    margin: 1em 0;
    border-color: #0075c1;
    line-height: 1.4em;
    text-shadow: none;
    background: rgba(255, 255, 255, 0.7);
    background-image: none;
}

@media (min-width: 640px) {
main h4.title-box {
    font-size: 1.4em;
    padding: 2em 2em 2em 22%;
}
main h4.title-box .d-img {
    position: absolute;
    display: block;
    width: 20%;
    overflow: hidden;
    top: 0px;
    left: 0px;
}
}

@media (max-width: 640px) {
main h4.title-box {
    background: rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(000,000,000,0);
}
main h4.title-box br {
    display: none;
}
}
/**/
    /*----- フェードイン -----*/
.inviewfadeIn {
    opacity: 0;
    transition: .8s;
}
.fadeIn {
    opacity: 1.0;
}
/*----- 上へスライド -----*/
.inviewUp {
    transform: translate(0, 40px);
    -webkit-transform: translate(0, 40px);
    transition: .8s;
}
.Up {
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}
/*----- ズームイン -----*/
.inviewzoomIn {
    transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
    transition: .8s;
}
.zoomIn {
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
}
/*----- フェードインしながら上へスライド -----*/
.inviewfadeInUp {
    opacity: 0;
    transform: translate(0, 60px);
    -webkit-transform: translate(0, 60px);
    transition: .8s;
}
.fadeInUp {
    opacity: 1.0;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

/**/
@media (min-width: 780px) {
main h4.title-box {
    font-size: 1.4em;
    padding: 2em 2em 2em 16%;
}
main h4.title-box .d-img {
    width: 14%;
}
}
/*施工事例box*/
.list-entry {
    /*	float: left;*/
    margin: 1.5em 0 0 0;
    padding: 0 0.5em;/*	overflow: hidden;
	display: block;
	min-height: none;
	position: static;*/
}
/*施工事例box*/
.list-entry-box {
    position: relative;
    background: #fcfeff;
    padding: 0;
    margin-bottom: 0.25em;
    box-shadow: 0 0 2px rgba(000,000,000,0.25);/*cursor: pointer;*/
}
.list-entry-box img {
    width: 100%;
}
.list-entry-comment {
    margin: 0.5em;
    padding: 0;
    font-size: 0.95em;
    line-height: normal;
}
.list-entry-comment p {
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    text-align: left;
}
.list-category {
    font-size: 0.95em;
    overflow: hidden;
    /*display: block;*/
    margin: 0 0.5em;
}
/*施工事例一覧h4見出し*/
main h4.list-entry-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    font-size: 1em;
    color: #fcfeff;
    margin: 0;
    padding: 0.5em 0.5em;
    text-decoration: none;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: rgba(0,0,0,0.3);
}
main h4.list-entry-content a {
    color: #fcfeff;
}
/*施工事例一覧日付*/
.list-news_time {
    margin: 0.25em;
    padding: 0;
    text-align: left;
    text-indent: 0.25em;
    font-weight: 400;
    color: #bf0000;
    line-height: 1.5;
}

/*施工事例一覧img*/
/*.list-entry-comment p{
    margin: 0.25em;
    padding: 0;
    display: block;
    overflow: hidden;
    float: left;
}*/

@media (min-width: 420px) {
.list-entry-comment img {
    height: 12em
}
}

@media (min-width: 768px) {
.list-entry-comment img {
    height: 14em
}
}

@media (min-width: 992px) {
.list-entry-comment img {
    height: 15em
}
}
/*詳細見出し*/
main h4.entry-content {
    background: #f4f4f4;
    background: rgba(255, 255, 255, 0.7);
    /*border-left: solid 15px #333;*/
    font-size: 1.4em;
    margin: 1em 0;
    padding: 0.75em 0.75em 0.75em 2em;
    position: relative;
    line-height: 1.2em;
    /*letter-spacing: -0.05em;*/
    box-shadow: 0 0 2px rgba(000,000,000,0.3);
    text-decoration: none;
    letter-spacing: 0px;
}

@media (min-width: 768px) {
main h4.entry-content {
    letter-spacing: 3px;
}
}
main h4.entry-content a {
    text-decoration: none;
    color: #007acc;
}
main h4.entry-content:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: #015db2;
    width: 15px;
    content: '';
}
/*h4各頁右側カラー*/
/*main h4.entry-content.relation:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: #35a2ff;
    width: 15px;
    content: '';
}
main h4.entry-content.guide:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #00c4aa;
    width: 15px;
    content: '';
}
main h4.entry-content.flow:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #ff8571;
    width: 15px;
    content: '';
}
main h4.entry-content.concept:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #c0e05a;
    width: 15px;
    content: '';
}
main h4.entry-content.tech:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #00b3dc;
    width: 15px;
    content: '';
}
main h4.entry-content.step:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #ffb135;
    width: 15px;
    content: '';
}
main h4.entry-content.contact:before {
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #ff92a3;
    width: 15px;
    content: '';
}*/
/**/
main p {
    margin: 1em 0 1.5em 0;
    /*font-size: 1.2em;*/
    line-height: 2;
    text-align: center;
}

@media (max-width: 768px) {
main h4.entry-content {
    font-size: 1.2em;
}
main p {
    text-align: left;
    line-height: 2;
}
main p img {
    display: block;
    overflow: hidden;
    clear: both;
    float: none;
}
.alignleft {
    float: none;
    margin-left: auto;
    margin-right: auto;
}
main p br {
    display: none;
}
/*個人情報お問い合わせ
*/
.p_contact {
}
.p_contact br {
    display: block;
}
.map-ad {
    text-align: center;
    font-size: 0.75em;
}
}
/**/
table.rela {
    width: 100%;
    border-collapse: collapse;
}
table.rela th {
    border-bottom: #e3e3e3 1px solid;
    border-left: #e3e3e3 1px solid;
    text-align: left;
    background: #f7f7f7;
    padding: 10px;
    font-weight: normal;
}
table.rela td.t_top {
    border-top: #e3e3e3 1px solid;
}
table.rela td {
    border-bottom: #e3e3e3 1px solid;
    border-left: #e3e3e3 1px solid;
    border-right: #e3e3e3 1px solid;
    text-align: left;
    padding: 10px;
    text-indent: 1em;
}
table.rela tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.2);
}
table.rela tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.5);
}

@media (max-width: 768px) {
table.rela {
    font-size: 0.75em;
}
table.rela td {
    text-align: top;
    padding: 3px;
    text-indent: 0;
    line-height: 1.4;
}
}
/*会社概要*/
ol {
    padding: 0 1em;
    margin: 1.5em 0;
    counter-reset: counter-name;
}
ol li {
    margin: 0.5em 0;
    list-style: none;
    position: relative;
    padding-left: 25px;
    line-height: 1.4;
}
ol li:before {
    counter-increment: counter-name;
    content: counter(counter-name) ".";
    color: #015db2;
    position: absolute;
    font-weight: 600;
    left: 0;
}
ol li p {
    text-align: left;
}
ol li ul {
    margin-bottom: 1em;
}
ol li ul li {
    list-style: circle;
}
ol li ul li:before {
    display: none;
}
/*会社概要　本店支店アクセス*/
ul.map-box {
    text-align: center;
    padding: 0;
    margin: 1em auto;
    display: block;
    overflow: hidden;
}
ul.map-box li.map-detail {
    width: 155px;
    height: 155px;
    margin: 0.25em;
    /*padding: 0.25em;*/
    list-style: none;
    display: inline-block;
    overflow: hidden;
    box-shadow: 0 0 2px rgba(000,000,000,0.3);
}
ul.map-box li a {
    position: relative;
    display: block;
    background: #fff;
    padding: 20px 0 30px;
    height: 100%;
}
ul.map-box li a::before {
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
}
ul.map-box li a:hover::before {
filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=1);
    opacity: 1;
}
ul.map-box li a.honsya::before {
    background: url(../images/icon-access-white.svg) no-repeat center;
    background-size: cover;
}
ul.map-box li a::before {
    content: "";
    position: absolute;
    bottom: 20%;
    left: 50%;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    z-index: 9999;
    -moz-transition: all .2s cubic-bezier(.175, .885, .32, 1.275);
    -o-transition: all .2s cubic-bezier(.175, .885, .32, 1.275);
    -webkit-transition: all .2s cubic-bezier(.175, .885, .32, 1.275);
    transition: all .2s cubic-bezier(.175, .885, .32, 1.275);
}
ul.map-box li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    z-index: 100;
    -moz-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    -o-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    transition: all .3s cubic-bezier(.165, .84, .44, 1);
}
ul.map-box li h3.honsya {
    font-size: 1.2em;
    color: #188dc8;
    margin: 0 0 0.25em 0;
    padding: 0;
}
li a.director::after {
    background: #188dc8;
}
li a.honsya::after {
    background: #188dc8;
}
ul.map-box li a:hover::after {
    height: 100%
}
ul.map-box li a:hover h3 {
    position: relative;
    z-index: 10000;
    color: #fff!important
}
ul.map-box p {
    font-size: 0.75em;
}
.map-ad {
    text-align: center;
    font-size: 0.8em;
    line-height: 1.4;
}
/*サイトマップ*/
#sitemap_list {
    list-style: none;
    magin: 0;
    padding: 0 0 1.5em 0;
}
#sitemap_list li {
    list-style: none;
}
#sitemap_list .page_item a, #sitemap_list .cat-item a {
    margin: 0;
    list-style: none;
    padding: 0.25em 0.5em;
    border-bottom: 1px dotted #999;
    display: block;
    background-image: none;
}
#sitemap_list .cat-item {
    margin: 0 0 1.5em 0;
}
#sitemap_list .cat-item, #sitemap_list .page_item {
    font-weight: 600;
}
#sitemap_list .post-item {
    font-weight: normal;
}
#sitemap_list .page_item a:before, #sitemap_list .cat-item a:before {
    content: "";
    width: 1em;
    border: 0.5em solid transparent;
    border-left-color: #015db2;
    display: inline-block;
    margin: 0 0.5em 0 0;
}
#sitemap_list .post-item a:before {
    content: "";
    width: 1em;
    border: 0.25em solid transparent;
    border-left-color: #0787FD;
    display: inline-block;
    margin: 0 0.5em 0 0;
}
/*サイトマップ会社案内・サービス消す*/
li.page-item-358 {
    display: none;
}
li.page-item-355 {
    display: none;
}
/*会社概要*/
.aboutus table {
}
.aboutus table th, .aboutus table td {
    padding: 0.25em 0.5em;
    border-bottom: 1px dotted #999;
    display: block;
}
.aboutus table th {
    white-space: nowrap;
    min-width: auto;
    width: auto;
    border-bottom: none;
}

@media (max-width: 768px) {
.aboutus table th {
    white-space: nowrap;
    min-width: auto;
    width: auto;
    border-bottom: none;
    background-color: #DDDDDD;
}
}
.aboutus table th:before {
    content: "";
    width: 1em;
    border: 0.5em solid transparent;
    border-top-color: #015db2;
    display: inline-block;
    margin: 0.5em 0.5em -0.5em 0;
}
.aboutus ul.pict-box {
    margin: 0.5em 0;
    padding: 0;
    list-style: none;
}
.aboutus ul.pict-box li {
    margin: 0;
    padding: 0.5em;
}
.aboutus table td ul li {
    line-height: 1.4;
}

@media (min-width: 768px) {
.aboutus table th, .aboutus table td {
    padding: 0.25em 0.5em;
    border-bottom: 1px solid #ccc;
    display: table-cell;
}
.aboutus table th {
    white-space: nowrap;
    min-width: 8em;
    width: 10%;
    vertical-align: top;
}
.aboutus table th:before {
    content: "";
    width: 1em;
    border: 0.5em solid transparent;
    border-left-color: #015db2;
    display: inline-block;
    margin: 0 0.5em 0 0;
}
.aboutus ul.pict-box {
    margin: 0.5em 0;
    padding: 0;
    list-style: none;
    display: block;
    overflow: hidden;
}
.aboutus ul.pict-box li {
    margin: 0;
    padding: 0.5em;
    display: block;
    float: left;
    box-sizing: border-box;
    width: 100%;
}
}

/*会社概要-画像*/
@media (min-width: 992px) {
.aboutus ul.pict-box {
    margin: 0;
}
}
/*業務案内　業務内容*/
.info_box {
    background: #fff;
    line-height: 0.9em;
    /* height: 33em;*/
    width: auto;
    float: left;
    overflow: hidden;
    display: block;
    margin: 1em;
    padding: 0 0 1em 0;
    box-sizing: border-box;
    border-radius: 5px;
    box-shadow: 0 0 2px rgba(0,0,0,0.5);
}

@media (max-width: 767px) {
.info_box {
    height: auto;
}
}
.info_title {
    position: relative;
    background: #00c4aa;
    color: #fff;
    font-weight: bold;
    margin: 0;
    padding: 0.25em 0.5em 0.25em 2em;
    border-radius: 0.5em 0.5em 0 0;
}
/*.info_title:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 100%;
	background-color: aquamarine;
}*/

.info_title_01 {
    position: relative;
    background: #F39800;
    color: #fff;
    margin: 0;
    padding: 0 0 0.75em 0;
    border-radius: 5px 5px 0 0;
}
.info_title_01 span, .info_title_02 span, .info_title_03 span, .info_title_04 span, .info_title_05 span {
    position: relative;
    color: #fff;
    font-weight: 600;
    vertical-align: 0.3em;
    font-size: 1.4em;
    margin: 0;
    padding: 0;
}
.info_title_01:before {
    content: "";
    width: 3em;
    height: 3em;
    top: 0.5em;
    left: 0.5em;
    display: inline-block;
    background-image: url(../images/btn-icon-flow-white.svg);
    background-repeat: no-repeat;
    /*background-size: cover;*/
    margin-top: 0;
    margin-bottom: -0.4em;
    margin-right: 1em;
    margin-left: 0.5em;
}
.info_title_02 {
    position: relative;
    background: #E8351F;
    color: #fff;
    margin: 0;
    padding: 0 0 0.75em 0;
    border-radius: 5px 5px 0 0;
}
.info_title_02:before {
    content: "";
    width: 3em;
    height: 3em;
    top: 0.5em;
    left: 0.5em;
    display: inline-block;
    background-image: url(../images/btn-icon-02-white.svg);
    background-repeat: no-repeat;
    /*background-size: cover;*/
    margin-top: 0;
    margin-bottom: -0.4em;
    margin-right: 1em;
    margin-left: 0.5em;
}
.info_title_03 {
    position: relative;
    background: #00C4FF;
    color: #fff;
    margin: 0;
    padding: 0 0 0.75em 0;
    border-radius: 5px 5px 0 0;
}
.info_title_03:before {
    content: "";
    width: 3em;
    height: 3em;
    top: 0.5em;
    left: 0.5em;
    display: inline-block;
    background-image: url(../images/btn-icon-03-white.svg);
    background-repeat: no-repeat;
    /*background-size: cover;*/
    margin-top: 0;
    margin-bottom: -0.4em;
    margin-right: 1em;
    margin-left: 0.5em;
}
.info_title_04 {
    position: relative;
    background: #813128;
    color: #fff;
    margin: 0;
    padding: 0 0 0.75em 0;
    border-radius: 5px 5px 0 0;
}
.info_title_04:before {
    content: "";
    width: 3em;
    height: 3em;
    top: 0.5em;
    left: 0.5em;
    display: inline-block;
    background-image: url(../images/btn-icon-04-white.svg);
    background-repeat: no-repeat;
    /*background-size: cover;*/
    margin-top: 0;
    margin-bottom: -0.4em;
    margin-right: 1em;
    margin-left: 0.5em;
}
.info_title_05 {
    position: relative;
    background: #79BD28;
    color: #fff;
    margin: 0;
    padding: 0 0 0.75em 0;
    border-radius: 5px 5px 0 0;
}
.info_title_05:before {
    content: "";
    width: 3em;
    height: 3em;
    top: 0.5em;
    left: 0.5em;
    display: inline-block;
    background-image: url(../images/btn-icon-05-white.svg);
    background-repeat: no-repeat;
    /*background-size: cover;*/
    margin-top: 0;
    margin-bottom: -0.4em;
    margin-right: 1em;
    margin-left: 0.5em;
}
.info_com {
    font-size: 1em;
    line-height: 1.4em;
    margin: 0;
    padding: 0.5em;
    background-color: #CCCCCC;
}
.info_text .label {
    display: inline-block;
    font-size: 14px;
    font-size: 1em;
    background: #222;
    color: #fff;
    border-radius: 5px;
    padding: 6px 10px;
    margin: 0.25em;
    line-height: 1em;
}
.info_text {
    font-size: 1em;
    line-height: 1.4em;
    margin: 0 0.5em 0.75em 0.5em;
    padding: 1em 0.5em;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    border-bottom: 1px dashed #ccc;
}
.info_detail {
    display: block;
    overflow: hidden;
}
.info_detail ul {
    background-color: #E5E5E5;
    border-radius: 5px;
    margin: 0.5em 0;
    padding: 0.5em;
    list-style-type: disc;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 1em;
    -moz-margin-before: 1em;
    -moz-after: 1em;
    -moz-margin-start: 0;
    -moz-margin-end: 0;
    -moz-padding-start: 2em;
    -ms-margin-before: 1em;
    -ms-after: 1em;
    -ms-margin-start: 0;
    -ms-margin-end: 0;
    -ms-padding-start: 1em;
}
.info_detail ul li {
    font-size: 0.95em;
    line-height: 1.75em;
    padding: 0 0 0 0.5em;
    list-style: disc;
    list-style-position: inside;
}
/*業務案内guide ガイド*/
.guide_box {
    display: block;
    overflow: hidden;
}
.guide_com {
    display: block;
    overflow: hidden;
    font-size: 0.75em;
    text-align: center;
}
.guide_img {
    position: relative;
    font-size: 1em;
    padding-right: 0;
    padding-left: 0;
    padding: 2px 5px 0 5px;
    margin: 0;
    box-sizing: border-box;
}
.guide_img img {
    /*border: 1px solid #E5E5E5;*/
    margin: 0;
    padding: 0;
    display: block;
    overflow: hidden;
}
.guide_img.before:before {
    position: absolute;
    content: "Before";
    top: 0;
    left: 0;
    font-size: 0.75em;
    color: #fcfeff;
    margin: 3px 6px 0 6px;
    padding: 2px 10px 2px 10px;
    text-decoration: none;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: rgba(0,0,0,0.3);
    z-index: 200;
}
.guide_img.after:before {
    position: absolute;
    content: "After";
    top: 0;
    left: 0;
    font-size: 0.75em;
    color: #fcfeff;
    margin: 3px 6px 0 6px;
    padding: 2px 10px 2px 10px;
    text-decoration: none;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: rgba(0,0,0,0.3);
    z-index: 200;
}
.guide_img.arrow:after {
    font-family: "FontAwesome";
    position: absolute;
    content: "\f061";
    top: 30%;
    right: -10px;
    font-size: 2em;
    color: #333;
    line-height: 1em;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: block;
    z-index: 200;
    text-shadow: #FFFFFF 1px 1px 2px, #FFFFFF -1px 1px 2px, #FFFFFF 1px -1px 2px, #FFFFFF -1px -1px 2px;
}
.guide_btn {
    text-align: center;
    margin: 0;
    padding: 0;
    display: block;
    overflow: hidden;
}
.guide_btn a {
    position: relative;
    color: #333;
    font-weight: 600;
    font-size: 1em;
    background-color: #B3B3B3;
    border-radius: 5px;
    border-bottom: solid 2px #333;
    padding: 1em 3em;
    margin: 1em 0;
    display: inline-block;
    overflow: hidden;
    clear: both;
    cursor: pointer;
    text-align: center;
}
.guide_btn a:hover {
    background-color: #939393;
    border-bottom: solid 2px #fff;
}
.guide_btn a:before {
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: normal;
    content: "\f105";
    display: inline-block;
    font-weight: 600;
    color: #333;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
/*業務案内lineup*/
.lineup_body {
}
.ttl_box {
    margin-top: 20px;
    margin-bottom: 20px;
    display: block;
    float: left;
    width: 100%;
}
.ttl_box .no {
    font-family: base_bold;
    display: inline-block;
    width: 70px;
    height: 70px;
    background: #015db2;
    color: #fff;
    float: left;
    margin-right: 15px;
    position: relative;
    top: 0;
}
.ttl_box .no span {
    position: absolute;
    left: 12%;
    bottom: 5%;
}
.ttl_box h5 {
    clear: none;
    font-size: 23px;
    font-size: 2.3rem;
    margin-bottom: 10px;
    margin-top: 10px;
}
.ttl_box p {
    float: left;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: 0 0;
	line-height: normal;
}
.lineup_body .info {
    font-size: 1.6rem;
    float: left;
}
.lineup_box {
    margin: 0.5em 0;
    padding: 1em;
    background: #fcfeff;
    display: block;
    overflow: hidden;
}
.lineup_thumb {
}
.lineup_title {
    position: relative;
    font-size: 1.5em;
    padding: 0.5em 0 0.5em 0;
    /*text-indent: 1em;*/
    margin-bottom: 1em;
    margin-top: 5px;
    border-bottom: 5px solid #3c3232;
}
.lineup_title:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 5px #ddd;
    bottom: -5px;
    width: 20%;
}
.lineup_img {
    background-size: cover;
    background-position: 50%;
    transition: all .3s ease;
}
.lineup_detail p {
    font-size: 0.9em;
    line-height: 1.8;
    text-align: left;
    margin: 0 0.5em 0 0;
}
.lineup_detail dl {
    font-size: 0.9em;
    line-height: 1.8;
    margin-top: 0;
    margin-bottom: 0.5em;
}
.lineup_detail dt {
    color: #015db2;
    float: left;
    clear: left;
    width: 4em;
}
.lineup_detail dd {
    margin-left: 4em;
}
/**/
.reason_navi {
    position: relative;
    margin-bottom: 59px;
    padding: 0;
    display: block;
    overflow: hidden;
}
@media (min-width: 767px) {
#reason_navimenu.is-fixed {
    transition: all .3s ease;
    position: fixed;
    top: 49px;
    /*width: 17%;*/
    border-top: 1px solid #ddd;
    margin-bottom: 59px;
    padding: 0;
    margin: 0 0.5em;
    display: block;
    overflow: hidden;
}
}

@media (max-width: 767px) {
.lineup_title {
	font-size: 1.2em;}
.ttl_box h5 {
    font-size: 18px;
}
}
.reason_navi {
    display: block;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
    padding: 0;
    padding-right: 0;
    padding-left: 0;
}
.reason_navi li {
    list-style: none;
    background: #f2f2f2;
    color: #211a18;
}
.reason_navi li a {
    position: relative;
    display: block;
    padding: 15px;
    font-size: 14px;
    font-size: 1.4rem;
    transition: all .3s cubic-bezier(.165, .84, .44, 1);
}
.reason_navi li a {
    position: relative;
    display: block;
    padding: 15px;
    font-size: 14px;
    font-size: 1.4rem;
    transition: all .3s cubic-bezier(.165, .84, .44, 1);
}
.reason_navi li span {
    font-size: 12px;
    font-size: 1.2rem;
    color: #188dc8;
    display: block;
}
.reason_navi li i {
    position: absolute;
    right: 5px;
    bottom: 27px;
    transition: all .3s cubic-bezier(.165, .84, .44, 1);
}
/*naviドロップダウン*/
#reason_navimenu {
    border-top: 1px solid #ddd;
    display: block;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
    -ms-padding-start: 0px;
    -moz-padding-start: 0px;
    padding: 0;
    margin: 0 0.5em;
}
.main_menu {
    font-size: 0.9em;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 20px;
    padding-right: 50px;
    text-indent: 10;
    position: relative;
    border-bottom: 1px solid #ddd;
}
.main_menu.open {
    border-bottom: none;
}
.main_menu::before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #015db2;
    border-right: solid 2px #015db2;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -6px;
}
#reason_navimenu .open::before {
    -ms-transform: rotate(315deg);
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    margin-top: -3px;
}
#reason_navimenu .main_menu:hover {
    background-color: #f2f2f2;
}
#reason_navimenu .open {
    background-color: #f2f2f2;
}
#reason_navimenu .main_menu:hover::before {
    border-top: solid 2px #015db2;
    border-right: solid 2px #015db2;
}
#reason_navimenu .open::before {
    border-top: solid 2px #015db2;
    border-right: solid 2px #015db2;
}
.sub_menu {
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
    padding: 0;
    border-bottom: 1px solid #CCC;
}
.sub_menu li a {
    padding-top: 10px;
    padding-bottom: 10px;
    text-indent: 2em;
    background-color: #fcfeff;
    display: block;
    position: relative;
    border-top-width: 1px;
    border-top-style: dashed;
    border-top-color: #CCC;
}
.sub_menu li a::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #015db2;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -4px;
    margin-left: 25px;
}
.sub_menu li a:hover {
    background-color: #015db2;
    color: #fcfeff;
}
.sub_menu li a:hover::before {
    border-left: solid 6px #ffffff;
}
/*@media (min-width: 768px) {
.info_box {
    width: 48%;
}
}*/
/*@media (min-width: 992px) {
.info_box {
	width: 31.3%;
}
}*/
/*中央揃え*/
.center {
    text-align: center;
}
/*ボタン02*/
.btn-02 {
    margin: 1em auto;
    padding: 12px 0;
    position: relative;
    display: inline-block;
    border: 2px solid transparent;
    width: 14em;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    border-radius: 5px;
    /*letter-spacing: .15em;*/
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.btn-02.black {
    background: #000;
    color: #FFF;
}
.btn-02.black:hover {
    background: #bf0000;
}
.btn-02.red {
    background: #bf0000;
    color: #FFF;
}
.btn-02.red:hover {
    background: #FFF;
    color: #000;
    border: 2px solid #000;
}
.btn-02.red:hover:before, .btn.red:hover:after {
    color: #000;
}
.btn-02.red:before, .btn.red:after {
    color: #FFF;
}
.btn-02.white {
    background: #FFF;
    color: #000;
    border: 2px solid #000;
}
.btn-02.white:hover {
    background: #bf0000;
}
.btn-02.wide {
    width: 100%;
}
.btn-02.middle {
    width: 65% !important;
}
.btn-02:before {
    position: absolute;
    top: 50%;
    left: 10px;
    margin: -6px 0 0;
    font-size: 12px;
    content: '▶';
}
/**/
.pager {
    text-align: center;
    display: inline-block;
}
a.page-numbers, .pager .current {
    background: rgba(0,0,0,0.02);
    border: solid 1px rgba(0,0,0,0.1);
    border-radius: 5px;
    padding: 5px 8px;
    margin: 0.25em;
}
.pager .current {
    background: rgba(0,0,0,1);
    border: solid 1px rgba(0,0,0,1);
    color: rgba(255,255,255,1);
}
/*ニュース*/
.news_box p {
    text-align: left;
}
.sekou_box p {
    text-align: left;
}
.category a {
    font-weight: 400;
    float: right;
    text-indent: 0;
    font-size: 0.95em;
    display: inline-block;
    background-color: #777777;
    color: #fff;
    line-height: 1.5em;
    text-decoration: none;
    padding: 0 5px;
    border-radius: 5px;
  /*margin-left: 0.25em;*/
  margin-right: 0.25em;
}
.entry-more {
    position: relative;
    padding: 0.5em 0.5em 1em 0.5em;
    text-align: center;
    display: block;
    overflow: hidden;
    margin: 0 0 0.25em 0;
}
.entry-more a {
    position: relative;
    font-size: 0.95em;
    display: inline-block;
    background-color: #515151;
    color: #fff;
    text-decoration: none;
    padding: 0.2em 3em;
    border-radius: 0.2em;
}
.entry-more a:before {
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: normal;
    content: "\f105";
    display: inline-block;
    color: #fff;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
/*施工事例*/
.sekou_list {
    margin: 1em 0;
}
.sekou_list .sekou_boxs {
    float: left;
    overflow: hidden;
    display: block;
    padding-top: 1em;
    padding-bottom: 1em;
}

@media (max-width: 680px) {
.sekou_list .sekou_boxs {
    float: none;
    overflow: hidden;
    display: table;
    margin-right: auto;
    margin-left: auto;
}
.sekou_list .sekou_box {
    padding: 0;
    float: none;
    overflow: hidden;
    display: table;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10px;
}
}
.sekou_list .sekou_box {
    padding: 0;
    /*margin-right: 10px;*/
    margin-bottom: 10px;
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.25);
}
.sekou_list .sekou_box .thumb {
    position: relative;
    width: 100%;
    max-height: 10em;
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    overflow: hidden;
}
.sekou-new {
    color: #fff;
    font-size: 0.75em;
    font-weight: 500;
    position: absolute;
    display: inline-block;
    padding: 0.15em 0.75em;
    z-index: 1;
    top: 0;
    left: -8px;
    transform: rotate(-45deg);
}
.sekou-new:after {
    content: "";
    display: block;
    border: 2.5em solid transparent;
    border-top-color: #db002e;
    border-left-color: #db002e;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: rotate(45deg);
}
.sekou_list .sekou_box .thumb:hover {
    opacity: .5;
}
.sekou_list .sekou_box .thumb img {
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    -webkit-transition: 0.4s;/* transition: 0.4s; */
}
.sekou_list .sekou_box .thumb:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.sekou_list .box_in {
    padding: 0 1em 1em 1em;
}
.sekou_list .box_in time {
    color: #b86762;
    font-size: 14px;
    font-size: 1.4rem;
}
.sekou_list .box_in h3 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
#sekou-section {
    background-color: rgba(255,255,255,0.55);
    padding-bottom: 1em;
}
/*施工事例-トップ頁h4*/
#sekou-section h4 {
    font-size: 1.6em;
    margin: 1.0em auto 0.5em;
    text-align: center;
}
#sekou-section h4 span {
    display: block;
    font-size: 2em;
}
#sekou-section h4 span.en {
    font-size: 2em;
    font-weight: 900;
    color: #888;
    margin-bottom: 0.25em;
}
#sekou-section h4 span.en em {
    font-weight: 500;
    font-style: normal;
    color: #A8A8A8;
    text-shadow: 0 0 4px rgba(255,255,255,0.55);
}

/*施工事例-トップ頁h4-スマホ*/
@media (max-width: 640px) {
#sekou-section h4 {
    font-size: 1.4em;
    margin: 1em auto;
}
#sekou-section h4 span {
    display: none;
}
.sekou_list .sekou_box .thumb {
    max-height: 7em;
}
}
/**/
table.contactform th p,
table.contactform td p{ text-align: left;}

.grecaptcha-badge{
    margin-bottom: 80px;
}