diff --git a/styles.css b/styles.css index 0ee878e..ec0b32c 100644 --- a/styles.css +++ b/styles.css @@ -1,237 +1,53 @@ -/* 全体のスタイル */ -body { - font-family: 'Arial', sans-serif; - margin: 0; - padding: 0; - box-sizing: border-box; - background-color: #f3e8ff; /* 淡い紫 */ - color: #3e004f; /* 濃い紫 */ +.map-container { + position: relative; + display: inline-block; } -h1 { - font-family: 'Playfair Display', serif; - font-size: 32px; - text-align: center; - margin: 0; - padding: 20px; - background-color: #6a0dad; /* 紫の背景 */ - color: white; - font-weight: 700; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - letter-spacing: 1px; - border-bottom: 4px solid #4b0082; /* 深い紫のアクセント */ +.map-container img { + max-width: 100%; + height: auto; + display: block; } -.modal { - display: none; - position: fixed; - z-index: 1000; - left: 0; - top: 0; +.pin { + position: absolute; + width: 32px; + height: 32px; + transform: translate(-50%, -100%); + cursor: pointer; +} + +.pin img { width: 100%; height: 100%; - overflow: auto; - background-color: rgba(0, 0, 0, 0.8); + user-select: none; + pointer-events: none; } -.modal-content { - margin: auto; - display: block; - max-width: 90%; - max-height: 90%; - border-radius: 8px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); - animation: fadeIn 0.3s; -} - -.close { +/* 吹き出し */ +.tooltip { position: absolute; - top: 10px; - right: 25px; - color: white; - font-size: 35px; - font-weight: bold; - cursor: pointer; + background: white; + border: 1px solid #666; + border-radius: 6px; + padding: 8px 12px; + font-size: 14px; + max-width: 200px; + transform: translate(-50%, -120%); + display: none; + z-index: 10; + box-shadow: 0 2px 6px rgba(0,0,0,0.2); } -.close:hover, -.close:focus { - color: #ccc; - text-decoration: none; +.tooltip img { + width: 100%; + border-radius: 4px; + margin-top: 5px; } -@keyframes fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -/* ポップアップのカスタムスタイル */ -.popup-content { - width: 250px; /* 幅を広く設定 */ - height: auto; - padding: 15px; - font-size: 18px; /* フォントサイズを大きく */ - line-height: 1.5; -} - -.popup-content h3 { - font-size: 30px; - margin-bottom: 10px; - color: #6a0dad; -} - -.popup-content p { - margin: 15px 0; - color: #333; -} - -.popup-content button { - padding: 15px 25px; - font-size: 20px; - background-color: #6a0dad; - color: white; - border: none; - border-radius: 5px; - cursor: pointer; -} - -.popup-content button:hover { - background-color: #4b0082; -} - -/* ポップアップの全体サイズを大きく */ -.leaflet-popup-content-wrapper { - width: auto !important; /* ポップアップの幅 */ - height: auto !important; /* 高さは内容に合わせて自動 */ -} - -.leaflet-popup-tip { - display: none; /* ポップアップの三角形を非表示にする */ -} - -/* 検索欄 */ -.search-container { - display: flex; - justify-content: center; - margin: 20px 0; -} - -.search-container input[type="text"] { - width: 80%; - max-width: 600px; - padding: 15px; - font-size: 18px; - border: 2px solid #9b59b6; /* 紫色の枠線 */ - border-radius: 25px; - background-color: white; - color: #3e004f; /* 濃い紫 */ - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - transition: border-color 0.3s ease, box-shadow 0.3s ease; -} - -.search-container input[type="text"]:focus { - border-color: #6a0dad; /* フォーカス時の枠線 */ - box-shadow: 0 4px 8px rgba(106, 13, 173, 0.4); /* フォーカス時の影 */ - outline: none; -} - -/* マップエリア */ -#map { - height: 500px; - margin: 20px; - border-radius: 10px; - border: 2px solid #9b59b6; /* 紫色の枠線 */ - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); -} - -/* お気に入りリンク */ -.favorites-link, .back-link { +.tooltip a { display: block; - text-align: center; - margin: 20px auto; - font-size: 25px; - color: #6a0dad; - text-decoration: none; - font-weight: bold; -} - -.favorites-link:hover, .back-link:hover { + margin-top: 6px; + color: blue; text-decoration: underline; - color: #4b0082; /* ホバー時の濃い紫 */ -} - - -/* お気に入りリスト */ -#favorites-list { - margin: 20px auto; - font-size: 20px; - padding: 0; - list-style: none; - max-width: 600px; -} - -#favorites-list li { - background-color: #ffffff; /* 白背景 */ - color: #3e004f; /* 濃い紫 */ - border: 1px solid #9b59b6; /* 紫色の枠線 */ - border-radius: 10px; - padding: 10px 15px; - margin: 10px 0; - display: flex; - justify-content: space-between; - align-items: center; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -} - -#favorites-list li button { - padding: 10px 10px; - font-size: 30px; - background-color: #6a0dad; - color: white; - border: none; - border-radius: 5px; - cursor: pointer; - transition: background-color 0.3s ease; -} - -#favorites-list li button:hover { - background-color: #4b0082; -} - -/* Leafletズームコントロールのカスタマイズ */ -.leaflet-control-zoom { - transform: scale(1.5); /* サイズを縮小 (デフォルトの80%) */ - right: 10px; /* 位置を少し右に調整 (必要に応じて変更) */ - bottom: -300px; /* 位置を少し上に調整 (必要に応じて変更) */ -} - -.leaflet-control-zoom a { - width: 30px; /* ボタンの幅を調整 */ - height: 30px; /* ボタンの高さを調整 */ - font-size: 18px; /* ボタン内の文字サイズを調整 */ - line-height: 30px; /* ボタン内のテキストの位置を中央に揃える */ - border-radius: 5px; /* ボタンに角丸を付ける */ - background-color: #0078d7; /* ボタンの背景色を変更 */ - color: white; /* テキストの色 */ - transition: background-color 0.3s ease; -} - -.leaflet-control-zoom a:hover { - background-color: #005a9e; /* ホバー時の背景色 */ -} - -/* レスポンシブ対応 */ -@media (max-width: 768px) { - #map { - height: 600px; - } - - .search-container input[type="text"] { - font-size: 16px; - padding: 12px; - } }