@charset "UTF-8";
/* service machi_futo CSS */
.sec-machi_futo{
    container-type: inline-size;
    container-name: machi_futo;
}

.machi-itemlist{
    gap: 20px;
}
.machi-itemlist li{
    width: calc(33.3333% - 13.3333px);
    background-color: var(--bg-card);
    box-shadow: 1px 1px 5px rgb(0 0 0/0.1);
    border-radius: 10px;
    overflow: hidden;
    z-index: 0;
    position: relative;
}

.machi-itemlist li:before{
    content: "";
    display: block;
    width: 130px;
    height: 130px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -2;
}
.machi-itemlist li.is-black:before{
    background-image: url(../../img/service/img-machi_futo_black.png);
}
.machi-itemlist li.is-fullcolor:before{
    background-image: url(../../img/service/img-machi_futo_full-color-noicon.png);
}
.machi-itemlist li.is-single:before{
    background-image: url(../../img/service/img-machi_futo_1-color.png);
}

.machi-itemlist li.has-newicon:after{
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 10px;
    left: 10px;
    background-image: url(../../img/service/icon-machi_newitem.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

.machi-itemlist li>a{
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: end;
    padding: 15px 20px;
}

.machi-item-name,
.price-note{
    text-align: end;
}

.price-note .hasborder{
    position: relative;
    padding-bottom: 11px;
}
.price-note .hasborder::before{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #666;
    position: absolute;
    bottom: 6px;
    right: 0;
}

.price-note-only{
    display: none;
}

.price{
    align-items: baseline;
}

.price-main,
.price-sub{
    letter-spacing: -0.02em;
    position: relative;
}
.price-main::before{
    content: "＠";
    font-size: 50%;
    position: absolute;
    bottom: 5px;
    right: 100%;
}
.price-sub::before{
    content: "税込";
    font-size: 50%;
    position: absolute;
    top: -1.2em;
    right: 0;
}

.machi-glossary{
    text-align: center;
    background-color: #faf2ca;
    padding: 20px;
    border-radius: 10px 10px 0 0;
}

.wht-box.machi-content{
    border-radius: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.machi-merit-item{
    gap: 30px;
}
.machi-merit-item .merit-txt{
    flex: 1;
}
.merit-ttl{
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 15px;
}
.machi-merit-item .merit-img{
    width: 40%;
    min-width: 220px;
}

.machi-commonlist > li{
    position: relative;
    padding-left: 15px;
    padding-bottom: 10px;
    line-height: 1.4;
}
.machi-commonlist > li:last-of-type{
    padding-bottom: 0;
}
.machi-commonlist > li::before{
    content: "";
    display: block;
    background-color: var(--text-main);
    width: 10px;
    height: 10px;
    border-radius: 10px;
    position: absolute;
    top: 6px;
    left: 0;
}

.recs-industry{
    background-color: #faf2ca;
    padding: 30px 30px 50px;
}

.recs-listarea{
    gap: 20px;
}
.recs-list{
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    width: calc(33.3333% - 13.3333px);
}
.recs-list>dt{
    display: flex;
    align-items: center;
    min-height: 2.8em;
    line-height: 1.2;
}
.recs-list .recs-txt{
    flex: 1;
}
.recs-list .recs-img{
    border-radius: 10px;
    overflow: hidden;
}


@media (min-width:768px){
    .machi-itemlist li{
        transition: all 0.3s ease;
    }
    .machi-itemlist li:hover{
        box-shadow: 5px 5px 12px rgba(0 0 0/0.1);
        transform: translateY(-2px);
    }
}

@container machi_futo (max-width:860px){
    .price-note-only{
        display: block;
    }
}

@container machi_futo (max-width:800px){
    .machi-itemlist li:before {
        width: 120px;
        height: 120px;
    }
    .recs-industry {
        padding: 20px 20px 30px;
    }
    .machi-glossary{
        text-align: left;
    }
}

@container machi_futo (max-width:700px){
    .machi-itemlist {
        gap: 10px;
    }
    .machi-itemlist li {
        width: calc(33.3333% - 6.6666px);
    }
    .machi-itemlist li:before {
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
    }
    .machi-itemlist li>a {
        align-items: center;
        padding: 130px 10px 15px 10px;
    }
    .machi-item-name, .price-note {
        text-align: center;
    }
    .price-note-only {
        display: none;
    }
}

@container machi_futo (max-width:650px){
    .machi-merit-item {
        gap: 15px;
    }
    .machi-merit-item .merit-txt {
        flex: auto;
    }
    .machi-merit-item .merit-img {
        width: 100%;
        max-width: 250px;
    }
    .recs-list{
        width: 100%;
        align-items: start;
        position: relative;
        padding: 20px 0 20px 190px;
        min-height: 132px;
    }
    .recs-list .recs-img{
        width: 168px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    .recs-list>dt {
        min-height: auto;
    }
}

@container (max-width: 550px) and (min-width: 450px) {
    .price-note-only {
        display: block;
    }
    .machi-item-name {
        font-size: 100%;
    }
}

@container machi_futo (max-width:450px){
    .machi-itemlist {
        max-width: 340px;
        margin: 0 auto;
    }
    .machi-itemlist li {
        width: 100%;
    }
    .machi-itemlist li>a {
        align-items: start;
        padding: 10px 15px 10px 150px;
    }
    .machi-itemlist li:before {
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
    }
    .machi-item-name, .price-note {
        text-align: start;   
    }
    .price-main {
        margin-left: 0.5em;
    }

    .recs-listarea {
        gap: 30px;
    }
    .recs-list {
        align-items: center;
        padding: 0;
        min-height: auto;
    }
    .recs-list .recs-img {
        width: 100%;
        max-width: 250px;
        position: relative;
        top: 0;
        transform: none;
    }

    .contact-area{
        padding: 20px 0;
    }
}