﻿/* =========================
   セクション
========================= */
.section{
    max-width:1200px;
    margin:auto;
    padding:60px 20px;
}

.section-title{
    text-align:center;
    font-size:2rem;
    margin-bottom:50px;
    color:#5f7d86;
    letter-spacing:0.05em;
}

/* =========================
   カードレイアウト
========================= */
.card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* =========================
   カードデザイン
========================= */
.card{
    background:#ffffff;
    border-radius:24px;
    overflow:hidden;

    /* やわらかい影 */
    box-shadow:
        0 6px 18px rgba(0,0,0,0.08);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

/* ホバーで少し浮く */
.card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 14px 28px rgba(0,0,0,0.12);
}

/* =========================
   画像
========================= */
.card img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}

/* =========================
   カード本文
========================= */
.card-content{
    padding:24px;
}

.card-title{
    font-size:1.3rem;
    color:#607d86;
    margin-bottom:12px;
    font-weight:bold;
}

.card-text{
    font-size:0.95rem;
    line-height:1.8;
    color:#666;
}

/* =========================
   ボタン
========================= */
.card-button{
    display:inline-block;
    margin-top:20px;
    padding:10px 18px;

    background:#7d9ca5;
    color:white;
    text-decoration:none;

    border-radius:999px;

    transition:0.3s;
}

.card-button:hover{
    background:#5f7d86;
}

/* =========================
   スマホ対応
========================= */
@media(max-width:768px){

    /* スマホで縦並び */
    .card-grid{
        grid-template-columns:1fr;
    }

    .section-title{
        font-size:1.6rem;
    }

    .card img{
        height:220px;
    }
}