@charset "utf-8";

/* ------------------------------------------------------------
    フコク生命 みらいのつばさLP
    /lp/fukoku/20181108
------------------------------------------------------------ */

/* 共通
------------------------------------------------------------ */
html {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings : "palt";
}
.contents{
    width:100%;
    max-width:640px;
    margin:0 auto 40px;
}
.contents img {
  max-width: 100%;
  height: auto;
}
.btnArea{
    text-align:center;
}
.btnArea{
  margin:20px 0;
}

/* 注記 */
.att,
.att-in{
    margin:10px 0;
    font-size:0.75em;
    line-height:1.4;
    text-align:center;
}
.attention {
    font-size: 14px;
    margin: 0 15px;
}

/* マージン下 */
.mb20{
    margin-bottom:20px;
}

/* clearfix */
    .cf:after {
        visibility: hidden;
        display: block;
        content: " ";
        clear: both;
        height: 0;
    }
    * html .cf {
        zoom: 1;
    }
    /* IE6 */
    *:first-child + html .cf{
        zoom: 1;
    }
    /* IE7 */
    * + html * {
        zoom: 1;
    }

/* メインヴィジュアル
------------------------------------------------------------ */
.ttl_box p{
    padding:5px 0;
    text-align:center;
    font-weight:bold;
    color:#fff;
    background:#e5004f;
}
.mv{
    padding-bottom:10px;
    background: url(images/mv_bg.png) center top no-repeat;
    background-size:100%;
}

/* cause --------------------------------------------------- */
.cause,
.summary{
    background: url(images/cause_bg.png) center top repeat-y;
    background-size:100%;
}
ul.cause_voice{
    background: url(images/cause_img.png) left top no-repeat;
    background-size:100%;
}
    ul.cause_voice li{
        text-align:right;
    }
    ul.cause_voice li img{
        width:55%;
        max-width:350px;
    }
.cause_point{
    position:relative;
    height: auto;
    margin-bottom:30px;
    padding-bottom:2%;
    background:#00ccbb;
}
    .cause_point:before {
        content: "";
        display: block;
        padding-top: 15%;
    }
    .cause_point h3{
        position: absolute;
        top:-10px;
        left:0;
        width:100%;
        height:100%;
    }
    .cause_point .description{
        margin:0 auto;
        padding:10px;
        width:96%;
        font-size:1.2em;
        border-radius: 20px;
        background:#fff;
    }
    .cause_point .description p{
         padding:0 2%;
    }
        .cause_point .description span{
            font-weight:bold;
            color:#ff1663;
        }
        .cause_point .description span.step{
            color:#fe6c0c;
        }
        .cause_point .description span.jump{
            color:#f16caa;
        }
        .cause_point .description p.att{
            margin:5px 2% 0;
            text-align:left;
            padding-left: 1em;
            text-indent: -1em;
        }
    .cause_point .comment{
        position:relative;
        height:100%;
    }
     .cause_point .comment:before {
        content: "";
        display: block;
        padding-top: 5%;
    }
    .cause_point .comment img{
        position: absolute;
        left:0;
        bottom:0;
        vertical-align:bottom;
    }
    .cause_point .comment .comment_txt{
        float:right;
        width:78%;
        height:100%;
    }
    .cause_point .comment .comment_txt p{
        position:relative;
        margin-bottom:0;
        padding:4%;
        border: 1px solid #d1c0a5;
        border-radius: 10px;
        background:#fff;
    }
    .cause_point .comment .comment_txt p:before{
        content: '';
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        left: -20px;
        bottom: 15px;
        border-right: 20px solid #d1c0a5;
        border-top: 12px solid transparent;
        border-bottom: 2px solid  #d1c0a5;
    }
    .cause_point .comment .comment_txt p:after{
        content: '';
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        left: -18px;
        bottom: 15px;
        border-right: 20px solid #fff;
        border-top: 12px solid transparent;
        border-bottom: 2px solid  #d1c0a5;
    }
    
/* return --------------------------------------------------- */
.return{
    background: url(images/return_bg.png) center top repeat-y;
    background-size:100%;
}
.return h4{
    background:#eb6d9a;
}
    .return_text{
        margin:0 auto 20px;
        width:85%;
        font-size:1.2em;
        line-height:1.4;
    }
        .return_text span{
            font-weight:bold;
            color:#ff0000;
            text-decoration:underline;
        }
    .return_anq{
        margin:0 auto 40px;
        padding:20px 0 0;
        width:85%;
        font-size:0.75em;
        border-top: 1px solid #fff;
    }
    
/* salect2plan ---------------------------------------------- */
    .salect2plan{
        margin-bottom: 40px;
        background:#00cccc;
    }

/* ---------------------------------------------------------- */



@media screen and (min-width: 550px) {
     .cause_point .comment:before {
        padding-top: 8%;
    }
}
@media screen and (min-width: 900px) {
     .cause_point .comment:before {
        padding-top: 5%;
    }
}
@media screen and (max-width: 520px) {
       .att{
           font-size:0.5em;
           letter-spacing:-1px;
       }
       .cause_point .description{
           font-size:1em;
       }
       .cause_point .description p.att{
           font-size:0.8em;
       }
}
