﻿/* メインCSSファイル - 各モジュールをインポート */
@import url('components/layout/footer.css');
@import url('components/layout/header.css');

/* コンポーネント */
@import url('components/boya-box.css');
@import url('components/buttons.css');
@import url('components/tags.css');
@import url('components/animations.css');


/* ========================================
   レイアウト（ページ背景・構造）
======================================== */
html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: url('https://images.unsplash.com/photo-1553356084-58ef4a67b2a7?w=1600&auto=format&fit=crop&q=80') center center / cover no-repeat fixed;
    position: relative;
    overflow-x: hidden;
}

    body::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* 背景オーバーレイを暗く調整 */
        background: linear-gradient(200deg, rgba(30, 45, 60, 0.95) 0%, rgba(35, 50, 65, 0.9) 50%, rgba(140, 45, 60, 0.95) 100%);
        pointer-events: none;
        z-index: -1;
    }

main {
    flex: 1;
    margin-bottom: 0; /* メインコンテンツの下部マージンを削除 */
    padding-bottom: 0; /* メインコンテンツの下部パディングを削除 */
    display: flex;
    flex-direction: column;
}

    main > *:last-child {
        margin-bottom: 0; /* メインコンテンツ内の最後の要素のマージンを削除 */
    }


/* ========================================
   ユーティリティ
======================================== */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.mt-1 {
    margin-top: 0.5rem;
}

.mt-2 {
    margin-top: 1rem;
}

.mt-3 {
    margin-top: 1.5rem;
}

.mb-1 {
    margin-bottom: 0.5rem;
}

.mb-2 {
    margin-bottom: 1rem;
}

.mb-3 {
    margin-bottom: 1.5rem;
}

.p-1 {
    padding: 0.5rem;
}

.p-2 {
    padding: 1rem;
}

.p-3 {
    padding: 1.5rem;
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-grid {
    display: grid;
}

/* ========================================
   アニメーション
======================================== */
@keyframes modalopen {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
