@charset "utf-8";

/*######################################################
会員専用ページ（2026リニューアル）
専用デザインはないため、フォーム（form.css）とカードの部品を流用して組んでいる。
入力欄 .c-input・ラベル .c-field__label は form.css。
######################################################*/

/* ==============================
パスワード入力
============================== */
.member-login__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(720px, 100%);
	margin-inline: auto;
	padding: 64px 80px;
	border-radius: var(--radius-card);
	background-color: var(--c-white);
	box-shadow: var(--shadow-card);
	text-align: center;
}

/* 鍵のアイコン */
.member-login__icon {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-image: linear-gradient(160deg, var(--c-navy-700) 0%, var(--c-navy-500) 100%);
	box-shadow: 0 8px 20px rgba(35, 64, 101, 0.24);
}

.member-login__icon::before {
	content: "";
	position: absolute;
	inset: 18px;
	background-color: var(--c-white);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='5' y='12' width='18' height='13' rx='2.5'/%3E%3Cpath d='M9 12V8.5a5 5 0 0 1 10 0V12M14 17.5v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='5' y='12' width='18' height='13' rx='2.5'/%3E%3Cpath d='M9 12V8.5a5 5 0 0 1 10 0V12M14 17.5v3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.member-login__title {
	margin-top: 24px;
	font-family: var(--f-serif);
	font-weight: 500;
	font-size: 26px;
	line-height: 1.6;
	color: var(--c-navy-900);
}

.member-login__lead {
	margin-top: 16px;
	font-size: 16px;
	line-height: 2;
	color: var(--c-ink-muted);
}

.member-login__form {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: min(480px, 100%);
	margin-top: 40px;
	text-align: left;
}

.member-login__form .c-input.is-invalid {
	border: 1.5px solid var(--c-error);
	background-color: var(--c-error-bg);
}

.member-login__error {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	border: 1px solid var(--c-error-summary-line);
	border-radius: 10px;
	background-color: var(--c-error-summary-bg);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	color: var(--c-error-title);
}

.member-login__error-icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: var(--c-error);
	font-size: 12px;
	line-height: 1;
	color: var(--c-white);
}

.member-login__submit {
	display: flex;
	justify-content: center;
}

.member-login__button {
	width: 240px;
	min-height: 56px;
	font-size: 16px;
}

.member-login__contact {
	margin-top: 32px;
	padding-top: 24px;
	width: 100%;
	border-top: 1px solid var(--c-navy-100);
	font-size: 13px;
	line-height: 1.8;
	color: var(--c-ink-muted);
}

.member-login__contact a {
	color: inherit;
}


/* ==============================
パスワード入力後の本文
============================== */
.member-content {
	font-size: 16px;
	line-height: 2;
	color: var(--c-ink);
}


/* ==============================
資料一覧（本文のカスタムHTMLで .member-docs を使う）
・見出し：ゴールドの罫＋明朝
・資料：1件ずつのカード（PDFアイコン・名前・種類とサイズ・外部で開く矢印）
・本文の共通スタイル（editor-styles.css の余白・見出し装飾・リンク下線）を打ち消すため、
　.member-content.editor-styles で詳細度を上げている
============================== */
.member-content.editor-styles .member-docs {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.member-content.editor-styles .member-docs * + * {
	margin-top: 0;
}

.member-content.editor-styles .member-docs__section {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.member-content.editor-styles .member-docs__title {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-left: 0;
	border-left: 0;
	font-family: var(--f-serif);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.6;
	color: var(--c-navy-900);
}

.member-content.editor-styles .member-docs__title::before {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	border-radius: 2px;
	background-color: var(--c-gold-500);
}

.member-content.editor-styles .member-docs__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.member-content.editor-styles .member-docs__list li {
	margin: 0;
	padding: 0;
}

.member-content.editor-styles .member-docs__list li::before {
	content: none;
}

.member-content.editor-styles .member-docs__link {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	border: 1px solid var(--c-navy-100);
	border-radius: 12px;
	background-color: var(--c-white);
	box-shadow: 0 2px 8px rgba(35, 64, 101, 0.05);
	color: var(--c-navy-900);
	text-decoration: none;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}

.member-content.editor-styles .member-docs__link:hover {
	border-color: var(--c-navy-300);
	background-color: var(--c-navy-50);
}

.member-content.editor-styles .member-docs__link:hover::after {
	opacity: 1;
}

/* PDFのアイコン（書類＋「PDF」） */
.member-content.editor-styles .member-docs__link::before {
	content: "PDF";
	flex: none;
	display: grid;
	place-items: end center;
	width: 36px;
	height: 44px;
	padding-bottom: 7px;
	border-radius: 4px 12px 4px 4px;
	background-color: var(--c-navy-700);
	font-family: var(--f-en);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--c-white);
	box-sizing: border-box;
}

.member-content.editor-styles .member-docs__text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.member-content.editor-styles .member-docs__name {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
}

.member-content.editor-styles .member-docs__meta {
	font-size: 13px;
	line-height: 1.6;
	color: var(--c-navy-300);
}

/* 新しいタブで開く矢印（本文共通のリンク下線 ::after を打ち消して使う） */
.member-content.editor-styles .member-docs__link::after {
	content: "";
	position: static;
	z-index: auto;
	flex: none;
	width: 14px;
	height: 14px;
	background-color: var(--c-navy-500);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M9.5 7v4H1V2.5h4'/%3E%3Cpath d='M7 1h4v4M11 1 5.5 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M9.5 7v4H1V2.5h4'/%3E%3Cpath d='M7 1h4v4M11 1 5.5 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* ==============================
SP
============================== */
@media (max-width: 767px) {
	.member-login__card {
		padding: 40px 20px;
	}

	.member-login__icon {
		width: 56px;
		height: 56px;
	}

	.member-login__icon::before {
		inset: 15px;
	}

	.member-login__title {
		margin-top: 20px;
		font-size: 21px;
	}

	.member-login__lead {
		font-size: 15px;
		text-align: left;
	}

	.member-login__form {
		margin-top: 28px;
	}

	.member-login__button {
		width: 100%;
	}

	.member-content.editor-styles .member-docs {
		gap: 44px;
	}

	.member-content.editor-styles .member-docs__title {
		gap: 12px;
		font-size: 21px;
	}

	.member-content.editor-styles .member-docs__link {
		gap: 14px;
		padding: 16px;
	}

	.member-content.editor-styles .member-docs__link::before {
		width: 32px;
		height: 40px;
	}

	.member-content.editor-styles .member-docs__name {
		font-size: 15px;
	}
}
