@charset "UTF-8";
.main div h1 {
    font-size: 3rem;
}
.main {
    text-align: center;
    margin-top: 108px;
}


<!--昼夜切り替え-->
<style>
    /* --- 基本設定 --- */
    body {
        margin: 0;
        padding: 0;
        overflow-x: hidden; /* 横揺れ防止 */
        font-family: sans-serif;
    }

    /* デスクトップ用：背景切り替えエリア */
    .scroll-container {
        height: 200vh;
        background-color: #fff;
    }

    .sticky-wrapper {
        position: sticky;
        top: 10vh;
        width: 100%;
        margin: 0 auto;
        aspect-ratio: 1000 / 312;
        overflow: hidden;
    }

    .visual {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: opacity 0.1s linear;
    }

    /* --- スマホ専用設定 (768px以下) --- */
    @media screen and (max-width: 768px) {
        /* 1. 下の巨大な空白を消す（高さを大幅にカット） */
        .scroll-container {
            height: 400px !important; /* ここを小さくすることで下の空白が消えます */
            margin-bottom: 0 !important;
        }

        /* 2. 画像を大きくし、右の余白を消して画面端まで広げる */
        .sticky-wrapper {
            position: relative !important; /* スマホでは固定せず、隙間を作らない */
            top: 0 !important;
            height: 320px !important; /* 画像の高さ */
            width: 100vw !important;  /* 画面の横幅100%に強制 */
            left: 50% !important;
            transform: translateX(-50%) !important; /* 親のパディングを無視して端まで広げる */
            aspect-ratio: auto !important;
            margin: 0 !important;
        }

        .visual {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center !important;
        }

        /* 3. 本文をすぐ下に配置し、隙間をなくす */
        #contents {
            margin-top: 0 !important;
            padding-top: 10px !important;
            background: #fff;
        }

        #title {
            padding: 10px 15px !important;
        }

        h1 {
            font-size: 18px !important;
            margin: 0 !important;
        }

        /* 4. 本文内の余計な隙間を詰める */
        .contents h2 {
            margin-top: 10px !important;
            font-size: 1.2rem !important;
        }
        
        .contents h3 {
            margin-top: 5px !important;
            margin-bottom: 10px !important;
        }

        .works_foerm p {
            margin-bottom: 10px !important;
            line-height: 1.5 !important;
        }
    }
</style>
	 <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@300;500;700&display=swap" rel="stylesheet">
    

//追加スタイル
	<style>
        :root {
            --bg-color: #fdfaf6;
            --text-color: #4a3c31;
            --accent-color: #d35400;
            --card-bg: #ffffff;
            --btob-bg: #2c3e50;
        }

        body.night {
            --bg-color: #1a1a2e;
            --text-color: #e0e0e0;
            --accent-color: #f1c40f;
            --card-bg: #252545;
        }

        body {
            margin: 0;
            font-family: 'Noto Sans JP', sans-serif;
            background-color: var(--bg-color);
            color: var(--text-color);
            transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            overflow-x: hidden;
        }

        h1, h2, h3 { font-family: 'Noto Serif JP', serif; }

        /* スイッチ */
        .mode-toggle {
            position: fixed;
            top: 25px; right: 25px; z-index: 1000;
            background: var(--accent-color);
            color: white; border: none; padding: 12px 24px;
            border-radius: 50px; cursor: pointer; font-weight: bold;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }

        /* ヒーロー */
        .hero {
            height: 100vh; display: flex; align-items: center; justify-content: center;
            text-align: center; background: url('https://images.unsplash.com/photo-1557683316-973673baf926?auto=format&fit=crop&q=80&w=2000') center/cover fixed;
            position: relative;
        }
        .hero::before {
            content: ''; position: absolute; inset: 0;
            background: rgba(253, 250, 246, 0.7);
        }
        body.night .hero::before { background: rgba(26, 26, 46, 0.8); }

        .hero-content { position: relative; z-index: 1; }

        /* 安全設計：横からスッと現れるバッジ */
        .safety-side-badge {
            position: fixed;
            right: -300px; /* 初期状態は隠す */
            top: 50%;
            transform: translateY(-50%);
            background: #27ae60;
            color: white;
            padding: 15px 30px 15px 40px;
            border-radius: 50px 0 0 50px;
            box-shadow: -5px 5px 20px rgba(0,0,0,0.1);
            z-index: 999;
            transition: right 0.8s cubic-bezier(0.22, 1, 0.36, 1);
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .safety-side-badge.show { right: 0; }
        .safety-side-badge::before { content: '✔'; font-weight: bold; }

        /* 作品事例ギャラリー */
        .section { padding: 100px 8%; max-width: 1300px; margin: auto; }

        .works-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            margin-top: 50px;
        }

        .work-card {
            background: var(--card-bg);
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            transition: 0.4s;
            opacity: 0; transform: translateY(30px);
        }
        .work-card.active { opacity: 1; transform: translateY(0); }
        .work-card:hover { transform: translateY(-10px); }

        .work-img {
            height: 200px; background-color: #ddd;
            background-size: cover; background-position: center;
            transition: 0.5s;
        }
        .work-card:hover .work-img { transform: scale(1.05); }

        .work-info { padding: 25px; }
        .work-info h4 { margin: 0 0 10px 0; font-size: 1.2rem; }
        .work-info p { margin: 0; font-size: 0.9rem; opacity: 0.8; }

        /* B to B 誘導セクション */
        .btob-cta {
            background: var(--btob-bg);
            color: white;
            padding: 120px 8%;
            text-align: center;
            margin-top: 100px;
            border-radius: 100px 100px 0 0;
        }

        .btob-button {
            display: inline-block;
            margin-top: 40px;
            padding: 25px 60px;
            background: transparent;
            color: white;
            border: 2px solid white;
            text-decoration: none;
            font-size: 1.2rem;
            font-weight: bold;
            letter-spacing: 0.1em;
            border-radius: 100px;
            transition: 0.4s;
            position: relative;
            overflow: hidden;
        }
        .btob-button:hover {
            background: white;
            color: var(--btob-bg);
        }

        .reveal { opacity: 0; transform: translateX(-50px); transition: 1s; }
        .reveal.active { opacity: 1; transform: translateX(0); }

/*自作*/
.sab_taitl {
    font-size: 20pt;
    font-weight: bold;
    font-family: Osaka-mono, "MS Gothic", monospace;
    text-align: center;
    text-shadow: 2px 2px 2px #C8C7C7;
    text-transform: none;
}
    .sab_taiti_2 {
    font-size: 12pt;
    text-align: center;
    margin-top: 8px;
    padding-bottom: 0px;
    top: 0px;
}
    .craft_body {
    font-size: 11pt;
    line-height: 18pt;
    text-align: justify;
    padding-top: 0px;
    margin-top: -14px;
    width: auto;
}
    </style>