@charset "utf-8";

.spBlock {
    display: none;
}
.spBreak {
    display: inline;
}

@media screen and (max-width: 500px) {
    .spBlock {
        display: block;
    }
    .spBreak {
        display: block;
    }
}

.flexBox02 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
}

.flex48 {
    flex-basis: 48%;
    margin-left: 4%;
}
.flex48:nth-child(2n+1) {
    margin-left: 0;
}

.single-wrap {
    background-color: #f2f2f2;
    padding-top: 70px;
}

.breadcrumbs04 {
    text-align: left;
    font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    padding: 15px 20px;
    line-height: 1.4;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.breadcrumbs04::-webkit-scrollbar {
    height: 6px;
}
.breadcrumbs04::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 999px;
}

.news-wrap {
    padding: 60px 0;
}

.areaNews {
    max-width: 1140px;
    margin: 0 auto;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .15);
    background: #FFF;
}

.areaNewsIn {
    padding: 70px 80px 80px 80px;
}

.areaNews h1 {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 15px;
}

.meta01 {
    margin-bottom: 20px;
}

.newsMainPic {
    margin-bottom: 30px;
}

.areaNews01 {
    width: 95%;
    margin: 0 auto;
}

.areaBtn {
    background-color: #F4F4F4;
    padding: 1.5rem 1rem 2rem 1rem;
    text-align: center;
    border-radius: 5px;
}

.areaBtn h3 {
    font-size: clamp(1.1rem, 1.8vw, 1.3rem);
    padding-top: 10px;
    margin-bottom: 8px;
    line-height: 1.5;
    font-weight: bold;
}

.areaBtn a.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    animation: fadeInScale 0.5s ease-out forwards;
    animation-delay: 0.8s;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    padding: 2.5rem 6rem;
    color: rgba(255, 255, 255, 1);
    font-weight: bold;
    text-decoration: none;
    border-radius: 9999px;
    line-height: 1;
    transition: background-color 0.2s ease;
}

.btn-label {
    font-weight: bold;
}

.btn-color-blue {
    background-color: rgba(0, 74, 255, 1);
}

.areaBtn p {
    text-align: center;
}

.text01 {
    font-size: clamp(0.95rem, 1.3vw, 1rem);
    line-height: 1.8;
}

.text02 {
    font-size: clamp(0.85rem, 1.1vw, 0.9rem);
    line-height: 1.7;
    color: #777777;
}

.alCenter {
    text-align: center;
}

.titSolution04 {
    color: #46197f;
}

.titSolution, .titSolution02, .titSolution03, .titSolution04 {
    font-size: clamp(1.3rem, 2.4vw, 1.8rem);
    align-items: center;
    display: flex;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.4;
    text-align: center;
}

.titSolution::before, .titSolution02::before, .titSolution03::before, .titSolution04::before {
    margin-right: 10px;
    transform: rotate(45deg);
}
.titSolution::after, .titSolution02::after, .titSolution03::after, .titSolution04::after {
    margin-left: 10px;
    transform: rotate(-45deg);
}
.titSolution04::before, .titSolution04::after {
    background-color: #46197f;
}
.titSolution::before, .titSolution::after, .titSolution02::before, .titSolution02::after, .titSolution03::before, .titSolution03::after, .titSolution04::before, .titSolution04::after {
    content: "";
    height: 1px;
    width: 40px;
}

#ble-Can ul li:nth-child(odd), #can-02 ul li:nth-child(odd), #can-03 ul li:nth-child(odd) {
    margin-right: 4%;
}

#can-03 ul li {
    background-image: url(../images/common/graline01.png);
}

#ble-Can ul li, #can-02 ul li, #can-03 ul li {
    flex-basis: 48%;
    text-align: center;
    color: #FFF;
    font-size: clamp(1.05rem, 1.9vw, 1.4rem);
    font-weight: bold;
    background-color: #000;
    line-height: 1.4;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    margin: 0 0 20px 0;
    padding: 1em 0 1.2em 0;
}

#ble-Can ul li span, #can-02 ul li span, #can-03 ul li span {
    font-size: clamp(0.9rem, 1.5vw, 1.2rem);
    font-weight: normal;
    padding: 0 5px;
    line-height: 1.6;
}

.newsTit01 {
    color: #000;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    position: relative;
    padding: 1em 1.8em;
    border: 1px solid #CCC;
    border-radius: 5px;
    background: linear-gradient(#FFF 0%, #EEE 100%);
    box-shadow: inset -1px -1px 0 rgba(255, 255, 255, 1);
    font-weight: bold;
    line-height: 1.4;
}

.newsTit01::after {
    position: absolute;
    top: 1.3em;
    left: 1em;
    z-index: 2;
    content: '';
    width: 7px;
    height: 7px;
    border: 4px solid #3E4088;
    border-radius: 100%;
}

h3.heading-18 {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    padding: 0.8em 1.5em;
    border-radius: 5px;
    border: 1px solid #CCC;
    font-weight: bold;
    line-height: 1.5;
}

/* =========================
   タブレット対応
========================= */
@media screen and (max-width: 1024px) {
    .areaNews {
        width: calc(100% - 40px);
    }

    .areaNewsIn {
        padding: 40px 40px 50px;
    }
}

/* =========================
   スマホ対応
========================= */
@media screen and (max-width: 500px) {
    .flexBox02 {
        display: block;
    }

    .flex48 {
        flex-basis: 100%;
        margin-left: 0;
        margin-bottom: 20px;
    }

    .areaNews {
        width: calc(100% - 16px);
    }

    .areaNewsIn {
        padding: 20px 14px 30px;
    }

    #ble-Can ul li:nth-child(odd),
    #can-02 ul li:nth-child(odd),
    #can-03 ul li:nth-child(odd) {
        margin-right: 0;
    }

    #ble-Can ul li,
    #can-02 ul li,
    #can-03 ul li {
        flex-basis: 100%;
        width: 100%;
    }

    .newsTit01 {
        padding: 0.9em 1em 0.9em 2em;
    }

    .newsTit01::after {
        top: 1em;
        left: 0.8em;
        width: 6px;
        height: 6px;
        border-width: 3px;
    }
}