@charset"UTF-8"


body {
    margin: 0;
    min-height: 100vh;
　　text-align: center;

    background:
        radial-gradient(circle at 20% 20%, #ffffff 0 60px, transparent 61px),
        radial-gradient(circle at 40% 15%, #ffffff 0 80px, transparent 81px),
        radial-gradient(circle at 70% 25%, #ffffff 0 70px, transparent 71px),
        linear-gradient(
            to bottom,
            #ffe6f2,
            #fffafc,
            #eef9ff
        );

    background-repeat: no-repeat;
    background-attachment: fixed;

    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;

}

/* ドット柄 */

body {
    margin: 0;
    min-height: 100vh;

    background-color: #143046;

    background-image:
        radial-gradient(#ffffff 2px, transparent 2px),
        radial-gradient(#ffffff 2px, transparent 2px);

    background-size: 30px 30px, 60px 60px;
    background-position: 0 0, 15px 15px;
}


/* ヘッダー */
header {
    text-align:center;
    background: rgba(255, 255, 255, 0.9);
    margin: 30px auto;
    width: 80%;
    max-width: 900px;
    padding: 30px;

    border: 8px solid #ffd6e7;
    border-radius: 25px;

    /* レース風 */
    box-shadow:
        0 0 0 6px #fff,
        0 0 0 12px #ffe7f0;

}

/* タイトル */
h1 {
    color: #555;
    font-size: 3rem;
    margin-bottom: 10px;
}

/* サブタイトル */
header p {
    color: #555;
    font-size: 1.2rem;
    margin-bottom: 25px;
}

/* フッター */
footer {
    text-align:center;
    margin-top: 20px;
    padding: 20px;
    color:#555;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff;
}


/* 全体 */
.main-area {
    display: flex;
    flex-direction: row-reverse;

    align-items: flex-start;
    justify-content: flex-start;

    width: 80%;
    max-width: 900px;

    margin: 0;
    gap: 40px;
}

/* 立ち絵 */
.main-image {
    width: 320px;
    height: auto;

    background: rgba(255, 255, 255, 0.9);


    border-radius: 20px;
    border: 6px solid #ffe3ee;

    box-shadow: 0 5px 15px rgba(255, 182, 193, 0.4);

    transition: all 0.3s ease;
}

/* ホバー時 */
.main-image:hover {
    transform: scale(1.05);

    box-shadow:
        0 10px 25px rgba(255, 182, 193, 0.6),
        0 0 20px rgba(255, 240, 245, 0.8);
}


/* メニュー */
.menu{
    display:flex;
    flex-direction:column;
    gap:20px;

    width:260px;
}

/* カード */
.menu-card {
    display: flex;
    align-items: center;

    width: 260px;
    padding: 18px 24px;

    background: rgba(255, 255, 255, 0.9);


    border: 3px solid #ffd6e7;
    border-radius: 18px;

    text-decoration: none;
    color: #ff7eb6;
    font-weight: bold;
    font-size: 1.1rem;

    transition: 0.3s;
}

.menu-card:hover {
    transform: translateX(-5px);
    background: #ffeef6;
    box-shadow: 0 4px 12px rgba(255, 182, 193, 0.3);
}

.icon {
    font-size: 1.8rem;
    margin-right: 15px;
}


.menu-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    width:150px;
    height:100px;

    text-decoration:none;
    cursor:pointer;

    background:#fff;
    border-radius:20px;
    border:4px solid #ffd6e7;

    box-shadow:0 5px 15px rgba(0,0,0,.1);

    transition:.3s;
}

.menu-card:hover{
    transform:translateY(-5px);
}

.icon{
    font-size:48px;
}

.title{
    margin-top:10px;
    font-size:18px;
    color:#555;
}

.blog-archive-card{
    width:260px;
    height:auto;

    padding:15px;
    text-align:center;
}

.blog-archive-card .icon{
    font-size:40px;
}

.blog-archive-card .title{
    display:block;
    margin:8px 0 12px;
    font-size:20px;
    font-weight:bold;
}

.archive-list{
    width:100%;
    font-size:12px;
    color:#666;
    text-align:left;

    border-top:1px solid #eee;
    padding-top:10px;
}

.archive-list div{
    padding:4px 0;
}

.header-width{
    width:80%;
    max-width:1200px;

    margin:50px auto;

    display:flex;
    align-items:flex-start; /* 上端を揃える */
    gap:40px;
}

.blog-archive-card{
    margin:0;
}


