﻿        /* --- 基本リセット --- */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        li {
            list-style: none;
        }
/* 上部へ戻るボタン */
.back-to-top {
  position: fixed;   
  bottom: 30px;     
  right: 30px;      
  width: 50px;
  height: 50px;
  background-color: #BB3925;
  color: #fff;
  text-decoration: none;
  text-align: center;
  line-height: 50px;  
  border-radius: 50%; 
  font-size: 24px;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s, background-color 0.3s;
  z-index: 9999;      /* 他の要素より上に表示 */
}

/* ホバー時の演出 */
.back-to-top:hover {
  background-color: #BB3925;
  transform: translateY(-5px);
}
        /* --- ヘッダー全体のスタイル --- */
        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 20px;
            height: 80px;
            background-color: #fff;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: fixed; /* ヘッダーを固定 */
            width: 100%;
            top: 0;
            z-index: 1000;
			color: #0C0F0A;
        }

        /* --- ロゴエリア --- */
        .header-logo img {
            height: 40px; 
            width: auto;
            display: block;
        }

        /* --- メニュー（PC用スタイル） --- */
        .header-nav ul {
            display: flex;
            align-items: center;
            gap: 30px; 
        }

        .header-nav a {
            font-size: 16px;
            font-weight: 700;
            transition: color 0.3s;
        }

        .header-nav a:hover {
            color: #BB3925;
        }

        /* --- 問い合わせボタン --- */
        .header-nav .btn-contact {
            background-color: #BB3925;
            color: #fff !important;
            padding: 12px 24px;
            border-radius: 50px; 
            font-weight: bold;
            transition: background-color 0.3s, opacity 0.3s;
        }

        .header-nav .btn-contact:hover {
            background-color: #c4000f; 
            color: #fff;
            opacity: 0.9;
        }

        /* --- ハンバーガーメニュー制御用（PCでは非表示） --- */
        .menu-btn, .menu-icon {
            display: none;
        }

        /* ====================================
           レスポンシブ対応 (980px以下)
           ==================================== */
        @media screen and (max-width: 980px) {
		.header-logo img{
		width: 250px;
		height: auto;
	}
           .back-to-top {
    width: 45px;
    height: 45px;
    line-height: 45px;
    bottom: 20px;
    right: 20px;
    font-size: 20px;
    -webkit-tap-highlight-color: transparent;
  } 
            /* --- ハンバーガーアイコンの表示 --- */
            .menu-icon {
                display: block;
                cursor: pointer;
                width: 30px !important;
                height: 25px;
                position: relative;
                z-index: 1001; 
            }

            .menu-icon span {
                display: block;
                width: 100%;
                height: 3px;
                background-color: #333;
                position: absolute;
                transition: all 0.3s;
                border-radius: 2px;
            }

            .menu-icon span:nth-child(1) { top: 0; }
            .menu-icon span:nth-child(2) { top: 11px; }
            .menu-icon span:nth-child(3) { bottom: 0; }

            #menu-btn {
                display: none; 
            }

            /* --- スマホ用メニューデザイン --- */
            .header-nav {
                position: fixed;
                top: 0;
                right: -100%; /* 最初は画面外（右）に隠す */
                width: 70%;   /* メニューの幅 */
                height: 100vh;
                background-color: #fff;
                transition: all 0.4s ease;
                box-shadow: -2px 0 5px rgba(0,0,0,0.1);
                padding-top: 80px; /* ヘッダーの高さ分下げる */
                z-index: 1000;
            }

            .header-nav ul {
                flex-direction: column; /* 縦並びにする */
                gap: 0;
            }

            .header-nav li {
                width: 100%;
                border-bottom: 1px solid #eee;
            }

            .header-nav a {
                display: block;
                padding: 20px;
                text-align: center;
            }

            /* スマホ時のボタン調整 */
            .header-nav .btn-contact {
                margin: 20px auto; 
                width: 80%; 
                display: block;
                text-align: center;
            }

            /* --- チェックが入った時（メニューオープン時）の挙動 --- */
            #menu-btn:checked ~ .header-nav {
                right: 0; 
            }

            /* アイコンのアニメーション */
            #menu-btn:checked ~ .menu-icon span:nth-child(1) {
                top: 11px;
                transform: rotate(45deg);
            }
            #menu-btn:checked ~ .menu-icon span:nth-child(2) {
                opacity: 0;
            }
            #menu-btn:checked ~ .menu-icon span:nth-child(3) {
                bottom: 11px;
                transform: rotate(-45deg);
            }
            
            #menu-btn:checked ~ .overlay {
                display: block;
            }
        }
        