@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: 280px;
	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: absolute; /* ← fixed から変更 */
    background: rgba(20, 40, 80, 0.9);
    color: #fff;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 0.9rem;
    opacity: 0;
    transition: opacity .25s, transform .25s;
    z-index: 9999;
    pointer-events: none;
    transform: translateY(-6px);
}
.toast.show {
    opacity: 1;
    transform: translateY(0);
}

/* スマホ最適化 */
@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;
}

/* 検索ワードでの注釈 */
.search-note {
  margin: 1.5em 0 1em 0.5em; 
  padding: 0.1em 1em 0.1em 0.8em; /* 枠線〜文字の距離 */
  border-left: 3px solid green;
  color: #555;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
}

#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;
}

/* 用字差：検索結果文字表示 */
.youji-result {
    --font-size: 4.5rem;          /* 初期サイズ */
    font-size: var(--font-size);
    line-height: 1.6;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* 用字差：テキストに枠線 */
.youji-char {
    display: inline-block;
    min-width: 1.3em;
    margin: 4px 1px;
    padding: 1px;
    border: 1px solid #999;
    border-radius: 3px;
    text-align: center;
    font-size: inherit;
    line-height: 1.4;
    background: #fff;
}

.youji-char .unicode-info {
    margin-top: 4px;
    font-size: 1.2rem;        /* 常に小さい */
    line-height: 1.2;
    font-family: 'IPAmj 明朝', serif;
    color: #555;
    pointer-events: none;    /* 誤クリック防止（任意） */
}

/* 用字差：テキスト枠 */
.youji-char {
    display: inline-flex;          /* ★ block → flex */
    flex-direction: column;
    align-items: center;
    min-width: 1.3em;
    margin: 4px 2px;
    padding: 2px 2px 4px;
    border: 1px solid #999;
    border-radius: 3px;
    background: #fff;
    font-size: inherit;            /* 漢字は可変 */
    line-height: 1.1;              /* ★ 行高を詰める */
}

/* Unicode 情報 */
.youji-char .unicode-info {
    margin-top: 5px;               /* ★ 余白を縮小 */
    font-size: 1.2rem;            /* ★ 完全固定 */
    line-height: 1.1;
    font-family: 'IPAmj 明朝', serif;
    color: #555;
}

/* コピーボタン */
.youji-char .copy-btn {
    margin-top: 8px;               /* ★ Unicode との距離 */
    padding: 1px 6px;
    font-size: 0.9rem;            /* ★ 拡大しない */
    line-height: 1.2;
}

/* コピーボタン */
.quick-list{
    margin: 0 0 15px 0;
}

.quick-btn{
    margin: 0 8px 0 0;
    padding: 3px 6px;
    font-size: 1.3rem;
    font-family: 'IPAmj 明朝', serif;
    color: #555;    
    font-weight: bold;  
}

/* 文字 hover など */
.youji-char {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
.youji-char:hover {
    background: #f5f5f5;
}

/* 字体ラベル付き表示 */
.char-type {
    font-size: 1.1rem;
    font-family: 'IPAmj 明朝', serif;    
    color: #333;
    margin-top: 0.5rem;
    white-space: nowrap;
}
