/*--- common-style ---*/
* {
    box-sizing: border-box;
}

a {
    color: #000;
    text-decoration: none;
}

img {
    vertical-align: bottom;
}

.inner {
    width: 1000px;
    margin: auto;
    background-color: #fff;
    padding: 100px 80px;
}

.respon {
    width: 100%;
}

.title {
    font-size: 25px;
    text-align: center;
    margin: 0 0 30px;
    letter-spacing: 0.2em;
}

.title_en {
    display: block;
    font-size: 15px;
    padding: 15px 0 0;
    letter-spacing: 0.08em;
}

.title_jp {
    display: block;
    font-size: 16px;
    padding: 15px 0 0;
}

.section_block {
    margin: 0 0 100px;
}

.table01 td li {
    list-style: inside;
    margin: 0 0 10px;
}

.table01 td li:last-child {
    margin: 0;
}

.table01 {
    width: 100%;
    margin: 0 0 60px;
}

.table01 td {
    display: block;
    padding: 15px 0 15px 40px;
    line-height: 1.6;
}

.table01 td .big {
    font-size: 18px;
    font-weight: bold;
}

.company .table01 {
   width: 70%; 
}

.company .table01 th {
    width: 160px;
}

.table01 th {
    background: url(../images/back_img2.jpg) repeat;
    padding: 15px 0 15px 40px;
    width: 200px;
}

.container {
    overflow: hidden;
}

.intro_text {
    margin: 0 0 60px;
    line-height: 1.75;
}

@media screen and (min-width: 769px) {
    .pc_none{ 
        display: none; 
    }
}

@media screen and (max-width: 1000px) {
    .inner {
        width: 100%;
        margin: 0;
        padding: 100px 2.5%;
        background-color: rgba(255,255,255,0.6);
    }
}
    

@media screen and (max-width: 768px) {
    .inner {
        padding: 50px 3%;
    }
    
    .tb_none { 
        display: none;
    }
    
    colgroup {
        display: none;
    }
}


@media screen and (max-width: 599px) {
    .inner {
        padding: 50px 3.5%;
    }
    
    .section_block {
        margin: 0 0 50px;
    }
    
    .title {
        font-size: 22px;
    }
    
    .title_en {
        font-size: 13px;
    }
    
    .sp_none { 
        display: none;
    }
    
    .intro_text {
        margin: 0 0 30px;
    }
    
    .table01 {
        margin: 0 0 30px;
    }
}

/*--- header ---*/

header {
    width: 100%;
    background-color: #fff;
}

.header_logo a {
    transition: all 0.4s;
}

.header_logo a:hover {
    opacity: 0.6;
}

.nav_top {
    padding: 30px 150px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav_top_wrap {
    display: flex;
    align-items: center;
}

.nav_top_wrap a {
    transition: all 0.4s;
}

.nav_top_wrap a:hover {
    opacity: 0.6;
}

.nav_top {
    display: flex;
}

.nav_top_button,
.nav_contact_button {
    display: flex;
    align-items: center;
    font-size: 18px;
}

.nav_top_button {
    margin: 0 40px 0 0;
}

.nav {
    background: url(../images/scale_img.png) no-repeat center top;
    background-size: contain;
    padding: 40px 0 18px;
}

.nav_top_icon {
    padding: 0 5px 0 0;
}

.gnav {
    display: flex;
    justify-content: center;
}

.nav_en {
   font-size: 11px;
   display: block;
   font-weight: normal;
}

.nav_item {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 0 30px;
}

.nav_item a {
    transition: 0.3s;
    display: block;
    transition: 0.3s;
    display: flex;
    height: 60px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.nav_item a:hover {
    background: transparent url(../images/line_img.png?crc=3862788721) no-repeat center bottom;
}

.nav_item:nth-of-type(-n+3) {
    /*padding: 0 40px 0 0;*/
}

.header_catch {
    width: 100%;
    height: 300px;
    background: transparent url(../images/pixta_4856272.jpg?crc=4039831977) no-repeat center top;
    background-size: cover;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_catch_title .title_jp {
    letter-spacing: 0.2em;
}

.header_catch_title {
    text-align: center;
}

.hamburger {
    display: none;
}

@media screen and (max-width: 768px) {
    .nav_top {
        padding: 25px 40px;
    }
    
    .header_catch {
        height: 220px;
    } 
}

@media screen and (max-width: 599px) {
    .nav_contact_button {
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: #0068b7;
        color: #fff;
        width: 100%;
        padding: 18px 0;
        font-size: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }
    
    .nav_top {
        position: fixed;
        height: 55px;
        width: 100%;
        background-color: rgba(255,255,255,0.7);
        padding: 0 3.5%;
        z-index: 9999;
    }
    
    .gnav {
        flex-direction: column;
        transform: translate(-50%,-50%);
        position: absolute;
        top: 50%;
        left: 50%;
    }
    
    .nav {
      position: fixed;
      z-index : 999;
      top: 0;
      left: 0;
      color: #fff;
      background: rgba(0,0,0,0.7);
      text-align: center;
      width: 100%;
      height: 100%;
      display: none;
      transition: opacity .6s ease, visibility .6s ease;
    }

    .nav ul {
      margin: 0 auto;
      padding: 0;
      width: 100%;
    }

    .nav ul li {
      list-style-type: none;
      padding: 0;
      width: 100%;
      transition: .4s all;
    }
    
    .nav_item:nth-of-type(-n+3) {
        padding: 0;
    }
    
    .nav ul li:last-child {
      padding-bottom: 0;
    }

    .nav ul li a {
      display: block;
      color: #fff;
      padding: 1em 0;
      text-decoration :none;
    }

    .nav.active {
      display: block;
    } 
    
    .hamburger {
        display: block;
        position: fixed;
        z-index: 3;
        right: 13px;
        width : 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px ;
        left: 6px;
        background: #555;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    .hamburger span:nth-child(1) {
      top: 10px;
    }
    
    .hamburger span:nth-child(2) {
      top: 20px;
    }
    
    .hamburger span:nth-child(3) {
      top: 30px;
    }

    .hamburger.active span:nth-child(1) {
      top: 16px;
      left: 6px;
      background: #fff;
      -webkit-transform: rotate(315deg);
      -moz-transform: rotate(315deg);
      transform: rotate(315deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
      top: 16px;
      background : #fff;
      -webkit-transform: rotate(-315deg);
      -moz-transform: rotate(-315deg);
      transform: rotate(-315deg);
    }
    
    .nav_top_button {
        display: none;
    }
    
    .nav_top_button {
        display: none;
    }
    
    .nav_top {
        padding: 20px 3.5%;
    }
    
    .header_logo img {
        width: 160px;
    }
    
    .header_catch {
        margin: 55px 0 0;
    }
    
    .nav_item a:hover {
        background: none;
    }
}

/*--- slider ---*/

@media screen and (max-width: 599px) {
    #slider {
        margin: 55px auto 0;
    }
}

/*--- top works ---*/

.top_works_box {
    display: flex;
    margin: 0 0 30px;
}

.top_works_img {
    width: 50%;
    background: url(../images/pikuup_icon.png) no-repeat left top;
    position: relative;
}

.top_works_text:hover {
    transition: 0.4s;
}

.top_works_text:hover {
    background: none;
    background-color: #B2B2B2;
}

.top_works_img::after {
    content: "";
    background: url(../images/pikuup_icon.png) no-repeat;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    left: 0;
}

.top_works_icon {
    width: 25px;
    padding: 25px 0;
}

.top_pickup_box_wrap {
    display: flex;
    justify-content: space-between;
}

.top_works_text {
    background: url(../images/back_img2.jpg);
    display: flex;
    background-size: cover;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 50%;
}

.top_works_text .title {
    font-size: 35px;
    text-align: center;
    letter-spacing: 0.2em;
    font-weight: bold;
    color: rgb(102, 102, 102);
    margin: 0;
}

.top_pickup_box::after {
    content: "";
    background: url(../images/pikuup_icon.png) no-repeat;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    left: 0;
}

.top_pickup_box::before {
    content: "";
    background: rgba(0,0,0,0.4);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.top_pickup_box {
    width: 47%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    z-index: 1;
    transition: 0.4s;
}

.top_pickup_box:hover {
    opacity: 0.8;
}

.top_pickup_company {
    background: url(../images/pickup_company.jpg) no-repeat top center;
    background-size: cover;
}

.top_pickup_guide {
    background: url(../images/choumin01.jpg) no-repeat center center;
    background-size: cover;
}

.top_pickup_box .title {
    margin: 0;
    font-weight: bold;
    color: #fff;
}

@media screen and (max-width: 599px) {
    
    .top_works_box {
       flex-direction: column; 
    }
    
    .top_works_img {
        width: 100%;
    }
    
    .top_works_text {
        width: 100%;
        padding: 50px 0;
    }
    
    .top_works_text .title {
        font-size: 25px;
    }
    
    .top_pickup_box_wrap {
        flex-direction: column;
    }
    
    .top_pickup_box {
       width: 100%;
       height: 260px; 
    }
    
    .top_pickup_box:nth-of-type(1) {
        margin: 0 0 30px;
    }
}

/*--- footer ---*/

.footer_nav {
    background-color: #999999;
    padding: 50px 0;
}

.footer_nav_inner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.footer_nav_inner .contact {
    display: block;
    width: 170px;
    border: 1px solid #fff;
    margin: 0 50px 0 0;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.footer_nav_right {
    width: 355px;
}

.footer_gnav {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 45px;
}

.footer_gnav li {
    width: 28%;
    padding: 0 0 0 15px;
    background: url(../images/check_icon.png) no-repeat left center;
}

.footer_gnav li a {
    color: #fff;
    transition: all 0.4s;
}

.footer_gnav li a:hover {
    color: #000;
}

.footer_gnav li:nth-of-type(-n+3) {
    margin: 0 0 25px;
}

.copyright {
    background-color: #4C4C4C;
    color: #fff;
    padding: 5px 0;
    text-align: center;
}

.footer_info {
    display: flex;
    align-items: center;
}

.footer_tel {
    color: #fff;
    transition: all 0.4s;
}

.footer_tel:hover {
    opacity: 0.6;
}

.footer_info_logo {
    display: block;
    margin: 0 20px 0 0;
    transition: all 0.4s;
}

.footer_info_logo:hover {
    opacity: 0.6;
}

.footer_info_logo img {
    width: 129px;
}

.footer_nav_inner .contact {
    transition: all 0.4s;
}

.footer_nav_inner .contact:hover {
    background-color: #7F7F7F;
}

@media screen and (max-width: 599px) {
    .footer_nav_inner {
        flex-direction: column;
        width: 100%;
        padding: 0 3.5%;
    }
    
    .footer_nav_right {
        width: 100%;
    }
    
    .footer_nav_inner .contact {
        width: 100%;
        margin: 0 0 30px 0;
        padding: 20px 0;
    }
    
    .footer_gnav li {
        width: 30%;
    }
    
    .footer_gnav {
        margin: 0 0 30px;
    }
    
    .footer_info {
        justify-content: center;
    }
}

/*--- company ---*/

.company .inner {
    display: flex;
    justify-content: space-between;
}

.company_header_catch {
    background: transparent url(../images/pixta_4856272.jpg) no-repeat center top;
    background-size: cover;
    position: relative;
}

.company_header_catch::after {
    content: "";
    background-color: #001661;
    opacity: 0.4;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
}

.company_header_catch .title_jp {
    color: #fff;
}

.company_img_wrap {
    width: 25%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.company_img:nth-of-type(1) {
    margin: 0 0 225px 0;
}

.company_img:nth-of-type(2) {
    margin: 0 auto 170px;
}

.company_img_president {
    width: 75%;
}

.company_img_gaikan {
    width: 125%;
    margin: 0 0 0 -25%;
    position: relative;
    left: 62px;
}

.access_map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 23.65% 0 0;
	text-align: center;
}

.access_map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}

@media screen and (max-width: 1000px) {
    .company_img_gaikan {
        position: unset;
    }

    .company_img_staff {
        position: unset;
    }
}

@media screen and (max-width: 599px) {
    .access_map{
	    padding: 65.65% 0 0;
    }
    
    .company .table01 {
        width: 100%;
    }
    
    .company_img_wrap {
        flex-direction: column;
    }

    .company_img {
        width: 80%;
        margin: auto;
    }
    
    .company_img:nth-of-type(1),
    .company_img:nth-of-type(2){
        margin: 0 auto 30px;
    }
    
    .table01 th,
    .table01 td {
        width: 100%;
        display: block;
    }
    
    .table01 td {
        padding: 15px 0 15px 0;
    }
    
    .table01 tr {
        margin: 0 0 15px;
        display: block;
    }
    
    .company .inner {
        flex-direction: column;
    }
    
    .company_img_wrap {
        width: 75%;
        margin: auto;
    }
    
    .company .table01 th {
        width: 100%;
    }
}

/*--- business guide ---*/

.business_header_catch {
    background: transparent url(../images/28497331.jpg) no-repeat;
    background-size: cover;
    background-position: right center;
}

.business_box:nth-of-type(-n+5) {
    margin: 0 0 80px;
}

.business_title {
    border: 1px solid #7F7F7F;
    margin: 0 0 30px;
    padding: 15px 0 15px 40px;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
}

.business_title_icon {
   margin: 0 10px 0 0; 
}

.business_box_info {
    display: flex;
    justify-content: space-between;
}

.business_box_info_img {
    width: 47%;
}

.business_box_info_text {
    width: 47%;
    line-height: 1.75;
}

.business_box_consul_text {
    margin: 0 0 40px;
}

.business_box_consul_list {
    line-height: 1.75;
    margin: 0 0 40px;
}

.business_box_consul_list li {
    list-style: inside;
}

/*機械設計*/
.machine_header_catch {
    background: transparent url(../images/machineryback.jpg) no-repeat;
    background-size: cover;
    background-position: right center;
}

.setsup {
    margin: 0px auto 30px;
    font-size: 18px;
    line-height: 1.5;
}
/*機械設計*/

@media screen and (max-width: 599px) {
.setsup {
    text-align: justify;
    font-size: 17px;
}
/*機械設計*/
    
    .business_box_info {
        flex-direction: column;
    }
    
    .business_box_info_img {
        width: 100%;
        margin: 0 0 20px;
    }
    
    .business_box_info_text {
        width: 100%;
    }
    
    .business_box:nth-of-type(-n+5) {
        margin: 0 0 40px;
    }
    
    .business_box_consul_list {
        margin: 0 0 20px;
    }
    
    .business_box_consul_text {
        margin: 0 0 20px;
    }
    
    .business_title {
        padding: 10px 0 10px 25px;
    }
}

/*--- past works ---*/

.works .inner {
    padding: 30px 80px 100px;
}

.works_header_catch {
    background: transparent url(../images/18363076.jpg) no-repeat center top;
    background-size: cover;
}

.works_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.works_box {
    width: 245px;
    height: 265px;
    background: url(../images/works_back_img3.jpg) no-repeat left top;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: 0.4s;
}

.works_box:nth-of-type(-n+3) {
    margin: 0 0 50px;
}

.works_box:hover {
    background: none;
    background-color: #B2B2B2;
}

.works_en_title {
    margin: 0 0 25px 0;
}

.works_icon {
    margin: 0 0 15px 0;
}

.works_title {
    font-size: 20px;
    font-weight: 500;
}

.works_title_icon {
    padding: 0 10px 0 0;
}

.works_child_title {
    border: 1px solid #7F7F7F;
    margin: 0 0 30px;
    padding: 15px 0 15px 40px;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
}

.works_child_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.works_child_box {
    width: 47%;
    margin: 0 0 60px;
}

.works_child_box:nth-last-of-type(-n+2){
    margin: 0;
}

.works_child_box_img {
    width: 100%;
    height: 300px;
    margin: 0 0 10px;
}

.works_child_box_text {
    text-align: center;
    font-weight: 500;
    line-height: 1.8;
    font-size: 16px;
}

.works_tab {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 50px;
}

.works_tab li {
    width: 14%;
}

.works_tab li a {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent url(../images/works_back_img3.jpg?crc=11358021) no-repeat left top;
    transition: all 0.3s;
}

.works_tab li a:hover {
    background: none;
    background-color: #B2B2B2;
}

.works_tab_icon {
    padding: 0 10px 0 0;
}

.works_tab_icon01 img,
.works_tab_icon02 img,
.works_tab_icon03 img,
.works_tab_icon04 img {
    width: 25px;
}

.works_tab_icon05 img {
    width: 20px;
}

.works_tab_icon06 img {
    width: 30px;
}

.award {
    color: #FF0000;
}

.table02 {
    width: 1000px;
    margin: 0 auto 100px;
    font-size: 13px;
}

.table02_head {
    background-color: #ccc;
}

.table02 th {
    text-align: center;
    padding: 10px 0;
}

.table02 th,
.table02 td {
    border-right: 1px solid #666;
}

.table02 th:last-child,
.table02 td:last-child {
    border-right: none;
}

.table02 td {
    background-color: #fff;
    padding: 8px 15px;
}

.table02_data_bg td {
    background-color: #F2F2F2;
}

.none_line {
    width: 50px;
    height: 1px;
    background-color: #666;
    display: block;
    margin: auto;
}

.table02_wrap {
    overflow: scroll;
}

@media screen and (max-width: 1000px) {
    .table02 {
        width: 95%;
        margin: 0 2.5% 100px;
    }
}
    

@media screen and (max-width: 768px) {
    
    .works .inner {
        padding: 30px 3% 100px;
    }
    
    .works_tab {
        flex-wrap: wrap;
    }
    
    .works_child_box_img {
        height: 230px;
    }
    
    .works_tab li {
        width: 32%;
    }
    
    .works_tab li:nth-of-type(-n+3) {
        margin: 0 0 20px;
    }
    
    .table02 th,
    .table02 td {
        border-right: none;
    }
    
    .table02 tr {
        border: 1px solid #ddd;
    }
    
    .table02_head {
        display: none;
    }
    
    .table02 td {
        display: block;
        width: 100% !important;
    }
    
    .table02 .business {
        background-color: #666;
        color: #fff;
        padding: 10px 15px;
        font-weight: bold;
        letter-spacing: 0.06em;
    }
    
    .table02 td:before {
        background-color: #f5f5f5;
        padding: 8px 0;
        margin: 0 10px 0 0;
        text-align: center;
        width: 30%;
        display: inline-block;
        box-sizing: border-box;
    }
    
    .table02_data_bg td {
        background-color: #fff;
    }
    
    .table02 td:nth-of-type(2):before {
        content: "発注者";
    }
    
    .table02 td:nth-of-type(3):before {
        content: "構造規模";
    }
    
    .table02 td:nth-of-type(4):before {
        content: "面積";
    }
    
    .table02 td:nth-of-type(5):before {
        content: "委託開始年月";
    }
    
    .table02 td:nth-of-type(6):before {
        content: "完了年月";
    }
}

@media screen and (max-width: 599px) {
    .works .inner {
        padding: 20px 3.5% 50px;
    }
    
    .works_box {
        width: 47%;
        height: 170px;
    }
    
    .works_en_title {
        width: 70px;
        margin: 0 0 15px;
    }
    
    .works_en_title img {
        width: 100%;
    }
    
    .works_box:nth-of-type(-n+3) {
        margin: 0 0 30px;
    }
    
    .works_title {
        font-size: 18px;
    }
    
    .works_child_box_wrap {
        flex-direction: column;
    }
    
    .works_tab {
      margin: 55px 0 30px;  
    }
    
    .works_tab li {
        width: 47%;
    }
    
    .works_tab li:nth-of-type(-n+4) {
        margin: 0 0 15px;
    }
    
    .works_child_box {
        width: 100%;
        margin: 0 0 40px;
    }
    
    .works_child_box:nth-last-of-type(-n+2) {
        margin: 0 0 40px;
    }
    
    .works_child_box:last-child {
        margin: 0;
    }
}

/*--- works public-facility ---*/

.public_sayokou01 {
    background: url(../images/kouduki01.jpg) no-repeat center center;
    background-size: cover;
}

.public_sayokou02 {
    background: url(../images/kouduki02.jpg) no-repeat center center;
    background-size: cover;
}

.public_katoafter {
    background: url(../images/katoaf.jpg) no-repeat center center;
    background-size: cover;
}

.public_taishi_Gymnasium01 {
    background: url(../images/choumin01.jpg) no-repeat center center;
    background-size: cover;
}

.public_taishi_Gymnasium02 {
    background: url(../images/choumin02.jpg) no-repeat center center;
    background-size: cover;
}

.public_taishi_Gymnasium03 {
    background: url(../images/choumin03.jpg) no-repeat center center;
    background-size: cover;
}

.public_taishi_Gymnasium04 {
    background: url(../images/choumin04.jpg) no-repeat center center;
    background-size: cover;
}

.public_govermentBuilding01 {
    background: url(../images/sayouchou-governmentBuilding01.jpg) no-repeat center center;
    background-size: cover;
}

.public_iwaPublichall {
    background: url(../images/koukyo_img4.jpg) no-repeat center center;
    background-size: cover;
}

.public_yuuaidome {
    background: url(../images/koukyo_img2.jpg) no-repeat center center;
    background-size: cover;
}

.public_nagatani {
    background: url(../images/koukyo_img3.jpg) no-repeat center center;
    background-size: cover;
}

.public_ishii {
    background: url(../images/koukyo_img1.jpg) no-repeat center center;
    background-size: cover;
}

.public_spikaHall {
    background: url(../images/koukyo_img0.jpg) no-repeat center center;
    background-size: cover;
}

/*--- works welfare-facility ---*/

.welfare01 {
    background: #B2B2B2 url(../images/fukusi_img3.jpg?crc=3920641279) no-repeat center center;
    background-size: cover;
}

.welfare02 {
    background: #B2B2B2 url(../images/fukusi_img4.jpg?crc=3920641279) no-repeat center center;
    background-size: cover;
}

.welfare03 {
    background: #B2B2B2 url(../images/fukusi_img2.jpg?crc=3920641279) no-repeat center center;
    background-size: cover;
}

.welfare04 {
    background: #B2B2B2 url(../images/fukusi_img1.jpg?crc=3920641279) no-repeat center center;
    background-size: cover;
}

.welfare05 {
    background: #B2B2B2 url(../images/fukusi_img0.jpg?crc=3920641279) no-repeat center center;
    background-size: cover;
}

/*--- works commercial-facility ---*/

.commercial_lasco01 {
    background: #B2B2B2 url(../images/lasco01.jpg) no-repeat center center;
    background-size: cover;
}

.commercial_lasco02 {
    background: #B2B2B2 url(../images/lasco02.jpg) no-repeat center center;
    background-size: cover;
}

.commercial_lasco03 {
    background: #B2B2B2 url(../images/lasco03.jpg) no-repeat center center;
    background-size: cover;
}

.commercial_hirafuku {
    background: #B2B2B2 url(../images/syougyou_img0.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

/*--- works school-facility ---*/

.school_kajisaitou {
    background: #B2B2B2 url(../images/gatukou_img2.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.school_kamitsuki {
    background: #B2B2B2 url(../images/gatukou_img1.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.school_arakawa {
    background: #B2B2B2 url(../images/gatukou_img0.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

/*--- works other-facility ---*/

.other_touaju01 {
    background: #B2B2B2 url(../images/toa01.jpg) no-repeat center center;
    background-size: cover;
}

.other_touaju02 {
    background: #B2B2B2 url(../images/toa02.jpg) no-repeat center center;
    background-size: cover;
}

.other_toua01 {
    background: #B2B2B2 url(../images/toua01.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_toua02 {
    background: #B2B2B2 url(../images/toua02.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_kajiura {
    background: #B2B2B2 url(../images/kajiura.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_nichirin {
    background: #B2B2B2 url(../images/sonota_img8.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_kuzaki {
    background: #B2B2B2 url(../images/sonota_img1.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_toua {
    background: #B2B2B2 url(../images/sonota_img7.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_kazukikun {
    background: #B2B2B2 url(../images/sonota_img4.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_takeuchisika {
    background: #B2B2B2 url(../images/sonota_img2.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_nakajima {
    background: #B2B2B2 url(../images/sonota_img5.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}
.other_marina {
    background: #B2B2B2 url(../images/sonota_img3.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_ichiguu {
    background: #B2B2B2 url(../images/sonota_img0.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.other_ebuna {
    background: #B2B2B2 url(../images/sonota_img6.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

/*--- works supervision-facility ---*/

.supervision_tenmayo {
    background: #B2B2B2 url(../images/tenma.jpg) no-repeat center center;
    background-size: cover;
}

.supervision_honda01 {
    background: #B2B2B2 url(../images/honda01.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.supervision_honda02 {
    background: #B2B2B2 url(../images/honda02.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.supervision_parnassus01 {
    background: #B2B2B2 url(../images/parnassus01.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.supervision_parnassus02 {
    background: #B2B2B2 url(../images/parnassus02.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.supervision_parnassus03 {
    background: #B2B2B2 url(../images/parnassus03.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

.supervision_tsujikawa {
    background: #B2B2B2 url(../images/tujikawa.jpg?crc=3805830380) no-repeat center center;
    background-size: cover;
}

/*--- contact ---*/

.contact_header_catch {
    background: #FFFFFF url(../images/23444496.jpg?crc=3921084198) no-repeat center center;
    background-size: cover;
}

.contact_text {
    text-align: center;
}

.contact_box {
    border: 1px solid #7F7F7F;
    width: 100%;
    /*height: 150px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.contact_box:first-of-type {
    margin: 0 0 20px;
    padding: 15px 0 0 0;
}

.contact_box:last-of-type {
    margin: 0 0 30px;
}

.contact_tel {
    font-size: 44px;
    display: flex;
    align-items: center;
    letter-spacing: 0.04em;
    font-weight: bold;
    color: #7F7F7F;
    margin: 0 0 10px;
}

.contact_tel_icon {
    padding: 0 15px 0 0;
}

.contact_tel_title {
    color: #0071BC;
    margin: 0 0 10px;
    font-weight: 500;
}

.contact_form_title {
    color: #0071BC;
    font-size: 22px;
    font-weight: 500;
}

.contact_triangle_icon {
    width: 80px;
    transform: translateY(40px);
}

.contact_form_icon {
    margin: 0 0 10px;
}

.contact_box p {
    line-height: 1.5;
}

@media screen and (max-width: 599px) {
    
    .contact_box {
        padding: 0 4.5%;
        /*height: 160px;*/
    }
    
    .contact_tel {
        font-size: 28px;
    }
    
    .contact_tel_icon {
        width: 40px;
        padding: 0 10px 0 0;
    }
    
    .contact_tel_icon img {
        width: 100%;
    }
    
    .contact_form_title {
        font-size: 18px;
        text-align: center;
        line-height: 1.2;
    }
    
    .contact_form_icon {
        width: 40px;
    }
    
    .contact_form_icon img {
        width: 100%;
    }
    
    .contact_triangle_icon {
        width: 40px;
        transform: translateY(30px);
    }
    
    .contact_text {
        text-align: left;
    }
    
    .contact_box:last-of-type {
        margin: 0 0 15px;
    }
    
    .form_input03 button {
        font-size: 20px !important;
    }
    
    .contact iframe {
        height: 900px !important;
    }
}

/*--- recruit ---*/

.recruit_header_catch {
    background: #FFFFFF url(../images/17379420.jpg?crc=4147486943) no-repeat center center;
    background-size: cover;
}

.contact_recruit_icon {
    width: 35px;
    margin: 0 0 10px;
}

.recruitment_table {
    display: flex;
}

@media screen and (max-width: 768px) {
    .recruitment_table {
        flex-direction: column;
    }
}

@media screen and (max-width: 599px) {
    .recruit .contact_triangle_icon {
        transform: translateY(47px);
    }
    
    .recruit iframe {
        height: 1000px !important;
    }
}

/*--- sitemap ---*/

.sitemap ul li ul {
  margin-top: 1.5em;
  margin-bottom: .75em;
  margin-left: 48px;
}

.sitemap ul li {
    margin: 0px 0 25px;
}

.sitemap_square {
    width: 14px;
    height: 14px;
    background-color: #7F7F7F;
    display: inline-block;
    margin: 0 15px 0 0;
}
 
.sitemap ul li ul li {
  margin-bottom: .25em;
  position: relative;
}
 
.sitemap ul li ul li::before {
  content: "";
  position: absolute;
  top: -0.5em;
  left: -16px;
  width: 10px;
  height: calc(100% + .75em);
  border-left: 1px solid #CCCCCC;
}
 
.sitemap ul li ul li:last-child::before {
  height: calc(1em + .25em);
}
 
.sitemap ul li ul li::after {
  content: "";
  position: absolute;
  top: .75em;
  left: -16px;
  width: 10px;
  border-bottom: 1px solid #CCCCCC;
}


@media screen and (max-width: 599px) {
    .sitemap {
        margin: 55px 0 0;
    }
}

/*機械設計*/
ul.mflow {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
ul.mflow img {
    width: 100%;
}
ul.mflow li {
    width: 33.3%;
    text-align: center;
    margin: 0 auto 50px;
    font-size: 110%;
}
ul.mflow li span {
    font-weight: bold;
    color: #0068b7;
}

@media screen and (max-width: 799px) {
ul.mflow li {
    width: 50%;
    text-align: center;
    margin: 0 auto 50px;
    font-size: 110%;
}
    
.contact_box.mach {
    text-align: center;
}
.contact_box.mach a.contact_tel {
    font-size: 5vw;
}
}

/*機械設計*/












