/*
 * Hiroyama member area.
 * All rules are scoped to body.hiroyama-member-page to protect legacy pages.
 */

.hiroyama-member-page {
	--member-ink: #233028;
	--member-ink-soft: #4a5a4f;
	--member-paper: #f4f1e9;
	--member-paper-2: #fbfaf5;
	--member-card: #fff;
	--member-brass: #9c7c3c;
	--member-brass-soft: #c2a86b;
	--member-line: #d9d3c4;
	--member-seal: #b5341f;
	--member-sage: #8aa392;
	--member-sage-pale: #dfe6dd;
	--member-shadow: 0 1px 2px rgba(35, 48, 40, .04), 0 12px 32px rgba(35, 48, 40, .08);
	--member-serif: "Shippori Mincho", "Yu Mincho", "YuMincho", serif;
	--member-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	margin: 0;
	min-height: 100vh;
	background: var(--member-paper);
	-webkit-font-smoothing: antialiased;
}

body.hiroyama-member-login-page {
	min-height: 100vh;
	background: linear-gradient(160deg, #2b3a30 0%, #233028 55%, #1a241d 100%);
}

.hiroyama-member-page > .skip-link,
.hiroyama-member-page .skip-link > .assistive-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hiroyama-member-page #page-main,
.hiroyama-member-page #main {
	background: var(--member-paper);
}

.hiroyama-member-page #main {
	padding: 0;
}

.hiroyama-member-page #primary.hiroyama-member-primary {
	float: none;
	width: 100%;
	margin: 0;
	background: none;
}

.hiroyama-member-login-page #primary.hiroyama-member-primary,
.hiroyama-member-login-page #content.hiroyama-member-content {
	min-height: 100vh;
}

.hiroyama-member-page #content.hiroyama-member-content {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	font-family: var(--member-sans);
	color: var(--member-ink);
	line-height: 1.85;
	letter-spacing: .02em;
	box-sizing: border-box;
}

.hiroyama-member-page .hiroyama-member-content *,
.hiroyama-member-page .hiroyama-member-content *::before,
.hiroyama-member-page .hiroyama-member-content *::after {
	box-sizing: border-box;
}

.hiroyama-member-page .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hiroyama-member-page .hiroyama-member-shell {
	min-height: 520px;
	background:
		radial-gradient(circle at 12% 18%, rgba(156, 124, 60, .05), transparent 38%),
		radial-gradient(circle at 88% 82%, rgba(35, 48, 40, .05), transparent 42%),
		var(--member-paper);
}

.hiroyama-member-page .hiroyama-member-main {
	max-width: 980px;
	margin: 0 auto;
	padding: 40px 28px 90px;
}

.hiroyama-member-page .hiroyama-member-eyebrow {
	margin: 0 0 10px;
	color: var(--member-brass);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .38em;
}

.hiroyama-member-page .hiroyama-member-page-title {
	margin-bottom: 32px;
}

.hiroyama-member-page .hiroyama-member-page-title h1,
.hiroyama-member-page .hiroyama-member-article h1 {
	margin: 0;
	color: var(--member-ink);
	font-family: var(--member-serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .07em;
	overflow-wrap: anywhere;
}

.hiroyama-member-page .hiroyama-member-page-title > p:last-child {
	max-width: 720px;
	margin: 12px 0 0;
	color: var(--member-ink-soft);
	font-size: 14px;
}

/* Login */
.hiroyama-member-page .hiroyama-member-login-shell {
	position: relative;
	min-height: 100vh;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 52px 24px;
	background: linear-gradient(160deg, #2b3a30 0%, #233028 55%, #1a241d 100%);
}

.hiroyama-member-page .hiroyama-member-login-shell::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
	background: radial-gradient(circle at 50% 30%, rgba(194, 168, 107, .18), transparent 55%);
}

.hiroyama-member-page .hiroyama-member-login-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 440px;
	margin: 0;
	padding: 54px 44px 46px;
	text-align: center;
	background: var(--member-paper-2);
	border: 1px solid rgba(194, 168, 107, .45);
	border-radius: 4px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .4);
}

.hiroyama-member-page .hiroyama-member-crest,
.hiroyama-member-page .hiroyama-member-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid var(--member-brass);
	border-radius: 50%;
	color: var(--member-brass);
	font-family: var(--member-serif);
}

.hiroyama-member-page .hiroyama-member-crest {
	width: 46px;
	height: 46px;
	margin-bottom: 20px;
	font-size: 22px;
}

.hiroyama-member-page .hiroyama-member-login-card h1 {
	margin: 0 0 8px;
	font-family: var(--member-serif);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .12em;
}

.hiroyama-member-page .hiroyama-member-login-lead {
	margin: 0 0 28px;
	color: var(--member-ink-soft);
	font-size: 13px;
}

.hiroyama-member-page .hiroyama-member-login-form { text-align: left; }

.hiroyama-member-page .hiroyama-member-login-form label {
	display: block;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 500;
}

.hiroyama-member-page .hiroyama-member-login-form input[type="password"] {
	width: 100%;
	margin: 0 0 16px;
	padding: 14px 15px;
	font: 15px var(--member-sans);
	color: var(--member-ink);
	background: #fff;
	border: 1px solid var(--member-line);
	border-radius: 3px;
}

.hiroyama-member-page .hiroyama-member-login-form input[type="password"]:focus {
	outline: none;
	border-color: var(--member-brass);
	box-shadow: 0 0 0 3px rgba(194, 168, 107, .18);
}

.hiroyama-member-page .hiroyama-member-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 22px;
	font: 600 15px var(--member-serif);
	letter-spacing: .15em;
	text-decoration: none;
	border: 1px solid var(--member-ink);
	border-radius: 3px;
	cursor: pointer;
}

.hiroyama-member-page .hiroyama-member-login-form .hiroyama-member-button {
	width: 100%;
}

.hiroyama-member-page .hiroyama-member-button-primary {
	color: var(--member-paper-2);
	background: var(--member-ink);
}

.hiroyama-member-page .hiroyama-member-button-primary:hover,
.hiroyama-member-page .hiroyama-member-button-primary:focus {
	color: #fff;
	background: #2f4136;
}

.hiroyama-member-page .hiroyama-member-alert {
	margin: 13px 0 0;
	padding: 0;
	min-height: 18px;
	color: #a23b2d;
	font-size: 12.5px;
	text-align: center;
	background: none;
	border: 0;
}

.hiroyama-member-page .hiroyama-member-admin-note {
	margin-top: 14px;
	padding: 10px 12px;
	color: var(--member-ink-soft);
	font-size: 12px;
	text-align: left;
	background: #fff;
	border: 1px dashed var(--member-sage);
}

/* Member navigation */
.hiroyama-member-page .hiroyama-member-bar {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(251, 250, 245, .96);
	border-bottom: 1px solid var(--member-line);
	box-shadow: 0 3px 14px rgba(35, 48, 40, .04);
}

.hiroyama-member-page .hiroyama-member-bar-inner {
	max-width: 980px;
	margin: 0 auto;
	padding: 18px 28px;
	display: flex;
	align-items: center;
	gap: 18px;
}

.hiroyama-member-page .hiroyama-member-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--member-ink);
	text-decoration: none;
	flex: none;
}

.hiroyama-member-page .hiroyama-member-brand-mark {
	width: 34px;
	height: 34px;
	font-size: 16px;
	flex: none;
}

.hiroyama-member-page .hiroyama-member-brand-text b,
.hiroyama-member-page .hiroyama-member-brand-text small {
	display: block;
}

.hiroyama-member-page .hiroyama-member-brand-text b {
	font-family: var(--member-serif);
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: .08em;
}

.hiroyama-member-page .hiroyama-member-brand-text small {
	color: var(--member-brass);
	font-size: 10.5px;
	letter-spacing: .3em;
}

.hiroyama-member-page .hiroyama-member-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	margin-left: auto;
}

.hiroyama-member-page .hiroyama-member-nav a,
.hiroyama-member-page .hiroyama-member-logout {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	color: var(--member-ink-soft);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.hiroyama-member-page .hiroyama-member-nav a:hover,
.hiroyama-member-page .hiroyama-member-nav a:focus {
	color: var(--member-brass);
}

.hiroyama-member-page .hiroyama-member-logout {
	padding: 7px 12px;
	border: 1px solid var(--member-line);
	border-radius: 3px;
}

.hiroyama-member-page .hiroyama-member-logout:hover,
.hiroyama-member-page .hiroyama-member-logout:focus {
	color: var(--member-brass);
	border-color: var(--member-brass);
}

/* Home and archives */
.hiroyama-member-page .hiroyama-member-quick-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 34px;
}

.hiroyama-member-page .hiroyama-member-quick-links a {
	min-width: 0;
	padding: 18px 20px;
	color: var(--member-ink);
	text-decoration: none;
	background: var(--member-card);
	border: 1px solid var(--member-line);
	border-radius: 4px;
	box-shadow: var(--member-shadow);
	transition: transform .2s, border-color .2s;
}

.hiroyama-member-page .hiroyama-member-quick-links a:hover,
.hiroyama-member-page .hiroyama-member-quick-links a:focus {
	color: var(--member-ink);
	border-color: var(--member-brass-soft);
	transform: translateY(-2px);
}

.hiroyama-member-page .hiroyama-member-quick-links b,
.hiroyama-member-page .hiroyama-member-quick-links span {
	display: block;
	overflow-wrap: anywhere;
}

.hiroyama-member-page .hiroyama-member-quick-links b {
	font: 600 16px var(--member-serif);
	letter-spacing: .06em;
}

.hiroyama-member-page .hiroyama-member-quick-links span {
	margin-top: 5px;
	color: var(--member-ink-soft);
	font-size: 12px;
}

.hiroyama-member-page .hiroyama-member-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--member-line);
}

.hiroyama-member-page .hiroyama-member-tabs button {
	margin-bottom: -1px;
	padding: 11px 22px;
	color: var(--member-ink-soft);
	font: 500 15px var(--member-serif);
	letter-spacing: .1em;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	cursor: pointer;
}

.hiroyama-member-page .hiroyama-member-tabs button[aria-selected="true"] {
	color: var(--member-ink);
	border-bottom-color: var(--member-brass);
}

.hiroyama-member-page .hiroyama-member-panel + .hiroyama-member-panel {
	margin-top: 46px;
}

.hiroyama-member-page .hiroyama-member-tabs-ready .hiroyama-member-panel + .hiroyama-member-panel {
	margin-top: 0;
}

.hiroyama-member-page .hiroyama-member-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.hiroyama-member-page .hiroyama-member-section-head h2 {
	margin: 0;
	font: 600 21px var(--member-serif);
	letter-spacing: .06em;
}

.hiroyama-member-page .hiroyama-member-section-head a,
.hiroyama-member-page .hiroyama-member-text-link,
.hiroyama-member-page .hiroyama-member-back a {
	color: var(--member-brass);
	font-size: 12px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hiroyama-member-page .hiroyama-member-notice {
	margin: 0 0 15px;
	padding: 24px 26px;
	background: var(--member-card);
	border: 1px solid var(--member-line);
	border-radius: 4px;
	box-shadow: var(--member-shadow);
	transition: transform .2s, box-shadow .2s;
}

.hiroyama-member-page .hiroyama-member-notice:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 36px rgba(35, 48, 40, .12);
}

.hiroyama-member-page .hiroyama-member-notice-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.hiroyama-member-page .hiroyama-member-notice-meta time,
.hiroyama-member-page .hiroyama-member-issue-body time,
.hiroyama-member-page .hiroyama-member-article > time {
	color: var(--member-brass);
	font-size: 12px;
	letter-spacing: .08em;
}

.hiroyama-member-page .hiroyama-member-notice-meta .hiroyama-member-tag {
	padding: 3px 10px;
	color: var(--member-brass);
	font-size: 10.5px;
	line-height: 1.4;
	letter-spacing: .08em;
	background: rgba(156, 124, 60, .1);
	border: 1px solid rgba(156, 124, 60, .25);
	border-radius: 999px;
}

.hiroyama-member-page .hiroyama-member-notice-meta .hiroyama-member-tag.is-important {
	color: #a23b2d;
	background: rgba(162, 59, 45, .08);
	border-color: rgba(162, 59, 45, .25);
}

.hiroyama-member-page .hiroyama-member-notice h2,
.hiroyama-member-page .hiroyama-member-notice h3,
.hiroyama-member-page .hiroyama-member-issue h2,
.hiroyama-member-page .hiroyama-member-issue h3 {
	margin: 0 0 8px;
	font: 600 18px/1.6 var(--member-serif);
	letter-spacing: .035em;
	overflow-wrap: anywhere;
}

.hiroyama-member-page .hiroyama-member-notice h2 a,
.hiroyama-member-page .hiroyama-member-notice h3 a,
.hiroyama-member-page .hiroyama-member-issue h2 a,
.hiroyama-member-page .hiroyama-member-issue h3 a {
	color: var(--member-ink);
	text-decoration: none;
}

.hiroyama-member-page .hiroyama-member-notice > p,
.hiroyama-member-page .hiroyama-member-issue-body > p {
	margin: 0 0 12px;
	color: var(--member-ink-soft);
	font-size: 14.5px;
	line-height: 1.9;
}

.hiroyama-member-page .hiroyama-member-notice-content {
	color: var(--member-ink-soft);
	font-size: 14.5px;
	line-height: 1.9;
}

.hiroyama-member-page .hiroyama-member-notice-content > :first-child {
	margin-top: 0;
}

.hiroyama-member-page .hiroyama-member-notice-content > :last-child {
	margin-bottom: 0;
}

.hiroyama-member-page .hiroyama-member-notice-content img,
.hiroyama-member-page .hiroyama-member-notice-content iframe {
	max-width: 100%;
	height: auto;
}

.hiroyama-member-page .hiroyama-member-issue-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.hiroyama-member-page .hiroyama-member-archive-link {
	display: flex;
	justify-content: flex-end;
	clear: both;
	margin: 28px 0 0;
}

.hiroyama-member-page .hiroyama-member-archive-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	margin-left: auto;
	padding: 9px 16px;
	color: var(--member-ink);
	font: 500 13px var(--member-serif);
	letter-spacing: .08em;
	text-decoration: none;
	background: var(--member-card);
	border: 1px solid var(--member-line);
	border-radius: 3px;
	box-shadow: 0 1px 2px rgba(35, 48, 40, .04);
	transition: color .2s, border-color .2s, background .2s;
}

.hiroyama-member-page .hiroyama-member-archive-link a::after {
	margin-left: 9px;
	color: var(--member-brass);
	content: "→";
}

.hiroyama-member-page .hiroyama-member-archive-link a:hover,
.hiroyama-member-page .hiroyama-member-archive-link a:focus {
	color: var(--member-brass);
	background: var(--member-paper-2);
	border-color: var(--member-brass-soft);
}

.hiroyama-member-page .hiroyama-member-issue {
	min-width: 0;
	overflow: hidden;
	background: var(--member-card);
	border: 1px solid var(--member-line);
	border-radius: 4px;
	box-shadow: var(--member-shadow);
	display: flex;
	flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}

.hiroyama-member-page .hiroyama-member-issue:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(35, 48, 40, .14);
}

.hiroyama-member-page .hiroyama-member-issue-cover {
	height: 120px;
	display: flex;
	align-items: flex-end;
	padding: 16px;
	color: var(--member-brass-soft);
	font: 500 13px var(--member-serif);
	letter-spacing: .18em;
	background:
		radial-gradient(circle at 78% 22%, rgba(194, 168, 107, .3), transparent 60%),
		linear-gradient(135deg, #2f4136, #233028);
}

.hiroyama-member-page .hiroyama-member-issue-cover {
	gap: 8px;
	flex-wrap: wrap;
}

.hiroyama-member-page .hiroyama-member-issue-cover span {
	position: relative;
	z-index: 1;
}

.hiroyama-member-page .hiroyama-member-issue-body {
	padding: 18px 20px 20px;
	display: flex;
	flex: 1;
	flex-direction: column;
}

.hiroyama-member-page .hiroyama-member-issue-body > p {
	font-size: 13px;
	line-height: 1.8;
	flex: 1;
}

.hiroyama-member-page .hiroyama-member-issue-actions {
	display: flex;
	gap: 10px;
	margin-top: auto;
}

.hiroyama-member-page .hiroyama-member-issue-actions .hiroyama-member-text-link {
	display: inline-block;
	padding: 9px 14px;
	color: var(--member-paper-2);
	font-size: 12.5px;
	line-height: 1.4;
	text-decoration: none;
	background: var(--member-ink);
	border: 1px solid var(--member-ink);
	border-radius: 3px;
}

body.hiroyama-member-modal-open {
	overflow: hidden;
}

.hiroyama-member-page .hiroyama-member-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(26, 36, 29, .55);
	backdrop-filter: blur(4px);
}

.hiroyama-member-page .hiroyama-member-modal.is-open {
	display: flex;
	animation: hiroyama-member-fade .25s ease both;
}

.hiroyama-member-page .hiroyama-member-modal-card {
	position: relative;
	width: 100%;
	max-width: 680px;
	max-height: 86vh;
	overflow: auto;
	background: var(--member-paper-2);
	border: 1px solid rgba(194, 168, 107, .4);
	border-radius: 5px;
	box-shadow: 0 40px 90px rgba(0, 0, 0, .45);
}

.hiroyama-member-page .hiroyama-member-modal-head {
	position: sticky;
	top: 0;
	padding: 28px 58px 22px 34px;
	background: var(--member-paper-2);
	border-bottom: 1px solid var(--member-line);
}

.hiroyama-member-page .hiroyama-member-modal-date {
	color: var(--member-brass);
	font-size: 12px;
	letter-spacing: .08em;
}

.hiroyama-member-page .hiroyama-member-modal-head h2 {
	margin: 6px 0 0;
	color: var(--member-ink);
	font: 600 22px/1.5 var(--member-serif);
	letter-spacing: .06em;
}

.hiroyama-member-page .hiroyama-member-modal-body {
	padding: 28px 34px 36px;
	color: var(--member-ink-soft);
	font-size: 14.5px;
	line-height: 2;
}

.hiroyama-member-page .hiroyama-member-modal-body > :first-child {
	margin-top: 0;
}

.hiroyama-member-page .hiroyama-member-modal-body > :last-child {
	margin-bottom: 0;
}

.hiroyama-member-page .hiroyama-member-modal-body h2,
.hiroyama-member-page .hiroyama-member-modal-body h3,
.hiroyama-member-page .hiroyama-member-modal-body h4 {
	margin: 22px 0 8px;
	color: var(--member-ink);
	font: 600 16px/1.7 var(--member-serif);
	letter-spacing: .04em;
}

.hiroyama-member-page .hiroyama-member-modal-body img,
.hiroyama-member-page .hiroyama-member-modal-body iframe,
.hiroyama-member-page .hiroyama-member-modal-body object {
	max-width: 100%;
	height: auto;
}

.hiroyama-member-page .hiroyama-member-modal-close {
	position: sticky;
	float: right;
	top: 22px;
	right: 24px;
	z-index: 2;
	margin: -6px 0 0;
	padding: 0;
	color: var(--member-ink-soft);
	font: 400 24px/1 var(--member-sans);
	background: none;
	border: 0;
	cursor: pointer;
}

.hiroyama-member-page .hiroyama-member-modal-close:hover,
.hiroyama-member-page .hiroyama-member-modal-close:focus {
	color: var(--member-ink);
}

@keyframes hiroyama-member-fade {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.hiroyama-member-page .hiroyama-member-footer {
	padding: 26px;
	color: var(--member-ink-soft);
	font-size: 11.5px;
	text-align: center;
	letter-spacing: .08em;
	border-top: 1px solid var(--member-line);
}

.hiroyama-member-page .hiroyama-member-issue-body time {
	display: block;
	margin-bottom: 5px;
}

.hiroyama-member-page .hiroyama-member-empty {
	padding: 28px;
	color: var(--member-ink-soft);
	text-align: center;
	background: rgba(255, 255, 255, .7);
	border: 1px dashed var(--member-line);
	border-radius: 4px;
}

.hiroyama-member-page .hiroyama-member-empty p:last-child {
	margin-bottom: 0;
}

.hiroyama-member-page .hiroyama-member-pagination {
	margin-top: 34px;
}

.hiroyama-member-page .hiroyama-member-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hiroyama-member-page .hiroyama-member-pagination a,
.hiroyama-member-page .hiroyama-member-pagination span {
	min-width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	color: var(--member-ink);
	text-decoration: none;
	background: #fff;
	border: 1px solid var(--member-line);
	border-radius: 3px;
}

.hiroyama-member-page .hiroyama-member-pagination .current {
	color: #fff;
	background: var(--member-ink);
	border-color: var(--member-ink);
}

/* Single protected post */
.hiroyama-member-page .hiroyama-member-article {
	max-width: 800px;
	margin: 0 auto;
	padding: 34px clamp(22px, 5vw, 48px);
	background: var(--member-card);
	border: 1px solid var(--member-line);
	border-radius: 4px;
	box-shadow: var(--member-shadow);
}

.hiroyama-member-page .hiroyama-member-article h1 {
	margin: 7px 0 25px;
}

.hiroyama-member-page .hiroyama-member-article-body {
	font-size: 15px;
	overflow-wrap: anywhere;
}

.hiroyama-member-page .hiroyama-member-article-body h2,
.hiroyama-member-page .hiroyama-member-article-body h3 {
	width: auto;
	margin: 30px 0 15px;
	padding: 0 0 8px;
	font-family: var(--member-serif);
	color: var(--member-ink);
	background: none;
	border-bottom: 1px solid var(--member-line);
}

.hiroyama-member-page .hiroyama-member-article-body img,
.hiroyama-member-page .hiroyama-member-article-body iframe,
.hiroyama-member-page .hiroyama-member-article-body object {
	max-width: 100%;
}

.hiroyama-member-page .hiroyama-member-back {
	max-width: 800px;
	margin: 22px auto 0;
}

/* Member registry form, adapted from the supplied meiboform.html */
.hiroyama-member-page .hiroyama-meibo-wrap {
	--meibo-pine: #1f3d2f;
	--meibo-pine-soft: #3a5c49;
	--meibo-paper: #f7f5ef;
	--meibo-paper-card: #fffdf8;
	--meibo-ink: #23211c;
	--meibo-ink-soft: #5c594f;
	max-width: 820px;
	margin: 0 auto;
	padding: 28px 18px 96px;
	color: var(--meibo-ink);
	font-size: 17px;
	line-height: 1.8;
	font-feature-settings: "palt";
}

.hiroyama-member-page .hiroyama-meibo-masthead {
	position: relative;
	overflow: hidden;
	padding: 34px 30px 30px;
	color: #f3f1e8;
	background: var(--meibo-pine);
	border-radius: 6px 6px 0 0;
}

.hiroyama-member-page .hiroyama-meibo-org {
	margin: 0 0 10px;
	color: #cdd8cf;
	font: 600 15px var(--member-serif);
	letter-spacing: .16em;
}

.hiroyama-member-page .hiroyama-meibo-masthead h1 {
	max-width: calc(100% - 90px);
	margin: 0;
	color: #f3f1e8;
	font: 700 clamp(24px, 5vw, 34px)/1.4 var(--member-serif);
	letter-spacing: .05em;
}

.hiroyama-member-page .hiroyama-meibo-year {
	display: inline-block;
	margin-top: 14px;
	padding-top: 10px;
	color: #bcae8b;
	font-size: 14px;
	letter-spacing: .1em;
	border-top: 1px solid rgba(255, 255, 255, .22);
}

.hiroyama-member-page .hiroyama-meibo-seal {
	position: absolute;
	top: 24px;
	right: 26px;
	width: 78px;
	height: 78px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--member-seal);
	font: 700 13px/1.35 var(--member-serif);
	text-align: center;
	letter-spacing: .04em;
	background: rgba(181, 52, 31, .05);
	border: 2.5px solid var(--member-seal);
	border-radius: 50%;
	transform: rotate(-9deg);
}

.hiroyama-member-page .hiroyama-meibo-lead {
	padding: 22px 24px;
	color: var(--meibo-ink-soft);
	font-size: 15.5px;
	background: var(--meibo-paper-card);
	border: 1px solid var(--member-sage-pale);
	border-top: 0;
	border-radius: 0 0 6px 6px;
}

.hiroyama-member-page .hiroyama-meibo-lead > p {
	margin: 0;
}

.hiroyama-member-page .hiroyama-meibo-tier {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 16px;
}

.hiroyama-member-page .hiroyama-meibo-tier > div {
	padding: 12px 14px;
	font-size: 14px;
	background: var(--meibo-paper);
	border: 1px solid var(--member-sage-pale);
	border-radius: 6px;
}

.hiroyama-member-page .hiroyama-meibo-tier b {
	display: block;
	margin-bottom: 3px;
	color: var(--meibo-pine);
	font-size: 14.5px;
}

.hiroyama-member-page .hiroyama-meibo-form-area {
	margin-top: 18px;
}

.hiroyama-member-page .hiroyama-member-form {
	background: var(--meibo-paper, #f7f5ef);
}

.hiroyama-member-page .hiroyama-meibo-form-area .wpcf7-form > .hiroyama-meibo-section,
.hiroyama-member-page .hiroyama-meibo-section {
	margin: 18px 0 0;
	padding: 8px 24px 24px;
	background: var(--meibo-paper-card);
	border: 1px solid var(--member-sage-pale);
	border-radius: 6px;
}

.hiroyama-member-page .hiroyama-meibo-section-title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 18px;
	padding: 16px 0 8px;
	color: var(--meibo-pine);
	font: 600 20px var(--member-serif);
	letter-spacing: .04em;
	border-bottom: 2px solid var(--meibo-pine);
}

.hiroyama-member-page .hiroyama-meibo-section-title small {
	color: var(--member-brass);
	font-size: 14px;
}

.hiroyama-member-page .hiroyama-meibo-row {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) 96px;
	gap: 14px;
	align-items: start;
	min-width: 0;
	margin: 0;
	padding: 11px 0;
	background: transparent;
	border: 0;
	border-bottom: 1px dashed var(--member-sage-pale);
	border-radius: 0;
}

.hiroyama-member-page .hiroyama-meibo-row > * {
	min-width: 0;
}

.hiroyama-member-page .hiroyama-meibo-row > p {
	display: contents;
	margin: 0;
}

.hiroyama-member-page .hiroyama-meibo-row:last-child {
	border-bottom: 0;
}

.hiroyama-member-page .hiroyama-meibo-row > label,
.hiroyama-member-page .hiroyama-meibo-label {
	display: block;
	padding-top: 8px;
	font-size: 15.5px;
	font-weight: 500;
}

.hiroyama-member-page .hiroyama-meibo-required {
	margin-left: 5px;
	color: var(--member-seal);
	font-size: 12px;
	font-weight: 700;
}

.hiroyama-member-page .hiroyama-meibo-help {
	display: block;
	margin-top: 3px;
	color: var(--meibo-ink-soft);
	font-size: 12.5px;
	font-weight: 400;
}

.hiroyama-member-page .hiroyama-meibo-form-area input[type="text"],
.hiroyama-member-page .hiroyama-meibo-form-area input[type="tel"],
.hiroyama-member-page .hiroyama-meibo-form-area input[type="email"],
.hiroyama-member-page .hiroyama-meibo-form-area textarea,
.hiroyama-member-page .hiroyama-meibo-form-area select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 9px 11px !important;
	color: var(--meibo-ink);
	font: 16px/1.5 var(--member-sans) !important;
	background: var(--meibo-paper);
	border: 1px solid var(--member-sage);
	border-radius: 5px;
}

.hiroyama-member-page .hiroyama-meibo-form-area input[type="text"],
.hiroyama-member-page .hiroyama-meibo-form-area input[type="tel"],
.hiroyama-member-page .hiroyama-meibo-form-area input[type="email"],
.hiroyama-member-page .hiroyama-meibo-form-area select {
	height: 44px !important;
	min-height: 0 !important;
}

.hiroyama-member-page .hiroyama-meibo-form-area textarea {
	height: 64px !important;
	min-height: 64px !important;
	line-height: 1.45 !important;
	resize: vertical;
}

.hiroyama-member-page .hiroyama-meibo-form-area input:focus,
.hiroyama-member-page .hiroyama-meibo-form-area textarea:focus,
.hiroyama-member-page .hiroyama-meibo-form-area select:focus {
	outline: 2px solid #3a5c49;
	outline-offset: 1px;
	background: #fff;
	border-color: #3a5c49;
}

.hiroyama-member-page .hiroyama-meibo-inline,
.hiroyama-member-page .hiroyama-meibo-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px 17px;
}

.hiroyama-member-page .hiroyama-meibo-inline > p,
.hiroyama-member-page .hiroyama-meibo-options > p,
.hiroyama-member-page .hiroyama-meibo-pair > p,
.hiroyama-member-page .hiroyama-meibo-threecol > p {
	display: contents;
	margin: 0;
}

.hiroyama-member-page .hiroyama-meibo-inline br,
.hiroyama-member-page .hiroyama-meibo-options br,
.hiroyama-member-page .hiroyama-meibo-pair br,
.hiroyama-member-page .hiroyama-meibo-threecol br {
	display: none;
}

.hiroyama-member-page .hiroyama-meibo-inline .wpcf7-form-control-wrap {
	width: 110px;
	max-width: 100%;
	flex: 0 1 110px;
}

.hiroyama-member-page .hiroyama-meibo-address {
	flex-wrap: nowrap;
	gap: 4px;
}

.hiroyama-member-page .hiroyama-meibo-address .wpcf7-form-control-wrap {
	width: 62px;
	flex: 0 1 62px;
}

.hiroyama-member-page .hiroyama-meibo-address .hiroyama-meibo-unit {
	font-size: 13px;
}

.hiroyama-member-page .hiroyama-meibo-form-area .hiroyama-meibo-small {
	width: 100%;
	max-width: 120px;
}

.hiroyama-member-page .hiroyama-meibo-unit {
	color: var(--meibo-ink-soft);
	font-size: 14px;
	white-space: nowrap;
}

.hiroyama-member-page .hiroyama-meibo-inline .hiroyama-meibo-wide,
.hiroyama-member-page .hiroyama-meibo-inline .hiroyama-meibo-wide .wpcf7-form-control-wrap {
	width: auto;
	flex: 1 1 150px;
}

.hiroyama-member-page .hiroyama-meibo-listcol {
	display: flex;
	justify-content: center;
	padding-top: 8px;
}

.hiroyama-member-page .hiroyama-meibo-listcol .wpcf7-list-item {
	margin: 0;
}

.hiroyama-member-page .hiroyama-meibo-listcol label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--meibo-pine-soft);
	font-size: 13px;
	white-space: nowrap;
}

.hiroyama-member-page .hiroyama-meibo-na {
	color: var(--member-sage);
	font-size: 12px;
}

.hiroyama-member-page .hiroyama-meibo-section-note {
	margin: -6px 0 16px;
	color: var(--meibo-ink-soft);
	font-size: 13.5px;
}

.hiroyama-member-page .hiroyama-meibo-section-note + .hiroyama-meibo-office {
	margin-top: 0;
}

.hiroyama-member-page .hiroyama-meibo-options > .wpcf7-form-control-wrap,
.hiroyama-member-page .hiroyama-meibo-options .wpcf7-checkbox,
.hiroyama-member-page .hiroyama-meibo-options .wpcf7-radio {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
}

.hiroyama-member-page .hiroyama-meibo-options .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
}

.hiroyama-member-page .hiroyama-meibo-options .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15.5px;
	cursor: pointer;
}

.hiroyama-member-page .hiroyama-meibo-use-type-row .hiroyama-meibo-options .wpcf7-checkbox {
	flex-wrap: nowrap;
	gap: 7px;
}

.hiroyama-member-page .hiroyama-meibo-use-type-row .hiroyama-meibo-options .wpcf7-list-item label {
	gap: 3px;
	font-size: 13.5px;
	white-space: nowrap;
}

.hiroyama-member-page .hiroyama-meibo-use-type-row .hiroyama-meibo-options input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin-right: 0;
}

.hiroyama-member-page .hiroyama-meibo-use-type-row > .hiroyama-meibo-label,
.hiroyama-member-page .hiroyama-meibo-contact-row > .hiroyama-meibo-label {
	padding-top: 0;
}

.hiroyama-member-page .hiroyama-meibo-use-type-row > .hiroyama-meibo-options,
.hiroyama-member-page .hiroyama-meibo-contact-row > .hiroyama-meibo-options {
	padding-top: 16px;
}

.hiroyama-member-page .hiroyama-meibo-form-area input[type="checkbox"],
.hiroyama-member-page .hiroyama-meibo-form-area input[type="radio"] {
	width: 19px;
	height: 19px;
	margin-right: 6px;
	accent-color: var(--meibo-pine);
	vertical-align: -4px;
}

.hiroyama-member-page .hiroyama-meibo-office {
	margin-top: 8px;
	padding: 14px 16px;
	background: #eef2ee;
	border: 1px solid #cdd8cf;
	border-radius: 6px;
}

/* Keep the previously supplied CF7 markup usable while the form definition is replaced. */
.hiroyama-member-page .hiroyama-meibo-office > label {
	display: block;
	clear: both;
	margin: 12px 0 5px;
	font-size: 15px;
	font-weight: 500;
}

.hiroyama-member-page .hiroyama-meibo-field {
	min-width: 0;
	margin-bottom: 12px;
}

.hiroyama-member-page .hiroyama-meibo-field:last-child {
	margin-bottom: 0;
}

.hiroyama-member-page .hiroyama-meibo-field > label,
.hiroyama-member-page .hiroyama-meibo-field-label {
	display: block;
	margin: 0 0 5px;
	font-size: 15px;
	font-weight: 500;
}

.hiroyama-member-page .hiroyama-meibo-office fieldset {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}

.hiroyama-member-page .hiroyama-meibo-pair {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 10px;
}

.hiroyama-member-page .hiroyama-meibo-threecol {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr) !important;
	gap: 8px;
}

.hiroyama-member-page .hiroyama-meibo-pair > *,
.hiroyama-member-page .hiroyama-meibo-threecol > *,
.hiroyama-member-page .hiroyama-meibo-threecol .wpcf7-form-control-wrap {
	min-width: 0;
}

.hiroyama-member-page .hiroyama-meibo-threecol .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.hiroyama-member-page .hiroyama-meibo-badge {
	display: inline-block;
	margin-bottom: 10px;
	padding: 3px 9px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	background: #3a5c49;
	border-radius: 20px;
}

.hiroyama-member-page .hiroyama-meibo-privacy {
	padding: 18px 20px;
	font-size: 14px;
	background: #fbf3ef;
	border: 1px solid #e6cfc6;
	border-radius: 6px;
}

.hiroyama-member-page .hiroyama-meibo-privacy p {
	margin: 0 0 12px;
}

.hiroyama-member-page .hiroyama-meibo-privacy p:last-child {
	margin-bottom: 0;
	color: var(--meibo-ink-soft);
	font-size: 13.5px;
}

.hiroyama-member-page .hiroyama-meibo-consent {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-top: 16px;
	padding: 14px;
	background: #fff;
	border: 2px solid var(--meibo-pine);
	border-radius: 6px;
}

.hiroyama-member-page .hiroyama-meibo-footer {
	margin-top: 40px;
	padding-top: 18px;
	color: var(--meibo-ink-soft);
	font-size: 12.5px;
	line-height: 1.8;
	border-top: 1px solid var(--member-sage-pale);
}

.hiroyama-member-page .hiroyama-meibo-form-area input[type="submit"],
.hiroyama-member-page .hiroyama-meibo-form-area button,
.hiroyama-member-page .hiroyama-meibo-form-area .wpcf7-submit {
	min-height: 48px;
	padding: 12px 25px;
	color: #fff;
	font: 700 16px var(--member-sans);
	letter-spacing: .04em;
	background: var(--member-ink);
	border: 2px solid var(--member-ink);
	border-radius: 6px;
	cursor: pointer;
}

.hiroyama-member-page .hiroyama-meibo-form-area .wpcf7-form > p.avoid-confirm {
	text-align: center;
}

.hiroyama-member-page .hiroyama-meibo-turnstile {
	display: flex;
	justify-content: center;
	margin: 24px 0 14px;
}

.hiroyama-member-page .hiroyama-meibo-form-area .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 13px 16px;
	background: #fff;
	border-radius: 5px;
}

.hiroyama-member-page .hiroyama-meibo-form-area .wpcf7-not-valid-tip {
	margin-top: 4px;
	color: var(--member-seal);
	font-size: 13px;
}

@media (max-width: 800px) {
	.hiroyama-member-page .hiroyama-member-issue-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hiroyama-member-page .hiroyama-member-bar-inner {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.hiroyama-member-page .hiroyama-member-nav {
		order: 3;
		width: 100%;
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 2px;
	}

	.hiroyama-member-page .hiroyama-member-logout {
		margin-left: auto;
	}
}

@media (max-width: 620px) {
	.hiroyama-member-page .hiroyama-member-issue-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hiroyama-member-page .hiroyama-member-main,
	.hiroyama-member-page .hiroyama-member-bar-inner {
		padding-left: 18px;
		padding-right: 18px;
	}

	.hiroyama-member-page .hiroyama-member-quick-links,
	.hiroyama-member-page .hiroyama-meibo-tier {
		grid-template-columns: 1fr;
	}

	.hiroyama-member-page .hiroyama-member-login-card {
		padding: 40px 27px 35px;
	}

	.hiroyama-member-page .hiroyama-member-login-card h1 {
		font-size: 22px;
	}

	.hiroyama-member-page .hiroyama-member-brand-text small {
		display: none;
	}

	.hiroyama-member-page .hiroyama-member-nav {
		gap: 17px;
	}

	.hiroyama-member-page .hiroyama-member-tabs button {
		flex: 1;
		padding-left: 12px;
		padding-right: 12px;
	}

	.hiroyama-member-page .hiroyama-member-section-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.hiroyama-member-page .hiroyama-meibo-wrap {
		padding-left: 14px;
		padding-right: 14px;
	}

	.hiroyama-member-page .hiroyama-meibo-masthead {
		padding: 28px 20px 24px;
	}

	.hiroyama-member-page .hiroyama-meibo-masthead h1 {
		max-width: calc(100% - 60px);
		font-size: 24px;
	}

	.hiroyama-member-page .hiroyama-meibo-seal {
		top: 18px;
		right: 14px;
		width: 61px;
		height: 61px;
		font-size: 10px;
	}

	.hiroyama-member-page .hiroyama-meibo-form-area .hiroyama-meibo-section {
		padding: 7px 16px 20px;
	}

	.hiroyama-member-page .hiroyama-meibo-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
		padding: 14px 0;
	}

	.hiroyama-member-page .hiroyama-meibo-listcol {
		justify-content: flex-start;
		padding-top: 0;
	}

	.hiroyama-member-page .hiroyama-meibo-pair,
	.hiroyama-member-page .hiroyama-meibo-threecol {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.hiroyama-member-page .hiroyama-meibo-address {
		gap: 3px;
	}

	.hiroyama-member-page .hiroyama-meibo-address .wpcf7-form-control-wrap {
		width: 50px;
		flex-basis: 50px;
	}

	.hiroyama-member-page .hiroyama-meibo-use-type-row .hiroyama-meibo-options .wpcf7-checkbox {
		flex-wrap: wrap;
	}

	.hiroyama-member-page .hiroyama-meibo-use-type-row > .hiroyama-meibo-options,
	.hiroyama-member-page .hiroyama-meibo-contact-row > .hiroyama-meibo-options {
		padding-top: 0;
	}

	.hiroyama-member-page .hiroyama-meibo-row > label,
	.hiroyama-member-page .hiroyama-meibo-label {
		padding-top: 0;
	}
}

@media (max-width: 430px) {
	.hiroyama-member-page .hiroyama-member-brand-text b {
		font-size: 13px;
	}

	.hiroyama-member-page .hiroyama-member-logout {
		padding: 6px 8px;
	}

}

@media (prefers-reduced-motion: no-preference) {
	.hiroyama-member-page .hiroyama-member-login-card {
		animation: hiroyama-member-rise .7s cubic-bezier(.16, 1, .3, 1) both;
	}

	@keyframes hiroyama-member-rise {
		from { opacity: 0; transform: translateY(20px); }
		to { opacity: 1; transform: translateY(0); }
	}
}

@media print {
	.hiroyama-member-page .hiroyama-member-bar,
	.hiroyama-member-page #page-header,
	.hiroyama-member-page #page-footer,
	.hiroyama-member-page #back-top {
		display: none !important;
	}

	.hiroyama-member-page .hiroyama-meibo-wrap {
		padding: 0;
	}

	.hiroyama-member-page .hiroyama-meibo-section,
	.hiroyama-member-page .hiroyama-meibo-lead,
	.hiroyama-member-page .hiroyama-meibo-masthead {
		break-inside: avoid;
	}
}
