/* ===============================
全体デザイン
================================= */
body {
margin: 0;
padding: 0;
font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
background: linear-gradient(135deg, #f0f4ff, #e8efff);
color: #333;
}
/* ===============================
index.html のフォームデザイン
================================= */
.container {
max-width: 500px;
margin: 40px auto;
background: white;
padding: 25px;
border-radius: 14px;
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
animation: fadeIn 0.7s ease;
}
h2 {
margin-top: 0;
text-align: center;
color: #4a6cd1;
}
label {
display: block;
margin: 12px 0 6px;
font-weight: bold;
}
input {
width: 100%;
padding: 10px 14px;
font-size: 1rem;
border-radius: 8px;
border: 1px solid #c8d3f0;
outline: none;
transition: border 0.2s;
}
input:focus {
border: 1px solid #4a6cd1;
}
button {
width: 100%;
padding: 12px;
margin-top: 20px;
font-size: 1rem;
background: #4a6cd1;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
transition: 0.25s;
}
button:hover {
background: #3454ad;
}
/* ===============================
map4.html レイアウト
================================= */
#mapContainer {
display: flex;
height: calc(100vh - 60px);
}
/* メンバー一覧 */
#sidebar {
width: 230px;
background: white;
border-right: 1px solid #ccc;
padding: 15px;
overflow-y: auto;
box-shadow: 2px 0 8px rgba(0,0,0,0.05);
}
#sidebar h3 {
margin-top: 0;
text-align: center;
color: #4a6cd1;
}
#memberList {
list-style: none;
padding: 0;
margin: 0;
}
#memberList li {
padding: 10px 8px;
margin: 8px 0;
background: #f7f9ff;
border-radius: 8px;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: background 0.2s;
}
#memberList li:hover {
background: #e6edff;
}
/* オンライン / オフライン */
.online {
border-left: 4px solid #4a9a3d;
}
.offline {
border-left: 4px solid #a4a4a4;
}
/* メンバーアイコン(丸) */
.member-icon {
width: 12px;
height: 12px;
background: #4a6cd1;
border-radius: 50%;
}
/* ===============================
地図
================================= */
#map {
flex: 1;
}
/* ===============================
ピンデザイン(DivIcon)
================================= */
/* ピン名ラベル */
.pin-label {
background: rgba(0, 0, 0, 0.7);
color: white;
font-size: 12px;
padding: 2px 6px;
border-radius: 6px;
margin-bottom: 2px;
text-align: center;
width: max-content;
}
/* ピン画像 */
.pin-image {
width: 35px;
}
/* ===============================
退出ボタン
================================= */
#exitBtn {
width: 100%;
padding: 10px;
background: #d9534f;
color: white;
border: none;
border-radius: 8px;
margin-top: 20px;
cursor: pointer;
transition: 0.2s;
}
#exitBtn:hover {
background: #b73c38;
}
/* ===============================
アニメ削除 → 残骸を無効化
================================= */
.pulse-marker {
animation: none !important;
}
/* ===============================
スマホ向けレスポンシブ
================================= */
@media (max-width: 768px) {
#mapContainer {
flex-direction: column;
}
#sidebar {
width: 100%;
height: 180px;
border-right: none;
border-bottom: 1px solid #ccc;
}
#map {
height: calc(100vh - 180px);
}
}
/* ===============================
フェードイン演出(フォーム用)
================================= */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(15px); }
to { opacity: 1; transform: translateY(0); }
}