@charset "UTF-8";
/*
##################################################################
#################################

#######  SETTING  #########

#################################
##################################################################
*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
/*
@media all and (max-width:$sp_width) { // sp
}
@media all and (min-width:$pc_width) { // pc
}
*/
/* PC,SP width setting */
.foot--contact_area.outsourcing .wrapper-btn {
    margin-top: 0;
}
@media all and (max-width: 768px) {
    .foot--contact_area.outsourcing .wrapper-btn {
        margin-top: 20px;
    }
}
.foot--contact_area.outsourcing .wrapper-btn .link {
    position: relative;
    margin: 30px 10px 0;
    padding: 15px;
    width: 314px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .foot--contact_area.outsourcing .wrapper-btn .link {
        margin: 10px 10px 0;
        width: 100%;
        max-width: 314px;
        font-size: 1.4rem;
    }
}
.foot--contact_area.outsourcing .wrapper-btn .link * {
    color: #13317f;
}
.foot--contact_area.outsourcing .wrapper-btn .link span {
    margin-left: 5px;
    padding: 0 0 4px 30px;
    display: inline-block;
    background-image: url(../../img/common/icon-tel-blue.png);
    background-position: center left;
    background-size: 24px;
    background-repeat: no-repeat;
    font-weight: 700;
    font-size: 3rem;
}
.foot--contact_area.outsourcing .wrapper-btn .link b {
    font-weight: 700;
    font-size: 2.4rem;
}
@media all and (max-width: 768px) {
    .foot--contact_area.outsourcing .wrapper-btn .link b {
        font-size: 2.1rem;
    }
}
.foot--contact_area.outsourcing .wrapper-btn .link .img {
    position: absolute;
    bottom: -60px;
    right: -100px;
    width: 217px;
}
@media all and (max-width: 768px) {
    .foot--contact_area.outsourcing .wrapper-btn .link .img {
        bottom: -50px;
        right: -20px;
        width: 145px;
    }
}
.foot--contact_area.outsourcing .wrapper-btn .link.tal {
    justify-content: flex-start;
}

.outsourcing-cases {
    padding: 80px 0 140px;
}
@media all and (max-width: 768px) {
    .outsourcing-cases {
        padding: 50px 0 80px;
    }
}
.outsourcing-cases .content {
    margin-top: 30px;
}
.outsourcing-cases .content .item {
    padding: 30px;
    border: 2px solid #13317f;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item {
        padding: 20px 15px;
    }
}
.outsourcing-cases .content .item + .item {
    margin-top: 60px;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item + .item {
        margin-top: 30px;
    }
}
.outsourcing-cases .content .item h3 {
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 2.4rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item h3 {
        margin-bottom: 20px;
        font-size: 1.9rem;
    }
}
.outsourcing-cases .content .item .ttl {
    margin-bottom: 20px;
    padding: 3px 10px 5px;
    border-left: 3px solid #13317f;
    line-height: 1;
    font-weight: 500;
    font-size: 1.8rem;
    color: #13317f;
}
.outsourcing-cases .content .item .work {
    margin-bottom: 35px;
    padding: 15px 20px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item .work {
        padding: 15px;
    }
}
.outsourcing-cases .content .item .work h4 {
    font-weight: 700;
    font-size: 1.8rem;
    color: #237dd7;
}
.outsourcing-cases .content .item .work h4 + .txt {
    margin-top: 5px;
}
.outsourcing-cases .content .item .work .txt {
    font-weight: 400;
    font-size: 1.7rem;
    color: #237dd7;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item .work .txt {
        font-size: 1.4rem;
    }
}
.outsourcing-cases .content .item .work .txt + h4, .outsourcing-cases .content .item .work .txt + .txt {
    margin-top: 15px;
}
.outsourcing-cases .content .item .intro {
    margin-bottom: 35px;
    line-height: 1.733;
}
.outsourcing-cases .content .item .intro p + p {
    margin-top: 15px;
}
.outsourcing-cases .content .item .fixed .txt {
    line-height: 1.733;
}
.outsourcing-cases .content .item .fixed .txt img {
    max-width: 100%;
    height: auto;
}
.outsourcing-cases .content .item .fixed .txt p + p {
    margin-top: 15px;
}
.outsourcing-cases .content .item .fixed .txt + .ttl {
    margin-top: 35px;
}
.outsourcing-cases .content .item .fixed + .work {
    margin-top: 40px;
}
.outsourcing-cases .content .item .org {
    margin-top: 45px;
    padding: 0 20px 15px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item .org {
        padding: 0 10px 15px;
    }
}
.outsourcing-cases .content .item .org .ttl {
    margin-left: -20px;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .content .item .org .ttl {
        margin-left: -10px;
    }
}
.outsourcing-cases .content .item .org .org-content p {
    line-height: 1.733;
}
.outsourcing-cases .content .item .org .org-content p + p {
    margin-top: 15px;
}
.outsourcing-cases .content .item .org .org-content ul li {
    list-style-type: none;
    text-indent: -1em;
    padding-left: 1em;
}
.outsourcing-cases .content .item .org .org-content ul li::before {
    content: "●";
}
.outsourcing-cases .btn {
    width: 300px;
}
@media all and (max-width: 768px) {
    .outsourcing-cases .btn {
        width: 255px;
        height: 50px;
        line-height: 48px;
    }
}

.page--ict-outsourcing .pages--content .sec-service {
    position: relative;
    background-color: #f0f0f0;
}
.page--ict-outsourcing .pages--content .sec-service:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service:before {
        height: 110px;
    }
}
.page--ict-outsourcing .pages--content .sec-service .inner {
    position: relative;
}
.page--ict-outsourcing .pages--content .sec-service .ttl {
    margin-bottom: 30px;
    text-align: center;
    font-size: 3rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .ttl {
        font-size: 2.3rem;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item {
    padding-bottom: 80px;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item {
        padding-bottom: 30px;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .bg {
    margin-bottom: 30px;
    padding: 120px 20px;
    background-size: cover;
    background-position: center;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .bg {
        padding: 70px 10px;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .bg .ttl--sub {
    position: relative;
    padding-bottom: 10px;
    text-align: center;
    font-weight: 400;
    font-size: 2.2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .bg .ttl--sub {
        font-size: 2rem;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .bg .ttl--sub::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 1px;
    background-color: #fff;
}
.page--ict-outsourcing .pages--content .sec-service .item .content {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .content {
        margin: 0 -2%;
        flex-wrap: wrap;
        justify-content: center;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div {
    width: calc(100% / 4 - 22px);
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .content > div {
        margin: 0 2% 20px;
        width: 46%;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a {
    margin-bottom: 15px;
    padding-top: 15px;
    height: 228px;
    display: flex;
    justify-content: center;
    align-content: flex-start;
    flex-wrap: wrap;
    background-color: #fff;
    border: 1px solid #13317f;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .content > div a {
        padding-top: 5px;
        height: 165px;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a figure svg {
    width: 120px;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-service .item .content > div a figure svg {
        width: 86px;
    }
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a span {
    color: #13317f;
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a:hover {
    background-color: #13317f;
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a:hover figure svg rect:not([fill=none]),
.page--ict-outsourcing .pages--content .sec-service .item .content > div a:hover figure svg path,
.page--ict-outsourcing .pages--content .sec-service .item .content > div a:hover figure svg polygon {
    fill: #fff;
}
.page--ict-outsourcing .pages--content .sec-service .item .content > div a:hover span {
    color: #fff;
}
.page--ict-outsourcing .pages--content .sec-service .item.service1 .bg {
    background-image: url(../../img/ict-outsourcing/service-bg-1.jpg);
}
.page--ict-outsourcing .pages--content .sec-service .item.service2 .bg {
    background-image: url(../../img/ict-outsourcing/service-bg-2.jpg);
}
.page--ict-outsourcing .pages--content .links {
    padding-top: 80px;
    padding-bottom: 80px;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .links {
        padding-top: 50px;
        padding-bottom: 50px;
        justify-content: center;
        flex-wrap: wrap;
    }
}
.page--ict-outsourcing .pages--content .links div {
    width: calc(100% / 3 - 30px);
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .links div {
        width: 100%;
        max-width: 450px;
    }
    .page--ict-outsourcing .pages--content .links div:not(:first-child) {
        margin-top: 25px;
    }
}
.page--ict-outsourcing .pages--content .links div a {
    display: block;
    line-height: 1;
    transition: 0.3s;
}
.page--ict-outsourcing .pages--content .links div a:hover {
    transition: 0.3s;
    opacity: 0.5;
}
.page--ict-outsourcing .pages--content .links div a img {
    margin-bottom: -35px;
    width: 100%;
}
.page--ict-outsourcing .pages--content .links div a span {
    position: relative;
    margin: 0 auto;
    padding: 20px 3px;
    width: 80%;
    display: block;
    background-color: #13317f;
    text-align: center;
    color: #fff;
}
.page--ict-outsourcing .pages--content .sec-center {
    padding-top: 80px;
    background-image: url(../../img/ict-outsourcing/center-bg-1.jpg);
    background-position: center top;
    background-size: cover;
    text-align: center;
}
.page--ict-outsourcing .pages--content .sec-center {
    padding-top: 80px;
    background-image: url(../../img/ict-outsourcing/center-bg-1.jpg);
    background-position: center top;
    background-size: cover;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center {
        padding-top: 40px;
        background-image: url(../../img/ict-outsourcing/sm/center-bg-1.jpg);
        background-size: auto 55%;
    }
}
.page--ict-outsourcing .pages--content .sec-center .ttl {
    margin-bottom: 25px;
    font-weight: 400;
    font-size: 3rem;
    color: #fff;
}
.page--ict-outsourcing .pages--content .sec-center_content02 .ttl {
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 2.6rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center .ttl {
        font-size: 2.5rem;
    }
    .page--ict-outsourcing .pages--content .sec-center_content02 .ttl {
        font-size: 2.5rem;
    }
}
.page--ict-outsourcing .pages--content .sec-center .ttl img {
    width: 120px;
}
.page--ict-outsourcing .pages--content .sec-center_content02 .ttl img {
    width: 80px;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center .ttl img {
        width: 100px;
    }
    .page--ict-outsourcing .pages--content .sec-center_content02 .ttl img {
        width: 65px;
    }
}
.page--ict-outsourcing .pages--content .sec-center .content {
    position: relative;
    margin-top: 80px;
    margin-bottom: -200px;
    padding: 50px 100px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center .content {
        padding: 30px 15px;
        margin-top: 40px;
        margin-bottom: -420px;
    }
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center .content p {
        text-align: left;
        line-height: 1.7;
    }
}
.page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn {
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn {
    padding: 10px;
    height: auto;
    line-height: 1.6666;
    letter-spacing: 0;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn {
        padding: 8px 2px;
        width: 100%;
    }
    .page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn:nth-child(n+2) {
        margin-top: 20px;
    }
}
@media all and (min-width: 769px) {
    .page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn {
        width: 48%;
    }
    .page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn:nth-child(even) {
        margin-left: 3.8%;
    }
    .page--ict-outsourcing .pages--content .sec-center .content .wrapper-btn .btn:nth-child(n+3) {
        margin-top: 20px;
    }
}
.page--ict-outsourcing .pages--content .sec-center_content {
    padding-bottom: 280px;
    background-color: #f0f0f0;
}
.page--ict-outsourcing .pages--content .sec-center_content02 {
    text-align: center;
    padding: 30px 0 50px;
    background-color: #CBE1FC;
}
@media all and (max-width: 768px) {
    .page--ict-outsourcing .pages--content .sec-center_content {
        padding-bottom: 500px;
    }
    .page--ict-outsourcing .pages--content .sec-center_content02 {
        text-align: center;
        padding: 30px 0 40px;
        background-color: #CBE1FC;
    }
}

@media all and (max-width: 768px) {
    .page--contact_center .sec-ttl {
        margin-left: -15px;
        margin-right: -15px;
        line-height: 1.4;
        font-size: 2.3rem;
    }
}
.page--contact_center .section--about {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about {
        padding: 50px 0;
    }
}
.page--contact_center .section--about .txt {
    margin-top: 25px;
    margin-bottom: 30px;
    line-height: 1.733;
}
.page--contact_center .section--about .example {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about .example {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--about .example > div {
    width: 48%;
    border: 2px solid #969696;
    border-radius: 10px;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about .example > div {
        width: 100%;
    }
    .page--contact_center .section--about .example > div + div {
        margin-top: 25px;
    }
}
.page--contact_center .section--about .example > div ul li {
    display: flex;
}
.page--contact_center .section--about .example > div ul li:not(:first-child) {
    margin-top: 10px;
}
.page--contact_center .section--about .example > div ul li > div:first-child {
    width: 60px;
}
.page--contact_center .section--about .example > div ul li > div:first-child span {
    padding: 0 8px;
    width: 100%;
    height: 26px;
    display: inline-block;
    border-radius: 3px;
    line-height: 26px;
    background-color: #323232;
    text-align: center;
    font-size: 15px;
    color: #fff;
}
.page--contact_center .section--about .example > div ul li > div:last-child {
    padding-left: 10px;
    width: calc(100% - 60px);
}
.page--contact_center .section--about .example > div .top {
    padding: 0 15px 20px;
    background-color: #fff;
}
@media all and (min-width: 769px) {
    .page--contact_center .section--about .example > div .top {
        min-height: 210px;
    }
}
.page--contact_center .section--about .example > div .top h3 {
    padding: 10px;
    margin: 0 auto 20px;
    width: 90%;
    background-color: #969696;
    border-radius: 0 0 8px 8px;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about .example > div .top h3 {
        font-size: 1.5rem;
    }
}
.page--contact_center .section--about .example > div .top ul li > div:first-child {
    width: 60px;
}
.page--contact_center .section--about .example > div .bottom {
    padding: 15px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about .example > div .bottom ul li {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--about .example > div .bottom ul li > div:first-child {
    width: 110px;
}
.page--contact_center .section--about .example > div .bottom ul li > div:first-child span {
    text-align: left;
}
.page--contact_center .section--about .example > div .bottom ul li > div:last-child {
    width: calc(100% - 110px);
}
@media all and (max-width: 768px) {
    .page--contact_center .section--about .example > div .bottom ul li > div:last-child {
        padding-left: 0;
        margin-top: 8px;
        width: 100%;
    }
}
.page--contact_center .section--about .example > div:first-child {
    background-color: #f0f0f0;
}
.page--contact_center .section--about .example > div:last-child {
    border-color: #ff7887;
    background-color: #ffd1d8;
}
.page--contact_center .section--about .example > div:last-child .top h3 {
    background-color: #ff7887;
}
.page--contact_center .section--purpose {
    padding: 80px 0;
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--purpose {
        padding: 50px 0;
    }
}
.page--contact_center .section--purpose .sec-ttl {
    margin-bottom: 30px;
    color: #323232;
}
.page--contact_center .section--purpose .flex {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--purpose .flex {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--purpose .flex > * {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--purpose .flex > * {
        width: 100%;
    }
}
.page--contact_center .section--purpose .flex > * img {
    width: 100%;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--purpose .flex > * img {
        margin-top: 25px;
    }
}
.page--contact_center .section--purpose .flex .txt {
    line-height: 1.7333;
}
.page--contact_center .section--merit {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--merit {
        padding: 50px 0;
    }
}
.page--contact_center .section--merit .sec-ttl {
    margin-bottom: 65px;
    color: #323232;
}
.page--contact_center .section--merit .flex {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--merit .flex {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--merit .flex > div {
    padding: 0 20px 20px;
    width: calc(100% / 3 - 20px);
    border: 2px solid #237dd7;
    border-radius: 15px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--merit .flex > div {
        padding: 0 8px 15px;
        width: 100%;
        border-radius: 8px;
    }
    .page--contact_center .section--merit .flex > div + div {
        margin-top: 50px;
    }
}
.page--contact_center .section--merit .flex > div .icon {
    margin: -35px auto 5px;
    width: 70px;
    height: 80px;
    display: block;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
.page--contact_center .section--merit .flex > div .img {
    margin: 0 auto 10px;
    width: 110px;
    height: 84px;
    display: block;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
.page--contact_center .section--merit .flex > div h3 {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 2.2rem;
    color: #237dd7;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--merit .flex > div h3 {
        margin-bottom: 10px;
        font-size: 2rem;
    }
}
.page--contact_center .section--merit .flex > div p {
    text-align: left;
    line-height: 1.733;
}
@media all and (min-width: 769px) {
    .page--contact_center .section--merit .flex > div:first-child .img {
        margin: 10px auto 20px;
    }
    .page--contact_center .section--merit .flex > div:first-child h3 {
        margin-bottom: 40px;
    }
}
.page--contact_center .section--factor {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--factor {
        padding: 50px 0;
    }
}
.page--contact_center .section--factor .sec-ttl {
    margin-bottom: 30px;
    color: #323232;
}
.page--contact_center .section--factor .desc {
    line-height: 1.733;
}
.page--contact_center .section--factor .box {
    margin-top: 30px;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--factor .box {
        padding: 30px 15px;
        border-radius: 10px;
    }
}
.page--contact_center .section--factor .box .ttl {
    text-align: center;
}
.page--contact_center .section--factor .box .ttl span {
    background: linear-gradient(transparent 0%, #ffe600 0%);
    font-weight: 700;
    font-size: 2.8rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--factor .box .ttl span {
        font-size: 1.8rem;
    }
}
.page--contact_center .section--factor .box .txt {
    margin: 20px 0;
}
.page--contact_center .section--factor .box .factor-list {
    padding: 25px 30px;
    background-color: #e0eaf6;
    border-radius: 5px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--factor .box .factor-list {
        padding: 15px;
    }
}
.page--contact_center .section--factor .box .factor-list li {
    padding-left: 2em;
    text-indent: -2em;
    list-style-type: none;
    font-size: 1.8rem;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--factor .box .factor-list li {
        font-size: 1.4rem;
    }
}
.page--contact_center .section--factor .box .factor-list li span {
    margin: -5px 8px 0 0;
    padding-left: 1px;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 18px;
    background-color: #237dd7;
    line-height: 17px;
    text-align: center;
    font-weight: 700;
    font-size: 1.3rem;
    color: #e0eaf6;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    text-indent: 0;
}
.page--contact_center .section--factor .box .img {
    margin-top: 20px;
    width: 100%;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}
.page--contact_center .section--introduction {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction {
        padding: 50px 0;
    }
}
.page--contact_center .section--introduction .sec-ttl {
    margin-bottom: 28px;
    color: #323232;
}
.page--contact_center .section--introduction .desc {
    line-height: 1.733;
}
.page--contact_center .section--introduction .about {
    margin: 30px 0;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--introduction .about > div {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div {
        width: 100%;
    }
}
.page--contact_center .section--introduction .about > div img {
    width: 100%;
}
.page--contact_center .section--introduction .about > div h3 {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 2.2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div h3 {
        margin-top: 25px;
        font-size: 1.7rem;
    }
}
.page--contact_center .section--introduction .about > div .item {
    padding: 10px 20px;
    background-color: #237dd7;
    border-radius: 8px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div .item {
        padding: 12px 15px;
    }
}
.page--contact_center .section--introduction .about > div .item + .item {
    margin-top: 10px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div .item + .item {
        margin-top: 15px;
    }
}
.page--contact_center .section--introduction .about > div .item h4 {
    padding: 0 20px;
    height: 30px;
    display: inline-block;
    background-color: #fff;
    border-radius: 30px;
    line-height: 30px;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    color: #237dd7;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div .item h4 {
        height: 23px;
        line-height: 23px;
        font-size: 1.5rem;
    }
}
.page--contact_center .section--introduction .about > div .item p {
    margin-top: 10px;
    line-height: 1.5;
    font-size: 1.7rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .about > div .item p {
        font-size: 1.4rem;
    }
}
.page--contact_center .section--introduction .location {
    padding: 30px;
    background-color: #e0eaf6;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location {
        padding: 30px 15px;
    }
}
.page--contact_center .section--introduction .location h3 {
    margin-bottom: 20px;
    text-align: center;
    font-weight: 500;
    font-size: 2.2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location h3 {
        font-size: 2.3rem;
    }
}
.page--contact_center .section--introduction .location .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--contact_center .section--introduction .location .flex > div {
    width: 100%;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location .flex > div {
        width: 100%;
    }
    .page--contact_center .section--introduction .location .flex > div:nth-child(n+2) {
        margin-top: 25px;
    }
}
@media all and (min-width: 769px) {
    .page--contact_center .section--introduction .location .flex > div {
        width: 48%;
    }
    .page--contact_center .section--introduction .location .flex > div:nth-child(n+3) {
        margin-top: 30px;
    }
}
.page--contact_center .section--introduction .location .flex > div.item {
    padding: 0 30px 20px;
    background-color: #fff;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location .flex > div.item {
        padding: 0 15px 20px;
        border-radius: 5px;
    }
}
.page--contact_center .section--introduction .location .flex > div.item h4 {
    margin: 0 auto 15px;
    padding: 10px;
    width: 100%;
    background-color: #13317f;
    border-radius: 0 0 5px 5px;
    text-align: center;
    font-weight: 700;
    font-size: 1.7rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location .flex > div.item h4 {
        font-size: 1.6rem;
    }
}
.page--contact_center .section--introduction .location .flex > div.item ul li {
    display: flex;
}
.page--contact_center .section--introduction .location .flex > div.item ul li:not(:first-child) {
    margin-top: 6px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location .flex > div.item ul li > div {
        font-size: 1.4rem;
    }
}
.page--contact_center .section--introduction .location .flex > div.item ul li > div:first-child {
    width: 90px;
    font-weight: 700;
}
.page--contact_center .section--introduction .location .flex > div.item ul li > div:last-child {
    width: calc(100% - 90px);
}
.page--contact_center .section--introduction .location .flex > div.continue {
    display: flex;
    justify-content: center;
    align-items: center;
}
.page--contact_center .section--introduction .location .flex > div.continue p {
    padding: 15px;
    width: 70%;
    background-color: #13317f;
    border-radius: 10px;
    text-align: center;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--introduction .location .flex > div.continue p {
        padding: 10px;
        width: 100%;
        border-radius: 5px;
    }
}
.page--contact_center .section--service {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service {
        padding: 50px 0;
    }
}
.page--contact_center .section--service .sec-ttl {
    margin-bottom: 30px;
    color: #323232;
}
.page--contact_center .section--service .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--contact_center .section--service .flex > div {
    margin-top: 30px;
    width: 48%;
    border-radius: 5px;
    background-color: #fff;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service .flex > div {
        margin-top: 25px;
        width: 100%;
    }
}
.page--contact_center .section--service .flex > div .ttl {
    padding: 10px 15px 13px;
    background-color: #237dd7;
    line-height: 1;
    font-weight: 700;
    font-size: 2.2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service .flex > div .ttl {
        padding: 7px 10px 8px;
        font-size: 1.6rem;
    }
}
.page--contact_center .section--service .flex > div .ttl span {
    margin: -5px 8px 0 0;
    padding-left: 1px;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 18px;
    background-color: #fff;
    line-height: 17px;
    text-align: center;
    font-weight: 700;
    font-size: 1.3rem;
    color: #237dd7;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}
.page--contact_center .section--service .flex > div .content {
    padding: 20px 15px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service .flex > div .content {
        padding: 10px 10px 15px;
    }
}
.page--contact_center .section--service .flex > div .content p span {
    font-weight: 700;
    font-size: 2rem;
    color: #ff7887;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service .flex > div .content p span {
        font-size: 1.9rem;
    }
}
.page--contact_center .section--service .flex > div .content p + p {
    margin-top: 20px;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--service .flex > div .content p + p {
        margin-top: 15px;
    }
}
.page--contact_center .section--example {
    padding: 80px 0;
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--example {
        padding: 50px 0;
    }
}
.page--contact_center .section--example p {
    margin-top: 30px;
    line-height: 1.7333;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--example p {
        margin-top: 20px;
    }
}
.page--contact_center .section--example .flex {
    margin-top: 30px;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--example .flex {
        flex-wrap: wrap;
    }
}
.page--contact_center .section--example .flex ul {
    width: 49%;
}
@media all and (max-width: 768px) {
    .page--contact_center .section--example .flex ul {
        width: 100%;
    }
}
.page--contact_center .section--example .flex ul li {
    list-style-type: none;
    text-indent: -1em;
    padding-left: 1em;
}
.page--contact_center .section--example .flex ul li + li {
    margin-top: 8px;
}

.page--feature .pages--content .sec-example {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example {
        padding: 50px 0;
    }
}
.page--feature .pages--content .sec-example .sec-ttl {
    margin-bottom: 30px;
    color: #000;
}
.page--feature .pages--content .sec-example .example {
    padding: 0 30px 40px;
    border-radius: 10px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example {
        padding: 0 15px 20px;
    }
}
.page--feature .pages--content .sec-example .example + .example {
    margin-top: 60px;
}
.page--feature .pages--content .sec-example .example .num {
    margin: 0 auto 30px;
    padding-top: 14px;
    width: 120px;
    height: 90px;
    border-radius: 0 0 10px 10px;
    background-color: #13317f;
    text-align: center;
    font-weight: 500;
    font-size: 1.5rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .num {
        margin-bottom: 20px;
        padding-top: 8px;
        width: 105px;
        height: 70px;
        border-radius: 0 0 5px 5px;
        font-size: 1.4rem;
    }
}
.page--feature .pages--content .sec-example .example .num span {
    font-weight: 700;
    font-size: 4.2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .num span {
        font-size: 3.4rem;
    }
}
.page--feature .pages--content .sec-example .example .ttl {
    margin-bottom: 30px;
    text-align: center;
    font-weight: 700;
    font-size: 3.2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .ttl {
        margin-bottom: 25px;
        font-size: 1.8rem;
    }
}
.page--feature .pages--content .sec-example .example p {
    line-height: 1.733;
}
.page--feature .pages--content .sec-example .example p.txt {
    margin-top: 30px;
    margin-bottom: 15px;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example p.txt {
        margin-top: 25px;
    }
}
.page--feature .pages--content .sec-example .example p small {
    line-height: 1.57;
    font-size: 1.4rem;
}
.page--feature .pages--content .sec-example .example .img {
    width: 100%;
}
.page--feature .pages--content .sec-example .example .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--feature .pages--content .sec-example .example .flex > div {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .flex > div {
        width: 100%;
    }
    .page--feature .pages--content .sec-example .example .flex > div + div {
        margin-top: 20px;
    }
}
.page--feature .pages--content .sec-example .example .flex > div > h4 {
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 1.7rem;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .flex > div > h4 {
        font-size: 1.6rem;
    }
}
.page--feature .pages--content .sec-example .example .flex > div > p + h4 {
    margin-top: 30px;
}
.page--feature .pages--content .sec-example .example .point {
    padding: 20px;
    border: 2px solid #13317f;
    border-radius: 5px;
    background-color: #fffae1;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .point {
        padding: 15px;
    }
}
.page--feature .pages--content .sec-example .example .point + .point {
    margin-top: 20px;
}
.page--feature .pages--content .sec-example .example .point h4 {
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 1.5rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-example .example .point h4 {
        font-size: 1.8rem;
    }
}
.page--feature .pages--content .sec-example .example .point h4 sup {
    top: 0;
    font-size: 100%;
    color: #13317f;
}
.page--feature .pages--content .sec-example .example .point p {
    margin-top: 15px;
}
.page--feature .pages--content .sec-example .example > .point {
    margin-top: 15px;
    margin-bottom: 30px;
}
.page--feature .pages--content .sec-link {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-link {
        padding-top: 50px;
    }
}
.page--feature .pages--content .sec-link p.txt {
    padding: 10px 50px;
    position: relative;
    text-align: center;
    font-weight: 500;
    font-size: 2.6rem;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-link p.txt {
        padding: 0 10px;
        font-size: 1.7rem;
    }
}
.page--feature .pages--content .sec-link p.txt span {
    font-weight: 700;
    font-size: 2.6rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-link p.txt span {
        font-size: 1.7rem;
    }
}
@media all and (min-width: 769px) {
    .page--feature .pages--content .sec-link p.txt:before, .page--feature .pages--content .sec-link p.txt:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 50px;
        height: 100%;
        background-size: 100% auto;
        background-position: center;
    }
    .page--feature .pages--content .sec-link p.txt:before {
        left: 0;
        background-image: url(../../img/ict-outsourcing/feature-bg-l.png);
    }
    .page--feature .pages--content .sec-link p.txt:after {
        right: 0;
        background-image: url(../../img/ict-outsourcing/feature-bg-r.png);
    }
}
.page--feature .pages--content .sec-link .btn {
    width: 100%;
}
@media all and (max-width: 768px) {
    .page--feature .pages--content .sec-link .btn {
        height: 50px;
        line-height: 50px;
    }
}
@media all and (min-width: 769px) {
    .page--feature .pages--content .sec-link .btn {
        max-width: 400px;
    }
}

.page--solutions .pages--content .sec--solutions {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions {
        padding: 50px 0;
    }
}
.page--solutions .pages--content .sec--solutions .sec-ttl {
    margin-bottom: 30px;
    color: #000;
}
.page--solutions .pages--content .sec--solutions .solution {
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #fff;
    overflow: hidden;
}
.page--solutions .pages--content .sec--solutions .solution + .solution {
    margin-top: 25px;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution + .solution {
        margin-top: 20px;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label {
    position: relative;
    padding: 8px 50px 8px 20px;
    cursor: pointer;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label {
        padding: 15px;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label .flex {
    align-items: center;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label .flex {
        flex-wrap: wrap;
    }
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label .flex > div {
        width: 100% !important;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label .flex > div:first-child {
    width: 250px;
}
.page--solutions .pages--content .sec--solutions .solution .label .flex > div:first-child span {
    display: inline-block;
    width: 230px;
    height: 40px;
    border-radius: 40px;
    background-color: #13317f;
    line-height: 40px;
    text-align: center;
    font-size: 2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label .flex > div:first-child span {
        padding-left: 15px;
        width: 70%;
        height: 30px;
        line-height: 29px;
        text-align: left;
        font-size: 1.8rem;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label .flex > div:last-child {
    width: calc(100% - 250px);
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label .flex > div:last-child {
        margin-top: 12px;
        font-size: 1.8rem;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution {
    position: absolute;
    display: inline-block;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution {
        top: 20px;
        right: 15px;
        width: 15px;
        height: 15px;
    }
}
@media all and (min-width: 769px) {
    .page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution {
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
    }
}
.page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution:before, .page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 20px;
    height: 1px;
    background-color: #13317f;
    transition: 0.3s;
}
.page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution:after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.page--solutions .pages--content .sec--solutions .solution .label .toggleBtn-solution.active:after {
    transform: translate(-50%, -50%) rotate(0deg);
    transition: 0.3s;
}
.page--solutions .pages--content .sec--solutions .solution .links {
    display: none;
    padding: 0 10px;
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .links {
        padding: 7.5px 5px;
    }
}
.page--solutions .pages--content .sec--solutions .solution .links .links-container {
    justify-content: flex-start;
    flex-wrap: wrap;
}
.page--solutions .pages--content .sec--solutions .solution .links .link {
    margin: 10px;
    padding-bottom: 15px;
    width: 308px;
    border: 1px solid #237dd7;
    border-radius: 3px;
    background-color: #fff;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .links .link {
        margin: 7.5px 10px;
        width: 100%;
    }
}
.page--solutions .pages--content .sec--solutions .solution .links .link .icon {
    padding-right: 10px;
    align-items: center;
}
.page--solutions .pages--content .sec--solutions .solution .links .link .icon span {
    font-size: 1.5rem;
    color: #13317f;
}
.page--solutions .pages--content .sec--solutions .solution .links .link .icon .img {
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
    width: 70px;
    height: 70px;
}
@media all and (max-width: 768px) {
    .page--solutions .pages--content .sec--solutions .solution .links .link .icon .img {
        width: 60px;
        height: 60px;
    }
}
.page--solutions .pages--content .sec--solutions .solution .links .link .txt {
    margin: 0 10px 10px;
    font-size: 1.4rem;
}
@media all and (min-width: 769px) {
    .page--solutions .pages--content .sec--solutions .solution .links .link .txt {
        min-height: 57px;
        font-size: 1.3rem;
    }
}
.page--solutions .pages--content .sec--solutions .solution .links .link a {
    margin: 0 10px;
    font-size: 1.3rem;
    text-decoration: underline;
    color: #237dd7;
}

.page--case .desc {
    padding-bottom: 40px;
}
.page--case .nav-case {
    padding-bottom: 80px;
}
@media all and (max-width: 768px) {
    .page--case .nav-case {
        padding-bottom: 50px;
    }
}
.page--case .nav-case ul {
    flex-wrap: wrap;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--case .nav-case ul {
        flex-wrap: wrap;
    }
}
.page--case .nav-case ul li {
    border: 1px solid #13317f;
    list-style-type: none;
}
@media all and (max-width: 768px) {
    .page--case .nav-case ul li {
        width: 100%;
    }
    .page--case .nav-case ul li:nth-child(n+2) {
        margin-top: 10px;
    }
}
@media all and (min-width: 769px) {
    .page--case .nav-case ul li {
        width: calc(100% / 3 - 20px);
    }
    .page--case .nav-case ul li:nth-child(n+4) {
        margin-top: 20px;
    }
}
.page--case .nav-case ul li a {
    align-items: center;
}
.page--case .nav-case ul li a > div:first-child {
    width: 60px;
}
.page--case .nav-case ul li a > div:first-child img {
    width: 100%;
}
.page--case .nav-case ul li a > div:last-child {
    padding-right: 40px;
    width: calc(100% - 60px);
    background-image: url(../../img/common/icon-arrow-bottom.png);
    background-position: center right 15px;
    background-size: 12px 8px;
}
.page--case .container-case .content-case {
    padding: 60px 0 80px;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case {
        padding: 30px 0 50px;
    }
}
.page--case .container-case .content-case:nth-child(odd) {
    background-color: #e0eaf6;
}
.page--case .container-case .content-case .case-ttl {
    margin-bottom: 40px;
    text-align: center;
    line-height: 1;
    font-size: 2rem;
}
.page--case .container-case .content-case .case-ttl img {
    width: 100px;
}
.page--case .container-case .content-case .cases-list {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case .cases-list {
        flex-wrap: wrap;
    }
}
.page--case .container-case .content-case .cases-list .item {
    padding: 15px 20px;
    width: 48%;
    border: 2px solid #13317f;
    border-radius: 10px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case .cases-list .item {
        width: 100%;
        padding: 20px 15px;
    }
    .page--case .container-case .content-case .cases-list .item:nth-child(2) {
        margin-top: 25px;
    }
}
.page--case .container-case .content-case .cases-list .item h3 {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 2.4rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case .cases-list .item h3 {
        margin-bottom: 20px;
        font-size: 1.9rem;
    }
}
.page--case .container-case .content-case .cases-list .item .ttl {
    margin-bottom: 15px;
    padding: 3px 10px 5px;
    border-left: 3px solid #13317f;
    line-height: 1;
    font-weight: 500;
    font-size: 1.8rem;
    color: #13317f;
}
.page--case .container-case .content-case .cases-list .item .work {
    margin-bottom: 15px;
    padding: 15px 20px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case .cases-list .item .work {
        padding: 15px;
    }
}
.page--case .container-case .content-case .cases-list .item .work h4 {
    font-weight: 700;
    font-size: 1.8rem;
    color: #237dd7;
}
.page--case .container-case .content-case .cases-list .item .work h4 + .txt {
    margin-top: 5px;
}
.page--case .container-case .content-case .cases-list .item .work .txt {
    font-weight: 400;
    font-size: 1.7rem;
    color: #237dd7;
}
@media all and (max-width: 768px) {
    .page--case .container-case .content-case .cases-list .item .work .txt {
        font-size: 1.4rem;
    }
}
.page--case .container-case .content-case .cases-list .item .work .txt + h4, .page--case .container-case .content-case .cases-list .item .work .txt + .txt {
    margin-top: 15px;
}
.page--case .container-case .content-case .cases-list .item .intro {
    margin-bottom: 30px;
    line-height: 1.733;
}
.page--case .container-case .content-case .cases-list .item .intro p + p {
    margin-top: 15px;
}
.page--case .container-case .content-case .cases-list .item .link {
    padding-right: 20px;
    display: inline-block;
    background-image: url(../../img/common/icon-arrow.png);
    background-position: center right;
    background-size: 8px auto;
    background-repeat: no-repeat;
}
.page--case .container-case .content-case .btn {
    width: 280px;
}

/**
* サービス
*/
.page--service--bpo .service-content .service-title {
    margin: 0 auto;
    width: 420px;
    height: 50px;
    line-height: 50px;
    background-color: #237dd7;
    border-radius: 0 0 10px 10px;
    text-align: center;
    font-weight: 500;
    font-size: 2.6rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--bpo .service-content .service-title {
        width: 250px;
        height: 45px;
        line-height: 45px;
        font-size: 2rem;
    }
}
.page--service--bpo .examples {
    padding-bottom: 40px;
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples {
        padding-bottom: 30px;
    }
}
.page--service--bpo .examples .example {
    margin-top: 30px;
    padding: 30px 0;
    background-color: #fff;
    border-radius: 15px;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example {
        margin-top: 25px;
        padding: 10px 0 25px;
        border-radius: 10px;
    }
}
.page--service--bpo .examples .example .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--service--bpo .examples .example .flex > div {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex > div {
        width: 100%;
    }
}
.page--service--bpo .examples .example .flex .content {
    padding: 0 10px 0 30px;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex .content {
        padding: 0 15px;
    }
}
.page--service--bpo .examples .example .flex .content .ttl-header {
    margin-left: -30px;
    padding-left: 30px;
    padding-right: 15px;
    display: inline;
    background: linear-gradient(transparent 0%, #ffe600 0%);
    font-weight: 500;
    font-size: 2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex .content .ttl-header {
        margin-left: -15px;
        padding-left: 15px;
        padding-right: 10px;
        font-size: 1.7rem;
    }
}
.page--service--bpo .examples .example .flex .content .ttl-header span {
    padding-left: 10px;
    font-weight: 700;
    font-size: 5.2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex .content .ttl-header span {
        padding-left: 5px;
        font-size: 4.2rem;
    }
}
.page--service--bpo .examples .example .flex .content .ttl {
    margin-top: 10px;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 3.4rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex .content .ttl {
        font-size: 2rem;
    }
}
.page--service--bpo .examples .example .flex .content .txt {
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--bpo .examples .example .flex .img {
        margin-top: 15px;
        padding-left: 15px;
    }
}
.page--service--bpo .examples .example .flex .img img {
    width: 100%;
}
.page--service--bpo .purpose {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--bpo .purpose {
        padding: 50px 0;
    }
}
.page--service--bpo .purpose .txt {
    margin-bottom: 25px;
    text-align: center;
    font-weight: 500;
    font-size: 2.6rem;
}
@media all and (max-width: 768px) {
    .page--service--bpo .purpose .txt {
        font-size: 1.8rem;
    }
}
.page--service--bpo .purpose .content {
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--service--bpo .purpose .content {
        flex-wrap: wrap;
    }
}
.page--service--bpo .purpose .content > div {
    width: calc(100% / 3 - 30px);
    border-radius: 15px;
    background-color: #e0eaf6;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--service--bpo .purpose .content > div {
        width: 100%;
        border-radius: 8px;
    }
    .page--service--bpo .purpose .content > div + div {
        margin-top: 25px;
    }
}
.page--service--bpo .purpose .content > div .img {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #237dd7;
}
.page--service--bpo .purpose .content > div .img img {
    width: 150px;
    height: 102px;
}
.page--service--bpo .purpose .content > div .bottom {
    padding: 20px;
}

.page--service--omn24 .sec--feature {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature {
        padding: 50px 0;
    }
}
.page--service--omn24 .sec--feature .sec-ttl {
    margin-bottom: 30px;
    color: #323232;
}
.page--service--omn24 .sec--feature .flex {
    margin: 0 -15px -15px;
    justify-content: center;
    flex-wrap: wrap;
}
.page--service--omn24 .sec--feature .flex > div {
    margin: 0 15px 15px;
    width: 314px;
    border: 2px solid #237dd7;
    border-radius: 10px;
    background-color: #fff;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature .flex > div {
        margin: 0 15px 20px;
        width: 100%;
        max-width: 350px;
    }
}
.page--service--omn24 .sec--feature .flex > div .ttl {
    padding: 15px 5px;
    background-color: #237dd7;
    text-align: center;
    font-weight: 500;
    font-size: 1.8rem;
    color: #fff;
}
.page--service--omn24 .sec--feature .flex > div .content {
    padding: 20px;
}
.page--service--omn24 .sec--feature .flex > div .content p {
    margin-bottom: 70px;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature .flex > div .content p {
        margin-bottom: 15px;
    }
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature .flex > div .content .img {
        text-align: center;
    }
}
.page--service--omn24 .sec--feature .flex > div .content .img img {
    width: 100%;
    height: auto;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature .flex > div .content .img img {
        width: 90%;
    }
}
.page--service--omn24 .sec--feature .flex > div:first-child .content p {
    margin-bottom: 46px;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--feature .flex > div:first-child .content p {
        margin-bottom: 15px;
    }
}
.page--service--omn24 .sec--service {
    padding-bottom: 80px;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service {
        padding-bottom: 50px;
    }
}
.page--service--omn24 .sec--service .service {
    border: 2px solid #13317f;
    border-radius: 15px;
    overflow: hidden;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service {
        border-radius: 10px;
    }
}
.page--service--omn24 .sec--service .service + .service {
    margin-top: 50px;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service + .service {
        margin-top: 25px;
    }
}
.page--service--omn24 .sec--service .service .top {
    padding: 30px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top {
        padding: 15px 0 25px;
    }
}
.page--service--omn24 .sec--service .service .top.flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--service--omn24 .sec--service .service .top.flex > div {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex > div {
        width: 100%;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content {
    padding: 0 10px 0 30px;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content {
        padding: 0 15px;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content .ttl {
    margin-left: -30px;
    padding: 10px 15px 10px 30px;
    width: 100%;
    display: inline-block;
    border-radius: 0 5px 5px 0;
    background: linear-gradient(transparent 0%, #13317f 0%);
    font-weight: 500;
    font-size: 2.6rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content .ttl {
        margin-left: -15px;
        padding-left: 15px;
        padding-right: 10px;
        font-size: 2rem;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content .txt {
    margin: 30px 0 80px;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content .txt {
        margin: 15px 0 30px;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content .price {
    justify-content: flex-start;
    align-items: flex-end;
}
.page--service--omn24 .sec--service .service .top.flex .content .price .p1 {
    line-height: 1.2;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content .price .p1 {
        min-width: 75px;
        font-size: 1.5rem;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content .price .p2 {
    margin-left: 30px;
    margin-right: 30px;
    line-height: 1;
    font-weight: 900;
    font-size: 6rem;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content .price .p2 {
        margin-left: 15px;
        margin-right: 15px;
        font-size: 4.5rem;
    }
}
.page--service--omn24 .sec--service .service .top.flex .content .price .p3 {
    font-size: 3.6rem;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .content .price .p3 {
        font-size: 2.7rem;
    }
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .top.flex .img {
        margin-top: 30px;
        padding-left: 15px;
    }
}
.page--service--omn24 .sec--service .service .top.flex .img img {
    width: 100%;
}
.page--service--omn24 .sec--service .service .bottom {
    position: relative;
    padding: 50px 30px 30px;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .bottom {
        padding: 40px 15px 10px;
    }
}
.page--service--omn24 .sec--service .service .bottom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    display: inline-block;
    border-style: solid;
    border-width: 30px 40px 0 40px;
    border-color: #f0f0f0 transparent transparent transparent;
}
.page--service--omn24 .sec--service .service .bottom .ttl {
    margin-bottom: 10px;
    text-align: center;
    font-weight: 500;
    font-size: 2.4rem;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .bottom .ttl {
        font-size: 1.8rem;
    }
}
.page--service--omn24 .sec--service .service .bottom ul {
    margin: 0 -10px;
    justify-content: flex-start;
    flex-wrap: wrap;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .bottom ul {
        margin: 0 -7.5px;
    }
}
.page--service--omn24 .sec--service .service .bottom ul li {
    position: relative;
    margin: 10px;
    width: 220px;
    height: 50px;
    line-height: 48px;
    border: 1px solid #1e8232;
    border-radius: 5px;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    color: #1e8232;
    list-style-type: none;
}
@media all and (max-width: 768px) {
    .page--service--omn24 .sec--service .service .bottom ul li {
        margin: 7.5px;
        width: calc(50% - 16px);
        height: 35px;
        line-height: 33px;
        font-size: 1.4rem;
    }
}
.page--service--omn24 .sec--service .service .bottom ul li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    display: inline-block;
    background-color: #1e8232;
}
.page--service--omn24 .sec--service .service.green {
    border: 2px solid #1e8232;
}
.page--service--omn24 .sec--service .service.green .top.flex .content .ttl {
    background: linear-gradient(transparent 0%, #1e8232 0%);
}

.page--service--web .desc {
    padding-bottom: 30px;
}
.page--service--web .top {
    padding-bottom: 60px;
}
@media all and (max-width: 768px) {
    .page--service--web .top {
        padding-bottom: 30px;
    }
}
.page--service--web .top .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--service--web .top .flex > div {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--service--web .top .flex > div {
        width: 100%;
    }
    .page--service--web .top .flex > div:last-child {
        margin-top: 30px;
    }
}
.page--service--web .top .flex > div p {
    line-height: 1.733;
}
.page--service--web .top .flex > div p a {
    text-decoration: underline;
    color: #323232;
}
.page--service--web .top .flex > div img {
    width: 100%;
}
.page--service--web .bottom {
    position: relative;
    padding-bottom: 80px;
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--service--web .bottom {
        padding-bottom: 50px;
    }
}
.page--service--web .bottom::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background-color: #fff;
}
.page--service--web .bottom .box {
    position: relative;
    padding: 22px;
    border: 4px solid #13317f;
    border-radius: 10px;
    background-color: #fff;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--web .bottom .box {
        padding: 15px;
        border: 2px solid #13317f;
    }
}
.page--service--web .bottom .box img {
    width: 100%;
}

.page--service--omn .sec--about {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--about {
        padding: 50px 0;
    }
}
.page--service--omn .sec--about .sec-ttl {
    font-weight: 500;
    color: #323232;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--about .sec-ttl {
        font-size: 1.8rem;
    }
}
.page--service--omn .sec--about .desc-txt {
    margin: 30px 0;
    line-height: 1.733;
}
.page--service--omn .sec--about .box {
    padding: 30px;
    background-color: #a0cdeb;
    border-radius: 10px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--about .box {
        padding: 25px 15px;
    }
}
.page--service--omn .sec--about .box h3 {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--about .box h3 {
        margin-left: -15px;
        margin-right: -15px;
        font-size: 1.7rem;
    }
}
.page--service--omn .sec--about .box img {
    width: 100%;
}
.page--service--omn .sec--detail .top {
    padding-top: 80px;
    background-image: url(../../img/ict-outsourcing/omn-bg.jpg);
    background-size: 120%;
    background-position: center top;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top {
        padding-top: 50px;
        background-image: url(../../img/ict-outsourcing/sm/omn-bg.jpg);
        background-size: 105%;
    }
}
.page--service--omn .sec--detail .top .sec-ttl {
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .sec-ttl {
        line-height: 1.4;
        font-size: 1.7rem;
    }
}
.page--service--omn .sec--detail .top .desc-txt {
    margin-top: 30px;
    line-height: 1.733;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .desc-txt {
        margin-top: 20px;
    }
}
.page--service--omn .sec--detail .top .detail-box {
    position: relative;
    margin-top: 80px;
    margin-bottom: -480px;
    padding: 30px;
    border-radius: 10px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .detail-box {
        margin-top: 50px;
        margin-bottom: -610px;
        padding: 15px;
    }
}
.page--service--omn .sec--detail .top .detail-box .ttl {
    text-align: center;
    font-weight: 500;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .detail-box .ttl {
        margin-left: -15px;
        margin-right: -15px;
        font-size: 1.7rem;
    }
}
.page--service--omn .sec--detail .top .detail-box img {
    margin: 20px 0;
    width: 100%;
}
.page--service--omn .sec--detail .top .detail-box .bdr {
    padding: 15px;
    border-radius: 100px;
    background-color: #ffd1d8;
    text-align: center;
    font-weight: 500;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .detail-box .bdr {
        padding: 8px 0 10px;
        line-height: 1.4;
        font-size: 1.7rem;
    }
}
.page--service--omn .sec--detail .top .detail-box .txt {
    margin-top: 20px;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .top .detail-box .txt {
        margin-top: 15px;
    }
}
.page--service--omn .sec--detail .bottom {
    padding-top: 550px;
    padding-bottom: 80px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom {
        padding-top: 660px;
        padding-bottom: 50px;
    }
}
.page--service--omn .sec--detail .bottom .sec-ttl {
    color: #323232;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom .sec-ttl {
        font-size: 2.3rem;
    }
}
.page--service--omn .sec--detail .bottom .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--service--omn .sec--detail .bottom .flex > div {
    margin-top: 30px;
    padding: 15px;
    background-color: #fff;
    border-radius: 10px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom .flex > div {
        margin-top: 20px;
    }
}
@media all and (min-width: 769px) {
    .page--service--omn .sec--detail .bottom .flex > div {
        width: 48%;
    }
    .page--service--omn .sec--detail .bottom .flex > div:nth-child(even) {
        margin-left: 4%;
    }
}
.page--service--omn .sec--detail .bottom .flex > div img {
    width: auto;
    height: 80px;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
.page--service--omn .sec--detail .bottom .flex > div p {
    margin-top: 15px;
    text-align: left;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom .flex > div p {
        margin-top: 10px;
    }
}
.page--service--omn .sec--detail .bottom .wrapper-btn {
    margin-top: 40px;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom .wrapper-btn {
        margin-top: 35px;
    }
}
.page--service--omn .sec--detail .bottom .wrapper-btn .btn {
    width: 360px;
}
@media all and (max-width: 768px) {
    .page--service--omn .sec--detail .bottom .wrapper-btn .btn {
        width: 100%;
        height: 50px;
        line-height: 50px;
    }
}

.page--service--csr .content-nav {
    margin-top: 80px;
    padding: 0 30px 30px;
    border: 2px solid #13317f;
    border-radius: 15px;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav {
        margin-top: 50px;
        padding: 0 0 15px;
        border-radius: 10px;
    }
}
.page--service--csr .content-nav .ttl-label {
    margin: -20px auto 27px;
    width: 300px;
    height: 40px;
    background-color: #13317f;
    border-radius: 5px;
    line-height: 38px;
    text-align: center;
    font-weight: 500;
    font-size: 2.2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav .ttl-label {
        margin: -15px auto 15px;
        width: 180px;
        height: 30px;
        line-height: 30px;
        font-size: 1.7rem;
    }
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav .flex {
        flex-wrap: wrap;
    }
}
.page--service--csr .content-nav .flex > div {
    display: flex;
    justify-content: space-around;
    align-content: space-between;
    flex-wrap: wrap;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav .flex > div {
        padding: 15px 5px;
        width: 50%;
        min-height: 200px;
    }
    .page--service--csr .content-nav .flex > div:nth-child(n+3) {
        border-top: 1px solid #aaa;
    }
    .page--service--csr .content-nav .flex > div:nth-child(even) {
        border-left: 1px solid #aaa;
    }
}
@media all and (min-width: 769px) {
    .page--service--csr .content-nav .flex > div {
        padding: 7px 5px 10px;
        width: calc(100% / 4);
        min-height: 180px;
    }
    .page--service--csr .content-nav .flex > div:not(:first-child) {
        border-left: 1px solid #aaa;
    }
}
.page--service--csr .content-nav .flex > div img {
    width: 43px;
    height: 34px;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}
.page--service--csr .content-nav .flex > div .ttl {
    width: 100%;
    text-align: center;
    font-weight: 500;
    font-size: 1.8rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav .flex > div .ttl {
        font-size: 1.7rem;
    }
}
.page--service--csr .content-nav .flex > div .btn {
    margin: 0 auto;
    width: 140px;
    min-width: initial;
    height: 34px;
    line-height: 32px;
    display: block;
    font-size: 1.5rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-nav .flex > div .btn {
        margin: 10px auto 0;
    }
}
.page--service--csr .content-backup {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-backup {
        padding: 50px 0;
    }
}
.page--service--csr .content-backup .sec-ttl {
    color: #323232;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-backup .sec-ttl {
        line-height: 1.45;
    }
}
.page--service--csr .content-backup .desc-txt {
    margin: 30px 0;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-backup .desc-txt {
        margin: 25px 0;
    }
}
.page--service--csr .content-backup img {
    width: 100%;
}
.page--service--csr .content-strength {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength {
        padding: 50px 0;
    }
}
.page--service--csr .content-strength .sec-ttl {
    color: #323232;
    line-height: 1.45;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength .sec-ttl {
        font-size: 2.3rem;
    }
}
.page--service--csr .content-strength .desc-txt {
    margin-top: 30px;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength .desc-txt {
        margin-top: 25px;
    }
}
.page--service--csr .content-strength .desc-txt + .desc-txt {
    margin-top: 20px;
}
.page--service--csr .content-strength .desc-txt .ti {
    display: block;
    padding-left: 1em;
    text-indent: -1em;
}
.page--service--csr .content-strength .example {
    margin-top: 40px;
    padding: 30px;
    border-radius: 12px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength .example {
        padding: 15px;
        border-radius: 8px;
    }
}
.page--service--csr .content-strength .example h3 {
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 2.6rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength .example h3 {
        margin-bottom: 15px;
        font-size: 2.3rem;
    }
}
.page--service--csr .content-strength .example .flex {
    justify-content: space-between;
    flex-wrap: wrap;
}
.page--service--csr .content-strength .example .flex > ul {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-strength .example .flex > ul {
        width: 100%;
    }
    .page--service--csr .content-strength .example .flex > ul:nth-child(n+2) {
        margin-top: 10px;
    }
}
.page--service--csr .content-strength .example .flex > ul li {
    padding-left: 1em;
    text-indent: -1em;
    list-style-type: none;
}
.page--service--csr .content-strength .example .flex > ul li:nth-child(n+2) {
    margin-top: 10px;
}
.page--service--csr .sec-ttl-icon {
    margin: 0 auto 15px;
    display: block;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--csr .sec-ttl-icon {
        margin-bottom: 10px;
    }
}
.page--service--csr .sec-ttl-icon img {
    width: 70px;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
@media all and (max-width: 768px) {
    .page--service--csr .sec-ttl-icon img {
        width: 35px;
    }
}
.page--service--csr .sec-ttl {
    font-weight: 500;
}
@media all and (max-width: 768px) {
    .page--service--csr .sec-ttl {
        line-height: 1.4;
        font-size: 2.3rem;
    }
}
.page--service--csr .content-program {
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program {
        padding: 50px 0;
    }
}
.page--service--csr .content-program .sec-ttl {
    color: #13317f;
}
.page--service--csr .content-program .desc-txt {
    margin-top: 30px;
    line-height: 1.733;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.page--service--csr .content-program .desc-txt > * {
    width: 48%;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program .desc-txt > * {
        width: 100%;
    }
}
.page--service--csr .content-program .desc-txt .note {
    padding: 15px;
    border: 2px solid #13317f;
    border-radius: 5px;
    background-color: #fffae1;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program .desc-txt .note {
        margin-top: 15px;
    }
}
.page--service--csr .content-program .desc-txt .note * {
    font-weight: 700;
    font-size: 1.5rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program .desc-txt .note * {
        font-size: 1.8rem;
    }
}
.page--service--csr .content-program .desc-txt .note img {
    margin-top: 10px;
    width: 100%;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program .desc-txt figure {
        margin-top: 15px;
    }
}
.page--service--csr .content-program .desc-txt figure img {
    width: 100%;
}
.page--service--csr .content-program .desc-txt figure figcaption {
    margin-top: 10px;
    line-height: 1.3;
    font-weight: 500;
}
.page--service--csr .content-program .desc-txt figure figcaption a {
    text-decoration: underline;
}
.page--service--csr .content-program .btn {
    width: 300px;
    letter-spacing: 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-program .btn {
        width: 100%;
        max-width: 300px;
        height: 50px;
        line-height: 48px;
    }
}
.page--service--csr #serviceCsrQuality {
    background-color: #f0f0f0;
}
.page--service--csr .content-analyse {
    padding: 80px 0;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse {
        padding: 50px 0;
    }
}
.page--service--csr .content-analyse .sec-ttl {
    color: #13317f;
}
.page--service--csr .content-analyse .desc-txt {
    margin-top: 30px;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .desc-txt {
        line-height: 1.64;
    }
}
.page--service--csr .content-analyse .sub-ttl {
    margin-top: 60px;
    text-align: center;
    font-weight: 500;
    font-size: 1.9rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .sub-ttl {
        margin-top: 50px;
        font-size: 1.7rem;
    }
}
.page--service--csr .content-analyse .sub-ttl span {
    font-weight: 400;
    font-size: 1.7rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .sub-ttl span {
        font-size: 1.5rem;
    }
}
.page--service--csr .content-analyse .flex {
    margin-top: 25px;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .flex {
        flex-wrap: wrap;
    }
}
.page--service--csr .content-analyse .flex > div {
    padding: 20px;
    width: calc(100% / 3 - 20px);
    display: flex;
    align-content: space-between;
    justify-content: center;
    flex-wrap: wrap;
    border: 4px solid #a0cdeb;
    border-radius: 10px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .flex > div {
        padding: 15px;
        width: 100%;
    }
    .page--service--csr .content-analyse .flex > div + div {
        margin-top: 15px;
    }
}
.page--service--csr .content-analyse .flex > div h3 {
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 500;
    font-size: 1.7rem;
    color: #ff7887;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .flex > div h3 {
        min-height: initial;
        font-size: 1.6rem;
    }
}
.page--service--csr .content-analyse .flex > div p {
    margin: 10px 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .flex > div p {
        margin: 10px 0 20px;
        line-height: 1.64;
    }
}
.page--service--csr .content-analyse .flex > div img {
    width: 100%;
}
.page--service--csr .content-analyse .flex .img {
    width: 100%;
}
.page--service--csr .content-analyse .btn {
    width: 300px;
    letter-spacing: 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-analyse .btn {
        width: 100%;
        max-width: 300px;
        height: 50px;
        line-height: 48px;
    }
}
.page--service--csr .content-details .detail {
    margin: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-details .detail {
        margin: 50px 0;
    }
}
.page--service--csr .content-details .detail .sec-ttl {
    margin-bottom: 30px;
    color: #323232;
}
.page--service--csr .content-details .detail.about {
    margin-top: 0;
}
.page--service--csr .content-details .detail.about .flex {
    flex-wrap: wrap;
}
@media all and (min-width: 769px) {
    .page--service--csr .content-details .detail.about .flex {
        margin-left: -10px;
        margin-right: -10px;
    }
}
.page--service--csr .content-details .detail.about .flex > div {
    padding: 15px 5px;
    width: 235px;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
    border: 2px solid #13317f;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-details .detail.about .flex > div {
        width: 48%;
        border: 1px solid #13317f;
    }
    .page--service--csr .content-details .detail.about .flex > div:nth-child(even) {
        margin-left: 3.5%;
    }
    .page--service--csr .content-details .detail.about .flex > div:nth-child(n+3) {
        margin-top: 15px;
    }
}
@media all and (min-width: 769px) {
    .page--service--csr .content-details .detail.about .flex > div {
        margin: 10px;
    }
}
.page--service--csr .content-details .detail.about .flex > div img {
    height: 50px;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-details .detail.about .flex > div img {
        height: 35px;
    }
}
.page--service--csr .content-details .detail.about .flex > div .img {
    text-align: center;
}
.page--service--csr .content-details .detail.about .flex > div .ttl {
    margin-top: 10px;
    width: 100%;
    min-height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 500;
    font-size: 1.8rem;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-details .detail.about .flex > div .ttl {
        margin-top: 0;
        min-height: 40px;
        font-size: 1.5rem;
    }
}
.page--service--csr .content-details .detail.location {
    text-align: center;
}
.page--service--csr .content-details .detail.location .desc-txt {
    margin: 30px 0;
    text-align: left;
}
.page--service--csr .content-details .detail.location img {
    width: 100%;
    max-width: 652px;
}
.page--service--csr .content-details .detail.location .btn {
    width: 300px;
}
@media all and (max-width: 768px) {
    .page--service--csr .content-details .detail.location .btn {
        height: 50px;
        line-height: 48px;
        letter-spacing: 0;
    }
}

.page--service--dispatch .content-feature {
    padding: 80px 0;
    background-color: #f0f0f0;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-feature {
        padding: 50px 0;
    }
}
.page--service--dispatch .content-feature .sec-ttl {
    color: #323232;
}
.page--service--dispatch .content-feature .desc-txt {
    margin: 25px 0 30px;
    font-weight: 500;
    font-size: 1.8rem;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-feature .desc-txt {
        margin: 15px 0;
        font-size: 1.6rem;
    }
}
.page--service--dispatch .content-feature img {
    width: 100%;
}
.page--service--dispatch .content-point {
    position: relative;
    padding: 80px 0;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point {
        padding: 50px 0;
    }
}
.page--service--dispatch .content-point .point-ttl {
    align-items: center;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-ttl {
        align-items: flex-start;
    }
}
.page--service--dispatch .content-point .point-ttl > span:first-child {
    width: 75px;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-ttl > span:first-child {
        width: 50px;
    }
}
.page--service--dispatch .content-point .point-ttl > span:first-child img {
    width: 55px;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-ttl > span:first-child img {
        width: 43px;
    }
}
.page--service--dispatch .content-point .point-ttl > span:last-child {
    width: calc(100% - 75px);
    font-weight: 500;
    font-size: 2.6rem;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-ttl > span:last-child {
        width: calc(100% - 50px);
        font-size: 2rem;
        letter-spacing: -1px;
    }
}
.page--service--dispatch .content-point .point-ttl > span:last-child b {
    font-weight: 700;
    font-size: 2.6rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-ttl > span:last-child b {
        font-size: 2rem;
    }
}
.page--service--dispatch .content-point .point-container {
    margin-top: 15px;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-container {
        flex-wrap: wrap;
    }
}
.page--service--dispatch .content-point .point-container > div {
    width: 48%;
    line-height: 1.733;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-container > div {
        width: 100%;
    }
}
.page--service--dispatch .content-point .point-container > div img {
    width: 100%;
}
.page--service--dispatch .content-point .point-example {
    margin-top: 30px;
    padding: 15px 20px;
    border: 2px solid #13317f;
    border-radius: 10px;
    background-color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example {
        padding: 15px;
    }
}
.page--service--dispatch .content-point .point-example .ttl {
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 2.2rem;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .ttl {
        font-size: 1.8rem;
    }
}
.page--service--dispatch .content-point .point-example .ttl-sub {
    margin-bottom: 12px;
    padding: 5px 20px;
    border-radius: 30px;
    background-color: #237dd7;
    font-weight: 500;
    font-size: 1.8rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .ttl-sub {
        padding: 10px;
        border-radius: 10px;
    }
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex {
        flex-wrap: wrap;
    }
}
.page--service--dispatch .content-point .point-example .flex > div {
    padding: 10px 20px 20px;
    width: calc(50% - 20px);
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex > div {
        padding: 15px;
        width: 100%;
    }
}
.page--service--dispatch .content-point .point-example .flex > div h5 {
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 1.8rem;
    color: #237dd7;
}
.page--service--dispatch .content-point .point-example .flex > div ul li {
    list-style-type: none;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.733;
}
.page--service--dispatch .content-point .point-example .flex > div ul li:not(:first-child) {
    margin-top: 3px;
}
.page--service--dispatch .content-point .point-example .flex > div:first-child {
    background-color: #e0eaf6;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex > div:first-child {
        padding-bottom: 25px;
    }
}
.page--service--dispatch .content-point .point-example .flex > div:last-child {
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex > div:last-child {
        padding-top: 25px;
    }
}
.page--service--dispatch .content-point .point-example .flex > span {
    align-self: center;
    width: 40px;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex > span {
        width: 100%;
        text-align: center;
    }
}
.page--service--dispatch .content-point .point-example .flex > span img {
    width: calc(100% + 20px);
    margin: 0 -10px;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point .point-example .flex > span img {
        margin: -10px 0 -15px;
        width: 56px;
    }
}
.page--service--dispatch .content-point .point-example .flex + .ttl-sub {
    margin-top: 30px;
}
.page--service--dispatch .content-point.bg-b:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 100%;
    display: block;
    background-color: #e0eaf6;
}
.page--service--dispatch .content-point.bg-b .inner {
    position: relative;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point.bg-b .point-container > div:last-child {
        margin-top: 15px;
    }
}
.page--service--dispatch .content-point.bg-g {
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point.bg-g .point-container {
        flex-flow: column-reverse;
    }
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-point.bg-g .point-container > div:first-child {
        margin-top: 15px;
    }
}
.page--service--dispatch .content-fee {
    padding: 80px 0;
    background-color: #f0f0f0;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee {
        padding: 50px 0;
    }
}
.page--service--dispatch .content-fee .sec-ttl {
    margin-bottom: 15px;
    color: #323232;
}
.page--service--dispatch .content-fee .flex {
    margin: 0 -10px;
    justify-content: center;
    flex-wrap: wrap;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee .flex {
        margin: 0;
    }
}
.page--service--dispatch .content-fee .flex > div {
    margin: 15px 10px;
    overflow: hidden;
    width: 320px;
    background-color: #13317f;
    border: 2px solid #13317f;
    border-radius: 10px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee .flex > div {
        margin: 20px 0 0;
        width: 100%;
        max-width: 230px;
        border-radius: 3px;
    }
}
.page--service--dispatch .content-fee .flex > div .name {
    padding: 10px;
    background-color: #fff;
    font-weight: 500;
    font-size: 2.6rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee .flex > div .name {
        font-size: 1.9rem;
    }
}
.page--service--dispatch .content-fee .flex > div .price {
    padding: 10px;
    font-size: 3.2rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee .flex > div .price {
        padding: 5px;
        font-size: 2.3rem;
    }
}
.page--service--dispatch .content-fee .flex > div .price span {
    padding-right: 15px;
    font-weight: 700;
    font-size: 5.4rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--dispatch .content-fee .flex > div .price span {
        font-size: 3.9rem;
    }
}

.page--service--consulting .desc {
    padding-bottom: 50px;
}
@media all and (max-width: 768px) {
    .page--service--consulting .desc {
        padding-bottom: 30px;
    }
}
.page--service--consulting .content-about {
    padding-bottom: 80px;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about {
        padding-bottom: 50px;
    }
}
.page--service--consulting .content-about .grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
}
.page--service--consulting .content-about .grid-container > div {
    margin-top: 10px;
    margin-left: 10px;
    padding: 10px;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container > div {
        padding: 8px 5px;
    }
}
.page--service--consulting .content-about .grid-container > div:nth-child(3n+1) {
    margin-left: 0;
    width: 22%;
}
.page--service--consulting .content-about .grid-container > div:nth-child(3n+2) {
    width: 22%;
}
.page--service--consulting .content-about .grid-container > div:nth-child(3n) {
    width: calc(56% - 20px);
}
.page--service--consulting .content-about .grid-container > div:not(.grid-header) {
    min-height: 146px;
}
.page--service--consulting .content-about .grid-container .grid-header {
    margin-top: 0;
    padding: 0;
}
.page--service--consulting .content-about .grid-container .grid-header span {
    padding: 10px;
    display: block;
    border-radius: 5px;
    background-color: #323232;
    text-align: center;
    line-height: 1;
    font-weight: 500;
    font-size: 1.8rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-header span {
        padding: 5px 0;
        font-size: 1.2rem;
    }
}
.page--service--consulting .content-about .grid-container .grid-layer {
    background-color: #e0eaf6;
    text-align: center;
}
@media all and (min-width: 769px) {
    .page--service--consulting .content-about .grid-container .grid-layer {
        align-self: center;
    }
}
.page--service--consulting .content-about .grid-container .grid-purpose {
    background-color: #ffd1d8;
    text-align: center;
}
@media all and (min-width: 769px) {
    .page--service--consulting .content-about .grid-container .grid-purpose {
        align-self: center;
    }
}
.page--service--consulting .content-about .grid-container .grid-layer, .page--service--consulting .content-about .grid-container .grid-purpose {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
    border: 2px solid #aaa;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-layer, .page--service--consulting .content-about .grid-container .grid-purpose {
        border: 1px solid #aaa;
        align-content: flex-start;
        border-radius: 5px;
    }
}
.page--service--consulting .content-about .grid-container .grid-layer img, .page--service--consulting .content-about .grid-container .grid-purpose img {
    margin-bottom: 10px;
    max-width: 81px;
    max-height: 86px;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-layer img, .page--service--consulting .content-about .grid-container .grid-purpose img {
        max-width: 40px;
        max-height: 43px;
    }
}
.page--service--consulting .content-about .grid-container .grid-layer span, .page--service--consulting .content-about .grid-container .grid-purpose span {
    width: 100%;
    display: block;
    font-weight: 500;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-layer span, .page--service--consulting .content-about .grid-container .grid-purpose span {
        font-size: 1.1rem;
    }
}
.page--service--consulting .content-about .grid-container .grid-howto {
    display: flex;
    align-items: center;
    border: 1px solid #aaa;
    border-radius: 5px;
}
@media all and (min-width: 769px) {
    .page--service--consulting .content-about .grid-container .grid-howto {
        padding-left: 20px;
        border: 2px solid #aaa;
        border-radius: 10px;
    }
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-howto .flex {
        flex-wrap: wrap;
    }
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .grid-container .grid-howto ul {
        width: 100%;
    }
}
@media all and (min-width: 769px) {
    .page--service--consulting .content-about .grid-container .grid-howto ul:not(:first-child) {
        margin-left: 25px;
    }
}
.page--service--consulting .content-about .grid-container .grid-howto ul li {
    list-style-type: none;
}
.page--service--consulting .content-about .grid-container .grid-howto ul li::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #237dd7;
    margin-right: 3px;
}
.page--service--consulting .content-about .txt {
    margin-top: 20px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-about .txt {
        margin-top: 10px;
        text-align: left;
    }
}
.page--service--consulting .content-howto {
    padding-top: 80px;
    background-image: url(../../img/ict-outsourcing/consulting-bg.jpg);
    background-size: cover;
    background-position: center top;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto {
        padding-top: 50px;
    }
}
.page--service--consulting .content-howto .sec-ttl {
    color: #fff;
}
.page--service--consulting .content-howto .flex {
    margin-top: 50px;
    margin-bottom: -200px;
    justify-content: space-between;
    flex-wrap: wrap;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex {
        margin-top: 30px;
        margin-bottom: -540px;
    }
}
.page--service--consulting .content-howto .flex > div {
    padding: 0 15px 15px;
    width: 100%;
    border-radius: 10px;
    background-color: #fff;
    text-align: center;
    z-index: 1;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex > div:last-child {
        margin-top: 25px;
    }
}
@media all and (min-width: 769px) {
    .page--service--consulting .content-howto .flex > div:first-child {
        width: 40%;
    }
    .page--service--consulting .content-howto .flex > div:last-child {
        width: 57%;
    }
}
.page--service--consulting .content-howto .flex > div .label {
    padding-top: 1px;
    margin: 0 auto 15px;
    width: 120px;
    height: 80px;
    border-radius: 0 0 10px 10px;
    background-color: #13317f;
    line-height: 2.4;
    font-size: 1.6rem;
    color: #fff;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex > div .label {
        border-radius: 0 0 5px 5px;
    }
}
.page--service--consulting .content-howto .flex > div .label img, .page--service--consulting .content-howto .flex > div .label svg {
    width: 33px;
    height: 24px;
}
.page--service--consulting .content-howto .flex > div .ttl {
    font-weight: 700;
    font-size: 2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex > div .ttl {
        font-size: 1.8rem;
    }
}
.page--service--consulting .content-howto .flex > div .txt {
    margin: 15px 0;
    text-align: left;
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex > div .txt {
        margin: 10px 0 15px;
    }
}
@media all and (max-width: 768px) {
    .page--service--consulting .content-howto .flex > div > img {
        width: auto;
        max-width: 100%;
        max-height: 95px;
    }
}
.page--service--consulting .howto-margin {
    height: 250px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .page--service--consulting .howto-margin {
        height: 590px;
    }
}

@media all and (max-width: 768px) {
    .page--service--tool .sec-ttl {
        line-height: 1.2;
    }
    .page--service--tool .sec-ttl span {
        margin-top: 10px;
        display: block;
        line-height: 1.2;
    }
}
.page--service--tool .desc {
    padding-bottom: 50px;
}
@media all and (max-width: 768px) {
    .page--service--tool .desc {
        padding-bottom: 25px;
    }
}
.page--service--tool .content-tool {
    padding-bottom: 80px;
}
@media all and (max-width: 768px) {
    .page--service--tool .content-tool {
        padding-bottom: 50px;
    }
}
.page--service--tool .content-tool .flex {
    flex-wrap: wrap;
    justify-content: flex-start;
}
.page--service--tool .content-tool .flex > div {
    padding: 0 15px 15px;
    width: 48%;
    border: 4px solid #237dd7;
    border-radius: 10px;
    text-align: center;
}
@media all and (max-width: 768px) {
    .page--service--tool .content-tool .flex > div {
        margin: 0 auto;
        width: 100%;
        max-width: 400px;
        border: 2px solid #237dd7;
    }
    .page--service--tool .content-tool .flex > div:nth-child(n+2) {
        margin-top: 25px;
    }
}
@media all and (min-width: 769px) {
    .page--service--tool .content-tool .flex > div:nth-child(even) {
        margin-left: 4%;
    }
    .page--service--tool .content-tool .flex > div:nth-child(n+3) {
        margin-top: 30px;
    }
}
.page--service--tool .content-tool .flex > div .label {
    margin: -4px auto 20px;
    width: 120px;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #237dd7;
    border-radius: 0 0 10px 10px;
}
@media all and (max-width: 768px) {
    .page--service--tool .content-tool .flex > div .label {
        margin: -2px auto 12px;
        width: 90px;
        height: 65px;
        border-radius: 0 0 5px 5px;
    }
}
.page--service--tool .content-tool .flex > div .label img {
    max-width: 84px;
    max-height: 60px;
}
@media all and (max-width: 768px) {
    .page--service--tool .content-tool .flex > div .label img {
        max-width: 42px;
        max-height: 48px;
    }
}
.page--service--tool .content-tool .flex > div .ttl {
    margin-bottom: 20px;
    display: inline-block;
    background: linear-gradient(transparent 60%, #ffe600 0%);
    font-weight: 500;
    font-size: 2rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .page--service--tool .content-tool .flex > div .ttl {
        margin-bottom: 12px;
    }
}
.page--service--tool .content-tool .flex > div .txt {
    text-align: left;
    line-height: 1.714;
}

/**
* 導入事例・実績カテゴリーアーカイブ
*/
.cases .pages--content .container-case .content-case {
    padding: 60px 0 80px;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case {
        padding: 30px 0 50px;
    }
}
.cases .pages--content .container-case .content-case .case-ttl {
    text-align: center;
    line-height: 1;
    font-size: 2rem;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .case-ttl {
        line-height: 1.35;
    }
}
.cases .pages--content .container-case .content-case .case-ttl img {
    width: 100px;
}
.cases .pages--content .container-case .content-case .cases-list .item_wrapper {
    padding-top: 60px;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item_wrapper {
        padding-top: 30px;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item {
    padding: 30px;
    border: 2px solid #13317f;
    border-radius: 10px;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item {
        padding: 20px 15px;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item h3 {
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 2.4rem;
    color: #13317f;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item h3 {
        margin-bottom: 20px;
        font-size: 1.9rem;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item .ttl {
    margin-bottom: 20px;
    padding: 3px 10px 5px;
    border-left: 3px solid #13317f;
    line-height: 1;
    font-weight: 500;
    font-size: 1.8rem;
    color: #13317f;
}
.cases .pages--content .container-case .content-case .cases-list .item .work {
    padding: 15px 20px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item .work {
        padding: 15px;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item .work h4 {
    font-weight: 700;
    font-size: 1.8rem;
    color: #237dd7;
}
.cases .pages--content .container-case .content-case .cases-list .item .work h4 + .txt {
    margin-top: 5px;
}
.cases .pages--content .container-case .content-case .cases-list .item .work .txt {
    font-weight: 400;
    font-size: 1.7rem;
    color: #237dd7;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item .work .txt {
        font-size: 1.4rem;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item .work .txt + h4, .cases .pages--content .container-case .content-case .cases-list .item .work .txt + .txt {
    margin-top: 15px;
}
.cases .pages--content .container-case .content-case .cases-list .item .intro {
    margin-bottom: 35px;
    line-height: 1.733;
}
.cases .pages--content .container-case .content-case .cases-list .item .intro p + p {
    margin-top: 15px;
}
.cases .pages--content .container-case .content-case .cases-list .item .fixed .txt {
    line-height: 1.733;
}
.cases .pages--content .container-case .content-case .cases-list .item .fixed .txt img {
    max-width: 100%;
    height: auto;
}
.cases .pages--content .container-case .content-case .cases-list .item .fixed .txt p + p {
    margin-top: 15px;
}
.cases .pages--content .container-case .content-case .cases-list .item .fixed .txt + .ttl {
    margin-top: 35px;
}
.cases .pages--content .container-case .content-case .cases-list .item .fixed + .work {
    margin-top: 40px;
}
.cases .pages--content .container-case .content-case .cases-list .item .org {
    margin-top: 45px;
    padding: 0 20px 15px;
    background-color: #f0f0f0;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item .org {
        padding: 0 10px 15px;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item .org .ttl {
    margin-left: -20px;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .cases-list .item .org .ttl {
        margin-left: -10px;
    }
}
.cases .pages--content .container-case .content-case .cases-list .item .org .org-content p {
    line-height: 1.733;
}
.cases .pages--content .container-case .content-case .cases-list .item .org .org-content p + p {
    margin-top: 15px;
}
.cases .pages--content .container-case .content-case .cases-list .item .org .org-content ul li {
    list-style-type: none;
    text-indent: -1em;
    padding-left: 1em;
}
.cases .pages--content .container-case .content-case .cases-list .item .org .org-content ul li::before {
    content: "●";
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleContent-case {
    margin-top: 35px;
    display: none;
    height: 100%;
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case {
    margin-top: 30px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding-right: 20px;
    display: inline-block;
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case:before {
    content: "詳細を見る";
    color: #13317f;
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case span {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case span:before, .cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case span:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 1px;
    display: inline-block;
    background-color: #13317f;
    transform: translateY(-50%);
    transition: 0.3s;
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case span:after {
    transform: translateY(-50%) rotate(90deg);
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case.active:before {
    content: "閉じる";
}
.cases .pages--content .container-case .content-case .cases-list .item .toggleBtn-case.active span:after {
    transform: translateY(-50%) rotate(0deg);
}
.cases .pages--content .container-case .content-case .wrapper-btn {
    margin-top: 50px;
}
.cases .pages--content .container-case .content-case .wrapper-btn .btn {
    width: 300px;
}
@media all and (max-width: 768px) {
    .cases .pages--content .container-case .content-case .wrapper-btn .btn {
        width: 240px;
    }
}