/* 株式会社Shinonome トップページ 基本スタイル
   Claude Design の書き出し(トップページ v2)より。デザインが正。
   ※ 各要素の細かなレイアウトは index.html 内のインライン style で定義されています。 */

html, body { margin: 0; padding: 0; background: #0E0E10; }
body { font-family: 'Noto Sans JP', sans-serif; color: #1A1A1C; -webkit-font-smoothing: antialiased; }
a { color: #35648F; text-decoration: none; }
a:hover { color: #2A5175; }
::selection { background: #6C5BD8; color: #FFFFFF; }
@keyframes bg-drift-a { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(90px, -60px) scale(1.15); } 66% { transform: translate(-50px, 40px) scale(0.95); } }
@keyframes bg-drift-b { 0%, 100% { transform: translate(0, 0) scale(1); } 40% { transform: translate(-110px, 50px) scale(1.1); } 75% { transform: translate(60px, -40px) scale(1.05); } }
@keyframes bg-drift-c { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(70px, 70px) scale(1.2); } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; } }

/* ===== /contact ページ用(お問い合わせフォーム。クラスは .c- 接頭でこのページ専用) ===== */
.c-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.c-form { display: flex; flex-direction: column; gap: 26px; }
.c-field { display: flex; flex-direction: column; gap: 10px; }
.c-label { font-size: 14px; font-weight: 700; color: #1A1A1C; letter-spacing: 0.02em; display: flex; align-items: center; gap: 10px; }
.c-req { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: #6C5BD8; border: 1px solid #6C5BD8; border-radius: 4px; padding: 2px 8px; }
.c-opt { font-size: 11px; font-weight: 500; letter-spacing: 0.08em; color: #A6A7AD; border: 1px solid #E3E3E7; border-radius: 4px; padding: 2px 8px; }
.c-input, .c-select, .c-textarea {
  width: 100%; box-sizing: border-box; font-family: inherit; font-size: 15px; line-height: 1.7;
  color: #1A1A1C; background: #FFFFFF; border: 1px solid #E3E3E7; border-radius: 8px; padding: 14px 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.c-textarea { min-height: 150px; resize: vertical; }
.c-input::placeholder, .c-textarea::placeholder { color: #B5B6BC; }
.c-input:hover, .c-select:hover, .c-textarea:hover { border-color: #C9C9CF; }
.c-input:focus, .c-select:focus, .c-textarea:focus { outline: none; border-color: #6C5BD8; box-shadow: 0 0 0 3px rgba(108,91,216,0.14); }
.c-select {
  appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236E7076' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.c-consent { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.8; color: #5A5B60; }
.c-consent input { margin-top: 4px; width: 18px; height: 18px; accent-color: #6C5BD8; flex: none; }
.c-status { display: none; font-size: 14px; line-height: 1.7; color: #A33131; background: rgba(163,49,49,0.06); border: 1px solid rgba(163,49,49,0.25); border-radius: 8px; padding: 12px 16px; }
.c-thanks { display: none; }
@media (max-width: 900px) { .c-grid { grid-template-columns: 1fr; } }
