/* 全体のスタイル */ body { font-family: 'Arial', sans-serif; margin: 0; padding: 0; box-sizing: border-box; background-color: #f3e8ff; /* 淡い紫 */ color: #3e004f; /* 濃い紫 */ } 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; /* 深い紫のアクセント */ } a{ color: #ff5757; } .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.8); } .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 { position: absolute; top: 10px; right: 25px; color: white; font-size: 35px; font-weight: bold; cursor: pointer; } .close:hover, .close:focus { color: #ccc; text-decoration: none; } @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 { 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 { 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; } }