/* ==============================
   マイページ
============================== */

.potowa-mypage {
	max-width: 820px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.potowa-mypage > h2 {
	margin-top: 0;
	text-align: center;
}

.potowa-mypage-profile-image {
	overflow: hidden;
	width: 180px;
	max-width: 65vw;
	aspect-ratio: 1 / 1;
	margin: 0 auto 24px;
	border-radius: 50%;
	background: #f4f4f4;
}

.potowa-mypage-profile-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.potowa-mypage > p {
	line-height: 1.8;
}

.potowa-mypage dl {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	margin: 28px 0;
	border-top: 1px solid #e5e5e5;
}

.potowa-mypage dt,
.potowa-mypage dd {
	box-sizing: border-box;
	margin: 0;
	padding: 15px;
	border-bottom: 1px solid #e5e5e5;
	line-height: 1.8;
}

.potowa-mypage dt {
	font-weight: bold;
	background: #f7f7f7;
}

.potowa-mypage dd {
	overflow-wrap: anywhere;
}

.potowa-mypage > p > a {
	display: inline-block;
	box-sizing: border-box;
	padding: 11px 18px;
	border: 1px solid #555555;
	border-radius: 4px;
	background: #555555;
	color: #ffffff;
	text-decoration: none;
}

.potowa-mypage > p > a:hover {
	background: #333333;
	color: #ffffff;
}

@media screen and (max-width: 600px) {
	.potowa-mypage {
		margin: 20px;
		padding: 20px;
	}

	.potowa-mypage dl {
		display: block;
		margin: 22px 0;
	}

	.potowa-mypage dt,
	.potowa-mypage dd {
		padding: 12px 14px;
	}

	.potowa-mypage dt {
		border-bottom: 0;
	}

	.potowa-mypage > p {
		margin: 10px 0;
	}

	.potowa-mypage > p > a {
		display: block;
		width: 100%;
		padding: 10px 14px;
		text-align: center;
	}
}

/* ==============================
   プロフィール編集フォーム
============================== */

.potowa-profile-form {
	max-width: 820px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.potowa-profile-form > h2 {
	margin-top: 0;
	text-align: center;
}

.potowa-profile-form form {
	margin-top: 28px;
}

.potowa-profile-form label {
	font-weight: bold;
}

.potowa-profile-form input[type="text"],
.potowa-profile-form input[type="url"],
.potowa-profile-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.6;
}

.potowa-profile-form textarea {
	resize: vertical;
}

.potowa-profile-form button[type="submit"] {
	padding: 12px 22px;
	border: 0;
	border-radius: 4px;
	background: #555555;
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
}

.potowa-profile-form button[type="submit"]:hover {
	background: #333333;
}

.potowa-profile-success,
.potowa-profile-error {
	margin: 20px 0;
	padding: 12px 16px;
	border-radius: 4px;
}

.potowa-profile-success {
	border: 1px solid #79a76f;
	background: #f3faf1;
}

.potowa-profile-error {
	border: 1px solid #c87878;
	background: #fff5f5;
}

.potowa-profile-form > p > a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid #555555;
	border-radius: 4px;
	text-decoration: none;
}

@media screen and (max-width: 600px) {
	.potowa-profile-form {
		margin: 20px;
		padding: 20px;
	}

	.potowa-profile-form input[type="text"],
	.potowa-profile-form input[type="url"] {
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-profile-form textarea {
		min-height: 140px;
		padding: 10px 12px;
		line-height: 1.6;
	}

	.potowa-profile-form button[type="submit"] {
		padding: 10px 18px;
	}
}

/* ==============================
   プロフィール画像
============================== */

.potowa-profile-image-form {
	max-width: 820px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.potowa-profile-image-form > h2 {
	margin-top: 0;
	text-align: center;
}

.potowa-current-profile-image {
	margin: 28px 0;
	text-align: center;
}

.potowa-current-profile-image h3 {
	margin-bottom: 18px;
}

.potowa-current-profile-image img {
	display: block;
	width: 220px !important;
	max-width: 70vw;
	height: 220px !important;
	max-height: 70vw;
	aspect-ratio: 1 / 1;
	margin: 0 auto 20px;
	border-radius: 50%;
	object-fit: cover;
	background: #f4f4f4;
}

.potowa-profile-image-form input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 12px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	background: #ffffff;
}

.potowa-profile-image-form button[type="submit"] {
	padding: 12px 22px;
	border: 0;
	border-radius: 4px;
	background: #555555;
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
}

.potowa-profile-image-form button[type="submit"]:hover {
	background: #333333;
}

.potowa-profile-image-success,
.potowa-profile-image-error {
	margin: 20px 0;
	padding: 12px 16px;
	border-radius: 4px;
}

.potowa-profile-image-success {
	border: 1px solid #79a76f;
	background: #f3faf1;
}

.potowa-profile-image-error {
	border: 1px solid #c87878;
	background: #fff5f5;
}

.potowa-profile-image-form > p > a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid #555555;
	border-radius: 4px;
	text-decoration: none;
}

@media screen and (max-width: 600px) {
	.potowa-profile-image-form {
		padding: 20px;
	}
}

/* ==============================
   ログインフォーム
============================== */

.potowa-login-form {
	max-width: 560px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.potowa-login-form > h2 {
	margin-top: 0;
	text-align: center;
}

.potowa-login-form label {
	font-weight: bold;
}

.potowa-login-form input[type="email"],
.potowa-login-form input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.6;
}

.potowa-login-form input[type="checkbox"] {
	margin-right: 6px;
}

.potowa-login-form button[type="submit"] {
	width: 100%;
	padding: 12px 22px;
	border: 0;
	border-radius: 4px;
	background: #555555;
	color: #ffffff;
	cursor: pointer;
	font-size: 16px;
}

.potowa-login-form button[type="submit"]:hover {
	background: #333333;
}

.potowa-login-error,
.potowa-login-notice {
	margin: 20px 0;
	padding: 12px 16px;
	border-radius: 4px;
}

.potowa-login-error {
	border: 1px solid #c87878;
	background: #fff5f5;
}

.potowa-login-notice {
	border: 1px solid #d4b55d;
	background: #fffbea;
}

.potowa-login-form a {
	text-decoration: none;
}

@media screen and (max-width: 600px) {
	.potowa-login-form {
		margin: 20px;
		padding: 20px;
	}

	.potowa-login-form input[type="email"],
	.potowa-login-form input[type="password"] {
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-login-form button[type="submit"] {
		padding: 10px 18px;
	}
}

/* ==============================
   会員登録フォーム
============================== */

.potowa-registration-form {
	max-width: 620px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.potowa-registration-form > h2 {
	margin-top: 0;
	text-align: center;
}

.potowa-registration-form label {
	font-weight: bold;
}

.potowa-registration-form input[type="text"],
.potowa-registration-form input[type="email"],
.potowa-registration-form input[type="password"],
.potowa-registration-form select {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.6;
}

.potowa-registration-form input[type="checkbox"] {
	margin-right: 6px;
}

.potowa-registration-form button[type="submit"] {
	width: 100%;
	padding: 12px 22px;
	border: 0;
	border-radius: 4px;
	background: #555555;
	color: #ffffff;
	cursor: pointer;
	font-size: 16px;
}

.potowa-registration-form button[type="submit"]:hover {
	background: #333333;
}

.potowa-registration-error,
.potowa-registration-success {
	margin: 20px 0;
	padding: 12px 16px;
	border-radius: 4px;
}

.potowa-registration-error {
	border: 1px solid #c87878;
	background: #fff5f5;
}

.potowa-registration-success {
	border: 1px solid #79a76f;
	background: #f3faf1;
}

@media screen and (max-width: 600px) {
	.potowa-registration-form {
		margin: 20px;
		padding: 20px;
	}

	.potowa-registration-form input[type="text"],
	.potowa-registration-form input[type="email"],
	.potowa-registration-form input[type="password"],
	.potowa-registration-form select {
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-registration-form button[type="submit"] {
		padding: 10px 18px;
	}
}
/* ==============================
   フェーズ3：撮影会関連画面 共通デザイン
============================== */

:root {
	--potowa-primary: #6f361d;
	--potowa-primary-dark: #512512;
	--potowa-primary-soft: #f8f1ed;
	--potowa-accent: #b97851;
	--potowa-text: #2f2a27;
	--potowa-muted: #746d68;
	--potowa-border: #e4ddd8;
	--potowa-surface: #ffffff;
	--potowa-surface-subtle: #faf8f6;
	--potowa-success: #2f7650;
	--potowa-success-bg: #f0f8f3;
	--potowa-warning: #8a6517;
	--potowa-warning-bg: #fff9e8;
	--potowa-danger: #a43d3d;
	--potowa-danger-bg: #fff4f4;
	--potowa-radius: 12px;
	--potowa-shadow: 0 8px 24px rgba(48, 35, 27, 0.08);
}

.potowa-event-submission-form,
.potowa-event-edit,
.potowa-event-management,
.potowa-event-participant-list,
.potowa-participant-application-history,
.potowa-event-application,
.potowa-event-details,
.potowa-event-list {
	box-sizing: border-box;
	max-width: 920px;
	margin: 32px auto;
	color: var(--potowa-text);
}

.potowa-event-submission-form,
.potowa-event-edit,
.potowa-event-management,
.potowa-event-participant-list,
.potowa-participant-application-history,
.potowa-event-application {
	padding: 30px;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: var(--potowa-surface);
	box-shadow: var(--potowa-shadow);
}

.potowa-event-submission-form > h2,
.potowa-event-edit > h2,
.potowa-event-management > h2,
.potowa-event-participant-list > h3,
.potowa-participant-application-history > h3 {
	margin: 0 0 12px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--potowa-primary);
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.35;
}

.potowa-event-submission-form form > p,
.potowa-event-edit form > p {
	margin: 0 0 22px;
}

.potowa-event-submission-form label,
.potowa-event-edit label,
.potowa-event-status-form label {
	display: inline-block;
	margin-bottom: 7px;
	font-weight: 700;
	line-height: 1.5;
}

.potowa-event-submission-form input[type="text"],
.potowa-event-submission-form input[type="date"],
.potowa-event-submission-form input[type="time"],
.potowa-event-submission-form input[type="number"],
.potowa-event-submission-form input[type="datetime-local"],
.potowa-event-submission-form input[type="url"],
.potowa-event-submission-form select,
.potowa-event-submission-form textarea,
.potowa-event-edit input[type="text"],
.potowa-event-edit input[type="date"],
.potowa-event-edit input[type="time"],
.potowa-event-edit input[type="number"],
.potowa-event-edit input[type="datetime-local"],
.potowa-event-edit input[type="url"],
.potowa-event-edit select,
.potowa-event-edit textarea,
.potowa-event-status-form select {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	border: 1px solid #cfc5bf;
	border-radius: 7px;
	background: #ffffff;
	color: var(--potowa-text);
	font-size: 16px;
	line-height: 1.55;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.potowa-event-submission-form textarea,
.potowa-event-edit textarea {
	min-height: 150px;
	resize: vertical;
}

.potowa-event-submission-form input:focus,
.potowa-event-submission-form select:focus,
.potowa-event-submission-form textarea:focus,
.potowa-event-edit input:focus,
.potowa-event-edit select:focus,
.potowa-event-edit textarea:focus,
.potowa-event-status-form select:focus {
	outline: none;
	border-color: var(--potowa-primary);
	box-shadow: 0 0 0 3px rgba(111, 54, 29, 0.13);
}

.potowa-event-submission-form button,
.potowa-event-edit button,
.potowa-event-status-form button,
.potowa-event-application button,
.potowa-event-application-actions button,
.potowa-participant-application-history button {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	background: var(--potowa-primary);
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease;
}

.potowa-event-submission-form button:hover,
.potowa-event-edit button:hover,
.potowa-event-status-form button:hover,
.potowa-event-application button:hover,
.potowa-event-application-actions button:hover,
.potowa-participant-application-history button:hover {
	border-color: var(--potowa-primary-dark);
	background: var(--potowa-primary-dark);
	color: #ffffff;
}

.potowa-event-submission-form button:active,
.potowa-event-edit button:active,
.potowa-event-status-form button:active,
.potowa-event-application button:active,
.potowa-event-application-actions button:active,
.potowa-participant-application-history button:active {
	transform: translateY(1px);
}

.potowa-event-submission-error,
.potowa-event-edit-error,
.potowa-event-status-error,
.potowa-event-application-error {
	margin: 18px 0;
	padding: 14px 16px;
	border: 1px solid #e5adad;
	border-left: 5px solid var(--potowa-danger);
	border-radius: 7px;
	background: var(--potowa-danger-bg);
	color: #762929;
}

.potowa-event-submission-success,
.potowa-event-edit-success,
.potowa-event-status-success,
.potowa-event-application-success {
	margin: 18px 0;
	padding: 14px 16px;
	border: 1px solid #acd2ba;
	border-left: 5px solid var(--potowa-success);
	border-radius: 7px;
	background: var(--potowa-success-bg);
	color: #245d3e;
}

.potowa-event-edit-notice,
.potowa-event-status-notice,
.potowa-event-list-status-notice,
.potowa-event-return-reason {
	margin: 18px 0;
	padding: 14px 16px;
	border: 1px solid #ead38e;
	border-left: 5px solid var(--potowa-warning);
	border-radius: 7px;
	background: var(--potowa-warning-bg);
	color: #664c14;
}

/* 撮影会管理 */
.potowa-event-management > p > a,
.potowa-event-management-actions a,
.potowa-event-edit a,
.potowa-event-list-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	background: #ffffff;
	color: var(--potowa-primary);
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.potowa-event-management > p > a:hover,
.potowa-event-management-actions a:hover,
.potowa-event-edit a:hover,
.potowa-event-list-link:hover {
	background: var(--potowa-primary);
	color: #ffffff;
}

.potowa-event-management-list {
	display: grid;
	gap: 22px;
	margin-top: 24px;
}

.potowa-event-management-item {
	overflow: hidden;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: var(--potowa-surface);
	box-shadow: 0 4px 15px rgba(48, 35, 27, 0.06);
}

.potowa-event-management-header {
	padding: 20px 22px;
	border-bottom: 1px solid var(--potowa-border);
	background: var(--potowa-primary-soft);
}

.potowa-event-management-header h3 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.45;
}

.potowa-event-management-status,
.potowa-event-operational-status {
	display: inline-block;
	margin: 4px 8px 0 0;
	padding: 5px 10px;
	border-radius: 999px;
	background: #ffffff;
	font-size: 14px;
}

.potowa-event-management-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 8px 22px;
}

.potowa-event-management-detail {
	box-sizing: border-box;
	margin: 0;
	padding: 12px 10px;
	border-bottom: 1px solid #eee8e4;
	line-height: 1.65;
}

.potowa-event-management-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 18px 22px 22px;
}

.potowa-event-management-actions > p {
	margin: 0;
}

.potowa-event-status-form {
	flex: 1 1 100%;
	margin-top: 8px;
	padding: 18px;
	border-radius: 9px;
	background: var(--potowa-surface-subtle);
}

.potowa-event-status-form h4 {
	margin: 0 0 14px;
}

/* 主催者の参加者一覧・参加者の申込履歴 */
.potowa-event-participant-list-item,
.potowa-participant-application-history li {
	box-sizing: border-box;
	margin: 18px 0;
	padding: 20px;
	border: 1px solid var(--potowa-border);
	border-radius: 10px;
	background: var(--potowa-surface-subtle);
	list-style: none;
}

.potowa-event-participant-list ul,
.potowa-participant-application-history ul {
	margin: 0;
	padding: 0;
}

.potowa-event-participant-list-item h4 {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--potowa-border);
	font-size: 20px;
}

.potowa-event-participant-list-item li {
	margin: 12px 0;
	padding: 16px;
	border: 1px solid #e4ddd8;
	border-radius: 8px;
	background: #ffffff;
	line-height: 1.75;
	list-style: none;
}

.potowa-event-application-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 12px;
}

.potowa-event-application-actions form {
	margin: 0;
}

.potowa-participant-application-history li > div {
	margin: 4px 0;
	line-height: 1.7;
}

.potowa-participant-application-history form {
	margin-top: 14px;
}

/* 撮影会一覧 */
.potowa-event-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

.potowa-event-list-item {
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: #ffffff;
	box-shadow: var(--potowa-shadow);
}

.potowa-event-list-image {
	width: 100%;
	min-height: 0;
	aspect-ratio: 16 / 7;
	overflow: hidden;
	background: #eee9e5;
}

.potowa-event-list-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.potowa-event-list-content {
	box-sizing: border-box;
	padding: 22px 24px;
}

.potowa-event-list-title {
	margin: 0 0 12px;
	font-size: clamp(21px, 2.5vw, 27px);
	line-height: 1.45;
}

.potowa-event-list-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 18px;
	margin: 16px 0;
	padding: 14px;
	border-radius: 8px;
	background: var(--potowa-surface-subtle);
}

.potowa-event-list-summary-item {
	margin: 0;
	line-height: 1.6;
}

.potowa-event-list-description {
	color: var(--potowa-muted);
	line-height: 1.8;
}

.potowa-event-list-organizer {
	margin-top: 12px;
	font-size: 14px;
	color: var(--potowa-muted);
}

.potowa-event-list-operational-status,
.potowa-event-public-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	margin: 0 0 12px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--potowa-primary-soft);
	color: var(--potowa-primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	box-sizing: border-box;
}

.potowa-event-public-status p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

/* 撮影会詳細 */
.potowa-event-details {
	padding: 26px;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: #ffffff;
	box-shadow: var(--potowa-shadow);
}

.potowa-event-details-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid var(--potowa-border);
}

.potowa-event-detail-item {
	box-sizing: border-box;
	margin: 0;
	padding: 14px 16px;
	border-bottom: 1px solid var(--potowa-border);
	line-height: 1.7;
}

.potowa-event-organizer {
	margin-top: 22px;
	padding: 18px;
	border-radius: 9px;
	background: var(--potowa-surface-subtle);
}

.potowa-event-application {
	margin-top: 24px;
	padding: 22px;
	background: var(--potowa-primary-soft);
}

/* 撮影会詳細：外部予約セクション */
.potowa-event-reservation {
	margin-top: 24px;
	padding: 26px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-radius: var(--potowa-radius, 12px);
	background: var(--potowa-surface, #ffffff);
}

.potowa-event-reservation > h2 {
	margin: 0 0 14px;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.4;
}

.potowa-event-reservation > p {
	margin: 0 0 16px;
	line-height: 1.8;
}

.potowa-event-reservation > p:last-child {
	margin-bottom: 0;
}

.potowa-event-reservation-notice {
	padding: 14px 16px;
	border-radius: 9px;
	background: var(--potowa-surface-subtle, #faf8f6);
}

/* 外部予約ボタン（TCD AVANTの文字色上書き対策込み） */
.potowa-event-reservation-button,
.potowa-event-reservation-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-primary, #6f361d);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	opacity: 1;
	cursor: pointer;
	box-shadow: 0 3px 9px rgba(65, 40, 26, 0.14);
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

.potowa-event-reservation-button:hover,
.potowa-event-reservation-button:focus,
.potowa-event-reservation-button:focus-visible,
.potowa-event-reservation-button:active {
	border-color: var(--potowa-primary-dark, #512512);
	background: var(--potowa-primary-dark, #512512);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none;
	box-shadow: 0 5px 14px rgba(65, 40, 26, 0.22);
}

.potowa-event-reservation-button:hover {
	transform: translateY(-1px);
}

.potowa-event-reservation-button:focus-visible {
	outline: 3px solid rgba(111, 54, 29, 0.3);
	outline-offset: 3px;
}

.potowa-event-reservation-button:active {
	transform: translateY(1px);
}

/* 外部予約URLが利用できない場合の案内 */
.potowa-event-reservation-unavailable {
	background: var(--potowa-surface-subtle, #faf8f6);
}

.potowa-event-reservation-warning {
	padding: 14px 16px;
	border: 1px solid #e5adad;
	border-left: 5px solid var(--potowa-danger, #a43d3d);
	border-radius: 7px;
	background: var(--potowa-danger-bg, #fff4f4);
	color: #762929;
}

/* スマートフォン：外部予約セクション */
@media screen and (max-width: 700px) {
	.potowa-event-reservation {
		padding: 18px;
	}

	.potowa-event-reservation-button {
		width: 100%;
	}
}

/* スマートフォン */
@media screen and (max-width: 700px) {
	.potowa-event-submission-form,
	.potowa-event-edit,
	.potowa-event-management,
	.potowa-event-participant-list,
	.potowa-participant-application-history,
	.potowa-event-application,
	.potowa-event-details {
		margin: 20px auto;
		padding: 18px;
		border-radius: 9px;
	}

	.potowa-event-management-details,
	.potowa-event-list-summary,
	.potowa-event-details-list {
		grid-template-columns: 1fr;
	}

	.potowa-event-management-actions {
		display: block;
		padding: 16px 18px 20px;
	}

	.potowa-event-management-actions > p,
	.potowa-event-management-actions a,
	.potowa-event-status-form button,
	.potowa-event-application-actions form,
	.potowa-event-application-actions button,
	.potowa-participant-application-history button {
		width: 100%;
	}

	.potowa-event-management-actions > p {
		margin: 0 0 9px;
	}

	.potowa-event-list-item {
		grid-template-columns: 1fr;
	}

	.potowa-event-list-image {
	min-height: 0;
	aspect-ratio: 16 / 9;
	}

	.potowa-event-list-content {
	padding: 16px 14px 18px;
	}

	.potowa-event-application-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
}

/* メイン画像がない撮影会は内容を全幅で表示 */
.potowa-event-list-item > .potowa-event-list-content:first-child {
	grid-column: 1 / -1;
	width: 100%;
}

/* 日付・日時入力の枠内に日本語曜日を表示 */
.potowa-date-input-wrap {
	position: relative;
	display: block;
	width: 100%;
}

.potowa-date-input-wrap input[type="date"],
.potowa-date-input-wrap input[type="datetime-local"] {
	position: relative;
	z-index: 2;
	width: 100%;
	color: transparent;
	background-color: transparent;
	caret-color: transparent;
}

.potowa-date-input-display {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 14px;
	right: 48px;
	transform: translateY(-50%);
	display: block;
	color: #333;
	font-size: 1em;
	line-height: 1.4;
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.potowa-date-input-wrap input[type="date"]:focus,
.potowa-date-input-wrap input[type="datetime-local"]:focus {
	outline: none;
}

/* ==================================================
   POTOWA リンク・ボタンの視認性改善
================================================== */

/* 通常のリンクをクリック可能だと分かりやすくする */
.potowa-mypage a:not(.potowa-event-list-link),
.potowa-event-details a:not(.potowa-event-list-link),
.potowa-event-management a:not(.potowa-event-list-link),
.potowa-participant-application-history a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* 主催者マイページ：撮影会管理の主要リンク */
.potowa-mypage-event-management > p {
	display: inline-block;
	margin: 6px 8px 16px 0;
}

.potowa-mypage-event-management > p > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 11px 18px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-primary, #6f361d);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 3px 9px rgba(65, 40, 26, 0.14);
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

/* 新規登録アイコン */
.potowa-mypage-event-management > p:first-of-type > a::before {
	content: "＋";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

/* 撮影会一覧・管理アイコン */
.potowa-mypage-event-management > p:nth-of-type(2) > a::before {
	content: "▤";
	display: inline-block;
	font-size: 20px;
	line-height: 1;
}

/* ホバー時も文字を確実に表示 */
.potowa-mypage-event-management > p > a:hover,
.potowa-mypage-event-management > p > a:focus-visible {
	border-color: var(--potowa-primary-dark, #4f2413);
	background: var(--potowa-primary-dark, #4f2413);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none;
	box-shadow: 0 5px 14px rgba(65, 40, 26, 0.22);
	transform: translateY(-1px);
}

/* POTOWA内の全ボタン・ボタン型リンクで文字消失を防止 */
.potowa-mypage > p > a,
.potowa-mypage-event-management > p > a,
.potowa-event-management > p > a,
.potowa-event-management-actions a,
.potowa-event-edit a,
.potowa-event-list-link,
.potowa-event-submission-form button,
.potowa-event-edit button,
.potowa-event-status-form button,
.potowa-event-application button,
.potowa-event-application-actions button,
.potowa-participant-application-history button {
	opacity: 1;
	text-shadow: none;
}

/* 濃い背景のボタン */
.potowa-mypage > p > a:hover,
.potowa-mypage > p > a:focus-visible,
.potowa-mypage-event-management > p > a:hover,
.potowa-mypage-event-management > p > a:focus-visible,
.potowa-event-submission-form button:hover,
.potowa-event-submission-form button:focus-visible,
.potowa-event-edit button:hover,
.potowa-event-edit button:focus-visible,
.potowa-event-status-form button:hover,
.potowa-event-status-form button:focus-visible,
.potowa-event-application button:hover,
.potowa-event-application button:focus-visible,
.potowa-event-application-actions button:hover,
.potowa-event-application-actions button:focus-visible,
.potowa-participant-application-history button:hover,
.potowa-participant-application-history button:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* 白背景から濃色背景へ変わるボタン型リンク */
.potowa-event-management > p > a:hover,
.potowa-event-management > p > a:focus-visible,
.potowa-event-management-actions a:hover,
.potowa-event-management-actions a:focus-visible,
.potowa-event-edit a:hover,
.potowa-event-edit a:focus-visible,
.potowa-event-list-link:hover,
.potowa-event-list-link:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none;
}

/* 内部にspan等がある場合も文字色を継承 */
.potowa-mypage a:hover *,
.potowa-event-management a:hover *,
.potowa-event-edit a:hover *,
.potowa-event-list-link:hover *,
.potowa-mypage button:hover *,
.potowa-event-management button:hover *,
.potowa-event-edit button:hover * {
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

/* キーボード操作時の視認性 */
.potowa-mypage a:focus-visible,
.potowa-mypage button:focus-visible,
.potowa-event-management a:focus-visible,
.potowa-event-management button:focus-visible,
.potowa-event-edit a:focus-visible,
.potowa-event-edit button:focus-visible,
.potowa-event-application a:focus-visible,
.potowa-event-application button:focus-visible {
	outline: 3px solid rgba(111, 54, 29, 0.3);
	outline-offset: 3px;
}

/* スマートフォン */
@media screen and (max-width: 700px) {
	.potowa-mypage-event-management > p {
		display: block;
		margin: 8px 0;
	}

	.potowa-mypage-event-management > p > a {
		width: 100%;
	}
}

/* ==================================================
   アカウント設定画面
================================================== */

.potowa-account-settings {
	max-width: 820px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #e2ddd9;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 5px 20px rgba(55, 35, 25, 0.07);
}

.potowa-account-settings > h2 {
	margin-top: 0;
	padding-bottom: 14px;
	border-bottom: 3px solid #7a351b;
}

.potowa-account-settings-summary {
	margin: 28px 0;
	padding: 22px;
	border: 1px solid #ebe5e1;
	border-radius: 10px;
	background: #faf8f6;
}

.potowa-account-settings-summary h3 {
	margin-top: 0;
}

.potowa-account-settings-summary dl {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	margin: 0;
	border-top: 1px solid #e5dfdb;
}

.potowa-account-settings-summary dt,
.potowa-account-settings-summary dd {
	box-sizing: border-box;
	margin: 0;
	padding: 14px 16px;
	border-bottom: 1px solid #e5dfdb;
	line-height: 1.7;
}

.potowa-account-settings-summary dt {
	font-weight: 700;
	background: #f2eeeb;
}

.potowa-account-settings-summary dd {
	overflow-wrap: anywhere;
	background: #ffffff;
}

/* 設定メニューのグループ */
.potowa-account-settings-menu > h3 {
	margin: 30px 0 12px;
	padding-left: 12px;
	border-left: 4px solid #7a351b;
}

.potowa-account-settings-menu ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.potowa-account-settings-menu li {
	margin: 0;
	padding: 0;
}

/* 各設定リンクをボタン化 */
.potowa-account-settings-menu li > a,
.potowa-account-settings-withdrawal p > a,
.potowa-account-settings > p:last-child > a {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 52px;
	padding: 13px 42px 13px 48px;
	border: 1px solid #d5cbc5;
	border-radius: 8px;
	background: #ffffff;
	color: #4a2a1c !important;
	-webkit-text-fill-color: #4a2a1c !important;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(60, 35, 22, 0.06);
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

/* 右矢印 */
.potowa-account-settings-menu li > a::after,
.potowa-account-settings-withdrawal p > a::after,
.potowa-account-settings > p:last-child > a::after {
	content: "›";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-52%);
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
}

/* 共通アイコン */
.potowa-account-settings-menu li > a::before,
.potowa-account-settings-withdrawal p > a::before,
.potowa-account-settings > p:last-child > a::before {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	font-size: 19px;
	line-height: 1;
}

/* プロフィール編集 */
.potowa-account-settings-menu h3:nth-of-type(1) + ul li:nth-child(1) > a::before {
	content: "✎";
}

/* プロフィール画像 */
.potowa-account-settings-menu h3:nth-of-type(1) + ul li:nth-child(2) > a::before {
	content: "▣";
}

/* メール変更 */
.potowa-account-settings-menu h3:nth-of-type(2) + ul li:nth-child(1) > a::before {
	content: "✉";
}

/* パスワード変更 */
.potowa-account-settings-menu h3:nth-of-type(2) + ul li:nth-child(2) > a::before {
	content: "🔒";
	font-size: 16px;
}

/* ログアウト */
.potowa-account-settings-menu h3:nth-of-type(3) + ul li:nth-child(1) > a::before {
	content: "↪";
}

/* ホバー */
.potowa-account-settings-menu li > a:hover,
.potowa-account-settings-menu li > a:focus-visible,
.potowa-account-settings > p:last-child > a:hover,
.potowa-account-settings > p:last-child > a:focus-visible {
	border-color: #7a351b;
	background: #7a351b;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none;
	box-shadow: 0 5px 14px rgba(75, 35, 18, 0.18);
	transform: translateY(-1px);
}

/* 退会欄 */
.potowa-account-settings-withdrawal {
	margin-top: 34px;
	padding: 22px;
	border: 1px solid #e3c9c9;
	border-radius: 10px;
	background: #fff8f8;
}

.potowa-account-settings-withdrawal hr {
	display: none;
}

.potowa-account-settings-withdrawal h3 {
	margin-top: 0;
	color: #8b2525;
}

.potowa-account-settings-withdrawal p > a {
	max-width: 320px;
	border-color: #c78383;
	color: #8b2525 !important;
	-webkit-text-fill-color: #8b2525 !important;
}

.potowa-account-settings-withdrawal p > a::before {
	content: "!";
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
}

.potowa-account-settings-withdrawal p > a:hover,
.potowa-account-settings-withdrawal p > a:focus-visible {
	border-color: #9b2929;
	background: #9b2929;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none;
}

/* マイページへ戻る */
.potowa-account-settings > p:last-child {
	margin-top: 28px;
}

.potowa-account-settings > p:last-child > a {
	max-width: 260px;
}

.potowa-account-settings > p:last-child > a::before {
	content: "←";
}

/* フォーカス */
.potowa-account-settings a:focus-visible {
	outline: 3px solid rgba(122, 53, 27, 0.25);
	outline-offset: 3px;
}

/* スマートフォン */
@media screen and (max-width: 700px) {
	.potowa-account-settings {
		padding: 20px;
	}

	.potowa-account-settings-summary {
		padding: 14px;
	}

	.potowa-account-settings-summary dl {
		display: block;
	}

	.potowa-account-settings-summary dt {
		border-bottom: 0;
	}

	.potowa-account-settings-menu ul {
		grid-template-columns: 1fr;
	}

	.potowa-account-settings-menu li > a,
	.potowa-account-settings-withdrawal p > a,
	.potowa-account-settings > p:last-child > a {
		width: 100%;
		max-width: none;
	}
}

/* ボタン型リンクではホバー時の下線を出さない */
.potowa-mypage a:hover,
.potowa-mypage a:focus-visible,
.potowa-account-settings a:hover,
.potowa-account-settings a:focus-visible,
.potowa-event-management a:hover,
.potowa-event-management a:focus-visible,
.potowa-event-edit a:hover,
.potowa-event-edit a:focus-visible,
.potowa-event-list-link:hover,
.potowa-event-list-link:focus-visible {
	text-decoration: none !important;
}

/* ボタン内の子要素にも下線を出さない */
.potowa-mypage a:hover *,
.potowa-account-settings a:hover *,
.potowa-event-management a:hover *,
.potowa-event-edit a:hover *,
.potowa-event-list-link:hover * {
	text-decoration: none !important;
}

/* アカウント設定メニューの箇条書き記号を完全に消す */
.potowa-account-settings-menu ul,
.potowa-account-settings-menu li {
	list-style: none !important;
	list-style-type: none !important;
}

.potowa-account-settings-menu li::marker {
	content: "";
	font-size: 0;
}

.potowa-account-settings-menu li {
	padding-left: 0 !important;
}

/* 撮影会一覧：タイトルを強調 */
.potowa-event-list-title {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 14px 44px;
	font-size: 22px;
	line-height: 1.5;
	font-weight: 700;
	border-bottom: 2px solid #eadfd9;
}

/* カメラ風アイコン */
.potowa-event-list-title::before {
	content: "●";
	position: absolute;
	top: 2px;
	left: 0;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 0;
	background: #8f3d1d;
	border-radius: 50%;
}

/* アイコン中央のレンズ */
.potowa-event-list-title::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 8px;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
}

.potowa-event-list-title a {
	color: #2f2926;
	text-decoration: none;
}

.potowa-event-list-title a:hover,
.potowa-event-list-title a:focus-visible {
	color: #8f3d1d;
	text-decoration: none;
}

/* モデル・主催者一覧 */
.potowa-member-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 30px;
}

.potowa-member-list-item {
	padding: 24px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(47, 41, 38, 0.06);
}

.potowa-member-list-item > a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.potowa-member-list-image {
	overflow: hidden;
	margin-bottom: 18px;
	aspect-ratio: 4 / 3;
	background: #f7f3f1;
	border-radius: 8px;
}

.potowa-member-list-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.potowa-member-list-item h3 {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 12px 38px;
	font-size: 21px;
	line-height: 1.5;
	font-weight: 700;
	color: #2f2926;
	border-bottom: 2px solid #eadfd9;
}

.potowa-member-list-item h3::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 28px;
	height: 28px;
	background: #8f3d1d;
	border-radius: 50%;
}

.potowa-member-list-item h3::after {
	content: "";
	position: absolute;
	top: 9px;
	left: 7px;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
}

.potowa-member-list-item > a:hover h3,
.potowa-member-list-item > a:focus-visible h3 {
	color: #8f3d1d;
}

.potowa-member-list-role {
	display: inline-block;
	margin: 0 0 18px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 700;
	color: #8f3d1d;
	background: #f7ede8;
	border-radius: 999px;
}

.potowa-member-list-area,
.potowa-member-list-genres,
.potowa-member-list-availability,
.potowa-member-list-organization,
.potowa-member-list-bio {
	margin: 0 0 14px;
	line-height: 1.8;
}

.potowa-member-list-profile-link {
	margin: 22px 0 0;
}

.potowa-member-list-profile-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 18px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	background: #8f3d1d;
	border: 1px solid #8f3d1d;
	border-radius: 5px;
	box-shadow: 0 4px 10px rgba(143, 61, 29, 0.16);
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.potowa-member-list-profile-link a::after {
	content: "›";
	margin-left: 10px;
	font-size: 18px;
	line-height: 1;
}

.potowa-member-list-profile-link a:hover,
.potowa-member-list-profile-link a:focus-visible {
	color: #fff;
	text-decoration: none;
	background: #6f2f17;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(143, 61, 29, 0.24);
}

@media (max-width: 767px) {
	.potowa-member-list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.potowa-member-list-item {
		padding: 20px;
	}

	.potowa-member-list-item h3 {
		font-size: 19px;
	}
}

/* モデル一覧ボタンの文字色を確実に白へ */
.potowa-member-list-profile-link a,
.potowa-member-list-profile-link a:visited,
.potowa-member-list-profile-link a:hover,
.potowa-member-list-profile-link a:focus-visible {
	color: #fff !important;
}

/* モデル一覧ボタンのホバー下線を削除 */
.potowa-member-list-profile-link a,
.potowa-member-list-profile-link a:visited,
.potowa-member-list-profile-link a:hover,
.potowa-member-list-profile-link a:focus,
.potowa-member-list-profile-link a:focus-visible,
.potowa-member-list-profile-link a:active,
.potowa-member-list-profile-link a:hover *,
.potowa-member-list-profile-link a:focus-visible * {
	text-decoration: none !important;
}

/* 公開プロフィール */
.potowa-public-profile {
	max-width: 900px;
	margin: 0 auto;
}

/* プロフィール上部 */
.potowa-public-profile-header {
	position: relative;
	overflow: hidden;
	margin-bottom: 28px;
	padding: 38px 30px 32px;
	text-align: center;
	background:
		linear-gradient(
			135deg,
			#fff 0%,
			#faf4f1 55%,
			#f3e4dd 100%
		);
	border: 1px solid #eadfd9;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(47, 41, 38, 0.08);
}

/* 上部の飾り */
.potowa-public-profile-header::before {
	content: "";
	position: absolute;
	top: -70px;
	right: -55px;
	width: 180px;
	height: 180px;
	background: rgba(143, 61, 29, 0.08);
	border-radius: 50%;
}

.potowa-public-profile-header::after {
	content: "";
	position: absolute;
	bottom: -80px;
	left: -65px;
	width: 170px;
	height: 170px;
	background: rgba(143, 61, 29, 0.05);
	border-radius: 50%;
}

/* プロフィール画像 */
.potowa-public-profile-image {
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 150px;
	height: 150px;
	margin: 0 auto 20px;
	background: #f3ece8;
	border: 5px solid #fff;
	border-radius: 50%;
	box-shadow: 0 8px 22px rgba(47, 41, 38, 0.16);
}

.potowa-public-profile-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

/* 名前 */
.potowa-public-profile-header h2 {
	position: relative;
	z-index: 1;
	margin: 0 0 12px;
	padding: 0;
	font-size: 28px;
	line-height: 1.4;
	font-weight: 700;
	color: #2f2926;
	border: 0;
}

/* 会員種別 */
.potowa-public-profile-header > p {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 6px 16px;
	font-size: 13px;
	font-weight: 700;
	color: #8f3d1d;
	background: #fff;
	border: 1px solid #e4c9bd;
	border-radius: 999px;
	box-shadow: 0 3px 8px rgba(47, 41, 38, 0.06);
}

/* プロフィール項目の配置 */
.potowa-public-profile-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/* 各プロフィール項目 */
.potowa-public-profile-field {
	position: relative;
	margin: 0;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-radius: 10px;
	box-shadow: 0 5px 16px rgba(47, 41, 38, 0.05);
}

/* 項目見出し */
.potowa-public-profile-field h3,
.potowa-public-profile-content > h3 {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 11px 30px;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	color: #513126;
	border-bottom: 1px solid #eadfd9;
}

/* 見出しアイコン */
.potowa-public-profile-field h3::before,
.potowa-public-profile-content > h3::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 16px;
	height: 16px;
	background: #8f3d1d;
	border: 4px solid #f3dfd6;
	border-radius: 50%;
	box-sizing: border-box;
}

/* 項目本文 */
.potowa-public-profile-field p {
	margin: 0;
	line-height: 1.9;
	color: #4b4542;
	overflow-wrap: anywhere;
}

/* 未登録表示を控えめにする */
.potowa-public-profile-field p:only-child {
	color: #777;
}

/* Webサイト・SNS */
.potowa-public-profile-content > h3 {
	grid-column: 1 / -1;
	margin: 0;
	padding: 22px 24px 14px 54px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 5px 16px rgba(47, 41, 38, 0.05);
}

.potowa-public-profile-content > h3::before {
	top: 27px;
	left: 24px;
}

.potowa-public-profile-content > h3 + p {
	grid-column: 1 / -1;
	margin: -20px 0 0;
	padding: 18px 24px 22px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-top: 0;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 5px 16px rgba(47, 41, 38, 0.05);
}

/* Webサイト・SNSボタン */
.potowa-public-profile-content > h3 + p a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 18px;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	background: #8f3d1d;
	border-radius: 5px;
	box-shadow: 0 4px 10px rgba(143, 61, 29, 0.16);
	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.potowa-public-profile-content > h3 + p a::after {
	content: "↗";
	margin-left: 9px;
	font-size: 14px;
}

.potowa-public-profile-content > h3 + p a:hover,
.potowa-public-profile-content > h3 + p a:focus-visible {
	color: #fff !important;
	text-decoration: none !important;
	background: #6f2f17;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(143, 61, 29, 0.24);
}

/* スマートフォン */
@media (max-width: 767px) {
	.potowa-public-profile-header {
		padding: 30px 20px 26px;
		border-radius: 10px;
	}

	.potowa-public-profile-image {
		width: 120px;
		height: 120px;
	}

	.potowa-public-profile-header h2 {
		font-size: 23px;
	}

	.potowa-public-profile-content {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.potowa-public-profile-field {
		padding: 20px;
	}
}

/* 公開プロフィールの最終調整 */
.potowa-public-profile-header {
	padding-top: 30px;
	padding-bottom: 26px;
}

.potowa-public-profile-header h2 {
	font-size: 30px;
}

.potowa-public-profile-field {
	min-height: 150px;
}

.potowa-public-profile-field p {
	display: inline-block;
}

.potowa-public-profile-field p {
	padding: 0;
}

/* 未登録表示をバッジ風にする */
.potowa-public-profile-field p {
	color: #4b4542;
}

.potowa-public-profile-field p:not(:empty) {
	max-width: 100%;
}

@media (max-width: 767px) {
	.potowa-public-profile-field {
		min-height: auto;
	}
}

/* モデル・主催者カードを内容に応じた高さにする */
.potowa-member-list {
	align-items: start;
}

/* 募集について */
.potowa-entry-guide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 32px 0 28px;
}

.potowa-entry-guide-card,
.potowa-entry-guide-contact {
	position: relative;
	padding: 28px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(47, 41, 38, 0.06);
}

.potowa-entry-guide-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: #8f3d1d;
	border-radius: 12px 12px 0 0;
}

.potowa-entry-guide-card h3,
.potowa-entry-guide-contact h3 {
	position: relative;
	margin: 0 0 18px;
	padding: 0 0 12px 34px;
	font-size: 20px;
	line-height: 1.5;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-entry-guide-card h3::before,
.potowa-entry-guide-contact h3::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 22px;
	height: 22px;
	background: #8f3d1d;
	border: 6px solid #f3dfd6;
	border-radius: 50%;
	box-sizing: border-box;
}

.potowa-entry-guide-card p,
.potowa-entry-guide-contact p {
	margin: 0 0 18px;
	line-height: 1.9;
}

.potowa-entry-guide-card p:last-child,
.potowa-entry-guide-contact p:last-child {
	margin-bottom: 0;
}

.potowa-entry-guide-card .q_button,
.potowa-entry-guide-contact .q_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	background: #8f3d1d;
	border: 1px solid #8f3d1d;
	border-radius: 5px;
	box-shadow: 0 4px 10px rgba(143, 61, 29, 0.16);
	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.potowa-entry-guide-card .q_button::after,
.potowa-entry-guide-contact .q_button::after {
	content: "›";
	margin-left: 10px;
	font-size: 18px;
	line-height: 1;
}

.potowa-entry-guide-card .q_button:hover,
.potowa-entry-guide-card .q_button:focus-visible,
.potowa-entry-guide-contact .q_button:hover,
.potowa-entry-guide-contact .q_button:focus-visible {
	color: #fff !important;
	text-decoration: none !important;
	background: #6f2f17;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(143, 61, 29, 0.24);
}

.potowa-entry-guide-contact {
	margin-top: 0;
	background: #faf6f4;
	border-color: #e4d2c9;
}

.potowa-entry-guide-contact h3 {
	color: #6f2f17;
}

@media (max-width: 767px) {
	.potowa-entry-guide {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.potowa-entry-guide-card,
	.potowa-entry-guide-contact {
		padding: 22px 20px;
	}

	.potowa-entry-guide-card h3,
	.potowa-entry-guide-contact h3 {
		font-size: 18px;
	}
}

/* 利用ルール */
.potowa-rules {
	max-width: 920px;
	margin: 0 auto;
}

.potowa-rules-intro {
	margin-bottom: 30px;
	padding: 30px;
	background: linear-gradient(135deg, #fff 0%, #faf4f1 100%);
	border: 1px solid #eadfd9;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(47, 41, 38, 0.06);
}

.potowa-rules-intro h2 {
	margin: 0 0 18px;
	padding-bottom: 14px;
	font-size: 26px;
	color: #2f2926;
	border-bottom: 2px solid #8f3d1d;
}

.potowa-rules-intro p {
	margin: 0 0 14px;
	line-height: 1.9;
}

.potowa-rules-intro p:last-child {
	margin-bottom: 0;
}

.potowa-rules-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.potowa-rule-card {
	position: relative;
	margin: 0;
	padding: 24px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-radius: 10px;
	box-shadow: 0 5px 16px rgba(47, 41, 38, 0.05);
}

.potowa-rule-card h3 {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin: 0 0 16px;
	padding: 0 0 13px;
	font-size: 18px;
	line-height: 1.5;
	color: #3d2d27;
	border-bottom: 1px solid #eadfd9;
}

.potowa-rule-card h3 span {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	background: #8f3d1d;
	border-radius: 50%;
	box-shadow: 0 3px 8px rgba(143, 61, 29, 0.18);
}

.potowa-rule-card p {
	margin: 0 0 14px;
	line-height: 1.9;
	color: #4b4542;
}

.potowa-rule-card p:last-child {
	margin-bottom: 0;
}

.potowa-rule-card-warning {
	grid-column: 1 / -1;
	background: #fff8f6;
	border-color: #e6bdb0;
}

.potowa-rule-card-warning h3 {
	color: #8d2d20;
	border-bottom-color: #e6bdb0;
}

.potowa-rule-card-warning h3 span {
	background: #b33b2b;
}

@media (max-width: 767px) {
	.potowa-rules-intro {
		padding: 24px 20px;
	}

	.potowa-rules-intro h2 {
		font-size: 23px;
	}

	.potowa-rules-list {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.potowa-rule-card,
	.potowa-rule-card-warning {
		grid-column: auto;
		padding: 21px 20px;
	}

	.potowa-rule-card h3 {
		font-size: 17px;
	}
}

/* お問い合わせページ */
.potowa-contact-page {
	max-width: 900px;
	margin: 0 auto;
}

.potowa-contact-intro,
.potowa-contact-guide,
.potowa-contact-form {
	margin-bottom: 24px;
	padding: 28px;
	background: #fff;
	border: 1px solid #eadfd9;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(47, 41, 38, 0.06);
}

.potowa-contact-intro {
	background: linear-gradient(135deg, #fff 0%, #faf4f1 100%);
}

.potowa-contact-intro h2,
.potowa-contact-guide h3,
.potowa-contact-form h3 {
	position: relative;
	margin: 0 0 18px;
	padding: 0 0 13px 34px;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-contact-intro h2 {
	padding-left: 0;
	font-size: 26px;
	border-bottom: 2px solid #8f3d1d;
}

.potowa-contact-guide h3::before,
.potowa-contact-form h3::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 22px;
	height: 22px;
	background: #8f3d1d;
	border: 6px solid #f3dfd6;
	border-radius: 50%;
	box-sizing: border-box;
}

.potowa-contact-intro p,
.potowa-contact-guide p,
.potowa-contact-form p {
	margin: 0 0 14px;
	line-height: 1.9;
}

.potowa-contact-intro p:last-child,
.potowa-contact-guide p:last-child,
.potowa-contact-form p:last-child {
	margin-bottom: 0;
}

/* お問い合わせ例 */
.potowa-contact-guide ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.potowa-contact-guide li {
	position: relative;
	margin: 0;
	padding: 13px 16px 13px 38px;
	background: #faf7f5;
	border: 1px solid #eee1db;
	border-radius: 7px;
}

.potowa-contact-guide li::before {
	content: "✓";
	position: absolute;
	top: 12px;
	left: 15px;
	color: #8f3d1d;
	font-weight: 700;
}

/* Contact Form 7 */
.potowa-contact-form .wpcf7 {
	margin-top: 22px;
}

.potowa-contact-form .wpcf7-form {
	padding: 24px;
	background: #faf8f7;
	border: 1px solid #eadfd9;
	border-radius: 10px;
}

.potowa-contact-form .wpcf7-form p {
	margin-bottom: 18px;
}

.potowa-contact-form .wpcf7-form label {
	display: block;
	font-weight: 700;
	color: #3e332e;
}

.potowa-contact-form input[type="text"],
.potowa-contact-form input[type="email"],
.potowa-contact-form input[type="tel"],
.potowa-contact-form input[type="url"],
.potowa-contact-form select,
.potowa-contact-form textarea {
	width: 100%;
	margin-top: 7px;
	padding: 11px 12px;
	background: #fff;
	border: 1px solid #d9ccc6;
	border-radius: 5px;
	box-sizing: border-box;
}

.potowa-contact-form textarea {
	min-height: 220px;
	resize: vertical;
}

.potowa-contact-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 46px;
	padding: 11px 24px;
	color: #fff;
	font-weight: 700;
	background: #8f3d1d;
	border: 1px solid #8f3d1d;
	border-radius: 5px;
	box-shadow: 0 4px 10px rgba(143, 61, 29, 0.16);
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.potowa-contact-form input[type="submit"]:hover,
.potowa-contact-form input[type="submit"]:focus-visible {
	background: #6f2f17;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(143, 61, 29, 0.24);
}

/* プライバシーポリシー案内 */
.potowa-form-note {
	margin-top: 20px !important;
	padding: 14px 16px;
	background: #fff8f3;
	border-left: 4px solid #8f3d1d;
	border-radius: 4px;
}

.potowa-form-note a,
.potowa-form-note a:visited {
	color: #8f3d1d;
	font-weight: 700;
}

.potowa-form-note a:hover,
.potowa-form-note a:focus-visible {
	text-decoration: none;
}

/* スマートフォン */
@media (max-width: 767px) {
	.potowa-contact-intro,
	.potowa-contact-guide,
	.potowa-contact-form {
		padding: 22px 20px;
	}

	.potowa-contact-guide ul {
		grid-template-columns: 1fr;
	}

	.potowa-contact-form .wpcf7-form {
		padding: 20px 16px;
	}

	.potowa-contact-form input[type="submit"] {
		width: 100%;
		min-width: 0;
	}
}

/* お問い合わせ例の箇条書き記号を完全に削除 */
.potowa-contact-guide ul,
.potowa-contact-guide li {
	list-style: none !important;
	list-style-type: none !important;
}

.potowa-contact-guide li::marker {
	content: "";
	font-size: 0;
}

.potowa-contact-guide li {
	padding-left: 38px !important;
}

/* トップページ：開催予定の撮影会 */
.potowa-top-events {
	margin-bottom: 60px;
}

.potowa-top-events > h2 {
	margin-bottom: 10px;
	font-size: 28px;
}

.potowa-top-events > p {
	margin-bottom: 26px;
}

.potowa-top-events .potowa-event-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.potowa-top-events .potowa-event-list-item {
	margin: 0;
	padding: 22px;
}

.potowa-top-events .potowa-event-list-title {
	font-size: 18px;
}

.potowa-top-events .potowa-event-list-summary {
	grid-template-columns: 1fr;
	gap: 10px;
}

.potowa-top-events .potowa-event-list-description {
	display: none;
}

.potowa-top-events-more {
	margin-top: 26px !important;
}

.potowa-top-events-more .q_button {
	color: #fff !important;
	text-decoration: none !important;
	background: #8f3d1d;
}

.potowa-top-events-more .q_button:hover,
.potowa-top-events-more .q_button:focus-visible {
	color: #fff !important;
	text-decoration: none !important;
	background: #6f2f17;
}

@media (max-width: 1000px) {
	.potowa-top-events .potowa-event-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.potowa-top-events .potowa-event-list {
		grid-template-columns: 1fr;
	}

	.potowa-top-events .potowa-event-list-item {
		padding: 20px;
	}
}

/* トップページの撮影会カードを2列に調整 */
.potowa-top-events .potowa-event-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.potowa-top-events .potowa-event-list-item {
	width: auto;
}

@media (max-width: 767px) {
	.potowa-top-events .potowa-event-list {
		grid-template-columns: 1fr;
	}
}

/* トップページでは補足情報を省略してカードをコンパクトにする */
.potowa-top-events
.potowa-event-list-summary > :nth-child(4),
.potowa-top-events
.potowa-event-list-summary > :nth-child(7),
.potowa-top-events
.potowa-event-list-summary > :nth-child(8),
.potowa-top-events
.potowa-event-list-item
.potowa-event-list-organizer {
	display: none;
}

/* トップページのカード内余白を少し縮小 */
.potowa-top-events .potowa-event-list-summary {
	padding: 16px;
}

.potowa-top-events .potowa-event-list-summary > * {
	margin-bottom: 8px;
}

.potowa-top-events .potowa-event-list-link {
	margin-top: 16px;
}

/* トップページ：注目モデル・撮影会主催者 */
.potowa-top-members {
	margin: 70px 0;
}

.potowa-top-models,
.potowa-top-organizers {
	margin-bottom: 60px;
	padding: 38px;
	background: #faf7f5;
	border-radius: 12px;
}

.potowa-top-organizers {
	background: #f5f2f0;
}

.potowa-top-section-heading {
	position: relative;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid #dfd5d0;
}

.potowa-top-section-heading h2 {
	margin: 0 0 6px;
	font-size: 32px;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #2f2926;
}

.potowa-top-section-heading p {
	margin: 0;
	color: #706762;
	line-height: 1.8;
}

/* トップページ内の会員カード */
.potowa-top-members .potowa-member-list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 0;
}

.potowa-top-members .potowa-member-list-item {
	padding: 18px;
	background: #fff;
}

.potowa-top-members .potowa-member-list-image {
	margin-bottom: 14px;
	aspect-ratio: 4 / 3;
}

.potowa-top-members .potowa-member-list-item h3 {
	margin-bottom: 10px;
	padding-left: 34px;
	font-size: 18px;
}

.potowa-top-members .potowa-member-list-role {
	margin-bottom: 12px;
}

/* トップでは情報を絞る */
.potowa-top-members .potowa-member-list-availability,
.potowa-top-members .potowa-member-list-organization,
.potowa-top-members .potowa-member-list-bio {
	display: none;
}

.potowa-top-members .potowa-member-list-area,
.potowa-top-members .potowa-member-list-genres {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.7;
}

.potowa-top-members .potowa-member-list-profile-link {
	margin-top: 16px;
}

.potowa-top-members .potowa-member-list-profile-link a {
	min-height: 38px;
	padding: 7px 14px;
	font-size: 13px;
}

/* 一覧を見るボタン */
.potowa-top-members-more {
	margin: 26px 0 0 !important;
	text-align: right;
}

.potowa-top-members-more .q_button {
	color: #fff !important;
	text-decoration: none !important;
	background: #8f3d1d;
}

.potowa-top-members-more .q_button:hover,
.potowa-top-members-more .q_button:focus-visible {
	color: #fff !important;
	text-decoration: none !important;
	background: #6f2f17;
}

@media (max-width: 1000px) {
	.potowa-top-members .potowa-member-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.potowa-top-members {
		margin: 50px 0;
	}

	.potowa-top-models,
	.potowa-top-organizers {
		margin-bottom: 36px;
		padding: 24px 18px;
	}

	.potowa-top-section-heading h2 {
		font-size: 25px;
	}

	.potowa-top-members .potowa-member-list {
		grid-template-columns: 1fr;
	}

	.potowa-top-members-more {
		text-align: left;
	}
}

/* トップページ：POTOWAに参加する */
.potowa-top-entry {
	margin: 70px 0;
	padding: 42px 38px;
	background: #f7f4f2;
	border-radius: 12px;
}

.potowa-top-entry .potowa-top-section-heading {
	margin-bottom: 30px;
}

.potowa-top-entry .potowa-entry-boxes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.potowa-top-entry .potowa-entry-box {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 28px 24px 24px;
	background: #fff;
	border: 1px solid #e8ddd7;
	border-radius: 10px;
	box-shadow: 0 7px 20px rgba(47, 41, 38, 0.06);
}

.potowa-entry-box-number {
	margin-bottom: 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #8f3d1d;
}

.potowa-top-entry .potowa-entry-box h3 {
	position: relative;
	margin: 0 0 16px;
	padding: 0 0 14px 34px;
	font-size: 20px;
	line-height: 1.5;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-top-entry .potowa-entry-box h3::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 22px;
	height: 22px;
	background: #8f3d1d;
	border: 6px solid #f3dfd6;
	border-radius: 50%;
	box-sizing: border-box;
}

.potowa-top-entry .potowa-entry-box > p {
	margin: 0 0 18px;
	line-height: 1.85;
}

.potowa-top-entry .potowa-entry-box > p:last-child {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 8px;
}

.potowa-top-entry .potowa-entry-box .q_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 17px;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	background: #8f3d1d;
	border: 1px solid #8f3d1d;
	border-radius: 5px;
	box-shadow: 0 4px 10px rgba(143, 61, 29, 0.16);
}

.potowa-top-entry .potowa-entry-box .q_button::after {
	content: "›";
	margin-left: 9px;
	font-size: 18px;
	line-height: 1;
}

.potowa-top-entry .potowa-entry-box .q_button:hover,
.potowa-top-entry .potowa-entry-box .q_button:focus-visible {
	color: #fff !important;
	text-decoration: none !important;
	background: #6f2f17;
	transform: translateY(-1px);
}

@media (max-width: 1000px) {
	.potowa-top-entry .potowa-entry-boxes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.potowa-top-entry {
		margin: 50px 0;
		padding: 28px 18px;
	}

	.potowa-top-entry .potowa-entry-boxes {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.potowa-top-entry .potowa-entry-box {
		padding: 24px 20px;
	}

	.potowa-top-entry .potowa-entry-box h3 {
		font-size: 18px;
	}
}

/* トップページボタンの最終調整 */
.potowa-top-events-more {
	clear: both;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	margin: 26px 0 0 !important;
	text-align: center !important;
}

.potowa-top-events-more .q_button,
.potowa-top-entry .potowa-entry-box .q_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 46px !important;
	min-height: 46px !important;
	padding: 0 20px 4px !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.potowa-top-events-more .q_button {
	min-width: 190px;
	margin: 0 auto !important;
}

.potowa-top-entry .potowa-entry-box > p:last-child {
	display: flex !important;
	align-items: center !important;
	width: 100%;
	margin: auto 0 0 !important;
	padding: 0 !important;
}

.potowa-top-entry .potowa-entry-box .q_button {
	width: 100% !important;
	margin: 0 !important;
}

.potowa-top-events-more .q_button::before,
.potowa-top-entry .potowa-entry-box .q_button::before {
	display: none !important;
}

.potowa-top-events-more .q_button::after,
.potowa-top-entry .potowa-entry-box .q_button::after {
	position: static !important;
	display: inline-block !important;
	margin: 0 0 0 8px !important;
	padding: 0 !important;
	line-height: 1 !important;
	transform: translateY(-1px) !important;
}

.potowa-top-events-more .q_button > span {
	display: inline-block;
	transform: translateY(-1px);
}

.potowa-top-events-more .q_button > span,
.potowa-top-entry .potowa-entry-box .q_button > span {
	display: inline-block;
	transform: translateY(1px) !important;
}

/* 固定ページ上部のAVANT標準ページヘッダーを非表示 */
body.page .p-page-header {
	display: none !important;
}

/* トップページのセクション見出しを強調 */
.potowa-top-events > h2,
.potowa-top-featured-models > h2,
.potowa-top-featured-organizers > h2,
.potowa-top-entry > h2 {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 14px;
	font-size: 30px;
	line-height: 1.4;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-top-events > h2::after,
.potowa-top-featured-models > h2::after,
.potowa-top-featured-organizers > h2::after,
.potowa-top-entry > h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64px;
	height: 3px;
	background: #8f3d1d;
}

@media (max-width: 767px) {
	.potowa-top-events > h2,
	.potowa-top-featured-models > h2,
	.potowa-top-featured-organizers > h2,
	.potowa-top-entry > h2 {
		font-size: 24px;
	}
}

/* トップページ：安心して撮影会を楽しむために */
.potowa-top-rules {
	max-width: 100%;
	margin: 70px 0 0;
	padding: 36px 34px;
	background: #faf7f5;
	border: 1px solid #eadfd9;
	border-radius: 12px;
	box-sizing: border-box;
}

.potowa-top-rules > h2 {
	position: relative;
	margin: 0 0 18px;
	padding-bottom: 14px;
	font-size: 30px;
	line-height: 1.4;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-top-rules > h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64px;
	height: 3px;
	background: #8f3d1d;
}

.potowa-top-rules-intro {
	margin: 0 0 28px;
	line-height: 1.9;
}

.potowa-rule-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.potowa-rule-item {
	padding: 24px 22px;
	background: #ffffff;
	border: 1px solid #eadfd9;
	border-radius: 10px;
	box-shadow: 0 5px 16px rgba(47, 41, 38, 0.06);
}

.potowa-rule-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-bottom: 14px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	background: #8f3d1d;
	border-radius: 50%;
}

.potowa-rule-item h3 {
	margin: 0 0 14px;
	padding-bottom: 12px;
	font-size: 18px;
	line-height: 1.5;
	color: #2f2926;
	border-bottom: 1px solid #eadfd9;
}

.potowa-rule-item p {
	margin: 0;
	line-height: 1.85;
	color: #4b4542;
}

.potowa-top-rules-more {
	margin: 28px 0 0;
	text-align: right;
}

.potowa-top-rules-more .q_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 22px;
	color: #ffffff !important;
	text-decoration: none !important;
	background: #8f3d1d;
	border: 1px solid #8f3d1d;
	border-radius: 5px;
}

.potowa-top-rules-more .q_button:hover,
.potowa-top-rules-more .q_button:focus-visible {
	color: #ffffff !important;
	text-decoration: none !important;
	background: #6f2f17;
}

@media (max-width: 767px) {
	.potowa-top-rules {
		margin-top: 50px;
		padding: 28px 20px;
	}

	.potowa-top-rules > h2 {
		font-size: 24px;
	}

	.potowa-rule-list {
		grid-template-columns: 1fr;
	}

	.potowa-top-rules-more {
		text-align: left;
	}

	.potowa-top-rules-more .q_button {
		width: 100%;
		box-sizing: border-box;
	}
}

/* スマートフォン：ヒーローのキャッチコピー調整 */
@media screen and (max-width: 767px) {
	.p-header-content__inner {
		box-sizing: border-box;
	}

	.p-header-content__title {
		max-width: 320px;
		margin-right: auto !important;
		margin-left: auto !important;
		font-size: 20px !important;
		line-height: 1.45 !important;
		white-space: normal;
	}
}

/* スマートフォン：公開プロフィール項目の余白調整 */
@media screen and (max-width: 767px) {
	.potowa-public-profile-content {
		gap: 12px;
	}

	.potowa-public-profile-field {
		min-height: 0;
		padding: 17px 18px;
	}

	.potowa-public-profile-field h3 {
		margin-bottom: 10px;
		padding-bottom: 9px;
		font-size: 17px;
	}

	.potowa-public-profile-field p {
		line-height: 1.7;
	}
}

/* スマートフォン：モデル一覧の項目を読みやすくする */
@media screen and (max-width: 767px) {
	.potowa-member-list-genres strong,
	.potowa-member-list-availability strong,
	.potowa-member-list-area strong,
	.potowa-member-list-organization strong {
		display: block;
		margin-bottom: 4px;
	}

	.potowa-member-list-genres,
	.potowa-member-list-availability,
	.potowa-member-list-area,
	.potowa-member-list-organization {
		line-height: 1.75;
	}
}

/* スマートフォン：主催者一覧の紹介文を読みやすくする */
@media screen and (max-width: 767px) {
	.potowa-member-list-bio {
		line-height: 1.9;
	}

	.potowa-member-list-item {
		padding-bottom: 22px;
	}
}

/* スマートフォン：撮影会詳細タイトルを調整 */
@media screen and (max-width: 767px) {
	.single-potowa_event .p-entry__title {
		margin-bottom: 10px !important;
		font-size: 28px !important;
		line-height: 1.45 !important;
		letter-spacing: 0.01em;
	}
}

/* スマートフォン：撮影会登録・編集フォームをコンパクトにする */
@media screen and (max-width: 700px) {
	.potowa-event-submission-form textarea,
	.potowa-event-edit textarea {
		min-height: 120px;
		padding: 10px 12px;
		line-height: 1.5;
	}

	.potowa-event-submission-form input[type="text"],
	.potowa-event-submission-form input[type="date"],
	.potowa-event-submission-form input[type="time"],
	.potowa-event-submission-form input[type="number"],
	.potowa-event-submission-form input[type="datetime-local"],
	.potowa-event-submission-form input[type="url"],
	.potowa-event-submission-form select {
		min-height: 44px;
		padding: 9px 12px;
	}
}

/* スマートフォン：撮影会管理カードをコンパクトにする */
@media screen and (max-width: 700px) {
	.potowa-event-management-header {
		padding: 17px 18px;
	}

	.potowa-event-management-header h3 {
		font-size: 20px;
	}

	.potowa-event-management-details {
		padding: 6px 18px;
	}

	.potowa-event-management-detail {
		padding: 10px 8px;
		line-height: 1.55;
	}

	.potowa-event-management-actions {
		gap: 8px;
		padding: 15px 18px 18px;
	}

	.potowa-event-status-form {
		margin-top: 6px;
		padding: 15px;
	}
}

/* スマートフォン：参加者一覧を読みやすくする */
@media screen and (max-width: 700px) {
	.potowa-event-participant-list {
		padding: 16px 12px;
	}

	.potowa-event-participant-list-item {
		margin: 14px 0;
		padding: 12px;
	}

	.potowa-event-participant-list-item ul,
	.potowa-event-participant-list-item li {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		list-style: none !important;
	}

	.potowa-event-participant-list-item li::marker {
		content: "";
	}

	.potowa-event-participant-list-item li {
		box-sizing: border-box;
		margin: 10px 0;
		padding: 14px;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.potowa-event-application-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
		margin-top: 10px;
	}

	.potowa-event-application-actions form,
	.potowa-event-application-actions button {
		width: 100%;
	}

	.potowa-event-application-actions button {
		min-height: 42px;
		padding: 8px 14px;
	}
}

/* スマートフォン：参加申込履歴を読みやすくする */
@media screen and (max-width: 700px) {
	.potowa-participant-application-history {
		padding: 16px 12px;
	}

	.potowa-participant-application-history ul,
	.potowa-participant-application-history li {
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		list-style: none !important;
	}

	.potowa-participant-application-history li::marker {
		content: "";
	}

	.potowa-participant-application-history li {
		box-sizing: border-box;
		margin: 12px 0;
		padding: 14px;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.potowa-participant-application-history form {
		margin-top: 10px;
	}

	.potowa-participant-application-history button {
		width: 100%;
		min-height: 42px;
		padding: 8px 14px;
	}
}

/* メールアドレス変更ページ */
.potowa-email-change {
	box-sizing: border-box;
	max-width: 620px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: #ffffff;
	box-shadow: var(--potowa-shadow);
	color: var(--potowa-text);
}

.potowa-email-change > h2 {
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--potowa-primary);
	font-size: 28px;
	line-height: 1.4;
}

.potowa-email-change > p {
	margin: 0 0 20px;
	line-height: 1.8;
}

.potowa-email-change form {
	margin-top: 26px;
}

.potowa-email-change form > p {
	margin: 0 0 22px;
}

.potowa-email-change label {
	display: inline-block;
	margin-bottom: 7px;
	font-weight: 700;
	line-height: 1.5;
}

.potowa-email-change input[type="email"],
.potowa-email-change input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	border: 1px solid #cfc5bf;
	border-radius: 7px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.55;
}

.potowa-email-change input:focus {
	outline: none;
	border-color: var(--potowa-primary);
	box-shadow: 0 0 0 3px rgba(111, 54, 29, 0.13);
}

.potowa-email-change button[type="submit"] {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	background: var(--potowa-primary);
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
}

.potowa-email-change > p:last-child a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	color: var(--potowa-primary);
	text-decoration: none;
}

.potowa-email-change-notice,
.potowa-email-change-error {
	margin: 20px 0;
	padding: 16px 18px;
	border-radius: 8px;
}

.potowa-email-change-notice {
	border: 1px solid #79a76f;
	background: #f3faf1;
}

.potowa-email-change-error {
	border: 1px solid #c87878;
	background: #fff5f5;
}

@media screen and (max-width: 600px) {
	.potowa-email-change {
		margin: 20px;
		padding: 20px;
	}

	.potowa-email-change > h2 {
		font-size: 22px;
	}

	.potowa-email-change input[type="email"],
	.potowa-email-change input[type="password"] {
		min-height: 44px;
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-email-change button[type="submit"],
	.potowa-email-change > p:last-child a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* パスワード変更ページ */
.potowa-password-change {
	box-sizing: border-box;
	max-width: 620px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: #ffffff;
	box-shadow: var(--potowa-shadow);
	color: var(--potowa-text);
}

.potowa-password-change > h2 {
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--potowa-primary);
	font-size: 28px;
	line-height: 1.4;
}

.potowa-password-change > p {
	margin: 0 0 20px;
	line-height: 1.8;
}

.potowa-password-change form {
	margin-top: 26px;
}

.potowa-password-change form > p {
	margin: 0 0 22px;
}

.potowa-password-change label {
	display: inline-block;
	margin-bottom: 7px;
	font-weight: 700;
	line-height: 1.5;
}

.potowa-password-change input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	border: 1px solid #cfc5bf;
	border-radius: 7px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.55;
}

.potowa-password-change input[type="password"]:focus {
	outline: none;
	border-color: var(--potowa-primary);
	box-shadow: 0 0 0 3px rgba(111, 54, 29, 0.13);
}

.potowa-password-change button[type="submit"] {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	background: var(--potowa-primary);
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
}

.potowa-password-change > p:last-child a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	color: var(--potowa-primary);
	text-decoration: none;
}

.potowa-password-change-error {
	margin: 20px 0;
	padding: 16px 18px;
	border: 1px solid #c87878;
	border-radius: 8px;
	background: #fff5f5;
}

@media screen and (max-width: 600px) {
	.potowa-password-change {
		margin: 20px;
		padding: 20px;
	}

	.potowa-password-change > h2 {
		font-size: 22px;
	}

	.potowa-password-change input[type="password"] {
		min-height: 44px;
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-password-change button[type="submit"],
	.potowa-password-change > p:last-child a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* 退会ページ */
.potowa-withdrawal {
	box-sizing: border-box;
	max-width: 620px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid var(--potowa-border);
	border-radius: var(--potowa-radius);
	background: #ffffff;
	box-shadow: var(--potowa-shadow);
	color: var(--potowa-text);
}

.potowa-withdrawal > h2 {
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--potowa-primary);
	font-size: 28px;
	line-height: 1.4;
}

.potowa-withdrawal-warning {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid #d9a7a7;
	border-radius: 8px;
	background: #fff7f7;
	color: #6f2525;
}

.potowa-withdrawal-warning p {
	margin: 0 0 12px;
	line-height: 1.8;
}

.potowa-withdrawal-warning p:last-child {
	margin-bottom: 0;
}

.potowa-withdrawal form > p {
	margin: 0 0 22px;
}

.potowa-withdrawal label {
	display: inline-block;
	font-weight: 700;
	line-height: 1.7;
}

.potowa-withdrawal input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	margin-top: 7px;
	padding: 11px 13px;
	border: 1px solid #cfc5bf;
	border-radius: 7px;
	background: #ffffff;
	font-size: 16px;
	line-height: 1.55;
}

.potowa-withdrawal input[type="password"]:focus {
	outline: none;
	border-color: var(--potowa-primary);
	box-shadow: 0 0 0 3px rgba(111, 54, 29, 0.13);
}

.potowa-withdrawal input[type="checkbox"] {
	margin-right: 7px;
}

.potowa-withdrawal button[type="submit"] {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid #9c3333;
	border-radius: 7px;
	background: #9c3333;
	color: #ffffff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
}

.potowa-withdrawal > p:last-child {
	margin: 24px 0 0;
}

.potowa-withdrawal > p:last-child a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid var(--potowa-primary);
	border-radius: 7px;
	color: var(--potowa-primary);
	text-decoration: none;
}

.potowa-withdrawal-error {
	margin: 20px 0;
	padding: 16px 18px;
	border: 1px solid #c87878;
	border-radius: 8px;
	background: #fff5f5;
}

@media screen and (max-width: 600px) {
	.potowa-withdrawal {
		margin: 20px;
		padding: 20px;
	}

	.potowa-withdrawal > h2 {
		font-size: 22px;
	}

	.potowa-withdrawal-warning {
		padding: 15px;
	}

	.potowa-withdrawal input[type="password"] {
		min-height: 44px;
		padding: 9px 12px;
		line-height: 1.4;
	}

	.potowa-withdrawal button[type="submit"],
	.potowa-withdrawal > p:last-child a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* ===== モデル審査状態パネル（マイページ） ===== */
.potowa-model-status {
	margin: 0 0 28px;
	padding: 22px 24px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-left: 3px solid var(--potowa-primary, #6f361d);
	border-radius: var(--potowa-radius, 12px);
	background: var(--potowa-surface, #ffffff);
	box-sizing: border-box;
}

.potowa-model-status-pending,
.potowa-model-status-suspended,
.potowa-model-status-rejected {
	border-left-color: var(--potowa-muted, #746d68);
	background: var(--potowa-surface-subtle, #faf8f6);
}

.potowa-model-status p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.9;
	color: #3c3532;
}

.potowa-model-status p:last-child {
	margin-bottom: 0;
}

.potowa-model-status-badge {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin: 0 0 14px !important;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--potowa-primary-soft, #f8f1ed);
	color: var(--potowa-primary, #6f361d);
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.3 !important;
	box-sizing: border-box;
}

.potowa-model-status-message {
	margin: 0 0 16px !important;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--potowa-primary-soft, #f8f1ed);
	color: var(--potowa-primary-dark, #512512);
	font-size: 14px !important;
}

.potowa-model-status-reason {
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-radius: 8px;
	background: var(--potowa-surface, #ffffff);
}

.potowa-model-status-reason h3 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--potowa-primary-dark, #512512);
}

.potowa-model-status-reason p {
	margin: 0;
	font-size: 15px;
}

.potowa-model-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0 !important;
}

.potowa-model-status-actions a,
.potowa-model-status-actions a:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-surface, #ffffff);
	color: var(--potowa-primary, #6f361d) !important;
	-webkit-text-fill-color: var(--potowa-primary, #6f361d);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	opacity: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.potowa-model-status-actions a:hover,
.potowa-model-status-actions a:focus-visible {
	background: var(--potowa-primary, #6f361d);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.potowa-model-status-form {
	margin: 16px 0 0;
}

.potowa-model-status-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 12px 26px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-primary, #6f361d);
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.potowa-model-status-form button[type="submit"]:hover,
.potowa-model-status-form button[type="submit"]:focus-visible {
	border-color: var(--potowa-primary-dark, #512512);
	background: var(--potowa-primary-dark, #512512);
}

/* ===== 主催者審査状態パネル（マイページ） ===== */
.potowa-organizer-status {
	margin: 0 0 28px;
	padding: 22px 24px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-left: 3px solid var(--potowa-primary, #6f361d);
	border-radius: var(--potowa-radius, 12px);
	background: var(--potowa-surface, #ffffff);
	box-sizing: border-box;
}

.potowa-organizer-status-pending,
.potowa-organizer-status-suspended,
.potowa-organizer-status-rejected {
	border-left-color: var(--potowa-muted, #746d68);
	background: var(--potowa-surface-subtle, #faf8f6);
}

.potowa-organizer-status p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.9;
	color: #3c3532;
}

.potowa-organizer-status p:last-child {
	margin-bottom: 0;
}

.potowa-organizer-status-badge {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin: 0 0 14px !important;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--potowa-primary-soft, #f8f1ed);
	color: var(--potowa-primary, #6f361d);
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.3 !important;
	box-sizing: border-box;
}

.potowa-organizer-status-message {
	margin: 0 0 16px !important;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--potowa-primary-soft, #f8f1ed);
	color: var(--potowa-primary-dark, #512512);
	font-size: 14px !important;
}

.potowa-organizer-status-reason {
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-radius: 8px;
	background: var(--potowa-surface, #ffffff);
}

.potowa-organizer-status-reason h3 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--potowa-primary-dark, #512512);
}

.potowa-organizer-status-reason p {
	margin: 0;
	font-size: 15px;
}

.potowa-organizer-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0 !important;
}

.potowa-organizer-status-actions a,
.potowa-organizer-status-actions a:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-surface, #ffffff);
	color: var(--potowa-primary, #6f361d) !important;
	-webkit-text-fill-color: var(--potowa-primary, #6f361d);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	opacity: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.potowa-organizer-status-actions a:hover,
.potowa-organizer-status-actions a:focus-visible {
	background: var(--potowa-primary, #6f361d);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.potowa-organizer-status-form {
	margin: 16px 0 0;
}

.potowa-organizer-status-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 12px 26px;
	border: 1px solid var(--potowa-primary, #6f361d);
	border-radius: 8px;
	background: var(--potowa-primary, #6f361d);
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.potowa-organizer-status-form button[type="submit"]:hover,
.potowa-organizer-status-form button[type="submit"]:focus-visible {
	border-color: var(--potowa-primary-dark, #512512);
	background: var(--potowa-primary-dark, #512512);
}

/* ===== 審査状態による操作制限の案内 ===== */
.potowa-mypage-event-notice,
.potowa-event-submission-notice {
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-left: 3px solid var(--potowa-muted, #746d68);
	border-radius: 8px;
	background: var(--potowa-surface-subtle, #faf8f6);
	font-size: 14px;
	line-height: 1.8;
	color: var(--potowa-muted, #746d68);
	box-sizing: border-box;
}

/* ===== 公開プロフィールのプレビュー表示 ===== */
.potowa-public-profile-preview {
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 1px solid var(--potowa-border, #e4ddd8);
	border-left: 3px solid var(--potowa-muted, #746d68);
	border-radius: 8px;
	background: var(--potowa-surface-subtle, #faf8f6);
	box-sizing: border-box;
}

.potowa-public-profile-preview p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--potowa-muted, #746d68);
}

/* ===== 公開プロフィールの注意書き ===== */
.potowa-public-profile-notice {
	margin: 32px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--potowa-border, #e4ddd8);
}

.potowa-public-profile-notice p {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.02em;
	color: var(--potowa-muted, #746d68);
}

@media screen and (max-width: 700px) {

	.potowa-model-status {
		padding: 18px 16px;
	}

	.potowa-model-status-actions {
		flex-direction: column;
	}

	.potowa-model-status-actions a {
		width: 100%;
	}

	.potowa-model-status-form button[type="submit"] {
		width: 100%;
	}

	.potowa-public-profile-notice p {
		font-size: 12px;
	}
}


/* Public UX refresh: breadcrumb, list and recruitment surfaces. */
.potowa-breadcrumb {
	margin: 0 0 28px;
	font-size: 13px;
	line-height: 1.6;
	color: #7a746f;
}
.potowa-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.potowa-breadcrumb li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
}
.potowa-breadcrumb li + li::before {
	content: "›";
	color: #b7afa9;
}
.potowa-breadcrumb a {
	color: #6e6762;
	text-decoration: none;
}
.potowa-breadcrumb a:hover { color: #a3421d; }

.potowa-list-intro {
	max-width: 760px;
	margin: 0 0 30px;
}
.potowa-list-intro__eyebrow,
.potowa-recruit-eyebrow,
.potowa-empty-state__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	color: #a3421d;
}
.potowa-list-intro h2 {
	margin: 0 0 12px;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.3;
}
.potowa-list-intro p {
	margin: 0;
	color: #5f5853;
	line-height: 1.9;
}
.potowa-empty-state {
	margin: 28px 0 10px;
	padding: 32px;
	border: 1px solid #eee2db;
	border-radius: 18px;
	background: #fbf8f5;
}
.potowa-empty-state h3 { margin: 0 0 10px; font-size: 22px; }
.potowa-empty-state p { margin: 0 0 18px; color: #5f5853; line-height: 1.8; }
.potowa-empty-state__link { font-weight: 700; color: #a3421d; text-decoration: none; }
.potowa-empty-state__link::after { content: " →"; }

.potowa-recruit-page { margin-top: 4px; }
.potowa-recruit-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
	gap: 34px;
	align-items: center;
	margin: 0 0 52px;
	padding: 34px;
	border: 1px solid #eee3dc;
	border-radius: 22px;
	background: linear-gradient(135deg, #fff 0%, #fbf6f2 100%);
}
.potowa-recruit-hero h2 {
	margin: 0 0 16px;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.35;
	letter-spacing: .01em;
}
.potowa-recruit-lead {
	margin: 0 0 22px;
	font-size: 16px;
	line-height: 1.9;
	color: #544e49;
}
.potowa-recruit-visual img {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
	border-radius: 16px;
}
.potowa-recruit-page--model .potowa-recruit-visual img { object-position: 72% center; }
.potowa-recruit-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.potowa-recruit-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border-radius: 3px;
	font-weight: 700;
	text-decoration: none;
}
.potowa-recruit-button--primary { color: #fff; background: #a3421d; }
.potowa-recruit-button--secondary { color: #393431; background: #fff; border: 1px solid #d9cec7; }

.potowa-recruit-section { margin: 0 0 48px; }
.potowa-recruit-section h3 {
	margin: 0 0 18px;
	font-size: 25px;
	line-height: 1.4;
}
.potowa-recruit-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.potowa-recruit-card {
	padding: 24px;
	border: 1px solid #eee5df;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(72, 49, 38, .05);
}
.potowa-recruit-card strong {
	display: block;
	margin-bottom: 8px;
	font-size: 18px;
}
.potowa-recruit-card p { margin: 0; color: #625b56; line-height: 1.8; }
.potowa-recruit-steps { counter-reset: potowa-step; display: grid; gap: 12px; }
.potowa-recruit-step {
	position: relative;
	padding: 20px 22px 20px 66px;
	border-radius: 14px;
	background: #f8f5f2;
}
.potowa-recruit-step::before {
	counter-increment: potowa-step;
	content: counter(potowa-step, decimal-leading-zero);
	position: absolute;
	left: 22px;
	top: 20px;
	font-weight: 700;
	color: #a3421d;
}
.potowa-recruit-step strong { display: block; margin-bottom: 5px; }
.potowa-recruit-step p { margin: 0; color: #625b56; }
.potowa-recruit-note {
	padding: 22px 24px;
	border-left: 3px solid #a3421d;
	background: #fbf8f5;
	color: #4f4945;
}

.potowa-recruit-fee {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.potowa-recruit-fee > div {
	padding: 20px 22px;
	border-radius: 14px;
	background: #f8f5f2;
}
.potowa-recruit-fee strong { display: block; margin-bottom: 6px; font-size: 18px; }
.potowa-recruit-fee p { margin: 0; color: #625b56; }
.potowa-recruit-cta {
	margin-top: 46px;
	padding: 30px;
	text-align: center;
	border-radius: 18px;
	background: #292522;
	color: #fff;
}
.potowa-recruit-cta h3 { margin: 0 0 10px; color: #fff; }
.potowa-recruit-cta p { margin: 0 0 18px; color: rgba(255,255,255,.82); }
.potowa-recruit-cta .potowa-recruit-button--primary { background: #b75128; }

@media (max-width: 700px) {
	.potowa-breadcrumb { margin-bottom: 20px; font-size: 12px; overflow-x: auto; white-space: nowrap; }
	.potowa-breadcrumb ol { flex-wrap: nowrap; width: max-content; }
	.potowa-empty-state { padding: 24px 20px; border-radius: 14px; }
	.potowa-empty-state h3 { font-size: 20px; }
	.potowa-recruit-hero { grid-template-columns: 1fr; gap: 24px; margin-bottom: 38px; padding: 22px 20px; border-radius: 16px; }
	.potowa-recruit-hero h2 { font-size: 29px; }
	.potowa-recruit-visual img { height: 230px; border-radius: 12px; }
	.potowa-recruit-actions { display: grid; grid-template-columns: 1fr; }
	.potowa-recruit-button { width: 100%; }
	.potowa-recruit-grid, .potowa-recruit-fee { grid-template-columns: 1fr; }
	.potowa-recruit-section { margin-bottom: 38px; }
	.potowa-recruit-section h3 { font-size: 22px; }
	.potowa-recruit-card { padding: 20px; }
	.potowa-recruit-step { padding: 18px 18px 18px 58px; }
	.potowa-recruit-step::before { left: 18px; top: 18px; }
	.potowa-recruit-cta { padding: 26px 20px; }
}

/* Keep POTOWA primary CTAs legible against TCD link-color overrides. */
body .p-entry__body a.potowa-recruit-button--primary,
body .p-entry__body a.potowa-recruit-button--primary:hover,
body .p-entry__body a.potowa-recruit-button--primary:focus {
	color: #fff !important;
}
.potowa-recruit-card .potowa-recruit-button {
	margin-top: 18px;
}
.potowa-recruit-note {
	line-height: 1.8;
}

/* Registration role chooser: keep the three role cards readable on desktop. */
.potowa-registration-form {
	max-width: 980px;
}

.potowa-registration-form > h2,
.potowa-registration-form > p,
.potowa-registration-form > form,
.potowa-registration-form > .potowa-registration-error,
.potowa-registration-form > .potowa-registration-success {
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.potowa-registration-entry .potowa-entry-box .q_button {
	height: auto !important;
	min-height: 46px !important;
	padding: 10px 14px !important;
	white-space: normal !important;
}

.potowa-registration-entry .potowa-entry-box .q_button > span {
	white-space: normal;
}

/* Registration role chooser: override AVANT q_button minimum width inside cards. */
.potowa-registration-entry .potowa-entry-box > p:last-child {
	min-width: 0 !important;
	width: 100% !important;
}

.potowa-registration-entry .potowa-entry-box .q_button {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* Desktop header: simplify navigation and emphasize registration. */
@media (min-width: 992px) {
	body .l-header__lower {
		height: 88px !important;
	}

	body main {
		padding-top: 139px !important;
	}

	.p-global-nav > ul {
		align-items: center;
		gap: 24px;
	}

	.p-global-nav > ul > li.menu-item {
		width: auto;
		height: 88px;
		margin-left: 0;
		border: 0;
	}

	.p-global-nav > ul > li.menu-item > a {
		width: auto;
		height: 88px;
		padding: 0 2px;
		white-space: nowrap;
	}

	.p-global-nav > ul > li.menu-item > a::before {
		display: none;
	}

	body .p-global-nav > ul > li.potowa-nav-secondary {
		display: none !important;
	}

	.p-global-nav > ul > li.potowa-nav-register {
		height: 44px;
	}

	.p-global-nav > ul > li.potowa-nav-register > a {
		height: 44px;
		padding: 0 18px;
		border-radius: 2px;
		background: #8f3d1d;
		color: #fff;
		font-weight: 600;
	}

	.p-global-nav > ul > li.potowa-nav-register > a:hover,
	.p-global-nav > ul > li.potowa-nav-register > a:focus-visible {
		background: #6f361d;
		color: #fff;
	}
}

/* Audience journeys: photographer-led entry points and About page. */
.potowa-audience-paths,
.potowa-about-guide {
	--potowa-audience-accent: #8f3d1d;
	--potowa-audience-accent-dark: #6f361d;
	--potowa-audience-soft: #fbf6f2;
	--potowa-audience-border: #eadfd8;
	color: #2f2a27;
}

.potowa-audience-paths {
	margin: 0 0 72px;
	padding: 48px;
	border-radius: 18px;
	background: linear-gradient(135deg, #fff 0%, #fbf6f2 100%);
}

.potowa-audience-paths__heading {
	max-width: 680px;
	margin: 0 auto 32px;
	text-align: center;
}

.potowa-audience-paths__eyebrow,
.potowa-about-guide__eyebrow {
	margin: 0 0 8px;
	color: var(--potowa-audience-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
}

.potowa-audience-paths__heading h2 {
	margin: 0 0 12px;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.35;
}
.potowa-audience-paths__grid {
	display: grid;
	grid-template-columns: 1.25fr .875fr .875fr;
	gap: 18px;
}

.potowa-audience-path {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 26px;
	border: 1px solid var(--potowa-audience-border);
	border-radius: 14px;
	background: #fff;
}

.potowa-audience-path--primary {
	border-color: rgba(143, 61, 29, .3);
	box-shadow: 0 14px 34px rgba(75, 42, 28, .08);
}

.potowa-audience-path__label {
	margin: 0 0 8px;
	color: var(--potowa-audience-accent);
	font-size: 13px;
	font-weight: 700;
}

.potowa-audience-path h3 {
	margin: 0 0 12px;
	font-size: 21px;
	line-height: 1.45;
}

.potowa-audience-path > p:not(.potowa-audience-path__label) {
	margin: 0 0 20px;
	line-height: 1.9;
}

.potowa-audience-path__actions {
	display: flex;
	margin-top: auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.potowa-audience-path__button {
	display: inline-flex;
	min-height: 44px;
	padding: 0 20px;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	background: var(--potowa-audience-accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}
.potowa-audience-path__button:hover,
.potowa-audience-path__button:focus-visible {
	background: var(--potowa-audience-accent-dark);
	color: #fff !important;
}

.potowa-audience-path__text-link {
	margin-top: auto;
	color: var(--potowa-audience-accent) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.potowa-audience-path__text-link::after {
	content: ' →';
}

.potowa-about-guide {
	max-width: 960px;
	margin: 0 auto;
}

.potowa-about-guide > section {
	margin-bottom: 64px;
}

.potowa-about-guide__intro {
	padding: 48px;
	border: 1px solid var(--potowa-audience-border);
	border-radius: 18px;
	background: linear-gradient(135deg, #fff 0%, #fbf6f2 100%);
}

.potowa-about-guide__intro h2 {
	max-width: 760px;
	margin: 0 0 18px;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.4;
}

.potowa-about-guide__intro > p:not(.potowa-about-guide__eyebrow) {
	max-width: 760px;
	margin: 0;
	font-size: 16px;
	line-height: 2;
}
.potowa-about-guide__hero-actions {
	display: flex;
	margin-top: 26px;
	flex-wrap: wrap;
	gap: 12px;
}

.potowa-about-guide__primary,
.potowa-about-guide__secondary {
	display: inline-flex;
	min-height: 46px;
	padding: 0 22px;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	font-weight: 700;
	text-decoration: none !important;
}

.potowa-about-guide__primary {
	background: var(--potowa-audience-accent);
	color: #fff !important;
}

.potowa-about-guide__secondary {
	border: 1px solid var(--potowa-audience-accent);
	background: #fff;
	color: var(--potowa-audience-accent) !important;
}

.potowa-about-guide__steps h2,
.potowa-about-guide__explore h2,
.potowa-about-guide__roles h2,
.potowa-about-guide__safety h2 {
	margin: 0 0 22px;
	font-size: 28px;
}

.potowa-about-guide__step-grid,
.potowa-about-guide__link-grid,
.potowa-about-guide__role-grid {
	display: grid;
	gap: 18px;
}

.potowa-about-guide__step-grid,
.potowa-about-guide__link-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.potowa-about-guide__role-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.potowa-about-guide__step-grid article,
.potowa-about-guide__role-grid article {
	padding: 24px;
	border: 1px solid var(--potowa-audience-border);
	border-radius: 12px;
	background: #fff;
}

.potowa-about-guide__step-grid article > span {
	display: inline-flex;
	margin-bottom: 12px;
	color: var(--potowa-audience-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
}

.potowa-about-guide__step-grid h3,
.potowa-about-guide__role-grid h3 {
	margin: 0 0 10px;
	font-size: 20px;
}

.potowa-about-guide__step-grid p,
.potowa-about-guide__role-grid p,
.potowa-about-guide__safety p {
	margin: 0;
	line-height: 1.9;
}

.potowa-about-guide__link-grid a {
	display: flex;
	min-height: 100px;
	padding: 22px;
	flex-direction: column;
	justify-content: center;
	border: 1px solid var(--potowa-audience-border);
	border-radius: 12px;
	background: var(--potowa-audience-soft);
	color: #2f2a27 !important;
	text-decoration: none !important;
}

.potowa-about-guide__link-grid strong {
	margin-bottom: 5px;
	font-size: 18px;
}

.potowa-about-guide__link-grid span,
.potowa-about-guide__role-grid p {
	color: #6f6660;
}

.potowa-about-guide__role-grid a,
.potowa-about-guide__safety a {
	display: inline-block;
	margin-top: 14px;
	color: var(--potowa-audience-accent) !important;
	font-weight: 700;
}
@media (max-width: 900px) {
	.potowa-audience-paths__grid,
	.potowa-about-guide__step-grid,
	.potowa-about-guide__link-grid {
		grid-template-columns: 1fr 1fr;
	}

	.potowa-audience-path--primary {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.potowa-audience-paths,
	.potowa-about-guide__intro {
		padding: 28px 20px;
		border-radius: 12px;
	}

	.potowa-audience-paths {
		margin-bottom: 48px;
	}

	.potowa-audience-paths__grid,
	.potowa-about-guide__step-grid,
	.potowa-about-guide__link-grid,
	.potowa-about-guide__role-grid {
		grid-template-columns: 1fr;
	}

	.potowa-audience-path--primary {
		grid-column: auto;
	}

	.potowa-audience-path,
	.potowa-about-guide__step-grid article,
	.potowa-about-guide__role-grid article {
		padding: 22px 18px;
	}

	.potowa-about-guide > section {
		margin-bottom: 48px;
	}

	.potowa-about-guide__steps h2,
	.potowa-about-guide__explore h2,
	.potowa-about-guide__roles h2,
	.potowa-about-guide__safety h2 {
		font-size: 24px;
	}
}
