@charset "utf-8";
p {
    font-size: 1.8rem;
}
section h2 {
    margin-bottom: 29px;
    color: #0071bf;
    font-size: 3rem;
    line-height: 1.2;
    text-align: center;
}

section h2 + p {
    margin-bottom: 3rem;
    text-align: center;
}
.bg-blue {
    background: #0071bf;
}
.bg-lightblue {
    background: #ecf4fa;
}
.arrow-white {
    position: relative;
    padding-top: 13rem;
}
.arrow-white::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 170px 0 170px;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translate(-50%, 0);
}
.arrow-blue {
    position: relative;
    padding-top: 13rem;
}
.arrow-blue::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 170px 0 170px;
    border-color: #0071bf transparent transparent transparent;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translate(-50%, 0);
}
.arrow-lightblue {
    position: relative;
    padding-top: 13rem;
}
.arrow-lightblue::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 100px 170px 0 170px;
    border-color: #ecf4fa transparent transparent transparent;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translate(-50%, 0);
}
.comBtn.btn-blue a {
    background: #0071bf;
    color: #fff;
}
.comBtn.btn-blue a span {
    background-image: url(../../battery/img/index/btn_icon.png);
}
.mainVisual_bnr_text {
    color: #000;
    font-weight: normal;
}
#main .mainVisual .photoBox::before {
    background: url(../img/common/main_bg01.png) no-repeat center center/100% 100%;
}
.solution-lp .mainVisual_bnr {
    border-left: none;
}
#main .onayami__flex {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#main .conformal__textarea {
    margin-top: 30px;
    line-height: 1.9;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
}
#main .onayami h2 {
    margin-bottom: 35px;
    text-align: center;
    color: #0071bf;
    font-size: 3rem;
    line-height: 1.4;
}
#main .onayami_list ul li {
    font-size: 2rem;
    text-indent: -3rem;
    padding-left: 3rem;
}
#main .onayami_list ul li::before {
    content: "";
    display: inline-block;
    position: relative;
    top: 3px;
    width: 1.5em;
    height: 1em;
    background: url(../img/common/onayami_check.png) no-repeat;
    background-size: contain;
}
section.resolution p {
    color: #fff;
    text-align: center;
}
.flow-intro .flowbox {
    width: fit-content;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 3rem;
    margin: 4rem auto 3rem;
}
.flow-intro dl {
    text-align: center;
    width: 140px;
    background: #ddd;
    position: relative;
}
.flow-intro dl dt {
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    padding: 5px 0 4px;
    background: #0071bf;
}
.flow-intro dl dt span {
    font-size: 2.5rem;
    margin-left: 5px;
}
.flow-intro dl dd {
    padding: 30px 0 20px;
    background: #ddd;
}
.flow-intro dl dd div {
    margin-bottom: 10px;
}
.flow-intro dl dd p {
    color: #0071bf;
    font-size: 1.6rem;
    font-weight: bold;
}
.flow-intro dl:after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px #0071bf;
    border-right: solid 2px #0071bf;
    position: absolute;
    top: 50%;
    right: -18px;
    margin-top: -4px;
    transform: rotate(45deg);
}
.flow-intro dl:last-of-type:after {
    display: none;
}
.c-bnr-lp {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    transition: .5s;
}
.c-bnr-lp__inner {
    display: inline-block;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 25px 0;
    background: #007ac9;
}
.c-bnr-lp__img {
    text-align: center;
    width: 45%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-bnr-lp__text {
    width: 55%;
    color: #fff;
    padding-right: 70px;
}
.c-bnr-lp__img img {
    max-width: 315px;
}
.c-bnr-lp__text--title {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 35px;
}
.c-bnr-lp__text--title {
    padding-top: 20px;
    font-size: 28px;
}
.c-bnr-lp__text--text {
    margin-top: -20px;
    margin-bottom: 20px;
}
.c-bnr-lp__text--btn {
    background: #fff;
    width: 100%;
    padding: 15px;
    color: #007ac9;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.block-head01 {
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid #0071bf;
}
.block-head01__num {
    color: #fff;
    background: #0071bf;
    font-size: 12px;
    letter-spacing: 5px;
    text-align: center;
    width: 45px;
    height: 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-indent: 5px;
}
.block-head01__num span {
    display: block;
    font-size: 1.7em;
    letter-spacing: 2px;
    text-indent: 1px;
    line-height: 1;
}
.block-head01__text {
    color: #0071bf;
    width: calc(100% - 60px);
}
#related-columns .three-custom {
    font-family: "Yu Gothic";
}
#related-columns .three > li {
    background: #fff;
}
#related-columns .three > li h4 {
    padding: 0 8%;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #0071bf;
}
#related-columns .three > li .bottom {
    padding: 0 8%;
}
#related-columns .three > li .bottom a {
    color: #000000;
}
:is(.flow-intro, .sdgs_bnr) .c-bnr-lp {
    margin-bottom: 6rem;
}
.task-info-product-link a {
    font-size: 1em!important;
    max-width: 400px!important;
    padding: 20px 10px!important;
    background: url(../../seminar/img/btn_icon02.png) no-repeat right 15px center #fff!important;
}

@media screen and (max-width: 1160px) {
    .flow-intro .flowbox {
        display: block;
        width: 60%;
        margin: 0 auto;
    }
    .flow-intro dl {
        margin-bottom: 30px;
        width: 100%;
    }
    .flow-intro dl dd {
        /* display: flex;
        justify-content: center; */
        padding: 15px 0;
        /* align-items: center; */
    }
    .flow-intro dl dd div {
        /* margin-right: 20px; */
        margin-bottom: 0;
    }
    .flow-intro dl:after {
        left: 50%;
        right: auto;
        top: auto;
        bottom: -15px;
        transform: rotate(135deg) translateX(50%);
        -webkit-transform: rotate(135deg) translateX(50%);
        -ms-transform: rotate(135deg) translateX(50%);
    }
}

@media screen and (max-width: 896px) {
    #main .mainVisual {
        height: auto;
        display: block;
    }
    #main .mainVisual .inner {
        margin: 0 20px;
        padding-top: 35px;
        width: auto;
    }
    #main .mainVisual .inner .textBox .title {
        margin-bottom: 7px;
        padding: 6px 0 6px;
        width: 100%;
        font-size: 1.4rem;
        text-align: center;
    }
    #main .mainVisual .inner .textBox h1 {
        margin-bottom: 9px;
        font-size: 2.4rem;
        line-height: 1.3;
    }
    .mainVisual_bnr {
        margin-top: 1rem;
        padding: 10px 10px 40px;
    }
    #main .mainVisual .photoBox {
        margin-top: -10px;
        width: auto;
        position: relative;
    }
    #main .mainVisual .photoBox::before {
        width: 100%;
        height: 210px;
        left: 0;
        top: -112px;
        background-image: url(../img/index/sp_main_bg01.png);
    }
    #main h2 {
        margin-bottom: 25px;
        font-size: 2.2rem!important;
        line-height: 1.36;
        text-align: center;
    }
    .c-bnr-lp__inner {
        gap: 20px;
    }
    .c-bnr-lp__img,
    .c-bnr-lp__text {
        width: 100%;
        padding: 0 30px;
    }
    .c-bnr-lp__img img {
        max-width: 100%;
    }
    .c-bnr-lp__text--title {
        font-size: 2rem;
        margin-bottom: 20px;
    }
    .c-bnr-lp__text--text {
        margin-top: 0;
    }
    .c-bnr-lp__text--btn {
        font-size: 16px;
    }
    .c-bnr-lp__text--btn img {
        width: 30px;
    }
    #main .onayami {
        background: url(../img/common/conformal_imgtext02_sp.jpg) no-repeat top;
        background-size: 75%;
    }
}

.mainVisual_bnr_area02 .mainVisual_bnr {
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
align-items: center;
}
.mainVisual_bnr_area02 .mainVisual_bnr_btn {
margin: 1rem 0;
}
.mainVisual_bnr_area02 img {
width: 40%;
}
.mainVisual_bnr_area02-wide {
margin-bottom: 6rem;
}
.mainVisual_bnr_area02-wide .mainVisual_bnr {
width: 100%;
max-width: none!important;
padding: 25px!important;
}
.mainVisual_bnr_area02-wide .mainVisual_bnr_title {
font-size: 28px!important;
margin-bottom: 35px;
}
.mainVisual_bnr_area02-wide .mainVisual_bnr_text {
font-size: 1.8rem;
margin-bottom: 20px;
}
.mainVisual_bnr_area02-wide .mainVisual_bnr_btn a {
width: 100%;
display: block;
padding: 15px !important;
font-size: 18px !important;
text-align: center;
}
.mainVisual_bnr_title{
    font-size: 1.8rem;
}
.solution-lp .mainVisual_bnr{
    letter-spacing: -1px;
}
.mainVisual_bnr_btn a{
    padding: 5px 5rem;
    font-size: 1.4rem;
    background-position: top 50% right 30px;
}
.mainVisual_bnr {
    padding: 1rem 1.4rem;
    max-width: 500px;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}
.mainVisual_bnr_btn{
    bottom: 1.4rem;
    position: unset;
}

@media screen and (max-width: 896px) {
    .mainVisual_bnr_area02 img {
        width: 90%;
        margin: 1rem auto;
    }
    .mainVisual_bnr_area02-wide .mainVisual_bnr_title {
        font-size: 2rem!important;
    }
    .mainVisual_bnr_btn a{
        padding: 5px 16px;
        background-position: top 50% right 6px;
        font-size: 1.2rem;
    }
    .mainVisual_bnr_area02 .mainVisual_bnr_btn {
        text-align: center;
    }
}

/* 260514 laser */
#main.laser {
    .mainVisual .photoBox {
        display: flex;
        align-items: center;
        background: #e5f1f9;

        picture {
            margin: 0 8vw 0 auto;
            @media screen and (max-width: 896px) {
                margin: auto;
            }

            img {
                max-width: 240px;
                @media screen and (max-width: 896px) {
                    padding: 30px 0;
                }
            }
        }
    }
    .mainVisual_bnr_area02 {
        .mainVisual_bnr {
            @media screen and (max-width: 896px) {
                max-width: none;
            }

            .mainVisual_bnr_textbox {
                @media screen and (max-width: 896px) {
                    width: 100%;
                }
            }
        }
        img {
            @media screen and (max-width: 896px) {
                width: auto;
            }
        }
    }
    section {
        h2 {
            line-height: 1.5;
        }
    }
    .onayami {
        .conformal__textarea {
            margin-top: 60px;
        }
    }
    .resolution {
        padding-bottom: 6rem;
    }
    .resolution-detail {
        @media screen and (max-width: 896px) {
            padding-bottom: 6rem;
        }
    }
    .linkBox.bnr {
        .linkList li.list01 .pho img {
            height: auto;
        }
    }
    .linkList li .txtBox .ttl span {
        @media screen and (max-width: 896px) {
            font-size: 110%;
            margin-bottom: 1.1rem;
        }
    }
    .linkBox .linkList li.list01 .txtBox .comBtn span {
        background: url(../img/common/icon_btn_download.png) no-repeat left center/20px auto;
    }
    .roi {
        background: #0071bf;
        @media screen and (max-width: 896px) {
            padding: 4rem 0 6rem;
            /* margin-top: -9rem; */
        }

        h2 {
            color: #fff;
        }
        p {
            color: #fff;
        }
        .roiCalc {
            text-align: center;
            background: #fff;
            max-width: 490px;
            padding: 30px;
            margin: auto;

            p {
                color: #000;
                font-weight: bold;
            }
            .roiCalcBtn {
                color: #000;
                font-weight: bold;
                display: block;
                background: #f0ab00;
                max-width: 320px;
                padding: 15px;
                margin: 30px auto 0;
            }
        }
    }
    .feature {
        @media screen and (max-width: 896px) {
            padding: 0 0 6rem;
        }
        .featureList {
            display: flex;
            gap: 25px;
            @media screen and (max-width: 896px) {
                flex-direction: column;
            }
        }
        .featureListItem {
            flex: 1;
            background: #ecf4fa;
            padding: 30px 20px;
            display: grid;
            grid-template-rows: auto auto 1fr;
            gap: 30px;
        }
        .featureListTtl {
            color: #0071bf;
            font-size: clamp(16px, 1.6681vw, 20px);
            font-weight: bold;
            text-align: center;
        }
        .featureListImg {
            text-align: center;

            img {
                max-height: 140px;
                @media screen and (max-width: 896px) {
                    max-height: 100px;
                }
            }
        }
        .featureListTxt {
            @media screen and (max-width: 896px) {
                font-size: 16px;
            }
        }
    }
    #solution {
        background: #e8f2f9;
        margin-bottom: 0;
        padding: 6rem 0 8rem;
        @media screen and (max-width: 896px) {
            padding: 5rem 0 6rem;
        }
        
        .flex.solution_item_wrap {
            justify-content: space-between;
            display: flex;
            @media screen and (max-width: 896px) {
                flex-direction: column;
            }

            .solution_item {
                width: 490px;
                background-color: #fff;
                border-top: 16px solid #0071BF;
                display: flex;
                flex-direction: column;
                @media screen and (max-width: 896px) {
                    width: 100%;
                }

                .img_box {
                    /* background: #fff; */
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    padding: 20px;

                    img {
                        max-height: 290px;
                    }
                }

                .txt_box {
                    padding: 40px 55px;
                    @media screen and (max-width: 896px) {
                        padding: 20px 25px;
                    }
                }
                h3 {
                    text-align: center;
                    color: #0071BF;
                    font-size: 2.7rem;
                    line-height: 1.4;
                    margin-bottom: 35px;
                    @media screen and (max-width: 896px) {
                        font-size: 2.2rem;
                        margin-bottom: 15px;
                    }
                }
                p {
                    font-size: 1.7rem;
                    text-align: left;
                }
                .btn {
                    text-align: center;
                    width: 360px;
                    max-width: none;
                    margin: auto auto 40px;
                    @media screen and (max-width: 896px) {
                        width: 100%;
                        padding: 0 20px;
                    }

                    a {
                        color: #fff;
                        font-size: 1.4rem;
                        font-weight: bold;
                        padding: 12px 0;
                        display: block;
                        position: relative;
                        background-color: #0071BF;

                        &::before {
                            content: '';
                            width: 10px;
                            height: 10px;
                            border: 0px;
                            border-top: solid 2px #fff;
                            border-right: solid 2px #fff;
                            -ms-transform: rotate(45deg);
                            -webkit-transform: rotate(45deg);
                            transform: rotate(45deg);
                            position: absolute;
                            top: 50%;
                            right: 30px;
                            margin-top: -4px;
                            transition: all ease .3s;
                        }

                        &:link {
                            text-decoration: none;
                        }
                    }
                }
            }
        }
    }
    .appeal {
        background: #007ac9;

        h2 {
            color: #fff;
        }

        .appealImg {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 50px;
            background: #fff;
            padding: 40px 20px;
            @media screen and (max-width: 896px) {
                flex-direction: column;
            }

            img {
                @media screen and (max-width: 896px) {
                    max-width: 140px;
                }
            }
        }

        .appealTxt {
            color: #fff;
            text-align: center;
            margin: 40px auto;
            @media screen and (max-width: 896px) {
                text-align: left;
            }
        }

        .comBtn {
            a {
                span {
                    position: relative;
                    /* &::before {
                        content: '';
                        width: 10px;
                        height: 10px;
                        border: 0px;
                        border-top: solid 2px #0071bf;
                        border-right: solid 2px #0071bf;
                        transform: rotate(45deg);
                        position: absolute;
                        top: 50%;
                        right: -10px;
                        margin-top: -4px;
                        transition: all ease .3s;
                    } */
                }
            }
        }
    }
    .performance {
        .text, .textBox p {
            @media screen and (max-width: 896px) {
                font-size: 16px;
            }
        }
    }
} /* .laser ここまで */
