  @charset "utf-8";
/* manual
========================================== */
.pcOnly {
    display: none;
}
.spOnly {
    display: none;
}
.tabOnly{
    display:block;
}
.pctabOnly {
    display: block;
}
.tabspOnly {
    display: block;
}
body {
}

img{
    width:100%;
    max-width: max-content;
}
/* header
========================================== */

header {
}


header.hdPc {
    display: none;}
header.hdSp {
    display: block;
    padding: 10px;
    position: fixed;
    z-index: 10;
    background-color: #fff;
    border-bottom: solid 1px #ccc;
}





.hd {


}
header .logo {



}
header .logo img{
    width:100%;
}
header .logo .logo_img {
    width: 303px;
    float: left;
}

header.hdSp nav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    transition: all 0.3s linear;
    visibility: visible;
    background-color: #fff;
    width: 100%;
    top: 59px;
    left: 0;
    /* padding-top: 80px; */
    height:100%;
    z-index: -10;
    box-sizing: unset;
    height: 100vh;
    display: none;
}

header.hdSp nav.show {
    opacity: 1;
    visibility: visible;
    z-index: 10;
    display: block;
}





.btnMenu {display: block;cursor: pointer;position: fixed;height: 80px;width: 80px;text-align: center;z-index: 101;top: 0px;right: 0px;transition: all 0.3s linear;opacity: 1;visibility: visible;}

header .btnMenu {
    display:block;
    cursor: pointer;
    position: fixed;


    text-align: center;
    z-index:101;
    transition: all 0.3s linear;
    height: 50px;
    width: 50px;}

.btnMenu span {
    position: absolute;
    display: block;
    top: 10px;
    left: 25%;
    width: 50%;
    height: 3px;
    /* border-radius:2px; */
    transition: all 0.3s ease-out;
    z-index: 100000;
}
.btnMenu span:nth-of-type(2) {
    top: 20px;
}
.btnMenu span:nth-of-type(3) {
    top: 30px;
}
.btnMenu em {
    position: absolute;
    top: 51px;
    left: 0;
    width: 100%;
    font-size: 16px;
    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: #129d00;
    text-align: center;
    z-index:101;
    top: 0px;
    right: 0px;
    transition: all 0.3s linear;
}*/
.btnMenu.vew span:nth-of-type(1) {
    top: 23px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.btnMenu.vew span:nth-of-type(2) {
    display: none;
}
.btnMenu.vew span:nth-of-type(3) {
    top: 23px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}



header .hdnav {display: none;}
header .hdnav ul{
    float: right;
    width: 63%;
    margin-top: 10px;
}
header .hdnav li {
    float: right;
    width: 18%;
    margin: 0 0.5%;
}

header .hdnav li a{
    color: #333;
    text-decoration:none;
    display: block;
    line-height: 1;
    font-weight: bold;
    font-size: 14px;
    padding: 20px 1%;
    text-align: center;
    box-sizing: border-box;
}





/* gmenu
========================================== */

.hdSp .navCommon{overflow-y: scroll;height: 100vh;padding: 0;} 

.hdSp .navCommon p{text-align: left;padding: 0;}
.hdSp .navCommon p a{padding: 20px 15px 20px 50px;display: block;} 
.hdSp .navCommon ul{
} 
.hdSp .navCommon ul li{width: 100%;}
.hdSp .navCommon ul li.on{display: block;} 
.hdSp .navCommon ul li dl{padding: 0px 0%;} 
.hdSp .navCommon ul li dl dt,
.hdSp .navCommon ul li dl dd{
    border-bottom: solid 1px #f1f1f1;
} 
.hdSp .navCommon ul li dl dt{margin-bottom: 0px;} 
.hdSp .navCommon ul li dl dd{margin-bottom: 0px;} 
.hdSp .navCommon ul li dl dt a,
.hdSp .navCommon ul li dl dd a
{display: block;padding: 20px 15px 20px 50px;} 

.hdSp .navCommon p a::before,
.hdSp .navCommon ul li dl dt a::before,
.hdSp .navCommon ul li dl dd a::before{
    top: 50%;
    left: 20px;
    margin-top: -8px;
    font-size: 16px;
}





/* Contents
========================================== */

.in{
    width: 96%;
    margin: 0 auto;
}

.block{
}

.left{float:left;}
.right{float:right;}

.conw {
}
.con {
    padding: 50px 0 50px;
}


.conL{
    width: 100%;
}






/* top main
========================================== */
.main{
    padding-top: 68px;
}
.mainTop{
    margin-top: 59px;
}

.mainTop .bx-wrapper li{
    /* width: 100% !important; */
}



.bnr{
    max-width:1000px;
    margin:30px auto;
    flex-direction: column;
}
.bnrCm{
    display: block;
    border: solid 3px #d00847;
    padding: 40px 50px;
    /* background: url(/common/images/top/cm.jpg) right center no-repeat; */
    background-size: contain;
    width: 96%;
    margin: 0 auto;
    font-size: 36px;
    box-sizing: border-box;
    background-color: #d00847;
    color: #fff;
    font-weight: bold;
}





.infow h2.ttl {
}

.infow{
    width: 100%;	
}

.info .infoIn dl dt {
    width: 100%;
    float: left;
    margin-right: 0;
}

.info .infoIn dl dd {
    width: 100%;
    float: left;
}

.info .tab li {
    font-size: 16px;
    width: 40%;
}
















.secContents {padding: 80px 0;}
.secContents .secContentsInner {width: 48%;display: flex;position: relative;margin-bottom: 10px;flex-wrap: wrap;align-items: center;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 );}
.secContents .secContentsInner .boxTxt {/* width: 45%; */box-sizing: border-box;padding: 20px 5%;z-index: 2;text-align: center;}
.secContents .secContentsInner .boxTxt h3 {font-size: 5vw;color: #333;}
.secContents .secContentsInner .boxTxt h4 {font-size: 3vw;margin-bottom: 2vw;color: #7A0021;}
.secContents .secContentsInner .boxTxt p.txt {font-size: 16px;margin-bottom: 20px;display: none;}
.secContents .secContentsInner .boxTxt a.btn {max-width: 200px;padding: 10px 5%;font-size: 16px;margin: 10px auto;}
.secContents .secContentsInner .boxImg {/* width: 55%; *//* height: 100%; */}
.secContents .secContentsInner .boxImg img {/* height: 140%; *//* max-width: none; */}
.secContents .secContentsInner img.ini {/* position: absolute; */width: 40%;/* top: 0; *//* left: 0; */display: none;}
.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;}









.secTitle{
    padding: 110px 10% 50px;
    position: relative;
    border-bottom: solid 1px #f1f1f1;
}

.secTitle .title{

    position: relative;z-index: 1;width: 50%;}
.secTitle .title h1{font-size: 30px;/* background-color: #fff; */display: inline-block;font-weight: bold;}




/* footer
========================================== */

footer {
}



.navCommon {/* border-bottom: solid 1px #cccccc; *//* background-color: #f9fdff; */max-width: 1100px;margin: 0 auto;padding: 50px 0;/* display: none; */}
.navCommon p {text-align:  center;/* border-bottom:  solid 1px #cccccc; */padding: 15px;}
.navCommon p a {color:  #333333;text-decoration:  none;position:relative;font-size: 16px;}

.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: 1500px;margin:  0 auto;/* border-left: solid 1px #cccccc; */flex-wrap: wrap;display: flex;/* overflow-y: scroll; *//* height: 80vh; */}
.navCommon ul li {width: 50%;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: 15px;
    position:relative;
}

.navCommon ul li dl dt a {font-size: 18px;}
.navCommon ul li dl dd {
}
.navCommon ul li dl dd.sub {
}
.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: #d00747;
    /* border-radius: 50%; */
}



.navR.navCommon{
    display:none;
} 


footer .ftBtm {
    padding: 10px 0 50px;
}
footer .navCommon{
    display:none;
}

footer .ftLink{
    display: flex;
    align-items: flex-start;
    margin-bottom: 50px;
    flex-direction: column;
}
footer .ftLink ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: flex-start;
    margin: 0 auto;
	text-align: center;
}

footer .ftLink ul li{
	margin: 0 5px;
	text-align: center;
}

footer .ftLink ul li a{
    color: #333333;
    text-decoration: none;
    font-size: 14px;
}
.ftBtm .ftLink .logo {
    max-width: 70px;
    margin: 0 auto 20px;
}
.ftBtm .ftLink .logo img{
    width:100%;
}
.copy {
    font-size: 11px;
    color: #000000;
    text-align: left;
    padding: 10px 0;
}




.page_top {right: 10px;bottom: 5px;}
.page_top i{
}



/****
common
***/
.panw {
    background: url(/common/images/bg_gnon.jpg);
}

.pan {display: none;}
.pan a {
    color: #303030;
}




/***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%; */border-right: solid 1px #b1b1b1;}
.secSrch ul li a {padding: 0px 10px;text-decoration: none;box-sizing: border-box;font-size: 15px;text-align: center;/* display: block; */}
.secSrch ul li.on a{
    color: #d00847;
}
.secSrch.large{background-color: #f5f5f5;/* padding: 0; */margin-top: 0;}
.secSrch.large ul{display: flex;flex-wrap: wrap;justify-content: space-around;flex-direction: row;}
.secSrch.large ul li{width: 48%;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: 14px;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;
}



.secLstWorks{}
.secLstWorks ul{
}
.secLstWorks ul li{
}

.secLstWorks ul li a::before {
}
.secLstWorks ul li a {
}
.secLstWorks ul li a img{/* width: 100%; *//* height: auto; *//* position: absolute; */}
.secLstWorks ul li a img.yoko{/* width: auto; *//* height: 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{
    /* visibility: hidden; */
    /* content:
    ""; */
    /* position:
    absolute; */
    /* width:100%; */
    /* height: 100%; */
    /* background-color: rgb(0 0 0 / 50%); */
    /* top:0; */
    /* left:0; */
    /* z-index: 1; */
    /* transition: all 0.3s linear; */
    /* opacity: 0; */
}
.secLstWorks ul li a:hover::before{
    visibility: visible;
    opacity: 1;}
.secLstWorks ul li a:hover span{
    visibility: visible;
    z-index: 3;
}





@media screen and (max-width: 779px) {

.secForm{
    width: 100%;
    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: 21%;
    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: 10px 5px;
    background: #dadada;
    position: relative;
    display: block;
    text-align: center;
    font-size: 13px;
    border-radius: 15px;
    width: auto;
    line-height: 30px;
    margin: 0 auto;
}
.formStep li p span{
    display:none;
}
.formStep li.on p {
    background-color: #1a2e51;
}
.formStep li p i{
    vertical-align:middle;
    margin-right: 3px;
}

/****calendar****/
.calendar .pnl_legend{
    display: flex;
    gap:1em;
}
.calendar .pnl_legend > *{
    line-height: 1em;
}


.calendar p.txt{
    margin-bottom: 10px;
}
.calendar p.txt strong{
    font-size: 14px;
}
.calendar .pnl_ym{
    display: flex;
    justify-content:space-between;
    flex-wrap: wrap;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 20px;
}

.calendar .block_month{
    display: flex;
    flex-direction:column;
    text-align: center;
}
.calendar .block_month > *{
}
.calendar .block_month > *:first-child{
    /* border: solid 1px #dadada; */
    font-weight: bold;
    padding: 0em;
}

.calendar .pnl_day{
    display: grid;
    grid-template-columns:repeat(7, 1fr);
}
.calendar .pnl_day > *{
    justify-self:stretch;
    border: solid 1px #dadada;
    /*text-align: center;*/
    font-size: 12px;
    display: flex;
    flex-direction:column;
    align-items: center;
    /*justify-content:space-between;*/
    padding: 0.5em 0;
    /*width: 5em;*/
    /* display: table-cell; */
    /* border-collapse: collapse; */
}
.calendar .pnl_day > * > *{
    flex-grow: 1;
    flex-basis: 0;
    font-size: 18px;
    /* min-height: 1em; */
}
.calendar .pnl_day > * > *:first-child{
    font-size: 16px;
    text-align:left;
    /* width: 100%; */
    /* text-indent: 0.5em; */
    }
.calendar .pnl_day > * > *:nth-child(2){
    font-size: 11px;
    }
.calendar .pnl_day > * > *:nth-child(3){
    color:#1a2e51;
    font-size:24px;
}
.calendar .pnl_day > * > *:nth-child(3).app_status_1{
    color:#f25c5c;
}
.calendar .pnl_day > * > *:nth-child(3).app_status_2{
    color:#556f9e;
}
.calendar .pnl_day > * > *:nth-child(3).app_status_3{
    color:#8e8e8e;
}
.calendar .pnl_day > *:not(.hd_week){
    min-height: 5em;
    background-color: #eee;
}
.calendar .pnl_day > button:not(:disabled){
    background-color: white;
    cursor: pointer;
}
.calendar .pnl_day > button:not(:disabled):hover{
    background-color: #fdf5f3;
}
.calendar .pnl_day > .hd_week{
    font-weight: bold;
    background-color: #1a2e51;
    color: #fff;
    /*height: 2em;*/
    font-size: 16px;
}
.calendar .holiday > *:first-child{
}
.calendar .weekend > *:first-child{
}
.calendar .weekend + .weekend > *:first-child{
}
.calendar .holiday > *:nth-child(2){
    color: grey;
}
.calendar .disabled{
    background-color: #f9f9f9;
}
.calendar .pnl_day > .selected:not(:disabled) {
    font-weight: bold;
    background-color: #fdf5f3;
}
/*    .past{
        background-color: #e9e9e9;
    }*/

.ui-widget-overlay{
    background: #000 !important;
    opacity: .8 !important;
}

iframe#dialog_iframe_target{ min-height: 50vh;}



/****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: none; */
    /* border-bottom: solid 1px
 #ccc; */
    border-left: none;
    border-right: none;
    display: block;
}
.formBox table.tableForm th{
    font-weight: bold;
    padding: 20px 1em 5px 2%;
    position: relative;
    width: 100%;
    min-width: 200px;
    border-top: none;
    border-bottom: none;
}    

.formBox table.tableForm th.must::after{
    content:"±Øíš";
    position: static;
    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;
    margin-left: 10px;
}
.formBox table.tableForm td{padding: 5px 1% 20px;border-top: none;}
.formBox table.tableForm td p{
    margin-top:10px;
}

.zip_suggest {
    background: #fff;
    border: solid 1px #ccc;
    border-radius: 5px;
    width: 96%;
    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;
}

.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{
}

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: 90% !important;
}


.w50{
    width: 90% !important;
}
.w75{
    width: 73% !important;
}


.secComp{
}
.secComp .txt{
}



}


/
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 .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{
    padding: 15px 0em 15px 1em;
    text-align: right;
    min-width: 4em;
}
.history .tblHis th:nth-child(2){
    padding: 15px 1em 15px 0em;
}
.history .tblHis td .img{
    margin-top: 10px;
    width: 50%;
    /* display: inline-block; */
    /* float: right; */
}
.history .tblHis td .img img{}








/
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%;}






/*============================
IR
============================*/

.cateTopMenu {display: flex;flex-wrap: wrap;justify-content: flex-start;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{
}
.lstGraph li{
    margin: 0 2% 50px;
}

.secSrch ul.col2 li{
    width: 46%;
}
.secSrch ul.col3 li{
    width: 32%;
}








































