.gallery {
            display: grid;
			grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 10px;
        }

        .gallery-item img {
            width: 100%;
            height: auto;
            transition: transform 0.3s ease;
        }

        .gallery-item:hover img {
            transform: scale(1.1);
        }

        .gallery-item::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .gallery-item:hover::after {
            opacity: 1;
        }

        .gallery-item-title {
            position: absolute;
            bottom: 20px;
            left: 20px;
            color: #fff;
            font-size: 1.5em;
            z-index: 10;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .gallery-item:hover .gallery-item-title {
            opacity: 1;
        }

.modal-it {
            display: grid;
			grid-template-columns: repeat(auto-fit, minmax(180px,180px));
            gap: 15px;
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .modal-item {
            position: relative;
            overflow: hidden;
            border-radius: 10px;
        }

        .modal-item img {
            width: 100%;
            height: auto;
            transition: transform 0.3s ease;
        }

        .modal-item:hover img {
            transform: scale(1.1);
        }

        .modal-item::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .modal-item:hover::after {
            opacity: 1;
        }

        .modal-title {
            position: absolute;
            bottom: 20px;
            left: 20px;
            color: #fff;
            font-size: 1.5em;
            z-index: 10;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .modal-item:hover .modal-title {
            opacity: 1;
        }

.text-up {
      color: darkslategray;
      position: relative;
      top: 0vh; /* 最初の位置を少し上に */
      animation: slideUp 2s forwards;
    }

    @keyframes slideUp {
      from {
        top: 10vh; /* アニメーション開始時の位置を少し下に */
      }
      to {
        top: 0vh; /* アニメーション終了時の位置 */
      }
    }


.katamuki45-img {
      transition: transform 0.5s ease; /* 変化時のアニメーションを設定 */
    }

    /* マウスオーバー時のスタイル */
    .katamuki45-img:hover {
      transform: rotate(10deg); /* 40度回転 */
    }

.crop-img {
            width: 200px; /* 横幅を指定 */
            height: 200px; /* 高さを指定 */
            object-fit: cover; /* 画像を枠いっぱいに表示し、切り取り */
        }

.img-thumbnail {
      width: 180px;
      cursor: pointer;
      transition: transform 0.2s ease;
    }

    .img-thumbnail:hover {
      transform: scale(1.05);
    }

    .modal-img {
      width: 100%;
      height: auto;
      display: block;
    }