/*----- 3カラムカードレイアウト----*/

/* カードレイアウト部分をラッピングし、
Flexboxを指定"space-between"で各アイテムを均等に配置し、
最初と最後のアイテムを端に寄せます。*/
#cardlayout-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 0.5em auto;
    /*    max-width: 960px;*/
    max-width: 90%;
    /*1140px*/
    width: 90%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

/* リンクテキストの下線を非表示 */
a.card-link {
    text-decoration: none;
}

.card-list dl {
    display: flex;
    /*必須*/
    flex-wrap: wrap;
    width: 100%;
}


.card-list dt,
dd {
    width: 50%;
    background-color: #fff;
    padding: 0;
    /*必須*/
    margin: 0;
    /*必須*/
}

.card-list dd {
    background-color: #00ac9a;
}


.btn-card {
    display: block;
    padding: 8px 10px;
    text-align: center;
    text-decoration: none;
    margin: 20px 40px 30px 40px;
    border: 1px solid #666;
    transition: .4s;
    background: #fff;
    color: #4D4D4D;
    /*border-radius:5px;*/
}

/*--  Top 各コンテンツ　---*/
.btn-top:hover {
    background: #8F8F8F;
    color: #ffffff;
}



.btn-top {
    display: block;
    padding: 35px 10px;
    text-align: center;
    text-decoration: none;
    margin: 20px 40px 30px 40px;

    transition: .4s;
    background: #fff;
    color: #4D4D4D;
    border: 1px solid #dddddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


.card-top {
    margin: 0.5em auto;
    margin-bottom: 10px;
    padding: 35px 10px;
    width: 100%;
    /*   background: #f0f0f0;*/
    border: 1px solid #dddddd;
    font-size: 110%;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card-top:hover {
    background: #c4c1c1;
    color: #fff;
}



.btn-card:hover {
    background: #8F8F8F;
    color: #ffffff;
}

.card-3 {
    margin: 0.5em auto;
    margin-bottom: 40px;
    padding: 35px 10px;
    width: 100%;
    /*   background: #f0f0f0;*/
    border: 1px solid #dddddd;
    font-size: 110%;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}





/* カードレイアウト内の画像を幅いっぱいに表示 */
#cardlayout-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

.card-figure {
    margin: 0;
    padding: 0;
}

/* カードレイアウトのタイトル部分 */
.card-title h2 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin: 0.6em 0 0;
    color: #222;
    font-weight: 600;
    text-align: center;
    font-size: 180%;
}

.card-title h3 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    color: #333;
    text-align: center;
    font-size: 150%;
}


/* カードレイアウトの説明文部分 */
.card-text-tax {
    margin: 0;
    padding: 1em;
    color: #555;
    font-size: 90%;
}


/* 続き */
.card-next {
    margin: 0;
    padding: 1em;
    color: #555;
    font-size: 100%;
}

/* カードレイアウトを1カラムで配置 */
.card-list {
    margin: 0.5em auto;
    margin-bottom: 40px;
    padding: 0;
    width: 100%;
    /*   background: #f0f0f0;*/
    border: 1px solid #dddddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* カードレイアウトを1カラムで配置 */
.card-list-no {
    margin: 0.5em auto;
    margin-bottom: 20px;
    padding: 0;
    width: 100%;
    height: 100%;
}




/* 画面幅300px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 300px) {

    .card-title h2 {
        font-size: 120%;
    }

    .card-title h3 {
        font-size: 90%;


    }
}




/* 画面幅768px以上の場合カードレイアウトを4カラムで配置 
@media all and (min-width: 768px) {
    .card-list {
        width: calc(90% / 3); 
    }
}


@media all and (min-width: 992px) {
    .card-list {
        width: calc(90% / 4);
    }
    

    #cardlayout-wrap::after{
        content: "";
        display: block;
        width: calc(100% / 4);
    }
}
*/


/* 画面幅768px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 494px) {
    .card-top {
        float: left;
        width: calc(90% / 2);
        /* 100%幅を2で割るという指定 */
    }

    .card-top-no {
        float: left;
        width: calc(90% / 2);
        /* 100%幅を2で割るという指定 */
    }


}

/* 画面幅992px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 992px) {
    .card-top {
        float: left;
        width: calc(90% / 4);
        /* 100%幅を3で割るという指定 */
    }

    .card-top-no {
        float: left;
        width: calc(90% / 4);
        /* 100%幅を2で割るという指定 */
    }
    
    .card-3 {
        float: left;
        width: calc(90% / 3);
        /* 100%幅を3で割るという指定 */
    }

    
    .card-1 {
        float: left;
        width: calc(90% / 3);
        /* 100%幅を3で割るという指定 */
    }

    /* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    #cardlayout-wrap::after {
        content: "";
        display: block;
        width: calc(90% / 2);
    }

}


/* 最後の行が3列より少ない場合 768以下は表示しない */
@media all and (max-width: 768px) {
    #cardlayout-wrap {
        width: 80%;
    }

    .card-top-no {
        display: none;
    }

}



/*--------------------------------------------------------------------------*/


/**/
.sample1 {

    overflow: hidden;
    margin: 10px 8px 10px 16px;
    position: relative;
    /* 相対位置指定 */
    border: 1px solid #dddddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.sample1 .caption {
    font-size: ;
    text-align: center;
    padding-top: 20px;
    color: #222;
}

.sample1 .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    /* 絶対位置指定 */
    top: 0;
    left: 0;
    opacity: 0;
    /* マスクを表示しない */
    background-color: rgba(255, 255, 255, 0.9);
    /* マスクは半透明 */
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.sample1:hover .mask {
    opacity: 1;
    /* マスクを表示する */
}


/* カードレイアウトを1カラムで配置 */
.sample1-list {
    margin: 0.5em auto;
    padding: 0;
    width: 100%;
    /*   background: #f0f0f0;*/
    border: 1px solid #dddddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 画面幅768px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 768px) {
    .sample1 {
        width: calc(90% / 2);
        /* 100%幅を2で割るという指定 */
    }
}

/* 画面幅992px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 992px) {
    .sample1 {
        width: calc(90% / 3);
        /* 100%幅を3で割るという指定 */
    }
}


/* カードレイアウトのタイトル部分 */
.sample1 h2 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin: 0.6em 0 0;
    color: #222;
    font-weight: 600;
    text-align: center;
    font-size: 140%;
}

.sample1 h3 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    color: #222;
    text-align: center;
    font-size: 105%;
}

.sample1 p {
    margin: 0;
    padding: 1em;
    color: #222;
    font-size: 90%;
}
