/* 6120.jp Submission Tools — ドラッグ＆ドロップ欄 */
.snow-monkey-form[data-screen="input"].g6120-dz-enabled .smf-item:has(input[type="file"][name^="photo_"]) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
}
.g6120-dz { grid-column: 1 / -1; min-width: 0; }
.g6120-dz__label { margin: 0 0 8px; font-size: 14px; font-weight: 500; line-height: 1.85; }
.g6120-dz__req { margin-left: 12px; color: #9b430d; font-size: 12px; font-weight: 400; white-space: nowrap; }
.g6120-dz__desc { margin: 0 0 16px; color: #777; font-size: 12px; line-height: 1.8; }
.g6120-dz__zone {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px;
	min-height: 240px; padding: 31px 20px; text-align: center;
	background: #fafaf8; border: 1px dashed #bdbdb5; transition: background .2s, border-color .2s;
}
.g6120-dz__zone.is-dragging { border-color: #e8620b; background: #fff0e5; }
.g6120-dz__zone.is-full { opacity: .55; }
.g6120-dz__icon { color: #b36631; }
.g6120-dz__lead { margin: 0; font-size: 14px; }
.g6120-dz__or, .g6120-dz__note { color: #888; font-size: 12px; }
.g6120-dz__btn {
	display: inline-flex; align-items: center; gap: 7px; padding: 9px 20px; cursor: pointer;
	background: #fff; border: 1px solid #b1b1a7; border-radius: 1px; color: #242424; font: inherit; font-size: 14px;
}
.g6120-dz__btn:hover, .g6120-dz__btn:focus-visible { border-color: #e8620b; color: #a6470c; }
.g6120-dz__picker { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.g6120-dz__msg:not(:empty) { margin-top: 10px; color: #b52c1a; font-size: 12px; line-height: 1.8; }
.g6120-dz__list {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 12px;
	margin: 14px 0 0; padding: 0; list-style: none;
}
.g6120-dz__list:empty { display: none; }
.g6120-dz__thumb { position: relative; min-width: 0; margin: 0; padding: 0; }
.g6120-dz__thumb img, .g6120-dz__saved {
	display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; object-fit: cover;
	background: #eee; border: 1px solid #ddd; color: #777; font-size: 12px;
}
.g6120-dz__name { display: block; margin-top: 4px; overflow: hidden; color: #777; font-size: 11px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.g6120-dz__main { position: absolute; top: 6px; left: 6px; padding: 1px 7px; background: #e8620b; color: #fff; font-size: 11px; line-height: 1.6; }
.g6120-dz__remove {
	position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; padding: 0; cursor: pointer;
	border: 0; border-radius: 50%; background: rgba(12, 12, 12, .75); color: #fff; font-size: 15px; line-height: 26px;
}
.g6120-dz__remove:hover { background: #e8620b; }
.g6120-dz__count { display: flex; justify-content: space-between; gap: 10px; padding: 13px 0 0; color: #777; font-size: 12px; }
@media (max-width: 680px) {
	.g6120-dz__zone { min-height: 200px; padding: 27px 13px; }
	.g6120-dz__lead { font-size: 13px; }
	.g6120-dz__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}

/* 6120.jp Submission Tools — 分岐・可変入力欄 */
.snow-monkey-form .smf-item.g6120-is-off { display: none !important; }
.g6120-visually-hidden {
	position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important;
	clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; margin: -1px !important;
}
.snow-monkey-form .smf-item:has([name="profile_type"]),
.snow-monkey-form .smf-item:has([data-name="profile_type"]) { grid-column: 1 / -1; }

/* プロフィールタイプ（ラジオ） */
.snow-monkey-form .smf-radio-buttons-control__control { display: flex; flex-wrap: wrap; gap: 10px; }
.snow-monkey-form .smf-radio-buttons-control .smf-label { margin: 0; }
.snow-monkey-form .smf-radio-buttons-control label { display: block; cursor: pointer; }
.snow-monkey-form .smf-radio-button-control {
	display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 18px;
	border: 1px solid #d2d2cc; border-radius: 1px; background: #fafaf8; font-size: 15px; transition: border-color .2s, background .2s;
}
.snow-monkey-form .smf-radio-button-control:has(input:checked) { border-color: #e8620b; background: #fff0e5; }
.snow-monkey-form .smf-radio-button-control__control { accent-color: #e8620b; width: 18px; height: 18px; margin: 0; }

/* 可変リスト */
.g6120-repeat__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.g6120-repeat__row { display: flex; gap: 8px; align-items: stretch; }
.g6120-repeat__input, .g6120-repeat__select {
	min-width: 0; min-height: 51px; padding: 12px 14px; border: 1px solid #d2d2cc; border-radius: 1px;
	background: #fafaf8; color: #242424; font: inherit; font-size: 16px; line-height: 1.6; box-sizing: border-box;
}
.g6120-repeat__input { flex: 1 1 auto; width: 100%; }
.g6120-repeat__select { flex: 0 0 230px; padding: 12px 36px 12px 14px; text-overflow: clip; }
.g6120-repeat__input:focus, .g6120-repeat__select:focus { outline: 1px solid #e8620b; border-color: #e8620b; }
.g6120-repeat__remove {
	flex: 0 0 44px; border: 1px solid #d2d2cc; border-radius: 1px; background: #fff; color: #666; font-size: 18px; cursor: pointer;
}
.g6120-repeat__remove:hover { border-color: #e8620b; color: #a6470c; }
.g6120-repeat__add {
	margin-top: 12px; padding: 9px 18px; border: 1px solid #b1b1a7; border-radius: 1px; background: #fff;
	color: #242424; font: inherit; font-size: 14px; cursor: pointer;
}
.g6120-repeat__add:hover { border-color: #e8620b; color: #a6470c; }
.g6120-another-note { margin: 0 0 24px; padding: 14px 18px; border-left: 2px solid #e8620b; background: #fff0e5; font-size: 14px; line-height: 1.8; }
.g6120-another { margin-top: 28px; }
@media (max-width: 680px) {
	.g6120-links__row { flex-wrap: wrap; }
	.g6120-links__row .g6120-repeat__select { flex: 1 1 calc(100% - 52px); }
	.g6120-links__row .g6120-repeat__input { flex: 1 1 100%; order: 3; }
	.snow-monkey-form .smf-radio-buttons-control__control { flex-direction: column; }
	.snow-monkey-form .smf-radio-button-control { width: 100%; box-sizing: border-box; }
}

/* LINKS：Band Site のバンド名欄 */
.g6120-links__row { flex-wrap: wrap; }
.g6120-links__row .g6120-links__url { flex: 1 1 200px; }
.g6120-links__row .g6120-links__band { flex: 0 1 200px; }
.g6120-links__band[hidden] { display: none; }
@media (max-width: 680px) {
	.g6120-links__row .g6120-links__band { flex: 1 1 100%; order: 2; }
}

/* Band Site 行：1段目＝種類＋バンド名、2段目＝URL＋削除 */
.g6120-links__row.has-band .g6120-links__band { flex: 1 1 200px; }
.g6120-links__row.has-band .g6120-links__url { flex: 1 1 calc(100% - 52px); }
@media (max-width: 680px) {
	.g6120-links__row.has-band .g6120-links__band { flex: 1 1 100%; }
}
.g6120-repeat__add[hidden] { display: none; }

/* 投稿タイプ：選べない選択肢と「準備中」の案内 */
.snow-monkey-form .g6120-type-disabled { opacity: .4; cursor: not-allowed; }
.snow-monkey-form .g6120-type-disabled input { cursor: not-allowed; }
.snow-monkey-form .g6120-type-note { margin: 8px 0 0; font-size: 13px; color: #888; }

/* 確認画面：まだ送信されていないことを目立たせる */
.g6120-confirm-note { margin: 0 0 28px; padding: 16px 18px; border: 2px solid #d9341e; border-left-width: 6px; background: #fff1ef; color: #b3200d; line-height: 1.7; }
.g6120-confirm-note strong { display: block; font-size: 17px; font-weight: 700; }
.g6120-confirm-note p { margin: 4px 0 0; font-size: 14px; color: #7a1c10; }

/* 確認画面：「修正する」「送信する」を横並びにして画面下に固定 */
.snow-monkey-form.g6120-screen-confirm .smf-action { position: sticky; bottom: 0; z-index: 30; display: flex !important; flex-wrap: nowrap; gap: 10px; margin: 24px -16px 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .97); box-shadow: 0 -6px 18px rgba(0, 0, 0, .08); }
.snow-monkey-form.g6120-screen-confirm .smf-action > * { flex: 1 1 0; min-width: 0; margin: 0 !important; }
.snow-monkey-form.g6120-screen-confirm .smf-action .g6120-act-back { flex: 0 0 34%; }
.snow-monkey-form.g6120-screen-confirm .smf-action button,
.snow-monkey-form.g6120-screen-confirm .smf-action input[type="submit"] { width: 100%; min-height: 52px; padding: 12px 10px; white-space: nowrap; }

/* 入力途中の内容を復元したときの案内 */
.g6120-draft-note { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 24px; padding: 12px 16px; border-left: 3px solid #e8620b; background: #fff0e5; font-size: 14px; line-height: 1.7; }
.g6120-draft-reset { padding: 0; border: 0; background: none; color: #b34a00; font-size: 13px; text-decoration: underline; cursor: pointer; }

/* 送信中の案内と進み具合のバー */
.g6120-sending-note { margin: 12px 0 0; padding: 12px 14px; background: #fff7e8; border-left: 3px solid #e8620b; }
.g6120-sending-note__text { margin: 0 0 8px; font-size: 14px; line-height: 1.6; color: #6b4300; }
.g6120-sending-note__bar { height: 8px; border-radius: 999px; background: #f1dcc4; overflow: hidden; }
.g6120-sending-note__fill { display: block; width: 0; height: 100%; border-radius: inherit; background: #e8620b; transition: width .3s ease; }
.snow-monkey-form.g6120-screen-confirm .g6120-sending-note { position: sticky; bottom: 84px; z-index: 31; }

/* アプリ内ブラウザ（Instagram など）で開いているときの案内 */
.g6120-inapp-note { margin: 0 0 24px; padding: 14px 16px; border: 2px solid #e8620b; background: #fff0e5; line-height: 1.7; }
.g6120-inapp-note strong { display: block; font-size: 15px; color: #b34a00; }
.g6120-inapp-note p { margin: 4px 0 0; font-size: 14px; color: #5a3a1a; }
