@charset "utf-8";
/* CSS Document */

 :root {
  --brand: #003366; /* メインカラー：濃いネイビー */
  --brand-light: #336699; /* サブカラー：少し明るめブルー */
  --dark: #222; /* 文字色はそのままでもOK */
  --muted: #666; /* 薄い文字色 */
  --bg-light: #f5f8ff; /* 薄い背景 */
  --border: #cce0ff; /* 薄いボーダー */
}
body {
    font-family: 'Noto Sans JP', sans-serif; 
    background: #336699; /* ネイビーブルー */
    color: #ffffff;       /* 白文字に */
}
.hero-gradient {
  background: linear-gradient(
    120deg,
    #001f3f 0%,   /* ダークネイビー */
    #003366 40%,  /* ネイビー */
    #336699 100%  /* 明るめブルー */
  );
  background-size: 200% 200%;
  animation: gradShift 8s linear infinite;
}

.navt{
	color:#000;
}
    @keyframes gradShift{
		0%{
			background-position:0% 50%
		}
		50%{
			background-position:100% 50%
		}
		100%{
			background-position:0% 50%
		}
}

    .floating-shape{
		opacity:.12; 
		filter:blur(8px); 
		transform:translateZ(0)
}
    .spec-table td, .spec-table th{
		padding:.75rem
}
    .input, textarea{
		border:1px solid #e6e6e6; 
		padding:.75rem; 
		border-radius:.5rem; 
		width:100%;
}

.btn-primary {
  background: var(--brand-light);
  color: #fff;
  padding: .75rem 1rem;
  border-radius: .75rem;
}

    /* ギャラリーセクション */

    .gallery-section {
      margin-bottom: 40px;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .gallery-item {
      border-radius: 14px;
      overflow: hidden;
      background: #ffffff;
      border: 1px solid var(--border);
      box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    }

    .gallery-item img {
      width: 100%;
      height: 170px;
      object-fit: cover;
      display: block;
    }

    .gallery-caption {
      padding: 6px 10px 8px;
      font-size: 11px;
      color: var(--muted);
    }

    @media (max-width:640px){ 
		.step-icon{
			width:56px;
			height:56px;
			font-size:1.1rem;
		}
	 .gallery-grid {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
		
}
.logo{
	height:50px;
}
    .faq-item { background: #f9f9f9; border-radius: 10px; padding: 15px 20px; margin-bottom: 15px; }
    .faq-item h4 { color: #333; margin-bottom: 0.5em; }
    .faq-item p { margin: 0; }
    @media (max-width: 768px) {
      h2 { font-size: 1.4rem; }
    }

.bg-[#fff0f3] { background-color: var(--bg-light); }
.bg-white { background-color: #ffffff; } /* そのままでも清潔感あり */
.bg-gray-50 { background-color: #f5f8ff; }
.form{
	color:#000;
}


