/* sub */
.sub-visual {
    position:relative; 
    display:table; 
    table-layout:fixed; 
    height:520px; 
    overflow:hidden; 
    color: #fff; 
    background-color:#eee; 
    background-position:50% 50%; 
    background-attachment:scroll; 
    background-repeat:no-repeat; 
    background-size:cover; 
    margin: auto; 
    width: 100%; 
}

.sub-visual .cell {
    display:table-cell; 
    vertical-align:middle; 
    text-align:center; 
    padding: 20px; 
}

.sub-visual h2 {
    font-size:40px; 
    line-height:1.2em; 
    letter-spacing: -.025em;
    position: relative; 
    display: inline-block; 
    font-weight: 700; 
}

.sub-visual.bg1 {background-image:url("../images/sub/sub_visual1.jpg");}
.sub-visual.bg2 {background-image:url("../images/sub/sub_visual2.jpg");}
.sub-visual.bg3 {background-image:url("../images/sub/sub_visual3.jpg");}
.sub-visual.bg4 {background-image:url("../images/sub/sub_visual4.jpg");}
.sub-visual.bg5 {background-image:url("../images/sub/sub_visual5.jpg");}
.sub-visual.bg6 {background-image:url("../images/sub/sub_visual6.jpg");}

.path-wrap {
    z-index:50; 
    margin-top: -65px;
}
.path-wrap .wrap2 {
    max-width:100%; 
    margin:0 auto;  
    background: #fff;
}
.path-wrap .inner2 {
    display:flex; 
    width: 100%;
}
.path-wrap .home > a {
    display:block; 
    width:110px; 
    height:80px; 
    background-size:22px; 
    overflow:hidden; 
    border-left:1px solid #ddd; 
    border-right:1px solid #ddd; 
    border-bottom: 1px solid #ddd; 
    text-align: center;
}
.path-wrap .home > a > img {
    margin-top: 20px;
}
.path-wrap .part {
    position:relative; 
    min-width:495px; 
    border-right:1px solid #ddd; 
    z-index:50; 
    border-bottom: 1px solid #ddd;
}
.path-wrap .part > a {
    display:flex; 
    align-items:center; 
    position:relative; 
    height:80px; 
    color:#333333; 
    font-size:20px; 
    font-weight:600; 
    line-height:1.3em; 
    padding:0 60px 0 30px; 
    letter-spacing: -.025em;
}

.path-wrap .part > a:after {
    content:""; 
    position:absolute; 
    top:50%; 
    right:23px; 
    margin-top:-7px; 
    width:17px; 
    height:14px; 
    background:url("../img/down.png") 0% 50% no-repeat;
}

.path-wrap .part ul {
    display:none; 
    position:absolute; 
    left:-1px; right:-1px; 
    background:#fff; 
    border:1px solid #ddd; 
    z-index:50;
}

.path-wrap .part ul li {
    color:#043962; 
    line-height:1.3em; 
    border-bottom:1px solid #ddd; 
    font-size: 20px;
}

.path-wrap .part ul li:last-child {
    border-bottom:0;
}

.path-wrap .part ul li a {
    display:block; 
    padding:17px 24px; 
}

.path-wrap .part ul li a:hover,
.path-wrap .part ul li.active a {
    color:#fff; 
    background:#0175c8;
}

.path-wrap .part > a.active::after {
     transform: rotate(180deg);
}


#contArea {
    max-width:1460px; 
    padding-left:30px; 
    padding-right:30px; 
    margin:0 auto;
}

#contArea.wide {
    max-width:100%; 
    padding-left:0; 
    padding-right:0;
}

.sub-title {
     text-align: center; 
     padding: 60px 0;
}

.sub-title>h2 {
     font-size: 36px; 
     font-weight: 600; 
     letter-spacing: -.03em; 
     color: #333333; 
     line-height: 1em; 
     position: relative; 
}



.real-cont {
    min-height:300px;
    padding-bottom: 130px;
}

#contArea {
    max-width:1460px; 
    padding-left:30px; 
    padding-right:30px; 
    margin:0 auto;
}

/* --------------°í°´»ç/ÆÄÆ®³Ê»ç-------------- */

/* core-solution */

.core-sec1 {
     padding-bottom: 100px; 
     text-align: center;
}

.core-sec1 .contain {
     max-width: 1460px;
}

.core-sec1 h3 {
     font-size: 40px; 
     font-weight: 700; 
     letter-spacing: -.025em; 
     line-height: 1.2em; 
     color: #525252; 
}

.core-sec1 h3 span {
     color: #0a55a0;
}

.core-sec1 h4 {
     font-weight: 700; 
     font-size: 30px; 
     letter-spacing: -.025em; 
     color: #595959; 
     line-height: 1.2em; 
}

.core-sec1 h4.clr1 {
     color: #595959;
}

.core-sec1 h4 span {
     color: #0a55a0;
}

.core-sec1 b {
     font-size: 20px; 
     font-weight: 700; 
     letter-spacing: -.025em; 
     color: #333; 
     display: block; 
     margin-top: 15px; 
     line-height: 1.2em;
}

.core-sec1 p {
     line-height: 1.3em; 
     font-weight: 300; 
     font-size: 20px; 
     letter-spacing: -.025em; 
     color: #555; 
     margin-top: 10px;
}

.core-sec2 {
     background: #f2f2f2; 
     padding-top: 110px;
}

.core-sec2 .contain {
     max-width: 1460px;
}

.core-sec2-box {
     padding-left: 140px; 
     position: relative; 
     display: flex;
}

.core-sec2-left {
     width: 37%; 
     position: relative;
}

.core-sub-tit {
     display: block; 
     font-size: 20px; 
     font-weight: 700; 
     line-height: 1.2em; 
     letter-spacing: -.025em; 
     color: #333; 
     margin-bottom: 10px;
}

.core-sub-txt {
     font-size: 18px; 
     font-weight: 300; 
     letter-spacing: -.025em; 
     line-height: 1.6em; 
     color: #333; 
     position: relative; 
     padding-left: 12px;
}

.core-sub-txt::before {
     content: ""; 
     position: absolute; 
     left: 0; 
     top: 11px; 
     width: 4px; 
     height: 4px; 
     border-radius: 100%; 
     background: #0175c8;
}

.core-sec2-right {
     width: 63%; 
     position: relative; 
     overflow: hidden;
}

.core-sec2-img {
     position: relative; 
     bottom: -55px;
}

.core-sec2-list {
     position: absolute; 
     bottom: -71px; 
     display: flex; 
     gap: 20px; 
     width: 100%; 
     flex-wrap: wrap;
}

.core-sec2-list li {
     border-radius: 100%; 
     background: #0175c8; 
     text-align: center; 
     width: 142px; 
     height: 142px; 
     overflow: hidden; 
} 

.hover-list li {
     transition: .2s;
}

.hover-list li:hover {
     background: #139fde;
}

.core-sec2-list li>a {
     display: flex; 
     width: 100%; 
     align-items: center; 
     height: 100%; 
     justify-content: center;
}

.core-sec2-list li p {
     color: #fff; 
     font-size: 16px; 
     font-weight: 300; 
     letter-spacing: -.025em; 
     line-height: 1.2em;
    margin-top: 10px;
}

.core-sec2-list2 {
     position: relative; 
     bottom: auto; 
     margin-top: 75px;
}

.core-sec2-list3 {
     position: relative; 
     bottom: auto;
     margin-top: 35px;
}

.core-sec2-list2 li{
     display: flex; 
     align-items: center; 
     justify-content: center;
}

.core-sec2-list3 li{
     display: flex; 
     align-items: center; 
     justify-content: center;
}

.core-sec2-list4 li {
     background: #fff;
}

.core-sec2-list4 li p {
     color: #0175c8;
}

.core-sec3 {
     padding-top: 170px; 
}





.core-link {
     font-size: 20px; 
     font-weight: 700; 
     line-height: 1.3em; 
     display: block; 
     letter-spacing: -.025em; 
     color: #333; 
     position: relative;
}

.core-link::before {
     display: block; 
     content: ""; 
     width: 180px; 
     height: 180px; 
     border-radius: 100%; 
     margin: 0 auto 18px; 
     background-size: 84px; 
     background: url(../images/sub/core1_1_bt.png) center no-repeat; 
     background-color: #0f2549;
}



/*------------------PS-LTE------------------- */


.lte-sec1 {
     padding-bottom: 75px;
}

.lte-sec2 {
     padding: 65px 0 70px; 
     background: #daebff;
}

.lte2-sec2 {
     padding: 65px 0 70px;
}

.lte-sec2 .contain {
     max-width: 1460px;
}

.lte2-sec2 .contain {
     max-width: 1460px;
}

.lte2-sec2 .lte-sec2-box {
     flex-direction: row-reverse;
}

.lte2-sec2 .lte-sec2-right {
     padding-left: 350px;
}

.lte-sec2-box {
     display: flex;
}

.lte-sec2-box>div {
     width: 50%;
}

.lte-sec2-box2 {
     align-items: center;
}

.lte-sec2-left {
     text-align: center;
}

.lte-sec2-right {
     padding-top: 30px; 
     padding-left: 20px;
}

.lte-txtbox { 
    margin-bottom: 50px;
}

.lte-txtbox:last-child {
     margin-bottom: 0;
}

.lte-subtxt {
     font-size: 20px; 
     font-weight: 700; 
     letter-spacing: -.025em; 
     line-height: 1.3em; 
     color: #333; 
     margin-bottom: 15px; 
     display: inline-block;
}

.ref-linkbox {
    display: flex;
    align-items: center; 
    margin-bottom: 12px;
}

.ref-linkbox b {
     margin-bottom: 0;
}

.ref-link {
     display: inline-block; 
     width: 50px; 
     height: 50px; 
     border-radius: 5px; 
     margin-left: 15px; 
     font-size: 10px; 
     color: #0175c8; 
     font-weight: 500; 
     background: #fff; 
     text-align: center; 
     line-height: 1.7em;
}

.ref-link img{
     margin-top: 8px;
}

.lte-txt {
     font-size: 18px; 
     line-height: 1.6em; 
     letter-spacing: -.025em; 
     font-weight: 400; 
     color: #333;
}

.lte-sec2-list {
     display: flex; 
     flex-wrap: wrap; 
     margin-top: 40px; 
     gap: 14px;
}

.lte-sec2-list li {
    background: #fff; 
    border-radius: 5px; 
    width: calc(100%/3 - 10px); 
    padding: 15px 15px; 
    display: flex; 
    align-items: center; 
    padding-right: 0;
}

.lte-sec2-list li p {
     padding-left: 12px; 
     font-size: 15px; 
     font-weight: 300; 
     letter-spacing: -.03em; 
     line-height: 1.25em; 
     color: #555;
}

.lte-sec3 {
     padding: 100px 0;
}

.lte-sec3 .contain {
     max-width: 1460px;
}

.lte-list {
    padding: 0 140px; 
    display: flex; 
    gap: 60px 30px; 
    flex-wrap: wrap;
}

.lte-list li {
     width: calc(100%/3 - 20px); 
     text-align: center;
}

.lte-list li .imgbox {
     position: relative; 
     width: 100%; 
     margin-bottom: 15px;
}

.lte-list li .imgbox::after {
     content: ""; 
     position: absolute; 
     left: 0; 
     right: 0; 
     top: 0;
     bottom: 0; 
     margin: auto;
     border: 1px solid #ddd;
}

.lte-list li .imgbox img {
     width: 100%;
}

.lte-list li .tit {
     font-size: 18px; 
     font-weight: 700; 
     line-height: 1.2em; 
     letter-spacing: -.025em; 
     color: #555;
}

.lte-sec4 {
     padding: 100px 0; 
     background: #f2f2f2; 
     text-align: center;
} 

.lte-sec4 .contain { 
    max-width: 1460px;
}

.lte-sec4 .tit {
     font-size: 20px; 
     font-weight: 700; 
     letter-spacing: -.025em; 
     line-height: 1.2em;
     margin-bottom: 20px; 
     color: #525252;
}

.lte-sec4 .txt {
     font-size: 18px; 
     font-weight: 300; 
     line-height: 1.5em; 
     letter-spacing: -.025em; 
     color: #555;
}

.lte-sec4-box {
     display: flex; 
     margin-top: 95px;
}

.lte-sec4-box>div {
     width: 50%;
}

.lte-sec4-box>div img {
     width: 100%; 
     height: 100%; 
     object-fit: cover;
}

.lte-sec4-right {
     position: relative; 
     border-left: 2px solid #f2f2f2;
}

.lte-sec4-right ul {
     display: flex; 
     flex-wrap: wrap; 
     height: 100%;
}

.lte-sec4-right ul li{ 
    width: calc(100%/3); 
    border-right: 2px solid #f2f2f2; 
    border-bottom: 2px solid #f2f2f2;
}

.lte-sec4-right ul li:nth-of-type(3n) {
     border-right: 2px solid #f2f2f2;
}

.lte-sec4-right ul li:nth-last-child(-n+3) {
    border-bottom: none; 
}

.lte-m {
     padding: 60px 0 100px; 
     background: #f2f2f2; 
} 

.lte-m .contain {
     max-width: 1460px; 
     display: flex;
}

.lte-m-left {
     width: 50%; 
     padding-left: 180px; 
     padding-top: 30px;
}

.lte-m-right {
     width: 50%; 
     padding-left: 25px; 
     text-align: center;
}

.lte-r-box {
     display: flex; 
     margin-top: 95px; 
     justify-content: space-between; 
     gap: 100px;
}

.lte-r-box img {
     width: 100%;
}

.lte-r-left {
     width: 46%; 
     position: relative;
} 

.lte-r-left::after {
     content: ""; 
     position: absolute; 
     right: -75px; 
     top: 0; 
     bottom: 0; 
     margin: auto; 
     width: 46px; 
     height: 86px; 
     background-size: contain; 
     background: url(../images/sub/ref1_3_right.png) center no-repeat;
}

.lte-r-right {
     width: 54%;
}  

.g-text {
     margin-top: 25px !important;
}

.sub-title {
    text-align: center; 
    padding: 60px 0;
}

.sub-title>h2 {
    font-size: 36px; 
    font-weight: 600; 
    letter-spacing: -.03em; 
    color: #333333; 
    line-height: 1em; 
    position: relative; 
}

.sub-title2 {
 padding: 0;
}