@charset "Shift_JIS";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* **************************************************

Name: original_common.css

Create: 2022.08.10
Update: 2022.08.10

***************************************************** */


/* base
============================================================= */
#Contents {
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    font-weight: 400;
}
body {
    overflow: hidden;
}
img {
    max-width: 100%;
    height: auto;
}


/* adjust
============================================================= */
.pcOnly {
    display: block!important;
}
.spOnly {
    display: none!important;
}
.contentsTopPd {
    padding-top: 75px!important;
}
.mb0 {
    margin-bottom: 0!important;
}
.mb5 {
    margin-bottom: 5px!important;
}
.taL {
    text-align: left!important;
}
.taC {
    text-align: center!important;
}
.taR {
    text-align: right!important;
}
.pcPdTop25 {
    padding-top: 25px;
}
.indent3em {
    padding-left: 3em;
}


/* guideline adjust (Noto Sans JP)
============================================================= */
.ListStyle3 > li > .ListStyle1 {
    margin-top: 6px;
}
.ListStyle3 > li > .ListStyle1 > li {
    font-size: 14px;
}
.LinkListStyle1 li a {
    background-position: top 5px right;
}
.LinkListStyle1 li.Pdf a {
    background-position: top 4px right;
}
table .LinkListStyle1,table .ListStyle2 {
    margin-bottom: 0;
}
table .LinkListStyle1 li a {
    background-position: top 2px right;
}
table .ListStyle2 li {
    background-position: top 3px left;
}
.HorizontalInnerLinks li a, .VerticalInnerLinks li a {
    background-position: right 4px;
}
h2:not([class]) a {
    padding-bottom: 4px;
}
.smallSection01 .TextStyle1:last-child {
    margin-bottom: 0;
}


/* common
============================================================= */
.titleType01 {
    padding-top: 40px;
}
.titleType01 h1 {
    margin-bottom: 40px;
    padding: 30px 0 0 30px;
    border-left: solid 5px #cc0022;
    background: none;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
}
.titleType01 h1 a {
    color: #000000!important;
}
.titleType02 {
    margin-bottom: 40px;
    padding: 25px 0 0 25px;
    border-left: solid 5px #cc0022;
    background: none;
    font-weight: 700;
    font-size: 26px;
    line-height: 130%;
}
.titleType03 {
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: solid 2px #b7b7b7;
    background: none;
    font-weight: 700;
    font-size: 23px;
    color: #000000;
    line-height: 130%;
}
.titleType04 {
    margin: 0 0 10px 0!important;
    padding: 0 0 3px 10px!important;
    border-left: solid 3px #cc0022;
    font-weight: 700;
    font-size: 17px;
    color: #333333;
    line-height: 130%;
}
.TextType01 {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 160%;
}
.TextType01:last-child {
    margin-bottom: 0;
}
.textType02 {
    font-size: 16px;
    line-height: 150%;
}
.textType03 {
    font-size: 18px;
    line-height: 150%;
}
.textType04 {
    font-size: 20px;
    line-height: 150%;
}
.imgType01 {
    margin-bottom: 40px;
}
.ImgLeftAdjust.imgMR {
    margin: 0 40px 0 0;
}
.ImgRightAdjust.imgML {
    margin: 0 0 0 40px;
}
.sectionType01 {
    padding-bottom: 100px;
}
.sectionType02 {
    padding-bottom: 75px;
}
.sectionType03 {
    padding-bottom: 50px;
}
.smallSection01 {
    padding-bottom: 30px;
}
.sectionBlock {
    clear: both;
    width: 100%;
}
.paragraph1em::before {
    content: "　";
}
.indentList01 {
    margin-bottom: 10px;
}
.indentList01 > li {
    margin-left: 1em;
    text-indent: -1em;
    font-size: 14px;
}
.notesSpace01 {
    margin-left: 1em;
    text-indent: -1em;
    font-size: 14px;
}
.notesSpace02 {
    margin-left: 2em;
    text-indent: -2em;
    font-size: 14px;
}
.notesSpace03 {
    margin-left: 3em;
    text-indent: -3em;
    font-size: 14px;
}
.textParagraph01 {
    margin-bottom: 15px;
}


/* top page
============================================================= */
#topSlideBlock {
    background-color: #ffffff;
    padding-bottom: 100px;
}
#topSlider {
    position: relative;
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
}
#topSlider > ul {
    width: 100%;
    height: 550px;
}
.slideNum01 {
    background: url("/assets/images/img_slider01.jpg");
}
.slideNum02 {
    background: url("/assets/images/img_slider02.jpg");
}
.slideNum03 {
    background: url("/assets/images/img_slider03.jpg");
}
.slideNum04 {
    background: url("/assets/images/img_slider04.jpg");
}
#topSlider > ul li a,#topSlider > ul li span.noLink {
    position: relative;
    display: block;
    width: 100%;
    height: 550px;
    background-position: center center!important;
    background-size: cover!important;
}
#topSlider > ul li a::before,#topSlider > ul li span.noLink::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 550px;
    background-color: rgba(74,74,74,0.5);
}
#topSlider .slick-dots li {
    float: left;
    margin-right: 11px;
    line-height: 100%;
}
#topSlider .slick-dots li:last-child {
    margin-right: 8px;
}
#topSlider .slick-dots li button {
    position: relative;
    width: 18px;
    height: 18px;
    border: none;
    outline: none;
    background: none;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    box-sizing: border-box;
}
#topSlider .slick-dots li button::before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    width: 10px;
    height: 10px;
    background-color: #c6d1db;
    transition: 0.2s;
}
#topSlider .slick-dots li:hover button::before {
    background-color: #cc0022;
}
#topSlider .slick-dots li.slick-active button::before {
    content: "";
    position: absolute;
    top: calc(50% - 9px);
    left: calc(50% - 9px);
    width: 18px;
    height: 18px;
    background-color: #cc0022;
    transition: 0.2s;
}
.slickControl {
    position: absolute;
    left: calc((100% - 1275px) / 2);
    bottom: 35px;
}
.slickControl .slick-dots,.slickControl .slideButtons {
    float: left;
}

.slickControl .js-stop,.slickControl .js-play {
    display: none;
}
.slickControl .js-stop.current,.slickControl .js-play.current {
    display: block;
}
.slickControl .js-stop,.slickControl .js-play {
    position: relative;
    width: 18px;
    height: 18px;
    cursor: pointer;
}
.slickControl .js-stop::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 5px;
    width: 3px;
    height: 12px;
    background-color: #ffffff;
    transition: 0.2s;
}
.slickControl .js-stop::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 5px;
    width: 3px;
    height: 12px;
    background-color: #ffffff;
    transition: 0.2s;
}
.slickControl .js-stop:hover::before,.slickControl .js-stop:hover::after {
    background-color: #cc0022;
}
.slickControl .js-play span {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #ffffff;
    transition: 0.2s;
}
.slickControl .js-play:hover span {
    border-color: transparent transparent transparent #cc0022;
}
.tsBox {
    position: relative;
    z-index: 2;
    display: table;
    width: 100%;
    height: 100%;
}
.tsBoxIn {
    display: table-cell;
    padding: 15px;
    text-align: center;
    vertical-align: middle;
}
.tsBoxIn h2 {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto 60px auto;
    padding-bottom: 50px;
    border-bottom: solid 2px #aebdcd;
    background: none!important;
    text-align: center;
    font-weight: bold;
    font-size: 45px;
    color: #ffffff;
    line-height: 150%;
}
.tsBoxIn p {
    font-size: 25px;
    color: #ffffff;
    line-height: 150%;
}
.topSlideBtn {
    position: absolute;
    bottom: -45px;
    right: calc((100% - 1275px) / 2);
    z-index: 3;
    display: table;
    width: 256px;
    height: 90px;
    border-radius: 7px;
    background-color: #2e8b57;
    text-decoration: none!important;
    transition: 0.2s;
}
.topSlideBtn:hover {
    background-color: #006400;
}
.topSlideBtn .topSlideBtnIn {
    display: table-cell;
    padding-right: 45px;
    text-align: right;
    vertical-align: middle;
    font-weight: bold;
    font-size: 20px;
    color: #ffffff;
    line-height: 120%;
    background: url("/assets/images/icon_eco.png") 35px center no-repeat;
    background-size: 38px 50px;
}
.topSlideBtn .topSlideBtnIn .arrowIcon {
    position: relative;
    display: block;
    padding-right: 27px;
    padding-bottom: 7px;
}
.topSlideBtn .topSlideBtnIn .arrowIcon::before {
    content: "";
    position: absolute;
    top: 8px;
    right: 2px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
}
.topSlideBtn:hover .topSlideBtnIn .arrowIcon::before {
    right: 0;
}


#baseContents {
    background-color: #ffffff;
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    font-weight: 400;
}
.wideBlock {
    position: relative;
    z-index: 5;
    max-width: 1305px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
.topTitle01 {
    margin-bottom: 60px;
    padding-top: 41px;
    padding-bottom: 41px;
}
.topTitle01 h2 {
    position: relative;
    margin: 0;
    padding: 0;
    background: none;
}
.topTitle01 h2 .titleText {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 33px 0 0 40px;
    border-left: solid 5px #cc0022;
    background: none;
    text-decoration: none;
    font-weight: 700;
    font-size: 35px;
    color: #000000;
    line-height: 130%;
}
.topTitle01 h2 a.titleText {
    padding-right: 50px;
}
.topTitle01 h2 a.titleText::before {
    content: "";
    position: absolute;
    bottom: 6px;
    right: 0;
    width: 28px;
    height: 28px;
    border-radius: 28px;
    border: solid 1px #000000;
    box-sizing: border-box;
}
.topTitle01 h2 a.titleText::after {
    content: "";
    position: absolute;
    bottom: 17px;
    right: 12px;
    width: 7px;
    height: 7px;
    border-top: solid 1px #000000;
    border-right: solid 1px #000000;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.topTitle01 h2 .enBack {
    position: absolute;
    left: -83px;
    top: -77px;
    z-index: 1;
    padding: 0;
    background: none;
    font-weight: 700;
    font-size: 185px;
    vertical-align: bottom;
    color: #f1f3f6;
    line-height: 100%;
}
.corporateArea .topTitle01 h2 .titleText {
    color: #ffffff;
}
.corporateArea .topTitle01 h2 a.titleText::before {
    border: solid 1px #ffffff;
}
.corporateArea .topTitle01 h2 a.titleText::after {
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}
.sustainabilityArea .topTitle01 h2 .enBack {
    left: -112px;
    color: rgba( 255, 255, 255, 0.3);
}
.catchText + .topMenuList {
    padding-top: 20px;
}
.topMenuList > li {
    float: left;
    width: 31.921568627%;
    margin-right: 2.117647058%;
    margin-bottom: 30px;
    box-sizing: border-box;
}
.topMenuList > li:nth-child(3n) {
    margin-right: 0;
}
.topMenuList > li > a {
    display: block;
    padding-left: 5.405405405%;
    text-decoration: none;
}
.topMenuList > li dl {
    position: relative;
    background-color: #f2f2f2;
    transition: 0.2s;
}
.topMenuList > li dl::before {
    content: "";
    position: absolute;
    left: calc(-5.405405405% + 4px);
    top: -11px;
    z-index: 1;
    /*width: 76.883116883%;*/
    width: 296px;
    height: 40px;
    background-color: #790000;
}
.topMenuList > li dl dt {
    position: absolute;
    left: -5.405405405%;
    top: -15px;
    z-index: 2;
    /*width: 76.883116883%;*/
    width: 296px;
    padding: 4px 5px 7px 10px;
    background-color: #cc0022;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff;
    box-sizing: border-box;
}
.topMenuList > li dl dt span {
    position: relative;
    display: inline-block;
    padding-right: 45px;
    background: url("/assets/images/icon_arrow02.png") right center no-repeat;
    background-size: 34px 8px;
}
.topMenuList > li dl dd {
    padding: 40px 20px 20px 20px;
    font-size: 14px;
    color: #000000;
}
.topMenuList > li > a .imgCover {
    overflow: hidden;
}
.topMenuList > li > a .imgCover img {
    transition: 0.2s;
}
.topMenuList > li > a:hover dl {
    background-color: #535353;
}
.topMenuList > li > a:hover dl dt {
    color: #c6d1db;
}
.topMenuList > li > a:hover dl dt span {
    background: url("/assets/images/icon_arrow02_on.png") right center no-repeat;
    background-size: 34px 8px;
}
.topMenuList > li > a:hover dl dd {
    color: #ffffff;
}
.topMenuList > li > a:hover .imgCover img {
    transform: scale(1.1,1.1);
    opacity: 0.7;
}

/* seniorMenu Menu */
.topMenuList.seniorMenu {
    margin-top: 100px;
}
.topMenuList.seniorMenu > li {
    width: 30.980392156%;
    margin-right: 3.529411764%;
}
.topMenuList.seniorMenu > li:nth-child(3n) {
    margin-right: 0;
}
.topMenuList.seniorMenu > li > a {
    padding-left: 11.392405063%;
}
.topMenuList.seniorMenu > li dl dt {
    left: -11.392405063%;
    width: 170px;
    padding: 5px 10px 7px 10px;
    text-align: center;
}
.topMenuList.seniorMenu > li dl dt span {
    padding-right: 0;
    background: none!important;
}
.topMenuList.seniorMenu > li dl::before {
    left: calc(-11.392405063% + 4px);
    width: 170px;
}
.topMenuList.seniorMenu > li dl dd {
    text-align: center;
}


.corporateArea {
    position: relative;
    width: 100%;
    height: 625px;
    padding: 65px 0 15px 0;
    background: url("/assets/images/bg_index_corporate.jpg") center center no-repeat;
    box-sizing: border-box;
}
.corporateArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(74,74,74,0.6);
}
.corporateArea .topTitle01 h2 .enBack {
    left: -112px;
    color: rgba(255,255,255,0.15);
}
.corporateArea .aboutList {
    padding-top: 35px;
}
.corporateArea .aboutList > li > a {
    border: none;
}

.recruitArea {
    position: relative;
    width: 100%;
    height: 575px;
    padding: 65px 0 15px 0;
    background: url("/assets/images/bg_index_recruit.jpg") center center no-repeat;
    box-sizing: border-box;
}
.recruitArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.35);
}
.recruitArea .topTitle01 h2 .enBack {
    left: auto;
    right: -112px;
    color: rgba(255,255,255,0.15);
}
.recruitArea .topTitle01 {
    margin-bottom: 75px;
}
.recruitArea .topTitle01 h2 .titleText {
    float: right;
    margin-right: 135px;
}
.rightBlock {
    float: right;
    width: 370px;
}


.newsList {
    max-width: 1105px;
    width: 100%;
    margin: 0 auto 50px auto;
}
.newsList dl {
    display: table;
    width: 100%;
    min-height: 60px;
    border-bottom: solid 2px #e3e8ed;
}
.newsList dl:first-child {
    border-top: solid 2px #e3e8ed;
}
.newsList dl > dt {
    display: table-cell;
    width: 200px;
    padding: 12px 25px 10px 25px;
    text-align: center;
    vertical-align: middle;
    font-size: 18px;
    line-height: 130%;
    box-sizing: border-box;
}
.newsList dl > dd {
    display: table-cell;
    padding: 12px 0 10px 0;
    vertical-align: middle;
    font-size: 18px;
    line-height: 130%;
}
.adjustBaseLine {
    display: inline-block;
    padding-bottom: 5px;
}
.newsList dl > dd a {
    text-decoration: underline;
    color: #cc0022;
}
.newsList dl > dd a:hover {
    text-decoration: none;
}
.sustainabilityArea {
    position: relative;
    width: 100%;
    height: 575px;
    margin-bottom: 70px;
    padding: 65px 0 15px 0;
    background: url("/assets/images/bg_index_sustainability.jpg") center center no-repeat;
    box-sizing: border-box;
}
.sustainabilityArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.35);
}
.sustainabilityArea .topTitle01 {
    margin-bottom: 80px;
}
.topContentsText {
    margin-bottom: 50px;
    font-size: 16px;
    line-height: 150%;
}
.topContentsBtn a {
    position: relative;
    z-index: 3;
    display: table;
    max-width: 350px;
    width: 100%;
    height: 70px;
    background-color: #cc0022;
    text-decoration: none;
    font-size: 23px;
    color: #ffffff;
    line-height: 130%;
    transition: 0.2s;
}
.topContentsBtn a:hover {
    background-color: #99001a;
}
.topContentsBtn a::before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    right: 70px;
    width: 8px;
    height: 8px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
}
.topContentsBtn a:hover::before {
    right: 68px;
}
.topContentsBtn a span {
    display: table-cell;
    padding: 5px 50px 10px 5px;
    text-align: center;
    vertical-align: middle;
}


/* wideBranding
============================================================= */
#wideBrandingArea {
    position: relative;
    width: 100%;
    height: 350px;
}
#wideBrandingArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(74,74,74,0.5);
}
#wideBrandingArea h1 {
    position: relative;
    z-index: 2;
    display: table;
    width: 100%;
    height: 350px;
}
.wideBrandingTd {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
.wideBrandingText01 {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    font-weight: 700;
    font-size: 60px;
    color: #ffffff;
    line-height: 120%;
}
.wideBrandingText02 {
    display: block;
    width: 100%;
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: #ffffff;
    line-height: 120%;
}

#wideBrandingArea2nd {
    position: relative;
    width: 100%;
    height: 350px;
}
#wideBrandingArea2nd::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(74,74,74,0.5);
}
#wideBrandingArea2nd h1 {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 350px;
}
.wideBrandingText {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    padding: 5px 50px 10px 15px;
    padding-left: calc((100% - 1275px) / 2);
    background-color: rgba(0,0,0,0.4);
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    font-weight: 700;
    font-size: 36px;
    color: #ffffff;
    line-height: 120%;
    transform: translateY(-50%);
}
.wideBrandingText3rd {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    padding: 5px 50px 10px 15px;
    padding-left: calc((100% - 1275px) / 2);
    font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
    transform: translateY(-50%);
}
.wideBrandingText3rd > span {
    display: block;
    padding: 1.5rem 0 2px 15px;
    border-left: solid 5px #c6d1db;
    font-weight: 700;
    font-size: 35px;
    color: #ffffff;
    line-height: 120%;
}


/* solution
============================================================= */
#wideBrandingArea.solution {
    background: url("/solution/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}
.catchTitle.wideCatch {
    max-width: 1150px;
}


/* energy
============================================================= */
#wideBrandingArea.energy {
    background: url("/solution/energy/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}
.childMenuLink.menu5col ul li {
    width: 20%;
}
.childMenuLink.menu6col ul li {
    width: 16.62745098%;
}
.childMenuLink ul li a {
    width: 100%;
}
.childMenuLink {
    border-top: solid 2px #b8b8b8;
    border-bottom: solid 1px #b8b8b8;
    background-color: #ffffff;
}
.childMenuLink ul {
    max-width: 1275px;
    width: 100%;
    margin: 0 auto;
}
.childMenuLink ul li {
    float: left;
    box-sizing: border-box;
}
.childMenuLink ul li a {
    display: table;
    background-color: #ffffff;
    text-decoration: none;
    transition: 0.2s;
}
.childMenuLink ul li a:hover,.childMenuLink ul li.current a {
    background-color: #cc0022;
}
.childMenuLink ul li.currentSub a {
    font-weight: 700;
}
.childMenuLink ul li a span {
    display: table-cell;
    height: 60px;
    padding: 12px 15px 10px 15px;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    color: #000000;
    box-sizing: border-box;
}
.childMenuLink ul li a:hover span,.childMenuLink ul li.current a span {
    color: #ffffff;
}
.grayArea {
    width: 100%;
    padding: 50px 0 80px 0;
    background-color: #f2f2f2;
}
.solutionBox {
    margin-bottom: 80px;
    background-color: #ffffff;
}
.solutionBox:last-child {
    margin-bottom: 0;
}
.solutionBoxIn {
    padding: 30px 30px 20px 30px;
}
.solutionBoxTitle {
    margin: 0!important;
    padding: 7px 10px 10px 15px;
    background: none;
    background-color: #c6d1db;
    font-weight: 700;
    font-size: 20px;
    color: #000000;
    line-height: 130%;
}
.sbInTitle {
    margin: 0 0 10px 0;
    padding: 0;
    background: none;
    font-weight: 700;
    font-size: 18px;
    color: #000000;
    line-height: 130%;
}
.sbInText + .sbInTitle {
    margin-top: 30px;
}
.sbInText {
    font-size: 16px;
    color: #000000;
    line-height: 150%;
}
.solutionItemList > li {
    float: left;
    width: 23.950617283%;
    text-align: center;
    margin-right: 1.399176954%;
    margin-bottom: 30px;
}
.solutionItemList > li:nth-child(4n) {
    margin-right: 0;
}

.solutionItemList.block2Col > li {
    width: 49.382716049%;
    margin-right: 1.234567901%;
}
.solutionItemList.block2Col > li:nth-child(2n) {
    margin-right: 0;
}

.solutionItemList.block3Col > li {
    width: 32.530120481%;
    width: 32.510288065%;
    margin-right: 1.234567901%;
}
.solutionItemList.block3Col > li img {
    max-width: 291px;
    width: 100%;
    height: auto;
}
.solutionItemList.block3Col > li img.wideImage {
    max-width: 395px;
    width: 100%;
    height: auto;
}
.solutionItemList.block3Col > li:nth-child(4n) {
    margin-right: 1.234567901%;
}
.solutionItemList.block3Col > li:nth-child(3n) {
    margin-right: 0;
}
.sbInText + .solutionItemList {
    margin-top: 30px;
}
.itemCaption {
    margin-top: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    color: #000000;
    line-height: 130%;
}
.inquiryArea {
    width: 100%;
    padding: 70px 0;
    border-bottom: solid 40px #ffffff;
    background-color: #c6d1db;
}
.inquiryArea a {
    display: table;
    width: 100%;
    height: 200px;
    background-color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    color: #000000;
}
.inquiryArea a .colIcon {
    display: table-cell;
    width: 200px;
    padding: 15px;
    background-color: #cc0022;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
    transition: 0.2s;
}
.inquiryArea a:hover .colIcon {
    background-color: #ab011d;
}
.inquiryArea a .colIcon img {
    width: 96px;
    height: auto;
}
.inquiryArea a .colText {
    display: table-cell;
    padding: 15px 6%;
    vertical-align: middle;
}
.underLine {
    text-decoration: underline;
}
.inquiryArea a:hover .colText .underLine {
    color: #cc0022;
}
.maBL { display: none; }


/* production
============================================================= */
#wideBrandingArea.production {
    background: url("/solution/production/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* working environment
============================================================= */
#wideBrandingArea.workingEnvironment {
    background: url("/solution/working_environment/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* social infrastructure
============================================================= */
#wideBrandingArea.socialInfrastructure {
    background: url("/solution/social_infrastructure/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* engineering and service
============================================================= */
#wideBrandingArea.engineeringService {
    background: url("/solution/engineering_and_service/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* equipment built
============================================================= */
#wideBrandingArea.equipmentBuilt {
    background: url("/solution/equipment_built/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* about
============================================================= */
#wideBrandingArea.about {
    background: url("/about/images/bg_branding.jpg") center top no-repeat;
    background-size: cover;
}
.aboutList {
    position: relative;
    z-index: 3;
    max-width: 1105px;
    margin: 0 auto;
    padding-top: 150px;
}
.aboutList > li {
    float: left;
    width: 32.126696832%;
    margin-right: 1.809954751%;
    margin-bottom: 1.809954751%;
}
.aboutList > li:nth-child(3n) {
    margin-right: 0;
}
.aboutList > li > a {
    position: relative;
    display: table;
    width: 100%;
    min-height: 100px;
    background-color: #ffffff;
    border: solid 1px #4a4a4a;
    box-sizing: border-box;
}
.aboutList > li > a .aboutListCell {
    display: table-cell;
    vertical-align: middle;
    padding: 15px 15px 15px 34%;
    border-left: solid 10px #c6d1db;
    transition: 0.2s;
}
.aboutList > li > a .aboutListCell .aboutListText {
    position: relative;
    display: inline-block;
    padding-right: 30px;
    font-weight: 700;
    font-size: 20px;
    color: #000000;
}
.aboutList > li > a .aboutListCell .aboutListText::before {
    content: "";
    position: absolute;
    right: 2px;
    top: calc(50% - 4px);
    width: 8px;
    height: 8px;
    border-top: solid 3px #cc0022;
    border-left: solid 3px #cc0022;
    transform: rotate(135deg);
}
.aboutList > li > a:hover .aboutListCell .aboutListText::before {
    right: 0;
}
.aboutList > li.btnType02 > a .aboutListCell {
    border-left: solid 10px #ffffff;
}
.aboutList > li.btnType02 > a .aboutListCell .aboutListText::before {
    border-top: solid 3px #ffffff;
    border-left: solid 3px #ffffff;
}
.aboutList > li.btnType02 a {
    background-color: #cc0022;
}
.aboutList > li.btnType02 > a .aboutListCell .aboutListText {
    color: #ffffff;
}
.aboutListTextIn {
    display: block;
    margin-top: 5px;
    font-size: 14px;
    line-height: 130%;
}
.aboutIcon {
    position: absolute;
    top: calc(50% - 25px);
    left: 12%;
    width: 51px;
    height: 51px;
}


/* office
============================================================= */
.only399 { display: none; }
.tabBtnList {
    display: flex;
    /*flex-wrap: wrap;*/
    width: 100%;
    border-bottom: solid 3px #f2f2f2;
}
.tabBtnList > li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 75px;
    padding: 5px;
    background-color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    transition: 0.2s;
    cursor: pointer;
}
.tabBtnList > li.current {
    background-color: #f2f2f2;
    cursor: default;
}
.tabBtnList > li:hover {
    background-color: #f2f2f2;
}
.tabBody {
    display: none;
}
.tabBody#tabContents1 {
    display: block;
}
.linkType01 {
    display: inline-block;
    position: relative;
    padding-right: 18px;
    color: #cc0022!important;
    text-decoration: none!important;
}
.linkType01::before {
    content: "";
    position: absolute;
    right: 2px;
    bottom: 8px;
    width: 10px;
    height: 10px;
    border-top: solid 1px #cc0022;
    border-right: solid 1px #cc0022;
    transform: rotate(45deg);
}
.linkType01:hover::before {
    right: 0;
}
.linkType01:hover {
    color: #b1000e!important;
    text-decoration: underline!important;
}
.tabBodyIn {
    padding-top: 50px;
}
.tabBodyIn .col1 {
    float: left;
    /*width: 39.47368421%; (375px)*/
    width: 44.736842105%;
}
.tabBodyIn .col2 {
    float: right;
    width: 52.631578947%;
}
.paragraphBox {
    margin-bottom: 45px;
    padding-bottom: 45px;
    border-bottom: solid 2px #e2e8ed;
}
.gmArea,.gmAreaLong {
    margin-top: 50px;
    margin-bottom: 50px;
}
.gmArea iframe {
    width: 100%;
    height: 450px;
}
.gmAreaLong iframe {
    width: 100%;
    height: 550px;
}
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.pl40 { padding-left: 40px!important; }



/* sustainability
============================================================= */
#wideBrandingArea.sustainability {
    background: url("/sustainability/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}
.catchTitle {
    position: relative;
    margin: 0 auto 40px auto!important;
    max-width: 995px;
    padding: 30px 15px;
    background: none!important;
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    line-height: 160%;
    box-sizing: border-box;
}
.catchTitle::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 62px;
    height: 62px;
    border-top: solid 4px #cc0022;
    border-left: solid 4px #cc0022;
}
.catchTitle::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 62px;
    height: 62px;
    border-bottom: solid 4px #cc0022;
    border-right: solid 4px #cc0022;
}
.catchText {
    margin-bottom: 75px;
    text-align: center;
    font-size: 18px;
    line-height: 150%;
}
.catchImg {
    margin-bottom: 75px;
    text-align: center;
}
.mW1200 {
    width: 100%;
    max-width: 1200px;
    height: auto;
}
.imgLink a {
    position: relative;
    display: block;
    text-decoration: none;
    overflow: hidden;
}
.imgLink a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.25);
    transition: 0.2s;
}
/*
.imgLink a:hover::before {
    background-color: rgba(0,0,0,0.50);
}
*/
.imgLink a img {
    transition: 0.2s;
}
.imgLink a:hover img {
    transform: scale(1.1,1.1);
}
.imgLinkTitle {
    position: absolute;
    top: 7vw;
    left: 3.6vw;
    z-index: 2;
    padding: 2rem 0 5px 15px;
    border-left: solid 5px #c6d1db;
    font-weight: 700;
    font-size: 26px;
    color: #ffffff;
}
.img2colList .imgLinkTitle {
    top: 2vw;
}
.imgLinkBtn {
    position: absolute;
    bottom: 2.5vw;
    left: 3.6vw;
    z-index: 2;
    padding: 8px 62px 11px 22px;
    background: #cc0022 url("/assets/images/icon_arrow03.png") right 20px top 14px no-repeat;
    background-size: 27px 8px;
    font-size: 16px;
    color: #ffffff;
    transition: background-color 0.2s;
    line-height: 130%;
}
.img2colList .imgLinkBtn {
    bottom: 1.5vw;
}
.imgLink a:hover .imgLinkBtn {
    background: #ffffff url("/assets/images/icon_arrow01.png") right 18px top 14px no-repeat;
    background-size: 27px 8px;
    color: #cc0022;
}
.imgLink + .img2colList {
    margin-top: 75px;
}
.img2colList > li {
    float: left;
    width: 48.62745098%;
    margin-right: 2.745098039%;
    margin-bottom: 2.745098039%;
}
.img2colList > li:nth-child(2n) {
    margin-right: 0;
}

.btnRed {
    display: block;
    width: 100%;
    max-width: 250px;
    padding: 10px 62px 13px 22px;
    border: solid 1px #cc0022;
    background: #cc0022 url("/assets/images/icon_arrow03.png") right 20px top 17px no-repeat;
    background-size: 27px 8px;
    font-size: 16px;
    text-align: center;
    text-decoration: none!important;
    color: #ffffff!important;
    transition: background-color 0.2s;
    line-height: 130%;
    box-sizing: border-box;
}
.btnRed:hover {
    background: #ffffff url("/assets/images/icon_arrow01.png") right 18px top 17px no-repeat;
    background-size: 27px 8px;
    color: #cc0022!important;
}


/* sustainability policy
============================================================= */
#wideBrandingArea3rd.policy {
    background: url("/sustainability/policy/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}
#wideBrandingArea3rd {
    position: relative;
    width: 100%;
    height: 275px;
}
#wideBrandingArea3rd::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(74,74,74,0.5);
}
#wideBrandingArea3rd h1 {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 275px;
}


/* sustainability environment
============================================================= */
#wideBrandingArea3rd.environment {
    background: url("/sustainability/environment/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}

/* sustainability society
============================================================= */
#wideBrandingArea3rd.society {
    background: url("/sustainability/society/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}

/* sustainability human
============================================================= */
#wideBrandingArea3rd.human {
    background: url("/sustainability/human/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}

/* sustainability governance
============================================================= */
#wideBrandingArea3rd.governance {
    background: url("/sustainability/governance/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}


/* society
============================================================= */
.societyImgList {
    width: 100%;
    max-width: 721px;
    margin: 0 auto;
}
.societyImgList > li {
    float: left;
    width: 48.959778085%;
    margin-right: 2.080443828%;
}
.societyImgList > li:nth-child(2n){
    margin-right: 0;
}


/* senior interview
============================================================= */
.interviewBranding {
    position: relative;
    padding-top: 75px;
    padding-left: 9.803921568%;
    padding-bottom: 50px;
    text-align: right;
}
.interviewBranding img {
    width: 100%;
    max-width: 1150px;
    margin-bottom: 0;
    vertical-align: bottom;
}
.interviewBranding .brandingTextArea {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    padding: 35px 50px 40px 50px;
    background-color: #ffffff;
    border: solid 1px #707070;
    text-align: left;
}
.interviewBranding .brandingTextArea .brandingTitle {
    position: relative;
    display: block;
    margin-bottom: 30px;
    padding-bottom: 30px;
    font-weight: 700;
    font-size: 26px;
    color: #333333;
    line-height: 160%;
}
.interviewBranding .brandingTextArea .brandingTitle::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100px;
    height: 2px;
    background-color: #e68091;
}
.interviewBranding .brandingTextArea .brandingText {
    display: block;
    margin-bottom: 15px;
    font-size: 16px;
    color: #333333;
    line-height: 160%;
}
.interviewBranding .brandingTextArea .brandingText:last-child {
    margin-bottom: 0;
}
.interviewBtmLink {
    display: flex;
    width: 100%;
    justify-content: center;
}
.interviewBtmLink > li {
    display: flex;
    width: 100%;
    max-width: 324px;
    padding: 0 12px;
    box-sizing: border-box;
}
.interviewBtmLink > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 55px;
    border: solid 1px #c6d1db;
    background-color: #ffffff;
    text-decoration: none;
    font-size: 20px;
    color: #c6d1db;
    transition: 0.2s;
    box-sizing: border-box;
}
.interviewBtmLink > li > span,.interviewBtmLink > li > a:hover {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 55px;
    border: solid 1px #f2f2f2;
    background-color: #f2f2f2;
    text-decoration: none;
    font-size: 20px;
    color: #000000;
    box-sizing: border-box;
}


/* recruitment
============================================================= */
#wideBrandingArea.recruit {
    background: url("/recruit/images/bg_branding.jpg") center center no-repeat;
    background-size: cover;
}
.decorationText {
    position: absolute;
    top: 25px;
    left: -90px;
    z-index: 5;
    font-size: 185px;
    font-weight: 700;
    color: rgba(198,209,219,0.15);
    line-height: 100%;
}
.recruitMessageBlock {
    position: relative;
    padding-top: 175px;
}
.recruitMessageImg {
    position: relative;
    z-index: 1;
    /*width: 100%;*/
    width: 62.745098039%;
    max-width: 800px;
    padding-bottom: 62px;
}
.recruitMessageBox {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 8;
    width: 47.843137254%;
    padding: 40px;
    background-color: #ffffff;
    border: solid 1px #707070;
    box-sizing: border-box;
}
.rmTitle {
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 23px;
    line-height: 130%;
}
.rmText {
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 130%;
}
.difineTable:last-child {
    border-bottom: solid 1px #dddddd;
}
.difineTable {
    display: flex;
    padding: 30px 0;
    border-top: solid 1px #dddddd;
    background-color: #ffffff;
}
.difineTable > dt {
    min-width: 200px;
    padding-left: 15px;
    font-weight: 700;
    font-size: 14px;
    box-sizing: border-box;
}
.difineTable > dd {
    padding-right: 15px;
    font-size: 14px;
    box-sizing: border-box;
}
.difineTitle {
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 18px;
    line-height: 140%;
}


/* Q&A
============================================================= */
.anchorLink {
    margin-bottom: 20px;
}
.anchorLink ul {
    text-align: center;
}
.anchorLink ul li {
    display: inline-block;
}
.anchorLink ul li a {
    position: relative;
    display: block;
    min-width: 235px;
    margin: 0 10px 30px 10px;
    padding: 20px 5px 30px 5px;
    border-top: solid 1px #707070;
    text-decoration: none;
    box-sizing: border-box;
}
.anchorLink ul li a::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: calc(50% - 4px);
    width: 8px;
    height: 8px;
    border-right: solid 2px #cc0022;
    border-bottom: solid 2px #cc0022;
    transform: rotate(45deg);
}
.anchorLink ul li a span {
    font-weight: bold;
    font-size: 18px;
    color: #000000;
    line-height: 130%;
}
.anchorLink ul li a:hover::before {
    bottom: 0;
}
.anchorLink ul li a:hover span {
    color: #cc0022;
}
.dropDownBox {
    margin-bottom: 20px;
}
.sectionType02 .dropDownBox:last-child {
    margin-bottom: 0;
}
.dropDownBox .dropTitle {
    position: relative;
    min-height: 60px;
    padding: 13px 50px 13px 80px;
    border: solid 1px #d4dce4;
    background: #ffffff url("/assets/images/icon_qes.png") 25px 13px no-repeat;
    background-size: 30px 32px;
    font-size: 20px;
    color: #4a4a4a;
    line-height: 130%;
    box-sizing: border-box;
    cursor: pointer;
}
.dropDownBox .dropTitle::before {
    content: "";
    position: absolute;
    top: calc(50% - 8px);
    right: 30px;
    width: 10px;
    height: 10px;
    border-top: solid 1px #000000;
    border-right: solid 1px #000000;
    transform: rotate(-225deg);
}
.dropDownBox .dropTitle.openBody::before {
    top: calc(50% - 4px);
    transform: rotate(-45deg);
}
.dropDownBox .dropBody {
    display: none;
    padding: 15px 15px 25px 80px;
    background: #f2f2f2 url("/assets/images/icon_ans.png") 25px 13px no-repeat;
    background-size: 30px 32px;
    box-sizing: border-box;
}


/* sitemap
============================================================= */
.horizonLineUp > li {
    float: left;
    width: 25%;
    padding-right: 15px;
    box-sizing: border-box;
}


/* clearFix
============================================================= */
.horizonLineUp:after,
.anchorLink ul:after,
.tabBodyIn:after,
.solutionItemList:after,
.rightBlock:after,
.topMenuList:after,
.childMenuLink ul:after,
.slickControl:after,
#topSlider .slick-dots:after,
.societyImgList:after,
.aboutList:after,
.img2colList:after,
.cf:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
*:first-child+html .horizonLineUp,
*:first-child+html .anchorLink ul,
*:first-child+html .tabBodyIn,
*:first-child+html .solutionItemList,
*:first-child+html .rightBlock,
*:first-child+html .topMenuList,
*:first-child+html .childMenuLink,
*:first-child+html .slickControl,
*:first-child+html #topSlider .slick-dots,
*:first-child+html .societyImgList,
*:first-child+html .aboutList,
*:first-child+html .img2colList,
*:first-child+html .cf { zoom: 1; }