/* A-Frameコンテナ */
#streetview-spot-marker-edit-container {
    position: relative;
    display: flex;
}

/* マーカー編集オーバーレイのスタイル */
#map-streetview-marker-edit-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw; /* viewport 幅に合わせる */
    height: 100vh; /* viewport 高さに合わせる */
    background-color: rgba(0, 0, 0, 0.5); /* 背景に半透明の黒 */
    display: none; /* コンテンツを中央揃えにする */
    justify-content: center;
    align-items: center;
    z-index: 1000; /* 高い優先度 */
}

/* 編集フォームのスタイル */
#map-streetview-marker-edit-form {
    width: 90vw; /* スマホ画面横幅の90%に調整 */
    max-width: 450px; /* 最大幅を設定（デバイスによる過剰な横幅を防止） */
    max-height: 90vh; /* 高さの上限を viewport 高さの90% に設定 */
    background-color: #fff; /* 白背景 */
    padding: 20px; /* 内側の余白 */
    border-radius: 8px; /* コーナーを丸くする */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 柔らかいシャドウ */
    overflow-y: auto; /* 縦方向のスクロールを許可（必要に応じてスクロール） */
    overflow-x: hidden; /* 横スクロールバーを非表示に設定 */
}

/* スクロールバーのスタイル */
#map-streetview-marker-edit-form::-webkit-scrollbar {
    width: 6px; /* スクロールバーの幅 */
}

#map-streetview-marker-edit-form::-webkit-scrollbar-thumb {
    background: #727272; /* スクロールバーの色 */
    border-radius: 4px; /* スクロールバーの角丸 */
}

#map-streetview-marker-edit-form::-webkit-scrollbar-track {
    background: #f0f0f0; /* スクロールトラックの色 */
}

/* スクロールのみによる体感向上: 親フォームが移動可能 */
#map-streetview-marker-edit-form:focus {
    outline: none;  /* 必要あればform-toggle */
}

/* テキストと画像の編集セクションの調整 */
.map-streetview-marker-edit-section {
    margin-bottom: 20px; /* 各セクション間のスペース */
}

/* セクションタイトル */
.map-streetview-marker-edit-section h4 {
    font-size: 18px;
    margin-bottom: 10px; /* タイトルと入力欄の余白 */
    color: #333; /* ダークグレーの文字色 */
}

/* セクションの注記 */
.map-streetview-marker-edit-section p {
    font-size: 12px;
    color: #757575; /* ダークグレーの文字色 */
}

/* 入力ボックスデザイン */
.map-streetview-marker-edit-section input[type="text"],
.map-streetview-marker-edit-section input[type="url"],
#map-streetview-marker-address-input {
    width: 95%;
    padding: 10px; /* 内側余白 */
    font-size: 16px; /* テキストサイズ */
    border: none; /* 枠線を削除 */
    outline: none; /* フォーカスリングを非表示 */
    border: 1px solid #ddd; /* 初期状態の薄いグレーの下線 */
    border-radius: 10px; /* 角丸デザイン */
    background-color: transparent; /* 背景を透明に */
    transition: border-color 0.3s, box-shadow 0.3s; /* フォーカス時のアニメーション */
}

/* フォーカス時の入力ボックスデザイン */
.map-streetview-marker-edit-section input[type="text"]:focus,
.map-streetview-marker-edit-section input[type="url"]:focus,
#map-streetview-marker-address-input:focus {
    border: 2px solid #007BFF; /* フォーカス時に青い下線 */
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2); /* フォーカス時に柔らかい影 */
}

/* プレースホルダーのデザイン */
.map-streetview-marker-edit-section input[type="text"]::placeholder,
.map-streetview-marker-edit-section input[type="url"]::placeholder,
#map-streetview-marker-address-input::placeholder {
    color: #aaa; /* 薄いグレーの文字色 */
    font-size: 14px;
}

/* ファイルドロップ領域のスタイル */
#map-streetview-marker-file-drop-zone {
    border: 2px dashed #aaa;
    padding: 20px;
    text-align: center;
    background: #f9f9f9;
    color: #555;
    margin: 20px;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#map-streetview-marker-file-drop-zone.is-dragging {
    border-color: #54a5fc;
    background: #eef7ff;
    color: #025aff;
}

#map-streetview-marker-file-drop-zone.is-file-selected {
    border-style: solid;
    border-color: #54a5fc;
    background: #f0f7ff;
    color: #025aff;
    box-shadow: 0 0 0 2px rgba(84, 165, 252, 0.12);
}

/* 画像の撮影時期入力 */
.map-streetview-marker-capture-period-input {
    width: 95%;
}

/* 「リストに追加」ボタンの右寄せコンテナ */
.map-streetview-marker-image-add-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.map-streetview-marker-image-add-to-list-btn {
    background-color: #ffffff;
    border: 1px solid #969696;
    border-radius: 50px;
    color: #54a5fc;
    padding: 8px 16px;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.map-streetview-marker-image-add-to-list-btn:hover {
    border-color: #54a5fc;
    color: #025aff;
    background-color: #f0f7ff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.map-streetview-marker-image-add-to-list-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* 追加済みの画像リスト */
.map-streetview-marker-image-list-header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.map-streetview-marker-image-list-header h4 {
    margin: 0;
}

.map-streetview-marker-image-list-count {
    font-size: 12px;
    color: #777;
    margin-left: auto;
}

.map-streetview-marker-image-list-wrap {
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-anchor: none;
    /* おおよそ ヘッダ＋3行 程度に収め、それ以上はスクロールで表示 */
    max-height: 156px;
}

.map-streetview-marker-image-list-wrap::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.map-streetview-marker-image-list-wrap::-webkit-scrollbar-thumb {
    background: #c5c5c5;
    border-radius: 4px;
}

.map-streetview-marker-image-list-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13px;
}

.map-streetview-marker-image-list-table thead th {
    box-sizing: border-box;
    position: sticky;
    top: 0;
    background: #f5f5f5;
    color: #555;
    font-weight: 600;
    text-align: left;
    padding: 6px 8px;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
    /* 行内のチェックボックス等(position: relative)が固定ヘッダにかぶらないように前面化 */
    z-index: 2;
}

.map-streetview-marker-image-list-table tbody td {
    box-sizing: border-box;
    padding: 6px 8px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    word-break: break-all;
}

.map-streetview-marker-image-list-table tbody tr[data-local-id] {
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.map-streetview-marker-image-list-table tbody tr[data-local-id]:hover td {
    background: #f8fbff;
}

.map-streetview-marker-image-list-table tbody tr[data-local-id]:focus-visible td {
    outline: 2px solid #54a5fc;
    outline-offset: -2px;
}

.map-streetview-marker-image-list-table tbody tr.is-active-rotation-target td {
    background: #eaf4ff;
    box-shadow: inset 0 2px 0 rgba(84, 165, 252, 0.28), inset 0 -2px 0 rgba(84, 165, 252, 0.28);
}

.map-streetview-marker-image-list-table tbody tr.is-active-rotation-target td:first-child {
    border-left: 4px solid #2f8df7;
    box-shadow: inset 0 2px 0 rgba(84, 165, 252, 0.28), inset 0 -2px 0 rgba(84, 165, 252, 0.28);
}

.map-streetview-marker-image-list-table tbody tr.is-active-rotation-target td:last-child {
    box-shadow: inset 0 2px 0 rgba(84, 165, 252, 0.28), inset 0 -2px 0 rgba(84, 165, 252, 0.28), inset -2px 0 0 rgba(84, 165, 252, 0.28);
}

.map-streetview-marker-image-list-table tbody tr:last-child td {
    border-bottom: none;
}

.map-streetview-marker-image-list-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid #b8b8b8;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.map-streetview-marker-image-list-checkbox:hover:not(:disabled) {
    border-color: #8fd99a;
}

.map-streetview-marker-image-list-checkbox:checked {
    background: #4ade80;
    border-color: #22c55e;
}

.map-streetview-marker-image-list-checkbox:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 0;
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2.5px 2.5px 0;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.map-streetview-marker-image-list-checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

/* `thead th { text-align: left; }` より詳細度を高くしてヘッダの一括列を中央表示にする */
.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-bulk,
.map-streetview-marker-image-list-table tbody td:nth-child(1) {
    width: 42px;
    min-width: 42px;
    max-width: 42px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

.map-streetview-marker-image-list-th-bulk-inner {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.map-streetview-marker-image-list-th-label {
    font-size: 11px;
    line-height: 1.1;
}

.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-delete,
.map-streetview-marker-image-list-table tbody td:nth-child(2) {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

.map-streetview-marker-image-list-th-period,
.map-streetview-marker-image-list-table tbody td:nth-child(3) {
    width: 28%;
}

.map-streetview-marker-image-list-th-file,
.map-streetview-marker-image-list-table tbody td:nth-child(4) {
    width: 24%;
}

.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-default,
.map-streetview-marker-image-list-table tbody td:nth-child(5) {
    width: 68px;
    min-width: 68px;
    max-width: 68px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

/*
 * 既定の `thead th { white-space: nowrap; }` に上書きして、
 * 文字数の多いヘッダ（撮影時期 / 画像ファイル名 / デフォルト）はセル幅を超えたら折り返す。
 * これがないと長いヘッダがセル外にはみ出して wrap の scrollWidth を増やし、
 * 横スクロールバーが表示される原因になる。
 */
.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-period,
.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-default {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.2;
}

.map-streetview-marker-image-list-table thead th.map-streetview-marker-image-list-th-file {
    white-space: nowrap;
}

.map-streetview-marker-image-list-period-controls {
    display: block;
    text-align: right;
}

/*
 * セル幅を超えないよう、`.map-streetview-marker-edit-section input[type="text"]`(width:95%; padding:10px) より
 * 高い詳細度で width 100% / box-sizing: border-box / 小さめの padding を強制する。
 */
.map-streetview-marker-edit-section input.map-streetview-marker-image-list-period-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0;
    padding: 5px 7px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 6px;
    text-align: left;
    background: #fff;
}

.map-streetview-marker-edit-section input.map-streetview-marker-image-list-period-input:focus {
    border-color: #54a5fc;
    outline: none;
    box-shadow: 0 0 0 2px rgba(84, 165, 252, 0.18);
}

/*
 * 既に同じラベルが他行に存在する場合の警告表示（保存時にバリデーション予定）
 * `.map-streetview-marker-edit-section input[type="text"]` および前述の
 * `.map-streetview-marker-edit-section input.map-streetview-marker-image-list-period-input`
 * の詳細度に勝つために、同じ祖先＋追加クラスで重ねている。
 */
.map-streetview-marker-edit-section input.map-streetview-marker-image-list-period-input.is-duplicate-label {
    border-color: #d33a3a;
    background: #fff5f5;
}

.map-streetview-marker-edit-section input.map-streetview-marker-image-list-period-input.is-duplicate-label:focus {
    border-color: #d33a3a;
    box-shadow: 0 0 0 2px rgba(211, 58, 58, 0.18);
}

.map-streetview-marker-image-list-default-radio {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.map-streetview-marker-image-list-delete-row-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    line-height: 0;
    background-color: transparent;
    background-image: url(/icons/shared/delete_default.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    transition: background-color 0.15s ease, background-image 0.15s ease;
}

.map-streetview-marker-image-list-delete-row-btn:hover {
    background-color: #ffebee;
    background-image: url(/icons/shared/delete_hover.png);
}

.map-streetview-marker-image-list-delete-row-btn:focus-visible {
    outline: 2px solid #c62828;
    outline-offset: 2px;
}

.map-streetview-marker-image-list-empty {
    padding: 12px;
    text-align: center;
    color: #888;
    font-size: 12px;
}

.map-streetview-marker-image-list-footer {
    display: flex;
    justify-content: flex-start;
    margin-top: 8px;
}

.map-streetview-marker-image-list-bulk-delete-btn {
    background-color: #fff5f5;
    border: 2px solid #f85858;
    border-radius: 50px;
    color: #d32f2f;
    font-weight: 700;
    padding: 7px 13px;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.map-streetview-marker-image-list-bulk-delete-btn:hover:not(:disabled) {
    background-color: #ffe0e0;
    border-color: #c62828;
    color: #b71c1c;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
}

.map-streetview-marker-image-list-bulk-delete-btn:disabled {
    background-color: #ececec;
    border-color: #c5c5c5;
    color: #9e9e9e;
    cursor: not-allowed;
    opacity: 1;
    box-shadow: none;
}

/* ファイル入力ボタンのスタイル */
#map-streetview-marker-file-input {
    margin: 20px;
    display: block;
}

#map-streetview-marker-file-info {
  width: 100%;             /* 親幅に合わせる */
  word-break: break-all;   /* 単語中でも折り返す */
  overflow-wrap: break-word; /* 長い単語やURLを折り返す */
  white-space: normal;     /* 折り返しを有効にする */
}

/* 視点リセットボタン */
#map-streetview-marker-image-rotation-reset-btn {
    margin-top: 20px; /* テキストボックスとの間隔 */
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #ccc; /* 未ホバー時にグレーの枠線 */
    border-radius: 10px; /* 適度な丸みを追加 */
    color: #585858; /* 赤色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 12px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-image-rotation-reset-btn:hover {
    background-color: #ececec; /* 赤白背景 */
    border-color: #7c7c7c; /* ホバー時に青い枠線を表示 */
    color: #000000; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}

/* 横並びのコンテナ */
.map-streetview-marker-rotation-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

/* 各角度設定の領域 */
.map-streetview-marker-rotation-control {
    margin-right: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 16%;
}

/* ラベルのスタイル */
.map-streetview-marker-rotation-label {
    font-size: 12px;
    color: #555;
    margin-bottom: 5px;
    text-align: center;
}

/* スライダーのスタイル */
.map-streetview-marker-rotation-control input[type="range"] {
    appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: #c5c5c5;
    outline: none;
    margin-bottom: 5px;
}

/* スライダーのカーソルスタイル */
.map-streetview-marker-rotation-control input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #007bff;
    cursor: pointer;
}

.map-streetview-marker-rotation-control input[type="range"]::-moz-range-thumb {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #007bff;
    cursor: pointer;
}

/* フォーカス時のつまみの色変更 */
.map-streetview-marker-rotation-control input[type="range"]:focus {
    background: #ebebeb; /* フォーカス中のつまみの色を変更 */
}

/* スライダー値の表示 */
.slider-value {
    font-size: 12px;
    color: #333;
    text-align: center;
}

/* A-Frameコンテナ */
#map-streetview-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    /* background: #000; */
    display: none;
}

/* A-Frame sceneタグ (360度画像のプレビュー表示する「幅」と「高さ」の設定) */
#map-streetview-marker-edit-a-scene {
    width: 100vw !important;
    height: 25vh !important;
    display: flex;
}

/* ミニマップコンテナのデザイン */
#map-streetview-marker-edit-mini-map-container {
    width: 100%; /* コンテナの幅 */
    height: 200px; /* 高さの設定 */
    margin-top: 10px; /* 上部の余白 */
    border: 1px solid #ccc; /* 薄いグレーの枠線 */
    border-radius: 4px; /* 入力欄と一致する角丸 */
}

/* 検索ボックスのコンテナ */
.map-streetview-marker-search-box-container {
    display: flex; /* 子要素を横並びに配置 */
    align-items: left; /* 垂直方向に中央揃え */
    width: 95%; /* コンテナの幅を100%使う */
    background-color: white; /* 背景を白に設定 */
    border: none; /* コンテナ枠線を薄いグレーで設定 */
    gap: 10px; /* ボタンと入力欄の間隔 */
}

/* ボタンデザイン（虫眼鏡アイコン付き） */
#map-streetview-marker-move-to-location-btn {
    background-color: rgba(255, 255, 255, 0.1); /* 青色背景 */
    color: white; /* 虫眼鏡アイコンの色を白に設定 */
    border: none; /* ボタン枠線を削除 */
    border-radius: 10px; /* ボタンを円形に設定 */
    font-size: 16px; /* アイコンサイズを調整 */
    width: 40px; /* 幅を固定 */
    height: 40px; /* 高さを固定 */
    display: flex; /* アイコンの中央表示 */
    justify-content: center;
    align-items: center;
    cursor: pointer; /* カーソルをポインタに変化 */
    margin-left: 10px; /* 入力欄との間隔を設定 */
    transition: background-color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

/* 「ここにマップを移動」ボタン（虫眼鏡付き） */
#map-streetview-marker-move-to-location-btn {
    background-color: #ffffff; /* 青色背景 */
    color: white; /* 白文字 */
    border: none;
    border-radius: 50%; /* 円形に設定 */
    font-size: 16px; /* アイコンサイズ */
    width: 40px; /* 幅を固定 */
    height: 40px; /* 高さを固定 */
    display: flex; /* アイコンを中央表示 */
    justify-content: center;
    align-items: center;
    cursor: pointer; /* ポインタカーソル */
    margin-left: 10px;
    position: relative; /* 擬似要素をボタン内部に配置するための設定 */
    transition: background-color 0.3s ease, box-shadow 0.3s ease; /* 背景色や影のアニメーション */
}

/* 擬似要素（青色下線）のデザイン */
#map-streetview-marker-move-to-location-btn::after {
    content: ""; /* 空の要素を作成 */
    position: absolute; /* ボタン内で擬似要素を配置 */
    bottom: -2px; /* ボタンの下部に配置 */
    left: 50%; /* 水平方向に中央基準 */
    transform: translateX(-50%); /* 左右中央揃え */
    width: 0%; /* 初期状態では非表示（幅0%） */
    height: 2px; /* 下線の高さを設定 */
    background-color: #7bb9fa; /* 薄い青色の下線 */
    border-radius: 50%; /* 下線に丸みを付与 */
    transition: width 0.3s ease; /* 幅を変更するアニメーション */
}

/* ホバー時のデザイン */
#map-streetview-marker-move-to-location-btn:hover {
    background-color: #d1e7ff; /* ホバー時に薄い青色の背景 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に影を表示 */
}

#map-streetview-marker-move-to-location-btn:hover::after {
    width: 60%; /* ホバー時に下線が表示される（幅30%まで拡張） */
}

/* ボタンコンテナ */
.map-streetview-marker-edit-buttons {
    display: flex; /* フレックスボックスに設定 */
    justify-content: flex-end; /* ボタンを右寄せ */
    gap: 10px; /* ボタン間にスペースを追加 */
    margin-top: 20px;
}

/* 保存ボタン */
#map-streetview-marker-save-btn {
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #969696; /* 未ホバー時にグレーの枠線 */
    border-radius: 50px; /* 適度な丸みを追加 */
    color: #54a5fc; /* 青色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 16px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-save-btn:hover {
    background-color: #cfe0ff; /* 白背景 */
    border-color: #025aff; /* ホバー時に青い枠線を表示 */
    color: #025aff; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}

/* キャンセルボタン */
#map-streetview-marker-cancel-btn {
    background-color: #ffffff; /* 白背景 */
    border: 1px solid #969696; /* 未ホバー時にグレーの枠線 */
    border-radius: 50px; /* 適度な丸みを追加 */
    color: #f85858; /* 赤色文字 */
    padding: 10px 20px; /* ボタン内側の余白 */
    font-size: 16px; /* テキストサイズ */
    cursor: pointer; /* ポインタカーソル表示 */
    transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
}

#map-streetview-marker-cancel-btn:hover {
    background-color: #fddfdf; /* 赤白背景 */
    border-color: #ff0202; /* ホバー時に青い枠線を表示 */
    color: #ff0202; /* ホバー時に青色文字に変更 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* ホバー時に柔らかい影を追加 */
}


/* メディアクエリ：画面幅の狭いデバイス用調整 */
@media screen and (max-width: 600px) {
    #map-streetview-marker-edit-form {
        width: 95vw; /* さらに画面幅に近づける */
        max-width: none; /* 最大幅制限を解除 */
        padding: 15px; /* 内側余白を少し減らす */
    }

    .map-streetview-marker-edit-buttons button {
        padding: 8px 12px; /* ボタンを少しコンパクトにする */
    }

    #map-streetview-marker-edit-form h3 {
        font-size: 18px; /* タイトルをやや小さく */
    }

    #map-streetview-marker-image-rotation-reset-btn {
        margin-top: 20px; /* テキストボックスとの間隔 */
        background-color: #ffffff; /* 白背景 */
        border: 1px solid #ccc; /* 未ホバー時にグレーの枠線 */
        border-radius: 10px; /* 適度な丸みを追加 */
        color: #585858; /* 赤色文字 */
        padding: 10px 20px; /* ボタン内側の余白 */
        font-size: 11px; /* テキストサイズ */
        cursor: pointer; /* ポインタカーソル表示 */
        transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; /* アニメーション */
    }

    #map-streetview-marker-file-drop-zone,
    #map-streetview-marker-file-info {
        display: none; /* 非表示 */
    }
}