@charset "Shift_JIS";

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

Name: original_responsive.css

Create: 2022.08.10
Update: 2022.08.10

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


/* adjust
============================================================= */
@media screen and (max-width: 767px) {
    .pcOnly {
        display: none!important;
    }
    .spOnly {
        display: block!important;
    }
    .contentsTopPd {
        padding-top: 50px!important;
    }
    .pcPdTop25 {
        padding-top: 0;
    }
}


/* common
============================================================= */
@media screen and (max-width: 767px) {
    .titleType01 h1 {
        margin-bottom: 30px;
        padding: 25px 0 0 15px;
        font-size: 26px;
    }
    .titleType02 {
        margin: 0 0 25px 0!important;
        padding: 15px 0 0 15px;
        font-size: 20px;
    }
    .titleType03 {
        margin: 0 0 25px 0!important;
        padding-bottom: 15px;
        font-size: 20px;
    }
    .sectionType01 {
        padding-bottom: 50px;
    }
    .sectionType02 {
        padding-bottom: 35px;
    }
    .sectionType03 {
        padding-bottom: 25px;
    }
    .ImgLeftAdjust.imgMR {
        margin: 0;
    }
    .ImgRightAdjust.imgML {
        margin: 0;
    }
}


/* top page
============================================================= */
@media screen and (max-width: 1500px) {
    .topTitle01 h2 .enBack,.corporateArea .topTitle01 h2 .enBack,.sustainabilityArea .topTitle01 h2 .enBack {
        left: -10px;
    }
}
@media screen and (max-width: 1310px) {
    .slickControl {
        left: 15px;
    }
    .topSlideBtn {
        right: 15px;
    }
}

@media screen and (max-width: 1000px) {
    .topMenuList > li,.topMenuList.seniorMenu > li {
        width: 49%;
        margin-right: 2%;
    }
    .topMenuList > li:nth-child(3n),.topMenuList.seniorMenu > li:nth-child(3n) {
        margin-right: auto;
    }
    .topMenuList > li:nth-child(2n),.topMenuList.seniorMenu > li:nth-child(2n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .slideNum01 {
        background: url("/assets/images/img_slider01_sp.jpg");
    }
    .slideNum02 {
        background: url("/assets/images/img_slider02_sp.jpg");
    }
    .slideNum03 {
        background: url("/assets/images/img_slider03_sp.jpg");
    }
    .slideNum04 {
        background: url("/assets/images/img_slider04_sp.jpg");
    }
    #topSlider > ul,#topSlider > ul li a,#topSlider > ul li span.noLink {
        height: 325px;
    }
    .tsBoxIn h2 {
        font-size: 28px;
        margin-bottom: 15px;
        padding-bottom: 15px;
    }
    .tsBoxIn p {
        padding-bottom: 30px;
        font-size: 16px;
    }
    .topSlideBtn {
        bottom: -30px;
        width: 150px;
        height: 60px;
    }
    .topSlideBtn .topSlideBtnIn {
        padding-right: 10px;
        font-size: 16px;
        background: url("/assets/images/icon_eco.png") 10px center no-repeat;
        background-size: 28px 37px;
    }
    .topSlideBtn .topSlideBtnIn .arrowIcon {
        padding-right: 18px;
        padding-bottom: 5px;
    }
    .topSlideBtn .topSlideBtnIn .arrowIcon::before {
        top: 6px;
    }
    .slickControl {
        bottom: 10px;
    }
    .topTitle01 {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 50px;
    }
    .topTitle01 h2 .titleText {
        padding: 25px 35px 0 15px!important;
        font-size: 22px;
    }
    .topTitle01 h2 a.titleText::before {
        bottom: 1px;
        width: 22px;
        height: 22px;
    }
    .topTitle01 h2 a.titleText::after {
        right: 9px;
        bottom: 9px;
    }
    .topTitle01 h2 .enBack {
        left: -15px;
        top: auto;
        bottom: 0;
        font-size: 74px;
    }
    .topMenuList.seniorMenu {
        margin-top: 50px;
    }
    .catchText + .topMenuList {
        padding-top: 0;
    }
    .topMenuList > li,.topMenuList.seniorMenu > li {
        float: none;
        max-width: 407px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .topMenuList > li:nth-child(2n),.topMenuList > li:nth-child(3n),.topMenuList.seniorMenu > li:nth-child(2n),.topMenuList.seniorMenu > li:nth-child(3n) {
        margin-right: auto;
    }
    .corporateArea {
        padding: 65px 0 30px 0;
        background: url("/assets/images/bg_index_corporate_sp.jpg") center top no-repeat;
        background-size: cover;
        height: auto;
    }
    .solutionArea .topTitle01 h2 .enBack {
        left: -15px;
    }
    .corporateArea .topTitle01 h2 .enBack {
        left: -15px;
        bottom: -20px;
        font-size: 54px;
    }
    .corporateArea .aboutList {
        padding-top: 0;
    }
    .aboutList > li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
    .aboutList > li:last-child {
        margin-bottom: 0;
    }
    .aboutList > li > a {
        min-height: 80px;
    }
    .aboutList > li > a .aboutListCell .aboutListText {
        font-size: 18px;
    }
    .recruitArea {
        height: auto;
        padding: 85px 0 30px 0;
        background: url("/assets/images/bg_index_recruit_sp.jpg") center top no-repeat;
        background-size: cover;
        box-sizing: border-box;
    }
    .recruitArea .topTitle01 h2 .titleText {
        float: none;
        margin-right: 0;
    }
    .recruitArea .topTitle01 h2 .enBack {
        right: auto;
        bottom: -20px;
        left: -15px;
        font-size: 54px;
    }
    .rightBlock {
        float: none;
        width: 100%;
    }
    .recruitArea .topContentsText {
        padding-top: 90px;
        margin-bottom: 25px;
    }
    .topContentsBtn a {
        height: 56px;
        font-size: 20px;
    }
    .topContentsBtn a span {
        padding: 5px 50px 9px 5px;
    }
    .sustainabilityArea {
        height: auto;
        padding: 65px 0 30px 0;
        background: url("/assets/images/bg_index_sustainability_sp.jpg") center top no-repeat;
        background-size: cover;
        box-sizing: border-box;
    }
    .sustainabilityArea .topTitle01 h2 .enBack {
        left: -15px;
        bottom: -32px;
        font-size: 70px;
    }
    .sustainabilityArea .topContentsText {
        padding-top: 60px;
    }
    .newsList {
        margin-bottom: 0;
    }
    .newsList dl {
        display: block;
    }
    .newsList dl > dt {
        display: block;
        width: 100%;
        padding: 15px 0 0 0;
        text-align: left;
        font-size: 16px;
    }
    .newsList dl > dd {
        display: block;
        padding: 0 0 10px 0;
        font-size: 16px;
    }
    #baseContents {
        padding-bottom: 65px;
    }
}
@media screen and (max-width: 450px) {
    .topMenuList > li dl dt {
        width: 85%;
        font-size: 16px;
    }
    .topMenuList > li dl::before {
        width: 85%;
        top: -13px;
    }
}
@media screen and (max-width: 374px) {
    .topMenuList > li dl dt {
        width: 100%;
        font-size: 16px;
    }
    .topMenuList > li dl::before {
        width: 100%;
    }
    #topSlider .slick-dots li {
        margin-right: 5px;
    }
}


/* wideBranding
============================================================= */
@media screen and (max-width: 1310px) {
    .wideBrandingText {
        padding-left: 15px;
    }
    .wideBrandingText3rd {
        padding-left: 15px;
    }
}
@media screen and (max-width: 767px) {
    #wideBrandingArea {
        height: 250px;
    }
    #wideBrandingArea h1 {
        height: 250px;
    }
    #wideBrandingArea3rd {
        height: 250px;
    }
    #wideBrandingArea3rd h1 {
        height: 250px;
    }
    .wideBrandingText3rd > span {
        font-size: 26px;
    }
    .wideBrandingText01 {
        font-size: 30px;
    }
    .wideBrandingText02 {
        font-size: 16px;
    }
}


/* solution
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.solution {
        background: url("/solution/images/bg_branding_sp.jpg") center bottom no-repeat;
        background-size: cover;
    }
}


/* about
============================================================= */
@media screen and (max-width: 767px) {
    .aboutList {
        padding-top: 50px;
    }
    .historyTdWidthSP01 {
        width: 80px;
    }
    .historyTdWidthSP02 {
        width: 50px;
    }
}


/* energy
============================================================= */
@media screen and (max-width: 767px) {
    .childMenuLink {
        display: none;
    }
    #wideBrandingArea.energy {
        background: url("/solution/energy/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
    .solutionItemList > li {
        float: none;
        width: 100%!important;
        max-width: 300px!important;
        margin-right: auto!important;
        margin-left: auto!important;
    }
    .inquiryArea a {
        display: block;
        height: auto;
    }
    .inquiryArea a .colIcon {
        display: block;
        width: 100%;
        padding: 15px 15px 10px 15px;
    }
    .inquiryArea a .colIcon img {
        width: 40px;
        height: auto;
    }
    .inquiryArea a .colText {
        display: block;
    }
}
@media screen and (max-width: 449px) {
    .maBL {
        display: inline;
    }
}


/* production
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.production {
        background: url("/solution/production/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}


/* working environment
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.workingEnvironment {
        background: url("/solution/working_environment/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}


/* social infrastructure
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.socialInfrastructure {
        background: url("/solution/social_infrastructure/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}


/* engineering and service
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.engineeringService {
        background: url("/solution/engineering_and_service/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}


/* equipment built
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.equipmentBuilt {
        background: url("/solution/equipment_built/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
}


/* office
============================================================= */
@media screen and (max-width: 767px) {
    .tabBtnList > li {
        font-size: 16px;
        line-height: 130%;
    }
    .textType02 {
        font-size: 18px;
    }
    .tabBodyIn .col1 {
        float: none;
        width: 100%;
    }
    .tabBodyIn .col2 {
        float: none;
        width: 100%;
        padding-bottom: 50px;
    }
    .tabBodyIn .col1 .imgSet01 {
        text-align: center;
    }
    .gmArea,.gmAreaLong {
        margin-top: 25px;
        margin-bottom: 25px;
    }
    .gmArea iframe {
        height: 300px;
    }
    .gmAreaLong iframe {
        height: 500px;
    }
    .linkType01::before {
        bottom: 6px;
    }
    .paragraphBox {
        margin-bottom: 25px;
        padding-bottom: 25px;
    }
}
@media screen and (max-width: 399px) {
    .only399 { display: block; }
}


/* recruitment
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea.recruit {
        background: url("/recruit/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
    .decorationText {
        position: absolute;
        top: 55px;
        left: auto;
        right: 0;
        font-size: 65px;
    }
    .recruitMessageBlock {
        padding-top: 100px;
    }
    .recruitMessageImg {
        width: 90%;
        max-width: 800px;
        padding-bottom: 0;
    }
    .recruitMessageBox {
        position: relative;
        bottom: auto;
        top: -30px;
        right: auto;
        width: 90%;
        margin-left: 10%;
        padding: 20px;
    }
    .rmTitle {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .rmText {
        margin-bottom: 15px;
    }
    .dropDownBox .dropTitle {
        min-height: 54px;
        padding: 11px 35px 10px 50px;
        background: #ffffff url("/assets/images/icon_qes.png") 13px 13px no-repeat;
        background-size: 23px 25px;
        font-size: 20px;
    }
    .dropDownBox .dropTitle::before {
        right: 15px;
    }
    .dropDownBox .dropBody {
        padding: 15px 15px 25px 50px;
        background: #f2f2f2 url("/assets/images/icon_ans.png") 13px 16px no-repeat;
        background-size: 23px 25px;
    }
    .difineTable {
        display: block;
    }
    .difineTable > dt {
        padding-left: 0;
        margin-bottom: 10px;
    }
    .dropBody .difineTable {
        padding-left: 15px;
        padding-right: 15px;
    }
    .ImgOnlyStyle .ImgText.spOnly {
        width: 100%;
    }
}


/* sustainability
============================================================= */
@media screen and (min-width: 1310px) {
    .imgLinkTitle {
        top: 110px;
        left: 50px;
    }
    .imgLinkBtn {
        bottom: 35px;
        left: 50px;
    }
    .img2colList .imgLinkTitle {
        top: 28px;
        left: 50px;
    }
    .img2colList .imgLinkBtn {
        bottom: 25px;
        left: 50px;
    }
}
@media screen and (max-width: 1310px) {
    .img2colList .imgLinkTitle {
        padding: 3vw 0 2px 15px;
        font-size: 2vw;
    }
}
@media screen and (max-width: 1000px) {
    .imgLinkTitle {
        top: 5vw;
    }
}
@media screen and (max-width: 767px) {
    #wideBrandingArea.sustainability {
        background: url("/sustainability/images/bg_branding_sp.jpg") center center no-repeat;
        background-size: cover;
    }
    .catchTitle {
        margin-bottom: 30px!important;
        padding: 30px 40px;
        font-size: 20px;
    }
    .catchText {
        margin-bottom: 50px;
    }
    .catchImg {
        margin-bottom: 50px;
    }
    .imgLink + .img2colList {
        margin-top: 15px;
    }
    .img2colList > li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
    .img2colList > li:last-child {
        margin-bottom: 0;
    }
    .imgLinkTitle {
        top: 10px!important;
        left: 15px!important;
        padding: 10px 0 2px 10px!important;
        font-size: 18px!important;
    }
    .imgLinkBtn {
        left: 15px!important;
        bottom: 10px!important;
        font-size: 14px;
    }
}


/* society
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea3rd.society {
        background: url("/sustainability/society/images/bg_branding.jpg") left center no-repeat;
        background-size: cover;
    }
    .societyImgList {
        max-width: 353px;
    }
    .societyImgList > li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
    .societyImgList > li:last-child {
        margin-bottom: 0;
    }
}


/* sustainability human
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea3rd.human {
        background: url("/sustainability/human/images/bg_branding.jpg") center left -100px no-repeat;
        background-size: cover;
    }
}


/* sustainability governance
============================================================= */
@media screen and (max-width: 767px) {
    #wideBrandingArea3rd.governance {
        background: url("/sustainability/governance/images/bg_branding.jpg") center right -400px no-repeat;
        background-size: cover;
    }
}


/* senior interview
============================================================= */
@media screen and (max-width: 1310px) {
    .interviewBranding .brandingTextArea .brandingTitle {
        font-size: 2vw;
    }
    .interviewBranding .brandingTextArea .brandingText {
        font-size: 1.2vw;
    }
}
@media screen and (max-width: 767px) {
/*
    .interviewBranding {
        margin-left: -15px;
        margin-right: -15px;
    }
*/
    .interviewBranding {
        padding-top: 30px;
        padding-left: 0;
        padding-bottom: 0;
    }
    .interviewBranding img {
        width: 90%;
        margin-left: 10%;
    }
    .interviewBranding .brandingTextArea {
        position: relative;
        bottom: auto;
        top: -30px;
        width: 90%;
        padding: 15px 20px 20px 20px;
        box-sizing: border-box;
    }
    .interviewBranding .brandingTextArea .brandingTitle::before {
        width: 65px;
    }
    .interviewBranding .brandingTextArea .brandingTitle {
        margin-bottom: 20px;
        padding-bottom: 20px;
        font-size: 20px;
    }
    .interviewBranding .brandingTextArea .brandingText {
        font-size: 16px;
    }

    .interviewBtmLink {
        display: block;
    }
    .interviewBtmLink > li {
        display: block;
        max-width: 100%;
        margin-bottom: 15px;
        padding: 0;
    }
    .interviewBtmLink > li:last-child {
        margin-bottom: 0;
    }
    .interviewBtmLink > li > a,.interviewBtmLink > li > span,.interviewBtmLink > li > a:hover {
        height: 45px;
        font-size: 16px;
    }
}


/* Q&A
============================================================= */
@media screen and (max-width: 767px) {
    .anchorLink ul {
        text-align: left;
    }
    .anchorLink ul li {
        display: block;
        float: left;
        width: 49.5%;
        margin-right: 1%;
    }
    .anchorLink ul li:nth-child(2n) {
        margin-right: 0;
    }
    .anchorLink ul li a {
        min-width: auto;
        padding: 10px 5px 20px 5px;
        text-align: center;
    }
    .anchorLink ul li a span {
        font-size: 14px;
    }
}


/* sitemap
============================================================= */
@media screen and (max-width: 767px) {
    .horizonLineUp > li {
        float: none;
        width: 100%;
        padding-right: 0;
    }
}