    /*
    Theme Name: my-happilyphoto
    Description:happilyphoto.jpの自作テーマです。
    Theme URI: http://theme.hogehoge.com
    Author: fukuda
    Author URI: http://create.hukuda_hoge.com
    Version: 0.1
    License: ライセンス
    License URI: ライセンスの URL
    */


/* gpBenefits
------------------------------------------------------- */
.gpBenefits .ttl{
    height: 80px;
    line-height: 80px;
    background-color: #857465;
    text-align: center;
    color: #fff;
    font-size: 44px;
    font-weight: bold;
}

.benefitsClm{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px;
    background-color: #e4dfd7;
}

.benefitsClm .clm{
    position: relative;
    padding: 30px 20px;
    background-color: #fff;
    box-sizing: border-box;
}

.benefitsClm .clm:nth-child(1){width: 100%;}
.benefitsClm .clm:nth-child(n+2){
    width: 540px;
    margin-top: 30px;
}

.benefitsClm .clm .number{
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    height: 108px;
    line-height: 48px;
    padding: 5px 28px;
    background-color: #f7618f;
    color: #fff;
    font-size: 26px;
    text-align: center;
    box-sizing: border-box;
    z-index: 2;
}

.benefitsClm .clm .number > span{
    display: block;
    font-size: 52px;
    font-weight: bold;
}

.benefitsClm .clm .imgArea{
    display: flex;
    justify-content: space-between;
}

.benefitsBalloon{
    display: inline-block;
    position: relative;
    left: 50%;
    bottom: 30px;
    padding: 8px 30px;
    border-radius: 20px;
    background-color: #f7618f;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    transform: translateX(-50%);
}

.benefitsBalloon::after{
    display: block;
    position: absolute;
    content: "";
    bottom: -14px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 14px solid #f7618f;
    border-bottom: 0;
    transform: translateX(-50%);
}

.benefitsTtl{
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 34px;
    font-weight: bold;
    color: #4f4e4e;
    text-align: center;
}

.benefitsTtl::after{
    display: block;
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    width: 70px;
    height: 5px;
    background-color: #fb7686;
    transform: translateX(-50%);
}

@media only screen and (max-width:640px){
    .gpBenefits .ttl{
        height: 50px;
        line-height: 50px;
        font-size: 24px;
    }

    .benefitsClm{padding: 15px;}
    .benefitsClm .clm{padding: 15px 10px;}

    .benefitsClm .clm:nth-child(-n+3){width: 100%;}
    .benefitsClm .clm:nth-child(n+2){margin-top: 20px;}

    .benefitsClm .clm .number{
        height: 72px;
        line-height: 30px;
        padding: 5px 20px;
        font-size: 16px;
    }

    .benefitsClm .clm .number > span{font-size: 30px;}
    .benefitsClm .clm .imgArea img{width: 100%;}

    .benefitsBalloon{
        bottom: 20px;
        padding:6px 20px;
        font-size: 16px;
    }

    .benefitsTtl{
        padding: 3px;
        font-size: 24px;
    }

    .benefitsTtl::after{height: 3px;}
}