  @charset "utf-8";
/* manual
========================================== */
.pcOnly {
    display: block;
}
.spOnly {
    display: none;
}
.tabOnly{
    display:none;
}
.pctabOnly {
    display: block;
}
.tabspOnly {
    display: none;
}
body {
    width: 100%;
    background-color: #ffffff;
}

iframe[name="google_conversion_frame"] {
    position: fixed;
}

section{
    /* padding-bottom: 80px; */
    padding-top: 100px;
    margin-top: -100px;
    margin-bottom: 80px;
}

video{
    width: 100%;
}

.navCategory{background-color: #f5f5f5;padding: 30px 3%;}
.navCategory ul{display: flex;flex-wrap: wrap;justify-content: space-around;}
.navCategory ul li{width: 48%;margin: 5px 0%;border-right: none;}
.navCategory ul li a {padding: 20px 10px 20px 60px;text-decoration: none;color: #333;box-sizing: border-box;font-size: 16px;background-color: #fff;text-align: left;display: block;/* border: solid 1px #d00847; */font-weight: bold;position: relative;}
.navCategory ul li.on a{
    /* border-top: solid 3px #d00847; */
    color: #d00847;
}
.navCategory ul li a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:
        absolute;
    top: 50%;
    left: 25px;
    margin-top: -8px;
    font-size: 16px;
    color: #d00747;
    display:  inline-block;
}


.ui-widget-overlay{
    background: #000 !important;
    opacity: 0.8 !important;
}

.ui-widget-header {
/*    border: none !important;
    background: #fff !important;*/
}

/* header
========================================== */

header {
    width: 100%;
    padding: 0px 0 0px;
}




header.hdPc{
    width: 90%;
    /* max-width: 1300px; */
    /* position: fixed; */
    top: 0;
    z-index: 101;
    background-color: #ffffff;
    display: flex;
    margin: 0 auto;
    padding: 0 5%;
    box-shadow: 0px 5px 5px 0px rgb(0 0 0 / 10%);
}
header.hdPc.fixed{position: fixed;/* width: 100%; */top: 0;z-index: 10;}

.hd {
    width: 84%;
    margin: 0 auto;
    padding: 0px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}
header .logo {
    max-width: 200px;
    width: 24%;
    /* float: left; */
    /* margin-top: 5px; */
    display: flex;
    align-items: center;
    text-align: center;
}
header .logo img{
    width:100%;
}
header.fixed .logo img{
    width: 70%;
}
header .logo .logo_img {
    width: 303px;
    float: left;
}



header .btnMenu {
    display:none;
    cursor: pointer;
    position: fixed;
    height: 65px;
    width: 65px;
    /* background-color: #ffffff; */
    /* border: solid 1px #d00747; */
    text-align: center;
    z-index: 101;
    top: 7px;
    right: 15px;
    opacity: 1;
    visibility: visible;
}

.btnMenu span {
    position: absolute;
    display: block;
    top: 10px;
    left: 23%;
    width: 56%;
    height: 5px;
    /* border-radius:2px; */
    background: #d00747;
    transition: all 0.3s ease-out;
    z-index: 100000;
}
.btnMenu span:nth-of-type(2) {
    top: 22px;
}
.btnMenu span:nth-of-type(3) {
    top: 34px;
}
.btnMenu em {
    position: absolute;
    top: 54px;
    left: 0;
    width: 100%;
    color: #d00747;
    font-size: 15px;
    font-weight: bold;
    font-style: normal;
    text-transform: uppercase;
    line-height: 0;
    text-align: center;
}
/*.btnMenu.vew {
    display:block;
    cursor: pointer;
    position: fixed;
    height: 80px;
    width: 80px;
    background-color: #ffffff;
    border: solid 1px #d00747;
    text-align: center;
    z-index:101;
    top: 100px;
    right: 0px;
    transition: all 0.3s linear;
    opacity: 1;
    visibility: visible;
}*/
.btnMenu.vew span:nth-of-type(1) {
    top: 25px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.btnMenu.vew span:nth-of-type(2) {
    display: none;
}
.btnMenu.vew span:nth-of-type(3) {
    top: 25px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}



header .hdnav {
    width: 76%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    padding: 10px 0;
}
header.fixed .hdnav {
    display:none;
}
header .hdnav ul{
    float: right;
    width: 61%;
    margin-top: 10px;
}
header .hdnav li {/* width: 15%; */margin: 0 0.5%;}
header .hdnav li.staffBlog {
    width: 20%;
}

header .hdnav li a{
    color: #333;
    text-decoration:
        none;
    /* display: flex; */
    align-items: center;
    line-height: 1.2;
    /* font-weight: bold; */
    font-size: 14px;
    padding: 10px 10px;
    text-align: center;
    /* box-sizing: border-box; */
    /* justify-content: center; */
}

header .hdnav li a i{
    font-size: 14px;


    background-color: #000000;
    color: #ffffff;
    border-radius: 50%;

    font-weight: bold;
    margin-right: 5px;margin-bottom: 3px;}







header.hdSp{
    display:none;
}



/* gmenu
========================================== */
.hdPc nav{background-color: #fff;/* border-bottom: solid 1px #f1f1f1; */width: 93%;}
.hdPc nav ul{display: flex;align-items: stretch;justify-content: space-between;/* flex-wrap: nowrap; *//* flex-direction: row; */width: 100%;/* max-width: 1000px; */margin: 0 auto;}
.hdPc nav ul li{width: 16.6666%;display: flex;position: relative;}
.hdPc nav ul li a{display: flex;color: #333;text-decoration: none;padding: 10px 0%;width: 100%;text-align: center;align-items: center;justify-content: center;font-size: 16px;font-weight: bold;position: relative;}
.hdPc nav ul li.on a,
.hdPc nav ul li a:hover
{background-color: #d00847;color: #fff;
 opacity:1;
}
.hdPc nav ul li dl{
	visibility:hidden;
	position: fixed;
	z-index: 45;
	width: 100%;
	top: 88px;
	left: 0px;opacity: 0;
	transition: all 0.3s linear;
	background-color: #f1f1f1;
	box-sizing: border-box;
}
.hdPc nav ul li:hover dl{visibility:visible;opacity: 1;}

.hdPc nav ul li dl {/* border-bottom: solid 1px #cccccc; *//* width: 22.9%; *//* float: left; */padding: 20px 25%;}
.hdPc.fixed nav ul li dl{
    top: 44px;
}

.hdPc nav ul li dl dt,
.hdPc nav ul li dl dd {
    margin-bottom: 10px;
    position:relative;
    display: inline-block;
}
.hdPc nav ul li dl dt {
    display: block;
}

.hdPc nav ul li dl dt a {font-size: 16px;}
.hdPc nav ul li dl dd {width: 32%;box-sizing: border-box;}
.hdPc nav ul li dl dd.sub {
}
.hdPc nav ul li dl dd a {font-weight: normal;font-size: 14px;background-color: transparent !important;color: #333;}
.hdPc nav ul li dl dd.sub a{padding-left: 35px;}
.hdPc nav ul li dl dt a,
.hdPc nav ul li dl dd a{
    text-align: left;
    display: inline-block;
    padding: 8px 0% 8px 30px;
    background-color: transparent !important;
    color: #333 !important;
}

.hdPc nav ul li dl dt a:hover,
.hdPc nav ul li dl dd a:hover{
    background-color:transparent;color:#333;text-align: left;display: inline-block;}
.hdPc nav ul li dl dt a::before,
.hdPc nav ul li dl dd a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left:5px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
    width: auto;
}

.hdPc nav ul li dl dd.sub a::before{
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    top: 0%;
    left: 15px;
    margin-top: 0px;
}
.navCommon p a::before,
.hdPc nav ul li dl dt a::before{
    color: #ffffff;
    background-color: #9b9b9b;
    /* border-radius: 50%; */
}






.hdPc nav .gn_front_company_top li.gn_company a,
.hdPc nav .gn_front_company_outline li.gn_company a,
.hdPc nav .gn_front_company_history li.gn_company a,
.hdPc nav .gn_front_company_officer li.gn_company a,
.hdPc nav .gn_front_company_network li.gn_company a,
.hdPc nav .gn_front_company_associate li.gn_company a,
.hdPc nav .gn_front_company_promotion li.gn_company a{
    background-color: #d00847;color: #fff;
    opacity:1;
}
.hdPc nav .gn_front_construction_top li.gn_construction a,
.hdPc nav .gn_front_construction_works_top li.gn_construction a,
.hdPc nav .gn_front_construction_works_house li.gn_construction a,
.hdPc nav .gn_front_construction_works_commerce li.gn_construction a,
.hdPc nav .gn_front_construction_works_medical li.gn_construction a,
.hdPc nav .gn_front_construction_works_hotel li.gn_construction a,
.hdPc nav .gn_front_construction_works_officel li.gn_construction a,
.hdPc nav .gn_front_construction_works_factory li.gn_construction a,
.hdPc nav .gn_front_construction_works_public li.gn_construction a,
.hdPc nav .gn_front_construction_works_redevelopment li.gn_construction a,
.hdPc nav .gn_front_construction_land li.gn_construction a,
.hdPc nav .gn_front_construction_pc li.gn_construction a,
.hdPc nav .gn_front_construction_solar li.gn_construction a{
    background-color: #d00847;color: #fff;
    opacity:1;
}
.bgTitle.bgTitle_front_construction_top,
.bgTitle.bgTitle_front_construction_works_top,
.bgTitle.bgTitle_front_construction_works_house,
.bgTitle.bgTitle_front_construction_works_commerce,
.bgTitle.bgTitle_front_construction_works_medical,
.bgTitle.bgTitle_front_construction_works_hotel,
.bgTitle.bgTitle_front_construction_works_office,
.bgTitle.bgTitle_front_construction_works_factory,
.bgTitle.bgTitle_front_construction_works_public,
.bgTitle.bgTitle_front_construction_works_redevelopment,
.bgTitle.bgTitle_front_construction_land,
.bgTitle.bgTitle_front_construction_pc,
.bgTitle.bgTitle_front_construction_solar{
    background-image: url(/common/img/common/bgTitleconstruction.jpg);
}

.hdPc nav .gn_front_sustainability_top li.gn_sustainability a{
    background-color: #d00847;color: #fff;
    opacity:1;
}

.hdPc nav .gn_front_ir_top li.gn_ir a,
.hdPc nav .gn_front_ir_library li.gn_ir a,
.hdPc nav .gn_front_ir_securities li.gn_ir a,
.hdPc nav .gn_front_ir_highlight li.gn_ir a,
.hdPc nav .gn_front_ir_calendar li.gn_ir a,
.hdPc nav .gn_front_ir_shareholders li.gn_ir a,
.hdPc nav .gn_front_ir_stockinformation li.gn_ir a,
.hdPc nav .gn_front_ir_resolts li.gn_ir a,
.hdPc nav .gn_front_ir_news li.gn_ir a{
    background-color: #d00847;color: #fff;
    opacity:1;
}



.hdPc nav ul li a::before{
    content:
        "";
    position:
        absolute;
    height: 40%;
    top: 30%;
    left: 0px;
    width:1px;
    background-color:#ccc;
    background-color: transparent;
}

.hdPc.fixed nav{
    /* position: fixed; */
    width: 100%;
    /* top: 0; */
    /* z-index: 10; */
}






.areaBtn{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.info .areaBtn{
    align-items: flex-end;
}

.btn{
    max-width: 300px;
    width: auto;
    padding: 15px 6%;
    display: block;
    text-align: left;
    font-size: 16px;
    margin: 20px auto;
    position: relative;
    background-color: #d00847;
    color: #ffffff;
    border-radius: 0px;
    /* box-shadow: 2px 2px 0px 0px #174b6f; */
    transition: all 0.3s linear;
    text-decoration: none;
    outline: none;
    border: none;
    cursor: pointer;
}
.btn2{
    max-width: 300px;
    width: auto;
    padding: 15px 9% 15px 5%;
    display: block;
    text-align: center;
    font-size: 16px;
    margin: 20px 0;
    position: relative;
    background-color: #ffffff;
    color: #d00847;
    border-radius: 0px;
    /* box-shadow: 2px 2px 0px 0px #174b6f; */
    transition: all 0.3s linear;
    text-decoration: none;
    border: solid 1px #d00847;
    box-shadow: 2px 2px 0px 1px #d00847;
}


.btn::after{content: "";position:absolute;top:50%;margin-top:-5px;right:10%;display: inline-block;width: 30px;height: 7px;border-right: 2px solid #fff;border-bottom: 1px solid #fff;transform: skewX(45deg);transition: all 0.3s linear;}
.btn2::after{content: "";position:absolute;top:50%;margin-top:-5px;right:10%;display: inline-block;width: 30px;height: 7px;border-right: 2px solid #d00847;border-bottom: 1px solid #d00847;transform: skewX(45deg);transition: all 0.3s linear;}
.btn:hover::after{
    right: 6%;
}







/* ==================
top
======================== */

.mainw{}


.mainTop{
    position: relative;
    left: 50%;
    width: 3000px;
    margin-left: -1500px;
}
.mainTop .bx-wrapper img{
}

.slideFilterL,
.slideFilterR {
    position:
        absolute;
    top:0;
    width: 1000px;
    height: 100%;
    opacity: 0.65;
    filter:
        alpha(opacity=65);
    -ms-filter:"alpha( opacity=65 )";
    background: #000000;
    z-index: 5;
}
.slideFilterL {
    left:0;
}
.slideFilterR {
    right:0;
}
.secContents {display: flex;flex-wrap: wrap;flex-direction: row;justify-content: space-evenly;padding: 80px 0;}
.secContents .secContentsInner {/* height: 30vw; */width: 23%;overflow: hidden;display: flex;position: relative;margin-bottom: 10px;flex-wrap: wrap;background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.1) 100%);background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 60%,rgba(0,0,0,0.1) 100%);background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 60%,rgba(0,0,0,0.1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#1a000000',GradientType=0 );align-items: center;flex-direction: column;box-shadow: 10px 10px 20px 0px rgb(0 0 0 / 30%);}
.secContents .secContentsInner:hover {
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 30%);
}
.secContents .secContentsInner a{
    position: relative;
}
.secContents .secContentsInner .boxTxt {/* width: 100%; */box-sizing: border-box;padding: 20px 10%;z-index: 2;text-align: center;position: relative;z-index: 2;}
.secContents .secContentsInner .boxTxt h3 {font-size: 30px;color: #333;}
.secContents .secContentsInner .boxTxt h4 {font-size: 24px;margin-bottom: 20px;color: #7A0021;}
.secContents .secContentsInner .boxTxt p.txt {font-size: 14px;margin-bottom: 20px;text-align: left;height: 9em;}
.secContents .secContentsInner .boxTxt a.btn {max-width: 200px;padding: 10px 5%;font-size: 16px;margin: 10px auto;}
.secContents .secContentsInner .boxImg {/* width: 55%; *//* height: 30vw; *//* display: flex; *//* overflow: hidden; *//* align-items: flex-start; */position: relative;z-index: 2;}
.secContents .secContentsInner:nth-child(1) .boxImg {/* height: 35vw; */}
.secContents .secContentsInner .boxImg img {/* height: 140%; *//* max-width: none; */}
.secContents .secContentsInner img.ini {position: absolute;width: 80%;bottom: 90px;left: 0;/* height: 80%; */}
.secContents .secContentsInner.reverse {flex-direction: row-reverse;}
.secContents .secContentsInner.reverse .boxTxt {
}
.secContents .secContentsInner.reverse .boxTxt h3 {
}
.secContents .secContentsInner.reverse .boxTxt h4 {
}
.secContents .secContentsInner.reverse .boxTxt p.txt {
}
.secContents .secContentsInner.reverse .boxTxt a.btn {
}
.secContents .secContentsInner.reverse .boxImg {
}
.secContents .secContentsInner.reverse .boxImg img {
}
.secContents .secContentsInner.reverse img.ini {right: 0;left: unset;}




/* info
========================================== */
.infow{
    padding: 50px 0;
    /* Old browsers */
}
.infow .info{
    /* padding-bottom: 10vh; */
    max-width: 1000px;
    margin: 0 auto;
    width: 96%;
}

.infow h2.ttl{
}

.info .tab {
    margin:0 auto 10px;

    display:
        flex;
    flex-wrap:
        wrap;
    justify-content: center;
}
.info .tab li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px 0%;
    width: 25%;
    color: #d00847;
    font-size: 16px;
    text-align: center;
    background-color: #FFFFFF;
    border: solid 1px #d00847;
    padding: 15px 2%;
    cursor: pointer;
    height: auto;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}



.info .tab li{
    opacity:1;
    transition: all 0.3s linear;
    line-height: 1.1;
}

.info .tab li:hover,
.info .tab li.active {
    transition: all 0.3s linear;
    background-color: #d00847;
    color:#ffffff;
}

.info .tab li span{
    background-color:#fff100;
    padding:1% 5%;
    border-radius: 10px;
    font-size: 16px;
    display: block;
}


.info .unit{
    position: absolute;
    top: 0px;
    left: 0px;
    z-index:1;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s linear;
    /* max-height: 240px; */
    /* overflow-y: scroll; */
}
.info .unit.active{
    display:block;
    z-index:2;
    position: relative;
    visibility: visible;
    opacity: 1;
}
.info .unit .lstInfo{
    /* max-height: 240px; */
    /* overflow-y: scroll; */
    margin-bottom: 50px;
}
.info .unit.unit02 .lstInfo{
    max-height: 240px;
    overflow-y: scroll;
    margin-bottom: 50px;
}
.info .infoIn{
    padding: 10px 0%;
    /* border:
    solid 1px #9f9fa0; */
}

.info .infoIn dl{
    padding: 10px 2%;
    transition: all 0.3s linear;
    margin-bottom: 2px;
    border-bottom: solid 1px #ccc;
}
.top .info .infoIn .unit01 dl:nth-child(n+6),
.ir .info .infoIn .unit01 dl:nth-child(n+6){
    display:none; 
}

.info .infoIn dl dt,
.info .infoIn dl dd{
    line-height: 1.9;
}

.info .infoIn dl dt{
    width: 32%;
    float: left;
    margin-right: 1%;
}

.info .infoIn dl dt span{
    background-color: #ffffff;
    color: #d00847;
    border: solid 1px #d00847;
    padding: 2px 5px;
    margin-right: 15px;
    font-size: 12px;
    width: 10em;
    display: inline-block;
    text-align: center;
}

.info .infoIn dl dd{
    width: 65%;
    float: left;
}
.info .infoIn dl dd a{
    text-decoration:underline;
}
.info .infoIn dl dd a span.material-icons{
    color:#d00847;
    font-size: 20px;
    vertical-align: middle;
    margin-left: 10px;
}
.info .infoIn dl dd a:hover{
}






/* footer
========================================== */
footer {
    width: 100%;
    padding: 0px 0 0px;
    border-top: solid 1px #f1f1f1;
    /* background-color: #f5f5f5; */
}
footer .secSitemap{
    max-width: 100%;
    background-color: #f1f1f1;
}
footer .secSitemap .btnOpen{
    display:none;
}
footer .secSitemap .ft{
    display:none;
}

.areaBnr{
    padding: 50px 0;
}
.areaBnr ul{
    text-align: center;
}
.areaBnr ul li{
    /* max-width: 220px; */
    display: inline-block;
    margin: 0 1% 20px;
}
.areaBnr ul li a{

}
.areaBnr ul li a img{

}


.navCommon {max-width: 1100px;margin: 0 auto;padding: 50px 0;}
.navCommon p {text-align:  center;/* border-bottom:  solid 1px #cccccc; */padding: 15px;}
.navCommon p a {color:  #333333;text-decoration:  none;position:relative;font-size: 15px;}

.navCommon p a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left: -20px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}

.navCommon p a:hover {
    text-decoration:
        underline;
    /* color:#0381cd; */
}

.navCommon a {color:  #333333;text-decoration:  none;font-size: 13px;display: inline-block;}
.navCommon a:hover {
    text-decoration:
        underline;
    /* color:#0381cd; */
}


.navCommon ul {
    max-width: 1200px;
    width: 96%;
    margin: 0 auto;
    /* border-left: solid 1px #cccccc; */
    flex-wrap: wrap;
    display: flex;
    justify-content: space-around;
    justify-content: flex-start; 
    padding: 0;
}
.navCommon ul li {
    width: 20%;
    /*float:  left;*/
}




.navCommon ul li dl {/* border-bottom: solid 1px #cccccc; *//* width: 22.9%; *//* float: left; */padding: 20px 5%;}
.navCommon ul li dl dt {}

.navCommon ul li dl dt,
.navCommon ul li dl dd {
    margin-bottom: 10px;
    position:relative;
}
.btnOpen{
      position: absolute;
      right: 10px;
  top: 50%;
  transform: translatey(-50%);
      width: 30px;
      height: 30px;
      background-color: #fff;
}
dt .btnOpen{display:none;}
.btnOpen:before,
.btnOpen:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #d00747;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}
.btnOpen:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.btnOpen.minus:before {
  transform: translate(-50%, -50%) rotate(0deg);
}


.navCommon ul li dl dt a {font-size: 15px;}
.navCommon ul li dl dd {
}
.navCommon ul li dl dd.sub {display: none;}
.navCommon ul li dl dd.sub.show {display: block;}
.navCommon ul li dl dd a {
}
.navCommon ul li dl dd.sub a{padding-left: 35px;}
.navCommon ul li dl dt a,
.navCommon ul li dl dd a{
    padding-left: 25px;
}

.navCommon ul li dl dt a,
.navCommon ul li dl dd a{
    padding-left: 25px;
}
.navCommon ul li dl dt a::before,
.navCommon ul li dl dd a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left:5px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}

.navCommon ul li dl dd.sub a::before{
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    top: 0%;
    left: 15px;
    margin-top: 0px;
}
.navCommon p a::before,
.navCommon ul li dl dt a::before{
    color: #ffffff;
    background-color: #9b9b9b;
    /* border-radius: 50%; */
}


.navR.navCommon{
    width: 20%;
    border-left: solid 1px #f1f1f1;
    padding: 0;
    margin: 0;
} 
.noNavR .navR.navCommon{
    display:none;    
}
.navR.navCommon p{
    display:
        none;
} 
.navR.navCommon ul{
} 
.navR.navCommon ul li{width: 100%;display: none;}



.navR.navCommon ul.nav_front_company_top li.cateCompany,
.navR.navCommon ul.nav_front_company_outline li.cateCompany,
.navR.navCommon ul.nav_front_company_history li.cateCompany,
.navR.navCommon ul.nav_front_company_officer li.cateCompany,
.navR.navCommon ul.nav_front_company_network li.cateCompany,
.navR.navCommon ul.nav_front_company_associate li.cateCompany,
.navR.navCommon ul.nav_front_company_promotion li.cateCompany,
.navR.navCommon ul.nav_front_construction_top li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_top li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_house li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_commerce li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_medical li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_hotel li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_office li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_factory li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_public li.cateConstruction,
.navR.navCommon ul.nav_front_construction_works_redevelopment li.cateConstruction,
.navR.navCommon ul.nav_front_construction_land li.cateConstruction,
.navR.navCommon ul.nav_front_construction_pc li.cateConstruction,
.navR.navCommon ul.nav_front_construction_solar li.cateConstruction,
.navR.navCommon ul.nav_front_ir_top li.cateIr,
.navR.navCommon ul.nav_front_ir_library li.cateIr,
.navR.navCommon ul.nav_front_ir_securities li.cateIr,
.navR.navCommon ul.nav_front_ir_highlight li.cateIr,
.navR.navCommon ul.nav_front_ir_calendar li.cateIr,
.navR.navCommon ul.nav_front_ir_shareholders li.cateIr,
.navR.navCommon ul.nav_front_ir_stockinformation li.cateIr,
.navR.navCommon ul.nav_front_ir_results li.cateIr,
.navR.navCommon ul.nav_front_ir_news li.cateIr,
.navR.navCommon ul.nav_front_affiliated li.cateOther,
.navR.navCommon ul.nav_front_sitepolicy li.cateOther,
.navR.navCommon ul.nav_front_contact li.cateOther,
.navR.navCommon ul.nav_front_privacypolicy li.cateOther,
.navR.navCommon ul.nav_front_sitemap li.cateOther,
.navR.navCommon ul.nav_front_sustainability_top li.cateSustainability
{
    display:block;
} 





.navR.navCommon ul li.on{display: block;} 
.navR.navCommon ul li dl{padding: 0px 0%;} 
.navR.navCommon ul li dl.menuDevelopment,
.navR.navCommon ul li dl.menuTop
{
    display: none;
} 
.navR.navCommon ul li dl dt,
.navR.navCommon ul li dl dd{
    border-bottom: solid 1px #f1f1f1;
} 
.navR.navCommon ul li dl dt{margin-bottom: 0px;} 
.navR.navCommon ul li dl dd{margin-bottom: 0px;} 
.navR.navCommon ul li dl dt a,
.navR.navCommon ul li dl dd a
{display: block;padding: 20px 15px 20px 50px;} 

.navR.navCommon ul li dl dd.sub a{padding-left: 60px;}

.navR.navCommon ul li dl dd.sub a::before{
    left: 30px;
}
.navR.navCommon ul li dl dt a::before,
.navR.navCommon ul li dl dd a::before{
    top: 50%;
    left: 20px;
    margin-top: -8px;
    font-size: 16px;
}

.navR.navCommon ul li dl dt a::before{
    color: #ffffff;
    background-color: #d00747;
    /* border-radius: 50%; */
}



.sitemap{}
.sitemap .navCommon {
    margin: 0 auto;
    padding: 0px 0;
}
.sitemap .navCommon p {/* border-bottom:  solid 1px #cccccc; */padding: 15px;}
.sitemap .navCommon p a {
    color:  #333333;
    text-decoration: none;
    position:relative;font-size: 15px;
}

.sitemap .navCommon p a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left: -20px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}

.sitemap .navCommon p a:hover {
    text-decoration:
        underline;
    /* color:#0381cd; */
}

.sitemap .navCommon a {color:  #333333;text-decoration:  none;font-size: 13px;display: inline-block;}
.sitemap .navCommon a:hover {
    text-decoration:
        underline;
    /* color:#0381cd; */
}


.sitemap .navCommon ul {
    max-width: 1500px;
    width: 96%;
    margin: 0 auto;
    /* border-left: solid 1px #cccccc; */
    display: inherit;
}
.sitemap .navCommon ul li {
    width: 100%;
    /*float:  left;*/
}




.sitemap .navCommon ul li dl {
    /*border-bottom: solid 1px #cccccc; */
    /* width: 22.9%; */
    /* float: left; */
    padding: 20px 5%;
}
.sitemap .navCommon ul li dl dt {
    border-bottom: solid 1px #cccccc;
    padding-bottom: 10px;
}

.sitemap .navCommon ul li dl dt,
.sitemap .navCommon ul li dl dd {
    margin-bottom: 10px;
    position: relative;
}

.sitemap .navCommon ul li dl dt a {
    font-size: 15px;
}
.sitemap .navCommon ul li dl dd {
    display: inline-block;
    width: 32%;
}
.sitemap .navCommon ul li dl dd.sub {
}
.sitemap .navCommon ul li dl dd a {
}
.sitemap .navCommon ul li dl dd.sub a{padding-left: 35px;}
.sitemap .navCommon ul li dl dt a,
.sitemap .navCommon ul li dl dd a{
    padding-left: 25px;
}

.sitemap .navCommon ul li dl dt a,
.sitemap .navCommon ul li dl dd a{
    padding-left: 25px;
}
.sitemap .navCommon ul li dl dt a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 35%;
    left:5px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}
.sitemap .navCommon ul li dl dd a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left:5px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}

.sitemap .navCommon ul li dl dd.sub a::before{
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    top: 0%;
    left: 15px;
    margin-top: 0px;
}
.sitemap .navCommon ul li dl dd.new_line{
    width: 100%;
}
.sitemap .navCommon p a::before,
.sitemap .navCommon ul li dl dt a::before{
    color: #ffffff;
    background-color: #d00747;
    /* border-radius: 50%; */
}





footer .ftBtm{
    background-color:#fff;
    padding: 50px 0;
}
footer .ftLink{
    display: flex;
    align-items: center;
    margin-bottom: 50px;
}
footer .ftLink ul{
    display:
        flex;
    flex-wrap:
        wrap;
    justify-content: center;
    /* width: 49%; */
    margin-left: 30px;
}

footer .ftLink ul li{margin: 0 15px;}

footer .ftLink ul li a{
    color: #333333;
    text-decoration: none;
    font-size: 14px;
}
footer .sub{
    display: none;
}
.ftBtm .ftLink .logo {
    max-width: 50px;
    width: 30%;
}
.ftBtm .ftLink .logo img{
    width:100%;
}
.copy {
    font-size: 11px;
    color: #000000;
    text-align: left;
    padding: 10px 0;
}

.page_top {
    width: 70px;
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 5;
    background-color: rgb(207, 3, 82);
    color: #ffffff;
    text-align: center;
    padding: 10px 10px 0px;
    cursor: pointer;
    font-size: 12px;
}
.page_top i{
    line-height: 15px;
}




/*¥³¥ó¥Æ¥ó¥Ä¥Õ¥§©`¥É¥¢¥Ë¥á©`¥·¥ç¥ó*/
.fadein {
    opacity : 0;
    transition : all 2000ms;
    animation-timing-function: ease-in-out;
}
.fadein.scrollin {
    opacity : 1;
}

.fadein.jyutan{
    transform : translate(100px, 100px);
    transition: all 1000ms;
}
.fadein.jyutan.scrollin {
    transform : translate(0, 0);
    transition-timing-function: ease-in-out;
}



.fadein.akubi{
    transform : translate(0px, -100px);
    transition : all 1000ms;
    transition-timing-function: cubic-bezier(0.34, 1.53, 0.86, 1.37);
}
.fadein.akubi.scrollin {
    transform : translate(0, 0);
}



/****
common
***/


.conw {
    width: 100%;
    overflow: hidden;
}
.conw {
    padding-bottom: 0px;
}
.con {
    width: 100%;
    padding: 0px 0 100px;
    margin: 0 auto;
    font-feature-settings: "palt";
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    justify-content: center;
    gap: 2vw;
}
.con.conTop{
    display:block;
    max-width: none;
}
.con >*:nth-last-child(1){
    flex-grow: 1;
}
.con >*:nth-last-child(2){
    flex-grow: 0;
}
.con img{
    width:100%
        ;
    max-width: max-content;
}

.block {
    max-width: 1200px;
    margin: 0 auto;
    width: 96%;
}



.secTit {background-size: cover;background-repeat: no-repeat;margin-bottom: 3vw;background-position: top center;position: relative;}
.secTit p.pan {
}
.secTit p.pan a {
}
.secTit p.ttl {max-width: 420px;text-align: center;margin:0 auto;padding: 7vw 0;color: #000000;font-size: 20px;background: rgb(255,255,255);filter: alpha(opacity=90);background: rgba(255,255,255,0.9);}
.secTit p.ttl img {/* max-width: 120px; */max-height: 100px;width: auto;margin-right: 30px;}
.secTit p.ttl span{
    font-size: 42px;
    letter-spacing: 5px;
    display: block;
}


.titw {
    position: relative;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;/* background-attachment: fixed; */
}


.top h2.ttl{
    position: relative;
    color: #333;
    /* background-color: #f5f5f5; */
    padding: 3px 15px;
    font-size: 24px;
    border-left: solid 3px #d00847;
    /* font-weight: normal; */
    margin-bottom: 50px;
    border: none;
    text-align: center;
}

h2.ttl{
    position: relative;
    color: #333;
    /* background-color: #f5f5f5; */
    padding: 3px 15px;
    font-size: 24px;
    border-left: solid 3px #d00847;
    /* font-weight: normal; */
    margin-bottom: 30px;
}


h2.ttl::before {
    /* content:""; */
    height: 1px;
    width: 100%;
    position:absolute;
    bottom: 8px;
    left: 0%;
    margin-left: 0%;
    /* background-color:#333333; */
    /* box-shadow: 3px 3px 0px 1px rgba(0,0,0,0.1); */
}


h2.ttl + .txt{/* text-align:center; *//* margin-bottom: 3vw; *//* font-size: 18px; *//* font-weight: bold; */}



h3.ttl{
    position: relative;
    color: #333;
    /* background-color: #f5f5f5; */
    padding: 3px 0px;
    font-size: 20px;
    border-bottom: solid 1px #333;
    /* font-weight: normal; */
    margin-bottom: 20px;
}


.eng{font-family: 'Playfair Display', serif;}



.panw {
}
.pan {
    text-align: left;
    font-size: 13px;
    padding: 20px 2% 50px;
    width: 96%;
    color: #666;
}
.pan a {
    color: #666;
}
.txt {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.2em;
    margin-bottom: 30px;
}
.txt a{
    text-decoration:
        underline;
    color: #d00847;
}

.txt strong.txtBold{
    font-size: 110%;
    font-family: "Hiragino Mincho Pro", "¥Ò¥é¥®¥ÎÃ÷³¯ ProN W3", "Hiragino Mincho ProN";
}
.img{
    position:relative;
    margin-bottom:20px;
}

.w2P3{
    width:75%;
    margin:0 auto;
}
.w1P2{

}
.w1P4{

}
.w1P1{

}

.col2{
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}
.col2 > *{
    width: 48%;
}


.con .mincho {
    font-weight:bold;
}
.con .mincho .cap{
    font-weight:normal;
}

.conL{
    width: 77%;
}
.noNavR .conL{
    width: 100%;
}


.conL table {
    border-collapse:
        collapse;
    width: 100%;
    margin-bottom: 20px;
}
.conL table thead {}
.conL table thead tr th{
    text-align:center;
}
.conL table th,
.conL table td {
    font-size: 16px;
    text-align: left;
    background-color: #ffffff;
    vertical-align: middle;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    border-left: none;
    border-right: none;
    box-sizing: border-box;
    padding: 15px 2em;
}
.conL table th{
    font-weight: bold;
    /* padding: 20px 2em 20px 2%; */
    position: relative;
    /* width: 23%; */
    /* min-width: 200px; */
    text-align: left;
}
.conL table a{
    /* color: #d00847; */
    text-decoration: underline;
}
.conL table .btnSmall{
    width: auto;
    padding: 2px 10px;
    display: inline-block;
    text-align: left;
    font-size: 0.8em;
    position: relative;
    background-color: #d00847;
    color: #ffffff;
    border-radius: 0px;
    /* box-shadow: 2px 2px 0px 0px #174b6f; */
    transition: all 0.3s linear;
    text-decoration: none;
    margin-left: 10px;
    cursor: pointer;
}
.conL table a span.material-icons{
    font-size: 22px;
    margin-left: 10px;
    vertical-align: middle;
    color: #d00847;
}
.cat + .txt {
    text-align:center;
    margin-bottom: 5vh;
    font-size: 16px;
}
.cat {
    font-size: 30px;
    line-height: 2;
    margin-bottom: 30px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.2em;
}
.chu {
    font-size: 12px;
    color: #333333;
    text-align: left;
    font-family:"Hiragino Kaku Gothic Pro","¥Ò¥é¥®¥Î½Ç¥´ Pro W3","¥á¥¤¥ê¥ª","Meiryo","£Í£Ó £Ð¥´¥·¥Ã¥¯",sans-serif;
    font-weight:normal;
}
.left {
    float: left;
}
.right {
    float: right;
}





span.cap {
    position: absolute;
    bottom: 0px;
    right: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    padding: 1px 5px;
    font-size: 12px;
}


.btnPri {
    width: 96%;
    margin: 0 auto;
    text-align: center;
    max-width: 600px;
}
.btnPri li{
    display:inline-block;
    width: 29%;
    margin: 0 1%;
}
.btnPri li a {
    display: block;
    text-decoration: none;
    text-align: center;
    background-color: #97504b;
    color: #ffffff;
    padding: 10px 0;
    /* border: solid 1px #cbc38c; */
    font-size: 14px;
}
.btnPri li a:hover {
    background: #9b544d;
    color: #ffffff;
    padding: 10px 0;
    opacity: 1;
}
.btnPri li a i {
    display: block;
}

.bnr{
    max-width:1000px;
    margin: 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bnr a{
    display:block;
    margin: 0 1% 10px;
    /* width: 44%; */
    max-width: 435px;
    cursor: pointer;
}
.bnrCm{
    display: block;
    border: solid 3px #d00847;
    padding: 40px 50px;
    background: url(/common/img/top/cm.jpg) right center no-repeat;
    background-size: contain;
    width: 70%;
    margin: 0 auto;
    font-size: 36px;
    box-sizing: border-box;
    background-color: #d00847;
    color: #fff;
    font-weight: bold;
}




.secOther {/* background-color: #f1f1f1; */padding: 50px 0;border-top: solid 1px #f1f1f1;}
.secOther ul {display: flex;align-items: stretch;justify-content: center;flex-wrap: wrap;margin-bottom: 30px;}
.secOther ul li {width: 30%;transition: all 0.3s linear;/* border-radius: 20px; *//* overflow: hidden; */margin: 0 1% 25px;background-color: #fff;}
.secOther ul li:hover {
    /* box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 30%); */
}
.secOther ul li a {display: block;/* border: solid 1px #d00847; */box-shadow: 3px 3px 1px 0px rgb(0 0 0 / 20%);}
.secOther ul li a img {
}
.secOther ul li a .box {padding: 20px 5%;text-align: left;}
.secOther ul li a .box h4 {font-size: 18px;color: #333;text-align: center;margin-bottom: 0px;height: 2em;display: flex;align-items: center;justify-content: center;}
.secOther ul li a .box .txt {}
.secOther ul li a .box .txt sup {
}
.secOther ul li a .box p.btn {display: none;}
.secOther ul li a .box p.chu {/* text-align: center; */}

.secOther .lstBnar {margin-bottom: 0px;}
.secOther .lstBnar li {width: auto;}
.secOther .lstBnar li a {box-shadow: none;}
.secOther .lstBnar li a img {
}
.secOther .lstBnar li a .box h4 {font-size: 14px;color: #333;text-align: center;margin-bottom: 0px;}


/***common***/
.secTitle{
    padding: 50px 10%;
    position: relative;
    border-bottom: solid 1px #f1f1f1;
}

.secTitle .title{position: relative;z-index: 1;/* width: 50%; */}
.secTitle .title h1{font-size: 30px;/* background-color: #00000085; */display: inline-block;font-weight: bold;/* color: #fff; */}
.bgTitle {
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(/common/images/works/commerce/yamada.jpg) center center no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    opacity: 0.2;
}
.bgTitle.bgTitle_front_company_top,
.bgTitle.bgTitle_front_company_outline,
.bgTitle.bgTitle_front_company_history,
.bgTitle.bgTitle_front_company_officer,
.bgTitle.bgTitle_front_company_network,
.bgTitle.bgTitle_front_company_associate,
.bgTitle.bgTitle_front_company_promotion,
.bgTitle.bgTitle_front_company_network{
    background-image: url(/common/img/common/bgTitlecompany.jpg);
}
.bgTitle.bgTitle_front_construction_top,
.bgTitle.bgTitle_front_construction_works_top,
.bgTitle.bgTitle_front_construction_works_house,
.bgTitle.bgTitle_front_construction_works_commerce,
.bgTitle.bgTitle_front_construction_works_medical,
.bgTitle.bgTitle_front_construction_works_hotel,
.bgTitle.bgTitle_front_construction_works_office,
.bgTitle.bgTitle_front_construction_works_factory,
.bgTitle.bgTitle_front_construction_works_public,
.bgTitle.bgTitle_front_construction_works_redevelopment,
.bgTitle.bgTitle_front_construction_land,
.bgTitle.bgTitle_front_construction_pc,
.bgTitle.bgTitle_front_construction_solar{
    background-image: url(/common/img/common/bgTitleconstruction.jpg);
}


.bgTitle.bgTitle_front_sustainability_top{
    background-image: url(/common/img/common/bgTitlesustainability.jpg);
}
.bgTitle.bgTitle_front_ir_top,
.bgTitle.bgTitle_front_ir_library,
.bgTitle.bgTitle_front_ir_securities,
.bgTitle.bgTitle_front_ir_highlight,
.bgTitle.bgTitle_front_ir_calendar,
.bgTitle.bgTitle_front_ir_shareholders,
.bgTitle.bgTitle_front_ir_stockinformation,
.bgTitle.bgTitle_front_ir_results,
.bgTitle.bgTitle_front_ir_news{
    background-image: url(/common/img/common/bgTitleir.jpg);
}
.sec{
    padding: 50px 0;
}


/***works***/
.secSrch{background-color: #f5f5f5;padding: 10px 0%;}
.secSrch ul{display: flex;flex-wrap: wrap;justify-content: flex-start;align-items: center;}
.secSrch ul li{/* width: 21%; */margin: 0px 0% 10px;border-right: solid 1px #b1b1b1;}
.secSrch ul li a {padding: 0px 10px;text-decoration: none;color: #333;box-sizing: border-box;font-size: 14px;/* background-color: #fff; */text-align: center;/* display: block; */}
.secSrch ul li.on a{
    /* border-top: solid 3px #d00847; */
    color: #d00847;
}
.worksSrchTxt{
    margin-top:30px;
    margin-bottom: 0;
    border:solid 1px #d00847;
    color:#d00847;
    padding:10px;
    text-align:center;
}

.secSrch.large{background-color: #f5f5f5;/* padding: 0; */margin-bottom: 30px;margin-top: 0;}
.secSrch.large ul{display: flex;flex-wrap: wrap;justify-content: space-around;}
.secSrch.large ul li{width: 23%;/* margin: 5px 0%; */border-right: none;}
.secSrch.large ul li a {padding: 15px 10px;text-decoration: none;color: #333;box-sizing: border-box;font-size: 18px;background-color: #fff;text-align: center;display: block;border: solid 1px #d00847;font-weight: bold;box-shadow: 2px 2px 0px 1px #d00847;position: relative;}
.secSrch.large ul li.on a{
    border: solid 1px #d00847;
    color: #ffffff;
    background-color: #d00847;
}
.secSrch.large ul li a::after{content: "";position:absolute;top:50%;margin-top:-5px;right: 8%;display: inline-block;width: 20px;height: 7px;border-right: 2px solid #d00847;border-bottom: 1px solid #d00847;transform: skewX(45deg);transition: all 0.3s linear;}
.secSrch.large ul li a:hover::after{
    right: 6%;
}
.secSrch.large ul li.on a::after{border-right: 2px solid #fff;border-bottom: 1px solid #fff;}
.secSrch.large ul li.on a:hover::after{
    right: 6%;
}

.secSrch.large.btnAnc ul li a::after{
    font-family: 'Material Icons';
    content: "\e313";
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -15px;
    font-size: 30px;
    color: #d00847;
    border: none;
    transform: none;
}


.secLstWorks{}
.secLstWorks ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.secLstWorks ul li{width: 48%;/* width: 100%; */margin: 0 1% 15px;position: relative;padding: 15px;box-sizing: border-box;border: solid 3px #d9d9d9;transition: all 0.3s linear;}
.secLstWorks ul li:hover{
    border-color: #d00847;
    /* border-width: 4px; */
    /* outline: solid 3px #d00847; */
    /* outline-offset: -3px; */
}

.secLstWorks ul li a::before {
    /* content: ""; */
    display: block;
    padding-top: 43%;
}
.secLstWorks ul li a {display: flex;align-items: center;justify-content: center;position: relative;width: 100%;/* height: 200px; */overflow: hidden;margin-bottom: 20px;aspect-ratio: 5 / 3.3;background-color: #ededed;cursor: pointer;}
.secLstWorks ul li a::after{
    content: "£«";
    display: block;
    position: absolute;
    background-color: rgb(0 0 0 / 60%);
    bottom: 0px;
    right: 0px;
    z-index: 5;
    font-size: 16px;
    color: #ffffff;
    padding: 0px 5px;
    font-weight: bold;
}

.secLstWorks ul li dl{
    color: #333;
    width: 100%;
}
.secLstWorks ul li dl dt{
    font-size: 18px;
    min-height: 2em;
    margin-bottom: 10px;
    font-weight: bold;
}
.secLstWorks ul li dl dd{
    font-size: 16px;
}
.secLstWorks ul li a img{width: auto;height: 100%;/* position: absolute; *//* max-width: none; */transition: all 0.3s linear;}
.secLstWorks ul li a:hover img{
    transform: scale(1.1);
}
.secLstWorks ul li a img.yoko{width: 100%;height: auto;/* position: absolute; *//* max-width: none; *//* top: 0; *//* left: 0; *//* bottom: 0; *//* right: 0; */}
.secLstWorks ul li a:hover{
    opacity:1;
}
.secLstWorks ul li a::before{
    /* content: ""; */
    position:
    absolute;
    /* width:100%; */
    /* height: 100%; */
    /* top:0; */
    /* left:0; */
}
.secLstWorks ul li a:hover::before{
    visibility: visible;
    opacity: 1;}
.secLstWorks ul li a:hover span{
    visibility: visible;
    z-index: 3;
}

.ui-dialog-title{
    /*display:none;*/
        white-space: initial !important;
}
.ui-dialog .ui-dialog-titlebar{
    /*padding: 1.4em 1em !important;*/
}

iframe#dialog_iframe_target{ min-height: 70vh;}


/
sustainability
*/
.sustainability {
}
.sustainability .sec01 {
}
.sustainability .sec01 h2.ttl {
}
.sustainability .sec01 p.txt {
}
.sustainability .sec02 {
}
.sustainability .sec02 h2.ttl {
}
.sustainability .sec02 p.txt {
}
.sustainability .sec02 ul {display: flex;justify-content: space-evenly;margin-top: 60px;flex-direction: column;}
.sustainability .sec02 ul li {width: 100%;/* background-color: #f3f3f3; */border: solid 1px #ccc;padding: 30px 3% 20px;box-sizing: border-box;margin-bottom: 50px;position: relative;}
.sustainability .sec02 ul li h3 {text-align: center;margin-bottom: 20px;background-color: #37ab53;padding: 10px;color: #fff;position: absolute;top: -30px;left: -1%;width: 10em;}
.sustainability .sec02 ul li p.txt {font-size: 16px;margin-bottom: 0;}
.sustainability .sec02 ul li p.txt.points{
    position: relative;
    margin-left: 1em;
}
.sustainability .sec02 ul li p.txt.points::before {
	content:"?";
	position:absolute;
	left:-1em;
}
.sustainability .sec03 {
}
.sustainability .sec03 h2.ttl {
}
.sustainability .sec03 .boxCase {border-bottom: solid 1px #ccc;padding: 30px 0;margin-bottom: 30px;}
.sustainability .sec03 .boxCase h3 {font-size: 30px;display: flex;align-items: center;margin-bottom: 20px;/* background-color: #37ab53; *//* padding: 10px 0%; */color: #37ab53;}
.sustainability .sec03 .boxCase h3 strong {font-size: 180%;margin-right: 15px;}
.sustainability .sec03 .boxCase h3 + div{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sustainability .sec03 .boxCase article {width: 75%;display: flex;/* margin-bottom: 30px; */flex-wrap: wrap;}
.sustainability .sec03 .boxCase article p.txt {
    width: 100%;
    font-size: 16px;
}
.sustainability .sec03 .boxCase .boxIco {text-align: left;margin-bottom: 40px;width: 100%;}
.sustainability .sec03 .boxCase .boxIco img {width: 12%;}
.sustainability .sec03 .boxCase .img {margin-bottom: 10px;position: relative;width: 21%;}
.sustainability .sec03 .boxCase .img img {
}
.sustainability .sec03 .boxCase .img span {font-size: 13px;}
.sustainability .sec03 .boxCase a.btn {border: solid 1px #333;background-color: #fff;color: #333;}
.sustainability .sec03 .boxCase a.btn::after{content: "";position:absolute;top:50%;margin-top:-5px;/* right:10%; */display: inline-block;width: 30px;height: 7px;border-right: 2px solid #333;border-bottom: 1px solid #333;transform: skewX(45deg);transition: all 0.3s linear;}




/
company
*/
.company {}
.company .sec01{
    text-align:
        center;
    padding-bottom: 20px;
}
.company .sec02{
    text-align:
        center;
    position:
        relative;
    /* display: flex; */
    margin-bottom: 50px;
}
.company .sec02 .img{
    width: 50%;
    display: flex;
    margin: 0 auto;
}

.history {}
.history .tblHis{}
.history .tblHis th{
    text-align: right;
}
.history .tblHis th.year{
    padding: 15px 0em 15px 1em;
    width: 5em;
}
.history .tblHis th.month{
    padding: 15px 1em 15px 0em;
    width: 4em;
}
.history .tblHis td .img{
    margin-top: 10px;
    width: 50%;
    /* display: inline-block; */
    /* float: right; */
}
.history .tblHis td .img img{}



.officer{}
.tblOfficer{}
.tblOfficer tr{}
.tblOfficer tr th{
    width: 13em;
}
.tblOfficer tr td.name{
    width: 13em;
}

.promotion{
    border-left: solid 1px #ccc;
}
.promotion tr th,
.promotion tr td{
    border-right: solid 1px #ccc;
}



/
construction
*/
.construction{}


.construction .sec01 {
}
.construction .sec01 h2.ttl {
}
.construction .sec01 p.txt {
}
.construction .sec01 p.img {text-align: center;}
.construction .sec01 p.img img {
}
.construction .sec02 {
}
.construction .sec02 .secConst {display: flex;flex-wrap: nowrap;justify-content: space-between;align-items: center;padding: 40px 0;}
.construction .sec02 .secConst .box {width: 45%;padding: 0 5%;}
.construction .sec02 .secConst .box h3 {font-size: 30px;margin-bottom: 20px;}
.construction .sec02 .secConst .box p.txt {
}
.construction .sec02 .secConst .box a.btn {
}
.construction .sec02 .secConst img {width: 58%;/* height: 100%; */}
.construction .sec02 .secConst.reverse {
    flex-direction: row-reverse;
}
.construction .sec02 .secConst.reverse .box {
}
.construction .sec02 .secConst.reverse .box h3 {
}
.construction .sec02 .secConst.reverse .box p.txt {
}
.construction .sec02 .secConst.reverse .box a.btn {
}
.construction .sec02 .secConst.reverse img {
}



.construction .cateTopMenu {display: flex;flex-wrap: wrap;justify-content: flex-start;width: 100%;margin: 0 auto 50px;}
.construction .cateTopMenu.col2{
}
.construction .cateTopMenu.col2 li{
    width:48%    
}
.construction .cateTopMenu li {width: 31.33333%;margin: 0 1% 20px;box-shadow: inset 1px 1px 0 rgb(0 0 0 / 10%), 1px 1px 0 rgb(0 0 0 / 10%);transition: all 0.3s linear;/* padding: 0px 0% 30px; */box-sizing: border-box;border: solid 1px #d00847;}
.construction .cateTopMenu li:hover{background-color: #ffeef3;}

.construction .cateTopMenu li a {display: block;padding: 0px 0;}

.construction .cateTopMenu li p.img {text-align: center;/* width: 36%; */margin: 0 auto 0px;}
.construction .cateTopMenu li p.img img {
    max-width: none;
}
.construction .cateTopMenu li dl {text-align: center;}
.construction .cateTopMenu li dl dt ,
.construction .construction .cateTopMenu li dl dd {
    padding: 10px 0;
}
.construction .cateTopMenu li dl dt {font-size: 18px;font-weight: bold;}
.construction .cateTopMenu li dl dt a {
}
.construction .cateTopMenu li dl dd {
}
.construction .cateTopMenu li dl dd a {
}
.construction .cateTopMenu li dl dd a::before{
    top: 50%;
    left: 20px;
    margin-top: -8px;
    font-size: 16px;
}

.construction .cateTopMenu li dl dt a,
.construction .cateTopMenu li dl dd a{
    padding-left: 30px;
    position: relative;
}





.pc{}
.pc .sec04 {
}
.pc .sec04 h2.ttl {
}
.pc .sec04 ul {display: flex;justify-content: space-between;}
.pc .sec04 ul li {width: 28%;position: relative;}
.pc .sec04 ul li h4 {background-color: #174b6f;color: #fff;padding: 10px 0;text-align: center;}
.pc .sec04 ul li p.img {margin-bottom: 10px;position: relative;}
.pc .sec04 ul li p.img img {
}
.pc .sec04 ul li .img::after{
    font-family: 'Material Icons';
    content: "\e037";
    position: absolute;
    top: 50%;
    right: -63px;
    margin-top: -30px;
    font-size: 60px;
    color: #7995a9;
}
.pc .sec04 ul li:last-child .img::after{
    content:none;
}
.pc .sec05 {
}
.pc .sec05 h2.ttl {
}
.lstjisseki {display: flex;justify-content: space-between;flex-wrap: wrap;}
.lstjisseki li {width: 32%;}
.lstjisseki li p.img {text-align: center;background-color: #ededed;}
.lstjisseki li p.img img {height: 221px;width: auto;max-width: 100%;}




.land {
}
.land .sec01 {
}
.land .sec01 p.cat {
}
.land .sec01 p.txt {
}
.land .sec02 {
}
.land .sec02 h2.ttl {
}
.land .sec02 p.txt {
}
.land .sec02 p.img {text-align: center;}
.land .sec02 p.img img {
}
.land .sec02 .sec02_1 {border: solid 1px #1e51a2;margin-top: 50px;}
.land .sec02 .sec02_1 h3 {background-color: #1e51a2;text-align: center;padding: 10px 0;color: #fff;}
.land .sec02 .sec02_1 ul {display: flex;padding: 50px 3%;justify-content: space-around;}
.land .sec02 .sec02_1 ul li {text-align: center;width: 42%;}
.land .sec02 .sec02_1 ul li img {margin-bottom: 30px;}
.land .sec02 .sec02_1 ul li h4 {color: #1e51a2;font-size: 20px;border-bottom: solid 1px #1e51a2;margin-bottom: 10px;padding-bottom: 10px;}
.land .sec02 .sec02_1 ul li p.txt {text-align: left;}

.land .sec03{}
.land .sec04{}



.land .secLandSystem {
}
.land .secLandSystem h2.ttl {
}
.land .secLandSystem h2.ttl small {
}
.land .secLandSystem .secLandSystem01 {display: flex;justify-content: space-between;margin-bottom: 50px;}
.land .secLandSystem .secLandSystem01 p.txt {width: 55%;}
.land .secLandSystem .secLandSystem01 p.txt img {float: right;margin-top: 20px;}
.land .secLandSystem .secLandSystem01 p.img {width: 42%;}
.land .secLandSystem .secLandSystem01 p.img img {
}
.land .secLandSystem .secLandSystem02 {text-align: center;margin-bottom: 50px;}
.land .secLandSystem .secLandSystem02 p.img {
}
.land .secLandSystem .secLandSystem02 p.img img {
}
.land .secLandSystem .secLandSystem03 {
}
.land .secLandSystem .secLandSystem03 h3.ttl {
}
.land .secLandSystem .secLandSystem03 ul {display: flex;justify-content: space-between;}
.land .secLandSystem .secLandSystem03 ul li {width: 48%;}
.land .secLandSystem .secLandSystem03 ul li div {display: flex;justify-content: space-between;margin-bottom: 20px;}
.land .secLandSystem .secLandSystem03 ul li  dl {width: 50%;}
.land .secLandSystem .secLandSystem03 ul li  dl dt {font-weight: bold;font-size: 18px;margin-bottom: 10px;color: #1e51a2;}
.land .secLandSystem .secLandSystem03 ul li  dl dd {
}
.land .secLandSystem .secLandSystem03 ul li  img {
}
.land .secLandSystem .secLandSystem03 ul li p.txt {font-size: 78%;}

.solar_img{
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    max-width: 864px;
    margin: 0 auto;
    align-items: flex-start;
}




/*============================
IR
============================*/
section#ancZaim,
section#ancEigyo{
    padding-top: 180px;
    margin-top: -180px;
}
.calendar .tblCalendar th{
    text-align: right;
}
.calendar .tblCalendar th.year{
    padding: 15px 0em 15px 1em;
    width: 5em;
}
.calendar .tblCalendar th.month{
    padding: 15px 1em 15px 0em;
    width: 8em;
}





.cateTopMenu {display: flex;flex-wrap: wrap;justify-content: flex-start;max-width: 950px;margin: 0 auto;}
.cateTopMenu li {width: 31.33333%;margin: 0 1% 20px;box-shadow: inset 1px 1px 0 rgb(0 0 0 / 10%), 1px 1px 0 rgb(0 0 0 / 10%);transition: all 0.3s linear;/* padding: 0px 0% 30px; */box-sizing: border-box;border: solid 1px #d00847;}
.cateTopMenu li:hover{background-color: #ffeef3;}

.cateTopMenu li a {display: block;padding: 30px 0;}

.cateTopMenu li p.img {text-align: center;/* width: 36%; */margin: 0 auto 20px;}
.cateTopMenu li p.img img {
    max-width: 75px;
}
.cateTopMenu li dl {text-align: center;}
.cateTopMenu li dl dt ,
.cateTopMenu li dl dd {
    padding:5px 0;
}
.cateTopMenu li dl dt {font-size: 18px;font-weight: bold;}
.cateTopMenu li dl dt a {
}
.cateTopMenu li dl dd {
}
.cateTopMenu li dl dd a {
}
.cateTopMenu li dl dd a::before{
    top: 50%;
    left: 20px;
    margin-top: -8px;
    font-size: 16px;
}

.cateTopMenu li dl dt a,
.cateTopMenu li dl dd a{
    padding-left: 30px;
    position: relative;
}
.cateTopMenu li dl dt a::before,
.cateTopMenu li dl dd a::before{
    font-family: 'Material Icons';
    content: "\E315";
    position:absolute;
    top: 50%;
    left:5px;
    margin-top: -8px;
    font-size: 16px;
    color: #b3b3b3;
    display:  inline-block;
}

.cateTopMenu li dl dt a::before{
    color: #ffffff;
    background-color: #333;
    /* border-radius: 50%; */
}


.lstLink{
    margin-bottom: 50px;
}
.lstLink li{}
.lstLink li a{
    display: block;
    padding: 15px;
    border-bottom: solid 1px #ccc;
}
.lstLink li a:hover{
    background-color: #ffe6ee;
}
.lstLink li a span{
    color: #d00747;
    vertical-align: middle;
    margin-left: 10px;
    font-size: 22px;
}

.lstGraph{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.lstGraph li{
    width: 48%;
    loat: left;
    margin: 0 0% 50px;
}
.lstGraph li h3.ttl{
    margin-bottom: 10px;
}
.lstGraph li .unit{
    text-align: right;
    font-weight: bold;
}
.lstGraph li .chu{
    text-align: right;
}

.secSrch ul.col2 li{
    width: 46%;
}
.secSrch ul.col3 li{
    width: 32%;
}






.secForm{
    width:96%;
    max-width:1100px;
    /* margin:0 auto; */
}

/****step****/
.formStep {
    list-style: none;
    margin-bottom: 20px;
    margin: 0 auto 30px;
    text-align: center;
    position:relative;
}
.formStep:before{
    content:"";
    height:1px;
    position:absolute;
    width: 60%;
    background-color:#dadada;
    top:50%;
    left: 20%;
}
.formStep li {
    width: 20%;
    position:relative;
    border-radius: 50%;
    display: inline-block;
    margin: 0 5%;
    text-align: center;
}


.formStep.noConf li {
    width:30%;
}


.formStep li::before{
    position:absolute;
    top: 5px;
    right: 10px;
    z-index: 100;
}

.formStep li p {
    color: #ffffff;
    /* font-weight: bold; */
    padding: 15px 0;
    background: #dadada;
    position: relative;
    display: block;
    text-align: center;
    font-size: 16px;
    border-radius: 15px;
    width: auto;
    line-height: 30px;
    margin: 0 auto;
}

.formStep li.on p {
    background-color: #1a2e51;
}
.formStep li p i{
    vertical-align:middle;
    margin-right:10px;
}

/*    .past{
        background-color: #e9e9e9;
    }*/

.ui-widget-overlay{
    background: #000 !important;
    opacity: .8 !important;
}


/****form****/

.formBox{padding-bottom: 50px;}



.formBox table.tableForm {
    border-collapse:collapse;
    margin: 0px auto 30px;
    width: 99%;
}
.formBox table.tableForm th,
.formBox table.tableForm td {
    font-size: 16px;
    text-align: left;
    background-color: #ffffff;
    vertical-align: middle;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    border-left: none;
    border-right: none;
    box-sizing: border-box;
}
.formBox table.tableForm th{
    font-weight: bold;
    padding: 20px 2em 20px 2%;
    position: relative;
    width: 24%;
    min-width: 200px;
}    

.formBox table.tableForm th.must::after{
    content:"±Øíš";
    position: absolute;
    top: 38%;
    right: 2%;
    display: inline-block;
    vertical-align: middle;
    background-color: #d80006;
    border-radius: 5px;
    padding: 3px 5px 4px;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    font-size: 12px;
}
.formBox table.tableForm td{padding: 20px 1%;}
.formBox table.tableForm td p{
    margin-top:10px;
}
.formBox table.tableForm td span.label{
    width: 2em;
    display:
        inline-block;
    margin: 0 10px;
}
.zip_suggest {
    background: #fff;
    border: solid 1px #ccc;
    border-radius: 5px;
    width: 45%;
    padding: 5px;
    margin-top:5px;
    position: relative;
}
.zip_suggest li{
    padding: 3px;
    font-size: 14px;
}
.zip_suggest li:hover {
    background-color: #ffffc8;
    cursor:pointer;
}
.zip_suggest input[type=button] {
    font-size:14px;
    background-color: #eaeaea;
    border-radius: 5px;
}


input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=date],
input[type=month],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=week],
input[type=number],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea {
    padding: 10px 2%;
    display: inline-block;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 3px #ddd;
    border-radius: 4px;
    vertical-align: middle;
    width: 96%;
}
label { display: block }
.c1 { width: 50%!important }
.c2 { width: 40%!important }
.zipBtn { display: inline }

.formBox input[type=text],
.formBox input[type=tel],
.formBox input[type=email],
.formBox textarea,
.formBox select{
    font-size:16px;
    /* margin-bottom: 10px; */
}
.formBox .btn{
    max-width: 96%;
    width: 400px;
    padding: 20px 6%;
}

.telephone,
.fax,
.mobile { width: 140px }
.notyet {
    background: #ffe9e9;
    color: #333;
}
textarea{
    resize: vertical;
    height: 100px;
}

label {
    display: inline-block;
    transition: all 0.3s linear;
    position: relative;
    height: 35px;
    line-height: 34px;
    font-size: 14px;
    cursor: pointer;
    padding-left: 35px;
    width: calc(100% - 35px);
}

label:hover {
    background-color: #ffffc8;
}

input[type=radio] ,
input[type=checkbox] {
    margin: 5px;
    width: 22px;
    height: 22px;
}

label input[type=checkbox] {
    margin: 5px;
    width: 22px;
    height: 22px;
    position: absolute;
    top: 0;
    left: 0;
}
label input[type=radio] {margin: 5px;width: 22px;height: 22px;position: absolute;top: 0;left: 0;}




input[type=submit]{
    max-width: 500px;
    width: 96%;
    margin:0 auto;
    border-radius: 30px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 2%;
    margin-bottom: 10px;
    cursor: pointer;
    display: block;
    text-decoration: none;
    color: #fff;
    position:relative;
    background-color: #f25812;
    outline: none;
    border: none;
    transition: all 0.3s linear;
}
input[type=submit]:hover{
    background-color: #f59930;
}

input[type=button].btnBack{
    max-width: 300px;
    width: 60%;
    margin:0 auto;
    border-radius: 30px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 2%;
    margin-bottom: 10px;
    cursor: pointer;
    display: block;
    text-decoration: none;
    color: #fff;
    position:relative;
    background-color: #989898;
    outline: none;
    border: none;
    transition: all 0.3s linear;
}

ul.err {
    position:relative;
    margin-top:  5px;
    display: none;
}

ul.err li {
    position: relative;
    font-size: 12px;
    color: #ff0007;
    background-color: #fff4f4;
    border:  solid 1px #ff0000;
    /* margin-bottom: 2px; */
    border-radius: 5px;
    display: inline-block;
    float: none !important;
    width: auto !important;
    margin-right: 5px;
}


.w30p{
    width: 30px !important;
}
.w55p{
    width: 55px !important;
}
.w15{
    width: 14% !important;
}
.w20{
    width: 18% !important;
}
.w25{
    width: 23% !important;
}
.w33{
    width: 27% !important;
}


.w50{
    width: 42% !important;
}
.w75{
    width: 73% !important;
}


.secComp{
    padding: 50px 0;
}
.secComp .txt{
    text-align:center;
}











/*============================
_print
============================*/
@media print {


}
