@charset "utf-8";

/* 共通パーツ
---------------------------------*/
.archive .mv{
    padding: 220px 0 140px;
    max-height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#journal .mv{
    background-image: url(../img/archive/journal-mv.jpg);
}
#items .mv{
    background-image: url(../img/archive/items-mv.jpg);
}
#items-taxo .mv{
    padding: 165px 0 100px;
    background-image: url(../img/archive/items-taxo-mv.jpg);
}
#results .mv{
    background-image: url(../img/archive/results-mv.jpg);
}
#news .mv{
    background-image: url(../img/archive/news-mv.jpg);
}
#faq .mv{
    background-image: url(../img/archive/faq-mv.jpg);
}
#solution .mv{
    background-image: url(../img/archive/solution-mv.jpg);
}
@media only screen and (max-width: 768px) {
    .archive .mv{
        padding: 26.66666666666667vw 0;
        max-height: 74.66666666666667vw;
    }
    #journal .mv{
        background-image: url(../img/archive/journal-mv_sp.jpg);
    }
    #items .mv{
        background-image: url(../img/archive/items-mv_sp.jpg);
    }
    #items-taxo .mv{
        padding: 21.333333333333336vw 0 16vw;
        max-height: 53.333333333333334vw;
    }
    #results .mv{
        background-image: url(../img/archive/results-mv_sp.jpg);
    }
    #news .mv{
        background-image: url(../img/archive/news-mv_sp.jpg);
    }
    #faq .mv{
        background-image: url(../img/archive/faq-mv_sp.jpg);
    }
}

/* mv */
.archive .mv .mv-inner{
    display: block;
    max-width: 1470px;
    width: 100%;
    padding: 0 10px;
    margin: 0 auto;
}
.archive .mv h1{
    font-size: 80px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 0.75;
    margin: 0 0 40px;
    color: #fff;
}
.archive .mv .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.archive .mv .flex p{
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 0.8;
    color: #fff;
}
.archive .mv .flex #bcn .breadcrumbs{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #Fff;
}
.archive .mv .flex #bcn .breadcrumbs a,
.archive .mv .flex #bcn .breadcrumbs p,
.archive .mv .flex #bcn .breadcrumbs span{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 1px;
}
.archive .mv .flex #bcn .breadcrumbs a{
    position: relative;
    text-decoration: underline;
}
#items-taxo .mv h1{
    font-size: 60px;
    margin: 0 0 30px;
}
#items-taxo .mv .flex p{
    font-size: 20px;
}
@media only screen and (max-width: 1600px) {
    .archive .mv .mv-inner{
        padding: 0 40px;
    }
}
@media only screen and (max-width: 768px) {
    .archive .mv .mv-inner{
        max-width: none;
        padding: 0 5.3333333333333334vw;
    }
    .archive .mv h1{
        font-size: 10.66666666668vw;
        line-height: 1.5;
        margin: 0;
    }
    .archive .mv .flex{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .archive .mv .flex p{
        font-size: 4vw;
        line-height: 1.33;
    }
    .archive .mv .flex #bcn{
        display: none;
    }
    #items-taxo .mv h1{
        font-size: 7.777777777777773vw;
        line-height: 1;
        margin: 0 0 3.2vw;
    }
    #items-taxo .mv .flex{
        align-items: flex-start;
        flex-direction: column;
        gap: 8vw 0;
    }
    #items-taxo .mv .flex p{
        font-size: 4vw;
        line-height: 1.33;
    }
}

/* PRODUCT 製品紹介 一覧ページ 
--------------------------------------*/
#items .ctt{
    display: flex;
    gap: 130px;
    padding: 150px 0 140px;
    background-color: #F7F7F7;
    overflow: visible;
}
#items .ctt .main_area{
    display: block;
    max-width: 1060px;
    width: 100%;
}
#items .ctt .main_area .itemcat-group{
    padding: 140px 0 0;
    margin: -140px 0 130px;
}
#items .ctt .main_area .itemcat-group:last-of-type{
    margin: -140px 0 0;
}
#items .ctt .main_area .itemcat-group .parent-item{
    position: relative;
    display: flex;
    align-items: center;
    gap: 55px;
    padding: 45px 50px 45px 45px;
    margin: 0 0 50px;
    background-color: #fff;
    border: 1.5px dashed #222222;
    /* border-radius: 5px; */
}
#items .ctt .main_area .itemcat-group .parent-item .img{
    position: relative;
    width: 460px;
    height: 320px;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 5px;
}
#items .ctt .main_area .itemcat-group .parent-item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    display: block;
}
#items .ctt .main_area .itemcat-group .parent-item .txt{
    max-width: 450px;
    width: 100%;
}
#items .ctt .main_area .itemcat-group .parent-item .txt span{
    position: absolute;
    top: 45px;
    right: 50px;
    font-size: 14px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    color: #2D2D2D;
}
#items .ctt .main_area .itemcat-group .parent-item .txt .parent-ttl{
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 0 0 30px;
    margin: 0 0 35px;
    color: #222222;
    border-bottom: 1px dashed #222222;
}
#items .ctt .main_area .itemcat-group .parent-item .txt .expla{
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.67;
    margin: 0;
    color: #222222;
}
#items .ctt .main_area .itemcat-group .child-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 45px 38px;
}
#items .ctt .main_area .itemcat-group .child-list .child-item{
    display: block;
    max-width: 325px;
    width: 100%;
}
#items .ctt .main_area .itemcat-group .child-list .child-item .img{
    position: relative;
    width: 325px;
    height: 210px;
    overflow: hidden;
    margin: 0 0 20px;
}
#items .ctt .main_area .itemcat-group .child-list .child-item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}
#items .ctt .main_area .itemcat-group .child-list .child-item p{
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.73;
    color: #222222;
    margin: 0 0 10px;
}
#items .ctt .main_area .itemcat-group .child-list .child-item .link-line{
    display: flex;
    align-items: center;
    gap: 12px;
}
#items .ctt .main_area .itemcat-group .child-list .child-item .line{
    flex:1;
    border-top:2px dotted #8A8A8A;
}
#items .ctt .main_area .itemcat-group .child-list .child-item img{
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background-color: #fff;
}
@media only screen and (min-width: 1601px) {
    #items .ctt .main_area{
        margin: 0 auto;   
    }
}
@media only screen and (max-width: 1600px) {
    #items .ctt{
        justify-content: space-between;
        gap: 60px;
        padding: 100px 50px 100px 0;
    }
    #items .ctt .main_area{
        flex: 1;
        margin: 0;
    }
}
@media only screen and (max-width: 1440px) {
    #items .ctt .main_area{
        max-width: 1000px;
        max-width: 70vw;
    }
    #items .ctt .main_area .itemcat-group{
        margin: -140px 0 80px;
    }
    #items .ctt .main_area .itemcat-group:last-of-type{
        margin: -140px 0 0;
    }
    #items .ctt .main_area .itemcat-group .parent-item{
        gap: 30px;
        padding: 30px;
        margin: 0 0 40px;
    }
    #items .ctt .main_area .itemcat-group .parent-item .img{
        width: 400px;
        height: 275px;
    }
    #items .ctt .main_area .itemcat-group .child-list{
        gap: 30px;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item{
        max-width: 30%;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item .img{
        width: 100%;
        height: auto;
        padding: 33.2% 0;
        border-radius: 5px;
        margin: 0 0 20px;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item p{
        font-size: 15px;
        margin: 0 0 10px;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item .link-line{
        gap: 12px;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item img{
        width: 22px;
        height: 22px;
    }
}
@media only screen and (max-width: 768px) {
    #items .ctt{
        display: block;
        padding: 8vw 5.33333333334vw 16vw;
    }
    #items .ctt .main_area{
        max-width: none;
    }
    #items .ctt .main_area .itemcat-group{
        padding: 19vw 0 0;
        margin: -19vw 0 16vw;
    }
    #items .ctt .main_area .itemcat-group:last-of-type{
        margin: -19vw 0 0 ;
    }
    #items .ctt .main_area .itemcat-group .parent-item{
        display: block;
        padding: 5.3333333333333334vw 5.333333333333333334vw 8vw;
        margin: 0 0 8vw;
    }
    #items .ctt .main_area .itemcat-group .parent-item .img{
        width: 77.33333333333333vw;
        height: 53.333333333333336vw;
        margin: 0 0 6.6666666666666667vw;
        border-radius: 5px;
    }
    #items .ctt .main_area .itemcat-group .parent-item .txt{
        position: relative;
        max-width: none;
        width: 100%;
    }
    #items .ctt .main_area .itemcat-group .parent-item .txt span{
        position: relative;
        display: block;
        top: auto;
        right: auto;
        font-size: 2.6666666666666667vw;
        text-align: center;
        margin: 0 auto 4vw;
    }
    #items .ctt .main_area .itemcat-group .parent-item .txt .parent-ttl{
        font-size: 4.26666666666666667vw;
        text-align: center;
        padding: 0;
        margin: 0 0 5.333333333334vw;
        border: none;
    }
    #items .ctt .main_area .itemcat-group .parent-item .txt .expla{
        font-size: 3.7333333333333333334vw;
    }
    #items .ctt .main_area .itemcat-group .child-list{
        justify-content: space-between;
        gap: 5.33333333333333334vw 2.666666666666667vw;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item{
        max-width: 42.666666666666667vw;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item .img{
        padding: 33% 0;
        margin: 0 0 5.333333333333334vw;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item p{
        font-size: 3.46666666666666663vw;
        line-height: 1.47;
        margin: 0 0 3.2vw;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item .link-line{
        display: none;
    }
    #items .ctt .main_area .itemcat-group .child-list .child-item img{
        width: 5.3333333333333334vw;
        height: 5.3333333333333334vw;
    }
}

/* PRODUCT 製品紹介  タクソノミーページ
-----------------------------------------------　*/
#items-taxo .ctt{
    display: flex;
    gap: 70px;
    padding: 150px 0 140px;
    background-color: #F7F7F7;
    overflow: visible;
}
#items-taxo .ctt .main_area{
    display: block;
    max-width: 1060px;
    width: 100%;
    position: sticky;
}
#items-taxo .ctt .main_area .items-main{
    margin: 0 0 95px;
}
#items-taxo .ctt .main_area .items-main .term-main-img{
    position: relative;
    display: block;
    width: 1060px;
    height: 410px;
    overflow: hidden;
    border-radius: 10px;
    margin: 0 0 95px;
}
#items-taxo .ctt .main_area .items-main .term-main-img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}
#items-taxo .ctt .main_area .items-main .term-text h2{
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1;
    color: #222222;
}
#items-taxo .ctt .main_area .items-main .term-text .note{
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.67;
    padding: 40px 0 0;
    margin: 40px 0 0;
    color: #222222;
    border-top: 1px dashed #222;
}
#items-taxo .ctt .main_area .items-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 50px 40px;
}
#items-taxo .ctt .main_area .items-list .item{
    position: relative;
    display: block;
    max-width: 325px;
    width: 100%;
}
#items-taxo .ctt .main_area .items-list .item .add-text{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 12px;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.07;  
    color: #DE0000;
    position: absolute;
    top: -32px;
    left: 0;
}
#items-taxo .ctt .main_area .items-list .item .add-text span{
    font-size: 20px;
    padding-bottom: 1px;
}
#items-taxo .ctt .main_area .items-list .item .img{
    position: relative;
    width: 325px;
    /* height: 217px; */
    overflow: hidden;
    margin: 0 0 18px;
    background-color: #fff;
    border-radius: 5px;
    padding: 37.5% 0;
}
#items-taxo .ctt .main_area .items-list .item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
}
#items-taxo .ctt .main_area .items-list .item .img .demo-img{
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#items-taxo .ctt .main_area .items-list .item .ttl{
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    letter-spacing: .01em;
    margin: 0 0 18px;
    color: #222222;
}
#items-taxo .ctt .main_area .items-list .item .note{
    min-height: 41px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.43;
    margin: 0 0 20px;
    color: #222222;
}
#items-taxo .ctt .main_area .items-list .item .link-line{
    display: flex;
    align-items: center;
    gap: 12px;
}
#items-taxo .ctt .main_area .items-list .item .line{
    flex:1;
    border-top:2px dotted #8A8A8A;
}
#items-taxo .ctt .main_area .items-list .item img{
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background-color: #fff;
}
#items-taxo .ctt .main_area .not-p{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.01em;
}
@media only screen and (min-width: 1601px) {
    #items-taxo .ctt .main_area{
        margin: 0 auto;
    }
}
@media only screen and (max-width: 1600px) {
    #items-taxo .ctt{
        justify-content: space-between;
        padding-right: 50px;
        gap: 30px;
    }
    #items-taxo .ctt .main_area{
        margin: 0;
    }
}
@media only screen and (max-width: 1440px) {
    #items-taxo .ctt .main_area{
        max-width: 1000px;
        width: 70vw;
    }
    #items-taxo .ctt .main_area .items-main{
        margin: 0 0 70px;
    }
    #items-taxo .ctt .main_area .items-main .term-main-img{
        width: 100%;
        height: auto;
        padding: 19.15% 0;
        margin: 0 0 70px;
    }
    #items-taxo .ctt .main_area .items-list{
        gap: 2.083333333333333vw;
    }
    #items-taxo .ctt .main_area .items-list .item{
        max-width: 31%;
    }
    #items-taxo .ctt .main_area .items-list .item .img{
        width: 100%;
        height: auto;
        margin: 0 0 15px;
    }
}
@media only screen and (max-width: 768px) {
    #items-taxo .ctt .main_area{
        max-width: none;
        width: 100%;
    }
    #items-taxo .ctt{
        display: block;
        padding: 13.33333335vw 5.33333333334vw 16vw;
    }
    #items-taxo .ctt .main_area .items-main{
        margin: 0 0 16vw;
    }
    #items-taxo .ctt .main_area .items-main .term-main-img{
        width: 89.33333333333333vw;
        height: 34.66666666666667vw;
        border-radius: 5px;
        margin: 0 0 12vw;
    }
    #items-taxo .ctt .main_area .items-main .term-main-img img{
        top: 50%;
        transform: translateY(-50%);
    }
    #items-taxo .ctt .main_area .items-main .term-text h2{
        font-size: 5.3333333333334vw;
        line-height: 1;
    }
    #items-taxo .ctt .main_area .items-main .term-text .note{
        font-size: 4vw;
        padding: 6.4vw 0 0;
        margin: 6.4vw 0 0;
    }
    #items-taxo .ctt .main_area .items-list{
        gap: 5.333333334vw 2.666666666667vw;
    }
    #items-taxo .ctt .main_area .items-list .item{
        max-width: 42.6666666666666667vw;
    }
    #items-taxo .ctt .main_area .items-list .item .add-text{
        font-size: 4vw;
        gap: 1.66666666666668vw;
        top: -6.4vw;
    }
    #items-taxo .ctt .main_area .items-list .item .add-text span{
        font-size: 4.266666666666667vw;
        padding-bottom: 0;
    }
    #items-taxo .ctt .main_area .items-list .item .img{
        width: 42.6666666666666667vw;
        height: 28.26666666666667vw;
        margin: 0 0 4vw;
    }
    #items-taxo .ctt .main_area .items-list .item .ttl{
        font-size: 4vw;
        margin: 0 0 4vw;
    }
    #items-taxo .ctt .main_area .items-list .item .note{
        display: block;
        min-height: 10.666666666668vw;
        font-size: 3.46666666666663vw;
        margin: 0 0 4vw;
    }
    #items-taxo .ctt .main_area .items-list .item .link-line{
        display: none;
    }
    #items-taxo .ctt .main_area .items-list .item img{
        width: 5.333333333333334vw;
        height: 5.333333333333334vw;
    }
    #items-taxo .ctt .main_area .not-p{
        font-size: 4.2666666666667vw;
    }
}

/* RESULTS 納入実績  一覧ページ
-----------------------------------------------　*/
#results{
    padding: 0 0 120px;
}
#results .results-filter{
    margin: 90px 0 50px;
    background-color: #F7F7F7;
}
#results .results-filter .filter-row{
    display: flex;
    padding: 25px 0;
    border-top: 1px dashed #222222;
    border-bottom: 1px dashed #222222;
}
#results .results-filter .filter-row .filter-title{
    display: block;
    max-width: 120px;
    width: 100%;
    font-size: 22px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    line-height: 1.12;
    color: #222222;
    flex-shrink: 0;
    padding: 10px 0 0;
}
#results .results-filter .filter-row .current-filter,
#results .results-filter .filter-row .arrow{
    display: none;
}
#results .results-filter .filter-row .filter-list{
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 0;
    padding: 10px 45px;
    border-left: 1px dashed #000000;
}
#results .results-filter .filter-row .filter-list li{
    padding-right: 30px;
    margin-right: 30px;
    border-right: 1px solid #B0B0B0;
}
#results .results-filter .filter-row .filter-list li:last-child{
    padding: 0;
    margin: 0;
    border: none;
}
#results .results-filter .filter-row .filter-list li a{
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.5;
    color: #B0B0B0;
}
#results .results-filter .filter-row .filter-list li a:hover{
    opacity: 1;
    color: #222222;
}
#results .results-filter .filter-row .filter-list li.is-active p,
#results .results-filter .filter-row .filter-list li.is-active a{
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.17;
    color: #222222;
    pointer-events: none;
}
#results .results-filter .tag-row{
    border: none;
    background-color: #F0F0F0;
}
#results .results-filter .tag-row .tag-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
}
#results .results-filter .tag-row .tag-list li{
    padding: 0;
    margin: 0;
    border: none;
}
#results .results-filter .tag-row .tag-list li a,
#results .results-filter .tag-row .tag-list li.is-active a{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.47;
    padding: 4px 15px 5px;
    color: #222222;
    background-color: #fff;
    border: 1px solid #222222;
    border-radius: 100vw;
}
#results .results-filter .tag-row .tag-list li a:hover{
    opacity: 1;
    color: #fff;
    background-color: #222222;
}
#results .results-filter .tag-row .tag-list li.is-active a{
    color: #fff;
    background-color: #222;
}
#results .ctt{
    display: block;
    width: 100%;
}
#results .ctt .quantity{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.33;
    text-align: right;
    color: #222222;
    margin: 0 0 30px;
}
#results .ctt .quantity span{
    font-size: 30px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    padding: 0 10px 0 15px;
    color: #222222;
}
#results .ctt .main_area .results-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 40px 25px;
}   
#results .ctt .main_area .results-list .item{
    display: flex;
    flex-direction: column;
    max-width: 415px;
    width: 100%;
    padding: 25px 25px 30px;
    background-color: #fff;
}
#results .ctt .main_area .results-list .item:hover{
    opacity: 1;
}
#results .ctt .main_area .results-list .item .img{
    position: relative;
    max-width: 365px;
    width: 100%;
    height: 245px;
    margin: 0 auto 25px;
    border-radius: 5px;
    overflow: hidden;
}
#results .ctt .main_area .results-list .item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    transition: all .3s;
}
#results .ctt .main_area .results-list .item:hover .img img{
    transform: scale(1.1);
}
#results .ctt .main_area .results-list .item .txt{
    display: flex;
    flex-direction: column;
    flex: 1;
}
#results .ctt .main_area .results-list .item .txt .label{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 22px;
}
#results .ctt .main_area .results-list .item .txt .label .cat-area{
    display: flex;
    align-items: center;
    gap: 5px;
}
#results .ctt .main_area .results-list .item .txt .label .cat{
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.81;
    padding: 2px 12px 4px;
    color: #fff;
    background-color: #446898;
    border-radius: 100vw;
}
#results .ctt .main_area .results-list .item .txt .label .date{
    font-size: 13px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.34;
    color: #222222;
}
#results .ctt .main_area .results-list .item .txt .ttl{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.47;
    transition: all .3s;
    margin-bottom: 30px;
}
#results .ctt .main_area .results-list .item .txt .ttl br{
    display: none;
}
#results .ctt .main_area .results-list .item.item:hover .txt .ttl{
    text-decoration: underline;
}
#results .ctt .main_area .results-list .item .txt .info-area{
    display: flex;
    justify-content: space-between;
    gap: 40px;
    border-top: 1px dashed #222222;
    padding-top: 20px;
    margin-top: auto;
}
#results .ctt .main_area .results-list .item .txt .info-area .tags{
    display: flex;
    align-items: stretch;
    gap: 15px;
}
#results .ctt .main_area .results-list .item .txt .info-area .tags .tag{
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    color: #222222;
}
#results .ctt .main_area .results-list .item .txt .info-area .tags .tag span{
    color: #EC6859;
}
#results .ctt .main_area .results-list .item .txt .info-area .prefecture{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #222222;
    flex-shrink: 0;
}
#results .ctt .main_area .results-list .item .txt .info-area .prefecture::before{
    content: "";
    width: 16px;
    height: 20px;
    background-image: url(../img/common/map-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#results .ctt .main_area .not-p{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.01em;
}
@media only screen and (max-width: 768px) {
    #results{
        padding: 0 0 16vw;
    }
    #results .results-filter{
        margin: 12vw 0 6.666666666666667vw;
    }
    #results .results-filter .filter-row{
        display: block;
        padding: 0;
    }
    #results .results-filter .filter-row .filter-title.pc{
        display: none;
    }
    #results .results-filter .filter-row .filter-head{
        position: relative;
        display: flex;
        align-items: center;
        gap: 9.3333333333334vw;
        padding: 4.8vw;
    }
    #results .results-filter .filter-row .filter-head::before{
        position: absolute;
        top: 50%;
        right: 5.33333333333334vw;
        content: "";
        display: inline-block;
        width: 1.6666666666666668vw;
        height: 1.6666666666666668vw;
        transform: translateY(-50%) rotate(45deg);
        border-right: 0.4vw solid;
        border-bottom: 0.4vw solid;
        transition: 0.3s;
    }
    #results .results-filter .filter-row .filter-head .filter-title{
        position: relative;
        display: block;
        max-width: none;
        width: 9.6vw;
        font-size: 4vw;
        font-family: "Albert Sans", sans-serif;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.07;
        padding: 0;
        color: #222222;
    }
    #results .results-filter .filter-row .filter-head .filter-title::before{
        position: absolute;
        top: 50%;
        right: -4.8vw;
        content: "";
        width: 1px;
        height: 8vw;
        transform: translateY(-50%);
        background-image: repeating-linear-gradient(to bottom, #000000 0px, #000000 1px, transparent 1px, transparent 4px);
        background-repeat: repeat-y;
        background-size: 1px 100%;
    }
    #results .results-filter .filter-row .filter-head .current-filter{
        display: block;
        flex: 1;
        font-size: 3.7333333333334vw;
        font-weight: 500;
        letter-spacing: 1px;
        color: #222222;
    }
    #results .results-filter .filter-row .filter-list{
        display: none;
        padding: 5.8666666666666666666vw;
        border: none;
        background-color: #F0F0F0;
        border-top: 1px dashed #222222;
    }
    #results .results-filter .filter-row .filter-list li{
        display: block;
        width: 100%;
        padding-right: 0;
        margin-right: 0;
        border-right: 0;
    }
    #results .results-filter .filter-row .filter-list li:last-child{
        padding: 0;
        margin: 0;
        border: none;
    }
    #results .results-filter .filter-row .filter-list li a{
        font-size: 3.733333333333334vw;
        margin: 0 0 5.33333333333334vw;
        color: #222222;
    }
    #results .results-filter .filter-row .filter-list li:last-of-type a{
        margin: 0;
    }
    #results .results-filter .tag-row{
        display: flex;
        gap: 10.666666666668vw;
        padding: 5.3333333333334vw 4.8vw;
    }
    #results .results-filter .tag-row .filter-title{
        position: relative;
        font-size: 4vw;
        max-width: none;
        width: 9.6vw;
        padding: 0;
    }
    #results .results-filter .tag-row .filter-title::before{
        position: absolute;
        top: -0.6666667vw;
        right: -4.8vw;
        content: "";
        width: 1px;
        height: 8vw;
        background-image: repeating-linear-gradient(to bottom, #000000 0px, #000000 1px, transparent 1px, transparent 4px);
        background-repeat: repeat-y;
        background-size: 1px 100%;
    }
    #results .results-filter .tag-row .tag-list{
        display: flex;
        gap: 2.133333333336vw 1.3333333333335vw;
        border: none;
        padding: 0;
    }
    #results .results-filter .tag-row .tag-list li{
        width: auto;
        padding: 0;
        margin: 0;
        border: none;
    }
    #results .results-filter .tag-row .tag-list li a{
        gap: 2.133333333336vw 1.3333333333333335vw;
        font-size: 2.666666666666667vw;
        padding: 1.86666666668vw 2.6666666666666667vw 1.86666666668vw;
        margin: 0;
    }
    #results .ctt .quantity{
        font-size: 2.93333333333vw;
        margin: 0 0 5.333333333333334vw;
    }
    #results .ctt .quantity span{
        font-size: 5.866666666666666vw;
        padding: 0 2vw 0 3.2vw;
    }
    #results .ctt .main_area .results-list{
        gap: 8vw;
    }   
    #results .ctt .main_area .results-list .item{
        max-width: none;
        width: 100%;
        padding: 5.3333333333333334vw;
    }
    #results .ctt .main_area .results-list .item .img{
        max-width: none;
        height: 53.3333333333333334vw;
        margin: 0 auto 4vw;
    }
    #results .ctt .main_area .results-list .item .txt .label{
        margin: 0 0 2.66666666666667vw;
    }
    #results .ctt .main_area .results-list .item .txt .label .cat{
        font-size: 2.66666666666666667vw;
        line-height: 1;
        padding: 1.33333333333335vw 3.4666666666666663vw;
    }
    #results .ctt .main_area .results-list .item .txt .label .date{
        font-size: 2.66666666666667vw;
    }
    #results .ctt .main_area .results-list .item .txt .ttl{
        font-size: 3.733333333333333334vw;
        line-height: 1.71;
        margin: 0;
    }
    #results .ctt .main_area .results-list .item .txt .info-area{
        padding-top: 4vw;
        margin-top: 4.8vw;
        gap: 5.33333333333334vw;
    }
    #results .ctt .main_area .results-list .item .txt .info-area .tags{
        gap: 2.66666666667vw;
    }
    #results .ctt .main_area .results-list .item .txt .info-area .tags .tag{
        font-size: 2.66666666666667vw;
    }
    #results .ctt .main_area .results-list .item .txt .info-area .prefecture{
        gap: 2.133333333333336vw;
        font-size: 2.666666666666666667vw;
    }
    #results .ctt .main_area .results-list .item .txt .info-area .prefecture::before{
        width: 3.2vw;
        height: 4.266666666666667vw;
    }
    #results .ctt .main_area .not-p{
        font-size: 4vw;
    }
}

/* NEWS お知らせ 一覧ページ
-----------------------------------------------　*/
#news .ctt{
    display: flex;
    gap: 235px;
    padding: 100px 0 135px;
    background-color: #F7F7F7;
    overflow: visible;
}
#news .ctt .main_area{
    display: block;
    max-width: 940px;
    width: 100%;
}
#news .ctt .item{
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 1px dashed #1A2C44;
}
#news .ctt .item:last-of-type{
    margin: 0;
}
#news .ctt .item:hover{
    opacity: 1;
}
#news .ctt .item .img{
    position: relative;
    width: 220px;
    height: 155px;
    overflow: hidden;
    border-radius: 3px;
    transition: all .3s;
    flex-shrink: 0;
}
#news .ctt .item .img img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    border-radius: 3px;
    transition: all .3s;
}
#news .ctt .item:hover .img img{
    transform: scale(1.1);
}
#news .ctt .item .txt{
    flex: 1;
    position: relative;
    max-width: 630px;
    width: 100%;
}
#news .ctt .item .txt::before{
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/top/btn_black_arrow.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    transition: all .3s;
}
#news .ctt .item:hover .txt::before{
    background-image: url(../img/top/btn_hover_red_arrow.png);
}
#news .ctt .item .txt .label{
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 10px;
}
#news .ctt .item .txt .label .date{
    font-size: 15px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    color: #222;
}
#news .ctt .item .txt .label .cat{
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    padding: 2px 11px 3px;
    color: #222;
    background-color: #fff;
    border: 1px solid #222;
    border-radius: 15px;
}
#news .ctt .item .txt .ttl{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.81;
    text-decoration: underline;
    padding-right: 50px;
    color: #222;
    transition: all .3s;
}
#news .ctt .item:hover .txt .ttl{
    color: #DF5B4C;
}
#news .ctt .main_area .not-p{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #222;
}
@media only screen and (max-width: 1600px) {
    #news .ctt{
        display: flex;
        justify-content: space-between;
        gap: 70px;
        padding: 100px 50px 135px 0;
    }
}
@media only screen and (max-width: 1440px) {
    #news .ctt .main_area{
        width: 65vw;
    }
}
@media only screen and (max-width: 768px) {
    #news .ctt{
        display: block;
        padding: 13.33333335vw 5.33333333334vw 16vw;
    }
    #news .ctt .quantity{
        margin: 0 0 10.6666666668vw;
    }
    #news .ctt .quantity p{
        font-size: 3.2vw;
        font-weight: 500;
        text-align: right;
        letter-spacing: 1px;
        line-height: 1;
        color: #222222;
    }
    #news .ctt .quantity p span{
        font-size: 6.4vw;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 0.83;
        padding: 0 2vw;
    }
    #news .ctt .main_area{
        max-width: none;
        width: 100%;
    }
    #news .ctt .item{
        display: flex;
        align-items: flex-start;
        gap: 3.2vw;
        padding: 0 0 6.66666666666667vw;
        margin: 0 0 6.6666666666666667vw;
    }
    #news .ctt .item .img{
        width: 21.333333333333333336vw;
        height: 15.2vw;
        margin: 0;
        flex-shrink: 0;
    }
    #news .ctt .item .img img{
        border-radius: 5px;
    }
    #news .ctt .item .txt{
        flex: 1;
        max-width: none;
    }
    #news .ctt .item .txt::before{
        width: 5.3333333333333334vw;
        height: 5.3333333333333334vw;
    }
    #news .ctt .item .txt .label{
        gap: 2.933333333333vw;
        margin: 0 0 2.666666667vw;
    }
    #news .ctt .item .txt .label .date{
        font-size: 2.9333333333333vw;
    }
    #news .ctt .item .txt .label .cat{
        font-size: 2.666666666666667vw;
        padding: 0.533333333333333vw 2.93333333333333vw 0.6666666666666667vw;
        border-radius: 10px;
    }
    #news .ctt .item .txt .ttl{
        font-size: 3.2vw;
        line-height: 1.67;
        padding-right: 9.33333333334vw;
    }
    #news .ctt .main_area .not-p{
        font-size: 4.2666666666666667vw;
    }
}

/* JOURNAL ドッグラボのモノ語り 一覧ページ
-----------------------------------------------　*/
#journal .results-filter{
    margin: 90px 0 50px;
    background-color: #F7F7F7;
}
#journal .results-filter .filter-row{
    display: flex;
    padding: 25px 0;
    border-top: 1px dashed #222222;
    border-bottom: 1px dashed #222222;
}
#journal .results-filter .filter-row .filter-title{
    display: block;
    max-width: 120px;
    width: 100%;
    font-size: 22px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    line-height: 1.12;
    color: #222222;
    flex-shrink: 0;
    padding: 10px 0 0;
}
#journal .results-filter .filter-row .current-filter,
#journal .results-filter .filter-row .arrow{
    display: none;
}
#journal .results-filter .filter-row .filter-list{
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 0;
    padding: 10px 45px;
    border-left: 1px dashed #000000;
}
#journal .results-filter .filter-row .filter-list li{
    padding-right: 30px;
    margin-right: 30px;
    border-right: 1px solid #B0B0B0;
}
#journal .results-filter .filter-row .filter-list li:last-child{
    padding: 0;
    margin: 0;
    border: none;
}
#journal .results-filter .filter-row .filter-list li a{
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.5;
    color: #B0B0B0;
}
#journal .results-filter .filter-row .filter-list li a:hover{
    opacity: 1;
    color: #222222;
}
#journal .results-filter .filter-row .filter-list li.is-active p,
#journal .results-filter .filter-row .filter-list li.is-active a{
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.17;
    color: #222222;
    pointer-events: none;
}
#journal .ctt{
    padding: 0 0 120px;
}
#journal .ctt .quantity{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.33;
    text-align: right;
    color: #222222;
    margin: 0 0 30px;
}
#journal .ctt .quantity span{
    font-size: 30px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    padding: 0 10px 0 15px;
    color: #222222;
}
#journal .ctt .results-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 40px 25px;
}
#journal .ctt .results-list .item{
    display: block;
    max-width: 415px;
    width: 100%;
    padding: 25px 25px 40px;
    background-color: #fff;
    border-radius: 10px;
}
#journal .ctt .results-list .item:hover{
    opacity: 1;
}
#journal .ctt .results-list .item .img{
    position: relative;
    width: 365px;
    height: 245px;
    overflow: hidden;
    border-radius: 5px; 
    margin: 0 auto 25px;
}
#journal .ctt .results-list .item .img img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    border-radius: 5px; 
    transition: all .3s;
}
#journal .ctt .results-list .item:hover .img img{
    transform: translate(-50%, -50%) scale(1.1);
}
#journal .ctt .results-list .item .txt .label{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px;
}
#journal .ctt .results-list .item .txt .label .cat{
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.69;
    padding: 4px 13px;
    color: #fff;
    background-color: #529370;
    border-radius: 100vw;
}
#journal .ctt .results-list .item .txt .label .date{
    font-size: 14px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
    color: #222;
}
#journal .ctt .results-list .item .txt .ttl{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.82;
    margin: 0;
    color: #222222;
}
#journal .ctt .results-list .item:hover .txt .ttl{
    text-decoration: underline;
}
@media only screen and (max-width: 768px) {
    #journal .results-filter{
        margin: 12vw 0 6.666666666666667vw;
    }
    #journal .results-filter .filter-row{
        display: block;
        padding: 0;
    }
    #journal .results-filter .filter-row .filter-title.pc{
        display: none;
    }
    #journal .results-filter .filter-row .filter-head{
        position: relative;
        display: flex;
        align-items: center;
        gap: 9.3333333333334vw;
        padding: 4.8vw;
    }
    #journal .results-filter .filter-row .filter-head::before{
        position: absolute;
        top: 50%;
        right: 5.33333333333334vw;
        content: "";
        display: inline-block;
        width: 1.6666666666666668vw;
        height: 1.6666666666666668vw;
        transform: translateY(-50%) rotate(45deg);
        border-right: 0.4vw solid;
        border-bottom: 0.4vw solid;
        transition: 0.3s;
    }
    #journal .results-filter .filter-row .filter-head .filter-title{
        position: relative;
        display: block;
        max-width: none;
        width: 9.6vw;
        font-size: 4vw;
        font-family: "Albert Sans", sans-serif;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.07;
        padding: 0;
        color: #222222;
    }
    #journal .results-filter .filter-row .filter-head .filter-title::before{
        position: absolute;
        top: 50%;
        right: -4.8vw;
        content: "";
        width: 1px;
        height: 8vw;
        transform: translateY(-50%);
        background-image: repeating-linear-gradient(to bottom, #000000 0px, #000000 1px, transparent 1px, transparent 4px);
        background-repeat: repeat-y;
        background-size: 1px 100%;
    }
    #journal .results-filter .filter-row .filter-head .current-filter{
        display: block;
        flex: 1;
        font-size: 3.7333333333334vw;
        font-weight: 500;
        letter-spacing: 1px;
        color: #222222;
    }
    #journal .results-filter .filter-row .filter-list{
        display: none;
        padding: 5.8666666666666666666vw;
        border: none;
        background-color: #F0F0F0;
        border-top: 1px dashed #222222;
    }
    #journal .results-filter .filter-row .filter-list li{
        display: block;
        width: 100%;
        padding-right: 0;
        margin-right: 0;
        border-right: 0;
    }
    #journal .results-filter .filter-row .filter-list li:last-child{
        padding: 0;
        margin: 0;
        border: none;
    }
    #journal .results-filter .filter-row .filter-list li.is-active p, #journal .results-filter .filter-row .filter-list li.is-active a{
        font-size: 3.733333333333334vw;
    }
    #journal .results-filter .filter-row .filter-list li a{
        font-size: 3.733333333333334vw;
        margin: 0 0 5.33333333333334vw;
        color: #222222;
    }
    #journal .results-filter .filter-row .filter-list li:last-of-type a{
        margin: 0;
    }
    #journal .ctt{
        padding: 0 0 21.33333333333336vw;
    }
    #journal .ctt .quantity{
        font-size: 2.93333333333vw;
        margin: 0 0 5.333333333333334vw;
    }
    #journal .ctt .quantity span{
        font-size: 5.866666666666666vw;
        padding: 0 2vw 0 3.2vw;
    }
    #journal .ctt .results-list{
        gap: 8vw;
    }
    #journal .ctt .results-list .item{
        max-width: none;
        padding: 5.3333333334vw 5.333333333333334vw 8vw;
        border-radius: 5px;
    }
    #journal .ctt .results-list .item .img{
        width: 80vw;
        height: 53.33333333333333333333336vw;
        margin: 0 auto 5.333333333333334vw;
    }
    #journal .ctt .results-list .item .txt .label{
        margin: 0 0 5.33333333333333334vw;
    }
    #journal .ctt .results-list .item .txt .label .cat{
        font-size: 2.9999999999999999993vw;
        padding: 0.53333333333333vw 2.9333333333333vw;
    }
    #journal .ctt .results-list .item .txt .label .date{
        font-size: 3.2vw;
    }
    #journal .ctt .results-list .item .txt .ttl{
        font-size: 4.26666666666666667vw;
        line-height: 1.82;
    }
}



/* FAQ よくある質問 一覧ページ
-----------------------------------------------　*/
#faq .ctt{
    display: flex;
    gap: 230px;
    padding: 150px 0 140px;
    background-color: #F7F7F7;
    overflow: visible;
}
#faq .ctt .main_area{
    display: block;
    max-width: 950px;
    width: 100%;
}
#faq .ctt .main_area .cat-item{
    padding: 140px 0 0;
    margin: -140px 0 100px;
}
#faq .ctt .main_area .cat-item:last-of-type{
    margin: -140px 0 0;
}
#faq .ctt .main_area .cat-item .cat-ttl{
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 50px;
    color: #2D2D2D;
}
#faq .ctt .main_area .cat-item .cat-ttl::before{
    content: "";
    width: 14px;
    height: 14px;
    background-color: #529370;
    border-radius: 50%
}
#faq .ctt .main_area .cat-item .cat-article{
    display: block;
}
#faq .ctt .main_area .cat-item .cat-article dl{
    display: block;
    width: 100%;
    padding: 30px 25px;
    margin: 0 0 15px;
    background-color: #fff;
    border-radius: 10px;
}
#faq .ctt .main_area .cat-item .cat-article dl:last-of-type{
    margin: 0;
}
#faq .ctt .main_area .cat-item .cat-article dl dt,
#faq .ctt .main_area .cat-item .cat-article dl dd{
    position: relative;
    display: flex;
    align-items: center;
    gap: 25px;
}
#faq .ctt .main_area .cat-item .cat-article dl dd{
    display: none;
    padding: 30px 0 10px;
}
#faq .ctt .main_area .cat-item .cat-article dl dd .flex{
    display: flex;
    align-items: flex-start;
    gap: 25px;
}
#faq .ctt .main_area .cat-item .cat-article dl dt p{
    flex: 1;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.5;
    padding-right: 35px;
    color: #222;
}
#faq .ctt .main_area .cat-item .cat-article dl dd p{
    flex: 1;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.87;
    color: #222222;
}
#faq .ctt .main_area .cat-item .cat-article dl dd p a{
    position: relative;
    display: block;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 1px;
    line-height: 1.25;
    max-width: 250px;
    width: 100%;
    margin: 20px 0 0;
    padding: 18px 0 20px;
    color: #FFFFFF;
    background-color: #222222;
    border-radius: 100vw;
}
#faq .ctt .main_area .cat-item .cat-article dl dd p a::before{
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/top/btn_white_arrow.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
#faq .ctt .main_area .cat-item .cat-article dl dd p a:hover{
    opacity: 1;
    background-color: #DF5B4C;
}
#faq .ctt .main_area .cat-item .cat-article dl dd p a:hover::before{
    background-image: url(../img/top/btn_red_arrow.png);
}
#faq .ctt .main_area .cat-item .cat-article dl dt .plus{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #639B76;
    border-radius: 50%;
}
#faq .ctt .main_area .cat-item .cat-article dl dt .plus::before,
#faq .ctt .main_area .cat-item .cat-article dl dt .plus::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 12px;
    height: 2px;
    margin: auto;
    background: #fff;
    transition: 0.3s;
}
#faq .ctt .main_area .cat-item .cat-article dl dt .plus::after{
    transform: rotate(90deg);
}
#faq .ctt .main_area .cat-item .cat-article dl dt.is-open .plus::after{
    transform: rotate(0deg);
}
#faq .ctt .main_area .cat-item .cat-article dl dt .q,
#faq .ctt .main_area .cat-item .cat-article dl dd .a{
    font-size: 27px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
}
#faq .ctt .main_area .cat-item .cat-article dl dt .q{
    color: #529370;
}
#faq .ctt .main_area .cat-item .cat-article dl dd .a{
    color: #CF6541;
}
@media only screen and (max-width: 1600px) {
    #faq .ctt{
        gap: 100px;
        padding: 100px 0 90px;
    }
}
@media only screen and (max-width: 768px) {
    #faq .ctt{
        display: block;
        padding: 8vw 5.33333333333334vw 16vw;
    }
    #faq .ctt .main_area{
        max-width: none;
    }
    #faq .ctt .main_area .cat-item{
        padding: 19vw 0 0;
        margin: -19vw 0 16vw;
    }
    #faq .ctt .main_area .cat-item:last-of-type{
        margin: -19vw 0 0;
    }
    #faq .ctt .main_area .cat-item .cat-ttl{
        gap: 3.2vw;
        font-size: 4vw;
        letter-spacing: 1px;
        line-height: 1;
        margin: 0 0 5.33333333333334vw;
    }
    #faq .ctt .main_area .cat-item .cat-ttl::before{
        width: 2.13333333333333336vw;
        height: 2.13333333333333336vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl{
        padding: 4vw 4vw 5.333333333334vw;
        margin: 0 0 3.2vw;
        border-radius: 5px;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dt,
    #faq .ctt .main_area .cat-item .cat-article dl dd{
        gap: 2.133333333333336vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dd{
        padding: 5.3333333333333334vw 0 0;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dd .flex{
        gap: 2.133333333333336vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dt p{
        font-size: 3.466666666666666663vw;
        padding-right: 4.8vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dd p{
        font-size: 3.466666666666663vw;
        line-height: 1.62;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dd p a{
        font-size: 3.733333333333333334vw;
        max-width: 58.6666666666666666vw;
        margin: 4vw 0 0;
        padding: 3.2vw 0 3.72333333333333334vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dd p a::before{
        width: 4.8vw;
        height: 4.8vw;
        right: 4vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dt .plus{
        width: 4.26666666666666667vw;
        height: 4.26666666666666667vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dt .plus::before,
    #faq .ctt .main_area .cat-item .cat-article dl dt .plus::after{
        width: 2vw;
        height: 0.5333333333333334vw;
    }
    #faq .ctt .main_area .cat-item .cat-article dl dt .q,
    #faq .ctt .main_area .cat-item .cat-article dl dd .a{
        font-size: 4vw;
    }
}


/* SOLUTION ソリューション
-----------------------------------------------　*/
#solution .info-area{
    position: relative;
    padding: 120px 0 60px;
    background-color: #F7F7F7;
}
#solution .info-area .flex-txt{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 95px;
    margin: 0 0 45px;
    color: #222222;
    border-bottom: 1px dashed #222;
}
#solution .info-area .flex-txt h2{
    font-size: 35px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.31;
    flex-shrink: 0;
}
#solution .info-area .flex-txt .note{
    display: block;
    max-width: 645px;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.61;
}
#solution .info-area .pagelink-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 15px 10px;
    margin: 0 0 110px;
}
#solution .info-area .pagelink-list li a{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.67;
    padding: 12px 20px;
    color: #171717;
    background-color: #BBC2C4;
    border: 1px solid #000000;
    border-radius: 2px;
}
#solution .info-area .text-slider{
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
}
#solution .info-area .text-slider .slide-track {
    display: flex;
    align-items: center;
    gap: 25px;
    width: max-content;
    animation: slide 35s linear infinite;
}
@keyframes slide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
#solution .info-area .text-slider .slide-track .slide-item {
    display: flex;
    align-items: center;
    gap: 25px;
    white-space: nowrap;
}
#solution .info-area .text-slider .slide-track .slide-item span{
    display: block;
    font-size: 75px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.07;
    color: #222222;
}
#solution .info-area .text-slider .slide-track .slide-item img{
    display: block;
    max-width: 120px;
    width: 100%;
    border-radius: 5px;
}
@media only screen and (max-width: 768px) {
    #solution .info-area{
        padding: 16vw 0 13.333333333335vw;
    }
    #solution .info-area .flex-txt{
        display: block;
        padding: 0 0 13.333333333335vw;
        margin: 0 0 9.33333333333334vw;
    }
    #solution .info-area .flex-txt h2{
        font-size: 6.666666666666667vw;
        margin: 0 0 5.3333333334vw;
    }
    #solution .info-area .flex-txt .note{
        max-width: none;
        width: 100%;
        font-size: 4vw;
    }
    #solution .info-area .pagelink-list{
        gap: 2.666666666667vw;
        margin: 0 0 10.66666668vw;
    }
    #solution .info-area .pagelink-list li a{
        font-size: 4vw;
        padding: 1.333333335vw 2vw;
    }
    #solution .info-area .text-slider .slide-track {
        gap: 3.733333333334vw;
    }
    #solution .info-area .text-slider .slide-track .slide-item {
        gap: 3.7333333333333334vw;
        white-space: nowrap;
    }
    #solution .info-area .text-slider .slide-track .slide-item span{
        font-size: 10.666666666668vw;
    }
    #solution .info-area .text-slider .slide-track .slide-item img{
        max-width: 16.8vw;
    }
}

#solution .article-ctt{
    padding: 90px 0 150px;
    background-color: #333333;
}
#solution .article-ctt .article-list{
    max-width: 1620px;
    width: 100%;
    padding: 0 10px;
    margin: 0 auto;
}
#solution .article-ctt .item{
    display: block;
    background-color: #C5CCCE;
    border-radius: 5px;
    padding: 100px 0 90px;
    margin: 0 0 50px;
    scroll-margin-top: 140px;
}
#solution .article-ctt .item:last-of-type{
    margin: 0;
}
#solution .article-ctt .item .ttl{
    display: flex;
    align-items: center;
    font-size: 50px;
    font-weight: 600;
    letter-spacing: 0;
    padding: 0 12px;
    margin: 0 0 40px;
    color: #222222;
}
#solution .article-ctt .item .ttl img{
    display: block;
    margin: 5px 0 0 5px;
}
#solution .article-ctt .item .ctt{
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
#solution .article-ctt .item .ctt .img{
    display: block;
    max-width: 620px;
    width: 100%;
    flex-shrink: 0;
}
#solution .article-ctt .item .ctt .img .solution-gallery-main{
    display: none;
}
#solution .article-ctt .item .ctt .img .image{
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 30px;
    border: none;
    border-radius: 5px;
    outline: none;
    background: transparent;
}
#solution .article-ctt .item .ctt .img .image:last-of-type{
    margin: 0;
}
#solution .article-ctt .item .ctt .img .image img{
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #222222;
    border-radius: 5px;
}
#solution .article-ctt .item .ctt .txt{
    display: block;
    max-width: 600px;
    width: 100%;
    color: #222222;
}
#solution .article-ctt .item .ctt .txt .label{
    display: block;
    font-size: 16px;
    font-family: "Albert Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.87;
    margin: 0 0 25px;
}
#solution .article-ctt .item .ctt .txt .sub-txt{
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 1%;
    line-height: 1.33;
    margin: 0 0 35px;
}
#solution .article-ctt .item .ctt .txt dl{
    display: block;
    margin: 0 0 40px;
}
#solution .article-ctt .item .ctt .txt dl:last-of-type{
    margin: 0;
}
#solution .article-ctt .item .ctt .txt dl dt{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1%;
    line-height: 1.47;
    margin: 0 0 15px;
}
#solution .article-ctt .item .ctt .txt dl dd.textarea-p{
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.67;
}
#solution .article-ctt .item .ctt .txt dl dd.features-list{
    padding: 20px;
    background-color: #E2E6E7;
    border: 1px solid #222222;
    border-radius: 5px;
}
#solution .article-ctt .item .ctt .txt dl dd.features-list ul li{
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 2.33;
}
#solution .article-ctt .item .ctt .txt dl dd.intro-list ul li{
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 1%;
    line-height: 1.53;
    margin: 0 0 10px;
    color: #222222;
}
#solution .article-ctt .item .ctt .txt dl dd.intro-list ul li:last-child{
    margin: 0;
}
#solution .article-ctt .item .ctt .txt dl dd.intro-list ul li::before{
    content: "";
    width: 14px;
    height: 11px;
    background-image: url(../img/archive/solution-check-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media only screen and (max-width: 1440px) {
    #solution .article-ctt .item .ctt .img{
        width: 43vw;
    }
}
@media only screen and (max-width: 768px) {
    #solution .article-ctt{
        padding: 16vw 0;
    }
    #solution .article-ctt .article-list{
        max-width: none;
        padding: 0 5.3333333333334vw;
    }
    #solution .article-ctt .item{
        padding: 8vw 0;
        margin: 0 0 8vw;
        scroll-margin-top: 21.33333333333336vw;
    }
    #solution .article-ctt .item .ttl{
        flex-wrap: wrap;
        font-size: 5.3333333333334vw;
        padding: 0;
        margin: 0 0 5.33333333333334vw;
    }
    #solution .article-ctt .item .ttl img{
        display: block;
        max-width: 10.66666666668vw;
        margin: 0.5333333333333vw 0 0 1.3333333333333333335vw;
    }
    #solution .article-ctt .item .ctt{
        display: block;
    }   
    #solution .article-ctt .item .ctt .img{
        max-width: none;
        width: 100%;
    }
    #solution .article-ctt .item .ctt .img .solution-gallery-main{
        display: block;
        margin: 0 0 4vw;
    }
    #solution .article-ctt .item .ctt .img .solution-gallery-main img{
        width: 100%;
        height: auto;
    }
    #solution .article-ctt .item .ctt .img .solution-gallery-list{
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 2.666666666667vw;
        margin: 0 0 5.33333333334vw;
    }
    #solution .article-ctt .item .ctt .img .image{
        max-width: 24vw;
        width: 100%;
        height: auto;
        margin: 0;
    }
    #solution .article-ctt .item .ctt .img .image img{
        border: none;
        border-radius: 5px;
        width: 100%;
        height: auto;
    }
    #solution .article-ctt .item .ctt .img .image.is-active{
        border: 1px solid #222;
    }
    #solution .article-ctt .item .ctt .txt{
        max-width: none;
    }
    #solution .article-ctt .item .ctt .txt .label{
        font-size: 3.2vw;
        margin: 0 0 3.2vw;
    }
    #solution .article-ctt .item .ctt .txt .sub-txt{
        font-size: 4.8vw;
        margin: 0 0 6.666666666666667vw;
    }
    #solution .article-ctt .item .ctt .txt dl{
        margin: 0 0 8vw;
    }
    #solution .article-ctt .item .ctt .txt dl dt{
        font-size: 4.2666666667vw;
        margin: 0 0 2.666666666667vw;
    }
    #solution .article-ctt .item .ctt .txt dl dd.textarea-p{
        font-size: 4vw;
    }
    #solution .article-ctt .item .ctt .txt dl dd.features-list{
        padding: 2.66666666666667vw;
    }
    #solution .article-ctt .item .ctt .txt dl dd.features-list ul li{
        font-size: 3.733333333333333334vw;
    }
    #solution .article-ctt .item .ctt .txt dl dd.intro-list ul li{
        gap: 2.66666666666667vw;
        font-size: 4vw;
        margin: 0 0 2.66666666667vw;
    }
    #solution .article-ctt .item .ctt .txt dl dd.intro-list ul li::before{
        width: 3.466666666666663vw;
        height: 2.666666666666667vw;
    }
}
