@charset "UTF-8";

/* for SP
-------------------------------------------------------------------------------------*/

@media only screen and (max-width: 900px) {
    /* base contents
-------------------*/

    body {
        font-size: 14px;
        font-size: 1.4rem;
    }

    /*header*/
    #header,
    #gNav {
        display: none;
    }
    #spHeader {
        padding: 7px 3%;
        display: block;
        margin-bottom: 0;
        width: 100%;
        position: fixed;
        -webkit-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        z-index: 99999;
    }
    #spHeader .logo img {
        height: 30px;
        width: auto;
    }
    #spHeader ul {
        overflow: hidden;
        zoom: 1;
        position: absolute;
        right: 55px;
        top: 16px;
    }
    #spHeader li {
        float: left;
        margin: 0 5px;
        text-align: center;
    }
    #spHeader li a {
        color: #fff;
        font-size: 2.6rem;
        line-height: 1;
    }

    #spHeader.fixed {
        background-color: rgba(255, 255, 255, 0.9);
    }

    .spMenu {
        cursor: pointer;
        display: block;
        height: 40px;
        width: 50px;
        position: fixed;
        right: 0;
        top: 3px;
        z-index: 99999998;
    }
    .spMenu span {
        background: #fff;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: inline-block;
        vertical-align: top;
        height: 2px;
        width: 23px;
        position: absolute;
        left: 14px;
        -webkit-transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
    }
    .spMenu.black span {
        background: #000;
    }

    #spHeader .logo img.normal {
        display: none;
    }
    #spHeader.fixed .logo img.normal {
        display: block;
    }
    #spHeader.fixed .logo img.white {
        display: none;
    }

    .spMenu small {
        display: block;
        color: #fff;
        font-size: 0.9rem;
        font-weight: bold;
        font-family: "Roboto Condensed", sans-serif;
        width: 100%;
        text-align: center;
        position: absolute;
        left: 0;
        bottom: 3px;
    }
    .spMenu span:nth-of-type(1) {
        top: 10px;
    }
    .spMenu span:nth-of-type(2) {
        top: 19px;
    }
    .spMenu span:nth-of-type(3) {
        top: 28px;
    }
    .spMenu.active span {
        background: #000;
    }
    .spMenu.active span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
        top: 8px;
    }
    .spMenu.active span:nth-of-type(2) {
        opacity: 0;
    }
    .spMenu.active span:nth-of-type(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
    }
    .spMenu.active small {
        color: #000;
    }

    /*spNav*/
    #spNav {
        background: #f9f9f9;
        height: 100%;
        display: block;
        transition: all 550ms ease 0.25s;
        visibility: hidden;
        padding-top: 50px;
        width: 80%;
        position: fixed;
        right: -100%;
        top: 0;
        z-index: 99999997;
    }
    #spNav.active {
        visibility: visible;
        right: 0;
    }
    #spNav #spBg {
        background: rgba(0, 0, 0, 0.5);
        height: 100%;
        width: 500%;
        position: fixed;
        right: -50%;
        top: 0;
        z-index: -1;
        opacity: 0;
        transition: all 550ms ease 0.25s;
        pointer-events: none;
    }
    #spNav.active #spBg {
        right: 0;
        opacity: 1;
        pointer-events: auto;
    }
    #spNav::after {
        background: rgba(255, 255, 255, 0.8);
        background: #f9f9f9;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1;
    }
    #spNav::before,
    #spNav::after {
        opacity: 0;
        transition: all 550ms ease 0.25s;
    }
    #spNav.active::before,
    #spNav.active::after {
        opacity: 1;
    }
    #spNav .closeBtn {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 15px 3%;
        text-align: right;
    }
    #spNav nav {
        border-top: 1px solid #fff;
    }
    #spNav nav ul li {
        border-bottom: 1px solid #fff;
        width: 100%;
        position: relative;
    }
    #spNav nav ul li:before {
        font-family: "icon";
        content: "\e905";
        position: absolute;
        left: 10px;
        top: 15px;
    }

    #spNav nav ul li a {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        color: #000;
        font-size: 1.4rem;
        font-weight: 500;
        display: block;
        padding: 15px 2em 15px 2.5em;
        position: relative;
    }

    #spNav nav ul li a:hover {
        background: #2aa53b;
        color: #fff;
        text-decoration: none;
    }
    /*#spNav nav ul li a:hover::before{
	color: #FFF;
}*/
    #spAction {
        display: block;
        margin: 0;
        padding: 0;
        position: fixed;
        left: 0;
        bottom: -100px;
        transition: all 550ms ease 0.25s;
        z-index: 300;
    }
    body.throughHd #spAction {
        bottom: 0;
        width: 100%;
    }
    #spAction li {
        border-right: 1px solid #888;
        float: left;
        height: 40px;
        display: table;
        width: 50%;
    }
    #spAction li a {
        background: rgba(0, 0, 0, 0.8);
        color: #fff;
        display: table-cell;
        font-size: 1.2rem;
        vertical-align: middle;
        text-align: center;
        padding: 0 1em 0 2.5em;
        width: 100%;
        position: relative;
    }
    #spAction li a i {
        margin: auto;
        text-align: left;
        width: 85%;
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 2;
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    /*breadChumbs*/
    #breadChumbs {
        display: none;
    }

    /*mv*/

    #mv {
        margin-bottom: 0px;
    }

    #mv div.mvInr {
        margin: 0 3%;
        width: auto;
        padding-top: 0;
    }
    #mv .mvInr h1 {
        padding: 75px 0 40px;
        font-size: 2.2rem;
        font-weight: 400;
    }

    /*contents*/
    #contents {
        margin: 0 auto;
        padding-top: 40px;
        width: 100%;
        display: inherit;
    }
    #main {
        margin: 0 3%;
        width: auto;
    }
    #sideNav {
        margin: 40px 3% 0;
        max-width: 100%;
        width: auto;
    }
    #sideNav h2 {
        font-size: 2.4rem;
    }

    /*footer*/

    #footer .ftInr ul {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    #footer .ftInr ul li {
        width: 100%;
        text-align: center;
    }

    #footer .ftInr ul li:nth-child(odd) {
        margin-right: 0;
    }

    #footer .ftInr ul dl dd {
        font-size: 10px;
        display: none;
    }
    #footer .ftInr ul dl dd.under {
        font-size: 9px;
    }
    #footer .ftInr ul dl dd.under::before {
        top: 8px;
    }

    #footer .ftInr ul dl dt {
        font-size: 14px;
        border-bottom: none;
    }

    #footer .ftInr {
        padding: 30px 0;
    }

    small#copyright {
        font-size: 1rem !important;
        padding: 10px 0;
        text-align: center;
        width: 100%;
    }

    /*newsList*/
    .newsList li .img {
        height: 100px;
    }
    .newsList li .img span img {
        max-height: 100px;
    }
    .newsList li .tx {
        line-height: 1.5 !important;
    }
    @media only screen and (max-width: 640px) {
        .newsList li .img {
            float: none;
            width: 100%;
        }
        .newsList li .img span img {
            max-height: 100px;
        }
        .newsList li a {
            height: auto;
        }
        .newsList li a::before,
        .newsList li a::after {
            display: none;
        }
        .newsList li .tx {
            line-height: 1.5 !important;
            display: block;
            height: 60px;
            overflow: hidden;
            position: relative;
        }
        .newsList li .tx::before {
            background: #fff;
            bottom: 0;
            content: "…";
            position: absolute;
            right: 0;
        }
        .newsList li .tx::after {
            background: #fff;
            content: "";
            height: 100%;
            position: absolute;
            width: 100%;
        }
    }

    /* indent
-------------------*/
    .bgFixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }
    .is-sp {
        display: block !important;
    }
    .is-pc {
        display: none !important;
    }
    .spImg {
        max-width: 100%;
    }
    a.spTel {
        color: #2aa53b;
        pointer-events: auto;
        text-decoration: underline;
    }

    /* section
-------------------*/

    section {
        margin-bottom: 50px;
    }
    .scInr,
    .scInrS,
    .scInrW {
        float: none;
        margin: 0 3%;
        width: auto;
    }

    /* compo parts
-------------------*/
    /*head*/
    .head01 {
        font-size: 2.2rem;
        font-weight: 500;
    }
    .head02 {
        font-size: 2rem;
    }
    .head03 {
        font-size: 1.8rem;
    }
    .head03::before {
        width: 18px;
        height: 3px;
        top: 12px;
    }

    .head04 {
        font-size: 1.6rem;
    }

    /*btn*/

    .bscBtn01 a {
        display: block;
        padding: 20px 5%;
        margin-bottom: 10px;
        text-align: center;
        width: 100%;
    }

    .bscBtn02 a {
        display: block;
        padding: 20px 5%;
        margin-bottom: 10px;
        text-align: center;
        width: 100%;
    }

    /*box*/
    .bscBox01 {
        padding: 5%;
    }
    .bscBox02 {
        padding: 5%;
    }

    /*table*/
    .tblScroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tblScroll table {
        -webkit-overflow-scrolling: touch;
        margin-bottom: 0;
        width: 1000px !important;
    }

    .bscTbl01 table th,
    .bscTbl01 table td {
        display: block;
        font-size: 1.1rem;
        padding: 10px 3%;
        width: 100% !important;
    }
    .bscTbl01.tblScroll table th,
    .bscTbl01.tblScroll table td {
        display: table-cell;
    }
    .tblScroll {
        padding-bottom: 5px;
    }
    .tblScroll::before {
        content: "※横スクロールができます。";
        display: block;
        margin-bottom: 10px;
    }

    .executive .bscTbl01 table th,
    .executive .bscTbl01 table td {
        display: table-cell;
        font-size: 1.1rem;
        padding: 10px 3%;
    }
    .executive .bscTbl01 table th {
        width: 60% !important;
    }
    .executive .bscTbl01 table td {
        width: 40% !important;
    }

    /*float*/
    .fltL,
    .fltR {
        float: none;
    }
    .fltImgL,
    .fltImgR {
        float: none;
        margin: 0;
        text-align: center;
    }
    .fltImgL img,
    .fltImgR img {
        max-width: 100%;
        margin-bottom: 5px;
    }

    /*column*/
    .clm4 li {
        float: left;
        margin-right: 0;
        width: 48.5%;
    }
    .clm4 li.even,
    .clm4 li:nth-child(2n) {
        float: right;
    }
    .clm4 li:nth-child(4n) {
        margin-right: 0;
    }

    .clm3 li {
        float: left;
        margin-right: 0;
        width: 48.5%;
    }
    .clm3 li.even,
    .clm3 li:nth-child(2n) {
        float: right;
    }

    .clm4 li .img,
    .clm3 li .img,
    .clm2 li .img {
        height: 100px;
    }
    .clm4 li .img span img,
    .clm3 li .img span img,
    .clm2 li .img span img {
        max-height: 100px;
    }

    /*topcontrol*/
    /*#topcontrol{
	display: none;
}
*/
    #topcontrol {
        bottom: 10px !important;
        right: 10px !important;
    }

    /* pager
-------------------*/

    .pager a::before,
    .pager a::after {
        display: none;
    }

    /* form
-------------------*/

    .subscribeBtn input {
        padding: 15px 0 13px;
        margin-top: 5px;
        width: 100%;
    }
    input.wSS,
    input.wS,
    input.wM,
    input.wL,
    input.wLL {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .wSS {
        width: 30%;
    }
    .wS {
        width: 50%;
    }
    .wM {
        width: 100%;
    }
    .wL {
        width: 100%;
    }
    .wLL {
        width: 100%;
    }
    .imeOn {
        ime-mode: active;
    }
    .imeOff {
        ime-mode: disabled;
    }
    textarea.txtarea {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        height: 200px;
        width: 100%;
    }
    select.timearea {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 50%;
    }
    option {
        font-size: 1.4rem !important;
    }
    label {
        cursor: pointer;
    }
    label:hover {
        color: #999;
    }
    input[type="checkbox"],
    input[type="radio"] {
        margin-right: 3px;
    }
    .formErr {
        color: #e54e52;
        font-weight: bold;
    }
    input.inputErr,
    textarea.inputErr {
        background: #fadfde;
    }
    .req {
        color: #fff;
        font-size: 10px;
        line-height: 100%;
        margin-left: 3px;
        padding: 2px 5px;
        margin-right: 5px;
        vertical-align: middle;
    }
    .cauText {
        display: block;
    }

    /* for COMPANY
-------------------------------------------------------------------------------------*/

    .bigList li {
        font-size: 1.8rem;
        line-height: 1.7;
    }
    .spLeft {
        text-align: left !important;
    }

    .name img {
        width: 30%;
    }

    .ancList ul li {
        width: 100%;
    }

    .historyList ul li dl {
        display: block;
        padding-bottom: 15px;
    }

    .historyList ul li dl dd {
        width: 100%;
    }

    .historyList ul li dl dt {
        width: 100%;
        font-weight: bold;
        font-size: 2.2rem !important;
        font-size: 22px !important;
    }

    .historyBox .img img {
        width: 100%;
    }
    .historyList ul li {
        line-height: 0;
    }

    .historyList ul li dl dt:before {
        font-size: 22px;
        left: -3px;
        top: -1px;
    }

    /* for TECHNOLOGY
-------------------------------------------------------------------------------------*/

    #contents.index {
        margin: 0 3%;
        width: auto;
    }

    .pcBox h2 {
        font-size: 2.2rem;
        margin-bottom: 10px;
    }

    .pcBox {
        padding: 100px 20px;
    }

    .indexList ul li {
        width: 49%;
        margin-right: 0;
    }

    .indexList ul li:nth-child(even) {
        margin-left: 2%;
    }

    .indexList ul li dl dt {
        font-size: 1.4rem;
        margin-bottom: 10px;
        font-weight: 500;
    }

    .indexList ul li dl {
        padding: 5px 0;
    }
    .indexList ul li dl dd {
        font-size: 1rem;
    }

    .categoryList li {
        width: 49%;
        margin-right: 0;
    }

    .categoryList li:nth-child(even) {
        margin-left: 2%;
    }

    .categoryList li .title {
        font-size: 1.4rem;
        font-weight: 500;
    }

    .concreteImg img {
        width: 100%;
    }

    /* for TOP
-------------------------------------------------------------------------------------*/
    #area01 {
        width: 95%;
        margin: 0 auto 40px;
        display: block;
    }
    #area01 .newsWrap {
        width: 100%;
		padding-top: 40px;
    }
    #area01 .newsWrap .spSpan{
        display: inline-block;
    }
    #area01 .newsWrap .pcSpan{
        display: none;
    }
    .tabGroup {
        justify-content: space-between;
    }

    .tabGroup li {
        font-size: 1.3rem;
    }
    .newsList li a {
        font-size: 1.4rem;
    }

    .newsList li .category {
        width: 70px;
        padding: 3px 0;
        font-size: 1rem;
    }
    .tab {
        width: 24%;
        margin-right: 0;
    }
    #area01 h2 {
        font-size: 2.4rem;
    }

    .newsList li .date {
        display: inline-block;
    }

    .newsList li a {
        margin-top: 10px;
        width: 100%;
    }

    #area02 ul li {
        display: block;
        margin-bottom: 40px;
    }
    #area02 ul li .img {
        width: 100%;
    }
    #area02 ul li .data {
        width: 90%;
        margin: 0 auto;
    }
    #area02 ul li .data .inr {
        padding: 20px 20px 40px 20px;
        left: 0;
        top: -30px;
    }

    #area02 ul li .data .inr .en:before {
        width: 16px;
        left: -20px;
    }
    .btmArrow i {
        bottom: -10px;
    }
    #area02 ul li:nth-child(even) .img {
        width: 100%;
    }

    #area02 ul li:nth-child(even) .data {
        width: 90%;
        margin: 0 auto;
    }

    #area02 ul li:nth-child(even) .data .inr {
        padding: 20px 20px 40px 20px;
        left: 0;
        top: -30px;
        width: 100%;
    }
    #area02 ul li .txt strong {
        font-size: 1.6rem;
        font-weight: 500;
    }

    #area03 {
        margin-bottom: 0;
    }

    #area03 h2 {
        font-size: 4rem;
        top: -10px;
    }

    #area03 {
        padding: 50px 0 40px;
    }

    .slider .sliderTxt h3 {
        font-size: 1.8rem;
        margin-bottom: 10px;
        padding-top: 10px;
        font-weight: 600;
    }
    #area04 {
        display: block;
        background-size: cover;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    #area04 .img {
        width: 90%;
        margin: 0 auto;
    }

    #area04 .txtArea {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }

    #area04 .txtArea .serif {
        font-size: 2.6rem;
    }

    #area04 .bscBtn01 {
        display: block;
        margin-right: 0px;
    }
    #area04 .txtArea .info {
        margin-bottom: 20px;
    }

    .topWrap #footer {
        margin-top: 0;
    }
    .videoMv {
        height: 50vh;
    }
    video {
        display: none;
    }

    .spMv {
        background: url("../../images/mv_sp.jpg") center center no-repeat;
        background-size: cover;
        width: 100%;
        display: block;
        height: 50vh;
    }
    .minTxt {
        font-size: 3rem;
        line-height: 0.7;
        margin-bottom: 20px;
    }
    .minTxt02 {
        display: block;
    }
    .enTxt {
        font-size: 1rem;
    }
    .enTxt02 {
        display: block;
    }
    #area02 ul li .data .inr h2,
    #area04 .inr h2 {
        font-size: 2.4rem;
    }

    /* for CONTACT US
-------------------------------------------------------------------------------------*/

    .thanks .center {
        text-align: left !important;
    }

    .policyBox {
        padding: 20px;
    }
    .telBox {
        display: block;
    }

    .telBox .info {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .bscTbl01 th,
    .bscTbl01 td {
        font-size: 1.5rem;
    }

    /* for NEWS & TOPICS
-------------------------------------------------------------------------------------*/

    .nCategoryList {
        width: 100%;
    }

    .nCategoryList ul li a {
        font-size: 1.3rem;
    }

    /* for RECRUIT
-------------------------------------------------------------------------------------*/

    .patrolWrap #mv .mvInr {
        height: 200px !important;
    }

    .titleImg {
        bottom: -57% !important;
        width: 43% !important;
    }

    .patrolTxt {
        font-size: 1.4rem !important;
        margin-bottom: 30px !important;
    }
    .patrolWrap #contents {
        padding-top: 29% !important;
    }
    .patrolWrap.detail #contents {
        padding-top: 10% !important;
    }
    .patrolList li {
        width: 49% !important;
        margin-right: 0 !important;
    }
    .patrolList li:nth-child(even) {
        margin-left: 2% !important;
    }
    .patrolWrap .boxList {
        display: block !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
    .patrolWrap .boxList li {
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    .patrolList li .title {
        font-size: 1.3rem !important;
        line-height: 1.3 !important;
    }
    .bnrList {
        padding-top: 20px;
    }
    .bnrList ul {
        justify-content: space-between;
    }

    .bnrList ul li {
        width: 49% !important;
        margin-right: 0;
    }

    /* for COMPANY
-------------------------------------------------------------------------------------*/
    .tbl-r05 {
        width: 80%;
    }
    .tbl-r05 .thead {
        display: none;
    }
    .tbl-r05 tr {
        width: 100%;
    }
    .tbl-r05 td {
        display: block;
        text-align: right;
        width: 100%;
    }
    .tbl-r05 td:first-child {
        background: #eee;
        font-weight: bold;
        text-align: center;
    }
    .tbl-r05 td:before {
        content: attr(data-label);
        display: block;
        font-weight: bold;
        margin-right: 10px;
        color: #2aa53b;
    }

    .companyWrap .ancList ul li a {
        font-size: 1.3rem;
        font-weight: 500;
    }
    .companyWrap .ancList ul li a:after {
        right: 2px;
    }

    .companyWrap .imgBox {
        display: block;
    }

    .companyWrap .imgBox .Img {
        width: 100%;
    }
    .companyWrap .imgBox .infoBox {
        width: 100%;
    }

    /* for RESULTS
-------------------------------------------------------------------------------------*/
    #accordion {
        margin-bottom: 15px;
    }
    #accordion dt {
        font-size: 1.6rem;
        margin-top: 10px;
    }

    #accordion dt:after {
        right: 10px;
    }
    #accordion dd .acflex {
        display: block;
    }

    #accordion dd .sbInr {
        margin-right: 0;
    }

    #accordion dd {
        padding: 10px 5px 0 5px;
    }

    #accordion dd .sbInr .title {
        display: block;
        color: #2aa53b;
        margin-right: 0;
        font-weight: 500;
    }

    #accordion dd .sbInr {
        margin-bottom: 20px;
    }
    #accordion dd .sbInr span {
        display: inline-block;
        line-height: 2;
    }
    .rList li {
        padding: 0;
    }

    .rList li a {
        display: block;
    }

    .rList li .img {
        width: 100%;
    }

    .rList figcaption {
        font-size: 2rem;
    }
    .rList li {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .rList li:after {
        display: none;
    }

    .infoList dl {
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
    }
    .rList.awardBox li figure {
        display: block;
    }
    .aboutIndex ul li h2 {
        font-size: 1.8rem;
        font-weight: 500;
        padding: 13px 0;
    }
    .aboutIndex ul li p {
        padding: 0;
        font-size: 1rem;
    }

    .aboutIndex ul li {
        margin-bottom: 20px;
        width: 100%;
    }

    .aboutIndex ul li h2:before {
        right: -20px;
    }
    .companyWrap .minTxt {
        font-size: 2.4rem;
    }
    .companyWrap .minTxt small {
        font-size: 2rem;
    }

    /* for DOWNLOAD
-------------------------------------------------------------------------------------*/

    .dlList ul li {
        width: 49%;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .dlList ul li:nth-child(even) {
        margin-left: 2%;
    }

    .dlList ul li a {
        padding: 20px 10px;
        border-radius: 10px;
    }

    /* for IR
-------------------------------------------------------------------------------------*/

    .dataList ul li {
        width: 49%;
        margin-right: 0%;
    }

    .dataList ul li.fixW {
        width: 100%;
    }

    .dataList ul {
        justify-content: space-between;
    }

    .dataHead01 span {
        font-size: 22px;
        font-size: 2.2rem;
        border-bottom: 2px solid #000;
        margin-bottom: 15px;
    }
    .dlistHead {
        font-size: 1.4rem;
        font-size: 14px;
    }
    .dlistHead:before {
        width: 60px;
    }
    .dlistHead small {
        font-size: 1rem;
        font-size: 10px;
    }
    .shadowHead {
        text-align: center;
        background: #2aa53b;
        width: 90%;
        margin: 0 auto 20px;
    }

    .shadowHead span {
        font-size: 1.8rem;
        font-size: 18px;
        padding: 0;
        color: #fff;
        line-height: 1.7;
        background: none;
    }

    .shadowBox img {
        width: 90%;
    }
    .ancHead {
        font-size: 2rem;
        font-size: 20px;
    }

    .ancHead strong {
        font-size: 4rem;
        font-size: 40px;
    }

    .ancList ul {
        display: block;
    }
    .mainImg img {
        width: 182% !important;
    }
    .imgHead span {
        font-size: 1rem;
        font-size: 10px;
    }

    .imgHead {
        font-size: 1.8rem;
        font-size: 18px;
        padding: 15px 10px;
    }
    .bgW span {
        padding: 6px 10px;
        font-size: 1.3rem;
        font-size: 13px;
    }

    .pointList {
        display: block;
        width: 100%;
    }
    .pointList li {
        width: 100%;
    }

    .pointList li dl dd span {
        font-size: 1.5rem;
        font-size: 15px;
    }

    .pointList li dl dd {
        margin-bottom: 10px;
    }

    .pointList li dl {
        width: 95%;
    }

    .pointList li dt {
        width: 40%;
    }

    .pointList li dd {
        width: 60%;
        padding: 15px;
    }

    .pointList li dt .circle .txt01 {
        font-size: 1.2rem;
        font-size: 12px;
        width: 85%;
    }
    .pointList li dl dd span {
        font-size: 1.2rem;
        font-size: 12px;
    }

    .pointList li dd:before {
        left: -5px;
        border-right: 5px solid #eee;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
    }

    .pointImg {
        width: 95%;
    }
    .pointList li {
        margin-bottom: 30px;
    }

    .pointList li dd h3 span {
        padding: 8px 13px;
    }

    /* for CSR
-------------------------------------------------------------------------------------*/

    .diversityWrap #mv .mvInr {
        height: 200px;
    }

    .diversityWrap #mv .mvInr h1 {
        padding: 14px 0;
        font-size: 2rem;
        left: 50%;
        top: inherit;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        bottom: -10px;
        width: 70%;
        text-align: center;
    }

    .diversityTxt {
        width: 140px;
        left: 50%;
        top: inherit;
        bottom: 24px;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }
    .peopleList ul {
        justify-content: space-between;
    }
    .peopleList ul li {
        width: 47%;
        margin-bottom: 30px;
    }
    .peopleList ul li:nth-child(2n) {
        margin-right: 0;
    }

    .peopleList ul li p span {
        padding: 2px 5px;
        font-size: 1rem;
        font-size: 10px;
        font-weight: 600;
        border-radius: 5px;
    }

    .qaList {
        width: 100%;
    }

    .qaBox {
        display: block;
    }
    .qaImg {
        margin-bottom: 10px;
    }
    .nameBox {
        width: 100%;
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 20px;
    }

    .nameBox br {
        display: none;
    }

    .nameBox span {
        padding: 5px 5px;
        font-size: 1rem;
        font-size: 10px;
        font-weight: 600;
        border-radius: 5px;
        margin-left: 5px;
        vertical-align: middle;
        margin-top: 0;
    }
    .qaInfo {
        width: 100%;
    }

    .qaInfo dt {
        font-size: 16px;
        font-size: 1.6rem;
        padding-left: 1.7em;
        text-indent: -0.9em;
    }

    .flap img {
        width: 100% !important;
    }
    .csrWrap .aboutIndex.clm3List ul {
        display: block;
    }

    .aboutIndex.clm3List ul li {
        width: 100%;
        margin-right: 0;
    }

    .aboutIndex.clm3List ul li h2 {
        font-size: 1.4rem;
        font-weight: 500;
    }

    .aboutIndex ul li h3 {
        text-align: center;
        display: block;
    }
    .csrWrap .spImg img {
        width: 100% !important;
    }
    .stakeholderImg img {
        width: 70%;
    }
    .movieWrap {
        width: 100%;
    }
    .mp4Box {
        width: 100%;
    }
    .mp4Box video {
        display: block;
    }

    .slick-list {
        padding: 0px 5% !important;
    }
    .historyBox .info {
        font-size: 1.4rem;
    }

    .pcBox .bscBtn01 a {
        padding: 15px 5%;
        width: 74%;
        margin: 0 auto;
    }

    .pcBox {
        background: url("../../technology/images/bg_pc_sp.jpg") center center no-repeat;
        background-size: 100% auto;
    }
    .spFont {
        font-size: 1.1rem;
    }

    .slick-prev,
    .slick-next {
        z-index: 2;
    }

    .videoTxt {
        position: absolute;
        top: 72%;
    }
    .dataHead01 span strong {
        font-size: 32px;
        font-size: 3.2rem;
    }

    .spBnrImg {
        width: 100% !important;
    }

    .newsWrap .newsList li:nth-child(4),
    .newsWrap .s_eirList_item:nth-child(4) {
        display: none;
    }
    
    .newsWrap .newsList li:nth-child(5),
    .newsWrap .s_eirList_item:nth-child(5) {
        display: none;
    }
    .pcBox h2 {
        display: none;
    }
    .pcBox p.pcTxt {
        display: none;
    }
    .pcBox .bscBtn01 {
        display: none;
    }

    .is-sp h2 {
        font-size: 1.5rem;
        font-weight: 500;
        padding: 10px 5px;
    }

    .is-sp .pcTxt {
        font-size: 1.2rem;
        line-height: 1.3;
        letter-spacing: 0;
        padding: 0 5px 10px;
    }

    .recHead {
        font-size: 1.8rem;
    }
    .spBtm30 {
        margin-bottom: 30px;
    }

    .companyWrap .readTxt {
        font-size: 2rem;
        line-height: 1.4 !important;
    }

    .head01.fixSize {
        font-size: 1.7rem;
        letter-spacing: 0;
    }
    #area05 h2 {
        font-size: 2em;
        font-size: 20px;
    }

    .remodal {
        width: 90% !important;
        padding: 20px !important;
        min-height: 66% !important;
    }
    .cityImg {
        margin-bottom: 20px;
    }
    .cityImg .pin {
        display: none;
    }
    #area05 .circle {
        color: #fff;
        background-color: #d40003;
        padding: 0;
        margin: 0 5px 0 0;
        width: 25px;
        height: 25px;
        line-height: 25px;
        text-align: center;
        display: inline-block;
        border-radius: 50%;
        letter-spacing: 0;
    }

    .pin i {
        display: none;
    }

    .spPin {
        display: block;
    }

    .modalspBtn li {
        width: 48%;
        margin-left: 1%;
        margin-bottom: 10px;
        border: 1px solid #ccc;
        padding: 10px 8px;
        font-size: 12px;
        font-weight: bold;
        border-radius: 5px;
        display: inline-block;
    }

    .newsList li span.title {
        margin-top: 10px;
        width: 100%;
        font-size: 1.3rem;
    }
}
/*SP END*/

@media only screen and (max-width: 1100px) {
    .flap img {
        width: 90% !important;
    }
}

/* for iPad
-------------------------------------------------------------------------------------*/

.patrolWrap.ipad_view #contents,
.patrolWrap.Android_view #contents {
    padding-top: 16% !important;
}

.patrolWrap.ipad_view .boxList {
    display: flex !important;
    justify-content: space-between;
    margin: 0 auto 60px;
}

.patrolWrap.ipad_view .boxList li {
    width: 49% !important;
}

.ipad_view .newsList li a {
    height: auto;
}

.ipad_view .mdd_wrap .mdd_inner dd ul li a {
    font-size: 10px !important;
}

.ipad_view .mdd_wrap .mdd_inner dd {
    width: 79%;
}

.ipad_view .mdd_wrap .mdd_inner dt {
    font-size: 14px;
}

.ipad_view .aboutIndex ul li {
    width: 48%;
    margin-bottom: 30px;
}

.ipad_view .aboutIndex.clm3List ul {
    display: flex;
    justify-content: flex-start;
}

.ipad_view .aboutIndex.clm3List ul li:nth-child(even) {
    margin-left: 4%;
}

.ipad_view #gNav ul li a {
    font-size: 13px;
}

.ipad_view .aboutIndex.clm3List ul li {
    margin-right: 0;
}

.ipad_view #header.fixed #gNav {
    width: 76%;
}

.ipad_view .peopleList ul li {
    width: 22%;
    margin-bottom: 40px;
}

.ipad_view .peopleList ul li p {
    font-size: 11px !important;
}

.ipad_view .titleImg {
    width: 26% !important;
}

@media only screen and (max-width: 640px) {
    #area04 .txtArea .serif {
        width: 100% !important;
        margin-bottom: 10px;
    }
}
