@charset "utf-8";

/*----------------------------------------------------------------------------
   expression
------------------------------------------------------------------------------*/

.subvisual .subvisual-wrap {
    background-image: url("../image/service/visualpc.png");
}
@media screen and (max-width:1200px) {
    .subvisual .subvisual-wrap {
        background-image: url("../image/service/visual.jpg");
    }
}

.heading {
    margin-bottom: 1em;
    text-align: center;
}
.heading::before {
    content: "";
    display: block;
    width: 60px;
    height: 6px;
    margin: 0 auto 16px;
    border-radius: 3px;
    background-color: #3c92e2;
}

/* greet */
#greet {
    margin-bottom: 84px;
    text-align: center;
}
#greet .fs-m {
    margin-bottom: 1.5em;
}
#greet p {
    letter-spacing: .2ex;
    line-height: 1.8;
}

/* point */
#point {
    margin-bottom: 84px;
}

#point .point-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 96px;
}

#point .point {
    width: calc(25% - 18px);
    position: relative;
}

#point .point .number {
    display: inline-block;
    position: absolute;
    left: -32px;
    top: -62px;
    width: 124px;
    height: 112px;
    background-image: url("../image/home/about-dogpad.png");
    background-repeat: no-repeat;
    font-size: 33px;
    font-weight: bold;
    color: #fff;
    text-shadow: none;
    text-align: center;
    line-height: 164px;
}

#point .point b {
    display: block;
    text-align: center;
    line-height: 1.2;
    margin: .75em 0;
}

#point .point p {
    line-height: 1.8;
    letter-spacing: .2ex;
}

@media screen and (max-width:1120px) {
    #point {
        height: auto;
        padding-top: 48px;
    }
    
    #point .point-wrap {
        flex-wrap: wrap;
        max-width: 660px;
        margin-left: auto;
        margin-right: auto;
    }

    #point .point {
        width: calc(50% - 12px);
        max-width: 300px;
        margin-bottom: 84px;
        text-align: center;
    }
    
    #point .point p {
        text-align: left;
    }
}

/* price */
#price {
    margin-bottom: 96px;
}

#price .price-list {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 24px;    
}
@media screen and (max-width:1120px) {
    #price .price-list {
        grid-template-columns: repeat(2,1fr);
        max-width: 660px;
        margin-left: auto;
        margin-right: auto;
        gap: 48px;
    }
}
#price .price-thumnail img {
    display: block;
    border-radius: 12px;
    overflow: hidden;
}
#price .price-thumnail h3 {
    margin: 1em 0 0.25em;
}
#price .price-thumnail h3 span {
    display: inline-block;
    position: relative;
}
#price .price-thumnail h3 span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    z-index: -1;
    display: block;
    width: 100%;
    height: 6px;
    background-color: #4ebfcf;
}
#price .price-note {
    margin-top: 36px;
    text-align: center;
}
.ua-sp #price .price-note {
    text-align: left;
}
.ua-sp #price .price-note .txtId {
    display: inline;
}

/* encount */
#encount {
    margin-bottom: 84px;
}
#encount p {
    text-align: center;
}
.ua-sp #encount p {
    text-align: left;
}


/* afterfollow */
#afterfollow {
    margin-bottom: 84px;
}

#afterfollow .soudanbanner {
    margin: 0 auto 36px;
    text-align: center;
}

#afterfollow .caution {
    max-width: 900px;
    padding: 36px 48px;
    margin: 0 auto;
    background-color: #FEFAFB;
    border: 3px solid #E11535;
    box-sizing: border-box;
    color: #E11535;
    text-align: center;
}
#afterfollow .caution strong {
    display: block;
    margin-bottom: .5em;
}

#gallery .gallery-list {
    display: flex;
    flex-wrap: wrap;
}

#gallery .photo {
    position: relative;
    width: calc(25% - 18px);
    border-radius: 12px;
    margin-bottom: 24px;
    margin-right: 24px;
    overflow: hidden;
}
#gallery .photo:nth-child(4n) {
    margin-right: 0;
}
#gallery .photo a img {
    transition: .2s;
}
#gallery .photo a:hover img {
    transform: scale(1.1);
}

@media screen and (max-width:1000px) {
    #gallery .photo {
        width: calc(50% - 24px);
        margin-bottom: 48px;
        margin-right: 48px;
    }
    #gallery .photo:nth-child(even) {
        margin-right: 0;
    }
}








