/* 共通スタイル */
.mainsec {
	margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
	.mainsec {
		margin-bottom: 3rem;
	}
}
.mypage-menu {
	background: #fff;
	padding: 24px;
	border-radius: 12px;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
	max-width: 500px;
	margin: 0 auto;
}

.mypage-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mypage-menu li {
	border-bottom: 1px solid #dbdbdb !important;
}

.mypage-menu li:last-child {
	border-bottom: none !important;
}

.mypage-menu a {
	height: 50px;
	display: block;
	padding: 14px 16px;
	text-decoration: none;
	color: #333;
	font-size: 16px;
	transition: background 0.3s, color 0.3s;
}

.mypage-menu a:hover {
	background-color: #ffe5e5;
	color: #d6336c;
}

.mypage-menu a.logout-link {
	color: #999;
	font-size: 14px;
}

/* 767px以下 */
@media screen and (max-width: 767px) {
	.mypage-menu {
		padding: 16px;
	}

	.mypage-menu a {
		font-size: 15px;
		padding: 12px 14px;
	}
}

/* 500px以下 */
@media screen and (max-width: 500px) {
	.mypage-menu a {
		font-size: 14px;
		padding: 10px 12px;
	}
}

/* 希望条件ページ */
.breadcrumbs {
	width: calc(100% - 2rem);
	max-width: 1060px;
	margin-left: auto;
	margin-right: auto;
}

.hope-inner {
	background: #fff;
	padding: 32px;
	max-width: 800px !important;
	border-radius: 12px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	font-size: 16px;
}

.form-clear-wrapper input {
	padding-right: 50px !important;
}

@media screen and (max-width: 768px) {
	.form-clear-wrapper input {
		padding-right: 25px !important;
	}
}
button {
	margin-top: 0;
}

.hope-table {
	width: 100%;
	border-collapse: collapse;
	/* margin-bottom: 32px; */
}

/* 767px以上 */
@media screen and (min-width: 767px) {
	.hope-table {
		margin-bottom: 32px;
	}
}

.hope-table th,
.hope-table td {
	border: 1px solid #ccc !important;
	padding: 15px;
	vertical-align: top;
	text-align: left;
}

.hope-table th {
	background-color: #fff0f3;
	width: 200px;
	font-weight: bold;
	color: #444;
}

.hope-table input[type="text"],
.hope-table textarea,
.hope-table select {
	width: 100%;
	padding: 8px;
	font-size: 15px;
	border: 1px solid #ccc !important;
	border-radius: 6px;
	box-sizing: border-box;
}
.hope-table input,
.profile-table input,
.hope-table textarea,
.profile-table textarea,
.hope-table select,
.profile-table select {
	vertical-align: middle !important;
}

/* チェックボックス系（診療科目など） */
.department-list,
.facility-type-list,
.checkbox-group,
.child-area {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.checkbox-group label {
	margin-bottom: 0 !important;
}

.child-area {
	margin-left: 15px;
	margin-bottom: 10px;
}

.child-area label {
	margin-bottom: 0;
	font-size: 0.9rem;
}

.pref-row {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 12px;
}

.pref-row select {
	flex: 1;
	padding: 8px;
}

/* 上書き */
.delete-prefecture {
	background-color: #ffffff00 !important;
	border: none;
	padding: 0 !important;
	border-radius: none !important;
	cursor: pointer;
	text-decoration: underline;
	font-size: 0.9rem !important;
	color: rgb(158, 57, 57) !important;
}

/* スクロール領域：希望勤務地 */
#location-entry {
	max-height: 400px;
	overflow-y: auto;
	padding: 10px;
	border: 1px solid #ccc !important;
	border-radius: 6px;
	background: #f9f9f9;
}

.city-wrapper .child-area {
	display: flex;
}

.city-wrapper {
	padding: 0 15px 15px 15px;
}

#add-prefecture {
	font-size: 0.9rem;
}

/* 給与のインラインスタイル */
.salary-inline {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	/* flex-wrap: wrap; */
}

.salary-unit {
	font-size: 0.9rem;
	color: #666;
	white-space: nowrap;
	min-width: 3.5em; /* 👈 これで「円」も「円以上」も同じ幅に */
	display: inline-block; /* 幅指定を効かせるために追加 */
	text-align: left;
}

.radio-group {
	display: flex;
	gap: 1.5rem;
}

@media screen and (max-width: 768px) {
	.radio-group {
		gap: 1rem;
	}
}

.radio-inline {
	display: flex;
	align-items: center;
	gap: 0.4em;
}

.clear-btn {
	margin-top: 0 !important;
	top: 50% !important;
}

/* 送信ボタン */
.submit-btn {
	display: block;
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
	padding: 14px;
	font-size: 16px;
	background-color: #e97d8d;
	color: white;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	margin-top: 3rem;
}

.submit-btn:hover {
	background-color: #e38a9a;
}

.referral-button {
	margin-top: 4rem;
	display: block;
	width: 100%;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
	.hope-inner {
		padding: 24px;
		font-size: 15px;
	}

	.hope-table th,
	.hope-table td {
		display: block;
		width: 100%;
	}

	.hope-table tr {
		display: block;
		margin-bottom: 16px;
	}
}

@media screen and (max-width: 500px) {
	.hope-inner {
		padding: 16px;
		font-size: 14px;
	}

	.submit-btn {
		font-size: 15px;
		padding: 12px;
	}

	.hope-table input,
	.hope-table select,
	.hope-table textarea {
		font-size: 14px;
		padding: 6px;
	}
}

.breadcrumbs {
	font-size: 0.9rem;
	margin-bottom: 1.5rem;
}

.profile-banner {
	width: 80%;
	margin-inline: auto;
	margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
	.profile-banner {
		width: 100%;
	}
}

/* プロフィールフォーム全体 */
#profile-form {
	background: #fff;
	padding: 32px;
	max-width: 800px;
	margin: 0 auto;
	border-radius: 12px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	font-size: 16px;
}

/* 見出し */
#profile-form h2,
#profile-form h3 {
	border-left: 6px solid #f2a4b0;
	padding-left: 12px;
	margin-top: 16px;
	margin-bottom: 16px;
	font-size: 18px;
	color: #333;
}

/* ラベルと入力の共通スタイル */
#profile-form label {
	font-weight: bold;
	color: #555;
	display: block;
	margin-bottom: 4px;
}

#profile-form input[type="text"],
#profile-form input[type="email"],
#profile-form input[type="date"],
#profile-form input[type="file"],
#profile-form input[type="number"],
#profile-form select {
	width: 100%;
	font-size: 15px !important;
	border: 1px solid #ccc !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
}

/* 小さな注意書き */
#profile-form small {
	font-size: 13px;
	color: #888;
}

/* 学歴・職歴・資格の追加ボタン */
#profile-form .education-block button[type="button"],
#profile-form .work-block button[type="button"],
#profile-form .license-block button[type="button"] {
	background-color: #f2a4b0;
	color: #fff;
	border: none;
	padding: 8px 16px;
	border-radius: 25px;
	cursor: pointer;
	margin-top: 8px;
	margin-bottom: 24px;
	font-size: 14px;
}

#profile-form .education-block button[type="button"]:hover,
#profile-form .work-block button[type="button"]:hover,
#profile-form .license-block button[type="button"]:hover {
	background-color: #e38a9a;
}

/* 最下部の送信ボタン */
#save-profile {
	display: block;
	width: 100%;
	background-color: #f2a4b0;
	color: #fff;
	border: none;
	padding: 14px;
	border-radius: 8px;
	font-size: 16px;
	cursor: pointer;
	margin-top: 24px;
}

#save-profile:hover {
	background-color: #e38a9a;
}

/* プレビュー画像 */
#profile-form img {
	/* margin-top: 8px;
margin-bottom: 16px; */
	border: 1px solid #ddd;
}

/* メディアクエリ：767px以下 */
@media screen and (max-width: 767px) {
	#profile-form {
		padding: 24px;
		font-size: 15px;
	}

	#profile-form h2,
	#profile-form h3 {
		font-size: 17px;
	}
}

/* メディアクエリ：500px以下 */
@media screen and (max-width: 500px) {
	#profile-form {
		padding: 16px;
		font-size: 14px;
	}

	#save-profile {
		font-size: 15px;
		padding: 12px;
	}

	#profile-form button[type="button"] {
		font-size: 13px;
		padding: 6px 12px;
	}
}

.profile-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 32px;
}

@media screen and (max-width: 500px) {
	.profile-table {
		margin-bottom: 12px;
	}
}

.profile-table th,
.profile-table td {
	border: 1px solid #ddd;
	padding: 12px;
	vertical-align: top;
	text-align: left;
}

.profile-table th {
	background-color: #fff0f3;
	width: 200px;
	font-weight: bold;
	color: #444;
}

.profile-table input[type="text"],
.profile-table input[type="file"],
.profile-table input[type="date"],
.profile-table input[type="email"],
.profile-table select {
	width: 100%;
	padding: 8px !important;
	font-size: 15px;
	border: 1px solid #ccc !important;
	border-radius: 6px;
	box-sizing: border-box;
}

/* 姓・名 横並び用 */
.name-row {
	display: flex;
	gap: 12px;
}

.name-row input {
	flex: 1;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
	/* .name-row {
        flex-direction: column;
    } */

	.profile-table th,
	.profile-table td {
		display: block;
		width: 100%;
	}

	.profile-table tr {
		display: block;
		margin-bottom: 16px;
	}
}

@media screen and (max-width: 500px) {
	.profile-table input,
	.profile-table select {
		font-size: 14px;
		padding: 6px;
	}
}

/* 共通の履歴ブロック（学歴・職歴・資格） */
.education-block,
.work-block,
.license-block {
	display: grid;
	gap: 10px;
	grid-template-columns: 100px 100px 1fr 100px;
	border: 1px solid #ddd;
	padding: 16px;
	border-radius: 8px;
	margin-bottom: 26px;
	background-color: #fdfdfd;
	position: relative;
}

@media screen and (max-width: 600px) {
	.education-block,
	.work-block,
	.license-block {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		/* 1行目は3等分 */
		grid-template-rows: auto auto;
		gap: 10px;
	}

	/* 年 */
	.education-block select:nth-of-type(1),
	.work-block select:nth-of-type(1),
	.license-block select:nth-of-type(1) {
		grid-column: 1;
		grid-row: 1;
	}

	/* 月 */
	.education-block select:nth-of-type(2),
	.work-block select:nth-of-type(2),
	.license-block select:nth-of-type(2) {
		grid-column: 2;
		grid-row: 1;
	}

	/* 区分（4番目のselect） → 上へ */
	.education-block select:nth-of-type(3),
	.work-block select:nth-of-type(3),
	.license-block select:nth-of-type(3) {
		grid-column: 3;
		grid-row: 1;
	}

	/* 内容（input）→ 下へ＆横幅100%で広げる */
	.education-block input[type="text"],
	.work-block input[type="text"],
	.license-block input[type="text"] {
		grid-column: 1 / 4;
		/* 3列分使う */
		grid-row: 2;
		width: 100%;
	}
}

/* ブロック内のselectやinputの並び */
/* .education-block select,
.work-block select,
.license-block select,
.education-block input[type="text"],
.work-block input[type="text"],
.license-block input[type="text"] {
    min-width: 100px;
} */

/* レスポンシブ対応（狭い画面で折り返す） */
@media screen and (max-width: 600px) {
	.education-block,
	.work-block,
	.license-block {
		padding: 12px;
	}

	.education-block select,
	.work-block select,
	.license-block select,
	.education-block input[type="text"],
	.work-block input[type="text"],
	.license-block input[type="text"] {
		width: 100%;
		margin-right: 0;
	}
}

.remove-block {
	position: absolute;
	top: -20px;
	right: -15px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-size: 12px !important;
	padding: 4px 10px !important;
}

.photo-wrapper {
	position: relative;
	width: 110px;
	border-radius: 8px;
	overflow: hidden;
	margin-inline: auto;
}

#photo-preview {
	/* width: 80%; */
	height: 100px;
	margin-inline: auto;
	object-fit: cover;
	/* 枠にフィットしつつトリミング */
	object-position: center;
	display: block;
}

.icon-button {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	position: absolute;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
	border: none !important;
	border-radius: 50%;
	background-color: rgb(85, 85, 85) !important;
	font-size: 20px !important;
	cursor: pointer;
	line-height: 32px !important;
	text-align: center;
	color: #333;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.icon-button::before {
	content: "📷";
	/* 初期カメラマーク */
	display: inline-block;
	line-height: 1;
	font-size: 16px;
}

.icon-button.remove-mode::before {
	content: "×";
	/* 画像あり時は×マーク */
}

.photo-delete-wrapper {
	margin-top: 10px;
	text-align: center;
}

.photo-delete-btn {
	background-color: #f4f4f4;
	color: #d33;
	border: 1px solid #d33;
	padding: 6px 12px;
	font-size: 14px;
	border-radius: 4px;
	cursor: pointer;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.photo-delete-btn:hover {
	background-color: #fff0f0;
}

input[type="checkbox"],
input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 15px !important;
	height: 15px !important;
	border: 2px solid #ec7aa1 !important; /* 枠の色（薄ピンク） */
	border-radius: 4px !important;
	background-color: #fff !important;
	cursor: pointer !important;
	position: relative !important;
	vertical-align: -2px !important;
	font-size: 9px !important;
}

input[type="checkbox"]:checked {
	background-color: #ec7aa1 !important; /* チェック時の背景色 */
}

input[type="checkbox"]:checked::after {
	content: "✔" !important;
	color: white !important;
	font-size: 14px !important;
	position: absolute !important;
	top: -1px !important;
	left: 0 !important;
}

input {
	min-height: auto !important;
	padding: 4px !important;
}

/* ラジオボタン用に角を丸く */
input[type="radio"] {
	border-radius: 50% !important;
	position: relative !important; /* ← 追加 */
}

/* ラジオボタンのチェックスタイル（中央に丸） */
input[type="radio"]:checked::before {
	content: "" !important;
	position: absolute !important;
	top: 2px !important;
	left: 2px !important;
	width: 7px !important;
	height: 7px !important;
	background-color: #ec7aa1 !important;
	border-radius: 50% !important;
}

.birth-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
.birth-year {
	width: 60px !important;
}
.birth-month {
	width: 40px !important;
}
.birth-day {
	width: 40px !important;
}
