@charset "UTF-8";
/* CSS Document */
/* 異体字検索・異体字一覧 */
/* 2025/12/22　改訂 */

@font-face {
	font-family: 'IPAmj 明朝';
	src: url('{$font}');
}

.form-wrap {
	max-width: 960px;
	margin: 0 auto;
	font-size: 1rem;
	padding: 10px;
}
.form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
	align-items: center;
}
.form-row label {
	min-width: 120px;
	font-weight: bold;
}

/* ★ 基準漢字入力（強調） */
#sour {
	font-size: 3rem;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	padding: 0 3px;
	border: 3px solid darkgreen;
    background-color: #EBFCEB;
	border-radius: 6px;
	width: 200px;
	text-align: center;
}

/* 共通入力 */
.form-row input[type="text"],
.form-row textarea {
	font-size: 1rem;
	padding: 8px;
}
.form-row textarea {
	width: 100%;
	max-width: 400px;
}

/* ★ ボタン装飾 */
.btn {
	font-size: 0.95rem !important;
	padding: 6px 12px !important;
	border-radius: 6px !important;
	border: 1px solid #666 !important;
	background: linear-gradient(#fafafa, #e0e0e0) !important;
	cursor: pointer !important;
}
.btn:hover {
	background: linear-gradient(#ffffff, #d6d6d6) !important;
}
.btn:active {
	transform: translateY(1px) !important;
}

/* 画像表示 */
.image-area {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.img-box {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.img-box img {
	width: var(--img-size, 80px);
	height: auto;
}
 
/* ★ 画像に枠線を付ける */
.image-area img {
	border: 1px solid #999;
    border-radius: 3px;
    padding: 5px;
	box-sizing: border-box;
}


.btn-save {
	margin-top: 6px;
	font-size: 0.9rem;
	padding: 4px 8px;
	border-radius: 6px;
	border: 1px solid #666;
	background: #f5f5f5;
	cursor: pointer;
}
.btn-save:hover {
	background: #e0e0e0;
}

/* トースト */
.toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: rgba(0,0,0,0.8);
	color: #fff;
	padding: 10px 16px;
	border-radius: 6px;
	font-size: 0.9rem;
	opacity: 0;
	transition: opacity .3s;
	z-index: 9999;
}
.toast.show {
	opacity: 1;
}

/* スマホ最適化 */
@media (max-width: 600px) {
	.form-row {
		flex-direction: column;
		align-items: stretch;
	}
	.form-row label {
		min-width: auto;
	}
	.image-area {
		justify-content: center;
	}
}

fieldset{
  font-size: 1em;
  margin: 0 0 22px 0;
  padding: 7px 4px 12px 16px;
  border: 1px solid #999;
  border-radius: 8px;
}

legend{
font-size: 0.9rem;
font-weight: bold;
}

#quick-kanji {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 15px;
}
.quick-char {
	cursor: pointer;
	padding: 4px 7px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1.4rem;
	background: #f9f9f9;
}
.quick-char:hover {
	background: #e8ffe8;
	border-color: darkgreen;
}

