/* === 01. Theme Information / Portraitist.theme preparation layer === */
/* ==================================================
   Phase 1｜style.css Structural Index（Final）
   Status: Phase 1-A〜1-Fの監査・安全整理を完了。
   Policy: visual declarations and cascade order are preserved.

   01-12  Folclore theme base / legacy responsive layer
   13-16  Portraitist migration and compatibility layer
   17-25  Shared library shell, header, footer, home revisions
   26+    Page-specific components and later corrective layers

   Maintenance rule:
   - New declarations must be added to the responsible component section.
   - Historical override layers remain in cascade order until visual regression tests exist.
   - Unused-looking selectors are not removed without DOM/PHP/JavaScript evidence.
================================================== */

@charset "utf-8";

/*
Theme Name: Portraitist
Theme URI: http://minimalwp.com/category/gallery/
Description: Portraitist.jp「旅する肖像作家の書斎」のためのWordPressテーマ。作品、本棚、言葉、感想、Season LetterなどのPortraitist独自機能を統合しています。
Version: 20260329
Tested up to: 6.9
Requires PHP: 7.4
Author: Minimal WP
Author URI: http://minimalwp.com
License:
License URI:
Tags: custom-menu
Text Domain: folclore
*/

/* === 02. Portraitist Design Tokens / Foundation === */
/* Additional CSS側の:rootは当面残す。 */
:root {
	/* Base */
	--white:#fff;
	--paper:#f8f6f1;
	--ink:#3a332d;
	--ink-deep:#342e29;
	--text:#5a5148;
	--soft-text:#6a6258;
	--muted:#9a9288;
	--muted-deep:#8e867c;
	--note-text:#7a7066;
	--toc-text:#5f564c;
	--subtle-text:#8a7c6b;
	--danger-muted:#7e554f;
	--footer-muted:#8f8a84;
	--course-muted:#8a8178;
	/* Brand colors */
	--brass:#9b741f;
	--brass-light:#c9a44e;
	--brass-deep:#80601f;
	--brass-start:#ad8738;
	--wine:#70363a;
	--status-green:#4f8a5b;
	--error-red:#96382e;
	--prep-red:#b84a3a;
	--link-brass:#8a6e45;
	/* Lines / borders */
	--line-68:rgba(216,208,195,0.68);
	--line-72:rgba(216,208,195,0.72);
	--line-78:rgba(216,208,195,0.78);
	--line-82:rgba(216,208,195,0.82);
	--line-84:rgba(216,208,195,0.84);
	--line-86:rgba(216,208,195,0.86);
	--line-mid:rgba(216,208,195,0.74);
	--line-strong:rgba(216,208,195,0.88);
	--brass-border:rgba(155,116,31,0.28);
	--button-border:rgba(128,96,31,0.35);
	--checkout-border:rgba(128,96,31,0.36);
	--field-border:rgba(216,208,195,0.95);
	--antique-border:rgba(166,124,45,0.28);
	--wine-border:rgba(112,54,58,0.24);
	--subtle-rule:rgba(138,110,69,0.18);
	--recipe-letter-line:#b69a63;
	/* Backgrounds */
	--box-bg:rgba(252,250,245,0.55);
	--box-bg-42:rgba(252,250,245,0.42);
	--box-bg-48:rgba(252,250,245,0.48);
	--box-bg-50:rgba(252,250,245,0.5);
	--box-bg-58:rgba(252,250,245,0.58);
	--box-bg-78:rgba(252,250,245,0.78);
	--soft-card-bg:rgba(252,250,245,0.7);
	--intro-card-bg:rgba(252,250,245,0.76);
	--field-bg:rgba(255,253,248,0.76);
	--hover-bg:rgba(155,116,31,0.045);
	--brass-hover-strong:rgba(155,116,31,0.06);
	--current-bg-start:rgba(155,116,31,0.115);
	--current-bg-mid:rgba(155,116,31,0.055);
	--recipe-paper-bg:rgba(248,246,241,0.94);
	--wisdom-paper-bg:rgba(248,246,241,0.96);
	/* Focus / highlights */
	--white-focus:rgba(255,255,255,0.55);
	--focus-border:rgba(155,116,31,0.56);
	--focus-highlight:0 0 0 3px rgba(155,116,31,0.08),inset 0 0 0 1px var(--white-focus);
	--inner-highlight-soft:inset 0 0 0 1px rgba(255,255,255,0.45);
	--inner-highlight-mid:inset 0 0 0 1px rgba(255,255,255,0.48);
	--inner-highlight:inset 0 0 0 1px rgba(255,255,255,0.5);
	--button-highlight:inset 0 1px 0 rgba(255,255,255,0.20);
	/* Shadows / gradients */
	--shadow-color-light:rgba(70,55,35,0.045);
	--shadow-color:rgba(70,55,35,0.055);
	--shadow-color-mid:rgba(70,55,35,0.06);
	--soft-shadow-deep:rgba(70,55,35,0.07);
	--button-shadow-color-soft:rgba(115,82,20,0.12);
	--wine-shadow:rgba(112,54,58,0.1);
	--soft-shadow:0 14px 34px var(--shadow-color),var(--inner-highlight);
	--button-shadow:0 8px 20px rgba(115,82,20,0.14),var(--button-highlight);
	--gradient-brass:linear-gradient(180deg,#ad8738 0%,#9a7428 55%,#80601f 100%);
	/* Component states */
	--brass-fade:rgba(155,116,31,0);
	--brass-line:rgba(155,116,31,0.55);
	--brass-current-shadow:inset 2px 0 0 rgba(155,116,31,0.65),inset 0 1px 0 rgba(255,255,255,0.42);
	/* Typography */
	--font-body:"Noto Serif JP",serif;
	--font-title:"Shippori Mincho",serif;
}

/* === 03. Folclore Base / Reset === */
body {
	font-family: "Hiragino Kaku Gothic ProN","游ゴシック",YuGothic,"メイリオ",Meiryo,sans-serif;
	font-weight: 500;
	font-size: 16px;
	background: #fff;
	color: #444;
	line-height: 190%;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
a {
	color:#45AAB8;
	text-decoration:none;
	transition:color 0.5s;
}
a:hover {
	color:#666;
}
a:is(:focus, :active) {
	outline:0;
}
img {
	border:0;
	margin:0;
}
:is(img.alignright, img.alignleft) {
	padding:4px;
	display:inline;
}
:is(.alignright, .right) {
	float:right;
	margin:0 0 10px 20px;
}
:is(.alignleft, .left) {
	float:left;
	margin:0 20px 10px 0;
}
.clear {
	clear:both;
}
img.aligncenter,
.aligncenter {
	display:block;
	margin:0 auto;
}
ol {
	margin:7px 0 7px 10px;
	padding:0;
	list-style:decimal;
}
ul {
	margin:7px 0 7px 4px;
	padding:0;
	list-style:disc;
}
li {
	margin:5px 0 5px 15px;
	padding:0;
}
/* === 04. Header / Navigation === */
.wrapper,
.header-inner,
.footer-inner {
	max-width:960px;
	margin:0 auto;
}
.wrapper {
	padding:0 30px 50px;
}
.header-inner {
	overflow:hidden;
	padding:60px 0;
}
#header h1,
.logo {
	margin:0;
	text-align:center;
}
#nav {
	width:960px;
	margin:0 auto 60px;
	padding:0;
	text-align:center;
}
#nav ul {
	list-style:none;
	margin:auto;
}
.main-navigation {
	clear:both;
	position:relative;
}
:is(ul.nav-menu, div.nav-menu > ul) {
	margin:0;
	padding:0;
}
.nav-menu li {
	display:inline-block;
	position:relative;
	margin:0 -2px;
}
.nav-menu li a {
	color:#333;
	display:block;
	font-size:13px;
	font-weight:bold;
	padding:12px 30px;
}
.nav-menu li:hover > a,
.nav-menu li a:hover {
	background:#eee;
}
.nav-menu :is(.sub-menu, .children) {
	background:#eee;
	display:none;
	padding:0;
	position:absolute;
	z-index:99999;
}
.nav-menu :is(.sub-menu, .children) ul {
	border-left:0;
	left:100%;
	top:0;
}
:is(ul.nav-menu ul a, .nav-menu ul ul a) {
	margin:0;
	width:200px;
}
:is(ul.nav-menu ul a, .nav-menu ul ul a):hover {
	background:#f5f5f5;
}
:is(ul.nav-menu li:hover > ul, .nav-menu ul li:hover > ul) {
	display:block;
}
.nav-menu :is(.current_page_item, .current_page_ancestor, .current-menu-item, .current-menu-ancestor, .current-post-ancestor) > a {
	background:#f5f5f5;
}
/* === 05. Hamburger Menu === */
.toggle {
	display:none;
}
.menu-toggle {
	width:40px;
	height:40px;
}
.hamburger {
	padding:10px 2px;
	display:inline-block;
	cursor:pointer;
	transition:opacity 0.15s linear, filter 0.15s linear, -webkit-filter 0.15s linear;
	font:inherit;
	color:inherit;
	text-transform:none;
	background-color:transparent;
	border:0;
	margin:0;
	overflow:visible;
}
.hamburger:hover {
	opacity:0.7;
}
.hamburger-box {
	width:40px;
	height:24px;
	display:inline-block;
	position:relative;
}
.hamburger-inner {
	display:block;
	top:50%;
	margin-top:-2px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	width:35px;
	height:3px;
	background-color:#000;
	border-radius:4px;
	position:absolute;
	transition-property:transform, -webkit-transform;
	transition-duration:0.15s;
	transition-timing-function:ease;
}
.hamburger-inner::before,
.hamburger-inner::after {
	content:"";
	display:block;
}
.hamburger-inner::before { top:-10px; }
.hamburger-inner::after { bottom:-10px; }
.hamburger--spin .hamburger-inner {
	transition:transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
	transition:top 0.1s 0.34s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
	transition:bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
	-webkit-transform:rotate(225deg);
	transform:rotate(225deg);
	transition-delay:0.14s;
	transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin.is-active .hamburger-inner::before {
	top:0;
	opacity:0;
	transition:top 0.1s ease-out, opacity 0.1s 0.14s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
	bottom:0;
	-webkit-transform:rotate(-90deg);
	transform:rotate(-90deg);
	transition:bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* === 06. Archive / Item List === */
.top-header,
.head-img {
	text-align:center;
}
.top-header {
	margin:40px auto 0;
}
:is(#main, .sidebox-new, .singlebox) {
	margin:0;
	padding:0;
}
li.item {
	height:470px;
	margin-bottom:50px;
}
li.item-gallery {
	height:300px;
}
.item-img {
	margin:0 0 10px;
	overflow:hidden;
	text-align:center;
}
.item-cat,
.item-date {
	padding:0;
	overflow:hidden;
}
.item-cat {
	font-size:65%;
	color:#999;
	margin:0 0 20px;
	max-height:65px;
}
.item-date {
	font-size:70%;
	color:#ccc;
	margin:0 0 10px;
	max-height:50px;
	line-height:150%;
}
.item h2 {
	font-size:16px;
	line-height:150%;
	font-weight:bold;
	letter-spacing:0.03em;
	text-decoration:underline;
}
.item-title {
	margin:0;
	padding:5px 0 0;
}
.item-cat a,
.item-title a {
	color:#444;
}
.item-title a:hover {
	color:#999;
}
.item-text {
	font-size:13px;
	color:#666;
	line-height:170%;
}
/* === 07. Contents / Typography === */
.single-contents, .page-contents {
	margin:0 0 70px;
}
p {
	font-size:16px;
	color:#444;
	line-height:200%;
	padding:15px 0;
}
/* === 08. Post Meta / Breadcrumb / Pager === */
.breadcrumb {
	margin:10px 0 0;
	line-height:120%;
}
.breadcrumb div {
	display:inline;
	font-size:11px;
	color:#999;
}
.breadcrumb span,
.breadcrumb span a {
	color:#45aab8;
}
.breadcrumb :is(ol, li) {
	margin:0;
}
.breadcrumb li {
	display:inline;
}
.pagedate {
	font-size:12px;
	padding:0;
	margin:0 0 -10px;
	color:#555;
	letter-spacing:0.02em;
}
.pagetitle-kotei,
.pagetitle-single {
	color:#333;
	font-weight:bold;
	letter-spacing:0.05em;
}
.pagetitle-kotei {
	font-size:16px;
	margin:0 0 20px;
	padding:0 0 3px;
}
.pagetitle {
	font-size:18px;
	font-weight:normal;
	letter-spacing:0.01em;
	padding:0 0 10px;
	margin:0 auto 40px;
	border-bottom:3px double #ccc;
	max-width:300px;
	text-align:center;
}
:is(.pagetitle, .pagetitle-single, .blog-title) a {
	color:#333;
}
:is(.pagetitle, .pagetitle-single, .blog-title) a:hover {
	color:#666;
}
.pagetitle-single {
	font-size:14px;
	margin:0 0 10px;
}
.blog-title {
	font-size:22px;
	line-height:140%;
	font-weight:bold;
	color:#333;
	margin:20px 0;
	padding:18px 0 15px;
	border-top:3px double #ccc;
	border-bottom:1px solid #ccc;
}
h1 {
	font-size:24px;
	margin:40px 0 20px;
}
:is(h2, h3, h4) {
	line-height:130%;
	font-weight:bold;
}
:is(h2, h3) {
	color:#333;
}
h2 {
	font-size:22px;
	margin:40px 0 20px;
	padding:18px 0 15px;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
}
h3 {
	font-size:20px;
	padding:0 0 5px;
	margin:40px 0 15px;
	border-bottom:1px solid #ccc;
}
h4 {
	font-size:18px;
	color:#555;
	padding:0 0 5px;
	margin:30px 0 10px;
	border-bottom:1px dotted #ccc;
}
:is(h5, h6) {
	line-height:1.3em;
	margin:30px 0 0;
}
h5 { font-size:16px; }
h6 { font-size:14px; }
.head-img {
	overflow:hidden;
}
.head-img img {
	margin:0 auto 50px;
}
.blog-foot {
	clear:both;
	font-size:75%;
	margin:0 0 50px;
	color:#999;
}
#next {
	font-size:90%;
	line-height:150%;
	margin:50px 0 20px;
}
:is(.next-left, .next-right) {
	margin:0 0 10px;
}
.next-left {
	float:left;
	text-align:left;
	background:url(images/left.gif) no-repeat left;
}
.next-right {
	float:right;
	text-align:right;
	background:url(images/right.gif) no-repeat right;
}
:is(.next-left, .next-right) a {
	display:block;
	border:1px solid #fff;
}
.next-left a {
	padding:20px 20px 20px 50px;
}
.next-right a {
	padding:20px 50px 20px 20px;
}
:is(.next-left, .next-right) a:hover {
	border:1px solid #eee;
}
.pager {
	margin:50px 0 80px;
	text-align:center;
}
a.page-numbers,
.pager .current {
	background:#f0f0f0;
	padding:10px;
	margin:0 2px;
}
.pager .current {
	background:#ccc;
	color:#fff;
}
/* === 09. Related Posts / Comments === */
.similar-head,
.comment-head,
.comment-reply-title,
.widget-title,
.footer-widget-title,
.single-widget-title {
	color:#333;
	font-weight:bold;
	letter-spacing:0.05em;
	padding:0 0 3px;
	border-bottom:3px double #ccc;
}
:is(.similar-head, .comment-head, .comment-reply-title) {
	font-size:18px;
	margin:0 0 10px;
}
.similar :is(ul, li) {
	margin:0;
}
.similar li {
	list-style:none;
}
.similar li a {
	color:#555;
}
.similar li a:hover {
	color:#888;
}
:is(table.similar-text, table.similar-side) {
	width:100%;
	color:#444;
	margin:0;
	border-collapse:collapse;
	border-spacing:0;
}
table.similar-text {
	border-bottom:dotted 1px #ccc;
}
table.similar-text :is(img, th) {
	width:150px;
}
table.similar-side :is(img, th) {
	width:80px;
}
:is(table.similar-text, table.similar-side) :is(th, td) {
	text-align:left;
	vertical-align:middle;
}
:is(table.similar-text, table.similar-side) td {
	white-space:normal;
}
.commentlist li,
li.comment {
	list-style:none;
	font-size:90%;
	color:#888;
}
.commentlist {
	margin:0 0 50px;
	padding:0;
}
li.comment {
	margin:30px 0;
}
.comment p {
	font-size:14px;
}
.wp-caption {
	max-width:100%;
}
.wp-caption-text {
	font-size:90%;
	text-align:center;
}
.screen-reader-text {
	clip:rect(1px, 1px, 1px, 1px);
	position:absolute !important;
	width:1px;
	height:1px;
	overflow:hidden;
}
.screen-reader-text:focus {
	background-color:#f1f1f1;
	border-radius:3px;
	box-shadow:0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip:auto !important;
	color:#21759b;
	display:block;
	font-size:0.875rem;
	font-weight:bold;
	height:auto;
	left:5px;
	line-height:normal;
	padding:15px 23px 14px;
	text-decoration:none;
	top:5px;
	width:auto;
	z-index:100000;
}
/* === 10. Sidebar / Widgets / Footer === */
.sidebar {
	width:100%;
	margin:0 0 40px;
	padding:0;
}
.sidebox-new {
	color:#666;
	margin-bottom:50px;
}
:is(.sidebox-new, .widget, .topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) ul,
:is(.topbox, .footerbox, .sidebox) {
	margin:0;
	padding:0;
}
:is(.sidebox-new, .widget, .topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) li {
	list-style:none;
}
.sidebox-new li {
	margin:0;
	padding:0;
	border-bottom:1px dotted #ddd;
}
.sidebox-new li a,
.widget li a {
	color:#666;
}
.sidebox-new li a {
	font-size:14px;
}
:is(.sidebox-new, .widget, .topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) li a:hover {
	color:#999;
}
#footer {
	background:#f5f5f5;
	clear:both;
	font-size:80%;
}
#copyright {
	background:#444;
	color:#999;
	font-size:10px;
	line-height:110%;
	padding:10px;
	text-align:center;
}
.widget {
	margin:0 0 50px;
}
.textwidget,
.textwidget p {
	color:#444;
	font-size:16px;
	line-height:170%;
	margin:0;
	padding:0;
}
.singlebox :is(.textwidget, .textwidget p) {
	padding:5px 0;
}
:is(.widget-title, .footer-widget-title) {
	font-size:16px;
	margin:0 0 10px;
}
.widget_block h2 {
	font-size:16px !important;
	border-bottom:3px double #ccc;
	border-top:none;
	margin:0 0 10px !important;
	padding:0 0 3px !important;
}
:is(.topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) li {
	margin:0;
	border-bottom:1px dotted #ddd;
}
:is(.topbox, .footerbox, .singlebox, .top-wide-contents) li {
	padding:7px 0 6px;
}
.sidebox li {
	padding:7px 0;
}
:is(.topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) li a {
	color:#444;
	margin:0;
}
:is(.topbox, .footerbox, .singlebox, .top-wide-contents) li a {
	line-height:160%;
	padding:7px 0 6px;
}
:is(.footerbox, .sidebox) li a {
	font-size:14px;
}
.sidebox li a {
	padding:5px 0;
}
:is(.topbox, .footerbox, .sidebox) h2 {
	font-size:14px;
}
:is(.topbox, .footerbox, .sidebox) h3 {
	font-size:13px;
}
:is(.topbox, .footerbox, .sidebox) h4 {
	font-size:12px;
}
:is(.topbox, .footerbox, .sidebox) :is(h2, h3, h4) {
	margin:0;
	padding:0;
}
.top-widget-title {
	font-size:18px;
	letter-spacing:0.01em;
	margin:0 auto 40px;
	max-width:300px;
	padding:0 0 10px;
	text-align:center;
	border-bottom:3px double #ccc;
}
.footerbox .widget {
	margin:0;
	padding:50px 0;
}
.singlebox {
	margin:50px 0;
}
.single-widget-title {
	font-size:18px;
	margin:50px 0 10px;
}
:is(.topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) :is(ul.children, ul.sub-menu) {
	display:block;
	margin-bottom:0;
	padding:5px 0 0;
}
:is(.topbox, .footerbox, .singlebox, .sidebox, .top-wide-contents) :is(ul.children, ul.sub-menu) li {
	border-top:1px dotted #ccc;
	border-bottom:0;
}
:is(.topbox, .footerbox, .singlebox, .top-wide-contents) :is(ul.children, ul.sub-menu) li {
	padding-left:15px;
	padding-top:5px;
}
.sidebox :is(ul.children, ul.sub-menu) li {
	padding:5px 0 5px 15px;
}
.top-wide-contents {
	background:#f9f9f9;
	margin-bottom:50px;
}
.top-wide-contents .widget {
	padding:30px 20px;
}
.top-wide-contents :is(.textwidget, .textwidget p) {
	margin:0 0 50px;
	text-align:center;
}
.top-wide-contents .top-widget-title {
	font-weight:bold;
	margin-bottom:30px;
	padding:30px 0 5px;
	border-bottom:4px solid #444;
}
table#wp-calendar :is(th, td) {
	text-align:center;
}
.sidebox .wp-social-link svg,
.footerbox .wp-social-link svg {
	height:24px !important;
	padding:0;
}
.sidebox .wp-social-link svg {
	width:35px !important;
}
.footerbox .wp-social-link svg {
	width:38px !important;
}
:is(.singlebox, .top-wide-contents, .topbox) .wp-social-link svg {
	height:26px !important;
	width:24px !important;
	padding:0 8px;
}
.search input {
	font:16px arial, sans-serif;
	color:#333;
	width:85%;
	padding:10px 5px;
}
.search button {
	width:15px;
	height:15px;
	border:none;
	background:url(images/search.png) no-repeat;
	cursor:pointer;
	vertical-align:middle;
}
.img-anime2 img {
	transition:transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.img-anime2:hover img {
	-webkit-transform:scale(1.3);
	transform:scale(1.3);
}
/* === 11. Tables / Utility === */
.responsive-tabel-01 {
	margin:20px 0;
}
.responsive-tabel-01 table,
table#wp-calendar,
:is(.single-contents, .page-contents) :is(table, tabel) {
	width:100%;
}
.responsive-tabel-01 :is(th, td) {
	font-size:20px;
	text-align:left;
	padding:20px;
	border:1px solid #ddd;
	vertical-align:middle;
}
.responsive-tabel-01 th {
	width:30%;
	background:#f4f4f4;
}
@media only screen and (max-width: 480px) {
	.responsive-tabel-01 {
		margin:20px -10px;
	}
	.responsive-tabel-01 :is(th, td) {
		width:100%;
		display:block;
		border-top:none;
	}
	.responsive-tabel-01 tr:first-child th {
		border-top:1px solid #ddd;
	}
}
/* Legacy "tabel" typo support. */
:is(.single-contents, .page-contents) :is(th, td) {
	border:1px solid #ccc;
	padding:20px;
}
:is(.single-contents, .page-contents) th {
	font-weight:bold;
	background-color:#dedede;
}
/* === 12. Folclore Responsive / Embedded Media === */
@media only screen and (min-width: 960px) {
	.sidebar {
		width:300px;
	}
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
	:is(.wrapper, .header-inner, .footer-inner) {
		width:728px;
	}
	.wrapper {
		padding:0 20px 50px;
	}
	.header-inner {
		padding:70px 0 60px;
	}
	#nav {
		margin:0 auto 60px;
		width:728px;
	}
	li.item {
		height:460px;
		margin-bottom:40px;
	}
	.twothird {
		width:460px;
		margin-right:10px;
	}
}
@media only screen and (max-width: 767px) {
	:is(.wrapper, .header-inner, .footer-inner) {
		width:300px;
	}
	.wrapper {
		padding:30px 0 50px;
	}
	.header-inner {
		padding:70px 0 40px;
	}
	#nav {
		display:none;
		position:absolute;
		top:0;
		width:100%;
		background:#fefefe;
		margin-bottom:40px;
	}
	.nav-menu li a {
		font-size:15px;
		padding:20px 10px;
	}
	.nav-menu li {
		display:block;
		border-bottom:1px solid #ededed;
	}
	.toggle {
		display:block;
		float:right;
		position:absolute;
		top:10px;
		right:10px;
		z-index:10000;
	}
	li.item {
		height:auto;
		margin-bottom:100px;
	}
	table.similar-text :is(img, th) {
		width:100px;
	}
	.pagedate {
		margin:-20px 0 -10px;
	}
	.head-img img {
		margin:35px auto 10px;
	}
	p {
		font-size:15px;
	}
	.pager {
		margin:80px 0;
	}
	:is(.mobile-display-none, .single-contents br, .top-wide-contents br) {
		display:none;
	}
	:is(.single-contents, .page-contents) {
		margin:0 0 130px;
	}
}
@media only screen and (min-width: 375px) and (max-width: 479px) {
	:is(.wrapper, .header-inner, .footer-inner) {
		width:336px;
	}
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
	:is(.wrapper, .header-inner, .footer-inner) {
		width:420px;
	}
}
.twitter-timeline {
	width:100%;
	height:300px;
}
.youtube {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
	margin:20px 0;
}
.youtube :is(iframe, object, embed) {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/* ==================================================
   Portraitist.theme Migration Layer
   Source: Additional CSS sections 01-15
   Note: Historical compatibility declarations are retained to preserve current rendering.
================================================== */

/*
Theme Custom CSS｜Portraitist.jp
Purpose: Additional CSS の内容を、Portraitist.theme へ移行しやすいように体系化したもの。
Structure:
01 変数・読み込み
02 基礎設定・共通部品
03 ヘッダー・ナビゲーション
04 ボタン
05 サイドバー・目次
06 秘密のレシピ
07 いにしえの叡智
08 書斎・講義一覧
09 登録・ログイン
10 PMPro・会員画面
11 受講コース・アップグレード
12 記事一覧
13 プロフィール
14 フッター・法務導線
15 本文内強調・注釈・署名
16 管理画面・テーマ干渉補正

Maintenance Policy:
01-02 = 土台｜03-05 = 共通UI｜06-13 = ページ別UI｜14-15 = 末尾補助｜16 = 最終補正
Phase: Phase 1完了。履歴層は、実表示への影響を否定できないため現状維持。
*/

/* ==================================================
   01｜変数・読み込み
================================================== */
/*
 * CSS変数はファイル先頭の「02. Portraitist Design Tokens / Foundation」へ統合済み。
 * Additional CSS の同名75変数と値が一致することを確認し、重複定義を削除。
 * 以降のコンポーネントは先頭の共通トークンを参照する。
 */

/* ==================================================
   02｜基礎設定・共通部品
================================================== */
/* 02-1｜汎用ユーティリティ */
.u-text-center {
	text-align:center!important;
}

body.pmpro-checkout #pmpro_user_fields,
body.pmpro-checkout .pmpro_checkout_box {
	text-align:center!important;
}

.u-paper-card {
	border:1px solid var(--brass-border)!important;
	background:var(--box-bg)!important;
	box-shadow:var(--soft-shadow)!important;
}

.portraitist-registration-box,
.portraitist-upgrade-box,
.recipe-card,
.wisdom-note-card {
	border:1px solid var(--brass-border)!important;
	background:var(--box-bg)!important;
	box-shadow:var(--soft-shadow)!important;
}

.u-brass-button {
	background:var(--gradient-brass)!important;
	border:1px solid var(--button-border)!important;
	box-shadow:var(--button-shadow)!important;
	color:var(--white)!important;
}

.u-mb-0 {
	margin-bottom:0!important;
}

/* 02-2｜サイト全体背景 */
body,
.site,
.site-content,
.content-area,
#page,
#content,
article,
.entry-content,
.entry-header,
.widget-area,
.site-main,
body.pmpro-confirmation,
body.pmpro-account,
body[class*="membership"] {
	background-color:var(--paper)!important;
}

/* 02-3｜本文タイポグラフィ */
body,
p,
li,
td,
input,
textarea,
select,
.entry-content,
.site-content {
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2.05!important;
	color:var(--text)!important;
	font-weight:400!important;
}

/* 02-4｜本文余白・基本リンク */
p {
	margin-bottom:1.75em!important;
}

a {
	color:var(--link-brass)!important;
	transition:0.3s;
}

a:hover {
	color:#6e563a!important;
}

/* 02-5｜見出しタイポグラフィ */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title {
	font-family:var(--font-title)!important;
	color:var(--ink)!important;
	font-weight:600!important;
	letter-spacing:0.04em!important;
	line-height:1.55!important;
}

/* 02-6｜基本フォーム要素 */
input,
textarea,
select {
	background-color:#fcfaf5!important;
	border:1px solid #d8d0c3!important;
}

button,
input[type="submit"] {
	border:none!important;
}

/* ==================================================
   03｜ヘッダー・ナビゲーション
================================================== */
/* 03-1｜ヘッダー余白・ロゴ */
#header {
	background:transparent!important;
	padding:72px 0 48px!important;
}

.header-inner,
.logo {
	margin:0 auto!important;
	text-align:center!important;
}

.header-inner {
	max-width:760px!important;
}

.logo {
	padding:0!important;
}

.logo a {
	display:inline-block!important;
}

.logo img {
	display:block!important;
	width:min(420px,72vw)!important;
	max-width:100%!important;
	height:auto!important;
	margin:0 auto!important;
}

/* 03-2｜グローバルナビ */
.main-navigation a,
.menu a,
nav a {
	font-family:var(--font-title)!important;
	font-size:14px!important;
	color:var(--soft-text)!important;
	font-weight:500!important;
	letter-spacing:0.04em!important;
}

.current-menu-item a,
.current_page_item a {
	background-color:rgba(138,110,69,0.07)!important;
}

/* 03-3｜レスポンシブ補正 */
@media (max-width:768px) {
	#header {
		padding:48px 0 34px!important;
	}
	.logo img {
		width:min(260px,68vw)!important;
	}
	body a.q_custom_button::after {
		top:-8%;
	}
	.book-sidebar {
		margin-top:40px!important;
	}
	.book-sidebar-section {
		margin-bottom:28px!important;
		padding-bottom:28px!important;
	}
	.book-toc a,
	.site-toc a,
	.wisdom-toc a,
	.wisdom-toc li a {
		grid-template-columns:3em minmax(0,1fr)!important;
		min-height:31px!important;
		font-size:13.5px!important;
	}
	.recipe-antique-page,
	.wisdom-lesson-page,
	.portraitist-checkout-intro {
		padding:38px 22px 54px!important;
	}
	.recipe-title-ja {
		font-size:27px;
		letter-spacing:0.08em;
	}
	.wisdom-lesson-title-ja {
		font-size:25px;
	}
	.recipe-video-frame,
	.wisdom-video-frame {
		padding:9px;
	}
	.recipe-card {
		padding:26px 22px;
	}
	.recipe-material-list div {
		grid-template-columns:1fr;
		gap:2px;
	}
	.portraitist-study {
		max-width:100%!important;
	}
	.portraitist-study-section-title {
		font-size:20px!important;
	}
	.portraitist-lesson-list a {
		grid-template-columns:42px 88px minmax(0,1fr) 18px!important;
		min-height:56px!important;
		padding:0 12px!important;
	}
	.portraitist-lesson-number,
	.portraitist-lesson-chapter,
	.portraitist-lesson-name {
		font-size:13px!important;
	}
	.pmpro_section h2,
	.pmpro_card_title,
	.pmpro_checkout h2,
	#pmpro_form h2,
	.pmpro legend,
	#pmpro_user_fields .pmpro_card_title,
	#pmpro_user_fields .pmpro_section_title,
	#pmpro_user_fields h2 {
		padding:28px 20px 4px!important;
		font-size:21px!important;
	}
	.pmpro_card_content,
	.pmpro_section_content,
	.pmpro_checkout-fields,
	.pmpro_checkout_box>div,
	#pmpro_user_fields .pmpro_checkout-fields,
	#pmpro_user_fields .pmpro_card_content,
	#pmpro_user_fields .pmpro_section_content {
		display:block!important;
		padding:28px 22px 34px!important;
	}
	.pmpro_btn,
	.pmpro input[type="submit"],
	#pmpro_btn-submit,
	.pmpro_btn-submit-checkout,
	#pmpro_form input[type="submit"] {
		width:100%!important;
		min-width:0!important;
	}
}

@media (max-width:420px) {
	#header {
		padding:38px 0 28px!important;
	}
	.logo img {
		width:220px!important;
	}
	.book-toc a,
	.site-toc a,
	.wisdom-toc a,
	.wisdom-toc li a {
		grid-template-columns:2.75em minmax(0,1fr)!important;
		column-gap:7px!important;
		font-size:13px!important;
	}
	.portraitist-lesson-list a {
		grid-template-columns:38px 78px minmax(0,1fr) 16px!important;
	}
}

/* ==================================================
   04｜ボタン
================================================== */
/* 04-1｜ボタン共通ホバー */
.pmpro_btn,
.pmpro_btn-submit-checkout {
	transition:opacity .25s ease,transform .25s ease!important;
}

.pmpro_btn:hover,
.pmpro_btn-submit-checkout:hover {
	opacity:.92!important;
	transform:translateY(-1px)!important;
}

/* 04-2｜ボタン共通配置 */
body a.q_custom_button,
.profile-contact-button,
.portraitist-login-submit input[type="submit"] {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
}

.pt-recipe-letter__heading,
.portraitist-article-num {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
}

/* 04-3｜旧テーマカスタムボタン */
body a.q_custom_button {
	position:relative!important;
	overflow:visible!important;
	width:300px!important;
	height:70px!important;
	padding:0 1.5em!important;
	box-sizing:border-box!important;
	border:1px solid transparent!important;
	border-radius:6px!important;
	color:var(--white)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	font-weight:600!important;
	line-height:1.5!important;
	letter-spacing:0.08em!important;
	text-decoration:none!important;
	white-space:nowrap!important;
	transition:all 0.35s ease!important;
	z-index:1!important;
}

body a.q_custom_button1 {
	background-color:#8f8424!important;
}

body a.q_custom_button3 {
	background:var(--gradient-brass)!important;
	color:var(--white)!important;
	box-shadow:0 7px 18px var(--button-shadow-color-soft),var(--button-highlight);
}

body a.q_custom_button1::before,
body a.q_custom_button3::before {
	content:"";
	position:absolute;
	inset:-1px;
	border-radius:6px;
	opacity:0;
	transition:opacity 0.45s cubic-bezier(0.22,1,0.36,1);
}

body a.q_custom_button1::before {
	background-color:#b8ad32;
}

body a.q_custom_button3::before {
	background:linear-gradient(180deg,var(--brass-light) 0%,#b88930 100%);
}

body a.q_custom_button::after {
	content:"";
	position:absolute;
	top:8%;
	right:-20px;
	width:35px;
	height:59px;
	background-image:url(https://shou-takai.com/wp-content/uploads/2025/08/arrow.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	transition:all 0.3s ease;
}

body a.q_custom_button:hover::before {
	opacity:0.25;
}

body a.q_custom_button:hover::after {
	transform:translateX(4px);
	opacity:0.9;
}

/* 04-4｜フォーム送信ボタン */
.wpcf7 .wpcf7-submit {
	display:block!important;
	width:260px!important;
	height:58px!important;
	margin:40px auto 0!important;
	padding:0 1.5em!important;
	border:1px solid var(--button-border)!important;
	border-radius:6px!important;
	color:var(--white)!important;
	background:var(--gradient-brass)!important;
	box-shadow:0 7px 18px var(--button-shadow-color-soft),var(--button-highlight);
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:600!important;
	letter-spacing:0.08em!important;
	cursor:pointer!important;
	transition:all 0.3s ease!important;
}

/* 04-5｜講義・レシピ導線ボタン */
.book-recipe-link {
	margin-top:20px!important;
}

.book-recipe-link a {
	width:100%!important;
	min-width:0!important;
	min-height:46px!important;
	padding:0 1.2em!important;
	box-sizing:border-box!important;
	border:1px solid var(--button-border)!important;
	border-radius:4px!important;
	background:var(--gradient-brass)!important;
	box-shadow:0 6px 15px rgba(115,82,20,0.1),var(--button-highlight);
	font-size:13px!important;
	line-height:1.5!important;
	letter-spacing:0.08em!important;
	text-decoration:none!important;
	transition:all 0.3s ease!important;
}

.book-recipe-link a:hover {
	opacity:0.9!important;
	transform:translateY(-1px);
}

.wpcf7 .wpcf7-submit:hover {
	opacity:0.9!important;
	transform:translateY(-1px);
}

.portraitist-study-guide .book-recipe-link {
	text-align:left!important;
	margin-top:28px!important;
}

.portraitist-study-guide .book-recipe-link a {
	width:auto!important;
	min-width:260px!important;
	max-width:320px!important;
	padding:0 2.1em!important;
	background:linear-gradient(180deg,#7b3a43 0%,#70363a 60%,#5a2930 100%)!important;
	border:1px solid rgba(112,54,58,0.42)!important;
	box-shadow:0 6px 15px var(--wine-shadow),inset 0 1px 0 rgba(255,255,255,0.16)!important;
}

/* 04-6｜ボタンレスポンシブ補正 */
@media (max-width:1200px) {
	body a.q_custom_button {
		width:260px!important;
	}
	.book-toc a,
	.site-toc a,
	.wisdom-toc a,
	.wisdom-toc li a {
		grid-template-columns:2.55em minmax(0,1fr)!important;
		column-gap:8px!important;
		font-size:12.8px!important;
		letter-spacing:0.02em!important;
	}
}

@media (max-width:850px) {
	body a.q_custom_button {
		width:240px!important;
		height:50px!important;
		line-height:50px!important;
	}
}

/* 04-7｜ボタン色・表示崩れ防止 */
.wp-block-button__link * {
	color:var(--white)!important;
	opacity:1!important;
}

.portraitist-back-to-study a:hover,
.pt-recipe-letter__button:hover,
.profile-contact-button:hover,
body.pmpro-checkout .pmpro_btn:hover,
body.pmpro-checkout input[type="submit"]:hover,
body.pmpro-checkout #pmpro_btn-submit:hover,
body.pmpro-checkout .pmpro_btn-submit-checkout:hover {
	color:var(--white)!important;
	opacity:0.92!important;
	transform:translateY(-1px)!important;
}

.book-recipe-link a,
.book-recipe-link a:link,
.book-recipe-link a:visited,
.book-recipe-link a:hover,
.book-recipe-link a:active,
.portraitist-study-guide .book-recipe-link a,
.portraitist-study-guide .book-recipe-link a:link,
.portraitist-study-guide .book-recipe-link a:visited,
.portraitist-study-guide .book-recipe-link a:hover,
.portraitist-study-guide .book-recipe-link a:active {
	color:var(--white)!important;
	opacity:1!important;
	text-shadow:none!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	text-align:center!important;
}

.twothird .book-recipe-link a,
.entry-content>.book-recipe-link a,
.page-contents>.book-recipe-link a,
.portraitist-study-guide .book-recipe-link a {
	display:inline-flex!important;
	width:auto!important;
	min-width:260px!important;
	max-width:320px!important;
	padding:0 2.1em!important;
}

.twothird .portraitist-study-guide .book-recipe-link,
.twothird .book-recipe-link,
#main .twothird .book-recipe-link {
	text-align:left!important;
	width:auto!important;
	max-width:none!important;
}

.twothird .portraitist-study-guide .book-recipe-link a,
.twothird .book-recipe-link a,
#main .twothird .book-recipe-link a,
#main .twothird .book-recipe-link a:link,
#main .twothird .book-recipe-link a:visited {
	display:inline-flex!important;
	width:300px!important;
	min-width:300px!important;
	max-width:300px!important;
	min-height:54px!important;
	padding:0 28px!important;
}

@media (max-width:768px) {
	.twothird .portraitist-study-guide .book-recipe-link a,
	.twothird .book-recipe-link a,
	#main .twothird .book-recipe-link a {
		width:300px!important;
		min-width:300px!important;
		max-width:300px!important;
	}
}

/* 04-8｜プロフィール問い合わせボタン */
.profile-contact-button {
	min-width:280px!important;
	min-height:58px!important;
	margin:0 auto!important;
	padding:0 44px!important;
	box-sizing:border-box!important;
	border:1px solid var(--button-border)!important;
	border-radius:6px!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	color:var(--white)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:400!important;
	line-height:1.5!important;
	letter-spacing:0.14em!important;
	text-align:center!important;
	text-decoration:none!important;
	white-space:nowrap!important;
}

.profile-contact-button::after {
	content:"›"!important;
	margin-left:20px!important;
	color:var(--white)!important;
	font-size:22px!important;
	font-weight:400!important;
	line-height:1!important;
}

/* ==================================================
   05｜サイドバー・目次
================================================== */
/* 05-1｜サイドバー基本 */
.sidebar,
.sidebox,
.widget {
	background:transparent!important;
}

/* 05-2｜サイドバー現在地表示 */
.sidebar .current-menu-item a,
.sidebox .current-menu-item a,
.widget .current-menu-item a {
	color:#8a6a1f!important;
}

.book-sidebar {
	position:relative!important;
	margin:0 0 52px!important;
	padding:2px 0 0!important;
	color:var(--text)!important;
	background:transparent!important;
}

.book-sidebar-section {
	position:relative!important;
	margin:0 0 30px!important;
	padding:0 0 28px!important;
	border-bottom:1px solid rgba(216,208,195,0.65)!important;
}

.book-sidebar-section:last-child {
	margin-bottom:0!important;
	padding-bottom:0!important;
	border-bottom:none!important;
}

.book-sidebar-title {
	position:relative!important;
	margin:0 0 16px!important;
	padding:0 0 9px!important;
	border:none!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:600!important;
	line-height:1.5!important;
	letter-spacing:0.14em!important;
}

.book-sidebar-title::after {
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:48px;
	height:1px;
	background:linear-gradient(90deg,var(--brass-line),var(--brass-fade));
}

/* 05-3｜目次リスト */
.book-toc ul,
.site-toc ul,
.wisdom-toc ul {
	list-style:none!important;
	margin:0!important;
	padding:0!important;
}

.book-toc li,
.site-toc li,
.wisdom-toc li {
	position:relative!important;
	margin:0!important;
	padding:0!important;
	line-height:1.45!important;
}

.book-toc a,
.site-toc a,
.wisdom-toc a,
.wisdom-toc li a {
	position:relative!important;
	display:grid!important;
	opacity:1!important;
	grid-template-columns:2.8em minmax(0,1fr)!important;
	column-gap:9px!important;
	align-items:center!important;
	min-height:29px!important;
	padding:4px 8px 4px 0!important;
	box-sizing:border-box!important;
	color:var(--toc-text)!important;
	font-family:var(--font-body)!important;
	font-size:13.2px!important;
	font-weight:400!important;
	line-height:1.45!important;
	letter-spacing:0.035em!important;
	text-decoration:none!important;
	border-radius:2px!important;
	transition:color 0.25s ease,background-color 0.25s ease,transform 0.25s ease!important;
}

.book-toc span,
.site-toc span,
.wisdom-toc span,
.wisdom-toc li span {
	display:block!important;
	text-align:right!important;
	color:var(--muted)!important;
	font-family:var(--font-title)!important;
	font-size:11px!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:0.08em!important;
	white-space:nowrap!important;
}

/* 05-4｜目次ホバー・現在地 */
.book-toc a:hover,
.site-toc a:hover,
.wisdom-toc a:hover {
	color:var(--brass)!important;
	background:var(--hover-bg)!important;
}

.book-toc a:hover span,
.site-toc a:hover span,
.wisdom-toc a:hover span,
.book-toc li.is-current span,
.site-toc li.is-current span,
.wisdom-toc li.is-current span,
.wisdom-toc-intro li.is-available a span,
.portraitist-article-list li a:hover {
	color:var(--brass)!important;
}

.book-toc li.is-current,
.site-toc li.is-current,
.wisdom-toc li.is-current {
	margin:2px 0!important;
}

.book-toc li.is-current a,
.site-toc li.is-current a,
.wisdom-toc li.is-current a {
	min-height:32px!important;
	padding:5px 8px 5px 12px!important;
	color:var(--ink)!important;
	font-weight:600!important;
	background:linear-gradient(90deg,var(--current-bg-start) 0%,var(--current-bg-mid) 58%,var(--brass-fade) 100%)!important;
	box-shadow:var(--brass-current-shadow);
}

.wisdom-bookmark,
.book-toc li.is-current a::before,
.site-toc li.is-current a::before,
.wisdom-toc li.is-current a::before,
#pmpro_user_fields .pmpro_card_title::before,
#pmpro_user_fields .pmpro_card_title::after,
#pmpro_user_fields .pmpro_section_title::before,
#pmpro_user_fields .pmpro_section_title::after,
#pmpro_user_fields h2::before,
#pmpro_user_fields h2::after,
.pt-recipe-letter__button::before,
.pt-recipe-letter__button::after,
.portraitist-profile .profile-media-box::before,
.portraitist-profile .profile-media-box::after {
	content:none!important;
	display:none!important;
}

/* 05-6｜いにしえの叡智 目次状態 */
.wisdom-toc-intro li.is-available a {
	color:var(--ink)!important;
	font-weight:600!important;
}

.wisdom-toc-intro li.is-locked a {
	color:rgba(90,81,72,0.42)!important;
	background:transparent!important;
}

.wisdom-toc-intro li.is-locked a span {
	color:rgba(154,146,136,0.42)!important;
}

.wisdom-toc-intro li.is-locked a:hover {
	color:rgba(90,81,72,0.58)!important;
	background:rgba(155,116,31,0.035)!important;
	transform:none!important;
}

.wisdom-toc-intro li.is-locked a:hover span {
	color:rgba(155,116,31,0.52)!important;
}

.wisdom-toc-intro li.is-current.is-available a {
	min-height:32px!important;
	padding:5px 8px 5px 12px!important;
	color:var(--ink)!important;
	font-weight:600!important;
	background:linear-gradient(90deg,var(--current-bg-start) 0%,var(--current-bg-mid) 58%,var(--brass-fade) 100%)!important;
	box-shadow:var(--brass-current-shadow)!important;
}

/* 05-7｜全講義リンク */
.book-sidebar-open-all-simple {
	margin:18px 0 0!important;
	padding:16px 0 0!important;
	border-top:1px solid var(--line-72)!important;
}

.book-sidebar-open-all-simple a {
	display:grid!important;
	grid-template-columns:minmax(0,1fr) auto!important;
	align-items:center!important;
	min-height:34px!important;
	padding:5px 8px 5px 0!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:13.2px!important;
	font-weight:500!important;
	line-height:1.45!important;
	letter-spacing:0.055em!important;
	text-decoration:none!important;
	transition:color 0.25s ease,background-color 0.25s ease,transform 0.25s ease!important;
}

.book-sidebar-open-all-simple a::after {
	content:"›";
	color:var(--brass)!important;
	font-size:20px!important;
	line-height:1!important;
}

.book-sidebar-open-all-simple a:hover {
	color:var(--brass-deep)!important;
	background:var(--hover-bg)!important;
	transform:translateX(2px)!important;
}

/* 05-8｜サイドバーリンク・ブロックボタン補正 */
.sidebar a,
.sidebox a,
.widget a {
	color:#6f6254!important;
	opacity:1!important;
}

.wp-block-button__link,
.entry-content .wp-block-button__link,
.sidebar .wp-block-button__link,
.sidebox .wp-block-button__link,
.widget .wp-block-button__link {
	color:var(--white)!important;
	opacity:1!important;
	text-shadow:none!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
}

/* ==================================================
   06｜秘密のレシピ
================================================== */
/* 06-1｜ページ骨格・見出し */
.recipe-title-en,
.wisdom-lesson-title-en {
	letter-spacing:0.22em;
}

.recipe-antique-page {
	max-width:760px;
	margin:0 auto 80px!important;
	padding:56px 48px 72px!important;
	background:linear-gradient(var(--recipe-paper-bg),var(--recipe-paper-bg)),radial-gradient(circle at top,rgba(185,146,66,0.15),transparent 42%);
	border:1px solid var(--antique-border);
	box-shadow:0 20px 50px rgba(70,55,35,0.08),var(--inner-highlight-soft);
}

.recipe-chapter-mark {
	margin-bottom:18px;
	color:var(--brass-deep);
	letter-spacing:0.24em;
}

.recipe-antique-title {
	margin:0 0 32px!important;
	padding-bottom:26px;
	border-bottom:1px solid var(--antique-border);
	text-align:center;
}

.recipe-title-ja {
	color:var(--ink);
	font-size:34px;
	line-height:1.45;
	letter-spacing:0.12em;
}

.recipe-title-en {
	margin-top:8px;
	color:var(--brass-deep);
	font-size:13px;
	line-height:1.6;
}

.recipe-antique-lead {
	margin-bottom:42px!important;
	color:var(--text)!important;
	line-height:2.15!important;
}

.recipe-divider {
	width:120px;
	height:1px;
	margin:0 auto 48px;
	background:linear-gradient(90deg,transparent,rgba(166,124,45,0.55),transparent);
}

/* 06-2｜動画枠 */
.recipe-movie-section {
	margin-bottom:62px;
}

.recipe-step-title {
	margin-bottom:22px!important;
	padding-bottom:12px;
	border-bottom:1px solid rgba(166,124,45,0.25);
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:21px!important;
	font-weight:500!important;
	letter-spacing:0.06em!important;
}

.recipe-video-frame {
	width:100%;
	padding:14px;
	box-sizing:border-box;
	background:linear-gradient(180deg,#2e2923 0%,#16130f 100%);
	border:1px solid rgba(166,124,45,0.65);
	box-shadow:0 16px 34px rgba(50,38,25,0.18),inset 0 0 0 2px rgba(201,164,78,0.28);
}

.recipe-video-inner,
.wisdom-video-inner {
	position:relative!important;
	width:100%!important;
	aspect-ratio:16 / 9!important;
	overflow:hidden!important;
	background:#111!important;
}

.recipe-video-inner iframe,
.wisdom-video-inner iframe {
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	border:none!important;
}

/* 06-3｜材料カード・本文補足 */
.recipe-card {
	margin:72px 0 52px;
	padding:34px 36px 30px;
}

.recipe-card-title {
	margin:0 0 28px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:20px!important;
	letter-spacing:0.12em!important;
	text-align:center;
}

.recipe-material-list {
	margin:0!important;
	padding:0!important;
}

.recipe-material-list div {
	display:grid;
	grid-template-columns:1fr auto;
	gap:24px;
	padding:10px 0;
	border-bottom:1px solid rgba(216,208,195,0.75);
}

.recipe-material-list div:last-child {
	border-bottom:none;
}

.recipe-material-list dt,
.recipe-material-list dd {
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	line-height:1.8!important;
}

.recipe-material-list dd {
	margin:0!important;
	color:var(--wine)!important;
}

.recipe-antique-note {
	margin:54px 0 44px!important;
	color:var(--text)!important;
}

.recipe-antique-button {
	margin-top:42px!important;
	text-align:center!important;
}

/* 06-4｜登録導線レター */
.pt-recipe-letter {
	position:relative!important;
	width:100%!important;
	max-width:720px!important;
	margin:56px auto 18px!important;
	padding:14px!important;
	box-sizing:border-box!important;
	overflow:hidden!important;
	border:1px solid var(--recipe-letter-line)!important;
	background:linear-gradient(180deg,#fbf7ee 0%,#f5efe3 100%)!important;
	box-shadow:0 16px 32px rgba(61,45,24,0.14)!important;
}

.pt-recipe-letter::before {
	content:""!important;
	position:absolute!important;
	inset:14px!important;
	border:1px solid var(--recipe-letter-line)!important;
	pointer-events:none!important;
	z-index:1!important;
}

.pt-recipe-letter__image {
	position:absolute!important;
	left:14px!important;
	bottom:16px!important;
	width:205px!important;
	max-width:none!important;
	height:auto!important;
	z-index:2!important;
	pointer-events:none!important;
}

.pt-recipe-letter__body {
	position:relative!important;
	z-index:3!important;
	max-width:520px!important;
	margin:0 auto!important;
	padding:34px 32px 40px!important;
	text-align:center!important;
	box-sizing:border-box!important;
}

.pt-recipe-letter__heading {
	gap:12px!important;
	margin:0 0 14px!important;
}

.pt-recipe-letter__title {
	margin:0!important;
	color:#6f5428!important;
	font-family:var(--font-title)!important;
	font-size:1.42rem!important;
	font-weight:400!important;
	line-height:1.6!important;
	letter-spacing:0.14em!important;
}

.pt-recipe-letter__seal {
	position:static!important;
	display:inline-block!important;
	width:42px!important;
	height:42px!important;
	max-width:none!important;
	object-fit:contain!important;
	filter:drop-shadow(0 5px 9px rgba(0,0,0,0.18))!important;
	flex:0 0 auto!important;
}

.pt-recipe-letter__line {
	width:160px!important;
	height:1px!important;
	margin:0 auto 26px!important;
	background:var(--recipe-letter-line)!important;
}

.pt-recipe-letter__text {
	margin:0 0 16px!important;
	color:#3f372d!important;
	font-family:var(--font-body)!important;
	font-size:0.94rem!important;
	font-weight:400!important;
	line-height:2!important;
	letter-spacing:0.05em!important;
}

.pt-recipe-letter__button {
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:300px!important;
	height:58px!important;
	margin:24px auto 0!important;
	padding:0!important;
	box-sizing:border-box!important;
	border:1px solid var(--button-border)!important;
	border-radius:6px!important;
	background:var(--gradient-brass)!important;
	box-shadow:0 7px 18px var(--button-shadow-color-soft),var(--button-highlight)!important;
	color:var(--white)!important;
	text-decoration:none!important;
}

.pt-recipe-letter__button span {
	display:block!important;
	margin:0!important;
	padding:0!important;
	color:var(--white)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	font-weight:400!important;
	line-height:1!important;
	letter-spacing:0.08em!important;
	text-align:center!important;
	white-space:nowrap!important;
}

.pt-recipe-letter+.privacy-link {
	margin-top:14px!important;
	text-align:center!important;
	font-size:12.5px!important;
}

/* 06-5｜登録導線レター：モバイル */
@media (max-width:640px) {
	.pt-recipe-letter {
		margin:48px auto 18px!important;
		padding:12px!important;
	}
	.pt-recipe-letter__body {
		padding:42px 18px 116px!important;
	}
	.pt-recipe-letter__heading {
		gap:8px!important;
		margin-bottom:12px!important;
	}
	.pt-recipe-letter__title {
		font-size:1.15rem!important;
		letter-spacing:0.1em!important;
	}
	.pt-recipe-letter__seal {
		width:34px!important;
		height:34px!important;
	}
	.pt-recipe-letter__image {
		width:130px!important;
		left:10px!important;
		bottom:10px!important;
		opacity:0.78!important;
	}
	.pt-recipe-letter__text {
		font-size:0.88rem!important;
		line-height:1.9!important;
	}
	.pt-recipe-letter__button {
		width:88%!important;
		height:54px!important;
	}
	.pt-recipe-letter__button span {
		font-size:13px!important;
	}
}

/* ==================================================
   07｜いにしえの叡智
================================================== */
/* 07-1｜講義ページ骨格 */
.wisdom-lesson-page {
	max-width:820px;
	margin:0 auto 90px!important;
	padding:68px 54px 78px!important;
	background:linear-gradient(var(--wisdom-paper-bg),var(--wisdom-paper-bg)),radial-gradient(circle at top,var(--wine-shadow),transparent 44%);
	border:1px solid var(--wine-border);
	box-shadow:0 24px 58px rgba(55,42,30,0.1),var(--inner-highlight);
}

.wisdom-lesson-mark {
	margin-bottom:20px;
	color:var(--wine);
	font-family:var(--font-title)!important;
	font-size:12px;
	letter-spacing:0.26em;
	text-align:center;
	text-transform:uppercase;
}

.wisdom-lesson-title {
	margin:0 0 32px!important;
	padding-bottom:28px;
	border-bottom:1px solid var(--wine-border);
	text-align:center;
}

.wisdom-lesson-title-ja {
	color:var(--ink-deep);
	font-size:31px;
	line-height:1.55;
	letter-spacing:0.1em;
}

.wisdom-lesson-title-en {
	display:block;
	margin-top:9px;
	color:var(--link-brass);
	font-family:var(--font-title)!important;
	font-size:12px;
}

.wisdom-lesson-lead {
	margin-bottom:46px!important;
	font-size:15px!important;
	line-height:2.2!important;
	text-align:center;
}

.wisdom-lesson-divider {
	width:140px;
	height:1px;
	margin:0 auto 52px;
	background:linear-gradient(90deg,transparent,rgba(112,54,58,0.55),transparent);
}

/* 07-2｜講義動画枠 */
.wisdom-video-frame {
	padding:16px;
	background:linear-gradient(180deg,#3b2527 0%,#1d1413 100%);
	border:1px solid rgba(201,164,78,0.72);
	box-shadow:0 18px 42px rgba(45,30,25,0.22),inset 0 0 0 2px rgba(201,164,78,0.25),inset 0 0 24px rgba(255,255,255,0.04);
}

/* 07-3｜講義ノート */
.wisdom-note-card {
	margin:68px 0 52px;
	padding:34px 38px;
}

.wisdom-note-card p {
	margin:0!important;
	font-size:14.5px!important;
	line-height:2.15!important;
	text-align:center;
}

/* 07-4｜コメント欄 */
.wisdom-comments {
	--wisdom-paper:#fbf7ed;
	--wisdom-paper-soft:#f7f1e5;
	--wisdom-brass:#aa8036;
	--wisdom-brass-soft:rgba(170,128,54,0.20);
	--wisdom-ink:#584331;
	max-width:900px;
	margin:78px auto 120px;
	padding:54px 54px 48px;
	border:1px solid rgba(157,126,78,0.10);
	background:linear-gradient(180deg,rgba(249,245,236,.84),rgba(247,241,229,.72));
	box-shadow:0 8px 24px rgba(82,59,32,0.018);
	color:var(--wisdom-ink);
}

.wisdom-comment-form-wrapper {
	min-width:0;
	margin:0;
	padding:0;
	border:0;
}

.wisdom-comment-form-title {
	display:block;
	width:100%;
	margin:0;
	padding:0;
	border:0;
	color:var(--wisdom-ink);
	font-family:var(--font-title)!important;
	font-size:clamp(18px,1.9vw,26px)!important;
	font-weight:300;
	line-height:1.65;
	letter-spacing:0.105em;
	text-align:center;
}

.wisdom-comment-form-ornament {
	display:block;
	width:290px;
	max-width:100%;
	height:auto;
	margin:-66px auto -58px;
	object-fit:contain;
	opacity:.5;
}

.wisdom-comment-form-lead {
	margin:0 0 30px!important;
	color:#7b6c5e;
	font-size:13px!important;
	line-height:1.9!important;
	letter-spacing:0.06em;
	text-align:center;
}

.wisdom-cancel-reply {
	margin:0 0 12px;
	text-align:center;
}
.wisdom-cancel-reply a {
	color:#8b682b;
	font-size:12px;
	text-decoration:none;
}

.wisdom-comment-paper {
	position:relative;
	box-sizing:border-box;
	width:min(100%,760px);
	margin-inline:auto;
	padding:16px 32px 18px;
	border:1px solid rgba(151,119,72,0.12);
	border-radius:1px;
	background:#f6eee1;
	box-shadow:0 3px 8px rgba(83,61,36,.025),0 1px 1px rgba(83,61,36,.018);
	overflow:hidden;
}

.wisdom-comment-paper::after {
	content:"";
	position:absolute;
	right:-1px;
	bottom:-1px;
	width:34px;
	height:34px;
	border-left:1px solid rgba(163,126,66,.15);
	border-top:1px solid rgba(163,126,66,.15);
	background:linear-gradient(135deg,rgba(226,216,195,.50) 0 48%,#fbf7ed 50% 100%);
	box-shadow:-1px -1px 3px rgba(83,61,36,.025);
	pointer-events:none;
}

.wisdom-logged-in {
	margin:0 0 10px!important;
	padding:0 0 10px;
	border-bottom:1px solid rgba(138,110,69,.12);
	color:#725f4d;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	line-height:1.8!important;
	letter-spacing:0.06em;
}

.wisdom-comment-textarea {
	position:relative;
	z-index:1;
}

.wisdom-comment-textarea textarea,
.wisdom-comment-form textarea#comment,
#comment {
	display:block;
	width:100%!important;
	height:120px!important;
	min-height:110px!important;
	padding:8px 72px 20px 4px!important;
	border:0!important;
	border-radius:0!important;
	color:var(--wisdom-ink)!important;
	background:transparent!important;
	box-shadow:none!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2!important;
	resize:vertical;
}

.wisdom-comment-textarea textarea:focus,
.wisdom-comment-form textarea#comment:focus,
#comment:focus {
	outline:1px solid rgba(167,123,46,.42)!important;
	outline-offset:7px;
	box-shadow:none!important;
}

.wisdom-comment-paper-flower {
	position:absolute;
	right:34px;
	bottom:24px;
	z-index:2;
	width:50px;
	height:68px;
	background:url('https://portraitist.jp/wp-content/uploads/2026/08/Comment-Illsut-001.png') center bottom/contain no-repeat;
	opacity:.52;
	pointer-events:none;
}

.wisdom-submit-comment-wrapper {
	display:flex;
	box-sizing:border-box;
	width:100%;
	max-width:760px;
	margin:18px auto 0;
	padding:0;
	justify-content:flex-end;
	overflow:visible;
	text-align:right;
}

#submit_comment {
	display:inline-flex!important;
	box-sizing:border-box!important;
	width:190px!important;
	max-width:100%!important;
	min-width:0!important;
	align-items:center;
	justify-content:center;
	margin:0!important;
	padding:14px 34px!important;
	border:1px solid #a77b2e!important;
	border-radius:3px!important;
	color:var(--white)!important;
	background:#b38a38!important;
	box-shadow:none!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	line-height:1.5!important;
	letter-spacing:0.15em!important;
	cursor:pointer!important;
	transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
#submit_comment:hover,
#submit_comment:focus-visible {
	border-color:#927027!important;
	background:#a77b2e!important;
	transform:translateY(-1px);
}

.wisdom-comment-records {
	margin-top:42px;
	padding-top:30px;
	border-top:1px solid rgba(157,126,78,.14);
}

.wisdom-comments-title {
	position:relative;
	margin:0 0 32px!important;
	padding:0 0 14px!important;
	color:#655244;
	font-family:var(--font-title)!important;
	font-size:18px!important;
	font-weight:300!important;
	line-height:1.75!important;
	letter-spacing:0.10em;
	text-align:center;
}
.wisdom-comments-title::after {
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	width:42px;
	height:1px;
	transform:translateX(-50%);
	background:rgba(181,138,58,.55);
}

.wisdom-no-comments {
	margin:0!important;
	color:#827466;
	font-size:13px!important;
	line-height:2!important;
	letter-spacing:0.06em;
	text-align:center;
}

.wisdom-comment-list-wrap { margin:0; }
.wisdom-comment-list,
.wisdom-comment-list .children {
	margin:0;
	padding:0;
	list-style:none;
}
.wisdom-comment-list > li + li { margin-top:24px; }

.single-post .wisdom-comments .wisdom-comment-list .comment-body {
	position:relative;
	padding:21px 28px 19px 42px;
	border:1px solid rgba(151,119,72,.08);
	border-radius:1px;
	background:#f6eee1;
	box-shadow:0 2px 6px rgba(83,61,36,.020);
}


.wisdom-comment-bookmark {
	position:absolute;
	left:4px;
	top:-4px;
	display:block;
	width:36px;
	height:auto;
	max-height:none;
	opacity:.64;
	pointer-events:none;
	user-select:none;
}

.wisdom-comment-list .comment-meta {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px 20px;
	margin:0 0 8px;
}
.wisdom-comment-list > li > .comment-body > .comment-meta {
	padding-left:18px;
}
.wisdom-comment-list .comment-author {
	color:#5b4430;
	font-family:var(--font-title)!important;
	font-size:14px;
	font-weight:400;
	line-height:1.7;
	letter-spacing:.07em;
}
.wisdom-comment-list .comment-author .says,
.wisdom-comment-list .avatar { display:none; }
.wisdom-comment-list .comment-metadata {
	margin:0;
	font-size:11px;
	line-height:1.7;
	letter-spacing:.035em;
}
.wisdom-comment-list .comment-metadata a,
.wisdom-comment-list .comment-edit-link {
	color:rgba(105,92,79,.58);
	text-decoration:none;
}
.wisdom-comment-list .comment-content {
	max-width:650px;
	color:#5a4b3f;
	font-family:var(--font-body)!important;
	font-size:14px;
	line-height:1.95;
	letter-spacing:.035em;
}
.wisdom-comment-list .comment-content p {
	margin:0 0 .8em!important;
	font-size:inherit!important;
	line-height:inherit!important;
}
.wisdom-comment-list .comment-content p:last-child { margin-bottom:0!important; }
.wisdom-comment-list .reply {
	margin-top:8px;
	text-align:right;
}
.wisdom-comment-list .comment-reply-link {
	color:#9a7130;
	font-family:var(--font-title)!important;
	font-size:12px;
	letter-spacing:.09em;
	text-decoration:none;
}

.wisdom-comment-list .children {
	position:relative;
	margin:12px 0 0 30px;
	padding-left:18px;
}
.wisdom-comment-list .children::before {
	content:"";
	position:absolute;
	left:0;
	top:-13px;
	bottom:50%;
	width:15px;
	border-left:1px solid rgba(181,138,58,.16);
	border-bottom:1px solid rgba(181,138,58,.16);
	border-bottom-left-radius:10px;
}
.single-post .wisdom-comments .wisdom-comment-list .children .comment-body {
	padding-left:28px;
	background:#f6eee1;
}
.wisdom-comment-list .children > li + li { margin-top:14px; }
.wisdom-comment-list .comment-awaiting-moderation {
	display:block;
	margin:0 0 10px;
	color:#8b682b;
	font-size:12px;
	font-style:normal;
	letter-spacing:.04em;
}
.wisdom-comment-nav {
	margin-top:28px;
	text-align:center;
}
.wisdom-comment-nav .page-numbers {
	dis:inline-block;
	margin:0 4px;
	color:#765a2d;
	font-size:13px;
	text-decoration:none;
}

@media (min-width:761px) and (max-width:1100px) {
	.wisdom-comments { margin-bottom:100px; }
	.wisdom-comment-form-ornament { width:245px; margin-top:-52px; margin-bottom:-50px; }
	.wisdom-comment-bookmark { width:34px; max-height:none; }
}

@media (max-width:760px) {
	.wisdom-comments {
		margin-top:58px;
		margin-bottom:72px;
		padding:38px 18px 34px;
	}
	.wisdom-comment-form-title {
		font-size:21px!important;
		letter-spacing:.09em;
	}
	.wisdom-comment-form-ornament {
		width:175px;
		margin-top:-28px;
		margin-bottom:-34px;
		opacity:.5;
	}
	.wisdom-comment-form-lead {
		margin-bottom:22px!important;
		font-size:12px!important;
	}
	.wisdom-comment-paper {
		width:100%;
		padding:16px 18px 18px;
	}
	.wisdom-comment-paper::after {
		width:26px;
		height:26px;
	}
	.wisdom-comment-textarea textarea,
	.wisdom-comment-form textarea#comment,
	#comment {
		height:135px!important;
		min-height:125px!important;
		padding:7px 46px 18px 2px!important;
		font-size:14px!important;
	}
	.wisdom-comment-paper-flower {
		right:20px;
		bottom:18px;
		width:34px;
		height:48px;
	}
	.wisdom-submit-comment-wrapper {
		width:100%;
		text-align:right;
	}
	#submit_comment {
		width:min(100%,210px)!important;
		min-width:0!important;
	}
	.wisdom-comment-records {
		margin-top:36px;
		padding-top:25px;
	}
	.wisdom-comments-title {
		font-size:17px!important;
	}
	.wisdom-comment-list > li + li { margin-top:18px; }
	.wisdom-comment-list .comment-body {
		padding:20px 16px 18px 28px;
	}
	.wisdom-comment-bookmark {
		left:2px;
		width:32px;
		max-height:none;
	}
	.wisdom-comment-list > li > .comment-body > .comment-meta {
		padding-left:20px;
	}
	.wisdom-comment-list .comment-meta {
		gap:2px 12px;
	}
	.wisdom-comment-list .comment-content {
		font-size:14px;
		line-height:1.9;
	}
	.wisdom-comment-list .children {
		margin-left:7px;
		padding-left:10px;
	}
	.wisdom-comment-list .children::before { width:8px; }
	.wisdom-comment-list .children .comment-body { padding-left:16px; }
}

@media (prefers-reduced-motion:reduce) {
	#submit_comment { transition:none; }
}

/* ==================================================
   08｜書斎・講義一覧
================================================== */
/* 08-1｜書斎ページ骨格 */
.portraitist-study {
	max-width:760px!important;
	margin:0 auto 90px!important;
}

.portraitist-study-library-lead {
	margin:0 0 44px!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2.15!important;
	letter-spacing:0.04em!important;
}

.portraitist-study-section-title {
	position:relative!important;
	margin:0 0 22px!important;
	padding:30px 20px!important;
	border:1px solid rgba(155,116,31,0.24)!important;
	background:linear-gradient(var(--soft-card-bg),var(--soft-card-bg)),radial-gradient(circle at center,rgba(201,164,78,0.11),transparent 62%)!important;
	box-shadow:0 12px 28px var(--shadow-color),inset 0 0 0 1px rgba(255,255,255,0.52)!important;
	color:var(--ink-deep)!important;
	font-family:var(--font-title)!important;
	font-size:24px!important;
	font-weight:500!important;
	text-align:center!important;
	letter-spacing:0.1em!important;
}

/* 08-2｜講義一覧リスト */
.portraitist-lesson-list,
.portraitist-creation-list {
	margin:0!important;
	padding:0!important;
	list-style:none!important;
	border:1px solid var(--line-strong)!important;
	background:var(--box-bg-42)!important;
	box-shadow:0 14px 34px var(--shadow-color-mid)!important;
}

.portraitist-lesson-list li {
	margin:0!important;
	padding:0!important;
	border-bottom:1px solid var(--line-mid)!important;
	list-style:none!important;
}

.portraitist-lesson-list li:last-child,
.portraitist-creation-list li:last-child {
	border-bottom:none!important;
}

.portraitist-lesson-list a {
	display:grid!important;
	grid-template-columns:58px 112px minmax(0,1fr) 24px!important;
	align-items:center!important;
	min-height:58px!important;
	padding:0 22px 0 18px!important;
	color:var(--ink)!important;
	text-decoration:none!important;
	font-family:var(--font-body)!important;
	background:rgba(252,250,245,0.2)!important;
	transition:background 0.25s ease,color 0.25s ease,transform 0.25s ease!important;
}

.portraitist-lesson-list a:hover {
	background:var(--brass-hover-strong)!important;
	color:var(--brass-deep)!important;
	transform:translateX(2px);
}

.portraitist-lesson-number {
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	letter-spacing:0.1em!important;
}

.portraitist-lesson-chapter {
	color:var(--brass-deep)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	letter-spacing:0.08em!important;
}

.portraitist-lesson-name {
	color:var(--ink-deep)!important;
	font-size:15px!important;
	letter-spacing:0.06em!important;
}

.portraitist-lesson-arrow {
	color:var(--brass)!important;
	font-size:24px!important;
	line-height:1!important;
	text-align:right!important;
}

/* 08-3｜非表示補助 */
.portraitist-checkout-intro h1,
#pmpro_pricing_fields,
.pmpro_checkout_box#pmpro_pricing_fields,
:is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password),
.portraitist-journey-box,
.portraitist-journey-box-upgrade,
.portraitist-course-mobile-hint,
.portraitist-article-empty {
	display:none!important;
}

/* 08-4｜学習ステータス */
.portraitist-study-status-card {
	margin:0 0 42px!important;
}

.portraitist-study-status-name {
	margin:0 0 18px!important;
	color:var(--soft-text)!important;
	font-family:var(--font-body)!important;
	font-size:13px!important;
	letter-spacing:0.04em!important;
}

.portraitist-study-status-name span {
	display:inline-block!important;
	width:8px!important;
	height:8px!important;
	margin-right:9px!important;
	border-radius:50%!important;
	background:var(--status-green)!important;
	vertical-align:middle!important;
}

.portraitist-study-status-box {
	padding:24px 26px 22px!important;
	border:1px solid var(--line-strong)!important;
	background:rgba(252,250,245,0.52)!important;
	box-shadow:0 10px 26px var(--shadow-color-light),var(--inner-highlight-mid)!important;
}

.portraitist-study-status-label {
	margin:0 0 8px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	font-weight:600!important;
	letter-spacing:0.1em!important;
}

.portraitist-study-status-level {
	margin:0 0 14px!important;
	color:var(--ink)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	font-weight:600!important;
	line-height:1.8!important;
}

.portraitist-study-status-note {
	display:inline-block!important;
	margin:0!important;
	padding:8px 18px!important;
	border:1px solid rgba(216,208,195,0.9)!important;
	background:rgba(248,246,241,0.72)!important;
	color:var(--soft-text)!important;
	font-size:13px!important;
	line-height:1.6!important;
	letter-spacing:0.04em!important;
}

.portraitist-lesson-list-status .portraitist-lesson-name {
	display:block!important;
}

.portraitist-lesson-status {
	display:block!important;
	margin-top:3px!important;
	color:#5f6f58!important;
	font-family:var(--font-body)!important;
	font-size:12.5px!important;
	font-weight:400!important;
	line-height:1.5!important;
	letter-spacing:0.05em!important;
}

.portraitist-lesson-status::before,
.portraitist-creation-status::before {
	content:"";
	display:inline-block!important;
	width:8px!important;
	height:8px!important;
	margin-right:7px!important;
	border-radius:50%!important;
}

.portraitist-lesson-status::before {
	background:var(--status-green)!important;
	vertical-align:0.02em!important;
}

.portraitist-lesson-list-status li.is-unpublished a {
	color:var(--muted)!important;
	background:rgba(252,250,245,0.28)!important;
}

.portraitist-lesson-list-status li.is-unpublished .portraitist-lesson-number,
.portraitist-lesson-list-status li.is-unpublished .portraitist-lesson-chapter,
.portraitist-lesson-list-status li.is-unpublished .portraitist-lesson-name {
	color:var(--muted-deep)!important;
}

.portraitist-lesson-list-status li.is-unpublished .portraitist-lesson-status {
	color:var(--danger-muted)!important;
}

.portraitist-lesson-list-status li.is-unpublished a:hover {
	background:var(--hover-bg)!important;
	transform:none!important;
}

@media (max-width:768px) {
	.portraitist-study-status-box {
		padding:22px 20px!important;
	}
	.portraitist-lesson-list-status a {
		grid-template-columns:42px 82px minmax(0,1fr) 18px!important;
	}
	.portraitist-course-guide {
		padding:26px 18px 28px!important;
	}
	.portraitist-course-guide a {
		width:100%!important;
		min-width:0!important;
		box-sizing:border-box!important;
	}
}

/* 08-5｜創作課題一覧 */
.portraitist-creation-title {
	margin-top:42px!important;
}

.portraitist-creation-list li {
	display:grid!important;
	grid-template-columns:minmax(0,1fr) auto!important;
	align-items:center!important;
	min-height:58px!important;
	margin:0!important;
	padding:0 22px!important;
	border-bottom:1px solid var(--line-mid)!important;
	box-sizing:border-box!important;
}

.portraitist-creation-name {
	color:var(--muted-deep)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:1.7!important;
	letter-spacing:0.06em!important;
}

.portraitist-creation-status {
	display:inline-flex!important;
	align-items:center!important;
	color:var(--danger-muted)!important;
	font-family:var(--font-body)!important;
	font-size:12.5px!important;
	line-height:1.5!important;
	letter-spacing:0.05em!important;
	white-space:nowrap!important;
}

.portraitist-lesson-list-status li.is-unpublished .portraitist-lesson-status::before,
.portraitist-creation-status::before {
	background:var(--prep-red)!important;
}

.portraitist-creation-list li:nth-last-child(2) .portraitist-creation-status {
	color:var(--link-brass)!important;
}

.portraitist-creation-list li:nth-last-child(2) .portraitist-creation-status::before,
.portraitist-article-section:nth-child(n+5) .portraitist-article-num {
	background:var(--brass)!important;
}

.portraitist-creation-list li:last-child {
	background:linear-gradient(90deg,var(--hover-bg) 0%,rgba(155,116,31,0.018) 100%)!important;
}

.portraitist-creation-list li:last-child .portraitist-creation-name {
	color:var(--soft-text)!important;
	font-family:var(--font-title)!important;
	letter-spacing:0.1em!important;
}

@media (max-width:768px) {
	.portraitist-creation-title {
		margin-top:34px!important;
	}
	.portraitist-creation-list li {
		min-height:56px!important;
		padding:0 14px!important;
	}
	.portraitist-creation-name {
		font-size:13.5px!important;
	}
	.portraitist-creation-status {
		font-size:12px!important;
	}
}

/* 08-6｜学習進捗・アップグレード導線 */
.portraitist-journey-bar {
	width:100%!important;
	height:7px!important;
	overflow:hidden!important;
	border-radius:99px!important;
	background:var(--line-72)!important;
}

.portraitist-journey-bar span {
	display:block!important;
	height:100%!important;
	border-radius:99px!important;
	background:linear-gradient(90deg,var(--brass),var(--brass-light))!important;
}

.portraitist-journey-upgrade {
	margin:22px 0 0!important;
	padding-top:20px!important;
	border-top:1px solid var(--line-mid)!important;
}

.portraitist-journey-upgrade p {
	margin:0 0 16px!important;
	color:var(--soft-text)!important;
	font-family:var(--font-body)!important;
	font-size:13.5px!important;
	line-height:1.9!important;
	letter-spacing:0.04em!important;
}

.portraitist-journey-upgrade a {
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	width:100%!important;
	min-height:48px!important;
	padding:0 18px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(155,116,31,0.34)!important;
	border-left:3px solid rgba(155,116,31,0.78)!important;
	background:linear-gradient(90deg,rgba(155,116,31,0.09) 0%,rgba(155,116,31,0.04) 62%,rgba(155,116,31,0.015) 100%)!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:500!important;
	letter-spacing:0.08em!important;
	text-decoration:none!important;
}

.portraitist-journey-upgrade a span {
	margin-left:16px!important;
	color:var(--brass)!important;
	font-size:13px!important;
	white-space:nowrap!important;
}

.portraitist-journey-upgrade a:hover {
	color:var(--brass-deep)!important;
	background:linear-gradient(90deg,rgba(155,116,31,0.13) 0%,var(--brass-hover-strong) 62%,rgba(155,116,31,0.02) 100%)!important;
}

@media (max-width:768px) {
	.portraitist-journey-upgrade a {
		align-items:flex-start!important;
		flex-direction:column!important;
		justify-content:center!important;
		min-height:64px!important;
		padding:12px 16px!important;
		gap:4px!important;
	}
	.portraitist-journey-upgrade a span {
		margin-left:0!important;
	}
}

.portraitist-journey-inside-status {
	margin:22px 0 0!important;
}

.portraitist-journey-upgrade-under-list {
	margin:28px 0 42px!important;
}

/* 08-7｜講義ページ戻り導線 */
.portraitist-back-to-study {
	margin:42px 0 80px!important;
	text-align:center!important;
}

.portraitist-back-to-study a {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:190px!important;
	min-height:52px!important;
	padding:0 38px!important;
	border:1px solid var(--button-border)!important;
	border-radius:5px!important;
	color:var(--white)!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:600!important;
	letter-spacing:0.14em!important;
	text-decoration:none!important;
}

/* 08-8｜叡智の樹イメージ */
.portraitist-wisdom-tree {
	margin:22px 0 28px!important;
	padding:0!important;
	width:100%!important;
	overflow:hidden!important;
	box-sizing:border-box!important;
	border:1px solid var(--line-72)!important;
	background:#f8f6f1!important;
}

.portraitist-wisdom-tree img {
	display:block!important;
	width:100%!important;
	height:auto!important;
	margin:0!important;
	opacity:0.88!important;
	filter:brightness(1.05) contrast(0.9) saturate(0.86)!important;
}

@media (max-width:768px) {
	.portraitist-wisdom-tree {
		margin:18px 0 24px!important;
	}
	.portraitist-wisdom-tree img {
		opacity:0.86!important;
	}
}

/* ==================================================
   09｜登録・ログイン
================================================== */
/* 09-1｜登録・アップグレード共通カード */
.portraitist-registration-box,
.portraitist-upgrade-box {
	max-width:720px!important;
	background:var(--box-bg-58)!important;
	box-shadow:0 18px 44px var(--shadow-color-mid),var(--inner-highlight)!important;
	text-align:center!important;
}

/* 09-2｜ログインフォーム */
.portraitist-login-field {
	display:block!important;
	margin:0 0 22px!important;
}

.portraitist-login-field label,
.portraitist-registration-form label {
	display:block!important;
	margin:0 0 8px!important;
}

.portraitist-login-field input,
.portraitist-registration-form input {
	width:100%!important;
	box-sizing:border-box!important;
}

.portraitist-login-field input {
	display:block!important;
	max-width:420px!important;
}

.portraitist-login-submit input[type="submit"] {
	width:auto!important;
	min-width:180px!important;
	height:48px!important;
	padding:0 34px!important;
	border:1px solid var(--button-border)!important;
	border-radius:4px!important;
	color:var(--white)!important;
	background:var(--gradient-brass)!important;
	box-shadow:0 6px 15px rgba(115,82,20,0.1),var(--button-highlight)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:600!important;
	letter-spacing:0.1em!important;
	cursor:pointer!important;
}

/* 09-3｜フォーム余白・送信位置 */
.pmpro_form_field,
.pmpro_checkout-field,
.pmpro_field,
.portraitist-registration-form p {
	margin:0 0 22px!important;
}

.pmpro_submit,
.pmpro_checkout-submit,
#pmpro_submit_span,
.portraitist-registration-submit {
	margin-top:34px!important;
	text-align:center!important;
}

/* 09-4｜登録フォーム本体 */
.portraitist-registration-box {
	margin:64px auto 80px!important;
	padding:46px 48px 50px!important;
}

.portraitist-registration-title {
	font-size:24px!important;
}

.portraitist-registration-lead {
	margin:0 0 34px!important;
	color:var(--text)!important;
	font-size:14.5px!important;
	line-height:2.05!important;
}

.portraitist-registration-form {
	max-width:420px!important;
	margin:0 auto!important;
	text-align:left!important;
}

.portraitist-registration-form label {
	color:var(--soft-text)!important;
	font-size:13px!important;
	letter-spacing:0.06em!important;
}

.portraitist-registration-form input {
	min-height:48px!important;
	padding:12px 14px!important;
	border:1px solid var(--field-border)!important;
	background:var(--field-bg)!important;
	color:var(--ink)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
}

.portraitist-registration-submit button,
.portraitist-registration-button {
	display:inline-flex!important;
	min-width:220px!important;
	min-height:52px!important;
	padding:0 38px!important;
	border:1px solid var(--button-border)!important;
	border-radius:5px!important;
	background:var(--gradient-brass)!important;
	font-size:14px!important;
	letter-spacing:0.12em!important;
	cursor:pointer!important;
}

.portraitist-registration-message {
	margin:0 auto 28px!important;
	padding:16px 18px!important;
	border:1px solid rgba(112,54,58,0.28)!important;
	background:rgba(252,250,245,0.72)!important;
	color:var(--wine)!important;
	font-size:14px!important;
	line-height:1.9!important;
}

/* 09-5｜登録・アップグレード レスポンシブ */
@media (max-width:768px) {
	.portraitist-registration-box,
	.portraitist-upgrade-box {
		padding:36px 22px 42px!important;
	}
	.portraitist-registration-submit button,
	.portraitist-registration-button {
		width:100%!important;
		min-width:0!important;
	}
}

/* ==================================================
   10｜PMPro・会員画面
================================================== */
/* 10-1｜PMPro全体ラッパー */
#pmpro_form,
.pmpro,
.pmpro_checkout {
	max-width:760px!important;
	margin:0 auto 90px!important;
	font-family:var(--font-body)!important;
}

/* 10-2｜チェックアウト導入カード */
.portraitist-checkout-intro {
	max-width:760px!important;
	margin:0 auto 42px!important;
	padding:46px 48px 44px!important;
	border:1px solid var(--brass-border)!important;
	background:linear-gradient(var(--intro-card-bg),var(--intro-card-bg)),radial-gradient(circle at top,rgba(201,164,78,0.12),transparent 52%)!important;
	box-shadow:0 18px 44px var(--soft-shadow-deep),inset 0 0 0 1px var(--white-focus)!important;
	text-align:center!important;
}

.portraitist-checkout-mark {
	margin-bottom:18px!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	letter-spacing:0.26em!important;
	text-transform:uppercase!important;
}

.portraitist-checkout-intro p {
	margin:0 0 18px!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2.15!important;
	letter-spacing:0.04em!important;
}

/* 10-3｜PMPro共通カード外枠 */
.pmpro_section,
.pmpro_card,
.pmpro_checkout_box,
#pmpro_user_fields,
#pmpro_payment_information_fields,
#pmpro_billing_address_fields,
.pmpro_box,
.pmpro_member_profile_edit_wrap,
.pmpro_account-membership-levels,
.pmpro_account-profile,
.pmpro_account-invoices,
.pmpro_invoice_wrap {
	margin:0 0 34px!important;
	padding:0!important;
	border:1px solid var(--line-strong)!important;
	border-radius:0!important;
	background:var(--box-bg)!important;
	box-shadow:var(--soft-shadow)!important;
}

.pmpro_card_content,
.pmpro_section_content,
.pmpro_checkout-fields,
.pmpro_checkout_box>div,
#pmpro_user_fields .pmpro_checkout-fields,
#pmpro_user_fields .pmpro_card_content,
#pmpro_user_fields .pmpro_section_content {
	padding:34px 42px 42px!important;
}

.pmpro_section h2,
.pmpro_card_title,
.pmpro_checkout h2,
#pmpro_form h2,
.pmpro legend,
.pmpro_box h2,
.pmpro_card h2,
.pmpro_account h2,
.pmpro_member_profile_edit_wrap h2,
.pmpro_account-membership-levels h2,
.pmpro_account-profile h2,
.pmpro_account-invoices h2 {
	margin:0!important;
	padding:24px 34px 18px!important;
	border-bottom:1px solid var(--line-82)!important;
	color:var(--ink)!important;
	background:rgba(248,246,241,0.55)!important;
	font-family:var(--font-title)!important;
	font-size:20px!important;
	font-weight:500!important;
	line-height:1.65!important;
	letter-spacing:0.1em!important;
}

#pmpro_user_fields>h2,
#pmpro_user_fields .pmpro_card_title,
#pmpro_user_fields .pmpro_section_title,
#pmpro_user_fields h2 {
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:34px 20px 4px!important;
	border:none!important;
	background:transparent!important;
	box-shadow:none!important;
	text-align:center!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:24px!important;
	font-weight:500!important;
	line-height:1.6!important;
	letter-spacing:0.12em!important;
}

.pmpro p,
.pmpro li,
#pmpro_form p,
#pmpro_form li {
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14.5px!important;
	line-height:2.05!important;
}

.pmpro_level_name_text,
.pmpro_level_cost_text,
.pmpro_checkout_level {
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2!important;
}

.pmpro_level_cost_text {
	color:var(--wine)!important;
	font-weight:600!important;
}

.portraitist-field-note {
	margin:-10px 0 22px!important;
	color:var(--subtle-text)!important;
	font-size:12.5px!important;
	line-height:1.8!important;
	letter-spacing:0.04em!important;
}

#pmpro_user_fields .pmpro_checkout-fields,
#pmpro_user_fields .pmpro_card_content,
#pmpro_user_fields .pmpro_section_content {
	display:grid!important;
	grid-template-columns:1fr 1fr!important;
	column-gap:40px!important;
	row-gap:22px!important;
}

#pmpro_user_fields .pmpro_checkout-field-username,
#pmpro_user_fields .pmpro_form_field-username,
#pmpro_user_fields p:has(#username),
#pmpro_user_fields .portraitist-field-note,
#pmpro_user_fields .pmpro_login_wrap,
#pmpro_user_fields .pmpro_actions_nav {
	grid-column:1 / -1!important;
}

#pmpro_user_fields :is(.pmpro_checkout-field-bemail,.pmpro_checkout-field-bconfirmemail,.pmpro_form_field-bemail,.pmpro_form_field-bconfirmemail,.pmpro_checkout-field-password,.pmpro_checkout-field-password2,.pmpro_form_field-password,.pmpro_form_field-password2),
#pmpro_user_fields p:has(:is(#bemail,#bconfirmemail,#password,#password2)) {
	grid-column:auto!important;
}

/* 10-5｜PMProフォーム入力欄 */
:is(.pmpro,#pmpro_form) label {
	display:block!important;
	margin:0 0 8px!important;
	color:var(--soft-text)!important;
	font-family:var(--font-body)!important;
	font-size:13px!important;
	line-height:1.6!important;
	letter-spacing:0.06em!important;
}

.pmpro input:is([type="text"],[type="email"],[type="password"],[type="number"],[type="tel"]),
.pmpro select,
#pmpro_form input:is([type="text"],[type="email"],[type="password"],[type="number"],[type="tel"]),
#pmpro_form select {
	display:block!important;
	width:100%!important;
	max-width:none!important;
	min-height:48px!important;
	padding:12px 14px!important;
	box-sizing:border-box!important;
	border:1px solid var(--field-border)!important;
	border-radius:2px!important;
	color:var(--ink)!important;
	background:var(--field-bg)!important;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,0.46)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:1.7!important;
}

:is(.pmpro,#pmpro_form) :is(input,select):focus,
body.pmpro-checkout :is(input,select,textarea):focus {
	outline:none!important;
	border-color:var(--focus-border)!important;
	box-shadow:var(--focus-highlight)!important;
}

.pmpro_required,
.pmpro_asterisk,
body.pmpro-checkout :is(.pmpro_required,.pmpro_asterisk) {
	color:var(--wine)!important;
}

/* 10-6｜PMProメッセージ・エラー表示 */
.pmpro_message,
.pmpro_error,
.pmpro_alert,
body.pmpro-checkout :is(.pmpro_message,.pmpro_error,.pmpro_alert) {
	margin:0 0 28px!important;
	padding:18px 22px!important;
	border:1px solid var(--brass-border)!important;
	border-radius:0!important;
	background:var(--box-bg-78)!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	line-height:1.9!important;
}

/* 10-7｜PMPro送信ボタン */
.pmpro_btn,
.pmpro input[type="submit"],
#pmpro_btn-submit,
.pmpro_btn-submit-checkout,
#pmpro_form input[type="submit"] {
	display:inline-flex!important;
	width:auto!important;
	min-width:190px!important;
	min-height:52px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	padding:0 40px!important;
	border:1px solid var(--button-border)!important;
	border-radius:5px!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	font-size:14px!important;
	line-height:1.5!important;
	letter-spacing:0.14em!important;
	cursor:pointer!important;
	transition:all 0.25s ease!important;
}

body :is(.pmpro_btn,#pmpro_btn-submit,.pmpro_btn-submit-checkout,.portraitist-course-guide a,.portraitist-upgrade-button a,.portraitist-course-plan a):hover,
.pmpro input[type="submit"]:hover,
#pmpro_form input[type="submit"]:hover,
.pmpro_account a.pmpro_btn:hover,
.pmpro_confirmation_wrap a.pmpro_btn:hover {
	opacity:0.92!important;
	transform:translateY(-1px)!important;
}

/* 10-8｜登録完了・アカウント画面 */
.pmpro_confirmation_wrap,
.pmpro_account {
	max-width:760px!important;
	margin:0 auto 90px!important;
	padding:0!important;
	font-family:var(--font-body)!important;
}

.entry-title,
.pmpro_confirmation_wrap h1,
.pmpro_account h1,
.pmpro_account h2,
.pmpro_confirmation_wrap h2 {
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-weight:500!important;
	letter-spacing:0.12em!important;
}

.pmpro_confirmation_wrap>p {
	margin:0 0 34px!important;
	padding:42px 38px!important;
	border:1px solid var(--brass-border)!important;
	background:linear-gradient(var(--box-bg-78),var(--box-bg-78)),radial-gradient(circle at top,rgba(201,164,78,0.13),transparent 54%)!important;
	box-shadow:0 18px 44px var(--soft-shadow-deep),inset 0 0 0 1px var(--white-focus)!important;
	color:var(--text)!important;
	font-size:15px!important;
	line-height:2.2!important;
	text-align:center!important;
}

.pmpro_box>*,
.pmpro_card>*,
.pmpro_account-membership-levels>*,
.pmpro_account-profile>*,
.pmpro_account-invoices>* {
	color:var(--text)!important;
	font-family:var(--font-body)!important;
}

.pmpro_member_profile_edit_wrap,
.pmpro_account-profile {
	overflow:hidden!important;
}

.pmpro_member_profile_edit_wrap .pmpro_card_content,
.pmpro_account-profile .pmpro_card_content,
.pmpro_box .pmpro_card_content,
.pmpro_box p,
.pmpro_account p {
	font-size:14.5px!important;
	line-height:2.05!important;
}

:is(.pmpro_table,.pmpro_account table,.pmpro_confirmation_wrap table) {
	width:100%!important;
	margin:0!important;
	border-collapse:collapse!important;
	border:none!important;
	background:transparent!important;
}

:is(.pmpro_table,.pmpro_account table,.pmpro_confirmation_wrap table) :is(th,td) {
	padding:15px 18px!important;
	border:none!important;
	border-bottom:1px solid var(--line-mid)!important;
	color:var(--text)!important;
	background:transparent!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	line-height:1.9!important;
	text-align:left!important;
}

:is(.pmpro_table,.pmpro_account table,.pmpro_confirmation_wrap table) th {
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-weight:500!important;
	letter-spacing:0.08em!important;
}

.pmpro_account .pmpro_btn,
.pmpro_confirmation_wrap .pmpro_btn,
.pmpro_account input[type="submit"],
.pmpro_confirmation_wrap input[type="submit"] {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:180px!important;
	min-height:48px!important;
	padding:0 32px!important;
	border:1px solid var(--button-border)!important;
	border-radius:5px!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	color:var(--white)!important;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	font-weight:600!important;
	line-height:1.5!important;
	letter-spacing:0.12em!important;
	text-decoration:none!important;
}

:is(.pmpro_account,.pmpro_confirmation_wrap) a:not(.pmpro_btn) {
	color:var(--brass)!important;
	border-bottom:1px solid var(--brass-border)!important;
}

:is(.pmpro_account,.pmpro_confirmation_wrap) a:not(.pmpro_btn):hover {
	color:var(--brass-deep)!important;
}

.pmpro_actions_nav,
.pmpro_account .pmpro_actions_nav {
	margin-top:24px!important;
	text-align:center!important;
}

.pmpro_actions_nav a {
	margin:0 8px 8px!important;
}

@media (max-width:768px) {
	:is(.pmpro_confirmation_wrap,.pmpro_account) {
		max-width:100%!important;
		margin-bottom:70px!important;
	}
	.pmpro_confirmation_wrap>p {
		padding:34px 22px!important;
		font-size:14.5px!important;
		text-align:left!important;
	}
	:is(.pmpro_box,.pmpro_card,.pmpro_account,.pmpro_member_profile_edit_wrap,.pmpro_account-membership-levels,.pmpro_account-profile,.pmpro_account-invoices) h2 {
		padding:22px 22px 16px!important;
		font-size:18px!important;
	}
	:is(.pmpro_table,.pmpro_account table,.pmpro_confirmation_wrap table) :is(th,td) {
		padding:13px 12px!important;
		font-size:13px!important;
	}
	:is(.pmpro_account,.pmpro_confirmation_wrap) .pmpro_btn {
		width:100%!important;
		min-width:0!important;
	}
}

/* 10-9｜登録完了画面の空要素抑制 */
.pmpro_confirmation_wrap>p:empty,
.pmpro_confirmation_wrap>div:empty,
.pmpro_confirmation_wrap .pmpro_confirmation_message:empty,
.pmpro_confirmation_wrap .pmpro_card:empty,
.pmpro_confirmation_wrap .pmpro_box:empty,
.pmpro_confirmation_wrap>div:first-of-type,
.pmpro_confirmation_wrap>p:first-of-type,
.pmpro_confirmation_wrap .pmpro_confirmation_message,
.pmpro_confirmation_wrap .pmpro_card:first-of-type,
.pmpro_confirmation_wrap .pmpro_box:first-of-type {
	display:none!important;
	visibility:hidden!important;
	height:0!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	overflow:hidden!important;
	box-shadow:none!important;
}

/* 10-10｜チェックアウト専用レイアウト */
body.pmpro-checkout #pmpro_form,
body.pmpro-checkout .pmpro_form {
	max-width:720px!important;
	margin:0 auto 90px!important;
	padding:0!important;
	box-sizing:border-box!important;
}

body.pmpro-checkout :is(.portraitist-pmpro-intro-box,.portraitist-checkout-summary,.pmpro_checkout-fields) {
	width:100%!important;
	margin-left:auto!important;
	margin-right:auto!important;
	box-sizing:border-box!important;
	border:1px solid var(--brass-border)!important;
	background:rgba(252,250,245,0.56)!important;
	box-shadow:0 16px 38px var(--shadow-color),var(--inner-highlight-mid)!important;
}

body.pmpro-checkout .portraitist-pmpro-intro-box {
	margin-bottom:34px!important;
	padding:42px 44px!important;
	text-align:center!important;
}

body.pmpro-checkout :is(.portraitist-pmpro-intro-label,.portraitist-checkout-summary-label) {
	margin:0 0 16px!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.6!important;
	letter-spacing:0.24em!important;
	text-align:center!important;
	text-transform:uppercase!important;
}

body.pmpro-checkout .portraitist-pmpro-intro-box h2,
body.pmpro-checkout .portraitist-checkout-summary h2,
body.pmpro-checkout .pmpro_checkout h2,
body.pmpro-checkout .pmpro_checkout h3,
body.pmpro-checkout #pmpro_user_fields h2,
body.pmpro-checkout #pmpro_user_fields .pmpro_card_title,
body.pmpro-checkout #pmpro_user_fields .pmpro_section_title {
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0 0 22px!important;
	padding:0 0 18px!important;
	border:none!important;
	border-bottom:1px solid var(--line-78)!important;
	background:transparent!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:25px!important;
	font-weight:500!important;
	line-height:1.65!important;
	letter-spacing:0.12em!important;
	text-align:center!important;
	white-space:nowrap!important;
	word-break:keep-all!important;
	writing-mode:horizontal-tb!important;
}

body.pmpro-checkout :is(.portraitist-pmpro-intro-box,.portraitist-checkout-summary) p {
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14.5px!important;
	font-weight:400!important;
	line-height:2.05!important;
	letter-spacing:0.04em!important;
	text-align:center!important;
}

body.pmpro-checkout .pmpro_checkout {
	margin:0 0 34px!important;
	padding:0!important;
	border:none!important;
	background:transparent!important;
	box-shadow:none!important;
}

body.pmpro-checkout .pmpro_checkout-fields {
	display:block!important;
	margin-bottom:34px!important;
	padding:36px 42px 40px!important;
}

body.pmpro-checkout :is(.pmpro_checkout-field,.pmpro_form_field) {
	display:block!important;
	width:100%!important;
	margin:0 0 24px!important;
	padding:0!important;
	float:none!important;
	clear:both!important;
}

body.pmpro-checkout label {
	display:block!important;
	margin:0 0 8px!important;
	color:var(--soft-text)!important;
	font-family:var(--font-body)!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.7!important;
	letter-spacing:0.06em!important;
	text-align:left!important;
}

body.pmpro-checkout :is(input:is([type="text"],[type="email"],[type="password"],[type="number"],[type="tel"]),select),
body.pmpro-checkout textarea {
	display:block!important;
	width:100%!important;
	min-height:48px!important;
	margin:0!important;
	padding:11px 14px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(216,208,195,0.92)!important;
	border-radius:2px!important;
	background:rgba(255,253,248,0.78)!important;
	color:var(--ink)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	font-weight:400!important;
	line-height:1.7!important;
}

body.pmpro-checkout .pmpro_submit,
body.pmpro-checkout .pmpro_checkout-submit,
body.pmpro-checkout #pmpro_submit_span {
	display:flex!important;
	justify-content:center!important;
	align-items:center!important;
	width:100%!important;
	margin-top:34px!important;
	text-align:center!important;
}

body.pmpro-checkout :is(.pmpro_btn,input[type="submit"],#pmpro_btn-submit,.pmpro_btn-submit-checkout) {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:220px!important;
	min-height:54px!important;
	margin:0 auto!important;
	padding:0 42px!important;
	box-sizing:border-box!important;
	border:1px solid var(--button-border)!important;
	border-radius:6px!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	color:var(--white)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:400!important;
	line-height:1.5!important;
	letter-spacing:0.14em!important;
	text-align:center!important;
	cursor:pointer!important;
	transition:opacity 0.25s ease,transform 0.25s ease!important;
}

@media (max-width:768px) {
	body.pmpro-checkout #pmpro_form,
	body.pmpro-checkout .pmpro_form {
		max-width:100%!important;
		padding:0 18px!important;
	}
	body.pmpro-checkout .portraitist-pmpro-intro-box,
	body.pmpro-checkout .portraitist-checkout-summary,
	body.pmpro-checkout .pmpro_checkout-fields {
		padding:30px 22px 34px!important;
	}
	body.pmpro-checkout .portraitist-pmpro-intro-box h2,
	body.pmpro-checkout .portraitist-checkout-summary h2,
	body.pmpro-checkout .pmpro_checkout h2,
	body.pmpro-checkout .pmpro_checkout h3 {
		font-size:22px!important;
	}
	body.pmpro-checkout :is(.pmpro_btn,input[type="submit"],#pmpro_btn-submit,.pmpro_btn-submit-checkout) {
		width:100%!important;
		min-width:0!important;
	}
}



/* 10-11｜無料登録画面 補助導線 */
body.pmpro-checkout .portraitist-free-registration-links {
	max-width:720px!important;
	margin:28px auto 90px!important;
	padding:30px 34px!important;
	box-sizing:border-box!important;
	border-top:1px solid var(--line-78)!important;
	text-align:center!important;
}
body.pmpro-checkout .portraitist-free-registration-links p {
	margin:0 0 10px!important;
	padding:0!important;
	font-size:13px!important;
	line-height:1.8!important;
}
body.pmpro-checkout .portraitist-free-registration-links__member {
	margin-bottom:14px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	letter-spacing:.08em!important;
}
body.pmpro-checkout .portraitist-free-registration-links a {
	color:var(--brass)!important;
	text-decoration:none!important;
	border-bottom:1px solid var(--brass-border)!important;
}
@media (max-width:768px) {
	body.pmpro-checkout .portraitist-free-registration-links {
		margin-bottom:70px!important;
		padding:26px 18px!important;
	}
}

/* ==================================================
   11｜受講コース・アップグレード
   Note: 会員導線・コース案内・アップグレード訴求を管理。
   決済フォーム本体ではなく、前後の案内カードを中心に扱う。
================================================== */
/* 11-1｜受講コース案内カード */
.portraitist-course-guide {
	margin:28px 0 0!important;
	padding:30px 26px 32px!important;
	border:1px solid var(--line-strong)!important;
	background:var(--box-bg-50)!important;
	text-align:center!important;
	box-shadow:0 12px 28px var(--shadow-color-light),var(--inner-highlight-mid)!important;
}

.portraitist-course-guide p {
	margin:0 0 22px!important;
	color:var(--ink)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2!important;
	letter-spacing:0.05em!important;
}

.portraitist-course-guide a,
.portraitist-course-plan a {
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	color:var(--white)!important;
	font-family:var(--font-title)!important;
	font-weight:600!important;
	line-height:1.5!important;
	text-decoration:none!important;
}

.portraitist-course-guide a {
	min-width:280px!important;
	min-height:52px!important;
	padding:0 34px!important;
	border:1px solid var(--button-border)!important;
	border-radius:5px!important;
	background:var(--gradient-brass)!important;
	box-shadow:var(--button-shadow)!important;
	font-size:14px!important;
	letter-spacing:0.12em!important;
}

.portraitist-course-guide a::after {
	content:"›";
	margin-left:18px!important;
	font-size:22px!important;
	line-height:1!important;
}

/* 11-2｜アップグレード案内 */
.portraitist-upgrade-box {
	margin:0 auto 56px!important;
	padding:46px 48px 48px!important;
}

.portraitist-upgrade-mark {
	margin-bottom:14px!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	letter-spacing:0.26em!important;
	text-transform:uppercase!important;
}

.portraitist-upgrade-title {
	margin:0 0 24px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:25px!important;
	font-weight:500!important;
	letter-spacing:0.12em!important;
}

.portraitist-upgrade-lead {
	margin:0 0 30px!important;
	color:var(--text)!important;
	font-size:15px!important;
	line-height:2.1!important;
}

.portraitist-upgrade-price {
	margin:0 auto 34px!important;
	padding:24px 20px!important;
	border-top:1px solid var(--line-mid)!important;
	border-bottom:1px solid var(--line-mid)!important;
}

.portraitist-upgrade-price span {
	margin-bottom:8px!important;
	color:var(--note-text)!important;
	font-size:13px!important;
	letter-spacing:0.06em!important;
}

.portraitist-upgrade-price strong {
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:28px!important;
	font-weight:500!important;
	letter-spacing:0.08em!important;
}

@media (max-width:768px) {
	.portraitist-upgrade-title {
		font-size:21px!important;
	}
}

.portraitist-upgrade-button {
	margin:0!important;
	width:100%!important;
}

.portraitist-upgrade-button a {
	display:flex!important;
	width:100%!important;
	min-width:0!important;
	box-sizing:border-box!important;
	height:58px!important;
	padding:0 32px!important;
	line-height:1!important;
	border:1px solid var(--button-border)!important;
	border-radius:4px!important;
	background:var(--gradient-brass)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	letter-spacing:0.08em!important;
	transition:0.25s;
}

/* 11-3｜受講コースページ本体 */
.portraitist-course-page {
	max-width:880px!important;
	margin:0 auto!important;
	padding:8px 0 24px!important;
}

.portraitist-course-intro {
	margin:0 0 46px!important;
	padding:44px 46px 42px!important;
	border:1px solid var(--line-84)!important;
	background:var(--box-bg-48)!important;
	box-shadow:0 16px 38px var(--shadow-color-light),var(--inner-highlight-mid)!important;
	text-align:center!important;
}

.portraitist-course-mark {
	margin:0 0 14px!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	line-height:1.6!important;
	letter-spacing:0.24em!important;
	text-transform:uppercase!important;
}

.portraitist-course-intro h2 {
	margin:0 0 24px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:27px!important;
	font-weight:500!important;
	line-height:1.8!important;
	letter-spacing:0.12em!important;
}

.portraitist-course-intro p {
	margin:0!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	line-height:2.2!important;
	letter-spacing:0.05em!important;
}

/* 11-4｜コース比較カード */
.portraitist-course-plans {
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:28px!important;
	align-items:stretch!important;
}

.portraitist-course-plan {
	position:relative!important;
	display:flex!important;
	flex-direction:column!important;
	overflow:hidden!important;
	padding:38px 34px 36px!important;
	border:1px solid var(--line-strong)!important;
	background:rgba(252,250,245,0.54)!important;
	box-shadow:0 14px 32px var(--shadow-color-light),var(--inner-highlight-soft)!important;
}

.portraitist-course-plan.is-featured {
	border:2px solid #a43d31!important;
	background:#fffdf8!important;
}

.portraitist-course-plan-label {
	margin:0 0 14px!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	line-height:1.6!important;
	letter-spacing:0.16em!important;
}

.portraitist-course-plan h3 {
	margin:0 0 20px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:21px!important;
	font-weight:500!important;
	line-height:1.75!important;
	letter-spacing:0.09em!important;
}

.portraitist-course-plan p {
	margin:0 0 24px!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	line-height:2.05!important;
	letter-spacing:0.045em!important;
}

.portraitist-course-plan ul {
	margin:0 0 22px!important;
	padding:0!important;
	list-style:none!important;
}

.portraitist-course-plan li {
	position:relative!important;
	margin:0 0 11px!important;
	padding-left:18px!important;
	color:var(--soft-text)!important;
	font-family:var(--font-body)!important;
	font-size:13.5px!important;
	line-height:1.8!important;
	letter-spacing:0.045em!important;
}

.portraitist-course-plan li::before {
	content:""!important;
	position:absolute!important;
	top:0.78em!important;
	left:0!important;
	width:6px!important;
	height:6px!important;
	border-radius:50%!important;
	background:rgba(155,116,31,0.72)!important;
}

.portraitist-course-plan a {
	min-height:54px!important;
	margin-top:18px!important;
	padding:0 26px!important;
	box-sizing:border-box!important;
	border:1px solid var(--checkout-border)!important;
	border-radius:4px!important;
	background:linear-gradient(180deg,var(--brass-start) 0%,var(--brass-deep) 56%,var(--brass-deep) 100%)!important;
	font-size:14px!important;
	letter-spacing:0.1em!important;
	transition:0.25s ease!important;
}

.portraitist-course-plan.is-featured a {
	background:linear-gradient(180deg,#c85a4c 0%,#b24639 55%,var(--error-red) 100%)!important;
	border-color:var(--error-red)!important;
}

.portraitist-course-complete {
	max-width:680px!important;
	margin:0 auto!important;
	padding:46px 44px!important;
	border:1px solid var(--line-84)!important;
	background:var(--box-bg-50)!important;
	text-align:center!important;
}

.portraitist-course-complete h2 {
	margin:0 0 20px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:24px!important;
	font-weight:500!important;
	letter-spacing:0.1em!important;
}

.portraitist-course-complete p {
	margin:0 0 28px!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:14px!important;
	line-height:2!important;
}

.portraitist-course-complete a {
	display:inline-flex!important;
	min-height:50px!important;
	padding:0 34px!important;
	border:1px solid var(--checkout-border)!important;
	border-radius:4px!important;
	background:linear-gradient(180deg,var(--brass-start) 0%,var(--brass-deep) 56%,var(--brass-deep) 100%)!important;
	font-size:14px!important;
	letter-spacing:0.1em!important;
}

@media (max-width:900px) {
	.portraitist-course-plans {
		grid-template-columns:1fr!important;
		gap:24px!important;
	}
}

/* 11-5｜受講コースレスポンシブ */
@media (max-width:768px) {
	.portraitist-course-page {
		padding:0!important;
	}
	.portraitist-course-intro {
		margin-bottom:34px!important;
		padding:34px 22px 32px!important;
	}
	.portraitist-course-intro h2 {
		font-size:22px!important;
		line-height:1.75!important;
		letter-spacing:0.08em!important;
	}
	.portraitist-course-intro p {
		font-size:14px!important;
		line-height:2.05!important;
	}
	.portraitist-course-plan {
		padding:32px 22px 34px!important;
	}
	.portraitist-course-plan h3 {
		font-size:19px!important;
	}
	.portraitist-course-plan a {
		width:100%!important;
	}
}

.portraitist-course-price {
	margin:0 0 26px!important;
	padding:18px 18px 17px!important;
	border-top:1px solid var(--line-mid)!important;
	border-bottom:1px solid var(--line-mid)!important;
	text-align:center!important;
}

.portraitist-course-price span {
	margin-bottom:5px!important;
	color:var(--note-text)!important;
	font-family:var(--font-body)!important;
	font-size:12px!important;
	letter-spacing:0.12em!important;
}

.portraitist-course-price strong {
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:28px!important;
	font-weight:500!important;
	line-height:1.45!important;
	letter-spacing:0.08em!important;
}

.portraitist-course-price em {
	margin-top:5px!important;
	color:var(--course-muted)!important;
	font-style:normal!important;
	font-size:12.5px!important;
	letter-spacing:0.06em!important;
}

.portraitist-course-price-featured strong {
	color:var(--error-red)!important;
}

.portraitist-course-page-v4 .portraitist-course-intro h2 {
	font-size:26px!important;
	letter-spacing:0.16em!important;
}

.portraitist-course-page-v4 .portraitist-course-plan-label {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:128px!important;
	min-height:34px!important;
	padding:0 22px!important;
	border:1px solid rgba(155,116,31,0.38)!important;
	border-radius:999px!important;
	background:rgba(255,253,248,0.58)!important;
	color:#8a641e!important;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	letter-spacing:0.16em!important;
}

.portraitist-course-page-v4 .portraitist-course-plan-all .portraitist-course-plan-label {
	border-color:rgba(150,56,46,0.42)!important;
	color:var(--error-red)!important;
	background:rgba(150,56,46,0.035)!important;
}

@media (max-width:768px) {
	.portraitist-course-page-v4 .portraitist-course-intro::after,
	.portraitist-course-page-v4 .portraitist-course-plans {
		display:flex!important;
		flex-wrap:nowrap!important;
		gap:18px!important;
		overflow-x:auto!important;
		overflow-y:hidden!important;
		scroll-snap-type:x mandatory!important;
		-webkit-overflow-scrolling:touch!important;
		padding:0 46px 12px 18px!important;
		margin:0 -18px!important;
	}
	.portraitist-course-page-v4 .portraitist-course-plans::-webkit-scrollbar {
		display:none!important;
	}
	.portraitist-course-page-v4 .portraitist-course-plan {
		flex:0 0 84%!important;
		width:84%!important;
		scroll-snap-align:center!important;
	}
	.portraitist-course-mobile-hint {
		display:flex!important;
		align-items:center!important;
		justify-content:flex-end!important;
		gap:8px!important;
		margin:-12px 2px 18px!important;
		color:var(--brass-deep)!important;
		font-family:var(--font-body)!important;
		font-size:12px!important;
		letter-spacing:0.08em!important;
	}
	.portraitist-course-mobile-hint strong {
		display:inline-block!important;
		color:var(--brass-deep)!important;
		font-family:var(--font-title)!important;
		font-size:24px!important;
		line-height:1!important;
		letter-spacing:-0.1em!important;
		animation:portraitistSlideHint 1.35s ease-in-out infinite!important;
	}
	@keyframes portraitistSlideHint {
		0%,100%{transform:translateX(0);opacity:0.38}
		45%{transform:translateX(9px);opacity:1}
	}
	.portraitist-course-page-v4 .portraitist-course-plan:first-child::after {
		content:none!important;
		display:none!important;
	}
}

.portraitist-course-page-v4 .portraitist-course-seal {
	position:absolute!important;
	top:auto!important;
	right:18px!important;
	bottom:214px!important;
	width:54px!important;
	height:54px!important;
	z-index:3!important;
	opacity:0.96!important;
	pointer-events:none!important;
}

.portraitist-course-page-v4 .portraitist-course-seal img {
	display:block!important;
	width:54px!important;
	height:54px!important;
	object-fit:contain!important;
}

.portraitist-course-page-v4 .portraitist-course-badge-note {
	position:relative!important;
	display:block!important;
	margin:8px 0 24px!important;
	padding:18px 72px 18px 18px!important;
	border:1px solid rgba(150,56,46,0.38)!important;
	border-radius:4px!important;
	background:rgba(150,56,46,0.025)!important;
	box-sizing:border-box!important;
}

.portraitist-course-page-v4 .portraitist-course-badge-title {
	display:block!important;
	margin:0 0 8px!important;
	color:var(--error-red)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	font-weight:600!important;
	line-height:1.7!important;
	letter-spacing:0.08em!important;
}

.portraitist-course-page-v4 .portraitist-course-badge-note p:not(.portraitist-course-badge-title) {
	margin:0!important;
	color:#5f574f!important;
	font-family:var(--font-body)!important;
	font-size:13.5px!important;
	line-height:1.85!important;
	letter-spacing:0.04em!important;
}

.portraitist-course-page-v4 .portraitist-course-price {
	margin:8px 0 18px!important;
	padding:13px 0 12px!important;
	border-top:1px solid var(--line-68)!important;
	border-bottom:1px solid var(--line-68)!important;
	text-align:center!important;
}

.portraitist-course-page-v4 .portraitist-course-price span {
	margin-bottom:3px!important;
	color:var(--note-text)!important;
	font-family:var(--font-body)!important;
	font-size:12px!important;
	line-height:1.6!important;
	letter-spacing:0.1em!important;
}

.portraitist-course-page-v4 .portraitist-course-price strong,
.portraitist-course-page-v4 .portraitist-course-price-featured strong {
	color:var(--ink)!important;
	font-family:var(--font-body)!important;
	font-size:16px!important;
	font-weight:500!important;
	line-height:1.65!important;
	letter-spacing:0.06em!important;
}

.portraitist-course-page-v4 .portraitist-course-price em {
	margin-top:1px!important;
	color:var(--course-muted)!important;
	font-family:var(--font-body)!important;
	font-size:12px!important;
	font-style:normal!important;
	line-height:1.6!important;
	letter-spacing:0.05em!important;
}

@media (max-width:768px) {
	.portraitist-course-page-v4 .portraitist-course-seal {
		right:16px!important;
		bottom:206px!important;
		width:48px!important;
		height:48px!important;
	}
	.portraitist-course-page-v4 .portraitist-course-seal img {
		width:48px!important;
		height:48px!important;
	}
	.portraitist-course-page-v4 .portraitist-course-badge-note {
		padding:16px 62px 16px 16px!important;
	}
}

/* ==================================================
   12｜記事一覧
   Note: 記事群の見出し・件数表示・リスト構造を管理。
   個別記事本文の装飾は15章へ分離する。
================================================== */
/* 12-1｜記事一覧セクション */
.portraitist-article-index {
	margin:46px auto 90px!important;
}

.portraitist-article-section {
	padding:0 0 30px!important;
	margin:0 0 34px!important;
}

.portraitist-article-head {
	display:grid!important;
	grid-template-columns:30px 1fr auto!important;
	gap:15px!important;
	align-items:center!important;
	margin:0 0 12px!important;
}

.portraitist-article-num {
	width:24px!important;
	height:24px!important;
	border-radius:50%!important;
	background:#3f5a2d!important;
	color:var(--white)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1!important;
	box-shadow:none!important;
}

.portraitist-article-section:nth-child(n+9) .portraitist-article-num {
	background:#7a3a34!important;
}

.portraitist-article-head h2 {
	margin:0!important;
	padding:0!important;
	border:none!important;
	color:var(--ink-deep)!important;
	font-family:var(--font-title)!important;
	font-size:19px!important;
	font-weight:400!important;
	line-height:1.55!important;
	letter-spacing:0.08em!important;
}

.portraitist-article-count {
	margin:0!important;
	color:var(--brass)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	font-weight:400!important;
	line-height:1!important;
	white-space:nowrap!important;
}

.portraitist-article-count span {
	margin-left:4px!important;
	color:var(--muted)!important;
	font-size:10.5px!important;
	font-weight:400!important;
}

/* 12-2｜記事リスト */
.portraitist-article-list {
	margin:0 0 0 45px!important;
	padding:0!important;
	list-style:none!important;
	border:none!important;
}

.portraitist-article-list li {
	margin:0 0 5px!important;
	padding:0!important;
	border:none!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:13.5px!important;
	font-weight:400!important;
	line-height:1.8!important;
}

.portraitist-article-list li a {
	color:var(--text)!important;
	text-decoration:none!important;
	border:none!important;
}

/* 12-3｜記事一覧レスポンシブ */
@media (max-width:768px) {
	.portraitist-article-index {
		margin-top:38px!important;
	}
	.portraitist-article-section {
		margin-bottom:30px!important;
		padding-bottom:24px!important;
	}
	.portraitist-article-head {
		grid-template-columns:28px 1fr auto!important;
		gap:12px!important;
	}
	.portraitist-article-num {
		width:23px!important;
		height:23px!important;
		font-size:11px!important;
	}
	.portraitist-article-head h2 {
		font-size:17px!important;
	}
	.portraitist-article-count {
		font-size:14px!important;
	}
	.portraitist-article-list {
		margin-left:40px!important;
	}
}

/* ==================================================
   13｜プロフィール
   Note: 筆者紹介・プロフィール表・メディア掲載枠を管理。
================================================== */
/* 13-1｜プロフィール本文 */
.portraitist-profile {
	max-width:760px!important;
	margin:0 auto 90px!important;
	padding:40px 20px 80px!important;
}

.portraitist-profile p {
	text-align:left!important;
}

.profile-first-line {
	margin-bottom:34px!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:22px!important;
	line-height:1.8!important;
	letter-spacing:0.08em!important;
}

/* 13-2｜メディア掲載枠 */
.portraitist-profile .profile-media-box {
	position:relative!important;
	width:100%!important;
	max-width:760px!important;
	margin:64px auto 58px!important;
	padding:38px 40px 42px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(155,116,31,0.42)!important;
	background:var(--box-bg-42)!important;
	box-shadow:0 18px 42px var(--shadow-color),var(--inner-highlight-soft)!important;
	text-align:center!important;
}

.portraitist-profile .profile-media-box h2 {
	margin:0 0 34px!important;
	padding:0 0 18px!important;
	border-top:none!important;
	border-bottom:1px solid var(--line-86)!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:20px!important;
	font-weight:500!important;
	line-height:1.6!important;
	letter-spacing:0.18em!important;
	text-align:center!important;
}

.portraitist-profile .profile-media-table {
	width:100%!important;
	margin:0!important;
	padding:0!important;
	border-collapse:collapse!important;
	table-layout:fixed!important;
	border:none!important;
	background:transparent!important;
}

.portraitist-profile .profile-media-table tr,
.portraitist-profile .profile-media-table td {
	margin:0!important;
	padding:0!important;
	border:none!important;
	background:transparent!important;
	vertical-align:middle!important;
}

.portraitist-profile .profile-media-table td {
	border-right:1px solid var(--line-86)!important;
}

.portraitist-profile .profile-media-table td:last-child {
	border-right:none!important;
}

.portraitist-profile .profile-media-table a {
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:128px!important;
	padding:10px 8px!important;
	box-sizing:border-box!important;
	color:var(--ink)!important;
	text-align:center!important;
	text-decoration:none!important;
	background:transparent!important;
	transition:background 0.25s ease,transform 0.25s ease!important;
}

.portraitist-profile .profile-media-table a:hover {
	background:var(--hover-bg)!important;
	transform:translateY(-2px)!important;
}

.portraitist-profile .profile-media-table img {
	display:block!important;
	width:44px!important;
	height:44px!important;
	object-fit:contain!important;
	margin:0 auto 14px!important;
}

.portraitist-profile .profile-media-table span {
	display:block!important;
	color:var(--text)!important;
	font-family:var(--font-title)!important;
	font-size:15px!important;
	font-weight:400!important;
	line-height:1.4!important;
	letter-spacing:0.04em!important;
}

.profile-contact-box {
	margin-top:54px!important;
	text-align:center!important;
}

.profile-contact-box p {
	margin:0 0 24px!important;
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	font-size:15px!important;
	font-weight:400!important;
	line-height:2.05!important;
	letter-spacing:0.04em!important;
	text-align:center!important;
}

/* 13-3｜プロフィールレスポンシブ */
@media (max-width:768px) {
	.portraitist-profile {
		padding:40px 18px 64px!important;
	}
	.portraitist-profile .profile-media-box {
		margin:54px auto 48px!important;
		padding:30px 22px 34px!important;
	}
	.portraitist-profile .profile-media-table,
	.portraitist-profile .profile-media-table tbody,
	.portraitist-profile .profile-media-table tr,
	.portraitist-profile .profile-media-table td {
		display:block!important;
		width:100%!important;
	}
	.portraitist-profile .profile-media-table td {
		border-right:none!important;
		border-bottom:1px solid var(--line-86)!important;
	}
	.portraitist-profile .profile-media-table td:last-child {
		border-bottom:none!important;
	}
	.portraitist-profile .profile-media-table a {
		flex-direction:row!important;
		justify-content:flex-start!important;
		min-height:74px!important;
		padding:0 10px!important;
	}
	.portraitist-profile .profile-media-table img {
		width:34px!important;
		height:34px!important;
		margin:0 18px 0 0!important;
	}
	.profile-contact-button {
		width:100%!important;
		min-width:0!important;
		max-width:320px!important;
	}
}

/* ==================================================
   14｜フッター・法務導線
   Note: サイト下部の案内・コピーライト・法務リンクを管理。
================================================== */
/* 14-1｜フッター本体 */
.portraitist-footer-links {
	display:none;
}

/* 14-2｜コピーライト */
#copyright {
	padding:18px 20px;
	text-align:center;
	font-size:12px;
	line-height:2;
}

/* 14-3｜フッター下部リンク */
.portraitist-footer-bottom {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	color:var(--footer-muted);
}

.portraitist-footer-bottom a {
	color:var(--footer-muted);
	text-decoration:none;
	transition:0.25s;
}

.portraitist-footer-bottom a:hover {
	color:#d5b77a;
}

.portraitist-footer-bottom span {
	opacity:0.45;
}

/* 14-4｜法務導線 */
.privacy-link {
	margin:34px 0 0!important;
	text-align:center!important;
	font-size:13px!important;
	line-height:1.8!important;
	letter-spacing:0.08em!important;
}

.privacy-link a {
	color:#9b8e7b!important;
	text-decoration:none!important;
	border-bottom:1px solid transparent!important;
	transition:0.3s!important;
}

.privacy-link a:hover {
	color:#7d6647!important;
	border-bottom-color:#c9b58b!important;
}

@media (max-width:768px) {
	.portraitist-footer-bottom {
		flex-direction:column;
		gap:4px;
	}
	.portraitist-footer-bottom span {
		display:none;
	}
}

/* ==================================================
   15｜本文内強調・注釈・署名
   Note: ページ固有ではない強調語・注釈枠・記事末尾署名を管理。
================================================== */
/* 15-1｜強調語 */
.red-word,
.portraitist-emphasis {
	color:var(--wine)!important;
	font-weight:600!important;
	letter-spacing:0.04em!important;
}

/* 15-2｜本文内注釈枠 */
.portrait-note {
	margin:2.8em 0;
	padding:1.8em 2em;
	border:1px solid #b08a3c;
	background:#fbf8ef;
	font-size:0.95em;
	line-height:2;
}

.portrait-note p {
	margin:0;
}

.portrait-note p+p {
	margin-top:1.2em;
}

.portrait-note strong {
	display:block;
	margin-bottom:0.6em;
	color:#6b4d1f;
	font-weight:600;
	letter-spacing:0.04em;
}

/* 15-3｜本文末署名 */
.top-signature {
	margin-top:3em!important;
	text-align:right!important;
	color:var(--text)!important;
	font-family:var(--font-title)!important;
	letter-spacing:0.06em!important;
}

/* ==================================================
   16｜管理画面・テーマ干渉補正
   Note: WordPress管理バーとテーマ由来の干渉補正のみを最後尾に固定。
   Rule: 通常のページ別CSSはここへ追加しない。
================================================== */
/* 16-1｜WordPress管理バー補正 */
#wpadminbar #wp-admin-bar-search,
#wpadminbar #wp-admin-bar-search *,
#wpadminbar .ab-top-secondary #wp-admin-bar-search {
	display:none!important;
	visibility:hidden!important;
	width:0!important;
	height:0!important;
	overflow:hidden!important;
}

/* 16-2｜テーマ既存装飾の最終補正 */
body .sidebar .book-sidebar h2.book-sidebar-title,
body .sidebox .book-sidebar h2.book-sidebar-title,
body .widget .book-sidebar h2.book-sidebar-title,
body .book-sidebar h2.book-sidebar-title {
	margin:0 0 16px!important;
	padding:0 0 9px!important;
	border:none!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--ink)!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:600!important;
	line-height:1.5!important;
	letter-spacing:0.14em!important;
}

body .book-sidebar h2.book-sidebar-title::after {
	content:""!important;
	display:block!important;
	position:absolute!important;
	left:0!important;
	bottom:0!important;
	width:48px!important;
	height:1px!important;
	background:linear-gradient(90deg,var(--brass-line),var(--brass-fade))!important;
}

/* ==================================================
   17｜智の図書館 共通骨格 v01
   Header / Background / Footer
================================================== */

:root {
	--library-paper:#f6f1e8;
	--library-paper-light:#faf7f0;
	--library-footer:#eee7dc;
	--library-ink:#332b24;
	--library-text:#5c5147;
	--library-brass:#a37b35;
	--library-line:rgba(91,76,59,0.18);
	--library-line-strong:rgba(91,76,59,0.30);
}

/* 17-1｜全体背景と共通幅 */
html {
	background:var(--library-paper);
}

body,
.site,
.site-content,
.content-area,
#page,
#content,
article,
.entry-content,
.entry-header,
.widget-area,
.site-main,
body.pmpro-confirmation,
body.pmpro-account,
body[class*="membership"] {
	background-color:var(--library-paper)!important;
}

body {
	margin:0;
	color:var(--library-text)!important;
	background-image:
		radial-gradient(circle at 15% 10%,rgba(255,255,255,.48),transparent 34%),
		radial-gradient(circle at 88% 24%,rgba(137,105,59,.035),transparent 28%)!important;
}

.wrapper,
.header-inner,
.footer-inner {
	width:auto!important;
	max-width:1120px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	box-sizing:border-box!important;
}

.wrapper {
	padding:56px 28px 90px!important;
}

/* 17-2｜共通ヘッダー */
#header.portraitist-site-header {
	padding:0!important;
	background:rgba(246,241,232,.94)!important;
	border-bottom:1px solid var(--library-line)!important;
}

.portraitist-header-inner {
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	gap:34px!important;
	min-height:92px!important;
	padding:20px 28px!important;
	overflow:visible!important;
}

.portraitist-wordmark {
	display:inline-flex!important;
	flex-direction:column!important;
	align-items:flex-start!important;
	flex:0 0 auto!important;
	color:var(--library-ink)!important;
	text-decoration:none!important;
	line-height:1!important;
}

.portraitist-wordmark__main {
	display:block!important;
	color:var(--library-ink)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:25px!important;
	font-weight:400!important;
	line-height:1.1!important;
	letter-spacing:.01em!important;
}

.portraitist-wordmark__sub {
	display:block!important;
	margin-top:7px!important;
	color:var(--library-brass)!important;
	font-family:var(--font-title)!important;
	font-size:11px!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:.22em!important;
}

#nav.portraitist-main-navigation {
	display:block!important;
	position:static!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
}

.portraitist-nav-list {
	display:flex!important;
	align-items:center!important;
	gap:38px!important;
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}

.portraitist-nav-list li {
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
}

.portraitist-nav-list a,
.portraitist-nav-list span {
	display:inline-flex!important;
	align-items:center!important;
	min-height:40px!important;
	padding:0!important;
	color:var(--library-ink)!important;
	background:transparent!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:500!important;
	line-height:1.4!important;
	letter-spacing:.08em!important;
	text-decoration:none!important;
	white-space:nowrap!important;
}

.portraitist-nav-list a:hover {
	color:var(--library-brass)!important;
	background:transparent!important;
}

/* Quiet unread state for the existing "あなたの書斎" navigation link. */
.portraitist-study-nav-link {
	position:relative;
}
.portraitist-study-unread-dot {
	display:inline-block;
	flex:0 0 auto;
	width:6px;
	height:6px;
	margin-right:8px;
	margin-left:0;
	border-radius:50%;
	background:#9b4038;
	box-shadow:0 0 0 1px rgba(92,45,38,.08);
	vertical-align:middle;
}
.portraitist-study-unread-dot[hidden] {
	display:none!important;
}

.portraitist-study-section__heading h2 {
	position: relative;
}
.portraitist-study-section-unread-dot {
	position: absolute;
	top: .16em;
	right: -14px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #9b4038;
	box-shadow: 0 0 0 1px rgba(92,45,38,.08);
}
.portraitist-study-section-unread-dot[hidden] {
	display: none !important;
}

.portraitist-nav-list .portraitist-store-link {
	min-width:146px!important;
	justify-content:center!important;
	padding:0 20px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(128,96,31,.45)!important;
	color:var(--library-ink)!important;
}

.portraitist-store-link::after {
	content:"→";
	margin-left:18px;
	color:var(--library-brass);
}

.portraitist-store-link[aria-disabled="true"] {
	cursor:default!important;
	opacity:.78!important;
}

.portraitist-menu-toggle {
	display:none;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-width:78px;
	min-height:42px;
	padding:0 12px;
	border:1px solid var(--library-line-strong)!important;
	background:transparent!important;
	color:var(--library-ink)!important;
	font-family:var(--font-title)!important;
	font-size:12px!important;
	letter-spacing:.10em!important;
	cursor:pointer;
}

.portraitist-menu-toggle__icon,
.portraitist-menu-toggle__icon::before,
.portraitist-menu-toggle__icon::after {
	display:block;
	width:20px;
	height:1px;
	background:currentColor;
	transition:transform .25s ease,opacity .25s ease;
}

.portraitist-menu-toggle__icon {
	position:relative;
}

.portraitist-menu-toggle__icon::before,
.portraitist-menu-toggle__icon::after {
	content:"";
	position:absolute;
	left:0;
}

.portraitist-menu-toggle__icon::before { top:-6px; }
.portraitist-menu-toggle__icon::after { top:6px; }

.portraitist-menu-toggle[aria-expanded="true"] .portraitist-menu-toggle__icon {
	background:transparent;
}

.portraitist-menu-toggle[aria-expanded="true"] .portraitist-menu-toggle__icon::before {
	top:0;
	transform:rotate(45deg);
}

.portraitist-menu-toggle[aria-expanded="true"] .portraitist-menu-toggle__icon::after {
	top:0;
	transform:rotate(-45deg);
}

/* 17-3｜ページ本文との接続 */
.blog-title {
	margin-top:0!important;
	color:var(--library-ink)!important;
	border-top:1px solid var(--library-line)!important;
	border-bottom:1px solid var(--library-line)!important;
}

.page-contents,
.single-contents {
	color:var(--library-text)!important;
}

.sidebar,
.sidebox,
.widget,
.book-sidebar {
	background:transparent!important;
}

/* 17-3-1｜通常閲覧ページの一カラム化・ログイン状態 */
#main > .row.portraitist-one-column-layout {
	display:block!important;
}

#main > .row.portraitist-one-column-layout > main.twothird {
	float:none!important;
	width:100%!important;
	max-width:820px!important;
	margin-left:auto!important;
	margin-right:auto!important;
}

.portraitist-login-status-bar {
	width:100%;
	background:transparent;
}

.portraitist-login-status-bar__inner {
	width:auto;
	max-width:1120px;
	margin:0 auto;
	padding:6px 28px 0;
	box-sizing:border-box;
}

.portraitist-login-status {
	color:var(--soft-text);
	font-family:var(--font-body);
	font-size:11.5px;
	font-weight:400;
	line-height:1.5;
	letter-spacing:.035em;
}

.portraitist-login-status--desktop {
	display:flex;
	align-items:center;
	justify-content:flex-end;
}

.portraitist-login-status__card {
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:8px;
	width:auto;
	max-width:100%;
	min-width:0;
	padding:6px 10px 6px 11px;
	box-sizing:border-box;
	border:1px solid rgba(166,126,64,.22);
	border-radius:7px;
	background:rgba(250,247,239,.72);
	box-shadow:0 1px 5px rgba(75,58,37,.035);
	color:var(--soft-text)!important;
	text-decoration:none!important;
	transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.portraitist-login-status__dot {
	display:inline-block;
	flex:0 0 auto;
	width:6px;
	height:6px;
	border-radius:50%;
	background:#587967;
}

.portraitist-login-status__text {
	display:block;
	min-width:0;
	white-space:nowrap;
}

.portraitist-login-status__name {
	color:#4b4036;
}

.portraitist-login-status__arrow {
	display:inline-block;
	flex:0 0 auto;
	margin-left:3px;
	color:rgba(143,105,48,.76);
	transition:transform .18s ease,color .18s ease;
}

.portraitist-login-status__card:hover,
.portraitist-login-status__card:focus-visible {
	border-color:rgba(166,126,64,.38);
	background:rgba(249,244,233,.9);
	box-shadow:0 2px 7px rgba(75,58,37,.055);
	color:var(--soft-text)!important;
	text-decoration:none!important;
	outline:none;
}

.portraitist-login-status__card:hover .portraitist-login-status__arrow,
.portraitist-login-status__card:focus-visible .portraitist-login-status__arrow {
	transform:translateX(2px);
	color:var(--brass);
}

.portraitist-login-status--mobile {
	display:none;
}

@media only screen and (max-width:600px) {
	.portraitist-login-status-bar {
		display:none;
	}

	.portraitist-login-status--mobile {
		display:block;
		margin-top:18px;
		padding:17px 0 2px;
		border-top:1px solid var(--library-line);
	}

	.portraitist-login-status--mobile .portraitist-login-status__card {
		display:flex;
		width:100%;
		max-width:100%;
		min-height:42px;
		padding:8px 11px;
	}

	.portraitist-login-status--mobile .portraitist-login-status__text {
		white-space:normal;
		overflow-wrap:anywhere;
	}

	.portraitist-login-status--mobile .portraitist-login-status__arrow {
		margin-left:auto;
	}
}

/* 17-4｜共通フッター */
#footer.portraitist-site-footer {
	clear:both;
	background:var(--library-footer)!important;
	border-top:1px solid var(--library-line)!important;
	color:var(--library-text)!important;
	font-size:13px!important;
}

.portraitist-footer-main {
	display:grid!important;
	grid-template-columns:1.35fr repeat(3,minmax(130px,1fr))!important;
	gap:54px!important;
	padding:52px 28px 44px!important;
}

.portraitist-footer-brand {
	padding-right:18px;
}

.portraitist-footer-brand__name {
	margin:0!important;
	color:var(--library-ink)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:25px!important;
	line-height:1.2!important;
	letter-spacing:.01em!important;
}

.portraitist-footer-brand__sub {
	margin:7px 0 18px!important;
	padding:0!important;
	color:var(--library-brass)!important;
	font-family:var(--font-title)!important;
	font-size:11px!important;
	line-height:1.4!important;
	letter-spacing:.20em!important;
}

.portraitist-footer-brand__text {
	margin:0!important;
	padding:0!important;
	color:#796e62!important;
	font-size:12.5px!important;
	line-height:1.9!important;
}

.portraitist-footer-column h2 {
	margin:0 0 17px!important;
	padding:0!important;
	border:0!important;
	color:var(--library-ink)!important;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	font-weight:600!important;
	line-height:1.4!important;
	letter-spacing:.10em!important;
}

.portraitist-footer-column ul {
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}

.portraitist-footer-column li {
	margin:0 0 8px!important;
	padding:0!important;
	list-style:none!important;
	border:0!important;
}

.portraitist-footer-column a,
.portraitist-footer-column span {
	color:#6d6257!important;
	font-family:var(--font-body)!important;
	font-size:12.5px!important;
	line-height:1.7!important;
	text-decoration:none!important;
}

.portraitist-footer-column a:hover {
	color:var(--library-brass)!important;
}

.portraitist-footer-social {
	display:flex!important;
	align-items:center!important;
	gap:12px!important;
	margin-top:4px!important;
}

.portraitist-footer-social a {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:36px!important;
	height:36px!important;
	border:1px solid var(--library-line-strong)!important;
	border-radius:50%!important;
	color:var(--library-ink)!important;
	font-family:Arial,sans-serif!important;
	font-size:10px!important;
	font-weight:600!important;
	letter-spacing:0!important;
}

.portraitist-footer-social a.portraitist-footer-social__icon { border-color:transparent!important; background:transparent!important; overflow:visible; }
.portraitist-footer-social a.portraitist-footer-social__icon img { display:block; width:36px; height:36px; object-fit:contain; }

#copyright.portraitist-footer-bottom-wrap {
	padding:17px 28px!important;
	border-top:1px solid var(--library-line)!important;
	background:transparent!important;
	color:#8b8177!important;
}

.portraitist-footer-bottom {
	display:flex!important;
	justify-content:center!important;
	align-items:center!important;
	flex-wrap:wrap!important;
	gap:8px 14px!important;
	margin:0!important;
}

.portraitist-footer-bottom a,
.portraitist-footer-bottom small {
	color:#8b8177!important;
	font-size:11px!important;
	line-height:1.8!important;
	text-decoration:none!important;
}

.portraitist-footer-bottom a:hover {
	color:var(--library-brass)!important;
}

/* 17-5｜旧ヘッダー部品を無効化 */
body > .toggle,
body > .clear {
	display:none!important;
}

/* 17-6｜タブレット */
@media (max-width:900px) {
	.portraitist-header-inner {
		min-height:82px!important;
		padding:17px 22px!important;
	}
	.portraitist-nav-list {
		gap:24px!important;
	}
	.portraitist-nav-list .portraitist-store-link {
		min-width:132px!important;
		padding:0 15px!important;
	}
	.portraitist-footer-main {
		grid-template-columns:1.3fr repeat(2,1fr)!important;
		gap:38px!important;
	}
	.portraitist-footer-column:last-child {
		grid-column:2 / -1;
	}
}

/* 17-7｜スマートフォン */
@media (max-width:767px) {
	body.portraitist-menu-open {
		overflow:hidden!important;
	}

	.wrapper,
	.header-inner,
	.footer-inner {
		width:auto!important;
		max-width:none!important;
	}

	.wrapper {
		padding:38px 22px 72px!important;
	}

	.portraitist-header-inner {
		position:relative!important;
		min-height:72px!important;
		padding:14px 18px!important;
	}

	.portraitist-wordmark__main {
		font-size:21px!important;
	}

	.portraitist-wordmark__sub {
		margin-top:6px!important;
		font-size:9.5px!important;
	}

	.portraitist-menu-toggle {
		display:inline-flex!important;
	}

	#nav.portraitist-main-navigation {
		display:none!important;
		position:absolute!important;
		top:100%!important;
		left:0!important;
		right:0!important;
		width:100%!important;
		z-index:1000!important;
		padding:13px 18px 22px!important;
		box-sizing:border-box!important;
		border-top:1px solid var(--library-line)!important;
		border-bottom:1px solid var(--library-line-strong)!important;
		background:rgba(246,241,232,.985)!important;
		box-shadow:0 18px 34px rgba(61,48,31,.08)!important;
	}

	#nav.portraitist-main-navigation.is-open {
		display:block!important;
	}

	.portraitist-nav-list {
		display:block!important;
	}

	.portraitist-nav-list li {
		border-bottom:1px solid var(--library-line)!important;
	}

	.portraitist-nav-list li:last-child {
		padding-top:14px!important;
		border-bottom:0!important;
	}

	.portraitist-nav-list a,
	.portraitist-nav-list span {
		display:flex!important;
		width:100%!important;
		min-height:52px!important;
		box-sizing:border-box!important;
		font-size:14px!important;
	}

	.portraitist-nav-list .portraitist-store-link {
		min-width:0!important;
		justify-content:space-between!important;
		padding:0 18px!important;
	}

	.portraitist-footer-main {
		display:block!important;
		padding:42px 22px 30px!important;
	}

	.portraitist-footer-brand,
	.portraitist-footer-column {
		margin:0 0 34px!important;
		padding:0 0 28px!important;
		border-bottom:1px solid var(--library-line)!important;
	}

	.portraitist-footer-column:last-child {
		margin-bottom:0!important;
		border-bottom:0!important;
	}

	#copyright.portraitist-footer-bottom-wrap {
		padding:20px 22px!important;
	}

	.portraitist-footer-bottom {
		flex-direction:column!important;
		gap:5px!important;
	}

	.blog-title {
		font-size:21px!important;
		line-height:1.55!important;
	}
}

/* ==================================================
   18｜共通骨格 緊急修正版 v02
   旧Additional CSS・responsive.css競合の最終上書き
================================================== */

/* 18-1｜ヘッダーを必ず横並びに固定 */
body #header.portraitist-site-header {
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	background:rgba(246,241,232,.97)!important;
	border-bottom:1px solid var(--library-line)!important;
}

body #header.portraitist-site-header .portraitist-header-inner {
	display:flex!important;
	flex-direction:row!important;
	align-items:center!important;
	justify-content:space-between!important;
	width:100%!important;
	max-width:1120px!important;
	min-height:88px!important;
	margin:0 auto!important;
	padding:18px 28px!important;
	box-sizing:border-box!important;
	overflow:visible!important;
	text-align:left!important;
}

body #header.portraitist-site-header .portraitist-wordmark {
	display:flex!important;
	flex-direction:column!important;
	align-items:flex-start!important;
	justify-content:center!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	text-align:left!important;
}

body #header.portraitist-site-header .portraitist-wordmark__main {
	display:block!important;
	margin:0!important;
	padding:0!important;
	color:var(--library-ink)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:25px!important;
	font-weight:400!important;
	line-height:1.1!important;
	letter-spacing:.01em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header .portraitist-wordmark__sub {
	display:block!important;
	margin:7px 0 0!important;
	padding:0!important;
	color:var(--library-brass)!important;
	font-family:var(--font-title)!important;
	font-size:11px!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:.20em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header #nav.portraitist-main-navigation {
	display:block!important;
	position:static!important;
	top:auto!important;
	left:auto!important;
	right:auto!important;
	width:auto!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	box-shadow:none!important;
	border:0!important;
	text-align:left!important;
}

body #header.portraitist-site-header .portraitist-nav-list {
	display:flex!important;
	flex-direction:row!important;
	align-items:center!important;
	justify-content:flex-end!important;
	gap:34px!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}

body #header.portraitist-site-header .portraitist-nav-list li {
	display:block!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	list-style:none!important;
}

body #header.portraitist-site-header .portraitist-nav-list a,
body #header.portraitist-site-header .portraitist-nav-list span {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:auto!important;
	min-height:40px!important;
	margin:0!important;
	padding:0!important;
	color:var(--library-ink)!important;
	background:transparent!important;
	border:0!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:500!important;
	line-height:1.4!important;
	letter-spacing:.08em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header .portraitist-nav-list .portraitist-store-link {
	min-width:144px!important;
	padding:0 18px!important;
	border:1px solid rgba(128,96,31,.45)!important;
}

/* 18-2｜本文上部の不要な巨大空白を抑制 */
body .wrapper {
	margin-top:0!important;
	padding-top:52px!important;
}

body .top-header {
	margin-top:0!important;
}

/* 18-3｜フッターをタブレット幅でも横組みに維持 */
body #footer.portraitist-site-footer .portraitist-footer-main {
	display:grid!important;
	grid-template-columns:1.35fr repeat(3,minmax(120px,1fr))!important;
	gap:42px!important;
	width:100%!important;
	max-width:1120px!important;
	margin:0 auto!important;
	padding:48px 28px 40px!important;
	box-sizing:border-box!important;
}

body #footer.portraitist-site-footer .portraitist-footer-brand,
body #footer.portraitist-site-footer .portraitist-footer-column {
	margin:0!important;
	padding:0!important;
	border:0!important;
}


/* 18-4｜スマートフォン専用 */
@media only screen and (max-width:600px) {

	body #header.portraitist-site-header .portraitist-wordmark__sub {
		font-size:9.5px!important;
	}

	body #header.portraitist-site-header .portraitist-menu-toggle {
		display:inline-flex!important;
		flex:0 0 auto!important;
	}

	body #header.portraitist-site-header #nav.portraitist-main-navigation {
		display:none!important;
		position:absolute!important;
		top:100%!important;
		left:0!important;
		right:0!important;
		z-index:1000!important;
		width:100%!important;
		padding:12px 18px 20px!important;
		box-sizing:border-box!important;
		background:rgba(246,241,232,.99)!important;
		border-top:1px solid var(--library-line)!important;
		border-bottom:1px solid var(--library-line-strong)!important;
		box-shadow:0 16px 30px rgba(61,48,31,.09)!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list li {
		width:100%!important;
		border-bottom:1px solid var(--library-line)!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list .portraitist-store-link {
		justify-content:space-between!important;
		min-width:0!important;
		padding:0 16px!important;
	}

	body .wrapper {
		padding:34px 20px 64px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-main {
		display:grid!important;
		grid-template-columns:1fr 1fr!important;
		gap:30px 24px!important;
		padding:38px 20px 28px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-brand {
		grid-column:1 / -1!important;
		padding-bottom:25px!important;
		border-bottom:1px solid var(--library-line)!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-column:last-child {
		grid-column:1 / -1!important;
	}
}

@media only screen and (max-width:420px) {

	body #footer.portraitist-site-footer .portraitist-footer-brand,
	body #footer.portraitist-site-footer .portraitist-footer-column,
	body #footer.portraitist-site-footer .portraitist-footer-column:last-child {
		grid-column:auto!important;
		padding-bottom:24px!important;
		border-bottom:1px solid var(--library-line)!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-column:last-child {
		border-bottom:0!important;
	}
}

/* ==================================================
   20｜マスター画像準拠ヘッダー v05
================================================== */

:root {
	--master-paper:#f3eee5;
	--master-paper-deep:#ece5da;
	--master-ink:#2f2822;
	--master-brass:#9f7836;
	--master-line:rgba(86,70,51,.18);
}

html,
body,
.site,
.site-content,
.content-area,
#page,
#content,
article,
.entry-content,
.entry-header,
.widget-area,
.site-main,
body.pmpro-confirmation,
body.pmpro-account,
body[class*="membership"] {
	background-color:var(--master-paper)!important;
}

body {
	background-image:
		radial-gradient(circle at 15% 0%,rgba(255,255,255,.34),transparent 34%),
		radial-gradient(circle at 86% 18%,rgba(128,92,46,.025),transparent 28%)!important;
	color:var(--master-ink)!important;
}

body #header.portraitist-site-header {
	width:100%!important;
	margin:0!important;
	padding:0!important;
	background:rgba(243,238,229,.98)!important;
	border-bottom:1px solid var(--master-line)!important;
}

body #header.portraitist-site-header .portraitist-header-inner {
	display:flex!important;
	align-items:center!important;
	justify-content:space-between!important;
	gap:44px!important;
	width:100%!important;
	max-width:1420px!important;
	min-height:92px!important;
	margin:0 auto!important;
	padding:18px 48px!important;
	box-sizing:border-box!important;
	overflow:visible!important;
}

body #header.portraitist-site-header .portraitist-wordmark {
	display:flex!important;
	flex-direction:column!important;
	align-items:flex-start!important;
	justify-content:center!important;
	flex:0 0 auto!important;
	margin:0!important;
	padding:0!important;
	color:var(--master-ink)!important;
	text-decoration:none!important;
}

body #header.portraitist-site-header .portraitist-wordmark__main {
	display:block!important;
	margin:0!important;
	padding:0!important;
	color:var(--master-ink)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:25px!important;
	font-weight:400!important;
	line-height:1.08!important;
	letter-spacing:.01em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header .portraitist-wordmark__sub {
	display:block!important;
	margin:7px 0 0!important;
	padding:0!important;
	color:var(--master-brass)!important;
	font-family:var(--font-title)!important;
	font-size:10px!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:.22em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header #nav.portraitist-main-navigation {
	display:block!important;
	position:static!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
}

body #header.portraitist-site-header .portraitist-nav-list {
	display:flex!important;
	flex-direction:row!important;
	align-items:center!important;
	justify-content:flex-end!important;
	gap:44px!important;
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}

body #header.portraitist-site-header .portraitist-nav-list li {
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	list-style:none!important;
}

body #header.portraitist-site-header .portraitist-nav-list a,
body #header.portraitist-site-header .portraitist-nav-list span {
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:42px!important;
	margin:0!important;
	padding:0!important;
	color:var(--master-ink)!important;
	background:transparent!important;
	border:0!important;
	font-family:var(--font-title)!important;
	font-size:14px!important;
	font-weight:500!important;
	line-height:1.4!important;
	letter-spacing:.08em!important;
	text-decoration:none!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header .portraitist-nav-list a:hover {
	color:var(--master-brass)!important;
}

body #header.portraitist-site-header .portraitist-store-link {
	position:relative!important;
	min-width:158px!important;
	min-height:44px!important;
	padding:0 44px 0 22px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(128,96,31,.42)!important;
	background:rgba(255,255,255,.10)!important;
}

body #header.portraitist-site-header .portraitist-store-link::after {
	content:"→"!important;
	position:absolute!important;
	right:18px!important;
	top:50%!important;
	transform:translateY(-50%)!important;
	margin:0!important;
	color:var(--master-brass)!important;
	font-size:15px!important;
	line-height:1!important;
}

body #header.portraitist-site-header .portraitist-menu-toggle {
	display:none!important;
}

@media only screen and (max-width:1020px) and (min-width:601px) {
	body #header.portraitist-site-header .portraitist-header-inner {
		gap:26px!important;
		padding:16px 28px!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list {
		gap:24px!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list a,
	body #header.portraitist-site-header .portraitist-nav-list span {
		font-size:13px!important;
	}

	body #header.portraitist-site-header .portraitist-store-link {
		min-width:146px!important;
		padding-left:18px!important;
	}
}

@media only screen and (max-width:600px) {
	body #header.portraitist-site-header .portraitist-header-inner {
		position:relative!important;
		min-height:72px!important;
		padding:14px 18px!important;
	}

	body #header.portraitist-site-header .portraitist-wordmark__main {
		font-size:21px!important;
	}

	body #header.portraitist-site-header .portraitist-wordmark__sub {
		font-size:9px!important;
	}

	body #header.portraitist-site-header .portraitist-menu-toggle {
		display:inline-flex!important;
	}

	body #header.portraitist-site-header #nav.portraitist-main-navigation {
		display:none!important;
		position:absolute!important;
		top:100%!important;
		left:0!important;
		right:0!important;
		z-index:1000!important;
		width:100%!important;
		padding:12px 18px 20px!important;
		box-sizing:border-box!important;
		background:rgba(243,238,229,.995)!important;
		border-top:1px solid var(--master-line)!important;
		border-bottom:1px solid rgba(86,70,51,.28)!important;
		box-shadow:0 16px 30px rgba(61,48,31,.09)!important;
	}

	body #header.portraitist-site-header #nav.portraitist-main-navigation.is-open {
		display:block!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list {
		display:block!important;
		width:100%!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list li {
		width:100%!important;
		border-bottom:1px solid var(--master-line)!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list li:last-child {
		padding-top:14px!important;
		border-bottom:0!important;
	}

	body #header.portraitist-site-header .portraitist-nav-list a,
	body #header.portraitist-site-header .portraitist-nav-list span {
		display:flex!important;
		justify-content:flex-start!important;
		width:100%!important;
		min-height:50px!important;
		box-sizing:border-box!important;
	}

	body #header.portraitist-site-header .portraitist-store-link {
		justify-content:space-between!important;
		min-width:0!important;
		min-height:50px!important;
		padding:0 44px 0 18px!important;
	}
}

/* ==================================================
   21｜マスター画像準拠 背景・フッター v06
================================================== */
:root{
	--library-page:#f5f0e7;
	--library-footer:#ece4d8;
	--library-footer-deep:#e7ded1;
	--library-ink:#332b24;
	--library-text:#665b50;
	--library-brass:#9d7738;
	--library-rule:rgba(91,74,54,.17);
	--library-rule-strong:rgba(91,74,54,.26);
}

html{background:var(--library-page)!important;}

body,
.site,
.site-content,
.content-area,
#page,
#content,
article,
.entry-content,
.entry-header,
.widget-area,
.site-main,
body.pmpro-confirmation,
body.pmpro-account,
body[class*="membership"]{
	background-color:var(--library-page)!important;
}

body{
	background-image:
		radial-gradient(circle at 12% 8%,rgba(255,255,255,.40),transparent 34%),
		radial-gradient(circle at 84% 16%,rgba(128,92,46,.026),transparent 30%),
		repeating-linear-gradient(0deg,rgba(90,70,45,.008) 0,rgba(90,70,45,.008) 1px,transparent 1px,transparent 4px)!important;
	background-attachment:fixed!important;
	color:var(--library-text)!important;
}

body #footer.portraitist-site-footer{
	clear:both!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	background:linear-gradient(rgba(236,228,216,.97),rgba(236,228,216,.97))!important;
	border-top:1px solid var(--library-rule)!important;
	color:var(--library-text)!important;
}

body #footer.portraitist-site-footer .portraitist-footer-main{
	display:grid!important;
	grid-template-columns:1.35fr 1fr 1fr .8fr auto!important;
	align-items:start!important;
	gap:54px!important;
	width:100%!important;
	max-width:1420px!important;
	margin:0 auto!important;
	padding:46px 48px 38px!important;
	box-sizing:border-box!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark{
	display:inline-flex!important;
	flex-direction:column!important;
	align-items:flex-start!important;
	color:var(--library-ink)!important;
	text-decoration:none!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark__main{
	color:var(--library-ink)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:24px!important;
	font-weight:400!important;
	line-height:1.1!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark__sub{
	margin-top:8px!important;
	color:var(--library-brass)!important;
	font-family:var(--font-title)!important;
	font-size:10px!important;
	font-weight:500!important;
	line-height:1!important;
	letter-spacing:.21em!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column{
	margin:0!important;
	padding:0!important;
	border:0!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column h2{
	margin:0 0 16px!important;
	padding:0!important;
	border:0!important;
	color:var(--library-ink)!important;
	background:transparent!important;
	font-family:var(--font-title)!important;
	font-size:13px!important;
	font-weight:600!important;
	line-height:1.4!important;
	letter-spacing:.09em!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column ul{
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column li{
	margin:0 0 8px!important;
	padding:0!important;
	border:0!important;
	list-style:none!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column a{
	color:#6f6459!important;
	font-family:var(--font-body)!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.7!important;
	letter-spacing:.03em!important;
	text-decoration:none!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column a:hover{
	color:var(--library-brass)!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social-column{
	display:flex!important;
	align-items:center!important;
	justify-content:flex-end!important;
	min-height:72px!important;
	padding-left:34px!important;
	border-left:1px solid var(--library-rule)!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social{
	display:flex!important;
	align-items:center!important;
	gap:14px!important;
	margin:0!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social a{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:36px!important;
	height:36px!important;
	margin:0!important;
	padding:0!important;
	box-sizing:border-box!important;
	border:1px solid var(--library-rule-strong)!important;
	border-radius:50%!important;
	color:#776b60!important;
	background:rgba(255,255,255,.14)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:10px!important;
	font-weight:600!important;
	line-height:1!important;
}

body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap{
	margin:0!important;
	padding:16px 48px!important;
	background:rgba(231,222,209,.78)!important;
	border-top:1px solid var(--library-rule)!important;
	color:#8a7f74!important;
}

body #footer.portraitist-site-footer .portraitist-footer-bottom{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	flex-wrap:wrap!important;
	gap:5px 10px!important;
	max-width:1420px!important;
	margin:0 auto!important;
	padding:0!important;
}

body #footer.portraitist-site-footer .portraitist-footer-bottom a,
body #footer.portraitist-site-footer .portraitist-footer-bottom small,
body #footer.portraitist-site-footer .portraitist-footer-bottom span{
	color:#8a7f74!important;
	font-family:var(--font-body)!important;
	font-size:10px!important;
	font-weight:400!important;
	line-height:1.8!important;
	letter-spacing:.03em!important;
	text-decoration:none!important;
}

@media only screen and (max-width:1020px){
	body #footer.portraitist-site-footer .portraitist-footer-main{
		grid-template-columns:1.2fr repeat(3,1fr)!important;
		gap:34px!important;
		padding:42px 28px 34px!important;
	}
	body #footer.portraitist-site-footer .portraitist-footer-social-column{
		grid-column:1 / -1!important;
		justify-content:flex-start!important;
		min-height:auto!important;
		padding:24px 0 0!important;
		border-left:0!important;
		border-top:1px solid var(--library-rule)!important;
	}
	body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap{
		padding:15px 28px!important;
	}
}

@media only screen and (max-width:600px){
	body #footer.portraitist-site-footer .portraitist-footer-main{
		grid-template-columns:1fr 1fr!important;
		gap:28px 22px!important;
		padding:38px 20px 28px!important;
	}
	body #footer.portraitist-site-footer .portraitist-footer-brand{
		grid-column:1 / -1!important;
		padding-bottom:24px!important;
		border-bottom:1px solid var(--library-rule)!important;
	}
	body #footer.portraitist-site-footer .portraitist-footer-social-column{
		grid-column:1 / -1!important;
		padding-top:22px!important;
	}
	body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap{
		padding:18px 20px!important;
	}
	body #footer.portraitist-site-footer .portraitist-footer-bottom{
		flex-direction:column!important;
		gap:3px!important;
	}
	body #footer.portraitist-site-footer .portraitist-footer-bottom span{
		display:none!important;
	}
}

@media only screen and (max-width:420px){
	
}

/* ==================================================
   22A｜トップページ「智の図書館」v07
   マスター画像準拠
================================================== */

body.home,
body.home #page,
body.home #content,
body.home .site,
body.home .site-content {
	background:
		radial-gradient(circle at 12% 5%,rgba(255,255,255,.38),transparent 34%),
		repeating-linear-gradient(0deg,rgba(88,68,43,.007) 0,rgba(88,68,43,.007) 1px,transparent 1px,transparent 4px),
		#f5f0e7!important;
}

body.home .wrapper,
body.home .top-header,
body.home #main,
body.home .sidebar {
	display:none!important;
}

.portraitist-home {
	width:100%;
	margin:0;
	padding:0;
	color:#352d27;
	background:transparent;
}

.portraitist-home,
.portraitist-home * {
	box-sizing:border-box;
}

.portraitist-home__inner {
	width:min(1120px,calc(100% - 56px));
	margin:0 auto;
	padding:34px 0 0;
}

body.home.logged-in .portraitist-home__inner {
	padding-top:16px;
}

.portraitist-home-hero {
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);
	align-items:center;
	gap:48px;
	min-height:430px;
	padding:10px 0 24px;
}

.portraitist-home-hero__copy {
	padding-left:34px;
}

.portraitist-home-kicker {
	margin:0 0 20px!important;
	padding:0!important;
	color:#a27a38!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:14px!important;
	font-weight:500!important;
	line-height:1.6!important;
	letter-spacing:.13em!important;
}

.portraitist-home-hero h1 {
	margin:0!important;
	padding:0!important;
	border:0!important;
	color:#2d2722!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:30px!important;
	font-weight:500!important;
	line-height:1.72!important;
	letter-spacing:.08em!important;
}

.portraitist-home-ornament {
	display:flex;
	align-items:center;
	gap:8px;
	width:122px;
	margin:20px 0 22px;
}

.portraitist-home-ornament span {
	display:block;
	height:1px;
	background:#a27a38;
}

.portraitist-home-ornament span:first-child { width:62px; }
.portraitist-home-ornament span:last-child { width:18px; opacity:.58; }

.portraitist-home-ornament i {
	display:block;
	width:7px;
	height:7px;
	border:1px solid rgba(162,122,56,.64);
	transform:rotate(45deg);
}

.portraitist-home-hero__lead {
	margin:0!important;
	padding:0!important;
	color:#5f554c!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:2!important;
	letter-spacing:.06em!important;
}

.portraitist-home-hero__visual img {
	display:block;
	width:100%;
	height:auto;
	margin:0;
	filter:saturate(.78) contrast(.96);
}

.portraitist-home-divider {
	position:relative;
	height:1px;
	margin:0 34px;
	background:rgba(91,74,54,.17);
}

.portraitist-home-divider::before,
.portraitist-home-divider::after {
	content:"";
	position:absolute;
	top:50%;
	width:6px;
	height:6px;
	border:1px solid rgba(157,119,56,.34);
	transform:translateY(-50%) rotate(45deg);
	background:#f5f0e7;
}

.portraitist-home-divider::before { left:55%; }
.portraitist-home-divider::after { right:0; }

.portraitist-home-chapter {
	display:grid;
	grid-template-columns:108px 330px minmax(0,1fr);
	align-items:center;
	gap:36px;
	min-height:250px;
	margin:0 34px;
	padding:20px 0;
	border-bottom:1px solid rgba(91,74,54,.17);
}

.portraitist-home-chapter--04 {
	min-height:160px;
	border-bottom:0;
	padding-bottom:30px;
}

.portraitist-home-chapter__index {
	align-self:start;
	padding-top:22px;
	text-align:left;
}

.portraitist-home-chapter__index strong {
	display:block;
	margin:0 0 10px;
	color:#a27a38;
	font-family:Georgia,"Times New Roman",serif;
	font-size:41px;
	font-weight:400;
	line-height:1;
}

.portraitist-home-chapter__index span {
	display:block;
	color:#4b423a;
	font-family:"Shippori Mincho","Noto Serif JP",serif;
	font-size:12px;
	line-height:1.5;
	letter-spacing:.12em;
}

.portraitist-home-chapter__index i {
	display:block;
	position:relative;
	width:32px;
	height:1px;
	margin-top:15px;
	background:rgba(162,122,56,.58);
}

.portraitist-home-chapter__index i::after {
	content:"";
	position:absolute;
	left:15px;
	top:50%;
	width:5px;
	height:5px;
	border:1px solid rgba(162,122,56,.48);
	background:#f5f0e7;
	transform:translate(-50%,-50%) rotate(45deg);
}

.portraitist-home-chapter__image img {
	display:block;
	width:100%;
	height:auto;
	max-height:225px;
	object-fit:contain;
	filter:saturate(.76) contrast(.95);
}

.portraitist-home-chapter__image--book img {
	max-height:145px;
}

.portraitist-home-chapter__content {
	padding:8px 0 0;
}

.portraitist-home-chapter__content h2 {
	margin:0!important;
	padding:0!important;
	border:0!important;
	color:#302923!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:22px!important;
	font-weight:600!important;
	line-height:1.55!important;
	letter-spacing:.08em!important;
}

.portraitist-home-heading-line {
	width:46px;
	height:1px;
	margin:14px 0 18px;
	background:#a27a38;
}

.portraitist-home-heading-line::after {
	content:"";
	display:block;
	width:18px;
	height:1px;
	margin-left:48px;
	background:rgba(162,122,56,.36);
}

.portraitist-home-chapter__content p,
.portraitist-home-chapter__content li {
	color:#4f463e!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.9!important;
	letter-spacing:.045em!important;
}

.portraitist-home-chapter__content p {
	margin:0 0 18px!important;
	padding:0!important;
}

.portraitist-home-chapter__content ul {
	margin:0 0 17px!important;
	padding:0 0 0 1.2em!important;
}

.portraitist-home-chapter__content li {
	margin:0!important;
	padding:0!important;
}

.portraitist-home-chapter__content .portraitist-home-accent {
	margin-bottom:0!important;
	color:#a27a38!important;
}

.portraitist-home-finale {
	display:grid;
	grid-template-columns:auto minmax(90px,1fr) 168px;
	align-items:center;
	gap:16px;
}

.portraitist-home-finale p {
	margin:0!important;
	padding:0!important;
	color:#a27a38!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:17px!important;
	font-weight:500!important;
	line-height:1.75!important;
	letter-spacing:.08em!important;
	white-space:nowrap;
}

.portraitist-home-finale__line {
	height:1px;
	background:linear-gradient(90deg,rgba(162,122,56,.5),rgba(162,122,56,.1));
}

.portraitist-home-finale img {
	display:block;
	width:100%;
	height:auto;
	max-height:105px;
	object-fit:contain;
	filter:saturate(.76) contrast(.95);
}

@media (max-width:960px) {
	.portraitist-home__inner {
		width:min(100% - 40px,900px);
	}

	.portraitist-home-hero {
		grid-template-columns:1fr 1.05fr;
		gap:28px;
	}

	.portraitist-home-hero__copy {
		padding-left:12px;
	}

	.portraitist-home-hero h1 {
		font-size:25px!important;
	}

	.portraitist-home-chapter {
		grid-template-columns:82px 260px minmax(0,1fr);
		gap:24px;
		margin:0 12px;
	}

	.portraitist-home-divider {
		margin:0 12px;
	}

	.portraitist-home-finale {
		grid-template-columns:1fr 100px;
	}

	.portraitist-home-finale__line {
		display:none;
	}

	.portraitist-home-finale p {
		white-space:normal;
	}
}

@media (max-width:680px) {
	.portraitist-home__inner {
		width:calc(100% - 32px);
		padding-top:18px;
	}

	.portraitist-home-hero {
		grid-template-columns:1fr;
		gap:10px;
		padding-top:10px;
	}

	.portraitist-home-hero__copy {
		padding:0 8px;
	}

	.portraitist-home-kicker {
		font-size:12px!important;
	}

	.portraitist-home-hero h1 {
		font-size:23px!important;
		line-height:1.65!important;
	}

	.portraitist-home-hero__lead {
		font-size:12px!important;
	}

	.portraitist-home-hero__visual {
		order:-1;
	}

	.portraitist-home-divider {
		margin:12px 8px 0;
	}

	.portraitist-home-chapter,
	.portraitist-home-chapter--04 {
		grid-template-columns:62px minmax(0,1fr);
		gap:18px;
		margin:0 8px;
		padding:24px 0 30px;
	}

	.portraitist-home-chapter__index {
		grid-column:1;
		grid-row:1 / span 2;
		padding-top:5px;
	}

	.portraitist-home-chapter__index strong {
		font-size:31px;
	}

	.portraitist-home-chapter__image,
	.portraitist-home-chapter__content,
	.portraitist-home-finale {
		grid-column:2;
	}

	.portraitist-home-chapter__image img {
		max-height:none;
	}

	.portraitist-home-chapter__content h2 {
		font-size:19px!important;
	}

	.portraitist-home-finale {
		display:block;
	}

	.portraitist-home-finale p {
		font-size:15px!important;
	}

	.portraitist-home-finale img {
		width:160px;
		margin:16px 0 0 auto;
	}
}

/* ==================================================
   22B｜トップページ typography / background / footer v08
================================================== */
:root{
	--library-page:#f4efe6;
	--library-footer:#ebe3d7;
	--library-ink-soft:#5e554c;
	--library-ink-title:#40382f;
	--library-brass-soft:#a17b3d;
}

html,
body,
.site,
.site-content,
.content-area,
#page,
#content,
article,
.entry-content,
.entry-header,
.widget-area,
.site-main,
body.pmpro-confirmation,
body.pmpro-account,
body[class*="membership"]{
	background-color:var(--library-page)!important;
}

body{
	background-image:
		radial-gradient(circle at 14% 6%,rgba(255,255,255,.34),transparent 32%),
		radial-gradient(circle at 84% 12%,rgba(140,102,58,.022),transparent 30%)!important;
	color:var(--library-ink-soft)!important;
}

body #header.portraitist-site-header .portraitist-wordmark__main,
body #footer.portraitist-site-footer .portraitist-footer-wordmark__main{
	color:var(--library-ink-title)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-weight:400!important;
	letter-spacing:0!important;
	text-shadow:none!important;
}

body #header.portraitist-site-header .portraitist-wordmark__main{font-size:24px!important;}
body #footer.portraitist-site-footer .portraitist-footer-wordmark__main{font-size:23px!important;}

body .portraitist-home h1,
body .portraitist-home h2,
body .portraitist-home h3,
body .blog-title,
body .page-contents h2,
body .page-contents h3{
	color:var(--library-ink-title)!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-weight:400!important;
	text-shadow:none!important;
	-webkit-font-smoothing:antialiased!important;
}

body .portraitist-home-hero__title{
	font-weight:400!important;
	letter-spacing:.07em!important;
	line-height:1.62!important;
}

body .portraitist-home-section__title{
	font-weight:400!important;
	letter-spacing:.055em!important;
	line-height:1.5!important;
}

body .portraitist-home p,
body .portraitist-home li,
body .page-contents,
body .entry-content{
	color:var(--library-ink-soft)!important;
	font-weight:400!important;
}

body .portraitist-home-chapter__number,
body .portraitist-home-ending__number{
	color:var(--library-brass-soft)!important;
	font-family:"Times New Roman",Georgia,serif!important;
	font-weight:300!important;
	letter-spacing:-.04em!important;
	line-height:.95!important;
	text-shadow:none!important;
	transform:scaleX(.86)!important;
	transform-origin:left center!important;
}

body .portraitist-home-chapter__number{font-size:47px!important;}
body .portraitist-home-ending__number{font-size:45px!important;}

body .portraitist-home-chapter__label,
body .portraitist-home-ending__label{
	color:#5c5248!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:11px!important;
	font-weight:400!important;
	letter-spacing:.12em!important;
}

body #header.portraitist-site-header .portraitist-nav-list a,
body #header.portraitist-site-header .portraitist-nav-list span{
	color:#4a4037!important;
	font-weight:400!important;
}

body #footer.portraitist-site-footer{
	background:var(--library-footer)!important;
}

body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap{
	display:block!important;
	padding:16px 28px 14px!important;
	text-align:center!important;
	background:rgba(231,222,209,.76)!important;
	border-top:1px solid rgba(91,74,54,.15)!important;
}

body #footer.portraitist-site-footer .portraitist-footer-legal{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	flex-wrap:wrap!important;
	gap:4px 10px!important;
	margin:0 0 7px!important;
	padding:0!important;
}

body #footer.portraitist-site-footer .portraitist-footer-legal a,
body #footer.portraitist-site-footer .portraitist-footer-legal span{
	color:#877c71!important;
	font-family:var(--font-body)!important;
	font-size:10px!important;
	font-weight:400!important;
	line-height:1.7!important;
	letter-spacing:.03em!important;
	text-decoration:none!important;
}

body #footer.portraitist-site-footer .portraitist-footer-copyright{
	margin:0!important;
	padding:0!important;
	color:#958a7f!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:10px!important;
	font-weight:400!important;
	line-height:1.6!important;
	letter-spacing:.01em!important;
}

@media only screen and (max-width:600px){
	body .portraitist-home-chapter__number{font-size:40px!important;}
	body .portraitist-home-ending__number{font-size:39px!important;}
	body #footer.portraitist-site-footer .portraitist-footer-legal{gap:3px 7px!important;}
	body #footer.portraitist-site-footer .portraitist-footer-legal a,
	body #footer.portraitist-site-footer .portraitist-footer-legal span,
	body #footer.portraitist-site-footer .portraitist-footer-copyright{font-size:9.5px!important;}
}

/* ==================================================
   23｜旅する肖像作家の書斎 v09
================================================== */

body #header.portraitist-site-header .portraitist-wordmark__sub,
body #footer.portraitist-site-footer .portraitist-footer-wordmark__sub {
	letter-spacing:.14em!important;
	white-space:nowrap!important;
}

body #header.portraitist-site-header .portraitist-nav-list {
	gap:54px!important;
}

body #header.portraitist-site-header .portraitist-nav-list a {
	font-weight:400!important;
	letter-spacing:.075em!important;
}

@media only screen and (max-width:1020px) and (min-width:601px) {
	body #header.portraitist-site-header .portraitist-nav-list {
		gap:28px!important;
	}
}

@media only screen and (max-width:600px) {
	body #header.portraitist-site-header .portraitist-wordmark__sub {
		font-size:8.5px!important;
		letter-spacing:.08em!important;
	}
}

/* ==================================================
   24｜マスターデザイン比較調整 v11
   Hero / Lead / Chapter Index / Buttons / Finale / Footer
================================================== */

/* ---------- 1. ヒーロー全体 ---------- */
body .portraitist-home__inner {
	width:min(1120px,calc(100% - 72px))!important;
	padding-top:28px!important;
}

body .portraitist-home-hero {
	grid-template-columns:minmax(390px,.92fr) minmax(0,1.18fr)!important;
	gap:46px!important;
	min-height:410px!important;
	padding:8px 0 22px!important;
}

body .portraitist-home-hero__copy {
	padding-left:34px!important;
}

/* 左上ブランド肩書きと同系統 */
body .portraitist-home-kicker {
	margin:0 0 17px!important;
	color:#9d783c!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.5!important;
	letter-spacing:.14em!important;
}

/* メインコピーを軽くし、PCでは3行に固定 */
body .portraitist-home-hero h1 {
	max-width:440px!important;
	color:#41382f!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:27px!important;
	font-weight:400!important;
	line-height:1.64!important;
	letter-spacing:.075em!important;
	-webkit-font-smoothing:antialiased!important;
}

body .portraitist-home-hero h1 span {
	display:block!important;
	white-space:nowrap!important;
}

/* 装飾線をマスター寄りに小さく */
body .portraitist-home-ornament {
	width:116px!important;
	margin:17px 0 18px!important;
}

body .portraitist-home-ornament span:first-child {
	width:58px!important;
}

/* ---------- 2. リード文章 ---------- */
body .portraitist-home-hero__lead {
	color:#62584f!important;
	font-size:11.5px!important;
	font-weight:400!important;
	line-height:1.8!important;
	letter-spacing:.045em!important;
}

body .portraitist-home-hero__lead span {
	display:block!important;
	white-space:nowrap!important;
}

body .portraitist-home-hero__lead span + span {
	margin-top:8px!important;
}

/* ---------- 3. 章番号 ---------- */
body .portraitist-home-chapter__index {
	padding-top:20px!important;
}

body .portraitist-home-chapter__index strong {
	display:block!important;
	margin:0 0 10px!important;
	color:#a27e43!important;
	font-family:"Bodoni 72","Didot","Times New Roman",serif!important;
	font-size:43px!important;
	font-weight:400!important;
	line-height:.9!important;
	letter-spacing:-.055em!important;
	transform:scaleX(.82)!important;
	transform-origin:left center!important;
	text-shadow:none!important;
	-webkit-font-smoothing:antialiased!important;
}

body .portraitist-home-chapter__index span {
	color:#5a5047!important;
	font-size:10.5px!important;
	font-weight:400!important;
	line-height:1.45!important;
	letter-spacing:.13em!important;
}

body .portraitist-home-chapter__index i {
	width:30px!important;
	margin-top:13px!important;
	background:rgba(157,119,56,.48)!important;
}

body .portraitist-home-chapter__index i::after {
	left:14px!important;
	width:4px!important;
	height:4px!important;
}

/* セクション見出しもマスターの軽さへ */
body .portraitist-home-chapter__content h2 {
	color:#3d352e!important;
	font-size:20px!important;
	font-weight:400!important;
	line-height:1.5!important;
	letter-spacing:.075em!important;
}

/* ---------- 4. セクション02・03のボタン ---------- */
body .portraitist-home .q_custom_button.q_custom_button3 {
	width:auto!important;
	min-width:136px!important;
	height:38px!important;
	padding:0 34px 0 22px!important;
	border:1px solid rgba(145,107,43,.35)!important;
	border-radius:2px!important;
	background:#b18a45!important;
	box-shadow:none!important;
	color:#fffaf0!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1!important;
	letter-spacing:.08em!important;
	transition:background-color .22s ease,opacity .22s ease,border-color .22s ease!important;
}

body .portraitist-home .q_custom_button.q_custom_button3::after {
	content:"→"!important;
	top:50%!important;
	right:12px!important;
	width:auto!important;
	height:auto!important;
	background:none!important;
	color:rgba(255,250,240,.86)!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:12px!important;
	line-height:1!important;
	transform:translateY(-50%)!important;
	opacity:1!important;
}

body .portraitist-home .q_custom_button.q_custom_button3:hover {
	background:#a77f3c!important;
	border-color:rgba(132,94,34,.46)!important;
	opacity:.94!important;
	transform:none!important;
}

body .portraitist-home .q_custom_button.q_custom_button3:hover::after {
	transform:translateY(-50%)!important;
	opacity:.9!important;
}

body .portraitist-home-chapter__content p:has(.q_custom_button) {
	margin-top:13px!important;
	margin-bottom:0!important;
}

/* ---------- 5. 終章 ---------- */
body .portraitist-home-finale {
	grid-template-columns:minmax(330px,auto) minmax(74px,1fr) 150px!important;
	gap:14px!important;
}

body .portraitist-home-finale p {
	color:#a07a3f!important;
	font-size:15px!important;
	font-weight:400!important;
	line-height:1.7!important;
	letter-spacing:.075em!important;
	white-space:normal!important;
}

body .portraitist-home-finale p span {
	display:block!important;
	white-space:nowrap!important;
}

body .portraitist-home-finale p span + span {
	margin-top:7px!important;
}

body .portraitist-home-finale img {
	max-height:92px!important;
}

/* ---------- 6. フッター ---------- */
body #footer.portraitist-site-footer .portraitist-footer-main {
	grid-template-columns:1.25fr .9fr 1fr .9fr auto!important;
	align-items:start!important;
	gap:44px!important;
	max-width:1120px!important;
	padding:30px 40px 24px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark__main {
	font-size:21px!important;
	font-weight:400!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark__sub {
	margin-top:6px!important;
	font-size:8.5px!important;
	font-weight:400!important;
	letter-spacing:.11em!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column h2 {
	margin:0 0 10px!important;
	color:#494038!important;
	font-size:11.5px!important;
	font-weight:400!important;
	line-height:1.35!important;
	letter-spacing:.07em!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column li {
	margin:0 0 4px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-column a {
	font-size:10.5px!important;
	font-weight:400!important;
	line-height:1.45!important;
	letter-spacing:.025em!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social-column {
	min-height:54px!important;
	padding-left:25px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social {
	gap:10px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-social a {
	width:31px!important;
	height:31px!important;
	font-size:9px!important;
}

/* Portraitist official social PNGs: let each PNG's visible circle be the button itself. */
body #footer.portraitist-site-footer .portraitist-footer-social a.portraitist-footer-social__icon {
	padding: 0 !important;
	border-color: transparent !important;
	background: transparent !important;
}
body #footer.portraitist-site-footer .portraitist-footer-social a.portraitist-footer-social__icon img {
	display: block;
	width: 31px !important;
	height: 31px !important;
	object-fit: contain;
}

body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap {
	padding:9px 24px 8px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-legal {
	gap:2px 8px!important;
	margin:0 0 3px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-legal a,
body #footer.portraitist-site-footer .portraitist-footer-legal span {
	font-size:8.5px!important;
	line-height:1.45!important;
}

body #footer.portraitist-site-footer .portraitist-footer-copyright {
	font-size:8.5px!important;
	line-height:1.4!important;
}

/* ---------- 7. タブレット ---------- */
@media only screen and (max-width:960px) and (min-width:681px) {
	body .portraitist-home__inner {
		width:calc(100% - 44px)!important;
	}

	body .portraitist-home-hero {
		grid-template-columns:minmax(330px,.95fr) minmax(0,1.05fr)!important;
		gap:28px!important;
	}

	body .portraitist-home-hero__copy {
		padding-left:12px!important;
	}

	body .portraitist-home-hero h1 {
		font-size:23px!important;
		letter-spacing:.055em!important;
	}

	body .portraitist-home-hero__lead {
		font-size:10.5px!important;
	}

	body .portraitist-home-chapter {
		grid-template-columns:76px 245px minmax(0,1fr)!important;
		gap:22px!important;
		margin:0 10px!important;
	}

	body .portraitist-home-chapter__index strong {
		font-size:39px!important;
	}

	body .portraitist-home-chapter__content h2 {
		font-size:18px!important;
	}

	body .portraitist-home-finale {
		grid-template-columns:minmax(280px,1fr) 120px!important;
	}

	body .portraitist-home-finale__line {
		display:none!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-main {
		grid-template-columns:1.1fr repeat(3,1fr)!important;
		gap:28px!important;
		padding:28px 28px 22px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-social-column {
		grid-column:1 / -1!important;
		min-height:auto!important;
		padding:16px 0 0!important;
		border-left:0!important;
		border-top:1px solid var(--library-rule)!important;
	}
}

/* ---------- 8. スマートフォン ---------- */
@media only screen and (max-width:680px) {
	body .portraitist-home__inner {
		width:calc(100% - 28px)!important;
	}

	body .portraitist-home-hero {
		grid-template-columns:1fr!important;
		min-height:0!important;
		gap:12px!important;
	}

	body .portraitist-home-hero__copy {
		padding:0 6px!important;
	}

	body .portraitist-home-kicker {
		font-size:10px!important;
	}

	body .portraitist-home-hero h1 {
		max-width:none!important;
		font-size:21px!important;
		line-height:1.65!important;
		letter-spacing:.055em!important;
	}

	body .portraitist-home-hero h1 span,
	body .portraitist-home-hero__lead span,
	body .portraitist-home-finale p span {
		white-space:normal!important;
	}

	body .portraitist-home-hero__lead {
		font-size:11px!important;
		line-height:1.85!important;
	}

	body .portraitist-home-chapter,
	body .portraitist-home-chapter--04 {
		grid-template-columns:58px minmax(0,1fr)!important;
		gap:15px!important;
		margin:0 6px!important;
		padding:22px 0 27px!important;
	}

	body .portraitist-home-chapter__index strong {
		font-size:34px!important;
	}

	body .portraitist-home-chapter__content h2 {
		font-size:17px!important;
	}

	body .portraitist-home .q_custom_button.q_custom_button3 {
		min-width:128px!important;
		height:37px!important;
		font-size:10.5px!important;
	}

	body .portraitist-home-finale {
		display:block!important;
	}

	body .portraitist-home-finale p {
		font-size:14px!important;
	}

	body .portraitist-home-finale img {
		width:145px!important;
		margin:14px 0 0 auto!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-main {
		grid-template-columns:1fr 1fr!important;
		gap:22px 18px!important;
		padding:28px 20px 22px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-brand {
		grid-column:1 / -1!important;
		padding-bottom:18px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-social-column {
		grid-column:1 / -1!important;
		padding-top:15px!important;
	}

	body #footer.portraitist-site-footer #copyright.portraitist-footer-bottom-wrap {
		padding:10px 16px 9px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-legal {
		gap:2px 6px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-legal a,
	body #footer.portraitist-site-footer .portraitist-footer-legal span,
	body #footer.portraitist-site-footer .portraitist-footer-copyright {
		font-size:8px!important;
	}
}

@media only screen and (max-width:420px) {
	body #footer.portraitist-site-footer .portraitist-footer-main {
		grid-template-columns:1fr!important;
		gap:18px!important;
	}

	body #footer.portraitist-site-footer .portraitist-footer-brand,
	body #footer.portraitist-site-footer .portraitist-footer-social-column {
		grid-column:auto!important;
	}
}

/* ==================================================
   25｜ヘッダー・ロゴ・共通ボタン 最終調整 v12
================================================== */

/* 1｜ヘッダーと本文の背景色を完全に統一 */
body #header.portraitist-site-header {
	background:var(--library-page)!important;
	background-color:var(--library-page)!important;
	border-bottom:1px solid rgba(91,74,54,.15)!important;
	box-shadow:none!important;
}

/* 2｜ヘッダー／フッターのロゴを細く上品に統一 */
body #header.portraitist-site-header .portraitist-wordmark__main,
body #footer.portraitist-site-footer .portraitist-footer-wordmark__main {
	display:block!important;
	color:#433a32!important;
	font-family:"Times New Roman","Baskerville","Cormorant Garamond",serif!important;
	font-weight:400!important;
	font-style:normal!important;
	letter-spacing:.012em!important;
	line-height:1!important;
	text-shadow:none!important;
	transform:scaleX(.91)!important;
	transform-origin:left center!important;
	-webkit-font-smoothing:antialiased!important;
}

body #header.portraitist-site-header .portraitist-wordmark__main {
	font-size:25px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-wordmark__main {
	font-size:22px!important;
}

body #header.portraitist-site-header .portraitist-wordmark__sub,
body #footer.portraitist-site-footer .portraitist-footer-wordmark__sub {
	color:#9c783d!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-weight:400!important;
	text-shadow:none!important;
}

/* 3｜ヘッダー右上の書店ボタン */
body #header.portraitist-site-header .portraitist-nav-list {
	gap:42px!important;
}

body #header.portraitist-site-header .portraitist-nav-store {
	margin-left:7px!important;
}

body #header.portraitist-site-header .portraitist-store-link {
	position:relative!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:150px!important;
	min-height:43px!important;
	padding:0 43px 0 20px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(112,91,66,.35)!important;
	border-radius:0!important;
	background:rgba(255,255,255,.28)!important;
	color:#4d433a!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:12px!important;
	font-weight:400!important;
	letter-spacing:.08em!important;
	line-height:1!important;
	cursor:default!important;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}

body #header.portraitist-site-header .portraitist-store-link::after {
	content:"→"!important;
	position:absolute!important;
	right:16px!important;
	top:50%!important;
	transform:translateY(-50%)!important;
	color:#9a7537!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1!important;
}

body #header.portraitist-site-header .portraitist-store-link:hover {
	background:rgba(255,255,255,.45)!important;
	border-color:rgba(112,91,66,.48)!important;
	color:#40372f!important;
}

/* 4｜本文内ボタンをヘッダー書店ボタンと完全に統一 */
body .portraitist-home .q_custom_button.q_custom_button3 {
	position:relative!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:auto!important;
	min-width:150px!important;
	height:43px!important;
	padding:0 43px 0 20px!important;
	box-sizing:border-box!important;
	border:1px solid rgba(112,91,66,.35)!important;
	border-radius:0!important;
	background:rgba(255,255,255,.28)!important;
	box-shadow:none!important;
	color:#4d433a!important;
	font-family:"Shippori Mincho","Noto Serif JP",serif!important;
	font-size:12px!important;
	font-weight:400!important;
	letter-spacing:.08em!important;
	line-height:1!important;
	text-decoration:none!important;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}

body .portraitist-home .q_custom_button.q_custom_button3::before {
	display:none!important;
}

body .portraitist-home .q_custom_button.q_custom_button3::after {
	content:"→"!important;
	position:absolute!important;
	right:16px!important;
	top:50%!important;
	width:auto!important;
	height:auto!important;
	margin:0!important;
	background:none!important;
	color:#9a7537!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1!important;
	opacity:1!important;
	transform:translateY(-50%)!important;
}

body .portraitist-home .q_custom_button.q_custom_button3:hover {
	background:rgba(255,255,255,.45)!important;
	border-color:rgba(112,91,66,.48)!important;
	color:#40372f!important;
	opacity:1!important;
	transform:none!important;
	box-shadow:none!important;
}

body .portraitist-home .q_custom_button.q_custom_button3:hover::after {
	transform:translateY(-50%)!important;
	color:#8e6b31!important;
}

/* 5｜PCでは文章右側の空白へボタンを配置 */
@media only screen and (min-width:681px) {
	body .portraitist-home-chapter--02 .portraitist-home-chapter__content,
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content {
		display:grid!important;
		grid-template-columns:minmax(0,1fr) auto!important;
		column-gap:20px!important;
		align-items:start!important;
	}

	body .portraitist-home-chapter--02 .portraitist-home-chapter__content h2,
	body .portraitist-home-chapter--02 .portraitist-home-heading-line,
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content h2,
	body .portraitist-home-chapter--03 .portraitist-home-heading-line {
		grid-column:1 / -1!important;
	}

	body .portraitist-home-chapter--02 .portraitist-home-chapter__content > p:not(:has(.q_custom_button)),
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content > p:not(:has(.q_custom_button)) {
		grid-column:1!important;
	}

	body .portraitist-home-chapter--02 .portraitist-home-chapter__content > p:has(.q_custom_button),
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content > p:has(.q_custom_button) {
		grid-column:2!important;
		grid-row:3 / span 3!important;
		align-self:end!important;
		justify-self:end!important;
		margin:0 0 2px!important;
	}
}

/* 6｜コピーライトとの余白 */
body #footer.portraitist-site-footer .portraitist-footer-legal {
	margin-bottom:9px!important;
}

body #footer.portraitist-site-footer .portraitist-footer-copyright {
	padding-top:2px!important;
}

/* 7｜タブレット */
@media only screen and (max-width:1020px) and (min-width:681px) {
	body #header.portraitist-site-header .portraitist-nav-list {
		gap:25px!important;
	}

	body #header.portraitist-site-header .portraitist-store-link {
		min-width:138px!important;
		padding-left:17px!important;
	}
}

/* 8｜スマートフォン */
@media only screen and (max-width:680px) {
	body #header.portraitist-site-header .portraitist-nav-store {
		margin-left:0!important;
		padding-top:12px!important;
	}

	body #header.portraitist-site-header .portraitist-store-link {
		width:100%!important;
		min-width:0!important;
		justify-content:flex-start!important;
		padding-left:17px!important;
	}

	body .portraitist-home-chapter--02 .portraitist-home-chapter__content,
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content {
		display:block!important;
	}

	body .portraitist-home-chapter--02 .portraitist-home-chapter__content > p:has(.q_custom_button),
	body .portraitist-home-chapter--03 .portraitist-home-chapter__content > p:has(.q_custom_button) {
		margin-top:14px!important;
		text-align:left!important;
	}

	body .portraitist-home .q_custom_button.q_custom_button3 {
		min-width:142px!important;
		height:41px!important;
	}
}

/* =========================================================
   Portraitist Library
   Page Foundation
========================================================= */

.page-template-page-article .wrapper {
	max-width: 1280px !important;
	padding-top: clamp(44px, 6vw, 76px) !important;
	padding-bottom: clamp(84px, 10vw, 132px) !important;
}

.page-template-page-article #main,
.page-template-page-article #main > .row,
.page-template-page-article main.twothird {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.page-template-page-article #main > .row {
	display: block !important;
}

.page-template-page-article aside.third {
	display: none !important;
}

.page-template-page-article .blog-title {
	max-width: 940px !important;
	margin: 0 auto clamp(46px, 6vw, 72px) !important;
	padding: 0 0 24px !important;
	border-top: 0 !important;
	border-bottom: 1px solid rgba(83, 66, 47, 0.2) !important;
	color: #382f27 !important;
	font-size: clamp(27px, 3vw, 39px) !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: 0.11em !important;
	text-align: center !important;
}

.page-template-page-article .page-contents,
.page-template-page-article .portraitist-library {
	width: 100% !important;
	max-width: 1160px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.page-template-page-article .portraitist-library,
.page-template-page-article .portraitist-library * {
	box-sizing: border-box;
}

.page-template-page-article .portraitist-library {
	--library-ink: #342d25;
	--library-muted: #786d60;
	--library-brass: #92713d;
	--library-line: rgba(87, 68, 48, 0.21);
	--library-paper: rgba(247, 242, 233, 0.82);
	--library-paper-light: rgba(255, 255, 255, 0.58);
	--shelf-dark: #66503a;
	--shelf-mid: #8c6c4b;
	--shelf-light: #b4936d;
	--shelf-shadow: rgba(47, 35, 24, 0.24);
	width: 100%;
	margin: 0;
	padding: 0;
	color: var(--library-ink);
}

.page-template-page-article .portraitist-library a {
	color: inherit;
	text-decoration: none;
}

.page-template-page-article .portraitist-library img {
	display: block;
	max-width: 100%;
	height: auto;
}

.page-template-page-article .library-today-book,
.page-template-page-article .library-lectures,
.page-template-page-article .library-books {
	margin: 0 0 clamp(72px, 9vw, 112px);
}

.page-template-page-article .library-section-title {
	position: relative;
	margin: 0 0 clamp(26px, 3vw, 38px);
	padding: 0 0 15px;
	border-bottom: 1px solid var(--library-line);
	color: var(--library-ink);
	font-size: clamp(23px, 2.4vw, 31px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.11em;
}

.page-template-page-article .library-section-title::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 88px;
	height: 1px;
	background: linear-gradient(90deg, var(--library-brass), rgba(146, 113, 61, 0.28) 72%, transparent);
	content: "";
}

/* =========================================================
   Portraitist Library
   Today's Book
========================================================= */

.page-template-page-article .today-book {
	margin: 0;
}

.page-template-page-article .today-book-link {
	display: grid;
	grid-template-columns: minmax(230px, 29%) minmax(0, 1fr);
	gap: clamp(42px, 6vw, 78px);
	align-items: center;
	min-height: 450px;
	padding: clamp(38px, 5vw, 64px);
	border: 1px solid rgba(87, 68, 48, 0.2);
	background:
		linear-gradient(120deg, rgba(255, 255, 255, 0.72), rgba(247, 242, 233, 0.58)),
		repeating-linear-gradient(0deg, rgba(79, 60, 39, 0.009) 0, rgba(79, 60, 39, 0.009) 1px, transparent 1px, transparent 4px);
	box-shadow:
		0 26px 60px rgba(49, 38, 27, 0.09),
		inset 0 1px 0 rgba(255, 255, 255, 0.84);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-template-page-article .today-book-link:hover,
.page-template-page-article .today-book-link:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(133, 98, 48, 0.34);
	box-shadow:
		0 32px 72px rgba(49, 38, 27, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.page-template-page-article .today-book-link:focus-visible,
.page-template-page-article .lecture-card:focus-visible,
.page-template-page-article .book-card:focus-visible {
	outline: 2px solid rgba(151, 111, 50, 0.68);
	outline-offset: 4px;
}

.page-template-page-article .today-book-image {
	position: relative;
	width: 100%;
	max-width: 286px;
	aspect-ratio: 3 / 4;
	justify-self: center;
	overflow: hidden;
	background: #e5dccd;
	box-shadow:
		0 21px 36px rgba(42, 33, 24, 0.24),
		-6px 1px 12px rgba(42, 33, 24, 0.08);
}

.page-template-page-article .today-book-image::after {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, 0.2);
	pointer-events: none;
	content: "";
}

.page-template-page-article .today-book-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-template-page-article .today-book-content {
	min-width: 0;
	padding: 6px 0;
}

.page-template-page-article .today-book-title {
	margin: 0 0 16px;
	color: #2f2821;
	font-size: clamp(29px, 3.2vw, 43px);
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0.055em;
}

.page-template-page-article .today-book-lecture {
	display: inline-block;
	margin: 0 0 25px;
	padding: 5px 13px;
	border: 1px solid rgba(137, 105, 61, 0.22);
	background: rgba(137, 105, 61, 0.08);
	color: #6d5739;
	font-size: 12.5px;
	line-height: 1.5;
	letter-spacing: 0.11em;
}

.page-template-page-article .today-book-summary {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: #62584b;
	font-size: 14.5px;
	line-height: 2.08;
	letter-spacing: 0.045em;
	white-space: pre-line;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}

.page-template-page-article .today-book-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 26px;
	align-items: center;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid rgba(87, 68, 48, 0.14);
}

.page-template-page-article .today-book-meta .reading-time,
.page-template-page-article .today-book-meta .read-more {
	font-size: 12.5px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.page-template-page-article .today-book-meta .reading-time {
	color: #817669;
}

.page-template-page-article .today-book-meta .read-more {
	margin-left: auto;
	color: #6d5634;
	transition: color 0.22s ease, transform 0.22s ease;
}

.page-template-page-article .today-book-meta .read-more::after {
	content: " →";
}

.page-template-page-article .today-book-link:hover .read-more,
.page-template-page-article .today-book-link:focus-visible .read-more {
	color: #8b652b;
	transform: translateX(3px);
}

/* =========================================================
   Portraitist Library
   Twelve-Lecture Furniture Shelf
========================================================= */

.page-template-page-article .lecture-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1px;
	align-items: end;
	padding: 42px 38px 50px;
	border: 1px solid rgba(70, 51, 34, 0.3);
	background:
		linear-gradient(90deg, rgba(65, 45, 29, 0.14), transparent 5.5%, transparent 94.5%, rgba(65, 45, 29, 0.14)),
		linear-gradient(180deg, rgba(255, 250, 239, 0.16), rgba(92, 66, 43, 0.11)),
		repeating-linear-gradient(92deg, rgba(73, 50, 31, 0.035) 0, rgba(73, 50, 31, 0.035) 1px, transparent 1px, transparent 10px),
		repeating-linear-gradient(0deg, transparent 0, transparent 25px, rgba(73, 50, 31, 0.025) 26px, transparent 27px),
		#e5d8c5;
	box-shadow:
		inset 22px 0 28px rgba(55, 37, 23, 0.11),
		inset -22px 0 28px rgba(55, 37, 23, 0.11),
		inset 0 18px 30px rgba(55, 37, 23, 0.09),
		inset 0 -10px 16px rgba(55, 37, 23, 0.06),
		0 25px 48px rgba(48, 35, 24, 0.13);
}

.page-template-page-article .lecture-grid::before,
.page-template-page-article .lecture-grid::after {
	position: absolute;
	z-index: 3;
	left: -8px;
	width: calc(100% + 16px);
	pointer-events: none;
	content: "";
}

.page-template-page-article .lecture-grid::before {
	top: -12px;
	height: 20px;
	border: 1px solid rgba(64, 45, 29, 0.34);
	background:
		linear-gradient(180deg, rgba(204, 174, 135, 0.95), rgba(126, 91, 58, 0.98)),
		repeating-linear-gradient(90deg, transparent 0, transparent 25px, rgba(55, 37, 22, 0.05) 26px, transparent 27px);
	box-shadow: 0 5px 10px rgba(44, 31, 20, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.page-template-page-article .lecture-grid::after {
	bottom: -14px;
	height: 28px;
	border: 1px solid rgba(64, 45, 29, 0.4);
	background:
		linear-gradient(180deg, #b28b63 0%, #8b6545 46%, #66462f 100%),
		repeating-linear-gradient(90deg, transparent 0, transparent 31px, rgba(55, 37, 22, 0.07) 32px, transparent 33px);
	box-shadow:
		0 11px 18px rgba(44, 31, 20, 0.2),
		inset 0 2px 0 rgba(255, 255, 255, 0.24),
		inset 0 -4px 7px rgba(54, 36, 23, 0.23);
}

.page-template-page-article .lecture-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	padding: 18px 10px 14px;
	border: 1px solid transparent;
	background: transparent;
	transition: transform 0.24s ease, background-color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.page-template-page-article .lecture-card::after {
	position: absolute;
	right: 7px;
	bottom: 0;
	left: 7px;
	height: 8px;
	border-radius: 50%;
	background: rgba(44, 31, 20, 0.14);
	filter: blur(5px);
	content: "";
	transition: opacity 0.24s ease;
}

.page-template-page-article .lecture-card:hover,
.page-template-page-article .lecture-card:focus-visible {
	z-index: 2;
	transform: translateY(-4px);
	border-color: rgba(88, 64, 39, 0.17);
	background: rgba(255, 255, 255, 0.18);
	box-shadow: 0 14px 26px rgba(47, 34, 22, 0.09);
}

.page-template-page-article .lecture-card.is-current {
	border-color: rgba(130, 96, 48, 0.3);
	background: linear-gradient(180deg, rgba(239, 226, 204, 0.48), rgba(255, 255, 255, 0.13));
	box-shadow: inset 0 0 0 1px rgba(155, 118, 61, 0.08);
}

.page-template-page-article .lecture-card.is-current::before {
	position: absolute;
	top: -1px;
	right: -1px;
	left: -1px;
	height: 3px;
	background: linear-gradient(90deg, transparent, #8d6b38 18%, #8d6b38 82%, transparent);
	content: "";
}

.page-template-page-article .lecture-spine {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: clamp(215px, 20vw, 286px);
	margin: 0 auto 17px;
	overflow: hidden;
}

.page-template-page-article .lecture-spine img {
	width: auto;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(5px 8px 8px rgba(42, 34, 25, 0.2));
	transition: transform 0.25s ease, filter 0.25s ease;
}

.page-template-page-article .lecture-card:hover .lecture-spine img,
.page-template-page-article .lecture-card:focus-visible .lecture-spine img {
	transform: translateY(-3px);
	filter: drop-shadow(6px 10px 9px rgba(42, 34, 25, 0.24));
}

.page-template-page-article .lecture-info {
	position: relative;
	z-index: 1;
	margin-top: auto;
	text-align: center;
}

.page-template-page-article .lecture-info h3 {
	margin: 0 0 7px;
	color: #393128;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.72;
	letter-spacing: 0.045em;
}

.page-template-page-article .lecture-info p {
	margin: 0;
	color: #827667;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.07em;
}

/* =========================================================
   Portraitist Library
   Selected Lecture Spine Shelf
========================================================= */

.page-template-page-article .library-books {
	position: relative;
}

.page-template-page-article .library-books .book-grid {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 1px;
	min-height: 352px;
	padding: 48px 42px 48px;
	overflow-x: auto;
	overflow-y: visible;
	border: 1px solid rgba(68, 49, 32, 0.32);
	background:
		linear-gradient(90deg, rgba(55, 37, 23, 0.16), transparent 5%, transparent 95%, rgba(55, 37, 23, 0.16)),
		linear-gradient(180deg, rgba(255, 249, 237, 0.13), rgba(81, 57, 36, 0.12)),
		repeating-linear-gradient(91deg, rgba(73, 50, 31, 0.035) 0, rgba(73, 50, 31, 0.035) 1px, transparent 1px, transparent 9px),
		repeating-linear-gradient(0deg, transparent 0, transparent 27px, rgba(73, 50, 31, 0.023) 28px, transparent 29px),
		#e4d7c4;
	box-shadow:
		inset 24px 0 30px rgba(52, 35, 21, 0.12),
		inset -24px 0 30px rgba(52, 35, 21, 0.12),
		inset 0 20px 32px rgba(52, 35, 21, 0.10),
		inset 0 -9px 14px rgba(52, 35, 21, 0.07),
		0 26px 50px rgba(48, 35, 24, 0.14);
	scrollbar-width: thin;
	scrollbar-color: rgba(111, 79, 48, 0.42) rgba(94, 67, 43, 0.1);
}

.page-template-page-article .library-books .book-grid::before,
.page-template-page-article .library-books .book-grid::after {
	position: absolute;
	z-index: 4;
	left: -8px;
	width: calc(100% + 16px);
	pointer-events: none;
	content: "";
}

.page-template-page-article .library-books .book-grid::before {
	top: -12px;
	height: 20px;
	border: 1px solid rgba(64, 45, 29, 0.34);
	background: linear-gradient(180deg, #c39d73, #8f6847);
	box-shadow: 0 5px 10px rgba(44, 31, 20, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.page-template-page-article .library-books .book-grid::after {
	bottom: -14px;
	height: 30px;
	border: 1px solid rgba(64, 45, 29, 0.42);
	background:
		linear-gradient(180deg, #b58d62 0%, #8d6544 48%, #62432d 100%),
		repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(48, 31, 18, 0.07) 35px, transparent 36px);
	box-shadow:
		0 12px 20px rgba(44, 31, 20, 0.22),
		inset 0 2px 0 rgba(255, 255, 255, 0.24),
		inset 0 -5px 8px rgba(54, 36, 23, 0.25);
}

.page-template-page-article .library-books .book-grid::-webkit-scrollbar {
	height: 7px;
}

.page-template-page-article .library-books .book-grid::-webkit-scrollbar-track {
	background: rgba(94, 67, 43, 0.09);
}

.page-template-page-article .library-books .book-grid::-webkit-scrollbar-thumb {
	border: 2px solid rgba(231, 220, 203, 0.88);
	border-radius: 999px;
	background: rgba(111, 79, 48, 0.42);
}

.page-template-page-article .book-card.book-spine {
	--spine-base: #9a8b7d;
	--spine-edge: #695c51;
	--spine-ink: #3d342d;
	position: relative;
	z-index: 1;
	flex: 0 0 var(--book-width);
	width: var(--book-width);
	min-width: 44px;
	max-width: 68px;
	height: var(--book-height);
	margin: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform-origin: center bottom;
	transition: transform 0.22s ease, filter 0.22s ease;
}

.page-template-page-article .book-spine-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 16px 7px 13px;
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, 0.20);
	border-right: 1px solid rgba(44, 31, 21, 0.25);
	border-bottom: 2px solid rgba(51, 37, 25, 0.42);
	border-left: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 3px 3px 1px 1px;
	background:
		linear-gradient(90deg, rgba(39, 27, 18, 0.20), transparent 10%, rgba(255, 255, 255, 0.075) 44%, transparent 72%, rgba(37, 25, 16, 0.23)),
		linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 18%, transparent 80%, rgba(40, 27, 18, 0.07)),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.026) 0, rgba(255, 255, 255, 0.026) 1px, rgba(45, 33, 23, 0.025) 1px, rgba(45, 33, 23, 0.025) 3px),
		repeating-linear-gradient(90deg, transparent 0, transparent 5px, rgba(255,255,255,.018) 6px, transparent 7px),
		var(--spine-base);
	box-shadow:
		inset 3px 0 5px rgba(255, 255, 255, 0.075),
		inset -5px 0 8px rgba(42, 30, 20, 0.17),
		inset 0 1px 0 rgba(255,255,255,.08),
		1px 1px 1px rgba(41, 29, 19, 0.18),
		3px 3px 5px rgba(41, 29, 19, 0.12);
}

.page-template-page-article .book-spine-inner::before,
.page-template-page-article .book-spine-inner::after {
	position: absolute;
	right: 3px;
	left: 3px;
	height: 5px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(51, 37, 25, 0.2);
	background:
		linear-gradient(180deg, rgba(255,255,255,.08), rgba(52,37,24,.10)),
		repeating-linear-gradient(90deg, rgba(244,236,220,.11) 0, rgba(244,236,220,.11) 1px, transparent 1px, transparent 3px);
	content: "";
}

.page-template-page-article .book-spine-inner::before {
	top: 8px;
}

.page-template-page-article .book-spine-inner::after {
	bottom: 8px;
}

.page-template-page-article .book-spine-title {
	display: block;
	max-width: 100%;
	max-height: calc(100% - 42px);
	overflow: hidden;
	color: var(--spine-ink);
	font-size: clamp(12px, 1.14vw, 14px);
	font-weight: 500;
	line-height: 1.38;
	letter-spacing: 0.08em;
	text-shadow: 0 1px rgba(255, 255, 255, 0.15);
	text-overflow: clip;
	white-space: normal;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.page-template-page-article .book-spine-time {
	position: absolute;
	right: 50%;
	bottom: 15px;
	max-width: calc(100% - 10px);
	padding: 2px 0;
	color: rgba(51, 40, 29, 0.66);
	font-size: 8.5px;
	line-height: 1;
	letter-spacing: 0.02em;
	white-space: nowrap;
	transform: translateX(50%);
}

.page-template-page-article .book-card.book-spine::before {
	position: absolute;
	z-index: -1;
	right: 2px;
	bottom: -5px;
	left: 2px;
	height: 9px;
	border-radius: 45%;
	background: rgba(43, 30, 19, 0.34);
	filter: blur(4px);
	content: "";
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.page-template-page-article .book-card.book-spine::after {
	position: absolute;
	z-index: 8;
	bottom: calc(100% + 14px);
	left: 50%;
	width: max-content;
	max-width: 300px;
	padding: 8px 11px;
	border: 1px solid rgba(83, 63, 43, 0.2);
	background: rgba(244, 237, 225, 0.97);
	box-shadow: 0 9px 20px rgba(45, 33, 22, 0.12);
	color: #44382d;
	font-size: 11px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	text-align: left;
	white-space: normal;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 5px);
	transition: opacity 0.18s ease, transform 0.18s ease;
	content: attr(data-book-title) "  " attr(data-book-meta);
}

.page-template-page-article .book-card.book-spine:hover,
.page-template-page-article .book-card.book-spine:focus-visible {
	z-index: 10;
	transform: translateY(-5px);
	filter: brightness(1.035);
}

.page-template-page-article .book-card.book-spine:hover::before,
.page-template-page-article .book-card.book-spine:focus-visible::before {
	opacity: 0.78;
	transform: translateY(5px) scaleX(1.08);
}

.page-template-page-article .book-card.book-spine:hover::after,
.page-template-page-article .book-card.book-spine:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

.page-template-page-article .book-card.book-spine:hover .book-spine-title,
.page-template-page-article .book-card.book-spine:focus-visible .book-spine-title {
	color: var(--spine-ink);
}

.page-template-page-article .book-variant-1 .book-spine-inner { filter: saturate(0.93) brightness(1.025); }
.page-template-page-article .book-variant-2 .book-spine-inner { filter: saturate(0.88) brightness(0.96); }
.page-template-page-article .book-variant-3 .book-spine-inner { filter: saturate(0.96) sepia(0.05); }

.page-template-page-article .book-age-1 .book-spine-inner { box-shadow: inset 3px 0 5px rgba(255, 255, 255, 0.07), inset -4px 0 7px rgba(42, 30, 20, 0.16), 2px 2px 3px rgba(41, 29, 19, 0.17); }
.page-template-page-article .book-age-2 .book-spine-inner { background-blend-mode: soft-light, normal, normal; }
.page-template-page-article .book-age-3 .book-spine-inner { box-shadow: inset 2px 0 6px rgba(255, 255, 255, 0.06), inset -5px 0 8px rgba(42, 30, 20, 0.18), 2px 2px 4px rgba(41, 29, 19, 0.18); }

/* =========================================================
   Portraitist Library
   Empty States
========================================================= */

.page-template-page-article .library-image-placeholder {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 150px;
	background: linear-gradient(135deg, rgba(220, 210, 193, 0.9), rgba(241, 235, 225, 0.96));
}

.page-template-page-article .library-image-placeholder::before {
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(102, 84, 61, 0.13);
	content: "";
}

.page-template-page-article .library-empty-state {
	margin: 0;
	padding: 38px 24px;
	border: 1px solid rgba(87, 68, 48, 0.13);
	background: rgba(255, 255, 255, 0.34);
	color: #82776a;
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: center;
}

/* =========================================================
   Portraitist Library
   Tablet
========================================================= */

@media screen and (max-width: 1100px) {
	.page-template-page-article .wrapper {
		padding-right: 28px !important;
		padding-left: 28px !important;
	}

	.page-template-page-article .lecture-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: 32px 26px 44px;
	}

	.page-template-page-article .lecture-spine {
		height: clamp(220px, 28vw, 292px);
	}

	.page-template-page-article .library-books .book-grid {
		min-height: 326px;
		padding-right: 30px;
		padding-left: 30px;
	}
}

@media screen and (max-width: 900px) {
	.page-template-page-article .wrapper {
		padding-top: 46px !important;
		padding-bottom: 88px !important;
	}

	.page-template-page-article .blog-title {
		margin-bottom: 48px !important;
	}

	.page-template-page-article .library-today-book,
	.page-template-page-article .library-lectures,
	.page-template-page-article .library-books {
		margin-bottom: 78px;
	}

	.page-template-page-article .today-book-link {
		grid-template-columns: minmax(190px, 32%) minmax(0, 1fr);
		gap: 36px;
		min-height: 0;
		padding: 36px;
	}

	.page-template-page-article .today-book-title {
		font-size: clamp(26px, 4vw, 35px);
	}

	.page-template-page-article .lecture-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* =========================================================
   Portraitist Library
   Smartphone
========================================================= */

@media screen and (max-width: 767px) {
	.page-template-page-article .wrapper {
		padding: 34px 18px 74px !important;
	}

	.page-template-page-article .blog-title {
		margin-bottom: 38px !important;
		padding-bottom: 18px !important;
		font-size: 25px !important;
		letter-spacing: 0.08em !important;
	}

	.page-template-page-article .library-today-book,
	.page-template-page-article .library-lectures,
	.page-template-page-article .library-books {
		margin-bottom: 64px;
	}

	.page-template-page-article .library-section-title {
		margin-bottom: 24px;
		padding-bottom: 12px;
		font-size: 20px;
	}

	.page-template-page-article .today-book-link {
		grid-template-columns: minmax(112px, 36%) minmax(0, 1fr);
		gap: 19px;
		padding: 19px;
	}

	.page-template-page-article .today-book-image {
		max-width: 240px;
	}

	.page-template-page-article .today-book-title {
		margin-bottom: 9px;
		font-size: 19px;
		line-height: 1.55;
	}

	.page-template-page-article .today-book-lecture {
		margin-bottom: 12px;
		padding: 3px 8px;
		font-size: 10.5px;
	}

	.page-template-page-article .today-book-summary {
		font-size: 11.5px;
		line-height: 1.82;
		-webkit-line-clamp: 4;
	}

	.page-template-page-article .today-book-meta {
		display: block;
		margin-top: 15px;
		padding-top: 12px;
	}

	.page-template-page-article .today-book-meta .reading-time,
	.page-template-page-article .today-book-meta .read-more {
		display: block;
		font-size: 10.5px;
	}

	.page-template-page-article .today-book-meta .read-more {
		margin-top: 6px;
		margin-left: 0;
	}

	.page-template-page-article .lecture-grid {
		display: flex;
		gap: 2px;
		align-items: flex-end;
		padding: 28px 20px 40px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-padding-left: 20px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.page-template-page-article .lecture-card {
		flex: 0 0 118px;
		width: 118px;
		padding: 12px 7px 10px;
		scroll-snap-align: start;
	}

	.page-template-page-article .lecture-spine {
		height: 190px;
		margin-bottom: 11px;
	}

	.page-template-page-article .lecture-info h3 {
		font-size: 12px;
		line-height: 1.65;
	}

	.page-template-page-article .lecture-info p {
		font-size: 9.5px;
	}

	.page-template-page-article .library-books .book-grid {
		min-height: 292px;
		gap: 1px;
		padding: 34px 18px 42px;
		scroll-padding-left: 20px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.page-template-page-article .book-card.book-spine {
		flex-basis: var(--book-width);
		width: var(--book-width);
		min-width: 43px;
		max-width: 64px;
		height: var(--book-height-mobile);
		scroll-snap-align: start;
	}

	.page-template-page-article .book-spine-title {
		font-size: 12px;
		line-height: 1.34;
	}

	.page-template-page-article .book-card.book-spine::after {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	.page-template-page-article .today-book-link {
		grid-template-columns: 1fr;
	}

	.page-template-page-article .today-book-image {
		width: min(68%, 220px);
		margin: 0 auto;
	}

	.page-template-page-article .lecture-grid {
		margin-right: -18px;
		margin-left: -18px;
		border-right: 0;
		border-left: 0;
	}

	.page-template-page-article .library-books .book-grid {
		margin-right: -18px;
		margin-left: -18px;
		border-right: 0;
		border-left: 0;
	}
}

@media (hover: none) {
	.page-template-page-article .book-card.book-spine::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-article .today-book-link,
	.page-template-page-article .today-book-meta .read-more,
	.page-template-page-article .lecture-card,
	.page-template-page-article .lecture-spine img,
	.page-template-page-article .book-card.book-spine,
	.page-template-page-article .book-card.book-spine::before,
	.page-template-page-article .book-card.book-spine::after {
		transition: none;
	}
}

/* =========================================================
   Portraitist Article
   Personal Shelf Closing
========================================================= */

.single-post .portraitist-personal-shelf {
	position: relative;
	max-width: 680px;
	margin: clamp(78px, 10vw, 124px) auto clamp(68px, 9vw, 104px);
	padding: clamp(38px, 5vw, 56px) clamp(24px, 5vw, 52px) clamp(30px, 4vw, 44px);
	text-align: center;
	color: #4f463d;
	background: transparent;
	border-top: 1px solid rgba(104, 82, 57, 0.17);
	border-bottom: 0;
}

.single-post .portraitist-personal-shelf__rule {
	position: absolute;
	top: -5px;
	left: 50%;
	width: 64px;
	height: 9px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, rgba(145, 111, 59, 0.5) 22%, rgba(145, 111, 59, 0.5) 78%, transparent);
	clip-path: polygon(0 44%, 42% 44%, 50% 0, 58% 44%, 100% 44%, 100% 56%, 58% 56%, 50% 100%, 42% 56%, 0 56%);
}

.single-post .portraitist-personal-shelf__eyebrow {
	margin: 0 0 12px;
	color: #88704c;
	font-family: "Shippori Mincho", "Noto Serif JP", serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.18em;
}

.single-post .portraitist-personal-shelf__message {
	max-width: 31em;
	margin: 0 auto clamp(23px, 3vw, 31px);
	color: #514940;
	font-family: "Shippori Mincho", "Noto Serif JP", serif;
	font-size: clamp(14px, 1.35vw, 16px);
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
}

.single-post .portraitist-personal-shelf__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-width: min(100%, 246px);
	min-height: 54px;
	padding: 13px 29px;
	box-sizing: border-box;
	border: 1px solid rgba(125, 96, 51, 0.38);
	border-radius: 2px;
	background: rgba(250, 246, 237, 0.92);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 5px 13px rgba(65, 49, 29, 0.055);
	color: #5c4a2f;
	font-family: "Shippori Mincho", "Noto Serif JP", serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.12em;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.22s ease, border-color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}

.single-post .portraitist-personal-shelf__button::after {
	position: absolute;
	right: 9px;
	bottom: 7px;
	left: 9px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(156, 119, 56, 0.3), transparent);
	content: "";
}

.single-post .portraitist-personal-shelf__button-mark {
	position: relative;
	width: 14px;
	height: 19px;
	flex: 0 0 auto;
	box-sizing: border-box;
	border: 1px solid currentColor;
	border-left-width: 3px;
	opacity: 0.68;
}

.single-post .portraitist-personal-shelf__button-mark::after {
	position: absolute;
	right: 2px;
	bottom: 3px;
	left: 3px;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.58;
}

@media (hover: hover) and (pointer: fine) {
	.single-post .portraitist-personal-shelf__button:hover {
		transform: translateY(-2px);
		border-color: rgba(113, 82, 35, 0.54);
		background: #f7f0e1;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84), 0 9px 18px rgba(65, 49, 29, 0.085);
		color: #463821;
	}
}

.single-post .portraitist-personal-shelf__button:focus-visible,
.single-post .portraitist-personal-shelf__shelf-link:focus-visible,
.single-post .portraitist-article-return__link:focus-visible {
	outline: 2px solid rgba(128, 94, 45, 0.68);
	outline-offset: 4px;
}

.single-post .portraitist-personal-shelf__button:disabled,
.single-post .portraitist-personal-shelf__button[aria-disabled="true"] {
	transform: none;
	cursor: wait;
	opacity: 0.58;
}

.single-post .portraitist-personal-shelf__form.is-submitting .portraitist-personal-shelf__button-mark {
	animation: portraitist-shelf-book-breathe 0.9s ease-in-out infinite alternate;
}

@keyframes portraitist-shelf-book-breathe {
	from { opacity: 0.42; }
	to { opacity: 0.82; }
}

.single-post .portraitist-personal-shelf__notice-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 5px 0 2px;
}

.single-post .portraitist-personal-shelf__notice {
	margin: 0;
	color: #65563f;
	font-family: "Shippori Mincho", "Noto Serif JP", serif;
	font-size: clamp(14px, 1.35vw, 16px);
	font-weight: 400;
	line-height: 1.95;
	letter-spacing: 0.055em;
}

.single-post .portraitist-personal-shelf__notice-group.is-newly-added .portraitist-personal-shelf__notice {
	color: #715c39;
}

.single-post .portraitist-personal-shelf__shelf-link {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 2px 2px;
	border-bottom: 1px solid rgba(113, 93, 62, 0.38);
	color: #66543a;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.single-post .portraitist-personal-shelf__shelf-link:hover {
	border-color: rgba(113, 93, 62, 0.76);
	color: #443728;
}

@media only screen and (max-width: 680px) {
	.single-post .portraitist-personal-shelf {
		margin-top: 68px;
		margin-bottom: 68px;
		padding: 34px 22px 30px;
	}

	.single-post .portraitist-personal-shelf__message,
	.single-post .portraitist-personal-shelf__notice {
		font-size: 15px;
		line-height: 1.92;
	}

	.single-post .portraitist-personal-shelf__button {
		width: min(100%, 320px);
		min-height: 54px;
		padding-right: 20px;
		padding-left: 20px;
		font-size: 13px;
		letter-spacing: 0.09em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-post .portraitist-personal-shelf__button,
	.single-post .portraitist-personal-shelf__shelf-link {
		transition: none;
	}
	.single-post .portraitist-personal-shelf__form.is-submitting .portraitist-personal-shelf__button-mark {
		animation: none;
	}
}

/* =========================================================
   Portraitist Personal Shelf
   Logged-in bookshelf
========================================================= */

.page-template-page-article .library-stock-count {
	margin: -24px 0 42px;
	color: #786d60;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: .12em;
	text-align: right;
}

/* /login/：ログイン済みの本棚をPHPテンプレートから確実に表示 */
.page-template-page-login .portraitist-login-page__main.is-bookshelf {
	float: none;
	width: 100%;
	max-width: none;
}

.page-template-page-login .portraitist-login-page__main.is-bookshelf + .sidebar {
	display: none;
}

.page-id-login .portraitist-user-bookshelf,
.page-id-login .portraitist-user-bookshelf *,
.portraitist-user-bookshelf,
.portraitist-user-bookshelf * {
	box-sizing: border-box;
}

.portraitist-user-bookshelf {
	--personal-wood: #c2ab89;
	--personal-wood-light: #dfcfb6;
	--personal-wood-dark: #9d825f;
	--personal-inner: #f1e9dc;
	--personal-line: rgba(91, 70, 46, .18);
	max-width: 1080px;
	margin: clamp(30px, 5vw, 58px) auto clamp(58px, 8vw, 92px);
}

.portraitist-user-bookshelf__header {
	margin-bottom: clamp(22px, 3.6vw, 32px);
	text-align: center;
}

.portraitist-user-bookshelf__eyebrow,
.portraitist-user-bookshelf__count {
	margin: 0;
	color: #817567;
	font-size: 11px;
	line-height: 1.85;
	letter-spacing: .14em;
}

.portraitist-user-bookshelf__header h1,
.portraitist-user-bookshelf__header h2 {
	margin: 6px 0 7px;
	color: #3d342c;
	font-family: "Shippori Mincho", "Noto Serif JP", serif;
	font-size: clamp(23px, 2.7vw, 30px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .095em;
}

.portraitist-user-bookshelf__notice {
	margin: -4px 0 22px;
	text-align: center;
}

.portraitist-user-bookshelf__cabinet {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	margin: 0 auto;
	padding: 7px;
	border: 6px solid var(--personal-wood);
	border-bottom-width: 11px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.24), transparent 36%, rgba(112,82,48,.025)),
		var(--personal-inner);
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.46),
		inset 0 10px 18px rgba(92,67,40,.045),
		0 13px 27px rgba(74,56,36,.075);
}

.portraitist-user-bookshelf__cabinet::after {
	position: absolute;
	right: -9px;
	bottom: -16px;
	left: -9px;
	height: 7px;
	border-radius: 0 0 2px 2px;
	background: linear-gradient(180deg, #ccb694, #ad916d);
	box-shadow: 0 4px 7px rgba(70,51,31,.09);
	content: "";
}

.portraitist-user-bookshelf__shelf {
	position: relative;
	min-width: 0;
	padding: 45px 12px 0;
	border-right: 3px solid var(--personal-wood-dark);
	border-bottom: 7px solid var(--personal-wood);
	background:
		linear-gradient(180deg, rgba(110,82,49,.055), transparent 23%),
		linear-gradient(90deg, rgba(255,255,255,.2), transparent 46%, rgba(110,82,49,.02)),
		#f1e9dc;
	box-shadow:
		inset 0 1px rgba(255,255,255,.7),
		inset 0 8px 14px rgba(90,64,38,.035);
}

.portraitist-user-bookshelf__shelf:nth-child(2n) {
	border-right: 0;
}

.portraitist-user-bookshelf__shelf-label {
	position: absolute;
	top: 10px;
	left: 12px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 7px;
	max-width: calc(100% - 24px);
	min-width: min(240px, calc(100% - 24px));
	padding: 5px 10px 4px;
	border: 1px solid rgba(111,84,49,.21);
	border-radius: 2px;
	background: rgba(249,245,237,.82);
	color: #514333;
	box-shadow: inset 0 1px rgba(255,255,255,.72), 0 1px 2px rgba(69,50,30,.05);
}

.portraitist-user-bookshelf__shelf-label h2,
.portraitist-user-bookshelf__shelf-label h3,
.portraitist-user-bookshelf__lecture-number,
.portraitist-user-bookshelf__shelf-count {
	margin: 0;
	font: inherit;
	line-height: 1.5;
}

.portraitist-user-bookshelf__shelf-label h2,
.portraitist-user-bookshelf__shelf-label h3 {
	overflow: hidden;
	min-width: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .055em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portraitist-user-bookshelf__lecture-number,
.portraitist-user-bookshelf__shelf-count {
	font-size: 9px;
	letter-spacing: .05em;
	white-space: nowrap;
	opacity: .64;
}

.portraitist-user-bookshelf__books {
	display: flex;
	align-items: flex-end;
	gap: 7px;
	min-height: 270px;
	padding: 8px 3px 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scrollbar-color: rgba(133,106,75,.22) transparent;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.portraitist-user-bookshelf__books::-webkit-scrollbar {
	height: 4px;
}

.portraitist-user-bookshelf__books::-webkit-scrollbar-track {
	background: transparent;
}

.portraitist-user-bookshelf__books::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(133,106,75,.2);
}

.portraitist-user-bookshelf__books::after {
	flex: 0 0 clamp(28px, 6vw, 54px);
	height: 1px;
	content: "";
}

.portraitist-user-bookshelf__item {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	align-items: flex-end;
	min-height: 100%;
	padding-top: 2px;
}

.portraitist-user-bookshelf__item .book-card.book-spine {
	flex: 0 0 var(--book-width);
	width: var(--book-width);
	height: var(--book-height);
	margin: 0;
	transform-origin: center bottom;
}

.portraitist-user-bookshelf__return {
	position: absolute;
	z-index: 6;
	right: 50%;
	bottom: 10px;
	transform: translateX(50%);
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}

.portraitist-user-bookshelf__item:hover .portraitist-user-bookshelf__return,
.portraitist-user-bookshelf__item:focus-within .portraitist-user-bookshelf__return {
	opacity: 1;
	pointer-events: auto;
}

.portraitist-user-bookshelf__return button {
	min-width: 74px;
	padding: 6px 8px;
	border: 1px solid rgba(104,79,51,.24);
	border-radius: 2px;
	background: rgba(250,247,240,.96);
	color: #5a4b3d;
	font: inherit;
	font-size: 9px;
	line-height: 1.45;
	letter-spacing: .06em;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(66,48,29,.065);
}

.portraitist-user-bookshelf__return button:hover {
	border-color: rgba(104,79,51,.4);
	background: #fcf8f1;
}

.portraitist-user-bookshelf__return button:focus-visible {
	outline: 2px solid rgba(143,108,62,.7);
	outline-offset: 2px;
}

.portraitist-user-bookshelf__empty {
	max-width: 1040px;
	margin: 0 auto;
	padding: clamp(48px, 8vw, 76px) 24px;
	border: 6px solid var(--personal-wood);
	border-bottom-width: 11px;
	background:
		linear-gradient(180deg, rgba(105,78,46,.045), transparent 30%),
		#f1e9dc;
	color: #665b4e;
	text-align: center;
	box-shadow: inset 0 10px 18px rgba(92,67,40,.04), 0 13px 26px rgba(74,56,36,.07);
}

.portraitist-user-bookshelf__empty p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: .075em;
}

.portraitist-user-bookshelf__empty .portraitist-user-bookshelf__empty-note {
	margin-bottom: 24px;
	font-size: 12px;
	opacity: .72;
}

.portraitist-user-bookshelf__empty a {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(101,79,52,.35);
	color: #5a4937;
	font-size: 13px;
	letter-spacing: .08em;
	text-decoration: none;
}

.portraitist-user-account {
	margin-top: clamp(64px, 9vw, 104px);
	padding-top: clamp(30px, 4vw, 44px);
	border-top: 1px solid rgba(112,88,59,.16);
	color: #81786e;
	font-size: 12px;
}

.portraitist-user-account:empty {
	display: none;
}

@media screen and (max-width: 767px) {
	.single-post .portraitist-personal-shelf__notice-group {
		display: block;
	}

	.single-post .portraitist-personal-shelf__notice {
		margin-bottom: 7px;
	}

	.page-template-page-article .library-stock-count {
		margin: -16px 0 30px;
		font-size: 11px;
		text-align: left;
	}

	.portraitist-user-bookshelf {
		width: 100%;
		margin-top: 22px;
		overflow: hidden;
	}

	.portraitist-user-bookshelf__header {
		margin-bottom: 20px;
		padding: 0 8px;
	}

	.portraitist-user-bookshelf__header h1,
.portraitist-user-bookshelf__header h2 {
		font-size: 23px;
	}

	.portraitist-user-bookshelf__cabinet {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		padding: 5px;
		border-width: 5px;
		border-bottom-width: 9px;
	}

	.portraitist-user-bookshelf__cabinet::after {
		right: -7px;
		bottom: -13px;
		left: -7px;
		height: 6px;
	}

	.portraitist-user-bookshelf__shelf,
	.portraitist-user-bookshelf__shelf:nth-child(2n) {
		padding: 45px 7px 0;
		border-right: 0;
		border-bottom-width: 6px;
	}

	.portraitist-user-bookshelf__shelf-label {
		top: 9px;
		left: 9px;
		max-width: calc(100% - 18px);
		min-width: 0;
	}

	.portraitist-user-bookshelf__shelf-label h2,
.portraitist-user-bookshelf__shelf-label h3 {
		font-size: 11px;
	}

	.portraitist-user-bookshelf__books {
		gap: 7px;
		min-height: 268px;
		padding: 8px 2px 0;
		scroll-snap-type: x proximity;
		scroll-padding-left: 2px;
		touch-action: pan-x;
	}

	.portraitist-user-bookshelf__books::after {
		flex-basis: 18px;
	}

	.portraitist-user-bookshelf__item {
		padding-right: 44px;
		scroll-snap-align: start;
	}

	.portraitist-user-bookshelf__item .book-card.book-spine {
		height: var(--book-height-mobile);
	}

	.portraitist-user-bookshelf__return {
		position: absolute;
		right: 3px;
		bottom: 9px;
		transform: none;
		opacity: 1;
		pointer-events: auto;
	}

	.portraitist-user-bookshelf__return button {
		min-width: 38px;
		min-height: 80px;
		padding: 7px 6px;
		font-size: 9px;
		line-height: 1.35;
		white-space: normal;
		writing-mode: vertical-rl;
	}

	.portraitist-user-bookshelf__empty {
		padding-right: 18px;
		padding-left: 18px;
		border-width: 5px;
		border-bottom-width: 9px;
	}

	.portraitist-user-account {
		margin-top: 68px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portraitist-user-bookshelf__return {
		transition: none;
	}
}

/* =========================================================
   Portraitist Library
   Twelve-Lecture Cabinet
========================================================= */

.page-template-page-article .library-cabinet {
	position: relative;
	margin-top: clamp(64px, 8vw, 112px);
}

.page-template-page-article .library-cabinet-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 30px;
}

.page-template-page-article .library-cabinet-heading .library-section-title {
	margin-bottom: 0;
}

.page-template-page-article .library-cabinet-note {
	max-width: 520px;
	margin: 0 0 3px;
	color: #817464;
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: .08em;
}

.page-template-page-article .library-cabinet-frame {
	position: relative;
	padding: 34px 30px 38px;
	border: 1px solid rgba(65, 44, 27, .52);
	background:
		linear-gradient(90deg, rgba(45, 29, 17, .20), transparent 3.2%, transparent 96.8%, rgba(45, 29, 17, .22)),
		repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 37px),
		linear-gradient(180deg, #9b724e 0%, #815b3c 45%, #68462f 100%);
	box-shadow:
		inset 0 2px 0 rgba(255,255,255,.18),
		inset 20px 0 28px rgba(37,24,14,.15),
		inset -20px 0 28px rgba(37,24,14,.18),
		0 28px 55px rgba(46,32,21,.19);
}

.page-template-page-article .library-cabinet-frame::before,
.page-template-page-article .library-cabinet-frame::after {
	position: absolute;
	z-index: 3;
	left: -10px;
	width: calc(100% + 20px);
	pointer-events: none;
	content: "";
}

.page-template-page-article .library-cabinet-frame::before {
	top: -15px;
	height: 26px;
	border: 1px solid rgba(61,41,25,.48);
	background: linear-gradient(180deg, #bc946d 0%, #8b6241 56%, #69462e 100%);
	box-shadow: 0 8px 14px rgba(45,30,18,.18), inset 0 2px 0 rgba(255,255,255,.2);
}

.page-template-page-article .library-cabinet-frame::after {
	bottom: -19px;
	height: 35px;
	border: 1px solid rgba(59,39,24,.58);
	background:
		repeating-linear-gradient(90deg, transparent 0, transparent 48px, rgba(42,27,16,.06) 49px, transparent 50px),
		linear-gradient(180deg, #a87d57 0%, #7c5437 52%, #573823 100%);
	box-shadow: 0 15px 24px rgba(43,29,18,.25), inset 0 2px 0 rgba(255,255,255,.18), inset 0 -6px 10px rgba(42,27,16,.23);
}

.page-template-page-article .library-cabinet-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 18px;
}

.page-template-page-article .lecture-shelf-compartment {
	position: relative;
	min-width: 0;
	padding: 44px 14px 31px;
	border: 1px solid rgba(58,39,24,.42);
	background:
		linear-gradient(90deg, rgba(48,31,18,.17), transparent 7%, transparent 93%, rgba(48,31,18,.16)),
		linear-gradient(180deg, rgba(255,249,237,.11), rgba(66,43,25,.12)),
		repeating-linear-gradient(91deg, rgba(63,41,24,.035) 0, rgba(63,41,24,.035) 1px, transparent 1px, transparent 11px),
		#ddcfba;
	box-shadow:
		inset 13px 0 18px rgba(55,36,21,.10),
		inset -13px 0 18px rgba(55,36,21,.10),
		inset 0 13px 20px rgba(55,36,21,.08);
	transition: opacity .22s ease, filter .22s ease, box-shadow .22s ease;
}

.page-template-page-article .lecture-shelf-compartment::after {
	position: absolute;
	z-index: 5;
	right: -5px;
	bottom: -10px;
	left: -5px;
	height: 22px;
	border: 1px solid rgba(58,38,23,.5);
	background:
		repeating-linear-gradient(90deg, transparent 0, transparent 35px, rgba(45,29,17,.065) 36px, transparent 37px),
		linear-gradient(180deg, #a67a53 0%, #795035 55%, #553521 100%);
	box-shadow: 0 9px 14px rgba(45,29,17,.22), inset 0 2px 0 rgba(255,255,255,.17), inset 0 -4px 6px rgba(42,27,16,.18);
	pointer-events: none;
	content: "";
}

.page-template-page-article .library-cabinet-frame.has-selection .lecture-shelf-compartment:not(.is-current) {
	opacity: .72;
	filter: saturate(.82) brightness(.97);
}

.page-template-page-article .library-cabinet-frame.has-selection .lecture-shelf-compartment.is-current {
	z-index: 2;
	box-shadow:
		inset 13px 0 18px rgba(55,36,21,.09),
		inset -13px 0 18px rgba(55,36,21,.09),
		inset 0 13px 20px rgba(55,36,21,.07),
		0 0 0 2px rgba(173,132,74,.42),
		0 14px 26px rgba(44,29,18,.14);
}

.page-template-page-article .lecture-shelf-label {
	position: absolute;
	z-index: 7;
	top: 10px;
	left: 14px;
	max-width: calc(100% - 28px);
}

.page-template-page-article .lecture-shelf-label__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	max-width: 100%;
	min-height: 25px;
	padding: 4px 9px 4px 11px;
	border: 1px solid rgba(91,67,36,.48);
	background:
		linear-gradient(180deg, rgba(255,248,218,.46), rgba(151,111,55,.10)),
		#c8aa70;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 4px rgba(53,35,20,.15);
	color: #463724;
	text-decoration: none;
}

.page-template-page-article .lecture-shelf-label__link:hover,
.page-template-page-article .lecture-shelf-label__link:focus-visible {
	color: #2f251a;
	filter: brightness(1.025);
}

.page-template-page-article .lecture-shelf-label__name {
	overflow: hidden;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .08em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.page-template-page-article .lecture-shelf-label__count {
	flex: 0 0 auto;
	padding-left: 8px;
	border-left: 1px solid rgba(77,57,34,.28);
	font-size: 9px;
	line-height: 1.2;
	letter-spacing: .04em;
	white-space: nowrap;
}

.page-template-page-article .lecture-shelf-books {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 1px;
	min-height: 294px;
	padding: 7px 7px 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(97,68,42,.38) transparent;
	touch-action: pan-x pan-y;
}

.page-template-page-article .lecture-shelf-books::-webkit-scrollbar {
	height: 6px;
}

.page-template-page-article .lecture-shelf-books::-webkit-scrollbar-track {
	background: transparent;
}

.page-template-page-article .lecture-shelf-books::-webkit-scrollbar-thumb {
	border: 2px solid rgba(221,207,186,.86);
	border-radius: 999px;
	background: rgba(97,68,42,.38);
}

.page-template-page-article .lecture-shelf-books:focus-visible {
	outline: 1px solid rgba(112,82,49,.58);
	outline-offset: 3px;
}

.page-template-page-article .lecture-shelf-books .book-card.book-spine {
	flex-shrink: 0;
	max-height: 280px;
}

.page-template-page-article .lecture-shelf-empty {
	align-self: center;
	margin: 0 0 80px 9px;
	color: rgba(91,75,58,.63);
	font-size: 10px;
	line-height: 1.7;
	letter-spacing: .12em;
}

@media (max-width: 1180px) {
	.page-template-page-article .library-cabinet-frame {
		padding: 30px 22px 34px;
	}

	.page-template-page-article .library-cabinet-grid {
		gap: 18px 14px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		padding-right: 10px;
		padding-left: 10px;
	}

	.page-template-page-article .lecture-shelf-books {
		min-height: 280px;
	}
}

@media (max-width: 760px) {
	.page-template-page-article .library-cabinet-heading {
		display: block;
		margin-bottom: 22px;
	}

	.page-template-page-article .library-cabinet-note {
		margin-top: 10px;
	}

	.page-template-page-article .library-cabinet-frame {
		padding: 28px 15px 31px;
	}

	.page-template-page-article .library-cabinet-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		padding: 42px 9px 27px;
	}

	.page-template-page-article .library-cabinet-frame.has-selection .lecture-shelf-compartment:not(.is-current) {
		opacity: .82;
	}

	.page-template-page-article .lecture-shelf-books {
		min-height: 258px;
		padding-right: 5px;
		padding-left: 5px;
	}

	.page-template-page-article .lecture-shelf-books .book-card.book-spine {
		height: var(--book-height-mobile);
		max-height: 244px;
	}
}

@media (max-width: 480px) {
	.page-template-page-article .library-cabinet {
		margin-top: 58px;
	}

	.page-template-page-article .library-cabinet-frame {
		margin-right: -7px;
		margin-left: -7px;
		padding-right: 10px;
		padding-left: 10px;
	}

	.page-template-page-article .lecture-shelf-label {
		left: 10px;
		max-width: calc(100% - 20px);
	}

	.page-template-page-article .lecture-shelf-label__name {
		font-size: 10.5px;
	}

	.page-template-page-article .lecture-shelf-books {
		min-height: 244px;
	}

	.page-template-page-article .lecture-shelf-books .book-card.book-spine {
		max-height: 232px;
	}
}

/* =========================================================
   Portraitist Library
   Reading-room atmosphere refinement
   Scope: presentation only; data and bookshelf logic unchanged
========================================================= */
.page-template-page-article .portraitist-library {
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(12px, 2vw, 24px) 0 clamp(36px, 7vw, 84px);
}

.page-template-page-article .portraitist-library::before {
	position: absolute;
	top: -12px;
	right: -5vw;
	left: -5vw;
	height: 430px;
	background: radial-gradient(ellipse at 50% 0%, rgba(255, 252, 243, .78), rgba(248, 246, 241, 0) 72%);
	pointer-events: none;
	content: "";
}

.page-template-page-article .portraitist-library > * {
	position: relative;
	z-index: 1;
}

.page-template-page-article .library-stock-count {
	margin: 0 0 clamp(28px, 4vw, 48px);
	color: rgba(91, 79, 67, .66);
	font-size: 10.5px;
	line-height: 1.7;
	letter-spacing: .14em;
	text-align: right;
}

.page-template-page-article .library-section-title {
	position: relative;
	margin: 0;
	padding: 0 0 12px;
	font-size: clamp(19px, 2.25vw, 25px)!important;
	font-weight: 500!important;
	letter-spacing: .11em!important;
}

.page-template-page-article .library-section-title::after {
	display: block;
	width: 34px;
	height: 1px;
	margin-top: 13px;
	background: rgba(112, 84, 48, .33);
	content: "";
}

.page-template-page-article .library-today-book {
	margin: 0 auto clamp(92px, 12vw, 148px);
}

.page-template-page-article .library-today-book > .library-section-title {
	margin-bottom: clamp(21px, 3vw, 34px);
}

.page-template-page-article .today-book {
	max-width: 790px;
	margin: 0 auto;
	border-top: 1px solid rgba(112, 86, 56, .18);
	border-bottom: 1px solid rgba(112, 86, 56, .18);
	background: transparent;
	box-shadow: none;
}

.page-template-page-article .today-book-link {
	position: relative;
	display: grid;
	grid-template-columns: minmax(168px, .76fr) minmax(0, 1.5fr);
	gap: clamp(30px, 5vw, 62px);
	align-items: center;
	padding: clamp(30px, 5vw, 54px) clamp(8px, 2vw, 20px);
	background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0) 26%, rgba(255,255,255,0));
	box-shadow: none;
	text-decoration: none;
	transition: background-color .35s ease;
}

.page-template-page-article .today-book-link:hover,
.page-template-page-article .today-book-link:focus-visible {
	background-color: rgba(119, 87, 48, .022);
}

.page-template-page-article .today-book-image {
	position: relative;
	min-height: 228px;
	background: transparent;
	box-shadow: none;
}

.page-template-page-article .today-book-image::after {
	position: absolute;
	right: 9%;
	bottom: -7px;
	left: 9%;
	height: 13px;
	border-radius: 50%;
	background: rgba(48, 34, 23, .16);
	filter: blur(7px);
	content: "";
}

.page-template-page-article .today-book-image img {
	position: relative;
	z-index: 1;
	max-height: 292px;
	object-fit: contain;
	filter: drop-shadow(8px 11px 8px rgba(51, 37, 25, .15));
	transition: transform .32s ease, filter .32s ease;
}

.page-template-page-article .today-book-link:hover .today-book-image img,
.page-template-page-article .today-book-link:focus-visible .today-book-image img {
	transform: translateY(-3px);
	filter: drop-shadow(9px 14px 9px rgba(51, 37, 25, .18));
}

.page-template-page-article .today-book-content {
	padding: 0;
}

.page-template-page-article .today-book-title {
	margin: 0 0 15px;
	font-size: clamp(20px, 2.45vw, 28px)!important;
	font-weight: 500!important;
	line-height: 1.68!important;
	letter-spacing: .075em!important;
}

.page-template-page-article .today-book-lecture {
	display: inline-block;
	margin: 0 0 22px!important;
	padding: 0 0 4px;
	border: 0;
	border-bottom: 1px solid rgba(130, 98, 53, .24);
	background: transparent;
	color: #756653;
	font-size: 11px!important;
	letter-spacing: .1em;
}

.page-template-page-article .today-book-summary {
	color: #62594f;
	font-size: 14px!important;
	line-height: 2.15!important;
	-webkit-line-clamp: 4;
}

.page-template-page-article .today-book-meta {
	margin-top: 25px;
	padding-top: 15px;
	border-top-color: rgba(87, 68, 48, .11);
}

.page-template-page-article .today-book-meta .read-more {
	border-bottom: 1px solid rgba(109, 86, 52, .24);
	padding-bottom: 2px;
}

.page-template-page-article .library-cabinet {
	margin-top: 0;
}

.page-template-page-article .library-cabinet-heading {
	align-items: flex-start;
	margin: 0 0 clamp(28px, 4vw, 42px);
	padding: 0 clamp(4px, 1vw, 12px);
}

.page-template-page-article .library-cabinet-note {
	max-width: 430px;
	padding-top: 4px;
	color: rgba(100, 86, 70, .63);
	font-size: 10.5px!important;
	line-height: 2!important;
	letter-spacing: .1em;
	text-align: right;
}

.page-template-page-article .library-cabinet-frame {
	padding: 38px 34px 43px;
	border-color: rgba(59, 39, 23, .5);
	background:
		linear-gradient(90deg, rgba(38, 23, 13, .20), transparent 3.6%, transparent 96.4%, rgba(38, 23, 13, .22)),
		repeating-linear-gradient(89deg, rgba(255,255,255,.021) 0, rgba(255,255,255,.021) 1px, transparent 1px, transparent 42px),
		linear-gradient(180deg, #98704d 0%, #7f593c 48%, #68472f 100%);
	box-shadow:
		inset 0 2px 0 rgba(255,255,255,.15),
		inset 24px 0 32px rgba(35,22,13,.16),
		inset -24px 0 32px rgba(35,22,13,.18),
		0 32px 58px rgba(46,32,21,.17);
}

.page-template-page-article .library-cabinet-grid {
	gap: 17px 15px;
}

.page-template-page-article .lecture-shelf-compartment {
	padding-top: 42px;
	padding-bottom: 29px;
	border-color: rgba(57, 38, 23, .38);
	background:
		linear-gradient(90deg, rgba(45,29,17,.18), transparent 7%, transparent 93%, rgba(45,29,17,.17)),
		linear-gradient(180deg, rgba(255,249,237,.09), rgba(66,43,25,.13)),
		repeating-linear-gradient(91deg, rgba(63,41,24,.03) 0, rgba(63,41,24,.03) 1px, transparent 1px, transparent 12px),
		#d8c9b3;
	box-shadow:
		inset 14px 0 19px rgba(48,31,18,.11),
		inset -14px 0 19px rgba(48,31,18,.11),
		inset 0 15px 22px rgba(48,31,18,.09);
}

.page-template-page-article .lecture-shelf-label {
	top: 11px;
}

.page-template-page-article .lecture-shelf-label__link {
	min-height: 23px;
	padding: 3px 8px 3px 10px;
	border-color: rgba(83, 60, 32, .43);
	background:
		linear-gradient(180deg, rgba(255,248,218,.38), rgba(151,111,55,.08)),
		#bea06a;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.27), 0 2px 4px rgba(53,35,20,.12);
}

.page-template-page-article .lecture-shelf-label__name {
	font-size: 10.5px!important;
	font-weight: 500;
	letter-spacing: .09em;
}

.page-template-page-article .lecture-shelf-label__count {
	font-size: 8.5px!important;
	opacity: .82;
}

.page-template-page-article .lecture-shelf-books {
	gap: 0;
	min-height: 292px;
	padding: 6px 5px 0;
	scroll-padding-inline: 5px;
}


.page-template-page-article .book-card.book-spine {
	cursor: pointer;
}

.page-template-page-article .book-card.book-spine:hover,
.page-template-page-article .book-card.book-spine:focus-visible {
	z-index: 8;
	transform: translate3d(0, -4px, 5px) scale(1.012);
	filter: drop-shadow(4px 8px 5px rgba(37, 25, 16, .20));
}

.page-template-page-article .book-card.book-spine:focus-visible {
	outline: 1px solid rgba(181, 143, 86, .72);
	outline-offset: 3px;
}

.page-template-page-article .library-cabinet-frame.has-selection .lecture-shelf-compartment:not(.is-current) {
	opacity: .66;
	filter: saturate(.76) brightness(.96);
}

.page-template-page-article .library-cabinet-frame.has-selection .lecture-shelf-compartment.is-current {
	box-shadow:
		inset 14px 0 19px rgba(48,31,18,.10),
		inset -14px 0 19px rgba(48,31,18,.10),
		inset 0 15px 22px rgba(48,31,18,.08),
		0 0 0 1px rgba(183,143,83,.48),
		0 15px 27px rgba(44,29,18,.13);
}

@media (max-width: 760px) {
	.page-template-page-article .portraitist-library {
		padding-top: 0;
	}

	.page-template-page-article .library-stock-count {
		margin-bottom: 25px;
		text-align: left;
	}

	.page-template-page-article .library-today-book {
		margin-bottom: 82px;
	}

	.page-template-page-article .today-book-link {
		grid-template-columns: minmax(112px, .72fr) minmax(0, 1.35fr);
		gap: 24px;
		padding: 30px 4px;
	}

	.page-template-page-article .today-book-image {
		min-height: 188px;
	}

	.page-template-page-article .today-book-summary {
		-webkit-line-clamp: 3;
	}

	.page-template-page-article .library-cabinet-note {
		max-width: none;
		text-align: left;
	}

	.page-template-page-article .library-cabinet-frame {
		padding: 30px 15px 34px;
	}
}

@media (max-width: 520px) {
	.page-template-page-article .library-today-book {
		margin-bottom: 68px;
	}

	.page-template-page-article .today-book-link {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 26px 2px 30px;
	}

	.page-template-page-article .today-book-image {
		min-height: 218px;
		max-height: 260px;
	}

	.page-template-page-article .today-book-image img {
		max-height: 250px;
	}

	.page-template-page-article .today-book-title {
		font-size: 20px!important;
	}

	.page-template-page-article .today-book-summary {
		font-size: 13.5px!important;
		-webkit-line-clamp: 4;
	}

	.page-template-page-article .library-cabinet-heading {
		margin-bottom: 24px;
	}

	.page-template-page-article .library-cabinet-frame {
		margin-right: -9px;
		margin-left: -9px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		padding-right: 7px;
		padding-left: 7px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-article .today-book-image img,
	.page-template-page-article .book-card.book-spine,
	.page-template-page-article .today-book-meta .read-more {
		transition: none;
	}
}

/* =========================================================
   Portraitist Article
   Open-book reading experience
========================================================= */
.single-post .site-main > article,
.single-post #main article,
.single-post article.post {
	position: relative;
	max-width: 920px;
	margin-right: auto;
	margin-left: auto;
}

.single-post .entry-header,
.single-post .post-header,
.single-post article > header {
	max-width: 700px;
	margin: clamp(48px, 7vw, 86px) auto 0;
	padding: 0 clamp(24px, 5vw, 48px);
	text-align: center;
}

.single-post .entry-header .entry-title,
.single-post .post-header .post-title,
.single-post article > header h1 {
	max-width: 26em;
	margin: 0 auto!important;
	font-family: "Shippori Mincho", "Noto Serif JP", serif!important;
	font-size: clamp(19px, 2vw, 23px)!important;
	font-weight: 400!important;
	line-height: 1.78!important;
	letter-spacing: .055em!important;
	color: #3f372f!important;
	overflow-wrap: anywhere;
	text-wrap: pretty;
}

.single-post .entry-meta,
.single-post .post-meta,
.single-post .reading-time,
.single-post [class*="reading-time"] {
	margin-top: 14px;
	font-family: "Shippori Mincho", "Noto Serif JP", serif!important;
	font-size: 10.5px!important;
	font-weight: 400!important;
	line-height: 1.8!important;
	letter-spacing: .15em!important;
	color: #8d7e6c!important;
}

.single-post .entry-content,
.single-post .post-content,
.single-post article .page-contents {
	max-width: 690px;
	margin: clamp(30px, 4vw, 42px) auto 0;
	padding-right: clamp(26px, 5vw, 54px);
	padding-left: clamp(26px, 5vw, 54px);
	font-size: clamp(16px, 1.32vw, 17px)!important;
	font-weight: 400!important;
	line-height: 2.18!important;
	letter-spacing: .032em!important;
	color: #514940!important;
}

.single-post .entry-content > p,
.single-post .post-content > p,
.single-post article .page-contents > p {
	margin: 0 0 1.95em!important;
}

.single-post .entry-content > p + p,
.single-post .post-content > p + p,
.single-post article .page-contents > p + p {
	margin-top: .08em!important;
}

.single-post .entry-content h2,
.single-post .post-content h2,
.single-post article .page-contents h2 {
	margin: clamp(56px, 7vw, 78px) 0 26px!important;
	font-size: clamp(22px, 2.5vw, 27px)!important;
	font-weight: 400!important;
	line-height: 1.72!important;
	letter-spacing: .06em!important;
}

.single-post .entry-content h3,
.single-post .post-content h3,
.single-post article .page-contents h3 {
	margin: 46px 0 20px!important;
	font-size: clamp(18px, 2vw, 22px)!important;
	font-weight: 400!important;
	line-height: 1.72!important;
}

.single-post .entry-content blockquote,
.single-post .post-content blockquote {
	margin: 42px clamp(0px, 4vw, 32px);
	padding: 4px 0 4px 23px;
	font-size: .96em;
	line-height: 2.12;
	border-left: 1px solid rgba(151, 116, 63, .42);
	color: #665a4d;
}

.single-post .entry-content img,
.single-post .post-content img {
	max-width: 100%;
	height: auto;
	margin-top: 20px;
	margin-bottom: 30px;
}

.single-post .portraitist-personal-shelf {
	max-width: 680px;
	margin-top: clamp(78px, 10vw, 124px);
	margin-bottom: clamp(68px, 9vw, 104px);
	padding-top: clamp(34px, 4.5vw, 50px);
	padding-bottom: clamp(30px, 4vw, 42px);
	background: transparent;
	border-bottom: 0;
}

.single-post .portraitist-article-return {
	margin-top: 30px;
	padding-top: 23px;
	border-top: 1px solid rgba(94, 73, 50, .12);
}

.single-post .portraitist-article-return__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Shippori Mincho", "Noto Serif JP", serif!important;
	font-size: 13px!important;
	font-weight: 400!important;
	line-height: 1.8!important;
	letter-spacing: .1em!important;
	color: #76664f!important;
	text-decoration: none!important;
	border-bottom: 1px solid transparent;
	transition: transform .22s ease, color .22s ease, border-color .22s ease;
}

@media (hover: hover) and (pointer: fine) {
	.single-post .portraitist-article-return__link:hover {
		transform: translateX(-3px);
		color: #554633!important;
		border-bottom-color: rgba(117, 91, 52, .34);
	}
}

.single-post .portraitist-article-return__link:focus-visible {
	outline: 1px solid rgba(128, 94, 45, .62);
	outline-offset: 5px;
}

@media only screen and (max-width: 680px) {
	.single-post .entry-header,
	.single-post .post-header,
	.single-post article > header {
		margin-top: 36px;
		padding-right: 23px;
		padding-left: 23px;
	}

	.single-post .entry-header .entry-title,
	.single-post .post-header .post-title,
	.single-post article > header h1 {
		max-width: 22em;
		font-size: clamp(18px, 5.2vw, 21px)!important;
		line-height: 1.72!important;
		letter-spacing: .045em!important;
	}

	.single-post .entry-meta,
	.single-post .post-meta,
	.single-post .reading-time,
	.single-post [class*="reading-time"] {
		margin-top: 12px;
		font-size: 10px!important;
	}

	.single-post .entry-content,
	.single-post .post-content,
	.single-post article .page-contents {
		max-width: 100%;
		margin-top: 27px;
		padding-right: 22px;
		padding-left: 22px;
		font-size: 16px!important;
		line-height: 2.06!important;
		letter-spacing: .024em!important;
	}

	.single-post .entry-content > p,
	.single-post .post-content > p,
	.single-post article .page-contents > p {
		margin-bottom: 1.84em!important;
	}

	.single-post .entry-content h2,
	.single-post .post-content h2,
	.single-post article .page-contents h2 {
		margin-top: 52px!important;
		margin-bottom: 22px!important;
	}

	.single-post .entry-content h3,
	.single-post .post-content h3,
	.single-post article .page-contents h3 {
		margin-top: 40px!important;
		margin-bottom: 18px!important;
	}

	.single-post .entry-content blockquote,
	.single-post .post-content blockquote {
		margin: 34px 0;
		padding-left: 18px;
	}

	.single-post .portraitist-personal-shelf {
		margin-top: 68px;
		margin-bottom: 68px;
		padding-right: 22px;
		padding-left: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-post .portraitist-article-return__link {
		transition: none;
	}
}

/* =========================================================
   Portraitist Library
   Reference integration: cabinet balance and deterministic book character
========================================================= */
.page-template-page-article .library-cabinet-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 14px;
}

.page-template-page-article .lecture-shelf-compartment {
	min-height: 338px;
	padding-right: 11px;
	padding-left: 11px;
}

.page-template-page-article .lecture-shelf-books {
	min-height: 286px;
	padding-right: 5px;
	padding-left: 5px;
	scroll-snap-type: x proximity;
}

.page-template-page-article .lecture-shelf-books .book-card.book-spine {
	height: min(var(--book-height), 270px);
	max-height: 270px;
	margin-right: -1px;
	scroll-snap-align: start;
	transform: rotate(var(--book-lean, 0deg));
	filter: brightness(var(--book-lightness, 100%));
	transform-origin: 50% 100%;
}

.page-template-page-article .book-spine-inner {
	background-position: center, center, center, var(--book-grain-x, 0) 0, center;
}

.page-template-page-article .book-card.book-spine:hover,
.page-template-page-article .book-card.book-spine:focus-visible {
	transform: translate3d(0, -5px, 5px) rotate(0deg) scale(1.008);
	filter: brightness(calc(var(--book-lightness, 100%) + 2%)) drop-shadow(4px 8px 5px rgba(37, 25, 16, .18));
}

.page-template-page-article .lecture-shelf-label__link {
	max-width: 100%;
}

@media (max-width: 1180px) {
}

@media (max-width: 640px) {
	.page-template-page-article .library-cabinet-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		min-height: 320px;
	}

	.page-template-page-article .lecture-shelf-books .book-card.book-spine {
		height: min(var(--book-height-mobile), 250px);
		max-height: 250px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-article .book-card.book-spine {
		transform: none;
	}
}

/* =========================================================
   Portraitist Library
   One-piece cabinet final balance
   Presentation only: lecture structure, queries and spine logic unchanged
========================================================= */
.page-template-page-article .library-cabinet-frame {
	padding: 34px 34px 42px;
	border: 1px solid rgba(50,31,18,.52);
	border-radius: 2px;
	background:
		linear-gradient(90deg, rgba(31,19,11,.24), transparent 3.2%, transparent 96.8%, rgba(31,19,11,.26)),
		repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, transparent 1px, transparent 52px),
		linear-gradient(180deg, #9b7450 0%, #7d5738 52%, #62412a 100%);
	box-shadow:
		inset 0 3px 0 rgba(255,255,255,.16),
		inset 26px 0 34px rgba(34,21,12,.16),
		inset -26px 0 34px rgba(34,21,12,.18),
		0 24px 48px rgba(43,29,18,.18);
}

.page-template-page-article .library-cabinet-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px 11px;
	padding: 10px;
	background:
		repeating-linear-gradient(90deg, transparent 0, transparent 72px, rgba(46,29,17,.05) 73px, transparent 74px),
		linear-gradient(180deg, #88603f 0%, #6d492f 100%);
	box-shadow:
		inset 0 10px 18px rgba(38,23,13,.18),
		inset 0 -3px 0 rgba(255,255,255,.06);
}

.page-template-page-article .lecture-shelf-compartment {
	min-height: 286px;
	margin: 0;
	padding: 40px 10px 22px;
	border: 1px solid rgba(54,35,20,.38);
	background:
		linear-gradient(90deg, rgba(48,31,18,.12), transparent 9%, transparent 91%, rgba(48,31,18,.12)),
		linear-gradient(180deg, rgba(255,250,240,.10), rgba(65,42,24,.09)),
		repeating-linear-gradient(91deg, rgba(63,41,24,.025) 0, rgba(63,41,24,.025) 1px, transparent 1px, transparent 15px),
		#d8c8b0;
	box-shadow:
		inset 9px 0 14px rgba(54,35,20,.07),
		inset -9px 0 14px rgba(54,35,20,.07),
		inset 0 11px 17px rgba(54,35,20,.07);
}

.page-template-page-article .lecture-shelf-compartment::after {
	right: -1px;
	bottom: -1px;
	left: -1px;
	height: 18px;
	border-width: 1px 0;
	background:
		repeating-linear-gradient(90deg, transparent 0, transparent 48px, rgba(45,29,17,.05) 49px, transparent 50px),
		linear-gradient(180deg, #a47b55 0%, #785136 58%, #52341f 100%);
	box-shadow:
		0 5px 8px rgba(43,28,17,.17),
		inset 0 2px 0 rgba(255,255,255,.14),
		inset 0 -3px 5px rgba(42,27,16,.16);
}

.page-template-page-article .lecture-shelf-label {
	top: 10px;
	left: 50%;
	width: calc(100% - 24px);
	max-width: 240px;
	transform: translateX(-50%);
}

.page-template-page-article .lecture-shelf-label__link {
	min-height: 22px;
	padding: 3px 8px;
	border-color: rgba(84,62,34,.36);
	background:
		linear-gradient(180deg, rgba(255,248,218,.32), rgba(151,111,55,.06)),
		#bea069;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.24),
		0 1px 2px rgba(53,35,20,.11);
	opacity: .86;
}

.page-template-page-article .lecture-shelf-label__name {
	font-size: 10px;
	line-height: 1.45;
	letter-spacing: .07em;
}

.page-template-page-article .lecture-shelf-label__count {
	font-size: 8px;
	opacity: .72;
}

.page-template-page-article .lecture-shelf-books {
	min-height: 242px;
	gap: 0;
	padding: 5px 4px 0;
}

.page-template-page-article .lecture-shelf-books .book-card.book-spine {
	height: min(var(--book-height), 230px);
	max-height: 230px;
	margin-right: -1px;
}

.page-template-page-article .lecture-shelf-empty {
	margin-bottom: 56px;
	opacity: .65;
}

@media (hover: hover) and (pointer: fine) {
	.page-template-page-article .lecture-shelf-compartment:hover .lecture-shelf-label__link {
		opacity: .96;
	}
}

@media (max-width: 1180px) {
	.page-template-page-article .library-cabinet-frame {
		padding-right: 24px;
		padding-left: 24px;
	}

	.page-template-page-article .library-cabinet-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		min-height: 304px;
	}

	.page-template-page-article .lecture-shelf-books {
		min-height: 260px;
	}

	.page-template-page-article .lecture-shelf-books .book-card.book-spine {
		height: min(var(--book-height), 248px);
		max-height: 248px;
	}
}

@media (max-width: 640px) {
	.page-template-page-article .library-cabinet-frame {
		margin-right: -8px;
		margin-left: -8px;
		padding: 25px 10px 30px;
	}

	.page-template-page-article .library-cabinet-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 11px;
		padding: 9px;
	}

	.page-template-page-article .lecture-shelf-compartment {
		min-height: 312px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.page-template-page-article .lecture-shelf-label {
		max-width: 210px;
	}

	.page-template-page-article .lecture-shelf-books {
		min-height: 266px;
		padding-right: 3px;
		padding-left: 3px;
	}

	.page-template-page-article .lecture-shelf-books .book-card.book-spine {
		height: min(var(--book-height-mobile), 252px);
		max-height: 252px;
	}
}

/* =========================================================
   Portraitist Library
   ことば・タグアーカイブ
========================================================= */
.single-post .portraitist-article-words {
	max-width: none;
	margin: clamp(42px, 6vw, 62px) 0 clamp(24px, 3.8vw, 34px);
	padding: clamp(22px, 3vw, 28px) 0 0;
	border-top: 1px solid rgba(94, 73, 50, .13);
}

.single-post .portraitist-article-words__member-note {
	margin: 0 0 11px;
	color: rgba(79, 67, 55, .62);
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: .035em;
}

.single-post .portraitist-reader-word-form {
	max-width: 640px;
	margin: 18px 0 16px;
}

.single-post .portraitist-reader-word-form__label {
	display: block;
	margin: 0 0 8px;
	color: rgba(63, 52, 42, .82);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .035em;
}

.single-post .portraitist-reader-word-form__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px;
	align-items: stretch;
	border: 1px solid rgba(112, 86, 54, .22);
	background: rgba(250, 247, 239, .54);
}

.single-post .portraitist-reader-word-form__input {
	min-width: 0;
	height: 42px;
	padding: 0 12px;
	border: 0;
	outline: 0;
	background: transparent;
	color: rgba(51, 44, 37, .86);
	font: inherit;
	font-size: 12px;
	line-height: 1.4;
}

.single-post .portraitist-reader-word-form__input:focus {
	box-shadow: inset 0 0 0 1px rgba(164, 124, 61, .15);
}

.single-post .portraitist-reader-word-form__add {
	border: 0;
	border-left: 1px solid rgba(112, 86, 54, .16);
	background: rgba(247, 239, 225, .7);
	color: rgba(142, 99, 41, .9);
	font: inherit;
	font-size: 18px;
	cursor: pointer;
}

.single-post .portraitist-reader-word-form__add:hover,
.single-post .portraitist-reader-word-form__add:focus-visible {
	background: rgba(244, 233, 214, .9);
}

.single-post .portraitist-reader-word-form.is-pending {
	opacity: .68;
}

.single-post .portraitist-reader-word-form__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 24px;
	padding-top: 5px;
	color: rgba(79, 67, 55, .5);
	font-size: 10px;
	line-height: 1.5;
}

.single-post .portraitist-reader-word-form__count {
	margin-left: auto;
	white-space: nowrap;
}

.single-post .portraitist-reader-word-form__message {
	order: -1;
	color: rgba(130, 76, 57, .74);
}

.single-post .portraitist-article-words__reader-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 8px;
	margin: 5px 0 20px;
}

.single-post .portraitist-article-words__reader-list[hidden] {
	display: none;
}

.single-post .portraitist-article-words__suggestions {
	margin-top: 18px;
}

.single-post .portraitist-article-words__suggestions-label {
	margin: 0 0 10px;
	color: rgba(63, 52, 42, .74);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .08em;
}

.single-post .portraitist-article-words__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 8px;
}

.single-post .portraitist-word-chip {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 10px 5px;
	border: 1px solid rgba(102, 82, 61, .25);
	border-radius: 11px;
	background: rgba(250, 247, 239, .62);
	color: rgba(51, 44, 37, .78);
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
	transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease, opacity .18s ease;
}

.single-post button.portraitist-word-chip {
	font-family: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.single-post .portraitist-word-chip--static {
	cursor: default;
}

.single-post .portraitist-word-chip--save::before {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border: 1px solid rgba(111, 86, 55, .42);
	border-radius: 50%;
	background: transparent;
	box-sizing: border-box;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.single-post .portraitist-word-chip--save.is-saved::before {
	border-color: rgba(145, 105, 49, .64);
	background: rgba(166, 124, 59, .72);
	box-shadow: inset 0 0 0 2px rgba(248, 241, 229, .9);
}

.single-post .portraitist-word-chip--save.is-saved {
	border-color: rgba(146, 105, 47, .52);
	background: rgba(246, 238, 225, .82);
	color: rgba(91, 67, 39, .92);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 0 0 1px rgba(164, 124, 61, .05);
}

.single-post .portraitist-word-chip--reader {
	gap: 6px;
	border-color: rgba(126, 94, 57, .3);
	background: rgba(248, 241, 229, .76);
}

.single-post .portraitist-word-chip__remove {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	margin: -1px -4px -1px 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(99, 76, 52, .58);
	font: inherit;
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}

.single-post .portraitist-word-chip__remove:hover,
.single-post .portraitist-word-chip__remove:focus-visible {
	color: rgba(81, 58, 36, .9);
}

.single-post .portraitist-word-chip--reader.is-pending {
	opacity: .55;
}

.single-post .portraitist-word-chip--save.is-pending {
	opacity: .62;
	cursor: wait;
}

@media (hover: hover) and (pointer: fine) {
	.single-post .portraitist-word-chip--save:not(.is-saved):hover {
		border-color: rgba(112, 86, 54, .42);
		background: rgba(248, 243, 233, .90);
		color: rgba(62, 49, 38, .88);
		transform: translateY(-1px);
	}

	.single-post .portraitist-word-chip--save.is-saved:hover {
		border-color: rgba(146, 105, 47, .62);
		background: rgba(244, 234, 216, .92);
		color: rgba(82, 59, 35, .96);
		transform: translateY(-1px);
	}
}

.single-post .portraitist-word-chip--save:focus-visible {
	outline: none;
	border-color: rgba(112, 86, 54, .46);
	background: rgba(248, 243, 233, .90);
	color: rgba(62, 49, 38, .88);
	box-shadow: 0 0 0 2px rgba(164, 124, 61, .13), inset 0 1px 0 rgba(255,255,255,.45);
}

.single-post .portraitist-word-chip--save.is-saved:focus-visible {
	border-color: rgba(146, 105, 47, .62);
	background: rgba(244, 234, 216, .92);
	color: rgba(82, 59, 35, .96);
	box-shadow: 0 0 0 2px rgba(164, 124, 61, .14), inset 0 1px 0 rgba(255,255,255,.5), inset 0 0 0 1px rgba(164, 124, 61, .05);
}

@media (max-width: 640px) {
	.single-post .portraitist-article-words {
		margin-top: 38px;
		margin-bottom: 24px;
		padding-top: 21px;
	}

	.single-post .portraitist-word-chip {
		min-height: 30px;
		padding-right: 10px;
		padding-left: 10px;
		font-size: 11.5px;
	}
}

.tag .portraitist-word-archive {
	max-width: 1080px;
	margin: 0 auto;
	padding: 18px 0 72px;
}

.tag .portraitist-word-archive__header {
	max-width: 700px;
	margin: 0 auto 42px;
	text-align: center;
}

.tag .portraitist-word-archive__eyebrow {
	margin: 0 0 10px;
	color: rgba(67, 56, 45, .62);
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .2em;
}

.tag .portraitist-word-archive__title {
	margin: 0;
	color: rgba(46, 39, 33, .9);
	font-size: clamp(20px, 2.3vw, 29px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .055em;
}

.tag .portraitist-word-shelf {
	position: relative;
	padding: 36px 28px 31px;
	border: 1px solid rgba(61, 41, 25, .46);
	background:
		linear-gradient(90deg, rgba(46,29,17,.18), transparent 3%, transparent 97%, rgba(46,29,17,.18)),
		linear-gradient(180deg, #98704c 0%, #755035 100%);
	box-shadow: inset 0 3px 0 rgba(255,255,255,.12), 0 16px 32px rgba(48,31,19,.13);
}

.tag .portraitist-word-shelf__books {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	min-height: 260px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 14px 10px 0;
	background:
		linear-gradient(90deg, rgba(49,31,18,.09), transparent 8%, transparent 92%, rgba(49,31,18,.09)),
		#d8c7ae;
	box-shadow: inset 0 10px 18px rgba(47,30,18,.08);
	scrollbar-width: thin;
}

.tag .portraitist-word-shelf__books::after {
	content: "";
	position: absolute;
	right: 28px;
	bottom: 19px;
	left: 28px;
	height: 17px;
	border-top: 1px solid rgba(55,35,21,.46);
	background: linear-gradient(180deg, #a07853 0%, #765034 58%, #52331f 100%);
	box-shadow: 0 5px 8px rgba(43,28,17,.16), inset 0 2px 0 rgba(255,255,255,.12);
}

.tag .portraitist-word-shelf .book-card.book-spine {
	position: relative;
	z-index: 1;
	flex: 0 0 var(--book-width);
	height: min(var(--book-height), 238px);
	max-height: 238px;
	margin-right: -1px;
}

.tag .portraitist-word-archive__empty {
	margin: 42px 0;
	color: rgba(64, 53, 43, .68);
	text-align: center;
	font-size: 14px;
	letter-spacing: .04em;
}

.tag .portraitist-word-archive .nav-links {
	margin-top: 34px;
	text-align: center;
}

@media (max-width: 640px) {
	.tag .portraitist-word-archive {
		padding-top: 8px;
		padding-bottom: 54px;
	}

	.tag .portraitist-word-archive__header {
		margin-bottom: 30px;
		padding: 0 12px;
	}

	.tag .portraitist-word-shelf {
		margin-right: -8px;
		margin-left: -8px;
		padding: 27px 10px 25px;
	}

	.tag .portraitist-word-shelf__books {
		min-height: 252px;
		padding-right: 4px;
		padding-left: 4px;
	}

	.tag .portraitist-word-shelf__books::after {
		right: 10px;
		bottom: 13px;
		left: 10px;
	}

	.tag .portraitist-word-shelf .book-card.book-spine {
		height: min(var(--book-height-mobile), 230px);
		max-height: 230px;
	}
}

/* =========================================================
   Portraitist Library
   ことばを探す — 巻末索引
========================================================= */
.page-template-page-words .portraitist-words-index-page {
	max-width: 1180px;
	margin: 0 auto;
}

.page-template-page-words .portraitist-words-index {
	max-width: 920px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 52px) 0 clamp(72px, 9vw, 112px);
}

.page-template-page-words .portraitist-words-index__header {
	max-width: 660px;
	margin: 0 auto clamp(42px, 6vw, 68px);
	text-align: center;
}

.page-template-page-words .portraitist-words-index__eyebrow {
	margin: 0 0 11px;
	color: rgba(69, 57, 46, .58);
	font-size: 10.5px;
	line-height: 1.6;
	letter-spacing: .2em;
}

.page-template-page-words .portraitist-words-index__title {
	margin: 0;
	color: rgba(44, 38, 32, .92);
	font-size: clamp(23px, 2.8vw, 32px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .08em;
}

.page-template-page-words .portraitist-words-index__lead {
	margin: 16px auto 0;
	color: rgba(60, 51, 43, .68);
	font-size: 13px;
	line-height: 2;
	letter-spacing: .035em;
}

.page-template-page-words .portraitist-words-index__body {
	padding: clamp(28px, 4vw, 42px) clamp(20px, 4vw, 44px) clamp(36px, 5vw, 52px);
	border-top: 1px solid rgba(95, 75, 54, .2);
	border-bottom: 1px solid rgba(95, 75, 54, .17);
	background:
		linear-gradient(180deg, rgba(250, 247, 239, .58), rgba(247, 243, 234, .28));
}

.page-template-page-words .portraitist-words-search {
	max-width: 520px;
	margin: 0 auto clamp(30px, 4vw, 42px);
}

.page-template-page-words .portraitist-words-search__label {
	display: block;
	margin: 0 0 9px;
	color: rgba(62, 52, 43, .66);
	font-size: 10.5px;
	line-height: 1.5;
	letter-spacing: .15em;
}

.page-template-page-words .portraitist-words-search__field {
	position: relative;
}

.page-template-page-words .portraitist-words-search__input {
	width: 100%;
	height: 46px;
	padding: 8px 42px 8px 14px;
	border: 0;
	border-bottom: 1px solid rgba(86, 67, 48, .38);
	border-radius: 0;
	background: rgba(255, 253, 248, .35);
	color: rgba(45, 39, 33, .88);
	font: inherit;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: .04em;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.page-template-page-words .portraitist-words-search__input::placeholder {
	color: rgba(71, 60, 49, .42);
}

.page-template-page-words .portraitist-words-search__input:focus {
	outline: none;
	border-bottom-color: rgba(72, 54, 37, .75);
	background: rgba(255, 253, 248, .64);
}

.page-template-page-words .portraitist-words-search__mark {
	position: absolute;
	top: 50%;
	right: 14px;
	width: 12px;
	height: 12px;
	border: 1px solid rgba(72, 57, 42, .58);
	border-radius: 50%;
	transform: translateY(-62%);
	pointer-events: none;
}

.page-template-page-words .portraitist-words-search__mark::after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -3px;
	width: 6px;
	height: 1px;
	background: rgba(72, 57, 42, .58);
	transform: rotate(45deg);
	transform-origin: left center;
}

.page-template-page-words .portraitist-words-search__status {
	min-height: 18px;
	margin: 7px 0 0;
	color: rgba(66, 55, 45, .54);
	font-size: 10.5px;
	line-height: 1.6;
	letter-spacing: .04em;
}

.page-template-page-words .portraitist-words-index__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 9px 10px;
}

.page-template-page-words .portraitist-words-index__item[hidden] {
	display: none;
}

.page-template-page-words .portraitist-words-index__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 31px;
	padding: 5px 10px 6px 12px;
	border: 1px solid rgba(100, 79, 58, .24);
	border-radius: 11px;
	background: rgba(252, 249, 242, .7);
	color: rgba(51, 44, 37, .8);
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .045em;
	text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
	transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.page-template-page-words .portraitist-words-index__count {
	min-width: 17px;
	padding-left: 7px;
	border-left: 1px solid rgba(95, 76, 57, .17);
	color: rgba(72, 60, 48, .48);
	font-size: 9.5px;
	line-height: 1.4;
	text-align: center;
}

@media (hover: hover) and (pointer: fine) {
	.page-template-page-words .portraitist-words-index__chip:hover {
		border-color: rgba(83, 62, 42, .44);
		background: rgba(248, 243, 233, .95);
		transform: translateY(-1px);
	}
}

.page-template-page-words .portraitist-words-index__chip:focus-visible {
	outline: 1px solid rgba(72, 55, 39, .72);
	outline-offset: 3px;
}

.page-template-page-words .portraitist-words-index__no-results,
.page-template-page-words .portraitist-words-index__empty {
	margin: 36px 0 0;
	color: rgba(64, 53, 43, .62);
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: .04em;
	text-align: center;
}

.tag .portraitist-word-archive__back {
	margin: 18px 0 0;
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: .08em;
}

.tag .portraitist-word-archive__back a {
	color: rgba(65, 53, 42, .62);
	text-decoration: none;
	border-bottom: 1px solid rgba(83, 65, 47, .25);
	transition: color .18s ease, border-color .18s ease;
}

@media (hover: hover) and (pointer: fine) {
	.tag .portraitist-word-archive__back a:hover {
		color: rgba(47, 39, 32, .86);
		border-bottom-color: rgba(83, 65, 47, .5);
	}
}

.tag .portraitist-word-archive__back a:focus-visible {
	outline: 1px solid rgba(72, 55, 39, .72);
	outline-offset: 4px;
}

@media (max-width: 640px) {
	.page-template-page-words .portraitist-words-index {
		padding-top: 14px;
		padding-bottom: 72px;
	}

	.page-template-page-words .portraitist-words-index__header {
		margin-bottom: 34px;
		padding: 0 10px;
	}

	.page-template-page-words .portraitist-words-index__lead {
		font-size: 12.5px;
		line-height: 1.9;
	}

	.page-template-page-words .portraitist-words-index__body {
		margin-right: -8px;
		margin-left: -8px;
		padding: 26px 16px 36px;
	}

	.page-template-page-words .portraitist-words-search {
		margin-bottom: 28px;
	}

	.page-template-page-words .portraitist-words-search__input {
		height: 47px;
		font-size: 16px;
	}

	.page-template-page-words .portraitist-words-index__list {
		gap: 8px;
	}

	.page-template-page-words .portraitist-words-index__chip {
		min-height: 33px;
		padding: 6px 10px 7px 11px;
		font-size: 11.5px;
	}
}

/* =========================================================
   公開本棚｜右側固定詳細＋モバイルボトムシート
   ========================================================= */

:root {
	--portraitist-page-bg: #f8f6f1;
	--portraitist-shelf-stage-min: 1040px;
	--portraitist-shelf-book-width: 2.75cqw;
	--portraitist-shelf-book-gap: .1cqw;
	--portraitist-shelf-baseline: 34%;
	--portraitist-shelf-book-height: 17.12cqw;
}

body.home,
body.home #page,
body.home #content,
body.home .site,
body.home .site-content,
body.page-template-page-article,
body.page-template-page-article-php,
body.page-template-page-article #page,
body.page-template-page-article-php #page,
body.page-template-page-article #content,
body.page-template-page-article-php #content,
body.page-template-page-article .site,
body.page-template-page-article-php .site,
body.page-template-page-article .site-content,
body.page-template-page-article-php .site-content,
body.page-template-page-article .content-area,
body.page-template-page-article-php .content-area,
body.page-template-page-article .site-main,
body.page-template-page-article-php .site-main,
body.page-template-page-article .wrapper,
body.page-template-page-article-php .wrapper,
body.page-template-page-article .portraitist-public-library-main,
body.page-template-page-article-php .portraitist-public-library-main,
body.page-template-page-article .portraitist-library-hero,
body.page-template-page-article-php .portraitist-library-hero,
body.page-template-page-article .portraitist-bookshelf-heading,
body.page-template-page-article-php .portraitist-bookshelf-heading,
body.page-template-page-article .portraitist-library-workspace,
body.page-template-page-article-php .portraitist-library-workspace,
body.page-template-page-article .portraitist-fixed-bookshelf-section,
body.page-template-page-article-php .portraitist-fixed-bookshelf-section {
	background: var(--portraitist-page-bg) !important;
	background-color: var(--portraitist-page-bg) !important;
	background-image: none !important;
}

body #header.portraitist-site-header,
body #header.portraitist-site-header .portraitist-header-inner,
body #header.portraitist-site-header .header-inner,
body #header.portraitist-site-header #nav,
body #header.portraitist-site-header .portraitist-main-navigation {
	background: var(--portraitist-page-bg) !important;
	background-color: var(--portraitist-page-bg) !important;
	background-image: none !important;
}

.portraitist-public-library-page,
.portraitist-public-library-page *,
.portraitist-public-library-page *::before,
.portraitist-public-library-page *::after { box-sizing: border-box; }

.portraitist-public-library-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(24px, 3vw, 44px) 28px clamp(64px, 8vw, 110px) !important;
	overflow-x: clip;
	color: var(--library-text, #665b50);
}

.portraitist-public-library-main { width: min(1160px, 100%); margin: 0 auto; }
.portraitist-library-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, .72fr);
	align-items: center;
	gap: clamp(36px, 6vw, 88px);
	min-height: 400px;
	margin: 0 auto clamp(42px, 6vw, 76px);
	padding: 0;
}
.portraitist-library-hero__copy { padding-left: clamp(0px, 2vw, 28px); }
.portraitist-library-kicker {
	margin: 0 0 22px !important;
	color: #8f7144 !important;
	font-family: var(--font-title) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: .15em !important;
}
.portraitist-library-hero .blog-title {
	margin: 0 0 24px !important;
	padding: 0 0 16px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(91, 74, 54, .15) !important;
	color: var(--library-ink, #332b24) !important;
	font-family: var(--font-title) !important;
	font-size: clamp(30px, 3.2vw, 42px) !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: .08em !important;
}
.portraitist-public-library-lead {
	margin: 0 !important;
	color: var(--library-text, #665b50) !important;
	font-family: var(--font-title) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 2.05 !important;
	letter-spacing: .055em !important;
}
.portraitist-library-hero__visual { margin: 0; text-align: center; }
.portraitist-library-hero__visual img { display: block; width: min(100%, 330px); height: auto; margin: 0 auto; }

.portraitist-bookshelf-heading { margin: 0 0 30px; padding: 0; border: 0; }
.portraitist-bookshelf-heading h2 {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--library-ink, #332b24) !important;
	font-family: var(--font-title) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	letter-spacing: .12em !important;
}
.portraitist-bookshelf-heading h2::before,
.portraitist-bookshelf-heading h2::after { content: none !important; }
.portraitist-bookshelf-heading p {
	margin: 0 !important;
	color: var(--library-text, #665b50) !important;
	font-family: var(--font-title) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.8 !important;
	letter-spacing: .05em !important;
}

.portraitist-library-workspace {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 3.35fr) minmax(280px, 1fr);
	align-items: start;
	gap: clamp(30px, 3vw, 48px);
	width: min(1420px, calc(100vw - 96px));
	max-width: 100%;
	margin-left: 50%;
	transform: translateX(-50%);
}

.portraitist-book-detail {
	position: sticky;
	top: 24px;
	z-index: 20;
	width: 100%;
	min-height: 0;
	padding: 24px 22px 22px;
	border: 1px solid rgba(111, 86, 56, .15);
	background: rgba(255, 253, 248, .38);
	overflow: hidden;
	transition: background-color .2s ease, border-color .2s ease;
}
.portraitist-book-detail__close { display: none; }
.portraitist-book-detail__idle {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 434px;
	text-align: center;
}
.portraitist-book-detail__idle[hidden] { display: none; }
.portraitist-book-detail__idle p {
	margin: 0 !important;
	color: #7b7064 !important;
	font-family: var(--font-title) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 2 !important;
	letter-spacing: .08em !important;
}
.portraitist-book-detail__content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 13px;
	min-height: 0;
	animation: portraitist-detail-in .18s ease both;
}
.portraitist-book-detail__content[hidden] { display: none; }
@keyframes portraitist-detail-in { from { opacity: 0; } to { opacity: 1; } }
.portraitist-book-detail.is-switching .portraitist-book-detail__content { opacity: .35; transform: translateX(-7px); transition: opacity .14s ease, transform .14s ease; }
.portraitist-book-detail__cover {
	display: flex;
	align-items: center;
	justify-content: center;
	height: clamp(260px, 20vw, 315px);
	min-width: 0;
}
.portraitist-book-detail__cover img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 240px;
	object-fit: contain;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.portraitist-book-detail__body { min-width: 0; }
.portraitist-book-detail__chapter {
	margin: 0 0 9px !important;
	color: #92754a !important;
	font-family: var(--font-title) !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	letter-spacing: .14em !important;
}
.portraitist-book-detail__body h2 {
	margin: 0 0 13px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #4b4037 !important;
	font-family: var(--font-title) !important;
	font-size: clamp(17px, 1.35vw, 20px) !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	letter-spacing: .07em !important;
}
.portraitist-book-detail__body h2::before,
.portraitist-book-detail__body h2::after { content: none !important; }
.portraitist-book-detail__tags { display: flex; flex-wrap: wrap; gap: 7px 8px; margin: 0 0 22px; }
.portraitist-book-detail__tags[hidden] { display: none; }
.portraitist-book-detail__tags span {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 3px 8px 2px;
	border: 1px solid rgba(116, 91, 59, .16);
	border-radius: 1px;
	background: rgba(236, 228, 212, .24);
	color: #6a5d50;
	font-family: var(--font-title);
	font-size: 9px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .07em;
}
.portraitist-book-detail__tags span.is-reader {
	border-color: rgba(128, 94, 55, .34);
	background: rgba(247, 238, 224, .78);
	color: #594633;
}
.portraitist-book-detail__tags span.is-reader::before {
	content: "";
	width: 4px;
	height: 4px;
	margin-right: 5px;
	border-radius: 50%;
	background: rgba(151, 109, 48, .62);
}
.portraitist-book-detail__tags span.is-saved-author {
	border-color: rgba(145, 111, 58, .30);
	background: rgba(248, 241, 229, .62);
	color: #65513e;
}
.portraitist-book-detail__tags span.is-unsaved-author {
	opacity: .72;
}

.portraitist-library-read-button,
.portraitist-book-detail__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid rgba(139, 105, 57, .34);
	background: rgba(255, 253, 248, .44);
	color: #6b5434 !important;
	font-family: var(--font-title) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .08em !important;
	text-decoration: none !important;
	margin-left: auto;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.portraitist-library-read-button:hover,
.portraitist-library-read-button:focus-visible { border-color: rgba(139, 105, 57, .55); background: rgba(255, 253, 248, .72); transform: translateY(-1px); }

.portraitist-fixed-bookshelf-section { position: relative; width: 100%; min-width: 0; margin: 0; padding: 0; }
.portraitist-fixed-bookshelf-orders { min-width: 0; }
.portraitist-fixed-bookshelf-list { display: grid; gap: clamp(18px, 2.5vw, 32px); }
.portraitist-fixed-bookshelf-list[hidden] { display: none !important; }
.portraitist-fixed-shelf-unit { position: relative; min-width: 0; }
.portraitist-fixed-shelf-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.portraitist-fixed-shelf-viewport::-webkit-scrollbar { display: none; }
@media (min-width: 1181px) {
	.portraitist-fixed-shelf-viewport { overflow-x: visible; padding-inline: clamp(8px, .8vw, 14px); }
}
.portraitist-fixed-shelf-stage {
	position: relative;
	isolation: isolate;
	container-type: inline-size;
	width: 100%;
	min-width: 0;
	aspect-ratio: 3.27 / 1;
	overflow: hidden;
}
.portraitist-fixed-shelf-image {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: translateY(-15%);
	transform-origin: top center;
}
.portraitist-fixed-shelf-books {
	position: absolute;
	z-index: 3;
	left: 5.6%;
	right: 5.6%;
	bottom: var(--portraitist-shelf-baseline);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: var(--portraitist-shelf-book-gap);
	height: var(--portraitist-shelf-book-height);
	min-width: 0;
	pointer-events: none;
}
.portraitist-fixed-shelf-books .portraitist-image-book {
	position: relative;
	display: block;
	flex: 0 0 var(--portraitist-shelf-book-width);
	width: var(--portraitist-shelf-book-width);
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	transform-origin: center bottom;
	pointer-events: auto;
	cursor: pointer;
	transition: transform .2s ease, filter .2s ease;
}
.portraitist-fixed-shelf-books--faceout-ready { left: 4.7%; right: 4.7%; }
.portraitist-fixed-shelf-books--faceout-ready .portraitist-image-book:not(.portraitist-image-book--faceout) {
	flex-basis: calc(var(--portraitist-shelf-book-width) * .94);
	width: calc(var(--portraitist-shelf-book-width) * .94);
}
.portraitist-fixed-shelf-books .portraitist-image-book--faceout {
	flex-basis: calc(var(--portraitist-shelf-book-width) * 3.2);
	width: calc(var(--portraitist-shelf-book-width) * 3.2);
	margin: 0;
	z-index: 5;
}
.portraitist-fixed-shelf-books .portraitist-shelf-object {
	position: relative;
	display: block;
	flex: 0 0 calc(var(--portraitist-shelf-book-width) * 3.4);
	width: calc(var(--portraitist-shelf-book-width) * 3.4);
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	z-index: 5;
	pointer-events: auto;
	cursor: pointer;
	transform-origin: center bottom;
	transition: transform .2s ease, filter .2s ease;
}
.portraitist-fixed-shelf-books .portraitist-shelf-object__image {
	position: absolute;
	left: 50%;
	bottom: 6px;
	display: block;
	width: auto;
	height: 91%;
	max-width: none;
	max-height: none;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
	transform: translateX(-50%);
	transform-origin: center bottom;
	pointer-events: none;
}
.portraitist-fixed-shelf-books .portraitist-shelf-object--globe .portraitist-shelf-object__image {
	opacity: .9;
}
.portraitist-fixed-shelf-books .portraitist-shelf-object--globe:hover,
.portraitist-fixed-shelf-books .portraitist-shelf-object--globe:focus-visible {
	z-index: 9;
	transform: translateY(-2px);
	filter: drop-shadow(0 3px 4px rgba(67, 48, 29, .10));
}
.portraitist-fixed-shelf-books .portraitist-shelf-object--globe:focus-visible {
	outline: 1px solid rgba(130, 98, 48, .72);
	outline-offset: 2px;
}
.portraitist-fixed-shelf-books .portraitist-image-book__art {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: auto;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
	transform: translateX(-50%);
	transform-origin: center bottom;
	pointer-events: none;
}
.portraitist-fixed-shelf-books a.portraitist-image-book:hover,
.portraitist-fixed-shelf-books a.portraitist-image-book:focus-visible {
	z-index: 8;
	transform: translateY(-1px) scale(1.0005);
	filter: drop-shadow(0 3px 4px rgba(67, 48, 29, .10));
}
.portraitist-fixed-shelf-books a.portraitist-image-book--faceout:hover,
.portraitist-fixed-shelf-books a.portraitist-image-book--faceout:focus-visible {
	transform: translateY(-1px) scale(1.0005);
}
.portraitist-fixed-shelf-books a.portraitist-image-book.is-selected {
	z-index: 12;
	transform: translateY(-3px) scale(1.0015);
	filter: drop-shadow(0 5px 5px rgba(60, 42, 25, .13));
}
.portraitist-fixed-shelf-books a.portraitist-image-book--faceout.is-selected { transform: translateY(-2px) scale(1.001); }
.portraitist-fixed-shelf-books a.portraitist-image-book:focus-visible { outline: 1px solid rgba(130, 98, 48, .72); outline-offset: 2px; }
.portraitist-image-book--blank {
	cursor: default;
	pointer-events: auto;
	transition: transform .18s ease, filter .18s ease;
}
@media (hover: hover) and (pointer: fine) {
	.portraitist-fixed-shelf-books .portraitist-image-book--blank:hover {
		transform: translateY(-3px);
		filter: brightness(1.025);
	}
}

.portraitist-mobile-book-selection { display: none; }
.portraitist-mobile-book-selection[hidden] { display: none; }

.portraitist-book-detail-backdrop { display: none; }
.portraitist-daily-book,
.portraitist-image-book-preview,
.portraitist-linear-bookshelf-section,
.portraitist-linear-shelf-unit { display: none; }

.portraitist-library-order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: min(calc((100% - clamp(30px, 3vw, 48px)) * .77), 1040px);
	margin: 0 0 16px;
	color: #8a7a69;
	font-family: var(--font-title);
	font-size: 11px;
	letter-spacing: .1em;
}
.portraitist-library-order button { padding: 0 0 3px; border: 0; border-bottom: 1px solid transparent; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.portraitist-library-order button.is-current { color: #695842; border-bottom-color: rgba(105,88,66,.48); }
.portraitist-library-order button:focus-visible { outline: 1px solid rgba(105,88,66,.44); outline-offset: 4px; }

.portraitist-book-detail__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	min-height: 0;
	margin: 0;
}
.portraitist-book-detail__meta[hidden],
.portraitist-book-detail__role[hidden] { display: none; }
.portraitist-book-detail__role {
	display: inline-flex;
	align-items: center;
	min-height: 21px;
	padding: 3px 8px 2px;
	border: 1px solid rgba(126,96,55,.25);
	background: rgba(241,233,216,.3);
	color: #7a603d;
	font-family: var(--font-title);
	font-size: 9px;
	line-height: 1.4;
	letter-spacing: .1em;
}
.portraitist-book-detail__date { display:block; color:#817568; font-family:var(--font-title); font-size:9px; line-height:1.55; letter-spacing:.08em; }

@media (min-width: 1181px) {
	.portraitist-library-workspace { grid-template-columns: minmax(0, 3.55fr) minmax(292px, .95fr); gap: clamp(34px, 3.25vw, 52px); }
	.portraitist-book-detail { min-height: 0; padding: 24px 22px 18px; }
	.portraitist-book-detail__content { gap: 9px; min-height: 0; }
	.portraitist-book-detail__cover { height: auto; min-height: 0; padding: 2px 0 4px; }
	.portraitist-book-detail__cover img { width: auto; height: auto; max-width: min(100%, 300px); max-height: 292px; }
	.portraitist-book-detail__chapter { margin-top: 1px !important; }
	.portraitist-book-detail__tags { margin-bottom: 14px; }
	.portraitist-book-detail__link { align-self: flex-end; margin: 3px 0 0 auto; }
	.portraitist-fixed-shelf-viewport { padding-inline: clamp(12px, 1vw, 18px); }
	.portraitist-fixed-shelf-books { left: 6.2%; right: 6.2%; --portraitist-shelf-book-width: 2.50cqw; --portraitist-shelf-book-gap: .16cqw; }
	.portraitist-fixed-shelf-books--faceout-ready { left: 5.8%; right: 5.8%; }
	.portraitist-fixed-shelf-books--faceout-ready .portraitist-image-book:not(.portraitist-image-book--faceout) { flex-basis: calc(var(--portraitist-shelf-book-width) * .93); width: calc(var(--portraitist-shelf-book-width) * .93); }
	.portraitist-fixed-shelf-books .portraitist-image-book--daily { flex-basis: calc(var(--portraitist-shelf-book-width) * 4.15); width: calc(var(--portraitist-shelf-book-width) * 4.15); margin: 0 2.35cqw 0 0; }
	.portraitist-fixed-shelf-books .portraitist-image-book--featured { flex-basis: calc(var(--portraitist-shelf-book-width) * 4.20); width: calc(var(--portraitist-shelf-book-width) * 4.20); margin: 0 1.05cqw; }
	.portraitist-fixed-shelf-books .portraitist-shelf-object--globe { flex-basis: calc(var(--portraitist-shelf-book-width) * 4.20); width: calc(var(--portraitist-shelf-book-width) * 4.20); margin: 0 1.05cqw; }
}

@media (max-width: 1279px) and (min-width: 1181px) {
	.portraitist-library-workspace {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 24px;
	}
	.portraitist-book-detail { padding-inline: 20px; }
	.portraitist-book-detail__cover { height: auto; min-height: 0; }
	.portraitist-book-detail__cover img { max-height: 260px; }
}

@media (max-width: 1180px) {
	.portraitist-public-library-page { padding-inline: 22px !important; }
	.portraitist-library-hero { grid-template-columns: minmax(0, 1fr) 250px; gap: 30px; min-height: 340px; }
	.portraitist-library-workspace {
		display: block;
		width: 100vw;
		max-width: 100vw;
		margin-left: 50%;
		transform: translateX(-50%);
	}
	.portraitist-fixed-bookshelf-section { width: 100%; }
	.portraitist-mobile-book-selection {
		display: block;
		width: min(720px, calc(100% - 44px));
		margin: 12px auto 0;
		padding: 10px 14px 9px;
		border-top: 1px solid rgba(111, 86, 56, .14);
		text-align: center;
	}
	.portraitist-mobile-book-selection__chapter { margin: 0 0 4px !important; color: #92754a !important; font-family: var(--font-title) !important; font-size: 9px !important; line-height: 1.5 !important; letter-spacing: .13em !important; }
	.portraitist-mobile-book-selection__title { margin: 0 !important; color: #4b4037 !important; font-family: var(--font-title) !important; font-size: 13px !important; line-height: 1.65 !important; letter-spacing: .06em !important; }
	.portraitist-fixed-shelf-viewport { touch-action: pan-x pan-y; overscroll-behavior-inline: contain; scrollbar-width: none; }
	.portraitist-fixed-shelf-viewport::-webkit-scrollbar { display: none; }
	.portraitist-book-detail {
		position: fixed;
		z-index: 10020;
		left: 12px;
		right: 12px;
		bottom: 12px;
		top: auto;
		width: auto;
		min-height: 0;
		max-height: min(72vh, 620px);
		padding: 22px 20px 20px;
		border-color: rgba(99, 75, 46, .22);
		background: #fbf8f2;
		box-shadow: 0 18px 50px rgba(53, 40, 27, .22);
		overflow-y: auto;
		transform: translateY(calc(100% + 30px));
		opacity: 0;
		visibility: hidden;
		transition: transform .22s ease, opacity .18s ease, visibility .22s ease;
		touch-action: pan-y;
	}
	.portraitist-book-detail.is-open {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		cursor: pointer;
	}
	.portraitist-book-detail.is-open .portraitist-book-detail__content { will-change: transform, opacity; }
	.portraitist-book-detail__close {
		position: absolute;
		z-index: 2;
		top: 8px;
		right: 9px;
		display: grid;
		place-items: center;
		width: 34px;
		height: 34px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #6b5d50;
		font-size: 24px;
		font-weight: 300;
		line-height: 1;
		cursor: pointer;
	}
	.portraitist-book-detail__idle { min-height: 110px; padding: 22px 18px 12px; }
	.portraitist-book-detail__content {
		display: grid;
		grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
		align-items: center;
		gap: 24px;
		min-height: 250px;
		padding-right: 20px;
	}
	.portraitist-book-detail__content[hidden] { display: none; }
	.portraitist-book-detail__cover { height: auto; min-height: 0; padding-block: 2px; }
	.portraitist-book-detail__cover img { width: auto; height: auto; max-width: 220px; max-height: 250px; }
	.portraitist-book-detail-backdrop {
		position: fixed;
		z-index: 10010;
		inset: 0;
		display: block;
		background: rgba(35, 28, 22, .2);
		pointer-events: none;
	}
	.portraitist-book-detail-backdrop[hidden] { display: none; }
	.portraitist-fixed-shelf-viewport { padding-inline: 22px; }
	.portraitist-fixed-shelf-stage { width: var(--portraitist-shelf-stage-min); min-width: var(--portraitist-shelf-stage-min); }
	.portraitist-fixed-shelf-unit.has-faceout .portraitist-fixed-shelf-stage { width: var(--portraitist-shelf-stage-min); min-width: var(--portraitist-shelf-stage-min); }
	.portraitist-fixed-shelf-books--faceout-ready { left: 2%; right: 2%; }
	.portraitist-fixed-shelf-books .portraitist-image-book--faceout { margin-right: 5.4cqw; }
	.portraitist-fixed-shelf-books a.portraitist-image-book:hover { transform: none; filter: none; }
	.portraitist-fixed-shelf-books .portraitist-image-book.is-preview {
		z-index: 11;
		transform: translateY(-5px) scale(1.05);
		filter: brightness(1.018);
	}
	.portraitist-fixed-shelf-books .portraitist-image-book--faceout.is-preview { transform: translateY(-4px) scale(1.035); }
	.portraitist-fixed-shelf-books a.portraitist-image-book.is-selected,
	.portraitist-fixed-shelf-books .portraitist-image-book--blank.is-selected {
		z-index: 12;
		transform: translateY(-6px) scale(1.045);
		filter: brightness(1.02);
	}
	.portraitist-fixed-shelf-books a.portraitist-image-book--faceout.is-selected { transform: translateY(-5px) scale(1.03); }
}

@media (max-width: 640px) {
	:root {
		--portraitist-shelf-stage-min: 980px;
	}
	.portraitist-public-library-page { padding: 20px 16px 72px !important; overflow-x: hidden; }
	.portraitist-library-hero { grid-template-columns: 1fr; gap: 16px; min-height: 0; margin-bottom: 42px; }
	.portraitist-library-hero__copy { padding-left: 0; }
	.portraitist-library-hero .blog-title { font-size: 30px !important; }
	.portraitist-library-hero__visual img { width: min(70vw, 260px); }
	.portraitist-pc-only { display: none; }
	.portraitist-bookshelf-heading { margin-bottom: 18px; }
	.portraitist-fixed-bookshelf-list { gap: 14px; }
	.portraitist-fixed-shelf-viewport { padding-inline: 16px; }
	.portraitist-book-detail { left: 10px; right: 10px; bottom: 10px; max-height: min(82vh, 700px); padding: 18px 14px 16px; }
	.portraitist-book-detail__content { display: flex; flex-direction: column; align-items: stretch; gap: 14px; min-height: 0; padding: 4px 16px 0; }
	.portraitist-book-detail__cover { width: 100%; height: auto; min-height: 0; padding-block: 2px; flex: 0 0 auto; }
	.portraitist-book-detail__cover img { width: auto; height: auto; max-width: min(52%, 210px); max-height: 225px; }
	.portraitist-book-detail__chapter { margin-bottom: 5px !important; font-size: 9px !important; }
	.portraitist-book-detail__body h2 { margin-bottom: 9px !important; font-size: 16px !important; line-height: 1.55 !important; }
	.portraitist-book-detail__tags { gap: 4px; margin-bottom: 10px; }
	.portraitist-book-detail__tags span { min-height: 22px; padding: 2px 7px; font-size: 9px; }
	.portraitist-library-read-button,
	.portraitist-book-detail__link { width: 100%; min-height: 42px; padding: 8px 12px; margin-left: 0; font-size: 10px !important; }
}

@media (max-width: 390px) {
	.portraitist-book-detail { max-height: 84vh; }
	.portraitist-book-detail__content { gap: 12px; padding-inline: 12px; }
	.portraitist-book-detail__cover { height: auto; min-height: 0; }
	.portraitist-book-detail__cover img { width: auto; height: auto; max-width: min(54%, 190px); max-height: 205px; }
	.portraitist-book-detail__body h2 { font-size: 15px !important; }
}

/* Old Safari fallback: fixed dimensions precede modern aspect-ratio/container rules. */
@supports not (aspect-ratio: 1 / 1) {
	.portraitist-fixed-shelf-stage { height: 31vw; min-height: 270px; }
	@media (max-width: 1180px) { .portraitist-fixed-shelf-stage { height: 360px; } }
}
@supports not (display: grid) {
	.portraitist-library-workspace { display: flex; align-items: flex-start; }
	.portraitist-fixed-bookshelf-section { flex: 1 1 auto; }
	.portraitist-book-detail { flex: 0 0 300px; margin-left: 34px; }
	@media (max-width: 1180px) { .portraitist-library-workspace { display: block; } .portraitist-book-detail { margin-left: 0; } }
}

/* Portraitist.jp | Public bookshelf PC reading experience | Sprint 1 */
@media (min-width: 1181px) {
	.page-template-page-article .portraitist-book-detail.is-actionable,
	.page-template-page-article-php .portraitist-book-detail.is-actionable {
		cursor: pointer;
		transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	}

	.page-template-page-article .portraitist-book-detail.is-actionable:hover,
	.page-template-page-article-php .portraitist-book-detail.is-actionable:hover {
		border-color: rgba(111, 86, 56, .24);
		background: rgba(255, 253, 248, .52);
		box-shadow: 0 10px 24px rgba(68, 49, 30, .07);
		transform: translateY(-1px);
	}

	.page-template-page-article .portraitist-book-detail.is-selection-confirmed,
	.page-template-page-article-php .portraitist-book-detail.is-selection-confirmed {
		border-color: rgba(139, 105, 57, .32);
		box-shadow: 0 12px 26px rgba(68, 49, 30, .09);
	}

	.page-template-page-article .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating,
	.page-template-page-article-php .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating {
		animation: portraitist-book-select-feedback .24s ease both;
	}
}

@keyframes portraitist-book-select-feedback {
	0% { transform: translateY(-3px) scale(1.0015); }
	45% { transform: translateY(-5px) scale(1.012); filter: drop-shadow(0 8px 8px rgba(60, 42, 25, .16)); }
	100% { transform: translateY(-3px) scale(1.0015); }
}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-article .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating,
	.page-template-page-article-php .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating {
		animation: none;
	}
}

/* Portraitist.jp | Public bookshelf reading experience | PC + mobile completion */
.page-template-page-article .portraitist-book-detail,
.page-template-page-article-php .portraitist-book-detail {
	transition: background-color .34s ease-out, border-color .34s ease-out, box-shadow .34s ease-out, transform .34s ease-out, opacity .3s ease-out;
}
.page-template-page-article .portraitist-book-detail__content,
.page-template-page-article-php .portraitist-book-detail__content {
	transition: opacity .3s ease-out, transform .3s ease-out;
}
.page-template-page-article .portraitist-book-detail__cover,
.page-template-page-article-php .portraitist-book-detail__cover {
	position: relative;
	border-radius: 2px;
	background: linear-gradient(135deg, rgba(237, 230, 217, .28), rgba(255, 253, 248, .08));
}
.page-template-page-article .portraitist-book-detail__cover img,
.page-template-page-article-php .portraitist-book-detail__cover img {
	opacity: 1;
	transition: opacity .34s ease-out, transform .34s ease-out;
}
.page-template-page-article .portraitist-book-detail.is-cover-loading .portraitist-book-detail__cover img,
.page-template-page-article-php .portraitist-book-detail.is-cover-loading .portraitist-book-detail__cover img {
	opacity: .94;
}
.page-template-page-article .portraitist-book-detail__excerpt,
.page-template-page-article-php .portraitist-book-detail__excerpt {
	margin: 0 0 16px !important;
	color: #75695d !important;
	font-family: var(--font-title) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.9 !important;
	letter-spacing: .045em !important;
}
.page-template-page-article .portraitist-book-detail__excerpt[hidden],
.page-template-page-article-php .portraitist-book-detail__excerpt[hidden] {
	display: none;
}
.page-template-page-article .portraitist-book-detail.is-actionable,
.page-template-page-article-php .portraitist-book-detail.is-actionable {
	cursor: pointer;
}
.page-template-page-article .portraitist-book-detail.is-actionable:focus-visible,
.page-template-page-article-php .portraitist-book-detail.is-actionable:focus-visible {
	outline: 1px solid rgba(130, 98, 48, .62);
	outline-offset: 3px;
}
.page-template-page-article .portraitist-book-detail__link,
.page-template-page-article-php .portraitist-book-detail__link {
	align-self: flex-end;
	margin: 4px 0 0 auto;
}
.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book,
.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book,
.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book__art,
.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book__art {
	-webkit-user-drag: none;
	user-select: none;
}

@media (min-width: 1181px) {
	.page-template-page-article .portraitist-fixed-shelf-books a.portraitist-image-book.is-selected,
	.page-template-page-article-php .portraitist-fixed-shelf-books a.portraitist-image-book.is-selected {
		z-index: 14;
		transform: translateY(-9px) scale(1.016);
		filter: drop-shadow(0 10px 9px rgba(60, 42, 25, .18));
		transition: transform .34s ease-out, filter .34s ease-out;
	}
	.page-template-page-article .portraitist-fixed-shelf-books a.portraitist-image-book--faceout.is-selected,
	.page-template-page-article-php .portraitist-fixed-shelf-books a.portraitist-image-book--faceout.is-selected {
		transform: translateY(-7px) scale(1.012);
	}
	.page-template-page-article .portraitist-book-detail.is-selection-confirmed,
	.page-template-page-article-php .portraitist-book-detail.is-selection-confirmed {
		border-color: rgba(139, 105, 57, .34);
		background: rgba(255, 253, 248, .64);
		box-shadow: 0 15px 34px rgba(68, 49, 30, .11);
		transform: translateY(-3px) scale(1.012);
	}
	.page-template-page-article .portraitist-book-detail.is-selection-confirmed .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail.is-selection-confirmed .portraitist-book-detail__cover img {
		transform: scale(1.012);
	}
	.page-template-page-article .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating,
	.page-template-page-article-php .portraitist-fixed-shelf-books a.portraitist-image-book.is-activating {
		animation: portraitist-book-lift-confirm .34s ease-out both;
	}
}

@keyframes portraitist-book-lift-confirm {
	0% { transform: translateY(-3px) scale(1.002); }
	55% { transform: translateY(-11px) scale(1.02); filter: drop-shadow(0 12px 10px rgba(60, 42, 25, .2)); }
	100% { transform: translateY(-9px) scale(1.016); filter: drop-shadow(0 10px 9px rgba(60, 42, 25, .18)); }
}

@media (max-width: 1180px) {
	.page-template-page-article .portraitist-fixed-shelf-viewport,
	.page-template-page-article-php .portraitist-fixed-shelf-viewport {
		overflow-x: auto;
		overflow-y: hidden;
		touch-action: pan-x pan-y;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}
	.page-template-page-article .portraitist-mobile-book-selection,
	.page-template-page-article-php .portraitist-mobile-book-selection {
		opacity: 1;
		transform: translateY(0);
		transition: opacity .28s ease-out, transform .28s ease-out;
	}
	.page-template-page-article .portraitist-mobile-book-selection.is-changing,
	.page-template-page-article-php .portraitist-mobile-book-selection.is-changing {
		opacity: .25;
		transform: translateY(4px);
	}
	.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book.is-selected,
	.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book.is-selected {
		z-index: 12;
		transform: translateY(-6px) scale(1.045);
		filter: brightness(1.02) drop-shadow(0 6px 6px rgba(60, 42, 25, .12));
		transition: transform .3s ease-out, filter .3s ease-out;
	}
	.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book--faceout.is-selected,
	.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book--faceout.is-selected {
		transform: translateY(-5px) scale(1.03);
	}
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail {
		touch-action: pan-y;
		transition: transform .32s ease-out, opacity .28s ease-out, visibility .32s ease-out, box-shadow .32s ease-out;
	}
	.page-template-page-article .portraitist-book-detail.is-open,
	.page-template-page-article-php .portraitist-book-detail.is-open {
		box-shadow: 0 20px 58px rgba(53, 40, 27, .24);
	}
	.page-template-page-article .portraitist-book-detail.is-open .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail.is-open .portraitist-book-detail__content {
		animation: portraitist-mobile-card-in .32s ease-out both;
	}
	.page-template-page-article .portraitist-book-detail__excerpt,
	.page-template-page-article-php .portraitist-book-detail__excerpt {
		margin-bottom: 12px !important;
		font-size: 10px !important;
		line-height: 1.8 !important;
	}
}

@keyframes portraitist-mobile-card-in {
	from { opacity: .2; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
	.page-template-page-article .portraitist-book-detail__link,
	.page-template-page-article-php .portraitist-book-detail__link {
		width: auto;
		min-width: min(100%, 190px);
		margin-left: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail__cover img,
	.page-template-page-article .portraitist-mobile-book-selection,
	.page-template-page-article-php .portraitist-mobile-book-selection,
	.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book,
	.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book {
		animation: none !important;
		transition-duration: .01ms !important;
	}
}

/* Portraitist.jp | Public bookshelf PC foundation correction | 2026-07-30 */
.portraitist-fixed-library-page .portraitist-book-detail__body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.portraitist-fixed-library-page .portraitist-book-detail__link {
	align-self: flex-end;
	margin: 4px 0 0 auto;
}
.portraitist-fixed-library-page .portraitist-book-detail__content {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .32s ease-out, transform .32s ease-out;
}
.portraitist-fixed-library-page .portraitist-book-detail.is-switching .portraitist-book-detail__content {
	opacity: .28;
	transform: translateY(5px);
}
.portraitist-fixed-library-page .portraitist-book-detail__cover img {
	opacity: 1;
	visibility: visible;
	transition: opacity .32s ease-out, transform .32s ease-out;
}
.portraitist-fixed-library-page .portraitist-book-detail.is-cover-loading .portraitist-book-detail__cover img {
	opacity: .18;
}
.portraitist-fixed-library-page .portraitist-book-detail.is-cover-ready .portraitist-book-detail__cover img {
	opacity: 1;
}

@media (min-width: 1181px) and (hover: hover) and (pointer: fine) {
	.portraitist-fixed-library-page .portraitist-fixed-shelf-books a.portraitist-image-book:hover,
	.portraitist-fixed-library-page .portraitist-fixed-shelf-books a.portraitist-image-book:focus-visible {
		z-index: 10;
		transform: translateY(-8px) scale(1.012);
		filter: drop-shadow(0 9px 8px rgba(60, 42, 25, .17));
		transition: transform .32s ease-out, filter .32s ease-out;
	}
	.portraitist-fixed-library-page .portraitist-fixed-shelf-books a.portraitist-image-book--faceout:hover,
	.portraitist-fixed-library-page .portraitist-fixed-shelf-books a.portraitist-image-book--faceout:focus-visible {
		transform: translateY(-7px) scale(1.01);
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-selection-confirmed {
		z-index: 30;
		border-color: rgba(139, 105, 57, .42);
		background: rgba(255, 253, 248, .72);
		box-shadow: 0 18px 38px rgba(68, 49, 30, .14);
		transform: translateY(-6px) scale(1.018);
		opacity: 1;
		transition: opacity .32s ease-out, transform .32s ease-out, box-shadow .32s ease-out, border-color .32s ease-out, background-color .32s ease-out;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portraitist-fixed-library-page .portraitist-book-detail,
	.portraitist-fixed-library-page .portraitist-book-detail__content,
	.portraitist-fixed-library-page .portraitist-book-detail__cover img,
	.portraitist-fixed-library-page .portraitist-fixed-shelf-books a.portraitist-image-book {
		animation: none !important;
		transition-duration: .01ms !important;
	}
}

/* Portraitist.jp | Public bookshelf reading entrance completion | 2026-07-30 */
.portraitist-fixed-library-page .portraitist-book-detail.is-cover-ready .portraitist-book-detail__cover img,
.portraitist-fixed-library-page .portraitist-book-detail:not(.is-cover-loading) .portraitist-book-detail__cover img {
	display: block;
	visibility: visible;
	opacity: 1;
}

.portraitist-reading-modal[hidden] {
	display: none !important;
}

@media (min-width: 1181px) {
	.portraitist-reading-modal {
		position: fixed;
		z-index: 12000;
		inset: 0;
		display: grid;
		place-items: center;
		padding: clamp(28px, 5vh, 64px) clamp(28px, 5vw, 76px);
		opacity: 0;
		visibility: hidden;
		transition: opacity .34s ease-out, visibility .34s ease-out;
	}
	.portraitist-reading-modal.is-open {
		opacity: 1;
		visibility: visible;
	}
	.portraitist-reading-modal__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(34, 27, 21, .56);
		backdrop-filter: blur(2px);
		opacity: 0;
		transition: opacity .34s ease-out;
	}
	.portraitist-reading-modal.is-open .portraitist-reading-modal__backdrop {
		opacity: 1;
	}
	.portraitist-reading-modal__card {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: minmax(260px, .88fr) minmax(320px, 1.12fr);
		align-items: center;
		gap: clamp(34px, 5vw, 74px);
		width: min(82vw, 1180px);
		height: min(82vh, 760px);
		max-height: 82vh;
		padding: clamp(34px, 5vh, 62px) clamp(38px, 5vw, 72px);
		border: 1px solid rgba(139, 105, 57, .28);
		border-radius: 3px;
		background: #fbf8f2;
		box-shadow: 0 32px 90px rgba(42, 31, 22, .34);
		overflow: auto;
		cursor: pointer;
		opacity: 0;
		transform: translateY(12px) scale(.985);
		transition: opacity .38s ease-out, transform .38s ease-out, box-shadow .38s ease-out;
	}
	.portraitist-reading-modal.is-open .portraitist-reading-modal__card {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
	.portraitist-reading-modal__card:focus-visible {
		outline: 1px solid rgba(139, 105, 57, .72);
		outline-offset: 5px;
	}
	.portraitist-reading-modal__close {
		position: absolute;
		top: 16px;
		right: 18px;
		z-index: 3;
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: #6b5d50;
		font-size: 28px;
		font-weight: 300;
		line-height: 1;
		cursor: pointer;
		transition: background-color .25s ease-out, transform .25s ease-out;
	}
	.portraitist-reading-modal__close:hover,
	.portraitist-reading-modal__close:focus-visible {
		background: rgba(139, 105, 57, .08);
		transform: translateY(-1px);
	}
	.portraitist-reading-modal__content {
		display: contents;
	}
	.portraitist-reading-modal__cover {
		display: grid;
		place-items: center;
		min-width: 0;
		min-height: 0;
		opacity: 0;
		transform: translateY(8px);
		transition: opacity .36s .05s ease-out, transform .36s .05s ease-out;
	}
	.portraitist-reading-modal.is-open .portraitist-reading-modal__cover {
		opacity: 1;
		transform: translateY(0);
	}
	.portraitist-reading-modal__cover img {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: min(64vh, 620px);
		object-fit: contain;
		filter: drop-shadow(0 18px 20px rgba(45, 32, 20, .18));
	}
	.portraitist-reading-modal__body {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
		opacity: 0;
		transform: translateY(9px);
		transition: opacity .38s .1s ease-out, transform .38s .1s ease-out;
	}
	.portraitist-reading-modal.is-open .portraitist-reading-modal__body {
		opacity: 1;
		transform: translateY(0);
	}
	.portraitist-reading-modal__meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 7px 12px;
		margin-bottom: 24px;
	}
	.portraitist-reading-modal__role {
		padding: 4px 9px;
		border: 1px solid rgba(139, 105, 57, .24);
		border-radius: 999px;
		color: #92754a;
		font-family: var(--font-title);
		font-size: 10px;
		letter-spacing: .12em;
	}
	.portraitist-reading-modal__date {
		color: #817568;
		font-family: var(--font-title);
		font-size: 10px;
		letter-spacing: .08em;
	}
	.portraitist-reading-modal__chapter {
		margin: 0 0 10px !important;
		color: #92754a !important;
		font-family: var(--font-title) !important;
		font-size: 11px !important;
		line-height: 1.7 !important;
		letter-spacing: .13em !important;
	}
	.portraitist-reading-modal__body h2 {
		margin: 0 0 24px !important;
		color: #493e34 !important;
		font-family: var(--font-title) !important;
		font-size: clamp(24px, 2.5vw, 39px) !important;
		font-weight: 400 !important;
		line-height: 1.5 !important;
		letter-spacing: .045em !important;
	}
	.portraitist-reading-modal__body h2::before,
	.portraitist-reading-modal__body h2::after {
		content: none !important;
	}
	.portraitist-reading-modal__tags {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 34px;
	}
	.portraitist-reading-modal__tags[hidden] {
		display: none;
	}
	.portraitist-reading-modal__tags span {
		display: inline-flex;
		align-items: center;
		min-height: 27px;
		padding: 4px 10px;
		border: 1px solid rgba(139, 105, 57, .18);
		border-radius: 999px;
		color: #74675b;
		font-family: var(--font-title);
		font-size: 10px;
		letter-spacing: .06em;
	}
	.portraitist-reading-modal__tags span.is-reader {
		border-color: rgba(128, 94, 55, .34);
		background: rgba(247, 238, 224, .78);
		color: #594633;
	}
	.portraitist-reading-modal__tags span.is-reader::before {
		content: "";
		width: 4px;
		height: 4px;
		margin-right: 5px;
		border-radius: 50%;
		background: rgba(151, 109, 48, .62);
	}
	.portraitist-reading-modal__tags span.is-saved-author {
		border-color: rgba(145, 111, 58, .30);
		background: rgba(248, 241, 229, .62);
		color: #65513e;
	}
	.portraitist-reading-modal__tags span.is-unsaved-author {
		opacity: .72;
	}
	.portraitist-reading-modal__link {
		align-self: flex-end;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		min-height: 44px;
		padding: 10px 18px;
		border: 1px solid rgba(139, 105, 57, .34);
		border-radius: 2px;
		color: #6e5739;
		font-family: var(--font-title);
		font-size: 11px;
		letter-spacing: .1em;
		background: rgba(255, 253, 248, .7);
	}
	.portraitist-reading-modal__actions {
		display: flex;
		justify-content: flex-end;
		align-items: stretch;
		gap: 12px;
	}
	.portraitist-reading-modal__collection-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		min-height: 44px;
		padding: 10px 18px;
		border: 1px solid rgba(139, 105, 57, .24);
		border-radius: 2px;
		color: #806846;
		font-family: var(--font-title);
		font-size: 11px;
		letter-spacing: .1em;
		background: transparent;
	}
	.portraitist-reading-modal__collection-link[hidden] { display: none; }
	.portraitist-book-detail__nav {
		display: none;
	}
}

@media (max-width: 1180px) {
	.portraitist-reading-modal {
		display: none !important;
	}
	.portraitist-mobile-book-selection:not([hidden]) {
		display: block;
	}
	.portraitist-book-detail__nav {
		position: absolute;
		z-index: 3;
		top: 50%;
		left: 8px;
		right: 8px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		pointer-events: none;
		transform: translateY(-50%);
	}
	.portraitist-book-detail__nav-button {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 1px solid rgba(139, 105, 57, .24);
		border-radius: 50%;
		background: rgba(251, 248, 242, .9);
		box-shadow: 0 4px 14px rgba(53, 40, 27, .1);
		color: #6e5739;
		font-size: 18px;
		line-height: 1;
		cursor: pointer;
		pointer-events: auto;
		transition: opacity .25s ease-out, transform .25s ease-out, background-color .25s ease-out;
	}
	.portraitist-book-detail__nav-button:disabled {
		opacity: .22;
		cursor: default;
		pointer-events: none;
	}
	.portraitist-book-detail__nav-button:not(:disabled):active {
		transform: scale(.96);
	}
	.portraitist-book-detail.is-open {
		cursor: pointer;
	}
	.portraitist-book-detail.is-open .portraitist-book-detail__content {
		padding-inline: 54px;
	}
}

@media (max-width: 640px) {
	.portraitist-book-detail__nav {
		left: 4px;
		right: 4px;
	}
	.portraitist-book-detail__nav-button {
		width: 38px;
		height: 38px;
	}
	.portraitist-book-detail.is-open .portraitist-book-detail__content {
		padding-inline: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portraitist-reading-modal,
	.portraitist-reading-modal__backdrop,
	.portraitist-reading-modal__card,
	.portraitist-reading-modal__cover,
	.portraitist-reading-modal__body,
	.portraitist-book-detail__nav-button {
		transition-duration: .01ms !important;
		animation: none !important;
	}
}

/* Portraitist.jp | Mobile bookshelf reading entrance finalization | 2026-07-30 */
@media (max-width: 1180px) {
	/* The single live title is moved directly after the shelf currently being viewed. */
	.portraitist-fixed-library-page .portraitist-mobile-book-selection,
	.page-template-page-article .portraitist-mobile-book-selection,
	.page-template-page-article-php .portraitist-mobile-book-selection {
		display: block;
		box-sizing: border-box;
		width: min(720px, calc(100% - 32px));
		min-height: 58px;
		margin: 8px auto 14px;
		padding: 11px 16px 10px;
		border-top: 1px solid rgba(111, 86, 56, .16);
		color: #4b4037;
		text-align: center;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity .24s ease-out;
	}
	.portraitist-fixed-library-page .portraitist-mobile-book-selection[hidden],
	.page-template-page-article .portraitist-mobile-book-selection[hidden],
	.page-template-page-article-php .portraitist-mobile-book-selection[hidden] {
		display: none;
	}
	.portraitist-fixed-library-page .portraitist-mobile-book-selection.is-changing,
	.page-template-page-article .portraitist-mobile-book-selection.is-changing,
	.page-template-page-article-php .portraitist-mobile-book-selection.is-changing {
		opacity: .28;
		transform: none;
	}
	.portraitist-fixed-library-page .portraitist-mobile-book-selection__chapter,
	.page-template-page-article .portraitist-mobile-book-selection__chapter,
	.page-template-page-article-php .portraitist-mobile-book-selection__chapter {
		display: none !important;
	}
	.portraitist-fixed-library-page .portraitist-mobile-book-selection__title,
	.page-template-page-article .portraitist-mobile-book-selection__title,
	.page-template-page-article-php .portraitist-mobile-book-selection__title {
		display: -webkit-box;
		overflow: hidden;
		margin: 0 !important;
		color: #4b4037 !important;
		font-family: var(--font-title) !important;
		font-size: clamp(13px, 3.7vw, 16px) !important;
		font-weight: 400 !important;
		line-height: 1.65 !important;
		letter-spacing: .055em !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	/* Mobile-only fixed-height bottom sheet. PC modal rules remain untouched. */
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail {
		position: fixed;
		z-index: 10020;
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		box-sizing: border-box;
		width: 100%;
		height: 58vh;
		height: 58dvh;
		min-height: 360px;
		max-height: 65vh;
		max-height: 65dvh;
		margin: 0;
		padding: 18px 14px calc(14px + env(safe-area-inset-bottom));
		border: 1px solid rgba(99, 75, 46, .22);
		border-bottom: 0;
		border-radius: 16px 16px 0 0;
		background: #fbf8f2;
		box-shadow: 0 -18px 48px rgba(53, 40, 27, .22);
		overflow: hidden;
		transform: translateY(102%);
		opacity: 0;
		visibility: hidden;
		touch-action: pan-y;
		transition: transform .34s ease-out, opacity .28s ease-out, visibility .34s ease-out;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-open,
	.page-template-page-article .portraitist-book-detail.is-open,
	.page-template-page-article-php .portraitist-book-detail.is-open {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail__content {
		display: flex;
		box-sizing: border-box;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		width: 100%;
		height: 100%;
		min-height: 0;
		padding: 24px 50px 2px;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__meta,
	.page-template-page-article .portraitist-book-detail__meta,
	.page-template-page-article-php .portraitist-book-detail__meta {
		flex: 0 0 auto;
		margin: 0 30px 2px 0;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail__cover {
		display: grid;
		flex: 0 0 auto;
		place-items: center;
		width: 100%;
		height: min(20dvh, 190px);
		min-height: 118px;
		padding: 0;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__cover img,
	.page-template-page-article .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail__cover img {
		display: block;
		width: auto;
		height: auto;
		max-width: min(52vw, 210px);
		max-height: 100%;
		object-fit: contain;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__content {
		gap: 10px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover {
		height: min(15dvh, 145px);
		min-height: 96px;
		margin: 0;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover img {
		max-width: min(32vw, 150px);
		max-height: 100%;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__chapter,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__chapter,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__chapter {
		margin-top: 0 !important;
		margin-bottom: 4px !important;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__body h2,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__body h2,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__body h2 {
		margin-bottom: 8px !important;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__body,
	.page-template-page-article .portraitist-book-detail__body,
	.page-template-page-article-php .portraitist-book-detail__body {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__chapter,
	.page-template-page-article .portraitist-book-detail__chapter,
	.page-template-page-article-php .portraitist-book-detail__chapter {
		margin-bottom: 4px !important;
		text-align: center;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__body h2,
	.page-template-page-article .portraitist-book-detail__body h2,
	.page-template-page-article-php .portraitist-book-detail__body h2 {
		display: -webkit-box;
		overflow: hidden;
		margin: 0 0 8px !important;
		font-size: clamp(15px, 4.2vw, 18px) !important;
		line-height: 1.55 !important;
		text-align: center;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__tags,
	.page-template-page-article .portraitist-book-detail__tags,
	.page-template-page-article-php .portraitist-book-detail__tags {
		justify-content: center;
		margin: 0 0 9px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__link,
	.page-template-page-article .portraitist-book-detail__link,
	.page-template-page-article-php .portraitist-book-detail__link {
		align-self: center;
		flex: 0 0 auto;
		width: min(100%, 260px);
		min-height: 44px;
		margin: auto auto 0;
		padding: 9px 14px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__close,
	.page-template-page-article .portraitist-book-detail__close,
	.page-template-page-article-php .portraitist-book-detail__close {
		top: 8px;
		right: 10px;
		z-index: 5;
		width: 40px;
		height: 40px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__nav,
	.page-template-page-article .portraitist-book-detail__nav,
	.page-template-page-article-php .portraitist-book-detail__nav {
		top: 48%;
		left: 7px;
		right: 7px;
		z-index: 4;
	}
	.portraitist-fixed-library-page .portraitist-book-detail-backdrop,
	.page-template-page-article .portraitist-book-detail-backdrop,
	.page-template-page-article-php .portraitist-book-detail-backdrop {
		position: fixed;
		z-index: 10010;
		inset: 0;
		display: block;
		background: rgba(35, 28, 22, .24);
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease-out, visibility .3s ease-out;
	}
	.portraitist-fixed-library-page .portraitist-book-detail-backdrop.is-open,
	.page-template-page-article .portraitist-book-detail-backdrop.is-open,
	.page-template-page-article-php .portraitist-book-detail-backdrop.is-open {
		opacity: 1;
		visibility: visible;
	}
	.portraitist-fixed-library-page .portraitist-book-detail-backdrop[hidden],
	.page-template-page-article .portraitist-book-detail-backdrop[hidden],
	.page-template-page-article-php .portraitist-book-detail-backdrop[hidden] {
		display: none;
	}
}

@media (max-width: 1180px) and (max-height: 560px) {
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail {
		height: 64vh;
		height: 64dvh;
		min-height: 300px;
		max-height: 65vh;
		max-height: 65dvh;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail__cover {
		height: min(17dvh, 130px);
		min-height: 88px;
	}
}

@media (max-width: 640px) {
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover {
		height: min(15dvh, 128px);
		min-height: 88px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover img {
		width: clamp(60px, 15vw, 68px);
		height: auto;
		max-width: clamp(60px, 15vw, 68px);
		max-height: none;
	}
}

@media (max-width: 390px) {
	.portraitist-fixed-library-page .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail__content {
		padding-inline: 42px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail__cover {
		height: min(18dvh, 165px);
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover {
		height: min(14dvh, 118px);
		min-height: 82px;
	}
	.portraitist-fixed-library-page .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article .portraitist-book-detail.is-tool .portraitist-book-detail__cover img,
	.page-template-page-article-php .portraitist-book-detail.is-tool .portraitist-book-detail__cover img {
		width: 60px;
		height: auto;
		max-width: 60px;
		max-height: none;
	}
}

@media (prefers-reduced-motion: reduce) and (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail,
	.portraitist-fixed-library-page .portraitist-book-detail-backdrop,
	.page-template-page-article .portraitist-book-detail-backdrop,
	.page-template-page-article-php .portraitist-book-detail-backdrop,
	.portraitist-fixed-library-page .portraitist-mobile-book-selection,
	.page-template-page-article .portraitist-mobile-book-selection,
	.page-template-page-article-php .portraitist-mobile-book-selection {
		transition-duration: .01ms !important;
	}
}

/* Portraitist.jp | Mobile full-library reach and site-wide quiet fade | 2026-07-30 */
@media (max-width: 1180px) {
	/* Only shelves containing more than the original 30 slots expand horizontally. */
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-stage {
		width: calc(var(--portraitist-shelf-stage-min) + (var(--portraitist-shelf-extra-count) * 28px) + 50vw);
		min-width: calc(var(--portraitist-shelf-stage-min) + (var(--portraitist-shelf-extra-count) * 28px) + 50vw);
	}
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-books {
		left: 21px;
		right: auto;
		justify-content: flex-start;
		width: max-content;
		--portraitist-shelf-book-width: 26px;
		--portraitist-shelf-book-gap: 1.7px;
	}
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-books::after {
		content: "";
		display: block;
		flex: 0 0 max(48vw, 180px);
		height: 1px;
		pointer-events: none;
	}
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-books .portraitist-image-book--featured {
		margin-right: 11px;
		margin-left: 11px;
	}
}

/* Content is visible before animation; failure of JavaScript cannot hide it. */
@media (prefers-reduced-motion: no-preference) {
	body:not(.page-template-page-article):not(.page-template-page-article-php) > header,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > section,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > article,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > .entry-content,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > .comments-area,
	body:not(.page-template-page-article):not(.page-template-page-article-php) > footer {
		animation: portraitist-quiet-reveal .38s ease-out both;
	}
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > section:nth-child(2),
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > article:nth-child(2) {
		animation-delay: .04s;
	}
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > section:nth-child(n+3),
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > article:nth-child(n+3) {
		animation-delay: .08s;
	}
	body:not(.page-template-page-article):not(.page-template-page-article-php) :where(a, button, input[type="submit"], input[type="button"]) {
		transition: opacity .28s ease-out, border-color .28s ease-out, background-color .28s ease-out, color .28s ease-out, box-shadow .28s ease-out;
	}
	body:not(.page-template-page-article):not(.page-template-page-article-php) :where(a, button, input[type="submit"], input[type="button"]):hover {
		opacity: .84;
	}
}

@keyframes portraitist-quiet-reveal {
	from { opacity: .9; transform: translateY(7px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	body:not(.page-template-page-article):not(.page-template-page-article-php) > header,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > section,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > article,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > .entry-content,
	body:not(.page-template-page-article):not(.page-template-page-article-php) #main > .comments-area,
	body:not(.page-template-page-article):not(.page-template-page-article-php) > footer {
		animation: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
}

@media (min-width: 1181px) {
	/* Keep the completed PC two-shelf presentation identical: mobile-only overflow books stay out of the PC layout. */
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-books > .portraitist-image-book:nth-child(n+31) {
		display: none;
	}
}

/* Portraitist.jp | Emergency restoration: PC 19+1+10 and mobile native reading link | 2026-07-30 */
@media (min-width: 1181px) {
	/* The featured face-out is structurally the 20th item; later mobile-only books cannot affect the completed PC row. */
	.portraitist-fixed-shelf-unit[data-shelf-row="2"] .portraitist-fixed-shelf-books > .portraitist-image-book:nth-child(n+31) {
		display: none !important;
	}
}

@media (max-width: 1180px) {
	/* Give the final real book enough transparent trailing space to reach the viewport selection centre. */
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-stage {
		width: max(
			var(--portraitist-shelf-stage-min),
			calc(42px + (var(--portraitist-shelf-item-count) * 28px) + 52vw)
		);
		min-width: max(
			var(--portraitist-shelf-stage-min),
			calc(42px + (var(--portraitist-shelf-item-count) * 28px) + 52vw)
		);
	}
	.portraitist-fixed-shelf-unit.has-overflow-books .portraitist-fixed-shelf-books::after {
		flex-basis: max(52vw, 190px);
	}

	/* The visible reading CTA is the front-most native anchor on iPhone Safari. */
	.portraitist-fixed-library-page .portraitist-book-detail__link,
	.page-template-page-article .portraitist-book-detail__link,
	.page-template-page-article-php .portraitist-book-detail__link {
		position: relative;
		z-index: 12;
		pointer-events: auto !important;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__link::before,
	.portraitist-fixed-library-page .portraitist-book-detail__link::after,
	.page-template-page-article .portraitist-book-detail__link::before,
	.page-template-page-article .portraitist-book-detail__link::after,
	.page-template-page-article-php .portraitist-book-detail__link::before,
	.page-template-page-article-php .portraitist-book-detail__link::after {
		pointer-events: none;
	}
}

/* Portraitist.jp | Mobile final reading-path correction | 2026-07-30 */
@media (max-width: 1180px) {
	/* Mobile alone presents the featured face-out first on the second shelf. PC DOM order remains 19 + 1 + 10. */
	.portraitist-fixed-shelf-unit[data-shelf-row="2"] .portraitist-image-book--featured {
		order: -1;
		margin-left: 0;
		margin-right: 34px;
	}
	.portraitist-fixed-shelf-unit[data-shelf-row="2"] .portraitist-shelf-object--globe {
		order: -1;
		margin-left: 0;
		margin-right: 34px;
	}

	/* Trailing centring space belongs to the scroll viewport, not to a dummy book. */
	.portraitist-fixed-shelf-viewport {
		box-sizing: border-box;
	}

	/* The native CTA itself is the only hit target at its coordinates. */
	.portraitist-fixed-library-page .portraitist-book-detail__link,
	.page-template-page-article .portraitist-book-detail__link,
	.page-template-page-article-php .portraitist-book-detail__link {
		isolation: isolate;
		position: relative;
		z-index: 30;
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__link > *,
	.page-template-page-article .portraitist-book-detail__link > *,
	.page-template-page-article-php .portraitist-book-detail__link > * {
		pointer-events: none;
	}
}

/* Portraitist.jp | Final native mobile reading link and quiet site fade completion | 2026-07-30 */
.portraitist-book-detail__link--mobile {
	display: none;
}

@media (max-width: 1180px) {
	/* The desktop CTA remains in its completed PC card only. */
	.portraitist-fixed-library-page .portraitist-book-detail__link--desktop,
	.page-template-page-article .portraitist-book-detail__link--desktop,
	.page-template-page-article-php .portraitist-book-detail__link--desktop {
		display: none !important;
	}

	/* Mobile sheet is three distinct hit-test regions: header, swipe area, footer CTA. */
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.portraitist-fixed-library-page .portraitist-book-detail__header,
	.page-template-page-article .portraitist-book-detail__header,
	.page-template-page-article-php .portraitist-book-detail__header {
		position: relative;
		z-index: 4;
		flex: 0 0 auto;
		min-height: 0;
		pointer-events: auto;
	}

	.portraitist-fixed-library-page .portraitist-book-detail__swipe-area,
	.page-template-page-article .portraitist-book-detail__swipe-area,
	.page-template-page-article-php .portraitist-book-detail__swipe-area {
		position: relative;
		z-index: 1;
		flex: 1 1 auto;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		pointer-events: auto;
	}

	.portraitist-fixed-library-page .portraitist-book-detail__mobile-footer,
	.page-template-page-article .portraitist-book-detail__mobile-footer,
	.page-template-page-article-php .portraitist-book-detail__mobile-footer {
		position: relative;
		z-index: 6;
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
		padding: 10px max(4px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));
		overflow: visible;
		background: #fbf8f2;
		pointer-events: auto;
		display: flex;
		flex-direction: column;
		gap: 8px;
		touch-action: manipulation;
	}

	.portraitist-fixed-library-page .portraitist-book-detail__collection-link--mobile,
	.page-template-page-article .portraitist-book-detail__collection-link--mobile,
	.page-template-page-article-php .portraitist-book-detail__collection-link--mobile {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		padding: 8px 12px;
		box-sizing: border-box;
		border: 1px solid rgba(139, 105, 57, .24);
		border-radius: 2px;
		color: #806846;
		font-family: var(--font-title);
		font-size: 10px;
		letter-spacing: .08em;
		background: transparent;
		pointer-events: auto;
		touch-action: manipulation;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__collection-link--mobile[hidden],
	.page-template-page-article .portraitist-book-detail__collection-link--mobile[hidden],
	.page-template-page-article-php .portraitist-book-detail__collection-link--mobile[hidden] { display: none; }

	.portraitist-fixed-library-page .portraitist-book-detail__link--mobile,
	.page-template-page-article .portraitist-book-detail__link--mobile,
	.page-template-page-article-php .portraitist-book-detail__link--mobile {
		position: relative;
		z-index: 1;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		margin: 0;
		padding: 9px 14px;
		box-sizing: border-box;
		pointer-events: auto !important;
		touch-action: manipulation !important;
		-webkit-user-select: none;
		user-select: none;
	}

	.portraitist-fixed-library-page .portraitist-book-detail__link--mobile > *,
	.page-template-page-article .portraitist-book-detail__link--mobile > *,
	.page-template-page-article-php .portraitist-book-detail__link--mobile > * {
		pointer-events: none !important;
	}

	.portraitist-fixed-library-page .portraitist-book-detail:not(.is-book) .portraitist-book-detail__link--mobile,
	.page-template-page-article .portraitist-book-detail:not(.is-book) .portraitist-book-detail__link--mobile,
	.page-template-page-article-php .portraitist-book-detail:not(.is-book) .portraitist-book-detail__link--mobile,
	.portraitist-fixed-library-page .portraitist-book-detail__link--mobile[aria-disabled="true"],
	.page-template-page-article .portraitist-book-detail__link--mobile[aria-disabled="true"],
	.page-template-page-article-php .portraitist-book-detail__link--mobile[aria-disabled="true"] {
		display: none !important;
	}
}

@media (min-width: 1181px) {
	.portraitist-fixed-library-page .portraitist-book-detail__link--desktop,
	.page-template-page-article .portraitist-book-detail__link--desktop,
	.page-template-page-article-php .portraitist-book-detail__link--desktop {
		display: inline-flex;
	}
}

/* 投稿別ブック画像：登録素材の縦横比を保ったまま既存領域へ収める */
.page-template-page-article .portraitist-fixed-shelf-books .portraitist-image-book.has-custom-spine .portraitist-image-book__art,
.page-template-page-article-php .portraitist-fixed-shelf-books .portraitist-image-book.has-custom-spine .portraitist-image-book__art {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.page-template-page-article .portraitist-book-detail__cover img,
.page-template-page-article-php .portraitist-book-detail__cover img {
	object-fit: contain;
	object-position: center;
	background: transparent;
}

/* =========================================================
   目次｜スマートフォン積層コンテキスト限定復旧
   親ヘッダーを本文・画像・公開本棚より前面へ確定
========================================================= */
@media only screen and (max-width: 600px) {
	body #header.portraitist-site-header {
		position: relative !important;
		z-index: 12000 !important;
		isolation: isolate !important;
		overflow: visible !important;
	}

	body #header.portraitist-site-header .portraitist-header-inner {
		position: relative !important;
		z-index: 1 !important;
		overflow: visible !important;
	}

	body #header.portraitist-site-header .portraitist-menu-toggle {
		position: relative !important;
		z-index: 3 !important;
	}

	body #header.portraitist-site-header #nav.portraitist-main-navigation {
		z-index: 2 !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	body #header.portraitist-site-header #nav.portraitist-main-navigation.is-open {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}

/* =========================================================
   Portraitist.jp｜智の図書館
   あなたの書斎 第1工程｜一列マイページ骨格
   /study/ のログイン済み表示だけに限定。
========================================================= */
.portraitist-member-page,
.portraitist-member-page * {
	box-sizing: border-box;
}

.portraitist-member-page__main.is-member {
	float: none;
	width: 100%;
	max-width: none;
}

.portraitist-member-page__main.is-member .portraitist-member-page__contents {
	width: min(100%, 1180px);
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(44px, 5.5vw, 76px) clamp(26px, 5vw, 64px) clamp(72px, 8vw, 112px);
	background: transparent;
}

.portraitist-member-area--dashboard {
	--study-ink: #44372c;
	--study-muted: #857565;
	--study-brass: #ad8132;
	--study-line: rgba(145, 111, 58, .26);
	--study-line-soft: rgba(110, 83, 48, .15);
	--study-paper: rgba(255, 252, 246, .66);
	--study-paper-deep: rgba(248, 241, 230, .62);
	color: var(--study-ink);
	font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
}

.portraitist-study-heading {
	margin: 0 0 18px;
}

.portraitist-study-heading h1 {
	margin: 0;
	font-size: clamp(19px, 1.75vw, 25px);
	font-weight: 400 !important;
	line-height: 1.45;
	letter-spacing: .055em;
	overflow-wrap: anywhere;
}

.portraitist-study-heading__decoration {
	display: block;
	width: clamp(90px, 8.5vw, 128px);
	height: auto;
	margin: -15px 0 -13px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.portraitist-study-membership {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0;
	color: #9b6e28;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .12em;
}

.portraitist-study-membership span[aria-hidden="true"] {
	color: rgba(145, 111, 58, .42);
}

.portraitist-study-profile {
	position: relative;
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto;
	gap: clamp(28px, 4vw, 50px);
	align-items: center;
	margin: 16px 0 clamp(36px, 5vw, 58px);
	padding: clamp(28px, 3.5vw, 40px);
	border: 1px solid var(--study-line);
	border-radius: 14px;
	background: var(--study-paper);
}

.portraitist-study-profile__avatar-wrap {
	position: relative;
	width: 132px;
}

.portraitist-study-profile__avatar {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(123, 91, 49, .12);
	border-radius: 50%;
	background: #f0e8dc;
	color: #6f4d20;
	font: inherit;
	cursor: pointer;
}

.portraitist-study-profile__avatar::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 27%;
	width: 34px;
	height: 34px;
	border: 2px solid #6f4d20;
	border-radius: 50%;
	transform: translateX(-50%);
}

.portraitist-study-profile__avatar::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 25%;
	width: 56px;
	height: 31px;
	border: 2px solid #6f4d20;
	border-bottom: 0;
	border-radius: 40px 40px 0 0;
	transform: translateX(-50%);
}

.portraitist-study-profile__avatar-wrap.has-image .portraitist-study-profile__avatar::before,
.portraitist-study-profile__avatar-wrap.has-image .portraitist-study-profile__avatar::after {
	display: none;
}

.portraitist-study-profile__avatar-image {
	display: block;
	box-sizing: border-box;
	border: 1px solid rgba(123, 91, 49, .22);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
}

.portraitist-study-profile__avatar-label {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	padding: 8px 5px 10px;
	background: rgba(247, 240, 229, .88);
	color: #6f4d20;
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: .05em;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .18s ease, transform .18s ease;
}

.portraitist-study-profile__avatar:hover .portraitist-study-profile__avatar-label,
.portraitist-study-profile__avatar:focus-visible .portraitist-study-profile__avatar-label {
	opacity: 1;
	transform: translateY(0);
}

.portraitist-study-profile__avatar:focus-visible {
	outline: 1px solid rgba(154, 116, 40, .75);
	outline-offset: 3px;
}

.portraitist-study-profile__avatar-input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.portraitist-study-profile__avatar-menu {
	position: absolute;
	z-index: 5;
	top: calc(100% + 10px);
	left: 50%;
	min-width: 132px;
	padding: 6px;
	border: 1px solid rgba(154, 116, 40, .2);
	border-radius: 8px;
	background: #fbf7ef;
	box-shadow: 0 8px 20px rgba(86, 63, 31, .08);
	transform: translateX(-50%);
}

.portraitist-study-profile__avatar-menu[hidden] {
	display: none;
}

.portraitist-study-profile__avatar-menu button {
	display: block;
	width: 100%;
	padding: 8px 10px;
	border: 0;
	background: transparent;
	color: #6f4d20;
	font: inherit;
	font-size: 11px;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
}

.portraitist-study-profile__avatar-menu button:hover,
.portraitist-study-profile__avatar-menu button:focus-visible {
	background: rgba(154, 116, 40, .06);
	outline: none;
}

.portraitist-study-profile__avatar-message {
	position: absolute;
	z-index: 4;
	top: calc(100% + 8px);
	left: 0;
	width: max-content;
	max-width: 240px;
	margin: 0;
	padding: 7px 9px;
	border: 1px solid rgba(154, 116, 40, .16);
	border-radius: 6px;
	background: #fbf7ef;
	color: #795b33;
	font-size: 10px;
	line-height: 1.5;
}

.portraitist-study-profile__avatar-wrap.is-loading .portraitist-study-profile__avatar {
	cursor: wait;
	opacity: .72;
}

html.portraitist-crop-open {
	overflow: hidden;
}

.portraitist-profile-crop[hidden] {
	display: none;
}

.portraitist-profile-crop {
	position: fixed;
	z-index: 10020;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
}

.portraitist-profile-crop__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(54, 42, 27, .34);
}

.portraitist-profile-crop__panel {
	position: relative;
	z-index: 1;
	width: min(92vw, 520px);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 28px;
	border: 1px solid rgba(154, 116, 40, .28);
	border-radius: 12px;
	background: #fbf7ef;
	box-shadow: 0 18px 44px rgba(65, 47, 25, .12);
	color: #4e3821;
}

.portraitist-profile-crop__panel h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
	text-align: center;
}

.portraitist-profile-crop__help {
	margin: 8px 0 20px;
	color: #846b4d;
	font-size: 11px;
	line-height: 1.6;
	text-align: center;
}

.portraitist-profile-crop__stage {
	position: relative;
	width: min(100%, 360px);
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid rgba(154, 116, 40, .32);
	background: #eee4d5;
	touch-action: none;
	cursor: grab;
	user-select: none;
}

.portraitist-profile-crop__stage:active {
	cursor: grabbing;
}

.portraitist-profile-crop__stage img {
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: none;
	max-height: none;
	pointer-events: none;
	transform-origin: center;
}

.portraitist-profile-crop__circle {
	position: absolute;
	inset: 8%;
	border: 1px solid rgba(255, 252, 246, .82);
	border-radius: 50%;
	box-shadow: 0 0 0 999px rgba(48, 36, 23, .15);
	pointer-events: none;
}

.portraitist-profile-crop__zoom {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	width: min(100%, 360px);
	margin: 20px auto 0;
	font-size: 11px;
	color: #71583c;
}

.portraitist-profile-crop__zoom input[type="range"] {
	width: 100%;
	accent-color: #a77a2b;
}

.portraitist-profile-crop__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	width: min(100%, 360px);
	margin: 22px auto 0;
}

.portraitist-profile-crop__actions button {
	min-height: 40px;
	padding: 9px 16px;
	border: 1px solid rgba(154, 116, 40, .3);
	border-radius: 6px;
	font: inherit;
	font-size: 11px;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease;
}

.portraitist-profile-crop__cancel {
	background: transparent;
	color: #71583c;
}

.portraitist-profile-crop__use {
	background: #b4862d;
	color: #fff;
}

.portraitist-profile-crop__actions button:hover,
.portraitist-profile-crop__actions button:focus-visible {
	border-color: rgba(130, 91, 34, .56);
	outline: none;
}

.portraitist-profile-crop__use:hover,
.portraitist-profile-crop__use:focus-visible {
	background: #a67925;
}


@media (max-width: 640px) {
	.portraitist-profile-crop {
		padding: 14px;
	}

	.portraitist-profile-crop__panel {
		width: 100%;
		max-height: calc(100vh - 28px);
		padding: 20px 16px;
	}

	.portraitist-profile-crop__stage {
		width: min(100%, 320px);
	}

	.portraitist-profile-crop__actions {
		justify-content: stretch;
	}

	.portraitist-profile-crop__actions button {
		flex: 1 1 0;
	}
}

.portraitist-study-profile__content {
	min-width: 0;
}

.portraitist-study-profile__content h2 {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .04em;
}

.portraitist-study-profile__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(28px, 3.5vw, 48px);
}

.portraitist-study-profile__name.is-unset {
	color: #9a8062;
	font-size: 18px;
	letter-spacing: .06em;
}

.portraitist-study-profile__grid dl {
	margin: 0;
}

.portraitist-study-profile__grid dl > div {
	display: grid;
	grid-template-columns: minmax(100px, .95fr) minmax(0, 1.05fr);
	gap: 12px;
	align-items: center;
	min-height: 36px;
	border-bottom: 1px solid var(--study-line-soft);
}

.portraitist-study-profile__grid dt,
.portraitist-study-profile__grid dd {
	margin: 0;
	font-size: 12px;
	line-height: 1.65;
}

.portraitist-study-profile__grid dt {
	display: flex;
	gap: 7px;
	align-items: center;
	color: var(--study-ink);
	white-space: nowrap;
}

.portraitist-study-profile__grid dt span {
	width: 16px;
	color: #9b6e28;
	font-size: 13px;
	text-align: center;
}

.portraitist-study-profile__grid dd {
	min-width: 0;
	color: var(--study-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.portraitist-study-profile__future-action,
.portraitist-study-section__future-link {
	color: #8e6528;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .08em;
	white-space: nowrap;
}

.portraitist-study-profile__future-action {
	align-self: end;
	padding: 12px 16px;
	border: 1px solid rgba(173, 129, 50, .45);
	background: rgba(255, 253, 248, .42);
}

/* Initialized profile: quiet name-card presentation. */
.portraitist-study-profile.is-profile-initialized {
	position: relative;
	grid-template-columns: 150px minmax(0, 1fr);
}

.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__content {
	display: flex;
	min-height: 132px;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__name {
	margin: 0 0 15px;
	padding: 0;
	border: 0;
	font-weight: 400 !important;
}

.portraitist-study-profile__identity-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 8px;
	max-width: 720px;
}

.portraitist-study-profile__identity-tag {
	display: inline-flex;
	align-items: center;
	min-height: 29px;
	max-width: 100%;
	padding: 5px 11px;
	border: 1px solid rgba(145, 111, 58, .24);
	border-radius: 16px;
	background: rgba(255, 252, 246, .58);
	color: #5f4c3a;
	font-size: 10px;
	line-height: 1.45;
	letter-spacing: .035em;
}

.portraitist-study-profile__socials {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}

.portraitist-study-profile__socials a {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border: 1px solid rgba(145, 111, 58, .23);
	border-radius: 50%;
	background: rgba(255, 252, 246, .44);
	color: #8e6528;
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.portraitist-study-profile__socials a:hover,
.portraitist-study-profile__socials a:focus-visible {
	border-color: rgba(145, 111, 58, .48);
	background: rgba(250, 244, 233, .82);
	color: #6f4d20;
	outline: none;
}

.portraitist-study-section {
	margin: 0 0 clamp(30px, 3.8vw, 46px);
}

.portraitist-study-section__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin: 0 12px 15px;
}

.portraitist-study-section__header h2,
.portraitist-study-guide h2 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: clamp(18px, 1.8vw, 22px);
	font-weight: 400;
	font-synthesis: none;
	line-height: 1.45;
	letter-spacing: .065em;
}
.portraitist-study-section__heading {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	min-width: 0;
}
.portraitist-study-section__heading img {
	display: block;
	width: clamp(90px, 8.5vw, 128px);
	height: auto;
	max-width: 100%;
	margin: -18px 0 -18px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.portraitist-study-books-workspace {
	display: block;
	min-width: 0;
}

/* Saved works: selected books face the reader; the wooden shelf remains exclusive to the public library/comment shelf. */
.portraitist-study-featured-slider {
	position: relative;
	min-width: 0;
	padding: 4px 42px 10px;
}
.portraitist-study-featured-slider__viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.portraitist-study-featured-slider__viewport::-webkit-scrollbar { display:none; }
.portraitist-study-featured-slider__track {
	display: flex;
	align-items: flex-end;
	gap: clamp(14px, 1.45vw, 22px);
	width: max-content;
	min-width: 100%;
	padding: 8px 2px 14px;
}
.portraitist-study-featured-slider__item {
	flex: 0 0 clamp(132px, 13vw, 176px);
	width: clamp(132px, 13vw, 176px);
	scroll-snap-align: start;
}
.portraitist-featured-face-card {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}
.portraitist-featured-face-card__frame {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	aspect-ratio: 0.68 / 1;
}
.portraitist-featured-face-card__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
	object-position: center bottom;
}
@media (hover:hover) and (pointer:fine) {
	.portraitist-featured-face-card:hover { transform: translateY(-3px); filter: drop-shadow(0 6px 7px rgba(67,48,29,.10)); }
}
.portraitist-featured-face-card:focus-visible { outline:1px solid rgba(130,98,48,.66); outline-offset:3px; }
.portraitist-featured-face-card.is-study-selected { transform:translateY(-4px); filter:drop-shadow(0 8px 8px rgba(67,48,29,.13)); }
.portraitist-study-featured-slider__nav {
	position:absolute;
	top:50%;
	z-index:4;
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	padding:0;
	border:1px solid rgba(173,129,50,.30);
	border-radius:50%;
	background:rgba(255,252,246,.86);
	color:#9b6e28;
	font-family:serif;
	font-size:22px;
	line-height:1;
	transform:translateY(-50%);
	cursor:pointer;
}
.portraitist-study-featured-slider__nav--prev { left:0; }
.portraitist-study-featured-slider__nav--next { right:0; }
.portraitist-study-featured-slider__nav:disabled { opacity:.22; cursor:default; }
.portraitist-study-featured-slider__empty,
.portraitist-study-empty-state {
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:clamp(24px,3vw,36px);
	width:fit-content;
	max-width:100%;
	margin:18px 12px 10px;
	color:#8a7b6b;
	font-size:11px;
	letter-spacing:.04em;
}
.portraitist-study-featured-slider__empty { margin-right:0; margin-left:0; }
.portraitist-study-featured-slider__empty p,
.portraitist-study-empty-state p { margin:0; color:#6f6255; font-family:var(--font-title),serif; font-size:13px; font-weight:400; line-height:1.8; letter-spacing:.07em; }
.portraitist-study-featured-slider__empty a,
.portraitist-study-empty-state a { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-height:36px; padding:6px 15px; border:1px solid rgba(173,129,50,.36); border-radius:9px; background:rgba(253,249,241,.48); color:#8b672c; font-family:var(--font-title),serif; font-size:10.5px; line-height:1.5; letter-spacing:.08em; text-decoration:none; }
.portraitist-study-featured-slider__empty a:hover,.portraitist-study-featured-slider__empty a:focus-visible,
.portraitist-study-empty-state a:hover,.portraitist-study-empty-state a:focus-visible { border-color:rgba(154,116,40,.62); background:rgba(253,249,241,.78); outline:none; }

/* Public-library selected books use the dedicated front-cover image; shelf spines remain unchanged. */
.portraitist-fixed-shelf-books .portraitist-image-book.is-faceout-selected .portraitist-image-book__art {
	height: 96%;
	width: auto;
	max-width: none;
	object-fit: contain;
}

.portraitist-study-section--books .portraitist-study-section__header {
	align-items: center;
	margin-bottom: 20px;
}
.portraitist-study-section--books .portraitist-study-section__header h2 {
	font-size: clamp(16px, 1.45vw, 19px);
	font-weight: 400;
}
.portraitist-study-section--books .portraitist-study-section__header h2::before,
.portraitist-study-section--books .portraitist-study-section__header h2::after { content: none !important; display: none !important; }
.portraitist-study-section__future-link { color:#9b6e28; text-decoration:none; }

.portraitist-study-shelf {
	position: relative;
	min-width: 0;
	padding: 0;
}

.portraitist-study-shelf::before,
.portraitist-study-shelf::after {
	position: absolute;
	top: 45%;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(173, 129, 50, .30);
	border-radius: 50%;
	background: rgba(255, 252, 246, .80);
	color: #9b6e28;
	font-family: serif;
	font-size: 22px;
	line-height: 1;
	transform: translateY(-50%);
	pointer-events: none;
}
.portraitist-study-shelf::before { content: "‹"; left: -4px; }
.portraitist-study-shelf::after { content: "›"; right: -4px; }

.portraitist-study-shelf__viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.portraitist-study-shelf__viewport::-webkit-scrollbar { display: none; }

.portraitist-study-shelf__stage {
	position: relative;
	isolation: isolate;
	container-type: inline-size;
	width: 100%;
	min-width: 0;
	aspect-ratio: 3.27 / 1;
	overflow: hidden;
	--portraitist-study-shelf-book-width: 2.50cqw;
	--portraitist-study-shelf-book-gap: .16cqw;
	--portraitist-study-shelf-baseline: 34%;
	--portraitist-study-shelf-book-height: 17.12cqw;
}
.portraitist-study-shelf__image {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: translateY(-15%);
	transform-origin: top center;
}
.portraitist-study-shelf__books {
	position: absolute;
	z-index: 3;
	left: 6.2%;
	right: 6.2%;
	bottom: var(--portraitist-study-shelf-baseline);
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: var(--portraitist-study-shelf-book-gap);
	height: var(--portraitist-study-shelf-book-height);
	min-width: 0;
	pointer-events: none;
}
.portraitist-study-shelf__book {
	display: flex;
	align-items: flex-end;
	height: 100%;
	pointer-events: auto;
}
.portraitist-study-shelf .portraitist-image-book {
	position: relative;
	display: block;
	flex: 0 0 var(--portraitist-study-shelf-book-width);
	width: var(--portraitist-study-shelf-book-width);
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform-origin: center bottom;
	pointer-events: auto;
	cursor: pointer;
	transition: transform .18s ease, filter .18s ease;
}
.portraitist-study-shelf .portraitist-image-book__art {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: auto;
	height: var(--portraitist-spine-height, 100%);
	max-width: none;
	max-height: 100%;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
	transform: translateX(-50%);
	transform-origin: center bottom;
	pointer-events: none;
}
.portraitist-study-shelf__bookend {
	display: block;
	flex: 0 0 auto;
	width: auto;
	height: min(10cqw, 62%);
	max-width: none;
	margin: 0 0 0 .65cqw;
	border: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
	.portraitist-study-shelf a.portraitist-image-book:hover {
		transform: translateY(-2px);
		filter: drop-shadow(0 3px 4px rgba(67, 48, 29, .10));
	}
}
.portraitist-study-shelf a.portraitist-image-book:focus-visible {
	outline: 1px solid rgba(130, 98, 48, .66);
	outline-offset: 2px;
}
.portraitist-study-shelf .portraitist-image-book.is-study-selected { z-index: 5; }
@media (min-width: 1181px) {
	.portraitist-study-shelf .portraitist-image-book.is-study-selected {
		z-index: 14;
		transform: translateY(-9px) scale(1.016);
		filter: drop-shadow(0 10px 9px rgba(60, 42, 25, .18));
		transition: transform .34s ease-out, filter .34s ease-out;
	}
	.portraitist-study-shelf .portraitist-image-book.is-study-faceout .portraitist-image-book__art {
		height: 96%; width: auto; max-width: none; object-fit: contain;
	}
	.portraitist-study-shelf .portraitist-image-book.is-study-activating {
		animation: portraitist-book-lift-confirm .34s ease-out both;
	}
}
.portraitist-study-words {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(3, max-content);
	grid-auto-columns: max-content;
	align-items: start;
	justify-content: start;
	gap: 9px 10px;
	min-height: 48px;
	max-width: 100%;
	padding: 1px 8px 10px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
}
.portraitist-study-words::-webkit-scrollbar { display: none; }

.portraitist-study-word {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	max-width: 100%;
	white-space: nowrap;
	padding: 7px 15px;
	border: 1px solid rgba(145, 111, 58, .25);
	border-radius: 22px;
	background: rgba(255, 252, 246, .62);
	color: #5f4c3a;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .04em;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

@media (hover: hover) {
	.portraitist-study-word:hover {
		border-color: rgba(145, 111, 58, .44);
		background: rgba(250, 244, 233, .82);
		transform: translateY(-1px);
	}
}

.portraitist-study-word:focus-visible {
	outline: 1px solid rgba(145, 111, 58, .58);
	outline-offset: 3px;
}

.portraitist-study-word[hidden] { display: none; }

.portraitist-study-word--reader {
	border-color: rgba(128, 94, 55, .32);
	background: rgba(248, 241, 229, .74);
}
.portraitist-study-word-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 8px;
	margin: -3px 8px 15px;
	color: rgba(100, 80, 59, .42);
	font-size: 10px;
	letter-spacing: .05em;
}
.portraitist-study-word-filters button {
	padding: 2px 0;
	border: 0;
	border-bottom: 1px solid transparent;
	background: transparent;
	color: rgba(82, 66, 51, .62);
	font: inherit;
	cursor: pointer;
}
.portraitist-study-word-filters button.is-active {
	border-bottom-color: rgba(151, 109, 48, .45);
	color: #5f4c3a;
}
.portraitist-study-word-filters button:focus-visible {
	outline: 1px solid rgba(145, 111, 58, .46);
	outline-offset: 3px;
}

@media (min-width: 1181px) {
	.portraitist-study-section--words {
		display: grid;
		grid-template-columns: minmax(0, 2.35fr) minmax(250px, .95fr);
		column-gap: clamp(28px, 3.2vw, 46px);
		align-items: start;
	}
	.portraitist-study-section--words > .portraitist-study-section__header,
	.portraitist-study-section--words > .portraitist-study-word-filters,
	.portraitist-study-section--words > .portraitist-study-words { grid-column: 1 / -1; min-width: 0; }
	.portraitist-study-section--words > .portraitist-study-section__header { width: 100%; }
}
.portraitist-study-book-detail {
	position:fixed;
	z-index:10040;
	left:50%;
	top:50%;
	display:grid;
	grid-template-columns:minmax(300px,430px) minmax(0,1fr);
	align-items:center;
	gap:clamp(34px,4vw,58px);
	width:min(76vw,1160px);
	max-height:min(86vh,820px);
	padding:clamp(38px,4vw,56px);
	border:1px solid rgba(99,75,46,.22);
	border-radius:10px;
	background:#fbf8f2;
	box-shadow:0 20px 60px rgba(53,40,27,.24);
	overflow-y:auto;
	transform:translate(-50%,-46%) scale(.985);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:transform .22s ease,opacity .18s ease,visibility .22s ease;
}
.portraitist-study-book-detail.is-open { transform:translate(-50%,-50%) scale(1); opacity:1; visibility:visible; pointer-events:auto; }
.portraitist-study-book-detail__close { position:absolute; z-index:2; top:8px; right:10px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; background:transparent; color:#6b5d50; font:inherit; font-size:23px; font-weight:300; cursor:pointer; }
.portraitist-study-book-detail__cover { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; margin-bottom:0; }
.portraitist-study-book-detail__cover img { display:block; width:auto; height:auto; max-width:100%; max-height:min(66vh,600px); border:0; background:transparent; box-shadow:none; object-fit:contain; }
.portraitist-study-book-detail__chapter { margin:0 0 6px; color:#92754a; font-size:9px; line-height:1.55; letter-spacing:.13em; }
.portraitist-study-book-detail__meta { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0 0 8px; color:#817568; font-size:9px; line-height:1.55; letter-spacing:.08em; }
.portraitist-study-book-detail__body h3 { margin:0 0 13px; color:#4b4037; font-family:var(--font-title); font-size:clamp(16px,1.25vw,19px); font-weight:400; line-height:1.7; letter-spacing:.065em; }
.portraitist-study-book-detail__tags { display:flex; flex-wrap:wrap; gap:6px 7px; margin:0 0 18px; }
.portraitist-study-book-detail__tags[hidden] { display:none; }
.portraitist-study-comment-detail__excerpt { margin:0 0 10px; color:#66584b; font-size:11px; line-height:1.9; letter-spacing:.035em; }


/* /study/ 記した感想：1コメント＝1通の縦型葉書 */
.portraitist-study-letter-section .portraitist-study-section__header { margin-bottom: 20px; }
.portraitist-study-comments-workspace { position: relative; min-width: 0; }
.portraitist-study-letter-slider { position: relative; padding-inline: 42px; }
.portraitist-study-letter-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	padding: 14px 8px 24px;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	scroll-snap-type: x proximity;
}
.portraitist-study-letter-viewport::-webkit-scrollbar { display: none; }
.portraitist-study-letter-track {
	display: flex;
	align-items: flex-start;
	gap: clamp(18px, 2.2vw, 32px);
	width: max-content;
	min-width: 100%;
	padding: 2px 4px 12px;
}
.portraitist-study-letter-card {
	position: relative;
	isolation: isolate;
	flex: 0 0 clamp(280px, 24vw, 330px);
	width: clamp(280px, 24vw, 330px);
	aspect-ratio: 1000 / 1480;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background-color: #f7f0e4;
	background-image: var(--portraitist-letter-bg, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	box-shadow: 0 5px 14px rgba(70, 52, 32, .08);
	color: #4f4034;
	font: inherit;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	scroll-snap-align: start;
	transition: transform .2s ease, box-shadow .2s ease;
}
.portraitist-study-letter-card__content {
	position: absolute;
	inset: 0;
	display: block;
	pointer-events: none;
}
.portraitist-study-letter-card__excerpt {
	position: absolute;
	left: 11.6%;
	right: 10.8%;
	top: 28.2%;
	display: -webkit-box;
	max-height: none;
	overflow: hidden;
	color: #4e4035;
	font-family: var(--font-title), serif;
	font-size: clamp(10.5px, .82vw, 12px);
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: .035em;
	overflow-wrap: anywhere;
	word-break: normal;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
}
.portraitist-study-letter-card__meta {
	position: absolute;
	left: 11.6%;
	right: 7.8%;
	top: 72.4%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: clamp(6px, .55vw, 9px);
	text-align: right;
}
.portraitist-study-letter-card__title {
	display: -webkit-box;
	max-width: 86%;
	overflow: hidden;
	color: #4e4035;
	font-family: var(--font-title), serif;
	font-size: clamp(9.5px, .72vw, 11px);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .035em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.portraitist-study-letter-card__date {
	color: #625346;
	font-family: var(--font-title), serif;
	font-size: clamp(8.5px, .63vw, 10px);
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .06em;
}
@media (hover: hover) and (pointer: fine) {
	.portraitist-study-letter-card:hover {
		z-index: 5;
		transform: translateY(-5px);
		box-shadow: 0 11px 22px rgba(70, 52, 32, .12);
	}
}
.portraitist-study-letter-card:focus-visible {
	z-index: 6;
	outline: 1px solid rgba(150, 110, 52, .58);
	outline-offset: 4px;
	transform: translateY(-3px);
}
.portraitist-study-letter-slider__nav {
	position: absolute;
	z-index: 30;
	top: 50%;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(151, 112, 54, .28);
	border-radius: 50%;
	background: rgba(255, 252, 246, .88);
	color: #a47732;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}
.portraitist-study-letter-slider__nav--prev { left: 0; }
.portraitist-study-letter-slider__nav--next { right: 0; }
.portraitist-study-letter-slider__nav:disabled { opacity: .24; cursor: default; }

@media (max-width: 1180px) {
	.portraitist-study-letter-slider { padding-inline: 34px; }
	.portraitist-study-letter-card {
		flex-basis: clamp(285px, 42vw, 340px);
		width: clamp(285px, 42vw, 340px);
	}
	.portraitist-study-letter-track { gap: clamp(16px, 2.5vw, 24px); }
	.portraitist-study-letter-card__excerpt { font-size: clamp(10.5px, 1.45vw, 12px); }
	.portraitist-study-letter-card__title { font-size: clamp(9.5px, 1.25vw, 11px); }
	.portraitist-study-letter-card__date { font-size: clamp(8.5px, 1.05vw, 10px); }
}
@media (max-width: 640px) {
	.portraitist-study-letter-slider { padding-inline: 28px; }
	.portraitist-study-letter-viewport { padding-inline: 4px; }
	.portraitist-study-letter-track { gap: 14px; }
	.portraitist-study-letter-card {
		flex-basis: min(88vw, 360px);
		width: min(88vw, 360px);
	}
	.portraitist-study-letter-card__excerpt {
		font-size: clamp(10.5px, 3vw, 12px);
		line-height: 1.88;
	}
	.portraitist-study-letter-card__title { font-size: clamp(9.5px, 2.7vw, 11px); }
	.portraitist-study-letter-card__date { font-size: clamp(8.5px, 2.45vw, 10px); }
	.portraitist-study-letter-slider__nav { width: 29px; height: 29px; font-size: 18px; }
}
.portraitist-study-book-detail__tags span { display:inline-flex; align-items:center; min-height:22px; padding:3px 8px 2px; border:1px solid rgba(116,91,59,.16); border-radius:1px; background:rgba(236,228,212,.24); color:#6a5d50; font-size:9px; line-height:1.4; letter-spacing:.06em; }
.portraitist-study-book-detail__read { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; margin-left:auto; border:1px solid rgba(139,105,57,.34); background:rgba(255,253,248,.44); color:#6b5434; font-family:var(--font-title); font-size:11px; font-weight:400; line-height:1.5; letter-spacing:.08em; text-decoration:none; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.portraitist-study-book-detail__read:hover,.portraitist-study-book-detail__read:focus-visible { border-color:rgba(139,105,57,.55); background:rgba(255,253,248,.72); transform:translateY(-1px); }
.portraitist-study-book-detail-backdrop { position:fixed; z-index:10030; inset:0; display:block; background:rgba(35,28,22,.20); }
.portraitist-study-book-detail-backdrop[hidden] { display:none; }
html.portraitist-study-book-detail-open { overflow:hidden; }

@media (max-width:1180px) {
	.portraitist-study-books-workspace { display:block; }
	.portraitist-study-shelf__stage { width:980px; min-width:980px; }
	.portraitist-study-shelf__books { left:5.6%; right:5.6%; --portraitist-study-shelf-book-width:2.75cqw; --portraitist-study-shelf-book-gap:.1cqw; }
	.portraitist-study-shelf__bookend { height:min(10cqw,60%); margin-left:.7cqw; }
	.portraitist-study-shelf a.portraitist-image-book:hover { transform:none; filter:none; }
	.portraitist-study-book-detail {
		position:fixed;
		width:auto;
		z-index:10040;
		left:12px;
		right:12px;
		top:auto;
		bottom:12px;
		display:grid;
		grid-template-columns:minmax(125px,165px) minmax(0,1fr);
		align-items:center;
		gap:20px;
		min-height:0;
		max-height:min(76vh,600px);
		padding:28px 22px 22px;
		border-color:rgba(99,75,46,.22);
		border-radius:10px;
		background:#fbf8f2;
		box-shadow:0 18px 50px rgba(53,40,27,.22);
		overflow-y:auto;
		transform:translateY(calc(100% + 30px));
		opacity:0;
		visibility:hidden;
		transition:transform .22s ease,opacity .18s ease,visibility .22s ease;
	}
	.portraitist-study-book-detail.is-open { transform:translateY(0); opacity:1; visibility:visible; }
	.portraitist-study-book-detail__close { position:absolute; z-index:2; top:7px; right:9px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; background:transparent; color:#6b5d50; font:inherit; font-size:23px; font-weight:300; cursor:pointer; }
	.portraitist-study-book-detail__cover { min-height:0; margin-bottom:0; }
	.portraitist-study-book-detail__cover img { max-width:145px; max-height:190px; }
	.portraitist-study-book-detail-backdrop { position:fixed; z-index:10030; inset:0; display:block; background:rgba(35,28,22,.20); }
	.portraitist-study-book-detail-backdrop[hidden] { display:none; }
}
@media (max-width:640px) {
	.portraitist-study-section--books .portraitist-study-section__header h2 { font-size:17px; }
	.portraitist-study-book-detail { left:10px; right:10px; bottom:10px; grid-template-columns:96px minmax(0,1fr); gap:14px; max-height:min(82vh,680px); padding:28px 16px 18px; }
	.portraitist-study-book-detail__cover img { max-width:92px; max-height:150px; }
	.portraitist-study-book-detail__body h3 { font-size:15px; }
	.portraitist-study-book-detail__tags { gap:5px 6px; margin-bottom:14px; }
	.portraitist-study-book-detail__read { min-height:40px; padding:8px 13px; }
}


/* /study/books/ — the current member's saved Featured Images. */
.portraitist-saved-books-page__contents { max-width:1240px; margin:0 auto; padding-top:clamp(58px,7vw,92px); padding-bottom:clamp(70px,8vw,110px); }
.portraitist-saved-books-page__header { margin:0 0 clamp(34px,4vw,54px); }
.portraitist-saved-books-page__header p { margin:0 0 24px; font-size:10px; letter-spacing:.08em; }
.portraitist-saved-books-page__header a { color:#8f6a34; text-decoration:none; }
.portraitist-saved-books-page__header h1 { margin:0; color:#4a3e34; font-family:var(--font-title); font-size:clamp(23px,2.2vw,31px); font-weight:400; line-height:1.5; letter-spacing:.07em; }
.portraitist-saved-books-workspace { display:grid; grid-template-columns:minmax(0,2.65fr) minmax(230px,.85fr); gap:clamp(28px,3.2vw,46px); align-items:start; }
.portraitist-saved-books-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(24px,3vw,42px) clamp(16px,2vw,28px); min-width:0; }
.portraitist-saved-books-grid__item { min-width:0; }
.portraitist-saved-books-grid .portraitist-featured-face-card__frame { aspect-ratio:.68 / 1; }
.portraitist-saved-books-page__empty { margin:0; color:#817568; font-size:12px; letter-spacing:.04em; }
@media (max-width:1180px) {
	.portraitist-study-featured-slider { padding-inline:38px; }
	.portraitist-study-featured-slider__item { flex-basis:132px; width:132px; }
	.portraitist-saved-books-page__contents { padding-inline:clamp(22px,5vw,52px); }
	.portraitist-saved-books-workspace { display:block; }
	.portraitist-saved-books-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.portraitist-study-featured-slider { padding-inline:32px; }
	.portraitist-study-featured-slider__item { flex-basis:116px; width:116px; }
	.portraitist-study-featured-slider__track { gap:12px; }
	.portraitist-study-featured-slider__nav { width:30px; height:30px; font-size:19px; }
	.portraitist-saved-books-page__contents { padding-top:42px; padding-inline:18px; }
	.portraitist-saved-books-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
}

.portraitist-study-guide {
	margin-top: clamp(42px, 6vw, 68px);
}

.portraitist-study-guide__heading {
	margin: 0 12px 18px;
}

.portraitist-study-guide__list {
	border-top: 1px solid var(--study-line-soft);
}

.portraitist-study-guide__item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 20px;
	gap: 14px;
	align-items: center;
	min-height: 60px;
	padding: 9px 14px;
	border-bottom: 1px solid var(--study-line-soft);
	color: var(--study-ink);
	text-decoration: none;
}

.portraitist-study-guide__item > span:nth-child(2) {
	display: grid;
	gap: 2px;
}

.portraitist-study-guide__item strong {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .045em;
}

.portraitist-study-guide__item small {
	color: var(--study-muted);
	font-size: 10px;
	line-height: 1.45;
	letter-spacing: .035em;
}

.portraitist-study-guide__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	color: #a5752d;
	font-size: 20px;
}

.portraitist-study-guide__item--button {
	width: 100%;
	border-right: 0;
	border-left: 0;
	border-top: 0;
	background: transparent;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

a.portraitist-study-guide__item,
button.portraitist-study-guide__item {
	transition: background-color .18s ease, color .18s ease;
}

a.portraitist-study-guide__item:hover,
a.portraitist-study-guide__item:focus-visible,
button.portraitist-study-guide__item:hover,
button.portraitist-study-guide__item:focus-visible {
	background: rgba(248, 241, 230, .52);
	color: #8f6528;
	outline: none;
}

.portraitist-study-guide__item.is-future {
	cursor: default;
}


html.portraitist-account-settings-open { overflow: hidden; }
.portraitist-account-settings[hidden] { display: none; }
.portraitist-account-settings {
	position: fixed;
	z-index: 10060;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
}
.portraitist-account-settings__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(48, 39, 29, .32);
}
.portraitist-account-settings__panel {
	position: relative;
	z-index: 1;
	width: min(92vw, 700px);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: clamp(30px, 4vw, 46px);
	border: 1px solid rgba(145, 111, 58, .28);
	border-radius: 12px;
	background: #fbf8f2;
	box-shadow: 0 18px 50px rgba(54, 41, 27, .16);
	color: var(--study-ink);
	outline: none;
}
.portraitist-account-settings__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6e5b49;
	font: inherit;
	font-size: 22px;
	font-weight: 300;
	cursor: pointer;
}
.portraitist-account-settings__header h2 {
	margin: 0 0 30px;
	font-size: clamp(20px, 2vw, 25px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .07em;
	text-align: center;
}
.portraitist-account-settings__form { margin: 0; }
.portraitist-account-settings__section { margin: 0 0 28px; }
.portraitist-account-settings__section h3 {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 13px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .055em;
}
.portraitist-account-settings__section h3 b {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(173, 129, 50, .3);
	border-radius: 50%;
	color: #9b6e28;
	font-size: 9px;
	font-weight: 400;
}
.portraitist-account-settings__field input,
.portraitist-account-settings__password-fields input {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid rgba(145, 111, 58, .24);
	border-radius: 3px;
	background: rgba(255, 253, 248, .68);
	color: #4f4135;
	font: inherit;
	font-size: 13px;
}
.portraitist-account-settings__field input:focus,
.portraitist-account-settings__password-fields input:focus { outline: 1px solid rgba(154, 116, 40, .48); outline-offset: 1px; }
.portraitist-account-settings__text-action,
.portraitist-account-settings__close-study-trigger {
	padding: 0;
	border: 0;
	background: transparent;
	color: #8c642b;
	font: inherit;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .07em;
	cursor: pointer;
}
.portraitist-account-settings__password-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}
.portraitist-account-settings__password-fields[hidden] { display: none; }
.portraitist-account-settings__password-fields label {
	display: grid;
	gap: 7px;
	color: #7c6855;
	font-size: 10px;
	letter-spacing: .04em;
}
.portraitist-account-settings__methods {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 18px;
	padding-left: 43px;
	color: #665545;
	font-size: 11px;
	letter-spacing: .055em;
}
.portraitist-account-settings__methods span { display: inline-flex; gap: 8px; }
.portraitist-account-settings__methods em { color: #8b6c45; font-style: normal; }
.portraitist-account-settings__note { margin: 0 0 0 43px; color: #857565; font-size: 10px; line-height: 1.7; }
.portraitist-account-settings__message {
	margin: 0 0 16px;
	padding: 9px 11px;
	border: 1px solid rgba(116, 133, 92, .22);
	background: rgba(240, 242, 232, .48);
	color: #5f684f;
	font-size: 10px;
	line-height: 1.7;
}
.portraitist-account-settings__message.is-error { border-color: rgba(139, 83, 65, .25); background: rgba(247, 237, 232, .52); color: #865645; }
.portraitist-account-settings__save {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: min(100%, 310px);
	min-height: 44px;
	margin: 6px auto 0;
	padding: 10px 20px;
	border: 1px solid #b4862d;
	border-radius: 3px;
	background: #b4862d;
	color: #fffdf7;
	font: inherit;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .08em;
	cursor: pointer;
}
.portraitist-account-settings__save:disabled { opacity: .55; cursor: wait; }
.portraitist-account-settings__close-study {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(117, 86, 53, .14);
}
.portraitist-account-settings__close-study > h3 { margin: 0 0 7px; color: #65493a; font-size: 14px; font-weight: 400; letter-spacing: .06em; }
.portraitist-account-settings__close-study > p { margin: 0 0 12px; color: #8a7664; font-size: 10px; line-height: 1.7; }
.portraitist-account-settings__confirm {
	margin-top: 16px;
	padding: 18px;
	border: 1px solid rgba(126, 77, 59, .22);
	background: rgba(247, 239, 232, .42);
}
.portraitist-account-settings__confirm[hidden] { display: none; }
.portraitist-account-settings__confirm h4 { margin: 0 0 8px; color: #684a3c; font-size: 13px; font-weight: 400; }
.portraitist-account-settings__confirm p { margin: 0 0 16px; color: #836b5d; font-size: 10px; line-height: 1.8; }
.portraitist-account-settings__confirm-actions { display: flex; justify-content: flex-end; gap: 10px; }
.portraitist-account-settings__confirm-actions button {
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid rgba(120, 89, 58, .28);
	background: rgba(255, 253, 248, .58);
	color: #705b48;
	font: inherit;
	font-size: 10px;
	cursor: pointer;
}
.portraitist-account-settings__confirm-actions button.is-destructive { border-color: rgba(126, 77, 59, .36); color: #774b3c; }

@media (max-width: 640px) {
	.portraitist-study-featured-slider__empty,
	.portraitist-study-empty-state { align-items: flex-start; flex-direction: column; gap: 12px; width: auto; }
	.portraitist-account-settings { padding: 12px; }
	.portraitist-account-settings__panel { width: 100%; max-height: calc(100vh - 24px); padding: 28px 18px 22px; }
	.portraitist-account-settings__password-fields { grid-template-columns: 1fr; }
	.portraitist-account-settings__methods,
	.portraitist-account-settings__note { padding-left: 0; margin-left: 0; }
	.portraitist-account-settings__confirm-actions { flex-direction: column-reverse; }
	.portraitist-account-settings__confirm-actions button { width: 100%; }
}

@media only screen and (max-width: 920px) {
	.portraitist-member-page__main.is-member .portraitist-member-page__contents {
		padding-right: 28px;
		padding-left: 28px;
	}

	.portraitist-study-profile {
		grid-template-columns: 118px minmax(0, 1fr);
	}

	.portraitist-study-profile__avatar-wrap {
		width: 108px;
	}

	.portraitist-study-profile__future-action {
		grid-column: 2;
		justify-self: end;
	}
}

@media only screen and (max-width: 680px) {
	.portraitist-member-page__main.is-member .portraitist-member-page__contents {
		padding: 34px 18px 72px;
	}

	.portraitist-study-heading h1 {
		font-size: 20px;
	}

	.portraitist-study-membership {
		gap: 10px;
		font-size: 10px;
	}

	.portraitist-study-profile {
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 18px;
		padding: 22px 18px;
		border-radius: 10px;
	}

	.portraitist-study-profile__avatar-wrap {
		width: 74px;
	}

	.portraitist-study-profile__avatar::before {
		top: 24%;
		width: 20px;
		height: 20px;
	}

	.portraitist-study-profile__avatar::after {
		bottom: 23%;
		width: 34px;
		height: 20px;
	}

	.portraitist-study-profile__avatar-label {
		padding: 5px 3px 6px;
		font-size: 8px;
		opacity: .82;
		transform: none;
	}

	.portraitist-study-profile__avatar-menu {
		left: 0;
		min-width: 124px;
		transform: none;
	}

	.portraitist-study-profile__content h2 {
		margin-bottom: 12px;
		font-size: 19px;
	}

	.portraitist-study-profile__grid {
		grid-template-columns: 1fr;
	}

	.portraitist-study-profile__grid dl > div {
		grid-template-columns: 100px minmax(0, 1fr);
	}

	.portraitist-study-profile__future-action {
		grid-column: 1 / -1;
		justify-self: stretch;
		text-align: center;
	}

	.portraitist-study-profile.is-profile-initialized {
		grid-template-columns: 1fr;
		gap: 16px;
		justify-items: center;
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__avatar-wrap {
		width: 88px;
	}

	.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__content {
		min-height: 0;
		align-items: center;
		text-align: center;
	}

	.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__name {
		margin-bottom: 13px;
	}

	.portraitist-study-profile__identity-tags {
		justify-content: center;
	}

	.portraitist-study-profile__socials {
		justify-content: center;
		margin-top: 14px;
	}

	.portraitist-study-section__header {
		margin-right: 4px;
		margin-left: 4px;
	}

	.portraitist-study-section__header h2,
	.portraitist-study-guide h2 {
		font-size: 19px;
	}

	.portraitist-study-section__future-link {
		font-size: 9px;
	}

	.portraitist-study-shelf::before,
	.portraitist-study-shelf::after {
		display: none;
	}


	.portraitist-study-words {
		grid-template-rows: repeat(2, max-content);
		padding-bottom: 8px;
	}

	.portraitist-study-guide__item {
		grid-template-columns: 36px minmax(0, 1fr) 16px;
		gap: 10px;
		padding-right: 6px;
		padding-left: 6px;
	}

	.portraitist-study-guide__icon {
		width: 30px;
		height: 30px;
		font-size: 17px;
	}
}

@media (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail.is-open .portraitist-book-detail__swipe-area,
	.page-template-page-article .portraitist-book-detail.is-open .portraitist-book-detail__swipe-area,
	.page-template-page-article-php .portraitist-book-detail.is-open .portraitist-book-detail__swipe-area {
		overflow-y: auto !important;
		overscroll-behavior-y: contain;
	}
}

/* Portraitist.jp | 第十二講スマートフォン回帰修復・作品ページ冒頭簡素化 | 2026-08-03 */
.page-template-page-article .portraitist-library-hero--compact,
.page-template-page-article-php .portraitist-library-hero--compact,
.portraitist-fixed-library-page .portraitist-library-hero--compact {
	display: block;
	min-height: 0;
	margin: 0 0 26px;
	padding: clamp(34px, 5vw, 64px) 0 0;
}
.page-template-page-article .portraitist-library-hero--compact .portraitist-library-hero__copy,
.page-template-page-article-php .portraitist-library-hero--compact .portraitist-library-hero__copy,
.portraitist-fixed-library-page .portraitist-library-hero--compact .portraitist-library-hero__copy {
	max-width: 760px;
	padding-left: 0;
}
.page-template-page-article .portraitist-library-hero--compact .portraitist-public-library-lead,
.page-template-page-article-php .portraitist-library-hero--compact .portraitist-public-library-lead,
.portraitist-fixed-library-page .portraitist-library-hero--compact .portraitist-public-library-lead {
	margin: 18px 0 0;
}

@media (max-width: 1180px) {
	.page-template-page-article .portraitist-library-hero--compact,
	.page-template-page-article-php .portraitist-library-hero--compact,
	.portraitist-fixed-library-page .portraitist-library-hero--compact {
		margin-bottom: 18px;
		padding-top: 24px;
	}

	/* One persistent scroll/swipe surface: vertical reading stays native, clear horizontal drags change books. */
}

@media (max-width: 640px) {
	.page-template-page-article .portraitist-library-hero--compact,
	.page-template-page-article-php .portraitist-library-hero--compact,
	.portraitist-fixed-library-page .portraitist-library-hero--compact {
		padding-top: 18px;
		margin-bottom: 12px;
	}
}

/* Portraitist.jp | 2026-08-03 公開本棚表記整理・第十二講モバイル回帰修復 */
.page-template-page-article .portraitist-library-hero--compact,
.page-template-page-article-php .portraitist-library-hero--compact,
.portraitist-fixed-library-page .portraitist-library-hero--compact {
	margin-bottom: 18px;
	padding-top: clamp(24px, 3.6vw, 44px);
}
.page-template-page-article .portraitist-library-hero--compact .portraitist-library-kicker,
.page-template-page-article-php .portraitist-library-hero--compact .portraitist-library-kicker,
.portraitist-fixed-library-page .portraitist-library-hero--compact .portraitist-library-kicker {
	margin-bottom: 15px !important;
	color: #9B7424 !important;
}
.page-template-page-article .portraitist-library-hero--compact .blog-title,
.page-template-page-article-php .portraitist-library-hero--compact .blog-title,
.portraitist-fixed-library-page .portraitist-library-hero--compact .blog-title {
	margin-bottom: 16px !important;
	padding-bottom: 12px !important;
	font-size: clamp(26px, 2.55vw, 36px) !important;
}
.page-template-page-article .portraitist-library-hero--compact .portraitist-public-library-lead,
.page-template-page-article-php .portraitist-library-hero--compact .portraitist-public-library-lead,
.portraitist-fixed-library-page .portraitist-library-hero--compact .portraitist-public-library-lead {
	margin-top: 0 !important;
}
.page-template-page-article .portraitist-library-order,
.page-template-page-article-php .portraitist-library-order,
.portraitist-fixed-library-page .portraitist-library-order {
	margin-top: 0;
}

@media (max-width: 1180px) {
	.page-template-page-article .portraitist-library-hero--compact,
	.page-template-page-article-php .portraitist-library-hero--compact,
	.portraitist-fixed-library-page .portraitist-library-hero--compact {
		margin-bottom: 10px;
		padding-top: 16px;
	}
	.page-template-page-article .portraitist-library-hero--compact .blog-title,
	.page-template-page-article-php .portraitist-library-hero--compact .blog-title,
	.portraitist-fixed-library-page .portraitist-library-hero--compact .blog-title {
		font-size: clamp(25px, 7vw, 32px) !important;
	}

	/* Header / scroll area / footer remain separate. The guide belongs fully to the scroll area. */
	.portraitist-fixed-library-page .portraitist-book-detail.is-open,
	.page-template-page-article .portraitist-book-detail.is-open,
	.page-template-page-article-php .portraitist-book-detail.is-open {
		cursor: default;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__swipe-area,
	.page-template-page-article .portraitist-book-detail__swipe-area,
	.page-template-page-article-php .portraitist-book-detail__swipe-area {
		flex: 1 1 0;
		height: auto;
		min-height: 0;
		max-height: none;
		padding-bottom: 26px;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		touch-action: pan-y;
		overscroll-behavior-y: contain;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__mobile-footer,
	.page-template-page-article .portraitist-book-detail__mobile-footer,
	.page-template-page-article-php .portraitist-book-detail__mobile-footer {
		flex: 0 0 auto;
		position: relative;
		inset: auto;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__nav,
	.page-template-page-article .portraitist-book-detail__nav,
	.page-template-page-article-php .portraitist-book-detail__nav {
		z-index: 20;
		pointer-events: none;
	}
}

/* Portraitist.jp | 2026-08-03 public-library recovery and article study-card closing */
.page-template-page-article .portraitist-library-hero--compact .blog-title,
.page-template-page-article-php .portraitist-library-hero--compact .blog-title,
.portraitist-fixed-library-page .portraitist-library-hero--compact .blog-title {
	font-size: clamp(23px, 2.05vw, 29px) !important;
}

@media (max-width: 1180px) {
	.page-template-page-article .portraitist-library-hero--compact .blog-title,
	.page-template-page-article-php .portraitist-library-hero--compact .blog-title,
	.portraitist-fixed-library-page .portraitist-library-hero--compact .blog-title {
		font-size: clamp(22px, 5.8vw, 27px) !important;
		white-space: nowrap;
	}

	.portraitist-fixed-library-page .portraitist-book-detail.is-open,
	.page-template-page-article .portraitist-book-detail.is-open,
	.page-template-page-article-php .portraitist-book-detail.is-open {
		height: min(88dvh, 760px);
		max-height: min(88dvh, 760px);
	}
	.portraitist-fixed-library-page .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail__content {
		flex: 1 1 0;
		min-height: 0;
		height: auto;
		max-height: none;
		overflow-x: hidden;
		overflow-y: auto;
		padding-bottom: 34px;
		touch-action: pan-y;
		overscroll-behavior-y: contain;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__body,
	.page-template-page-article .portraitist-book-detail__body,
	.page-template-page-article-php .portraitist-book-detail__body {
		flex: 0 0 auto;
		min-height: 0;
		overflow: visible;
	}
}

.single-post .portraitist-personal-shelf {
	width: min(100%, 1120px);
	max-width: none;
	margin: clamp(72px, 9vw, 128px) auto clamp(44px, 6vw, 82px);
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
}
.single-post .portraitist-personal-shelf__rule {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin: 0 0 clamp(34px, 4vw, 54px);
}
.single-post .portraitist-personal-shelf__rule::before,
.single-post .portraitist-personal-shelf__rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(184,154,90,.58);
}
.single-post .portraitist-personal-shelf__rule span {
	width: 9px;
	height: 9px;
	background: #b89a5a;
	transform: rotate(45deg);
	opacity: .76;
}
.single-post .portraitist-personal-shelf__title {
	margin: 0 0 clamp(34px, 4vw, 54px) !important;
	padding: 0 !important;
	border: 0 !important;
	color: #4d3824 !important;
	font-family: var(--font-title) !important;
	font-size: clamp(27px, 3vw, 43px) !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .12em !important;
	text-align: center;
}
.single-post .portraitist-personal-shelf__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
	align-items: center;
	gap: clamp(34px, 6vw, 82px);
	padding: clamp(44px, 6vw, 82px);
	border: 1px solid rgba(184,154,90,.56);
	background: rgba(252,248,239,.48);
	box-sizing: border-box;
}
.single-post .portraitist-personal-shelf__panel::before,
.single-post .portraitist-personal-shelf__panel::after {
	content: "";
	position: absolute;
	width: 23px;
	height: 23px;
	pointer-events: none;
}
.single-post .portraitist-personal-shelf__panel::before {
	top: 7px; left: 7px;
	border-top: 1px solid rgba(184,154,90,.62);
	border-left: 1px solid rgba(184,154,90,.62);
}
.single-post .portraitist-personal-shelf__panel::after {
	right: 7px; bottom: 7px;
	border-right: 1px solid rgba(184,154,90,.62);
	border-bottom: 1px solid rgba(184,154,90,.62);
}
.single-post .portraitist-personal-shelf__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}
.single-post .portraitist-personal-shelf__media img {
	display: block;
	width: min(58%, 300px);
	height: auto;
	border: 0;
	background: transparent;
	box-shadow: 0 18px 28px rgba(67,48,30,.17), 0 4px 8px rgba(67,48,30,.12);
	transform: rotate(-5deg);
}
.single-post .portraitist-personal-shelf__copy {
	min-width: 0;
	color: #493a2d;
	font-family: var(--font-title);
	text-align: left;
}
.single-post .portraitist-personal-shelf__copy h3 {
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #493526 !important;
	font-family: var(--font-title) !important;
	font-size: clamp(21px, 2vw, 31px) !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	letter-spacing: .08em !important;
}
.single-post .portraitist-personal-shelf__separator {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 24px;
}
.single-post .portraitist-personal-shelf__separator::before,
.single-post .portraitist-personal-shelf__separator::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(184,154,90,.42);
}
.single-post .portraitist-personal-shelf__separator span {
	width: 6px;
	height: 6px;
	background: rgba(184,154,90,.62);
	transform: rotate(45deg);
}
.single-post .portraitist-personal-shelf__message,
.single-post .portraitist-personal-shelf__notice {
	margin: 0 0 28px !important;
	color: #514338 !important;
	font-size: clamp(14px, 1.25vw, 18px) !important;
	font-weight: 400 !important;
	line-height: 2 !important;
	letter-spacing: .08em !important;
	text-align: left !important;
}
.single-post .portraitist-personal-shelf__form { margin: 0; }
.single-post .portraitist-personal-shelf__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	width: 100%;
	min-height: 62px;
	margin: 0;
	padding: 14px 24px;
	border: 1px solid #a98a51;
	border-radius: 2px;
	background: #a98a51;
	color: #fffaf0 !important;
	font-family: var(--font-title) !important;
	font-size: clamp(15px, 1.45vw, 20px) !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: .12em !important;
	text-decoration: none !important;
	box-shadow: none;
	transition: background-color .18s ease, transform .18s ease;
	box-sizing: border-box;
}
.single-post .portraitist-personal-shelf__button:hover,
.single-post .portraitist-personal-shelf__button:focus-visible {
	background: #967842;
	color: #fffaf0 !important;
	transform: translateY(-1px);
}
.single-post .portraitist-personal-shelf__note {
	margin: 20px 0 0 !important;
	color: #5c4d40 !important;
	font-size: 13px !important;
	line-height: 1.8 !important;
	letter-spacing: .08em !important;
	text-align: left;
}
.single-post .portraitist-article-return {
	margin: clamp(30px, 4vw, 48px) 0 0;
	padding: 0;
	border: 0;
}
.single-post .portraitist-article-return__link {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: #6b5434 !important;
	font-family: var(--font-title);
	font-size: 14px;
	letter-spacing: .1em;
	text-decoration: none;
}
.single-post .portraitist-article-return__link:hover,
.single-post .portraitist-article-return__link:focus-visible { text-decoration: underline; text-underline-offset: 5px; }

@media (max-width: 760px) {
	.single-post .portraitist-personal-shelf { margin-top: 72px; }
	.single-post .portraitist-personal-shelf__title { font-size: clamp(24px, 7vw, 31px) !important; }
	.single-post .portraitist-personal-shelf__panel {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 42px 24px 38px;
	}
	.single-post .portraitist-personal-shelf__media img {
		width: min(52vw, 220px);
		transform: rotate(-2deg);
	}
	.single-post .portraitist-personal-shelf__copy h3 {
		font-size: clamp(20px, 5.8vw, 25px) !important;
		line-height: 1.75 !important;
	}
	.single-post .portraitist-personal-shelf__message,
	.single-post .portraitist-personal-shelf__notice { font-size: 14px !important; }
	.single-post .portraitist-personal-shelf__button { min-height: 56px; font-size: 15px !important; }
	.single-post .portraitist-personal-shelf__note { text-align: center; }
}
.single-post .portraitist-personal-shelf__button::after { content: none; }

/* Portraitist.jp | 2026-08-03 mobile detail interaction and study-card master correction */
@media (max-width: 1180px) {
  .page-template-page-article .portraitist-book-detail__swipe-area,
  .page-template-page-article-php .portraitist-book-detail__swipe-area,
  .portraitist-fixed-library-page .portraitist-book-detail__swipe-area {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y;
    padding-bottom: 24px;
  }
  .page-template-page-article .portraitist-book-detail__nav,
  .page-template-page-article-php .portraitist-book-detail__nav,
  .portraitist-fixed-library-page .portraitist-book-detail__nav { z-index: 30; }
  .page-template-page-article .portraitist-book-detail__nav-button,
  .page-template-page-article-php .portraitist-book-detail__nav-button,
  .portraitist-fixed-library-page .portraitist-book-detail__nav-button { pointer-events: auto; }
}

.single-post .portraitist-personal-shelf { width:min(100%,1060px); margin-top:clamp(64px,8vw,104px); }
.single-post .portraitist-personal-shelf__rule { margin-bottom:clamp(24px,3vw,38px); }
.single-post .portraitist-personal-shelf__title { margin-bottom:clamp(26px,3vw,38px) !important; font-size:clamp(25px,2.45vw,36px) !important; }
.single-post .portraitist-personal-shelf__panel { grid-template-columns:minmax(0,43fr) minmax(0,57fr); gap:clamp(28px,4.5vw,58px); padding:clamp(30px,4vw,54px); background:rgba(252,248,239,.34); }
.single-post .portraitist-personal-shelf__media { background:transparent !important; padding:0 !important; }
.single-post .portraitist-personal-shelf__media img { width:min(42%,220px); background:transparent !important; box-shadow:0 12px 22px rgba(67,48,30,.13); transform:rotate(-4deg); }
.single-post .portraitist-personal-shelf__copy h3 { font-size:clamp(19px,1.65vw,26px) !important; line-height:1.72 !important; }
.single-post .portraitist-personal-shelf__message,.single-post .portraitist-personal-shelf__notice { font-size:clamp(13px,1.05vw,16px) !important; line-height:1.95 !important; margin-bottom:22px !important; }
.single-post .portraitist-personal-shelf__button { min-height:54px; font-size:clamp(14px,1.2vw,17px) !important; }
.single-post .portraitist-personal-shelf__note { margin-top:14px !important; font-size:12px !important; }
@media (max-width:760px) {
 .single-post .portraitist-personal-shelf { width:100%; margin-top:58px; }
 .single-post .portraitist-personal-shelf__title { font-size:clamp(22px,6vw,27px) !important; margin-bottom:24px !important; }
 .single-post .portraitist-personal-shelf__panel { margin-inline:20px; gap:24px; padding:30px 22px 28px; }
 .single-post .portraitist-personal-shelf__media img { width:min(38vw,155px); transform:rotate(-2deg); }
 .single-post .portraitist-personal-shelf__copy h3 { font-size:clamp(18px,5vw,22px) !important; }
 .single-post .portraitist-personal-shelf__message,.single-post .portraitist-personal-shelf__notice { font-size:13px !important; }
}
.page-template-page-login .portraitist-member-area__hero-card { display:block; width:min(32vw,260px); height:auto; margin:0 auto 28px; object-fit:contain; }
@media(max-width:760px){.page-template-page-login .portraitist-member-area__hero-card{width:min(42vw,180px);margin-bottom:22px;}}

/* Portraitist.jp | 2026-08-03 article closing final separation and mobile navigation hit area */
.single-post .portraitist-personal-shelf--guest {
  width: min(100%, 1120px);
  margin-top: clamp(78px, 9vw, 124px);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__rule {
  margin-bottom: clamp(44px, 5vw, 62px);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__title {
  margin-bottom: clamp(44px, 5vw, 62px) !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel {
  grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
  gap: clamp(34px, 5vw, 66px);
  min-height: 410px;
  padding: clamp(38px, 4.5vw, 60px);
  background:
    radial-gradient(circle at 42% 44%, rgba(255,255,255,.76) 0%, rgba(250,247,239,.44) 48%, rgba(229,220,202,.18) 100%),
    rgba(249,245,236,.44);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
  width: min(70%, 340px);
  max-width: 100%;
  box-shadow: none;
  transform: none !important;
}
.single-post .portraitist-personal-shelf--logged {
  width: min(100%, 720px);
  margin: clamp(62px, 8vw, 96px) auto clamp(46px, 6vw, 72px);
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__form { margin: 0; }
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--quiet {
  display: inline-flex;
  width: auto;
  min-width: min(100%, 330px);
  min-height: 52px;
  padding: 12px 28px;
  border: 1px solid rgba(151,119,68,.62);
  background: rgba(250,246,237,.92);
  color: #6b5133 !important;
  box-shadow: none;
  font-size: clamp(14px, 1.15vw, 17px) !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--quiet:hover,
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--quiet:focus-visible {
  background: #f4ecdc;
  color: #5b4228 !important;
  transform: none;
}
.single-post .portraitist-personal-shelf__saved {
  display: inline-block;
  margin: 0 !important;
  padding: 13px 24px;
  border: 1px solid rgba(151,119,68,.38);
  background: rgba(250,246,237,.62);
  color: #6b5a47 !important;
  font-family: var(--font-title);
  font-size: 14px !important;
  line-height: 1.7 !important;
  letter-spacing: .08em;
}
@media (max-width: 760px) {
  .single-post .portraitist-personal-shelf--guest { margin-top: 62px; }
  
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel {
    min-height: 0;
    margin-inline: 14px;
    gap: 22px;
    padding: 30px 20px 28px;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
    width: min(46vw, 188px);
    transform: none !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__copy h3 {
    font-size: clamp(17px, 4.8vw, 21px) !important;
    line-height: 1.7 !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__message {
    font-size: 12.5px !important;
    line-height: 1.9 !important;
    margin-bottom: 20px !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__button {
    min-height: 52px;
    padding-inline: 18px;
    font-size: 14px !important;
  }
  .single-post .portraitist-personal-shelf--logged {
    width: calc(100% - 40px);
    margin-top: 52px;
  }
  .single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--quiet {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 1180px) {
  .page-template-page-article .portraitist-book-detail__nav,
  .page-template-page-article-php .portraitist-book-detail__nav,
  .portraitist-fixed-library-page .portraitist-book-detail__nav {
    z-index: 60;
    pointer-events: none;
  }
  .page-template-page-article .portraitist-book-detail__nav-button,
  .page-template-page-article-php .portraitist-book-detail__nav-button,
  .portraitist-fixed-library-page .portraitist-book-detail__nav-button {
    position: relative;
    z-index: 61;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
}

/* Portraitist.jp | 2026-08-03 final mobile-card, article-paper and closing reconstruction */
.single-post,
.single-post .site,
.single-post .site-content,
.single-post .content-area,
.single-post #page,
.single-post #content,
.single-post .wrapper,
.single-post #main,
.single-post #main > .row,
.single-post main.twothird,
.single-post article.post,
.single-post .single-contents {
  background-color: var(--library-paper) !important;
}
.single-post .wrapper,
.single-post #main,
.single-post main.twothird,
.single-post article.post,
.single-post .single-contents {
  background-image: none !important;
}

.single-post .portraitist-personal-shelf--guest {
  position: relative;
  left: 50%;
  width: min(1120px, calc(100vw - 56px));
  max-width: none;
  margin: clamp(78px, 9vw, 124px) 0 clamp(68px, 8vw, 104px);
  padding: 0;
  transform: translateX(-50%);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__rule {
  margin-bottom: clamp(46px, 5vw, 62px);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__title {
  margin: 0 0 clamp(44px, 5vw, 60px) !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.55 !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel {
  display: grid;
  grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
  align-items: center;
  gap: clamp(34px, 5vw, 68px);
  min-height: 0;
  padding: clamp(38px, 4.3vw, 58px) clamp(42px, 5vw, 68px);
  border: 1px solid rgba(177, 142, 86, .38);
  background:
    radial-gradient(circle at 42% 44%, rgba(255,255,255,.72) 0%, rgba(250,247,239,.40) 46%, rgba(229,220,202,.16) 100%),
    rgba(249,245,236,.42);
  box-sizing: border-box;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0 !important;
  background: transparent !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
  display: block;
  width: min(72%, 370px);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__copy {
  align-self: center;
  min-width: 0;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__copy h3 {
  margin: 0 0 26px !important;
  font-size: clamp(22px, 2vw, 29px) !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__message {
  margin: 0 0 24px !important;
  font-size: clamp(14px, 1.15vw, 17px) !important;
  line-height: 1.95 !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__button {
  min-height: 58px;
  padding: 13px 28px;
  border-radius: 3px;
  background: #b89a5a !important;
  color: #fffaf0 !important;
  box-shadow: none !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__note {
  margin-top: 16px !important;
  font-size: 13px !important;
}

@media (max-width: 1180px) {
  .page-template-page-article .portraitist-book-detail,
  .page-template-page-article-php .portraitist-book-detail,
  .portraitist-fixed-library-page .portraitist-book-detail {
    display: flex;
    flex-direction: column;
  }
  .page-template-page-article .portraitist-book-detail.is-open,
  .page-template-page-article-php .portraitist-book-detail.is-open,
  .portraitist-fixed-library-page .portraitist-book-detail.is-open {
    height: min(88dvh, 760px) !important;
    max-height: min(88dvh, 760px) !important;
  }
  .page-template-page-article .portraitist-book-detail__content,
  .page-template-page-article-php .portraitist-book-detail__content,
  .portraitist-fixed-library-page .portraitist-book-detail__content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 36px !important;
  }
  .page-template-page-article .portraitist-book-detail__mobile-footer,
  .page-template-page-article-php .portraitist-book-detail__mobile-footer,
  .portraitist-fixed-library-page .portraitist-book-detail__mobile-footer {
    flex: 0 0 auto;
    position: relative;
    z-index: 70;
  }
  .page-template-page-article .portraitist-book-detail__nav,
  .page-template-page-article-php .portraitist-book-detail__nav,
  .portraitist-fixed-library-page .portraitist-book-detail__nav {
    z-index: 80 !important;
    pointer-events: none !important;
  }
  .page-template-page-article .portraitist-book-detail__nav-button,
  .page-template-page-article-php .portraitist-book-detail__nav-button,
  .portraitist-fixed-library-page .portraitist-book-detail__nav-button {
    position: relative;
    z-index: 81;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
}

@media (max-width: 760px) {
  .single-post .portraitist-personal-shelf--guest {
    left: 50%;
    width: calc(100vw - 28px);
    margin-top: 60px;
    transform: translateX(-50%);
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__rule {
    margin-bottom: 34px;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__title {
    margin-bottom: 34px !important;
    font-size: clamp(22px, 6vw, 27px) !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0;
    padding: 30px 22px 28px;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
    width: min(56vw, 220px);
    transform: none !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__copy h3 {
    font-size: clamp(20px, 5.6vw, 24px) !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__message {
    font-size: 13px !important;
  }
  .single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__button {
    width: 100%;
    min-height: 54px;
    padding-inline: 18px;
    font-size: 14px !important;
  }
}

/* Portraitist.jp | 2026-08-04 article closing CTA */
.single-post .portraitist-personal-shelf--closing {
  position: relative;
  left: 50%;
  width: min(1180px, calc(100vw - 48px));
  max-width: none;
  margin: clamp(72px, 8vw, 108px) 0 clamp(64px, 7vw, 92px);
  padding: 0;
  transform: translateX(-50%);
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel {
  display: grid;
  grid-template-columns: minmax(280px, 46%) minmax(0, 54%);
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
  min-height: 330px;
  padding: clamp(28px, 3.6vw, 46px) clamp(32px, 4.5vw, 64px);
  border: 1px solid rgba(137, 112, 74, .18);
  background: rgba(249, 246, 238, .42);
  box-shadow: none;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: 0 !important;
  background: transparent !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media img {
  display: block;
  width: auto;
  height: clamp(250px, 27vw, 390px);
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(58, 44, 29, .13));
  box-shadow: none !important;
  transform: none !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__copy {
  align-self: center;
  text-align: left;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__title {
  margin: 0 0 20px !important;
  color: #44392d;
  font-size: clamp(21px, 1.8vw, 29px) !important;
  line-height: 1.65 !important;
  letter-spacing: .05em;
  text-align: left;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__message {
  margin: 0 0 26px !important;
  color: #665d52;
  font-size: clamp(13px, 1vw, 15px) !important;
  line-height: 2 !important;
  letter-spacing: .04em;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__form { margin: 0; }
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 270px;
  min-height: 50px;
  padding: 12px 24px;
  border: 1px solid rgba(143, 111, 65, .58);
  border-radius: 2px;
  background: rgba(248, 242, 231, .78) !important;
  color: #654d31 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.6;
  letter-spacing: .07em;
  text-decoration: none;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button:hover,
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button:focus-visible {
  background: #f2eadb !important;
  color: #513b24 !important;
  transform: none;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__saved {
  display: inline-block;
  margin: 0 !important;
  padding: 12px 20px;
  border: 1px solid rgba(143, 111, 65, .30);
  background: rgba(248, 244, 236, .52);
  color: #665746 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  letter-spacing: .07em;
}
.single-post .portraitist-personal-shelf--closing .portraitist-article-return {
  margin-top: 28px;
}
@media (max-width: 760px) {
  .single-post .portraitist-personal-shelf--closing {
    width: calc(100vw - 28px);
    margin-top: 58px;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel {
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: 0;
    padding: 28px 20px 30px;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media {
    min-height: 0;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media img {
    height: clamp(230px, 72vw, 330px);
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__copy,
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__title {
    text-align: center;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__title {
    margin-bottom: 16px !important;
    font-size: clamp(20px, 5.6vw, 24px) !important;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__message {
    margin-bottom: 22px !important;
    font-size: 13px !important;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button {
    width: 100%;
    min-width: 0;
  }
}

/* Portraitist.jp | 2026-08-04 compact article CTA and mobile card interaction repair */
.single-post .portraitist-personal-shelf--closing {
  width: min(1080px, calc(100vw - 48px));
  margin-top: clamp(56px, 6vw, 82px);
  margin-bottom: clamp(46px, 5vw, 70px);
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel {
  grid-template-columns: minmax(240px, 40%) minmax(0, 60%);
  gap: clamp(20px, 3vw, 38px);
  min-height: 0;
  padding: clamp(22px, 2.7vw, 34px) clamp(26px, 3.5vw, 46px);
  border-color: rgba(181, 143, 69, .38);
  background: rgba(250, 247, 239, .66);
  box-shadow: 0 5px 18px rgba(66, 49, 31, .055);
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel::before,
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel::after {
  width: 14px;
  height: 14px;
  opacity: .72;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media {
  min-height: 0;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media img {
  height: clamp(220px, 22vw, 320px);
  filter: drop-shadow(0 12px 15px rgba(58, 44, 29, .11));
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__title {
  margin-bottom: 13px !important;
  font-size: clamp(19px, 1.55vw, 25px) !important;
  line-height: 1.58 !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__message {
  margin-bottom: 17px !important;
  font-size: clamp(12px, .94vw, 14px) !important;
  line-height: 1.85 !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button {
  min-width: 250px;
  min-height: 48px;
  padding: 11px 22px;
  border-color: #a98138;
  background: #b58f45 !important;
  color: #fffaf0 !important;
  font-size: 14px !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button:hover,
.single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button:focus-visible {
  background: #9f7c39 !important;
  color: #fffaf0 !important;
}
.single-post .portraitist-personal-shelf--closing .portraitist-article-return { margin-top: 22px; }

@media (max-width: 1180px) {
  .page-template-page-article .portraitist-book-detail.is-open,
  .page-template-page-article-php .portraitist-book-detail.is-open,
  .portraitist-fixed-library-page .portraitist-book-detail.is-open {
    height: auto !important;
    max-height: min(88dvh, 760px) !important;
  }
  .page-template-page-article .portraitist-book-detail__swipe-area,
  .page-template-page-article-php .portraitist-book-detail__swipe-area,
  .portraitist-fixed-library-page .portraitist-book-detail__swipe-area {
    flex: 0 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(min(88dvh, 760px) - 116px) !important;
    padding-bottom: 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y;
  }
  .page-template-page-article .portraitist-book-detail__body,
  .page-template-page-article-php .portraitist-book-detail__body,
  .portraitist-fixed-library-page .portraitist-book-detail__body {
    flex: 0 0 auto !important;
  }
  .page-template-page-article .portraitist-book-detail__tags,
  .page-template-page-article-php .portraitist-book-detail__tags,
  .portraitist-fixed-library-page .portraitist-book-detail__tags {
    margin-bottom: 28px !important;
  }
  .page-template-page-article .portraitist-book-detail__mobile-footer,
  .page-template-page-article-php .portraitist-book-detail__mobile-footer,
  .portraitist-fixed-library-page .portraitist-book-detail__mobile-footer {
    padding-top: 0 !important;
  }
}

@media (max-width: 760px) {
  .single-post .portraitist-personal-shelf--closing {
    width: calc(100vw - 28px);
    margin-top: 48px;
    margin-bottom: 46px;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__panel {
    gap: 14px;
    padding: 22px 18px 20px;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__media img {
    height: clamp(190px, 57vw, 250px);
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__title {
    margin-bottom: 10px !important;
    font-size: clamp(19px, 5.2vw, 22px) !important;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__message {
    margin-bottom: 15px !important;
    font-size: 12.5px !important;
    line-height: 1.8 !important;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-personal-shelf__button {
    width: min(100%, 320px);
    min-width: 0;
    min-height: 48px;
    margin-inline: auto;
  }
  .single-post .portraitist-personal-shelf--closing .portraitist-article-return { margin-top: 18px; }
}

/* Portraitist.jp | CTA column containment, mobile detail navigation, study-card introduction | 2026-08-04 */
.single-post .portraitist-personal-shelf {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}
.single-post .portraitist-personal-shelf__panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	grid-template-columns: minmax(180px, .82fr) minmax(0, 1.18fr);
	gap: clamp(24px, 4vw, 48px);
	padding: clamp(28px, 4vw, 46px);
}
.single-post .portraitist-personal-shelf__media img { max-width: 100%; }
.single-post .portraitist-personal-shelf__copy { min-width: 0; }
.single-post .portraitist-personal-shelf__title,
.single-post .portraitist-personal-shelf__message,
.single-post .portraitist-personal-shelf__button { writing-mode: horizontal-tb !important; word-break: keep-all !important; overflow-wrap: normal !important; }
.single-post .portraitist-personal-shelf__button { max-width: 100%; white-space: normal; }

.page-template-page-login .portraitist-login-page__main.is-guest,
.page-template-page-login .portraitist-member-page__main.is-guest { width: 100%; max-width: none; padding: 0; }
.page-template-page-login .portraitist-member-page__main.is-guest .portraitist-member-page__contents { padding: 0; }
.portraitist-library-card { color: #493a2d; background: #fbf8f1; font-family: var(--font-body); }
.portraitist-library-card img { display: block; max-width: 100%; height: auto; }
.portraitist-library-card__hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: stretch; min-height: 610px; border-bottom: 1px solid rgba(181,143,69,.28); }
.portraitist-library-card__hero-copy { z-index: 1; padding: clamp(58px, 7vw, 104px) clamp(34px, 6vw, 84px); background: linear-gradient(90deg,#fbf8f1 80%,rgba(251,248,241,.4)); }
.portraitist-library-card__hero-copy h1 { margin: 0 0 28px; font-size: clamp(36px,4vw,58px); font-weight: 400; letter-spacing: .08em; line-height: 1.45; }
.portraitist-library-card__hero-copy p { margin: 0 0 24px; font-size: 16px; line-height: 2; letter-spacing: .06em; }
.portraitist-library-card__hero-copy strong { color: #b58f45; font-weight: 500; }
.portraitist-library-card__hero-media { min-width: 0; overflow: hidden; }
.portraitist-library-card__hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.portraitist-library-card__primary { display: inline-flex; align-items: center; justify-content: center; gap: 34px; min-width: min(100%, 330px); padding: 17px 28px; background: #b58f45; color: #fffaf0 !important; text-decoration: none; letter-spacing: .08em; transition: background-color .2s ease; }
.portraitist-library-card__primary:hover { background: #9f7c39; }
.portraitist-library-card__login-link { font-size: 14px !important; }
.portraitist-library-card__login-link a { color: #6e5739; text-decoration: none; }
.portraitist-library-card__benefits { max-width: 1180px; margin: 0 auto; padding: 58px 32px 44px; }
.portraitist-library-card__benefits > h2 { margin: 0 0 34px; text-align: center; font-size: 30px; font-weight: 400; letter-spacing: .12em; }
.portraitist-library-card__catalog { display: grid; grid-template-columns: minmax(300px,.92fr) minmax(0,1.08fr); gap: 44px; align-items: center; padding: 0 0 26px; margin: 0 0 26px; border-bottom: 1px solid rgba(181,143,69,.25); }
.portraitist-library-card__catalog-media img { width: 100%; aspect-ratio: 1.76; object-fit: cover; }
.portraitist-library-card__catalog-copy { min-width: 0; }
.portraitist-library-card__index { margin: 0 0 12px; color: #a27d38; font-size: 13px; letter-spacing: .1em; }
.portraitist-library-card__catalog-copy h3 { margin: 0 0 18px; padding-left: 24px; border-left: 1px solid #b58f45; font-size: clamp(24px,2.6vw,36px); font-weight: 400; line-height: 1.65; letter-spacing: .07em; }
.portraitist-library-card__catalog-copy p:last-child { margin: 0; font-size: 15px; line-height: 1.9; letter-spacing: .04em; }
.portraitist-library-card__closing { position: relative; display: grid; grid-template-columns: 220px minmax(0,1fr) 110px; gap: 30px; align-items: center; max-width: 1180px; margin: 10px auto 56px; padding: 30px 34px; border: 1px solid rgba(181,143,69,.34); background: rgba(255,253,248,.58); }
.portraitist-library-card__closing-art { width: 100%; opacity: .75; }
.portraitist-library-card__closing-copy h2 { margin: 0 0 12px; font-size: 28px; font-weight: 400; letter-spacing: .08em; }
.portraitist-library-card__closing-copy p { margin: 0 0 14px; line-height: 1.85; }
.portraitist-library-card__closing-emblem { width: 84px; opacity: .35; justify-self: center; }
.portraitist-library-card__login { max-width: 680px; margin: 0 auto; padding: 54px 32px 80px; border-top: 1px solid rgba(181,143,69,.24); }
.portraitist-library-card__login h2 { text-align: center; font-weight: 400; letter-spacing: .12em; }

@media (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail { height: auto; min-height: 0; max-height: min(88dvh,760px); overflow: hidden; touch-action: pan-y; }
	.portraitist-fixed-library-page .portraitist-book-detail__content,
	.page-template-page-article .portraitist-book-detail__content,
	.page-template-page-article-php .portraitist-book-detail__content { height: auto; max-height: calc(88dvh - 36px - env(safe-area-inset-bottom)); flex: 0 1 auto; padding-bottom: 8px; overflow-y: auto; }
	.portraitist-fixed-library-page .portraitist-book-detail__body,
	.page-template-page-article .portraitist-book-detail__body,
	.page-template-page-article-php .portraitist-book-detail__body { flex: 0 0 auto; }
	.portraitist-fixed-library-page .portraitist-book-detail__link,
	.page-template-page-article .portraitist-book-detail__link,
	.page-template-page-article-php .portraitist-book-detail__link { margin: 28px auto 0; }
	.portraitist-book-detail__nav { pointer-events: none; }
	.portraitist-book-detail__nav-button { position: relative; z-index: 2; pointer-events: auto !important; touch-action: manipulation; }
}
@media (max-width: 767px) {
	.single-post .portraitist-personal-shelf { margin-inline: 0 !important; }
	.single-post .portraitist-personal-shelf__panel { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 14px !important; padding: 22px 18px 20px !important; }
	.single-post .portraitist-personal-shelf__media { width: 100% !important; }
	.single-post .portraitist-personal-shelf__media img { width: auto !important; max-width: min(72%,260px) !important; max-height: 240px !important; margin: 0 auto !important; }
	.single-post .portraitist-personal-shelf__copy { width: 100% !important; max-width: none !important; text-align: center !important; }
	.single-post .portraitist-personal-shelf__title { width: 100% !important; margin: 0 0 10px !important; font-size: 23px !important; line-height: 1.65 !important; }
	.single-post .portraitist-personal-shelf__message { width: 100% !important; margin: 0 0 15px !important; font-size: 14px !important; line-height: 1.9 !important; }
	.single-post .portraitist-personal-shelf__form { width: 100%; }
	.single-post .portraitist-personal-shelf__button { display: inline-flex !important; width: min(100%,320px) !important; min-height: 48px; padding: 12px 18px !important; justify-content: center; }
	.portraitist-library-card__hero { display: flex; flex-direction: column; min-height: 0; }
	.portraitist-library-card__hero-copy { padding: 42px 22px 28px; background: #fbf8f1; }
	.portraitist-library-card__hero-copy h1 { font-size: 34px; }
	.portraitist-library-card__hero-copy p { font-size: 15px; }
	.portraitist-library-card__hero-media { order: 2; }
	.portraitist-library-card__hero-media img { width: 100%; height: auto; object-fit: contain; }
	.portraitist-library-card__primary { width: 100%; min-width: 0; box-sizing: border-box; gap: 18px; }
	.portraitist-library-card__benefits { padding: 42px 20px 28px; }
	.portraitist-library-card__benefits > h2 { font-size: 26px; }
	.portraitist-library-card__catalog { display: flex; flex-direction: column; gap: 20px; align-items: stretch; }
	.portraitist-library-card__catalog-copy h3 { font-size: 25px; }
	.portraitist-library-card__catalog-copy p:last-child { font-size: 14px; }
	.portraitist-library-card__closing { display: flex; flex-direction: column; margin: 10px 16px 42px; padding: 24px 20px; text-align: center; }
	.portraitist-library-card__closing-art { width: min(70%,240px); }
	.portraitist-library-card__closing-copy h2 { font-size: 24px; line-height: 1.65; }
	.portraitist-library-card__closing-emblem { width: 64px; }
	.portraitist-library-card__login { padding: 42px 20px 64px; }
}

/* Portraitist.jp | 2026-08-04 final mobile navigation and quiet finishing */
@media (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail__nav,
	.page-template-page-article .portraitist-book-detail__nav,
	.page-template-page-article-php .portraitist-book-detail__nav {
		z-index: 8;
		pointer-events: none;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__nav-button,
	.page-template-page-article .portraitist-book-detail__nav-button,
	.page-template-page-article-php .portraitist-book-detail__nav-button {
		position: relative;
		z-index: 1;
		pointer-events: auto !important;
		touch-action: manipulation;
	}
}

/* Article-end shelf invitation: retain the design while reducing vertical weight. */
.single-post .portraitist-personal-shelf {
	padding-top: 28px;
	padding-bottom: 26px;
}
.single-post .portraitist-personal-shelf__eyebrow {
	font-size: clamp(22px, 2.15vw, 30px);
	line-height: 1.55;
}
.single-post .portraitist-personal-shelf__message {
	margin-bottom: 14px;
}
@media only screen and (max-width: 680px) {
	.single-post .portraitist-personal-shelf {
		margin-top: 58px;
		margin-bottom: 58px;
		padding: 28px 20px 24px;
	}
	.single-post .portraitist-personal-shelf__eyebrow {
		font-size: 24px;
		line-height: 1.55;
	}
}

/* Logged-out library-card page: show complete transparent artwork, never crop. */
.page-template-page-login .portraitist-library-card__hero {
	grid-template-columns: minmax(0, 1.14fr) minmax(360px, .86fr);
	min-height: 560px;
}
.page-template-page-login .portraitist-library-card__hero-copy {
	padding-right: clamp(28px, 4vw, 56px);
}
.page-template-page-login .portraitist-library-card__hero-media {
	display: grid;
	place-items: center;
	overflow: visible;
	padding: clamp(32px, 5vw, 68px) clamp(24px, 4vw, 54px);
}
.page-template-page-login .portraitist-library-card__hero-media img {
	display: block;
	width: min(100%, 520px);
	height: auto;
	max-height: 500px;
	object-fit: contain;
	object-position: center;
}
.page-template-page-login .portraitist-library-card__closing {
	grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
	gap: clamp(28px, 4vw, 52px);
	padding: 28px 34px;
}
.page-template-page-login .portraitist-library-card__closing-art {
	display: block;
	width: min(100%, 340px);
	height: auto;
	max-height: 270px;
	object-fit: contain;
	justify-self: center;
	opacity: 1;
}
.page-template-page-login .portraitist-library-card__closing-emblem { display: none !important; }
@media (max-width: 760px) {
	.page-template-page-login .portraitist-library-card__hero {
		display: flex;
		flex-direction: column;
	}
	.page-template-page-login .portraitist-library-card__hero-copy {
		padding: 38px 22px 24px;
	}
	.page-template-page-login .portraitist-library-card__hero-media {
		padding: 8px 22px 34px;
	}
	.page-template-page-login .portraitist-library-card__hero-media img {
		width: min(100%, 420px);
		max-height: none;
	}
	.page-template-page-login .portraitist-library-card__closing {
		display: flex;
		flex-direction: column;
		margin: 10px 16px 42px;
		padding: 24px 20px;
	}
	.page-template-page-login .portraitist-library-card__closing-art {
		width: min(88%, 320px);
		max-height: none;
	}
}

/* Portraitist.jp | 2026-08-04 root mobile navigation and final layout pass */
@media (max-width: 1180px) {
	.page-template-page-article .portraitist-mobile-book-selection,
	.page-template-page-article-php .portraitist-mobile-book-selection,
	.portraitist-fixed-library-page .portraitist-mobile-book-selection {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr) 48px;
		align-items: center;
		gap: 10px;
	}
	.portraitist-mobile-book-selection__copy { min-width: 0; text-align: center; }
	.portraitist-mobile-book-selection__nav {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid rgba(181,143,69,.28);
		border-radius: 50%;
		background: rgba(255,253,247,.82);
		color: #6e5739;
		font: inherit;
		font-size: 20px;
		line-height: 1;
		pointer-events: auto;
		touch-action: manipulation;
		cursor: pointer;
	}
	.portraitist-mobile-book-selection__nav:disabled {
		opacity: .28;
		cursor: default;
	}
	.portraitist-book-detail__nav { z-index: 40 !important; }
	.portraitist-book-detail__nav-button {
		min-width: 44px;
		min-height: 44px;
		pointer-events: auto !important;
		touch-action: manipulation;
	}
}

/* Article-end CTA: mobile-only vertical compression; desktop remains unchanged. */
@media only screen and (max-width: 680px) {
	.single-post .portraitist-personal-shelf {
		margin-top: 46px !important;
		margin-bottom: 44px !important;
		padding: 18px 16px 18px !important;
	}
	.single-post .portraitist-personal-shelf__panel {
		gap: 9px !important;
		padding: 18px 16px 16px !important;
	}
	.single-post .portraitist-personal-shelf__media img {
		max-height: 220px !important;
	}
	.single-post .portraitist-personal-shelf__title,
	.single-post .portraitist-personal-shelf__eyebrow {
		margin-bottom: 6px !important;
	}
	.single-post .portraitist-personal-shelf__message,
	.single-post .portraitist-personal-shelf__notice {
		margin-bottom: 10px !important;
	}
	.single-post .portraitist-personal-shelf__button {
		min-height: 46px !important;
	}
	.single-post .portraitist-personal-shelf__note {
		margin-top: 9px !important;
	}
}

/* Portraitist.jp | 「あなたの書斎」最終表示規則とモバイル本棚操作面 */
.page-template-page-login .portraitist-library-card__hero,
.page-template-page-login-php .portraitist-library-card__hero,
.portraitist-library-card > .portraitist-library-card__hero {
	position: relative;
	display: block;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	border-bottom: 1px solid rgba(181, 143, 69, .24);
	background: #fbf8f1;
}
.page-template-page-login .portraitist-library-card__hero-copy,
.page-template-page-login-php .portraitist-library-card__hero-copy,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: min(84%, 1040px);
	padding: clamp(30px, 3.3vw, 46px) clamp(28px, 5vw, 76px) clamp(28px, 3vw, 42px);
	background: transparent;
}
.page-template-page-login .portraitist-library-card__hero-copy h1,
.page-template-page-login-php .portraitist-library-card__hero-copy h1,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
	max-width: none;
	margin: 0 0 16px;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: .075em;
	white-space: nowrap;
	word-break: keep-all;
}
.page-template-page-login .portraitist-library-card__hero-copy p,
.page-template-page-login-php .portraitist-library-card__hero-copy p,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy p {
	max-width: 780px;
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.82;
	letter-spacing: .04em;
}
.page-template-page-login .portraitist-library-card__hero-copy strong,
.page-template-page-login-php .portraitist-library-card__hero-copy strong,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy strong {
	color: #b58f45;
	font-weight: 500;
}
.page-template-page-login .portraitist-library-card__hero-actions,
.page-template-page-login-php .portraitist-library-card__hero-actions,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	margin-top: 18px;
}
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary {
	width: min(100%, 350px);
	min-width: 0;
	box-sizing: border-box;
	margin-bottom: 12px;
}
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary {
	background: #556b59;
	color: #fffaf0 !important;
}
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary:hover,
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary:focus-visible,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary:hover,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary:focus-visible,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary:hover,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary:focus-visible,
.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary:hover,
.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary:focus-visible,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary:hover,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary:focus-visible,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary:hover,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary:focus-visible {
	background: #485c4c;
}
.page-template-page-login .portraitist-library-card__secondary,
.page-template-page-login-php .portraitist-library-card__secondary,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__secondary {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 0;
	margin-left: 18px;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: #6e5739;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .05em;
	text-decoration: none;
}
.page-template-page-login .portraitist-library-card__hero-media,
.page-template-page-login-php .portraitist-library-card__hero-media,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
	position: absolute;
	z-index: 1;
	right: clamp(34px, 6vw, 86px);
	bottom: clamp(28px, 3.4vw, 44px);
	width: 80px;
	height: 108px;
	padding: 0;
	overflow: visible;
	pointer-events: none;
}
.page-template-page-login .portraitist-library-card__hero-media img,
.page-template-page-login-php .portraitist-library-card__hero-media img,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: center;
	opacity: .76;
}
.page-template-page-login .portraitist-library-card__login,
.page-template-page-login-php .portraitist-library-card__login { display: none !important; }

.page-template-page-login .portraitist-library-card__benefits > h2,
.page-template-page-login-php .portraitist-library-card__benefits > h2 { font-size: clamp(19px, 1.7vw, 24px); }
.page-template-page-login .portraitist-library-card__catalog,
.page-template-page-login-php .portraitist-library-card__catalog { position: relative; }
.page-template-page-login .portraitist-library-card__index,
.page-template-page-login-php .portraitist-library-card__index {
	position: absolute;
	right: 12px;
	bottom: 10px;
	margin: 0;
	color: #b89a5a;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .08em;
}
.page-template-page-login .portraitist-library-card__catalog-copy h3,
.page-template-page-login-php .portraitist-library-card__catalog-copy h3 { font-size: clamp(18px, 1.65vw, 24px); }

.page-template-page-login .portraitist-library-card__closing,
.page-template-page-login-php .portraitist-library-card__closing,
.portraitist-library-card > .portraitist-library-card__closing {
	display: grid;
	grid-template-columns: minmax(120px, 30%) minmax(0, 70%);
	align-items: center;
	gap: clamp(22px, 3vw, 38px);
	width: min(calc(100% - 40px), 820px);
	max-width: 820px;
	margin: 10px auto 56px;
	padding: 24px 30px;
	box-sizing: border-box;
}
.page-template-page-login .portraitist-library-card__closing-art,
.page-template-page-login-php .portraitist-library-card__closing-art,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-art {
	justify-self: center;
	width: min(100%, 170px);
	height: auto;
}
.page-template-page-login .portraitist-library-card__closing-copy,
.page-template-page-login-php .portraitist-library-card__closing-copy,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy {
	width: 100%;
	min-width: 0;
	text-align: left;
}
.page-template-page-login .portraitist-library-card__closing-copy h2,
.page-template-page-login-php .portraitist-library-card__closing-copy h2 {
	margin: 0 0 10px;
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: .07em;
	white-space: nowrap;
	text-align: left;
}
.page-template-page-login .portraitist-library-card__closing-copy p,
.page-template-page-login-php .portraitist-library-card__closing-copy p,
.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary {
	margin-left: 0;
	text-align: left;
}
.portraitist-library-card__closing-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
	margin-top: 14px;
}
.portraitist-library-card__closing-links .portraitist-library-card__secondary,
.portraitist-library-card__privacy-link {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin: 0;
	padding: 2px 0;
	border: 0;
	background: transparent;
	color: #6e5739;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .045em;
	text-decoration: none;
}
.portraitist-library-card__closing-links a:hover,
.portraitist-library-card__closing-links a:focus-visible {
	color: #4d3e31;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

@media (max-width: 760px) {
	.page-template-page-login .portraitist-library-card__hero-copy,
	.page-template-page-login-php .portraitist-library-card__hero-copy,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
		width: 100%;
		padding: 28px 20px 18px;
	}
	.page-template-page-login .portraitist-library-card__hero-copy h1,
	.page-template-page-login-php .portraitist-library-card__hero-copy h1,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
		font-size: clamp(22px, 6vw, 26px);
		white-space: normal;
	}
	.page-template-page-login .portraitist-library-card__hero-copy p,
	.page-template-page-login-php .portraitist-library-card__hero-copy p,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy p {
		max-width: none;
		font-size: 14px;
		line-height: 1.78;
	}
	.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
	.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary {
		margin-bottom: 10px;
	}
	.page-template-page-login .portraitist-library-card__secondary,
	.page-template-page-login-php .portraitist-library-card__secondary,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__secondary {
		margin-left: 12px;
	}

	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		position: relative;
		right: auto;
		bottom: auto;
		width: 58px;
		height: 78px;
		margin: -4px 18px 14px auto;
	}
	.page-template-page-login .portraitist-library-card__catalog-copy,
	.page-template-page-login-php .portraitist-library-card__catalog-copy { padding-bottom: 18px; }
	.page-template-page-login .portraitist-library-card__index,
	.page-template-page-login-php .portraitist-library-card__index { right: 4px; bottom: 4px; font-size: 11px; }
	.page-template-page-login .portraitist-library-card__closing,
	.page-template-page-login-php .portraitist-library-card__closing {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		width: calc(100% - 32px);
		margin-bottom: 42px;
		padding: 22px 20px;
	}
	.page-template-page-login .portraitist-library-card__closing-art,
	.page-template-page-login-php .portraitist-library-card__closing-art {
		align-self: center;
		width: min(40%, 140px);
	}
	.page-template-page-login .portraitist-library-card__closing-copy h2,
	.page-template-page-login-php .portraitist-library-card__closing-copy h2 {
		font-size: 20px;
		white-space: normal;
	}
}

@media (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail,
	.page-template-page-article .portraitist-book-detail,
	.page-template-page-article-php .portraitist-book-detail { touch-action: pan-y; }
	.portraitist-fixed-library-page .portraitist-book-detail__swipe-area,
	.page-template-page-article .portraitist-book-detail__swipe-area,
	.page-template-page-article-php .portraitist-book-detail__swipe-area {
		touch-action: pan-y;
		pointer-events: auto;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__nav,
	.page-template-page-article .portraitist-book-detail__nav,
	.page-template-page-article-php .portraitist-book-detail__nav {
		z-index: 40;
		pointer-events: none;
	}
	.portraitist-fixed-library-page .portraitist-book-detail__nav-button,
	.page-template-page-article .portraitist-book-detail__nav-button,
	.page-template-page-article-php .portraitist-book-detail__nav-button {
		position: relative;
		z-index: 41;
		pointer-events: auto;
		touch-action: manipulation;
	}
}

/* Portraitist.jp | 「あなたの書斎」装飾・最下部CTA最終復旧 */
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary {
	width: auto;
	min-width: 0;
	padding-inline: 16px;
	gap: 16px;
}
.page-template-page-login .portraitist-library-card__hero-media,
.page-template-page-login-php .portraitist-library-card__hero-media,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
	width: 150px;
	height: 90px;
	right: clamp(46px, 6vw, 82px);
	bottom: 38px;
}
.page-template-page-login .portraitist-library-card__hero-media img,
.page-template-page-login-php .portraitist-library-card__hero-media img,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
	transform: none;
	transform-origin: center;
}
.page-template-page-login .portraitist-library-card__closing,
.page-template-page-login-php .portraitist-library-card__closing,
.portraitist-library-card > .portraitist-library-card__closing {
	display: block;
	width: min(calc(100% - 40px), 900px);
	max-width: 900px;
	margin-inline: auto;
}
.page-template-page-login .portraitist-library-card__closing-inner,
.page-template-page-login-php .portraitist-library-card__closing-inner,
.portraitist-library-card > .portraitist-library-card__closing > .portraitist-library-card__closing-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(28px, 4vw, 54px);
	width: min(100%, 820px);
	margin-inline: auto;
}
.page-template-page-login .portraitist-library-card__closing-art,
.page-template-page-login-php .portraitist-library-card__closing-art,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-art {
	flex: 0 0 auto;
	width: clamp(170px, 22vw, 220px);
	max-width: 32%;
}
.page-template-page-login .portraitist-library-card__closing-copy,
.page-template-page-login-php .portraitist-library-card__closing-copy,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	max-width: 500px;
}
.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary {
	width: auto;
	min-width: 0;
	padding-inline: 24px;
}
@media (max-width: 760px) {
	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		width: 96px;
		height: 58px;
		margin: -2px 20px 16px auto;
	}
	.page-template-page-login .portraitist-library-card__hero-media img,
	.page-template-page-login-php .portraitist-library-card__hero-media img,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
		transform: none;
	}
	.page-template-page-login .portraitist-library-card__closing-inner,
	.page-template-page-login-php .portraitist-library-card__closing-inner,
	.portraitist-library-card > .portraitist-library-card__closing > .portraitist-library-card__closing-inner {
		flex-direction: column;
		align-items: center;
		gap: 18px;
		width: 100%;
	}
	.page-template-page-login .portraitist-library-card__closing-art,
	.page-template-page-login-php .portraitist-library-card__closing-art,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-art {
		width: min(56%, 190px);
		max-width: none;
	}
	.page-template-page-login .portraitist-library-card__closing-copy,
	.page-template-page-login-php .portraitist-library-card__closing-copy,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy {
		width: 100%;
		max-width: 460px;
	}
}
@media (max-width: 1180px) {
	.portraitist-fixed-library-page .portraitist-book-detail__nav,
	.page-template-page-article .portraitist-book-detail__nav,
	.page-template-page-article-php .portraitist-book-detail__nav {
		pointer-events: auto;
	}
}

/* Portraitist.jp | 2026-08-05 「あなたの書斎をひらく」実画面照合・完成版 */
/* 対象ページと対象要素だけを限定し、過去の暫定上書きを一本化する。 */
.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary {
	width: auto;
	min-width: 184px;
	padding-inline: 34px;
}

.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary,
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary {
	width: auto;
	min-width: 166px;
	padding-inline: 38px;
}

/* 指定された二つの段落間だけを狭める。 */
.page-template-page-login .portraitist-library-card__closing-copy p:nth-of-type(1),
.page-template-page-login-php .portraitist-library-card__closing-copy p:nth-of-type(1),
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy p:nth-of-type(1),
.page-template-page-login .portraitist-library-card__closing-copy p:nth-of-type(2),
.page-template-page-login-php .portraitist-library-card__closing-copy p:nth-of-type(2),
.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy p:nth-of-type(2) {
	margin-bottom: 6px;
}

@media (min-width: 761px) {
	/* 文章を先に紙面中央寄りへ置き、装飾は文章幅に関与させない。 */
	.page-template-page-login .portraitist-library-card__hero-copy,
	.page-template-page-login-php .portraitist-library-card__hero-copy,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
		width: min(calc(100% - 250px), 820px);
		margin-left: clamp(92px, 10.5vw, 132px);
		margin-right: auto;
		padding: clamp(38px, 4vw, 50px) 0 clamp(34px, 3.6vw, 46px);
		transform: none;
	}

	.page-template-page-login .portraitist-library-card__hero-copy p,
	.page-template-page-login-php .portraitist-library-card__hero-copy p,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy p {
		max-width: 650px;
	}

	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		width: 174px;
		height: 108px;
		right: clamp(58px, 7vw, 86px);
		bottom: 24px;
	}

	.page-template-page-login .portraitist-library-card__hero-media img,
	.page-template-page-login-php .portraitist-library-card__hero-media img,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
		transform: scale(1.56);
		transform-origin: center;
	}

	/* 画像＋余白＋文章を一つの中央グループとして固定する。 */
	.page-template-page-login .portraitist-library-card__closing,
	.page-template-page-login-php .portraitist-library-card__closing,
	.portraitist-library-card > .portraitist-library-card__closing {
		display: block;
		width: min(calc(100% - 40px), 900px);
		max-width: 900px;
		margin-inline: auto;
	}

	.page-template-page-login .portraitist-library-card__closing-inner,
	.page-template-page-login-php .portraitist-library-card__closing-inner,
	.portraitist-library-card > .portraitist-library-card__closing > .portraitist-library-card__closing-inner {
		display: grid;
		grid-template-columns: 230px minmax(360px, 430px);
		align-items: center;
		justify-content: center;
		column-gap: clamp(72px, 8vw, 92px);
		width: fit-content;
		max-width: 100%;
		margin-inline: auto;
	}

	.page-template-page-login .portraitist-library-card__closing-art,
	.page-template-page-login-php .portraitist-library-card__closing-art,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-art {
		justify-self: center;
		width: 230px;
		max-width: none;
		transform: none;
	}

	.page-template-page-login .portraitist-library-card__closing-copy,
	.page-template-page-login-php .portraitist-library-card__closing-copy,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy {
		width: 100%;
		max-width: 430px;
		transform: none;
	}
}

@media (max-width: 760px) {
	.page-template-page-login .portraitist-library-card__hero-copy,
	.page-template-page-login-php .portraitist-library-card__hero-copy,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
		width: 100%;
		padding: 30px 26px 18px;
		transform: none;
	}

	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		position: relative;
		right: auto;
		bottom: auto;
		width: 108px;
		height: 70px;
		margin: -2px 26px 16px auto;
	}

	.page-template-page-login .portraitist-library-card__hero-media img,
	.page-template-page-login-php .portraitist-library-card__hero-media img,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
		transform: scale(1.5);
		transform-origin: center;
	}

	.page-template-page-login .portraitist-library-card__closing,
	.page-template-page-login-php .portraitist-library-card__closing,
	.portraitist-library-card > .portraitist-library-card__closing {
		display: block;
		width: calc(100% - 32px);
		margin-inline: auto;
		padding: 24px 20px;
	}

	.page-template-page-login .portraitist-library-card__closing-inner,
	.page-template-page-login-php .portraitist-library-card__closing-inner,
	.portraitist-library-card > .portraitist-library-card__closing > .portraitist-library-card__closing-inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 24px;
		margin: 0;
	}

	.page-template-page-login .portraitist-library-card__closing-art,
	.page-template-page-login-php .portraitist-library-card__closing-art,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-art {
		align-self: center;
		width: min(62%, 200px);
		max-width: none;
		transform: none;
	}

	.page-template-page-login .portraitist-library-card__closing-copy,
	.page-template-page-login-php .portraitist-library-card__closing-copy,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy {
		width: 100%;
		max-width: none;
		transform: none;
	}

	.page-template-page-login .portraitist-library-card__hero-actions .portraitist-library-card__primary,
	.page-template-page-login-php .portraitist-library-card__hero-actions .portraitist-library-card__primary,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions .portraitist-library-card__primary,
	.page-template-page-login .portraitist-library-card__closing-copy .portraitist-library-card__primary,
	.page-template-page-login-php .portraitist-library-card__closing-copy .portraitist-library-card__primary,
	.portraitist-library-card > .portraitist-library-card__closing .portraitist-library-card__closing-copy .portraitist-library-card__primary {
		width: auto;
		max-width: 100%;
		align-self: flex-start;
	}
}

/* Portraitist.jp | 2026-08-06 「あなたの書斎をひらく」ヘッダー最終構図 */
/* PC・タブレット横幅のみ。文章を独立した紙面として中央寄りに整え、装飾を右側から添える。 */
@media (min-width: 761px) {
	.page-template-page-login .portraitist-library-card__hero,
	.page-template-page-login-php .portraitist-library-card__hero,
	.portraitist-library-card > .portraitist-library-card__hero {
		min-height: clamp(390px, 39vw, 500px);
	}

	.page-template-page-login .portraitist-library-card__hero-copy,
	.page-template-page-login-php .portraitist-library-card__hero-copy,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
		width: min(calc(100% - 300px), 760px);
		margin-left: clamp(72px, 10.5vw, 150px);
		margin-right: 0;
		padding: clamp(48px, 5vw, 68px) 0 clamp(44px, 4.6vw, 62px);
	}

	.page-template-page-login .portraitist-library-card__hero-copy h1,
	.page-template-page-login-php .portraitist-library-card__hero-copy h1,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
		margin-bottom: clamp(22px, 2.2vw, 30px);
		font-size: clamp(28px, 2.65vw, 38px);
		line-height: 1.42;
		letter-spacing: .09em;
	}

	.page-template-page-login .portraitist-library-card__hero-copy p,
	.page-template-page-login-php .portraitist-library-card__hero-copy p,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy p {
		max-width: 720px;
		margin-bottom: 12px;
		font-size: clamp(15px, 1.35vw, 18px);
		line-height: 1.9;
		letter-spacing: .045em;
	}

	/* 原稿は維持し、PC・タブレットでは過剰な強制改行だけを解除する。 */
	.page-template-page-login .portraitist-library-card__hero-intro br,
	.page-template-page-login-php .portraitist-library-card__hero-intro br,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-intro br,
	.page-template-page-login .portraitist-library-card__hero-description br:nth-of-type(2),
	.page-template-page-login-php .portraitist-library-card__hero-description br:nth-of-type(2),
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-description br:nth-of-type(2),
	.page-template-page-login .portraitist-library-card__hero-free br,
	.page-template-page-login-php .portraitist-library-card__hero-free br,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-free br {
		display: none;
	}

	.page-template-page-login .portraitist-library-card__hero-description,
	.page-template-page-login-php .portraitist-library-card__hero-description,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-description {
		margin-top: clamp(14px, 1.5vw, 20px);
	}

	.page-template-page-login .portraitist-library-card__hero-free,
	.page-template-page-login-php .portraitist-library-card__hero-free,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-free {
		margin-top: 4px;
	}

	.page-template-page-login .portraitist-library-card__hero-actions,
	.page-template-page-login-php .portraitist-library-card__hero-actions,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-actions {
		margin-top: clamp(24px, 2.5vw, 34px);
	}

	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		right: clamp(70px, 8vw, 116px);
		bottom: clamp(54px, 6vw, 82px);
		width: clamp(190px, 20vw, 270px);
		height: clamp(118px, 12.5vw, 168px);
	}

	.page-template-page-login .portraitist-library-card__hero-media img,
	.page-template-page-login-php .portraitist-library-card__hero-media img,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media img {
		transform: none;
		opacity: .82;
	}
}

/* 中間幅では文章の成立を優先し、装飾との安全な間隔を保つ。 */
@media (min-width: 761px) and (max-width: 980px) {
	.page-template-page-login .portraitist-library-card__hero-copy,
	.page-template-page-login-php .portraitist-library-card__hero-copy,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy {
		width: calc(100% - 245px);
		margin-left: clamp(64px, 10vw, 86px);
	}

	.page-template-page-login .portraitist-library-card__hero-copy h1,
	.page-template-page-login-php .portraitist-library-card__hero-copy h1,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
		font-size: clamp(25px, 3.5vw, 30px);
	}

	.page-template-page-login .portraitist-library-card__hero-copy p,
	.page-template-page-login-php .portraitist-library-card__hero-copy p,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy p {
		font-size: 14px;
	}

	.page-template-page-login .portraitist-library-card__hero-media,
	.page-template-page-login-php .portraitist-library-card__hero-media,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-media {
		right: clamp(42px, 6vw, 62px);
		bottom: 48px;
		width: clamp(150px, 19vw, 185px);
		height: clamp(94px, 12vw, 116px);
	}
}

/* Portraitist.jp | 2026-08-06 「あなたの書斎をひらく」最終タイポグラフィ調整 */
/* 配置・余白・画像には触れず、主要見出しのサイズとウェイトだけを静かに整える。 */
.page-template-page-login .portraitist-library-card__hero-copy h1,
.page-template-page-login-php .portraitist-library-card__hero-copy h1,
.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 400;
	font-synthesis: none;
	line-height: 1.46;
}

/* Logged-out /study/ entrance only: isolate the title from theme heading weight. */
.portraitist-library-card #portraitist-library-card-title {
	font-weight: 400 !important;
	font-synthesis: none;
}

/* The global h2 rule adds top/bottom rules; this LP heading should stand on spacing alone. */
.portraitist-library-card > .portraitist-library-card__benefits > #portraitist-library-card-benefits-title {
	padding-top: 0;
	padding-bottom: 0;
	border-top: 0;
	border-bottom: 0;
}

.page-template-page-login .portraitist-library-card__catalog-copy h3,
.page-template-page-login-php .portraitist-library-card__catalog-copy h3,
.portraitist-library-card > .portraitist-library-card__benefits .portraitist-library-card__catalog-copy h3 {
	font-size: clamp(17px, 1.45vw, 21px);
	font-weight: 400;
	line-height: 1.7;
}

@media (min-width: 761px) and (max-width: 980px) {
	.page-template-page-login .portraitist-library-card__hero-copy h1,
	.page-template-page-login-php .portraitist-library-card__hero-copy h1,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
		font-size: clamp(23px, 3vw, 27px);
	}
}

@media (max-width: 760px) {
	.page-template-page-login .portraitist-library-card__hero-copy h1,
	.page-template-page-login-php .portraitist-library-card__hero-copy h1,
	.portraitist-library-card > .portraitist-library-card__hero .portraitist-library-card__hero-copy h1 {
		font-size: 23px;
	}

	.page-template-page-login .portraitist-library-card__catalog-copy h3,
	.page-template-page-login-php .portraitist-library-card__catalog-copy h3,
	.portraitist-library-card > .portraitist-library-card__benefits .portraitist-library-card__catalog-copy h3 {
		font-size: 21px;
	}
}

/* =========================================================
 * Portraitist email registration — PMPro Level 4 only
 * Reception-counter master layout. Registration remains WordPress/PMPro.
 * ======================================================= */
body.portraitist-email-registration-page {
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.42), transparent 34%),
    radial-gradient(circle at 82% 84%, rgba(174,141,83,.055), transparent 31%),
    #f3eee4;
}
body.portraitist-email-registration-page .wrapper {
  width:100%!important; max-width:none!important; margin-left:auto!important; margin-right:auto!important;
  box-sizing:border-box!important; overflow-x:clip;
}
body.portraitist-email-registration-page #main {
  width:100%!important; max-width:none!important; margin:0 auto!important;
  padding:58px 3vw 72px!important; box-sizing:border-box!important;
}
body.portraitist-email-registration-page #main > .row {
  display:block!important; width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important; padding-left:0!important; padding-right:0!important; box-sizing:border-box!important;
}
body.portraitist-email-registration-page #main main.twothird,
body.portraitist-email-registration-page #main > .row.portraitist-one-column-layout > main.twothird {
  width:100%!important; max-width:none!important; float:none!important; margin:0!important;
}
body.portraitist-email-registration-page #main aside.third,
body.portraitist-email-registration-page #main > .blog-title,
body.portraitist-email-registration-page main.twothird > .blog-title,
body.portraitist-email-registration-page .page-contents > h1:first-child { display:none!important; }
body.portraitist-email-registration-page .page-contents { display:flex!important; flex-direction:column!important; align-items:center!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; position:static!important; transform:none!important; box-sizing:border-box!important; }
body.portraitist-email-registration-page #pmpro_form,
body.portraitist-email-registration-page .pmpro,
body.portraitist-email-registration-page .pmpro_checkout {
  width:100%!important; max-width:none!important; margin:0!important; padding:0!important;
}

.portraitist-email-registration-shell {
  display:grid; grid-template-columns:minmax(0,49%) minmax(0,51%);
  width:min(94vw,1440px); max-width:1440px; min-height:760px;
  aspect-ratio:1.56 / 1; margin:0 auto; position:relative; left:auto; right:auto; transform:none; overflow:hidden; box-sizing:border-box;
  border:1px solid rgba(151,113,44,.47); border-radius:11px;
  background:#fbf8f1;
  box-shadow:0 17px 42px rgba(66,50,30,.075), inset 0 0 0 1px rgba(255,255,255,.35);
}
.portraitist-email-registration-visual {
  min-width:0; min-height:0; overflow:hidden;
  border-right:1px solid rgba(151,113,44,.23); background:#3a2b1d;
}
.portraitist-email-registration-visual img {
  display:block; width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:51% 51%;
}
.portraitist-email-registration-panel {
  display:flex; align-items:center; justify-content:center;
  min-width:0; min-height:0; padding:56px clamp(54px,5.4vw,88px) 42px;
  box-sizing:border-box;
  background:
    linear-gradient(rgba(253,250,243,.94),rgba(253,250,243,.94)),
    radial-gradient(circle at 25% 18%, rgba(190,154,86,.05), transparent 37%);
}

#pmpro_level-4 {
  width:100%!important; max-width:600px!important; min-width:0!important;
  margin:0 auto!important; padding:0!important; border:0!important;
  border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
#pmpro_level-4 .pmpro_level_name_text,
#pmpro_level-4 #pmpro_pricing_fields,
#pmpro_level-4 .pmpro_actions_nav,
#pmpro_level-4 .portraitist-pmpro-intro-box,
#pmpro_level-4 .portraitist-checkout-intro,
#pmpro_level-4 .portraitist-free-registration-links,
#pmpro_level-4 #pmpro_user_fields>.pmpro_card_title:not(.portraitist-email-registration-title),
#pmpro_level-4 #pmpro_user_fields>h2:not(.portraitist-email-registration-title) { display:none!important; }

#pmpro_level-4 .portraitist-email-registration-title,
#pmpro_level-4 #pmpro_user_fields > .portraitist-email-registration-title {
  display:block!important; width:100%!important; max-width:none!important;
  margin:0 0 30px!important; padding:0 0 23px!important;
  border:0!important; background:transparent!important; box-shadow:none!important;
  color:#3d342b!important; font-family:var(--font-title),serif!important;
  font-size:38px!important; font-weight:400!important; line-height:1.35!important;
  letter-spacing:.10em!important; text-align:center!important;
  white-space:nowrap!important; word-break:keep-all!important; overflow-wrap:normal!important;
}
#pmpro_level-4 .portraitist-email-registration-title::after {
  content:'◇'; display:block; width:136px; margin:16px auto 0;
  overflow:hidden; color:#b18a3e; font-size:11px; line-height:1;
  letter-spacing:55px; text-indent:27px; border-top:1px solid rgba(177,138,62,.42);
}

#pmpro_level-4 #pmpro_user_fields,
#pmpro_level-4 .pmpro_section,
#pmpro_level-4 .pmpro_card,
#pmpro_level-4 .pmpro_checkout_box,
#pmpro_level-4 .pmpro_checkout-fields,
#pmpro_level-4 .pmpro_card_content,
#pmpro_level-4 .pmpro_section_content,
#pmpro_level-4 .pmpro_checkout_box > div {
  display:block!important; width:100%!important; max-width:none!important; min-width:0!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; box-shadow:none!important;
}
#pmpro_level-4 .pmpro_form_fields {
  display:flex!important; flex-direction:column!important; gap:22px!important;
  width:100%!important; min-width:0!important; margin:0!important; padding:0!important;
}
#pmpro_level-4 :is(.pmpro_form_field,.pmpro_checkout-field) {
  position:relative!important; display:block!important; width:100%!important;
  max-width:none!important; min-width:0!important; margin:0!important; padding:0!important;
  float:none!important; clear:both!important;
}
#pmpro_level-4 .pmpro_form_field-username { order:1; }
#pmpro_level-4 .pmpro_form_field-password { order:2; }
#pmpro_level-4 .pmpro_form_field-email,
#pmpro_level-4 .pmpro_form_field-bemail { order:3; }
#pmpro_level-4 :is(label,.pmpro_form_label) {
  display:block!important; width:100%!important; margin:0 0 4px!important;
  color:#44382e!important; font-size:16px!important; line-height:1.5!important;
  letter-spacing:.08em!important; text-align:left!important;
  white-space:normal!important; word-break:normal!important; writing-mode:horizontal-tb!important;
}
#pmpro_level-4 .portraitist-field-note {
  display:block!important; width:100%!important; margin:0 0 8px!important;
  color:#7d6849!important; font-size:13px!important; line-height:1.55!important;
  letter-spacing:.025em!important; white-space:normal!important; word-break:normal!important;
}
#pmpro_level-4 .portraitist-field-error {
  display:block!important; width:100%!important; margin:8px 0 0!important; padding:8px 10px!important; box-sizing:border-box!important;
  border:1px solid rgba(143,83,61,.26)!important; background:rgba(255,248,244,.72)!important; color:#764a3b!important;
  font-size:12px!important; line-height:1.65!important; letter-spacing:.025em!important;
}
#pmpro_level-4 :is(input[type="text"],input[type="email"],input[type="password"],.pmpro_form_input) {
  display:block!important; width:100%!important; max-width:none!important; min-width:0!important;
  height:62px!important; min-height:62px!important; margin:0!important; padding:13px 16px!important;
  box-sizing:border-box!important; border:1px solid rgba(151,113,44,.39)!important;
  border-radius:3px!important; background:rgba(255,253,248,.86)!important; color:#332d27!important;
  font-size:16px!important; line-height:1.5!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
#pmpro_level-4 :is(input[type="text"],input[type="email"],input[type="password"],.pmpro_form_input):focus {
  outline:1px solid rgba(154,116,40,.42)!important; outline-offset:1px!important;
  border-color:rgba(154,116,40,.60)!important;
}
#pmpro_level-4 .pmpro_form_field-password .pmpro_form_input { padding-right:58px!important; }
#pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password) {
  position:absolute!important; right:10px!important; bottom:12px!important; z-index:3!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:38px!important; min-width:38px!important; height:38px!important; min-height:38px!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; color:#806d4f!important; box-shadow:none!important;
  font-size:0!important; line-height:1!important; opacity:.92!important;
}
#pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password) > * { display:none!important; }
#pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password)::before {
  content:''!important; display:block!important; width:19px!important; height:12px!important;
  border:1.5px solid currentColor!important; border-radius:55% 45% 55% 45%!important;
  transform:rotate(45deg)!important; box-sizing:border-box!important;
}
#pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password)::after {
  content:''!important; position:absolute!important; width:5px!important; height:5px!important;
  border-radius:50%!important; background:currentColor!important;
}

#pmpro_level-4 .pmpro_submit,
#pmpro_level-4 .pmpro_checkout-submit,
#pmpro_level-4 #pmpro_submit_span {
  display:block!important; width:100%!important; max-width:none!important;
  margin:27px 0 0!important; padding:0!important; border:0!important;
  background:transparent!important; box-shadow:none!important; text-align:center!important;
}
#pmpro_level-4 :is(input[type="submit"],.pmpro_btn-submit-checkout,#pmpro_btn-submit) {
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:100%!important; max-width:none!important; min-width:0!important;
  height:70px!important; min-height:70px!important; margin:0!important; padding:0 28px!important;
  box-sizing:border-box!important; border:1px solid #9f7625!important; border-radius:4px!important;
  background:linear-gradient(180deg,#b88c35 0%,#9d721f 100%)!important;
  color:#fff!important; font-family:var(--font-title),serif!important; font-size:17px!important;
  font-weight:400!important; line-height:1.4!important; letter-spacing:.12em!important;
  box-shadow:0 5px 12px rgba(89,60,15,.12), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
#pmpro_level-4 .pmpro_message {
  width:100%!important; margin:0 0 20px!important; box-sizing:border-box!important;
  border:1px solid rgba(143,83,61,.32)!important; background:#fff8f4!important;
  color:#764a3b!important; line-height:1.8!important;
}

.portraitist-email-registration-after-form {
  width:100%!important; margin:27px 0 0!important; text-align:left!important;
}
.portraitist-email-registration-links {
  margin:0!important; color:#55493e!important; font-size:15px!important; line-height:1.8!important;
}
.portraitist-email-registration-links p { margin:0!important; }
.portraitist-email-registration-links__label { margin-bottom:3px!important; }
.portraitist-email-registration-links a,
.portraitist-email-registration-privacy a {
  color:#8e6929!important; text-decoration:underline!important;
  text-decoration-thickness:1px!important; text-underline-offset:5px!important;
}
.portraitist-email-registration-privacy {
  width:100%!important; margin:31px 0 0!important; padding:22px 0 0!important;
  border-top:1px solid rgba(109,86,53,.18)!important;
  color:#695c4f!important; font-size:12.5px!important; line-height:1.6!important; text-align:left!important;
}
.portraitist-email-registration-privacy a::before { content:'▣'; margin-right:9px; color:#8e7449; font-size:9px; }

/* Keep the reception-counter composition through tablet landscape. */
@media (max-width:1180px) and (min-width:760px) {
  body.portraitist-email-registration-page #main { padding:42px 2.5vw 56px!important; }
  .portraitist-email-registration-shell {
    width:95vw; min-height:650px; aspect-ratio:1.48 / 1;
    grid-template-columns:minmax(0,46%) minmax(0,54%);
  }
  .portraitist-email-registration-visual img { object-position:52% 52%; }
  .portraitist-email-registration-panel { padding:40px clamp(30px,4vw,48px) 34px; }
  #pmpro_level-4 { max-width:500px!important; }
  #pmpro_level-4 .portraitist-email-registration-title,
  #pmpro_level-4 #pmpro_user_fields > .portraitist-email-registration-title {
    margin-bottom:24px!important; padding-bottom:18px!important; font-size:29px!important;
  }
  #pmpro_level-4 .pmpro_form_fields { gap:17px!important; }
  #pmpro_level-4 :is(input[type="text"],input[type="email"],input[type="password"],.pmpro_form_input) {
    height:55px!important; min-height:55px!important;
  }
  #pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password) { bottom:8px!important; }
  #pmpro_level-4 .pmpro_submit,
  #pmpro_level-4 .pmpro_checkout-submit,
  #pmpro_level-4 #pmpro_submit_span { margin-top:21px!important; }
  #pmpro_level-4 :is(input[type="submit"],.pmpro_btn-submit-checkout,#pmpro_btn-submit) { height:60px!important; min-height:60px!important; font-size:15px!important; }
  .portraitist-email-registration-after-form { margin-top:20px!important; }
  .portraitist-email-registration-privacy { margin-top:22px!important; padding-top:17px!important; }
}

@media (max-width:759px) {
  body.portraitist-email-registration-page #main { padding:22px 12px 42px!important; }
  .portraitist-email-registration-shell {
    display:block; width:100%; min-height:0; aspect-ratio:auto; border-radius:7px; box-shadow:none;
  }
  .portraitist-email-registration-visual {
    width:100%; height:clamp(270px,76vw,330px); border-right:0;
    border-bottom:1px solid rgba(151,113,44,.23);
  }
  .portraitist-email-registration-visual img { object-position:50% 45%; }
  .portraitist-email-registration-panel { width:100%; padding:34px 20px 31px; }
  #pmpro_level-4 { max-width:100%!important; }
  #pmpro_level-4 .portraitist-email-registration-title,
  #pmpro_level-4 #pmpro_user_fields > .portraitist-email-registration-title {
    margin-bottom:26px!important; padding-bottom:19px!important;
    font-size:24px!important; line-height:1.4!important; letter-spacing:.06em!important;
  }
  #pmpro_level-4 .pmpro_form_fields { gap:20px!important; }
  #pmpro_level-4 :is(input[type="text"],input[type="email"],input[type="password"],.pmpro_form_input) {
    height:56px!important; min-height:56px!important; font-size:16px!important;
  }
  #pmpro_level-4 .pmpro_form_field-password :is(.pmpro_btn-password-toggle,.pmpro_show_password,button[name="show-password"],button.password-toggle,.pmpro_btn-show-password) { right:8px!important; bottom:9px!important; }
  #pmpro_level-4 :is(input[type="submit"],.pmpro_btn-submit-checkout,#pmpro_btn-submit) {
    height:59px!important; min-height:59px!important; font-size:14px!important;
  }
  .portraitist-email-registration-after-form { margin-top:23px!important; }
  .portraitist-email-registration-privacy { margin-top:26px!important; padding-top:19px!important; }
}

/* =========================================================
 * Portraitist email registration — PC final finish (Level 4)
 * Keeps PMPro registration logic and completed responsive layouts intact.
 * ======================================================= */
/* Hide only PMPro's dedicated account-notice elements. Do not hide wrappers that may own fields. */
body.portraitist-email-registration-page #pmpro_level-4
#pmpro_user_fields > .pmpro_card > .pmpro_card_actions {
  display:none!important;
}

.portraitist-email-registration-links {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:0 9px!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
}
.portraitist-email-registration-links__separator {
  color:rgba(109,86,53,.48)!important;
  font-size:12px!important;
}
.portraitist-email-registration-privacy {
  width:100%!important;
  max-width:1280px!important;
  margin:28px auto 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#74685b!important;
  font-size:12px!important;
  line-height:1.6!important;
  text-align:center!important;
}
.portraitist-email-registration-privacy a::before { content:none!important; }

/* The visual is softened without changing the source image. */
.portraitist-email-registration-visual { position:relative; }
.portraitist-email-registration-visual::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:rgba(249,244,234,.20);
  z-index:1;
}

@media (min-width:1181px) {
  body.portraitist-email-registration-page #main {
    padding-top:50px!important;
    padding-bottom:58px!important;
  }
  .portraitist-email-registration-shell {
    width:min(88vw,1280px)!important;
    max-width:1280px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    grid-template-columns:minmax(0,49%) minmax(0,51%)!important;
  }
  .portraitist-email-registration-panel {
    align-items:flex-start!important;
    padding:46px clamp(54px,4.8vw,76px) 38px!important;
  }
  #pmpro_level-4 {
    max-width:560px!important;
  }
  #pmpro_level-4 .portraitist-email-registration-title,
  #pmpro_level-4 #pmpro_user_fields > .portraitist-email-registration-title {
    margin:0 0 24px!important;
    padding:0 0 19px!important;
    font-size:34px!important;
    line-height:1.35!important;
  }
  #pmpro_level-4 .pmpro_form_fields {
    gap:18px!important;
  }
  #pmpro_level-4 .pmpro_submit,
  #pmpro_level-4 .pmpro_checkout-submit,
  #pmpro_level-4 #pmpro_submit_span {
    margin-top:22px!important;
  }
  #pmpro_level-4 :is(input[type="submit"],.pmpro_btn-submit-checkout,#pmpro_btn-submit) {
    height:64px!important;
    min-height:64px!important;
  }
  .portraitist-email-registration-after-form {
    margin:22px 0 0!important;
    text-align:center!important;
  }
}

@media (max-width:759px) {
  .portraitist-email-registration-links {
    flex-direction:column!important;
    gap:4px!important;
  }
  .portraitist-email-registration-links__separator { display:none!important; }
  .portraitist-email-registration-privacy { margin-top:24px!important; }
}

/* Portraitist.jp | Article CTA copy and member-only impressions | 2026-08-07 */
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note {
	margin: -3px 0 20px !important;
	color: #a77b2e !important;
	font-family: var(--font-title);
	font-size: clamp(11.5px, .86vw, 13px) !important;
	font-weight: 400 !important;
	line-height: 1.9 !important;
	letter-spacing: .07em !important;
	text-align: left !important;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__button {
	gap: 0 !important;
}
@media (max-width: 760px) {
	.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note {
		margin: -2px 0 17px !important;
		font-size: 11.5px !important;
		line-height: 1.85 !important;
		text-align: center !important;
	}
}

/* Portraitist.jp | Logged-in article CTA: two reading-after actions | 2026-08-07 */
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	max-width: 640px;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__form {
	width: 100%;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions .portraitist-personal-shelf__button {
	width: 100%;
	min-width: 0;
	min-height: 50px;
	padding: 11px 14px;
	font-size: clamp(12px, .9vw, 14px) !important;
	line-height: 1.5;
	white-space: nowrap;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--comment {
	border-color: rgba(169, 129, 56, .72);
	background: rgba(250, 246, 237, .92) !important;
	color: #765a2d !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--comment:hover,
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--comment:focus-visible {
	background: #f2eadb !important;
	color: #513b24 !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved {
	background: #a9823b !important;
	color: #fffaf0 !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__form.is-submitting .portraitist-personal-shelf__button--save {
	opacity: .72;
	cursor: wait;
}
.single-post #respond {
	scroll-margin-top: 110px;
}
@media (max-width: 760px) {
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions {
		grid-template-columns: 1fr;
		gap: 11px;
		max-width: none;
	}
	.single-post #respond {
		scroll-margin-top: 86px;
	}
}

/* Portraitist.jp | Logged-in article CTA: vertical actions and saved bookmark state | 2026-08-07 */
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions {
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	max-width: 640px;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions .portraitist-personal-shelf__button {
	width: 100%;
	min-height: 52px;
	font-size: clamp(13px, .98vw, 15px) !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save {
	transition: background-color .24s ease, border-color .24s ease, color .24s ease, transform .22s ease, opacity .2s ease;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved {
	border: 1px solid rgba(157, 123, 61, .62) !important;
	background: #e7e8dc !important;
	color: #495547 !important;
	box-shadow: none !important;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__bookmark {
	display: inline-flex;
	width: 13px;
	height: 17px;
	margin-right: 9px;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: translateY(-2px);
	transition: opacity .2s ease, transform .24s ease;
	pointer-events: none;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__bookmark svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linejoin: round;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved .portraitist-personal-shelf__bookmark {
	opacity: .9;
	transform: translateY(0);
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-save-confirmed {
	animation: portraitist-shelf-confirm .26s ease-out 1;
}
@keyframes portraitist-shelf-confirm {
	0% { transform: scale(1); }
	48% { transform: scale(.985); }
	100% { transform: scale(1); }
}
@media (hover: hover) and (pointer: fine) {
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved:hover,
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved:focus-visible {
		border-color: rgba(143, 106, 47, .82) !important;
		background: #dedfce !important;
		color: #59482f !important;
	}
}
@media (max-width: 760px) {
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions {
		gap: 16px;
	}
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__actions .portraitist-personal-shelf__button {
		width: 100%;
		min-height: 52px;
		padding-right: 14px;
		padding-left: 14px;
		font-size: 13px !important;
		white-space: nowrap;
	}
}
@media (prefers-reduced-motion: reduce) {
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save,
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__bookmark {
		transition-duration: .01ms !important;
	}
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-save-confirmed {
		animation: none !important;
	}
}


/* Portraitist.jp | Article CTA final text alignment and guest note | 2026-08-07 */
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save .portraitist-personal-shelf__button-label {
	display: block;
	width: 100%;
	text-align: center;
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save .portraitist-personal-shelf__bookmark {
	position: absolute;
	top: 50%;
	left: clamp(18px, 4.5%, 30px);
	margin-right: 0;
	transform: translateY(calc(-50% - 2px));
}
.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save.is-saved .portraitist-personal-shelf__bookmark {
	transform: translateY(-50%);
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note {
	display: block;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note > span {
	display: block;
}
.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note-intro {
	margin-bottom: 0;
}
@media (max-width: 760px) {
	.single-post .portraitist-personal-shelf--logged .portraitist-personal-shelf__button--save .portraitist-personal-shelf__bookmark {
		left: 18px;
	}
	.single-post .portraitist-personal-shelf--guest .portraitist-personal-shelf__comment-note-intro {
		margin-bottom: 0;
	}
}


/* Portraitist.jp | Article-end navigation and final comment refinements | 2026-08-07 */
.single-post .portraitist-personal-shelf--closing > .portraitist-article-return {
	display:none;
}
.single-post .portraitist-article-return--before-comments {
	box-sizing:border-box;
	width:100%;
	margin:clamp(34px,4.5vw,52px) auto clamp(34px,4.5vw,52px);
	padding:0;
	border:0;
	text-align:center;
}
.single-post .portraitist-article-return--before-comments .portraitist-article-return__link {
	display:inline-flex;
	box-sizing:border-box;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-height:42px;
	padding:8px 18px;
	border:1px solid rgba(157,126,78,.32);
	background:rgba(251,247,239,.28);
	text-decoration:none!important;
}
.single-post .portraitist-article-return--before-comments .portraitist-article-return__link:hover,
.single-post .portraitist-article-return--before-comments .portraitist-article-return__link:focus-visible {
	border-color:rgba(157,126,78,.52);
	background:rgba(251,247,239,.48);
	text-decoration:none!important;
}
.single-post .wisdom-comment-form-ornament::before,
.single-post .wisdom-comment-form-ornament::after {
	content:none!important;
	display:none!important;
}
.single-post .wisdom-comments-title {
	border-top:0!important;
	border-bottom:0!important;
}
@media (max-width:760px) {
	.single-post .portraitist-article-return--before-comments {
		margin-top:30px;
		margin-bottom:34px;
	}
}


/* Portraitist.jp | Own-comment tools and personal-first marker | 2026-08-07 */
.wisdom-comment-list .comment-edit-link {
	display:none;
}
.wisdom-owner-actions {
	position:absolute;
	top:16px;
	right:18px;
	z-index:5;
	display:flex;
	gap:4px;
	align-items:center;
}
.wisdom-comment-action {
	display:inline-flex;
	width:25px;
	height:25px;
	padding:4px;
	border:0;
	border-radius:50%;
	align-items:center;
	justify-content:center;
	color:rgba(133,100,49,.72);
	background:transparent;
	box-shadow:none;
	cursor:pointer;
	transition:color .18s ease,background-color .18s ease,opacity .18s ease;
}
.wisdom-comment-action svg {
	display:block;
	width:15px;
	height:15px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.45;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.wisdom-comment-action:hover,
.wisdom-comment-action:focus-visible {
	color:#7f5e28;
	background:rgba(170,128,54,.07);
	outline:1px solid rgba(170,128,54,.18);
	outline-offset:1px;
}
.wisdom-owner-actions.is-busy,
.wisdom-owner-actions button:disabled {
	opacity:.45;
	cursor:wait;
}
.wisdom-comment-list .comment-body.is-current-user-comment > .comment-meta,
.wisdom-comment-list .comment-body:has(.wisdom-owner-actions) > .comment-meta {
	padding-right:76px;
}
.wisdom-owner-pin {
	position:absolute;
	top:21px;
	right:83px;
	z-index:4;
	display:inline-flex;
	width:12px;
	height:12px;
	align-items:center;
	justify-content:center;
	color:rgba(166,122,47,.60);
	pointer-events:none;
}
.wisdom-owner-pin svg {
	display:block;
	width:100%;
	height:100%;
	fill:currentColor;
}
.wisdom-comment-copy.is-owner-deleted {
	color:rgba(90,75,63,.62);
	font-style:italic;
}
.wisdom-comment-copy.is-plain-text {
	white-space:pre-wrap;
}
.wisdom-inline-editor {
	margin-top:3px;
}
.wisdom-inline-editor__textarea {
	display:block;
	box-sizing:border-box;
	width:100%;
	min-height:118px;
	padding:12px 14px;
	border:1px solid rgba(163,126,66,.22);
	border-radius:1px;
	color:#5a4b3f;
	background:rgba(253,250,243,.70);
	box-shadow:none;
	font-family:var(--font-body)!important;
	font-size:14px;
	line-height:1.9;
	resize:vertical;
}
.wisdom-inline-editor__textarea:focus {
	border-color:rgba(163,126,66,.44);
	outline:1px solid rgba(163,126,66,.18);
	outline-offset:2px;
}
.wisdom-inline-editor__actions {
	display:flex;
	justify-content:flex-end;
	gap:8px;
	margin-top:10px;
}
.wisdom-inline-editor__save,
.wisdom-inline-editor__cancel {
	min-width:68px;
	padding:7px 13px;
	border:1px solid rgba(163,126,66,.35);
	border-radius:2px;
	font-family:var(--font-title)!important;
	font-size:12px;
	letter-spacing:.08em;
	cursor:pointer;
}
.wisdom-inline-editor__save {
	color:#fffaf0;
	background:#aa8036;
}
.wisdom-inline-editor__cancel {
	color:#765d3c;
	background:transparent;
}
@media (max-width:760px) {
	.wisdom-owner-actions {
		top:13px;
		right:12px;
		gap:2px;
	}
	.wisdom-comment-action {
		width:28px;
		height:28px;
	}
	.wisdom-owner-pin {
		top:19px;
		right:72px;
		width:11px;
		height:11px;
	}
	.wisdom-comment-list .comment-body.is-current-user-comment > .comment-meta,
	.wisdom-comment-list .comment-body:has(.wisdom-owner-actions) > .comment-meta {
		padding-right:66px;
	}
}
@media (prefers-reduced-motion:reduce) {
	.wisdom-comment-action { transition:none; }
}

/* =========================================================
 * Portraitist email registration — Level 4 success view
 * Reuses the existing reception-counter shell and image.
 * ======================================================= */
.portraitist-email-registration-shell--success {
  min-height:760px!important;
}
.portraitist-email-registration-panel--success {
  align-items:center;
}
.portraitist-email-registration-success {
  width:100%;
  max-width:560px;
  margin:0 auto;
  color:#55493e;
  font-family:var(--font-body),serif;
}
.portraitist-email-registration-success__title {
  margin:0 0 42px;
  padding:0 0 24px;
  border-bottom:1px solid rgba(151,113,44,.28);
  color:#3d342b;
  font-family:var(--font-title),serif;
  font-size:30px;
  font-weight:400;
  line-height:1.45;
  letter-spacing:.09em;
  text-align:center;
}
.portraitist-email-registration-success__copy {
  margin:0;
  color:#55493e;
  font-size:16px;
  line-height:2.15;
  letter-spacing:.045em;
}
.portraitist-email-registration-success__copy p {
  margin:0 0 24px;
  padding:0;
}
.portraitist-email-registration-success__action {
  margin:42px 0 0;
  padding:0;
}
.portraitist-email-registration-success__action a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:64px;
  padding:0 28px;
  box-sizing:border-box;
  border:1px solid #9f7625;
  border-radius:4px;
  background:linear-gradient(180deg,#b88c35 0%,#9d721f 100%);
  color:#fff!important;
  font-family:var(--font-title),serif;
  font-size:17px;
  font-weight:400;
  line-height:1.4;
  letter-spacing:.12em;
  text-decoration:none;
  box-shadow:0 5px 12px rgba(89,60,15,.12), inset 0 1px 0 rgba(255,255,255,.18);
}
.portraitist-email-registration-success__action a:hover,
.portraitist-email-registration-success__action a:focus-visible {
  background:linear-gradient(180deg,#b18530 0%,#94691b 100%);
  color:#fff!important;
}

@media (max-width:1180px) and (min-width:760px) {
  .portraitist-email-registration-shell--success { min-height:650px!important; }
  .portraitist-email-registration-success { max-width:500px; }
  .portraitist-email-registration-success__title {
    margin-bottom:34px;
    padding-bottom:20px;
    font-size:27px;
  }
  .portraitist-email-registration-success__copy { font-size:15px; }
  .portraitist-email-registration-success__action { margin-top:34px; }
  .portraitist-email-registration-success__action a { min-height:60px; font-size:15px; }
}

@media (max-width:759px) {
  .portraitist-email-registration-shell--success { min-height:0!important; }
  .portraitist-email-registration-panel--success { padding:38px 24px 42px; }
  .portraitist-email-registration-success { max-width:none; }
  .portraitist-email-registration-success__title {
    margin-bottom:29px;
    padding-bottom:18px;
    font-size:22px;
    line-height:1.5;
    letter-spacing:.06em;
  }
  .portraitist-email-registration-success__copy {
    font-size:14px;
    line-height:2;
  }
  .portraitist-email-registration-success__copy p { margin-bottom:20px; }
  .portraitist-email-registration-success__action { margin-top:30px; }
  .portraitist-email-registration-success__action a {
    min-height:59px;
    padding:0 18px;
    font-size:14px;
  }
}

/* =========================================================
 * Portraitist.jp | Canonical member login /login/
 * Reuses the Level 4 registration counter proportions and visual language.
 * ======================================================= */
body.portraitist-member-login-screen .wrapper,
body.portraitist-member-login-screen #main {
	max-width: none;
}
body.portraitist-member-login-screen .portraitist-member-login-page {
	background: #f8f4eb;
	color: #51463b;
	font-family: var(--font-body), serif;
}
.portraitist-member-login-page__main {
	width: 100%;
	box-sizing: border-box;
	padding: 50px 4vw 72px;
}
.portraitist-member-login-card {
	display: grid;
	grid-template-columns: minmax(0, 49%) minmax(0, 51%);
	width: min(92vw, 1280px);
	min-height: 690px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid rgba(151, 113, 44, .42);
	border-radius: 8px;
	background: #fbf8f1;
	box-shadow: 0 12px 30px rgba(72, 51, 23, .06);
}
.portraitist-member-login-card__visual {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-right: 1px solid rgba(151, 113, 44, .25);
}
.portraitist-member-login-card__visual::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: rgba(249, 244, 234, .12);
}
.portraitist-member-login-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.portraitist-member-login-card__panel {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 46px clamp(48px, 4.7vw, 74px) 42px;
	box-sizing: border-box;
	background: rgba(255, 253, 248, .72);
}
.portraitist-member-login-card__content {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}
.portraitist-member-login-card__title {
	margin: 0;
	color: #3d342b;
	font-family: var(--font-title), serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
}
.portraitist-member-login-card__ornament,
.portraitist-member-login-card__divider {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 22px 0 42px;
	color: rgba(164, 128, 63, .46);
}
.portraitist-member-login-card__ornament::before,
.portraitist-member-login-card__ornament::after,
.portraitist-member-login-card__divider::before,
.portraitist-member-login-card__divider::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: rgba(151, 113, 44, .28);
}
.portraitist-member-login-card__ornament span {
	font-size: 18px;
	line-height: 1;
}
.portraitist-member-login-card__notice {
	margin: -18px 0 24px;
	padding: 11px 14px;
	border-left: 1px solid #a77b2e;
	background: rgba(181, 143, 69, .07);
	color: #6f5638;
	font-size: 13px;
	line-height: 1.8;
}
.portraitist-member-login-form,
.portraitist-member-login-form p {
	margin: 0;
	padding: 0;
}
.portraitist-member-login-form {
	display: grid;
	gap: 24px;
}
.portraitist-member-login-form__field label {
	display: block;
	margin: 0 0 10px;
	color: #4a3e33;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: .08em;
}
.portraitist-member-login-form__field input {
	display: block;
	width: 100%;
	height: 64px;
	min-height: 64px;
	box-sizing: border-box;
	padding: 0 18px;
	border: 1px solid rgba(151, 113, 44, .42);
	border-radius: 3px;
	outline: 0;
	background: #fffdf8;
	color: #4d4136;
	font-family: var(--font-body), serif;
	font-size: 16px;
	box-shadow: none;
	transition: border-color .18s ease, background-color .18s ease;
}
.portraitist-member-login-form__field input:focus {
	border-color: rgba(151, 113, 44, .72);
	background: #fffaf2;
}
.portraitist-member-login-form__password-wrap {
	position: relative;
	display: block;
}
.portraitist-member-login-form__password-wrap input {
	padding-right: 58px;
}
.portraitist-member-login-form__password-toggle {
	position: absolute;
	top: 50%;
	right: 14px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}
.portraitist-member-login-form__password-toggle span,
.portraitist-member-login-form__password-toggle span::after {
	position: absolute;
	display: block;
	box-sizing: border-box;
}
.portraitist-member-login-form__password-toggle span {
	top: 9px;
	left: 7px;
	width: 20px;
	height: 14px;
	border: 2px solid #8e7449;
	border-radius: 50% / 60%;
}
.portraitist-member-login-form__password-toggle span::after {
	content: '';
	top: 3px;
	left: 6px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #8e7449;
}
.portraitist-member-login-form__password-toggle:focus-visible {
	outline: 1px solid rgba(151, 113, 44, .7);
	outline-offset: 2px;
}
.portraitist-member-login-form__submit {
	padding-top: 4px !important;
}
.portraitist-member-login-form__submit button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 66px;
	min-height: 66px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid #9f7625;
	border-radius: 4px;
	background: linear-gradient(180deg, #b88c35 0%, #9d721f 100%);
	color: #fff;
	font-family: var(--font-title), serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .12em;
	box-shadow: 0 5px 12px rgba(89, 60, 15, .12), inset 0 1px 0 rgba(255, 255, 255, .18);
	cursor: pointer;
	transition: background-color .18s ease;
}
.portraitist-member-login-form__submit button:hover,
.portraitist-member-login-form__submit button:focus-visible {
	background: linear-gradient(180deg, #b18530 0%, #94691b 100%);
	color: #fff;
}
.portraitist-member-login-card__lost-password {
	margin: 28px 0 0;
	text-align: center;
}
.portraitist-member-login-card__lost-password a,
.portraitist-member-login-card__register a,
.portraitist-member-login-page__privacy a {
	color: #7f6336;
	text-decoration: none;
	border-bottom: 1px solid rgba(151, 113, 44, .58);
}
.portraitist-member-login-card__lost-password a:hover,
.portraitist-member-login-card__lost-password a:focus-visible,
.portraitist-member-login-card__register a:hover,
.portraitist-member-login-card__register a:focus-visible,
.portraitist-member-login-page__privacy a:hover,
.portraitist-member-login-page__privacy a:focus-visible {
	color: #5f4827;
	border-bottom-color: #8d692b;
}
.portraitist-member-login-card__divider {
	margin: 34px 0 30px;
}
.portraitist-member-login-card__divider span {
	font-size: 18px;
	line-height: 1;
}
.portraitist-member-login-card__register {
	text-align: center;
}
.portraitist-member-login-card__register p {
	margin: 0 0 12px;
	color: #51463b;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: .06em;
}
.portraitist-member-login-card__register p:last-child {
	margin-bottom: 0;
}
.portraitist-member-login-card__register a {
	font-family: var(--font-title), serif;
	font-size: 17px;
	letter-spacing: .1em;
}
.portraitist-member-login-page__privacy {
	margin: 34px auto 0;
	text-align: center;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: .04em;
}

@media (max-width: 1180px) {
	.portraitist-member-login-page__main {
		padding: 42px 2.5vw 58px;
	}
	.portraitist-member-login-card {
		display: block;
		width: min(94vw, 920px);
		min-height: 0;
	}
	.portraitist-member-login-card__visual {
		height: clamp(360px, 46vw, 470px);
		border-right: 0;
		border-bottom: 1px solid rgba(151, 113, 44, .25);
	}
	.portraitist-member-login-card__visual img {
		object-position: 50% 46%;
	}
	.portraitist-member-login-card__panel {
		padding: 44px clamp(36px, 6vw, 64px) 48px;
	}
	.portraitist-member-login-card__content {
		max-width: 620px;
	}
	.portraitist-member-login-card__title {
		font-size: 30px;
	}
}

@media (max-width: 759px) {
	.portraitist-member-login-page__main {
		padding: 22px 12px 42px;
	}
	.portraitist-member-login-card {
		width: 100%;
		border-radius: 7px;
		box-shadow: none;
	}
	.portraitist-member-login-card__visual {
		height: clamp(270px, 76vw, 330px);
	}
	.portraitist-member-login-card__visual img {
		object-position: 50% 45%;
	}
	.portraitist-member-login-card__panel {
		padding: 34px 20px 38px;
	}
	.portraitist-member-login-card__title {
		font-size: 24px;
		line-height: 1.45;
		letter-spacing: .07em;
	}
	.portraitist-member-login-card__ornament {
		margin: 19px 0 30px;
	}
	.portraitist-member-login-form {
		gap: 20px;
	}
	.portraitist-member-login-form__field input {
		height: 56px;
		min-height: 56px;
		font-size: 16px;
	}
	.portraitist-member-login-form__submit button {
		height: 59px;
		min-height: 59px;
		font-size: 15px;
	}
	.portraitist-member-login-card__lost-password {
		margin-top: 24px;
	}
	.portraitist-member-login-card__divider {
		margin: 30px 0 26px;
	}
	.portraitist-member-login-page__privacy {
		margin-top: 26px;
		font-size: 13px;
	}
}

/* =========================================================
 * Portraitist.jp | Reader password recovery /forgot-password/
 * Only the copy-specific spacing differs; the login card system is shared.
 * ======================================================= */
.portraitist-forgot-password-page__intro,
.portraitist-forgot-password-page__message {
	margin: -8px 0 30px;
	color: #51463b;
	font-size: 15px;
	line-height: 2;
	letter-spacing: .045em;
}
.portraitist-forgot-password-page__message {
	text-align: center;
}
.portraitist-forgot-password-page__back {
	margin: 30px 0 0;
	text-align: center;
}
.portraitist-forgot-password-page__back a {
	color: #7f6336;
	text-decoration: none;
	border-bottom: 1px solid rgba(151, 113, 44, .58);
}
.portraitist-forgot-password-page__back a:hover,
.portraitist-forgot-password-page__back a:focus-visible {
	color: #5f4827;
	border-bottom-color: #8d692b;
}
@media (max-width: 759px) {
	.portraitist-forgot-password-page__intro,
	.portraitist-forgot-password-page__message {
		margin-bottom: 24px;
		font-size: 14px;
	}
}

/* Portraitist first profile setup */
.portraitist-study-profile.is-profile-uninitialized { position: relative; min-height: 250px; overflow: hidden; }
.portraitist-study-profile.is-profile-uninitialized > .portraitist-study-profile__avatar-wrap,
.portraitist-study-profile.is-profile-uninitialized > .portraitist-study-profile__content { filter: blur(3px); opacity: .28; pointer-events: none; user-select: none; }
.portraitist-study-profile__veil { position: absolute; inset: 0; z-index: 3; background: rgba(250,246,238,.12); }
.portraitist-study-profile__initialize-cta { position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%,-50%); min-width: 220px; padding: 20px 26px; border: 1px solid rgba(154,116,40,.72); border-radius: 999px; background: rgba(253,249,241,.94); color: #815b24; font: inherit; font-size: 13px; letter-spacing: .08em; cursor: pointer; box-shadow: 0 8px 24px rgba(77,54,28,.06); }
.portraitist-study-profile__initialize-cta:hover,.portraitist-study-profile__initialize-cta:focus-visible { border-color: rgba(145,101,35,.82); outline: none; transform: translate(-50%,-52%); }
.portraitist-study-profile__edit-icon { position: absolute; right: 18px; top: 16px; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; color: #98703a; font: inherit; font-size: 16px; opacity: .62; cursor: pointer; }
.portraitist-study-profile__edit-icon:hover,.portraitist-study-profile__edit-icon:focus-visible { opacity: 1; outline: 1px solid rgba(173,129,50,.35); border-radius: 50%; }
.portraitist-study-profile__extended-prompt { position:absolute; right:34px; bottom:26px; z-index:2; margin:0; }
.portraitist-study-profile__extended-prompt button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:7px 16px; border:1px solid rgba(151,113,44,.46); border-radius:3px; background:rgba(253,249,241,.52); color:#8b672c; font:inherit; font-size:11px; font-weight:400; line-height:1.6; letter-spacing:.07em; cursor:pointer; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
.portraitist-study-profile__extended-prompt button:hover,.portraitist-study-profile__extended-prompt button:focus-visible { color:#6f5025; border-color:rgba(139,103,44,.68); background:rgba(253,249,241,.84); outline:none; }
.portraitist-profile-initialize[hidden] { display:none; }
.portraitist-profile-initialize { position: fixed; inset: 0; z-index: 10020; display: grid; place-items: center; padding: 28px; }
.portraitist-profile-initialize__backdrop { position:absolute; inset:0; background: rgba(58,48,38,.34); backdrop-filter: blur(2px); }
.portraitist-profile-initialize__panel { position:relative; z-index:1; width:min(100%,720px); max-height:calc(100vh - 56px); overflow:auto; padding: 34px 48px 40px; border:1px solid rgba(173,129,50,.34); border-radius:14px; background:#fbf7ef; color:#3f352b; box-shadow:0 18px 48px rgba(54,42,28,.12); }
.portraitist-profile-initialize__panel:focus { outline:none; }
.portraitist-profile-initialize__close { position:absolute; right:20px; top:15px; border:0; background:transparent; color:#5e4a36; font-size:24px; cursor:pointer; }
.portraitist-profile-initialize__header { text-align:center; margin-bottom: 20px; }
.portraitist-profile-initialize__header h2 { margin:0; font-size:24px; font-weight:400; letter-spacing:.08em; }
.portraitist-profile-initialize__header span { display:block; width:64px; height:1px; margin:14px auto 0; background:rgba(173,129,50,.22); }
.portraitist-profile-initialize__section { padding:24px 0 26px; border-top:0; }
.portraitist-profile-initialize__section h3 { display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:0; border:0; font-size:14px; font-weight:400; letter-spacing:.06em; }
.portraitist-profile-initialize__section h3 b { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(173,129,50,.35); border-radius:50%; font-size:11px; font-weight:400; color:#8d682f; }
.portraitist-profile-initialize__name-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-left:42px; }
.portraitist-profile-initialize__name-fields label { color:#806d59; font-size:10px; letter-spacing:.06em; }
.portraitist-profile-initialize__name-fields label:last-child { grid-column:1/-1; }
.portraitist-profile-initialize__name-fields input { box-sizing:border-box; width:100%; height:44px; margin-top:6px; padding:8px 12px; border:1px solid rgba(173,129,50,.32); border-radius:5px; background:#fffdf8; color:#3f352b; font:inherit; font-size:13px; }
.portraitist-profile-initialize__public-name { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; margin:15px 0 0 42px; font-size:11px; color:#76614b; }
.portraitist-profile-initialize__public-name > span { width:100%; color:#9a7d59; }
.portraitist-profile-initialize__public-name label { cursor:pointer; }
.portraitist-profile-initialize__photo { display:flex; align-items:center; gap:14px; margin-left:42px; }
.portraitist-profile-initialize__photo-preview { position:relative; width:92px; aspect-ratio:1; overflow:hidden; border:1px solid rgba(123,91,49,.12); border-radius:50%; background:#f0e8dc; }
.portraitist-profile-initialize__photo-preview::before { content:""; position:absolute; left:50%; top:27%; width:24px; height:24px; border:1.5px solid #81613a; border-radius:50%; transform:translateX(-50%); }
.portraitist-profile-initialize__photo-preview::after { content:""; position:absolute; left:50%; bottom:25%; width:42px; height:23px; border:1.5px solid #81613a; border-bottom:0; border-radius:30px 30px 0 0; transform:translateX(-50%); }
.portraitist-profile-initialize__photo-preview.has-image::before,.portraitist-profile-initialize__photo-preview.has-image::after { display:none; }
.portraitist-profile-initialize__photo-preview img { width:100%; height:100%; object-fit:cover; }
.portraitist-profile-initialize__photo button { min-height:40px; padding:9px 18px; border:1px solid rgba(173,129,50,.34); border-radius:5px; background:#fffaf2; color:#72522a; font:inherit; font-size:11px; cursor:pointer; }
.portraitist-profile-initialize__section-heading { display:flex; align-items:center; justify-content:space-between; }
.portraitist-profile-initialize__section-heading h3 { margin-bottom:16px; }
.portraitist-profile-initialize__section-heading > span { color:#8d682f; font-size:13px; font-weight:500; letter-spacing:.08em; transition:color .18s ease, opacity .18s ease; }
.portraitist-profile-initialize__section-heading > span.is-complete { color:#66745f; }
.portraitist-profile-initialize__tag-input { display:flex; margin-left:42px; }
.portraitist-profile-initialize__tag-input input { flex:1; min-width:0; height:42px; padding:8px 12px; border:1px solid rgba(173,129,50,.3); border-radius:5px 0 0 5px; background:#fffdf8; color:#3f352b; font:inherit; font-size:12px; }
.portraitist-profile-initialize__tag-input button { width:44px; border:1px solid rgba(173,129,50,.3); border-left:0; border-radius:0 5px 5px 0; background:#f8f0e4; color:#8d682f; cursor:pointer; }
.portraitist-profile-initialize__selected-tags,.portraitist-profile-initialize__examples { display:flex; flex-wrap:wrap; gap:8px; margin-left:42px; }
.portraitist-profile-initialize__selected-tags { margin-top:12px; margin-bottom:24px; }
.portraitist-profile-initialize__selected-tags button,.portraitist-profile-initialize__examples button { padding:7px 12px; border:1px solid rgba(142,101,40,.25); border-radius:999px; background:rgba(255,253,248,.72); color:#695641; font:inherit; font-size:10px; line-height:1.3; cursor:pointer; }
.portraitist-profile-initialize__selected-tags button,.portraitist-profile-initialize__examples button.is-selected { border-color:rgba(154,116,40,.56); background:#f4ead9; color:#765322; }
.portraitist-profile-initialize__examples button:disabled { opacity:.45; cursor:default; }
.portraitist-profile-initialize__examples-label { display:none; }
.portraitist-profile-initialize__message { margin:4px 0 14px; padding:9px 12px; border:1px solid rgba(143,81,62,.22); background:rgba(153,85,62,.04); color:#8b5547; font-size:11px; text-align:center; }
.portraitist-profile-initialize__submit { display:block; width:min(100%,380px); min-height:50px; margin:14px auto 0; border:1px solid #ad8132; border-radius:5px; background:#b4862d; color:#fff; font:inherit; font-size:13px; letter-spacing:.08em; cursor:pointer; }
.portraitist-profile-initialize__submit:disabled { opacity:.55; cursor:wait; }
html.portraitist-profile-initialize-open { overflow:hidden; }
@media (max-width:680px) {
 .portraitist-study-section__heading img { width:82px; }
 .portraitist-study-profile__extended-prompt { right:18px; bottom:16px; margin:0; text-align:right; }
 .portraitist-study-profile__extended-prompt button { min-height:34px; padding:6px 12px; font-size:10px; }
 .portraitist-study-profile.is-profile-uninitialized { min-height:210px; }
 .portraitist-study-profile__initialize-cta { min-width:190px; padding:17px 20px; font-size:11px; }
 .portraitist-profile-initialize { align-items:stretch; padding:10px; }
 .portraitist-profile-initialize__panel { width:100%; max-height:calc(100vh - 20px); padding:28px 18px 34px; border-radius:10px; }
 .portraitist-profile-initialize__header h2 { font-size:20px; }
 .portraitist-profile-initialize__name-fields { grid-template-columns:1fr; margin-left:0; }
 .portraitist-profile-initialize__name-fields label:last-child { grid-column:auto; }
 .portraitist-profile-initialize__public-name,.portraitist-profile-initialize__photo,.portraitist-profile-initialize__tag-input,.portraitist-profile-initialize__selected-tags,.portraitist-profile-initialize__examples { margin-left:0; }
 .portraitist-profile-initialize__examples-label { margin-left:0; }
 .portraitist-profile-initialize__photo { gap:18px; }
}

@media (max-width: 680px) {
	.portraitist-study-featured-slider__empty,
	.portraitist-study-empty-state { align-items:flex-start; flex-direction:column; gap:10px; margin-top:14px; }
}
.portraitist-profile-initialize-open .portraitist-profile-crop { z-index: 10030; }

/* Portraitist profile phase 4: progressive name-card details. */
.portraitist-study-profile.is-profile-initialized { overflow: hidden; }
.portraitist-study-profile.is-profile-initialized .portraitist-study-profile__content { padding-right: 74px; }
.portraitist-study-profile__facts { display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px; margin-top:12px; color:#917452; font-size:9px; line-height:1.5; letter-spacing:.13em; }
.portraitist-study-profile__facts-separator { color:rgba(145,116,82,.66); }
.portraitist-study-profile__socials { position:absolute; right:24px; bottom:20px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; max-width:300px; margin:0; }
.portraitist-study-profile__socials a,.portraitist-study-profile__socials .is-status { display:grid; place-items:center; box-sizing:border-box; width:30px; height:30px; border:1px solid rgba(145,111,58,.23); border-radius:50%; background:rgba(255,252,246,.44); color:#8e6528; font-size:12px; line-height:1; text-decoration:none; }
.portraitist-study-profile__socials .is-status { cursor:default; font-family:Georgia,serif; font-size:11px; }
.portraitist-study-profile__socials a.has-portraitist-social-icon { border-color:transparent; background:transparent; }
.portraitist-study-profile__socials a.has-portraitist-social-icon:hover,.portraitist-study-profile__socials a.has-portraitist-social-icon:focus-visible { border-color:transparent; background:transparent; }
.portraitist-study-profile__socials a.has-portraitist-social-icon img { display:block; width:30px; height:30px; object-fit:contain; }

.portraitist-study-profile__flip { position:absolute; right:54px; top:17px; width:30px; height:30px; padding:0; border:0; background:transparent; color:#98703a; font:inherit; font-size:14px; opacity:.58; cursor:pointer; }
.portraitist-study-profile__flip:hover,.portraitist-study-profile__flip:focus-visible { opacity:1; outline:1px solid rgba(173,129,50,.35); border-radius:50%; }
.portraitist-study-profile__back { position:absolute; z-index:5; inset:1px; display:grid; place-items:center; padding:48px 72px; border-radius:13px; background:rgba(251,247,239,.82); opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .24s ease,transform .24s ease,visibility .24s; }
.portraitist-study-profile__back p { max-width:620px; margin:0; color:#604a37; font-size:15px; line-height:2; letter-spacing:.06em; text-align:center; }
.portraitist-study-profile.is-showing-back .portraitist-study-profile__back { opacity:1; visibility:visible; transform:none; }
.portraitist-study-profile.is-showing-back .portraitist-study-profile__edit-icon,.portraitist-study-profile.is-showing-back .portraitist-study-profile__flip { z-index:7; }
.portraitist-study-profile.is-showing-back .portraitist-study-profile__flip { transform:rotate(180deg); }
.portraitist-profile-edit__row,.portraitist-profile-edit__visibility { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-left:42px; color:#76614b; font-size:11px; }
.portraitist-profile-edit__row > input { min-height:42px; padding:7px 10px; border:1px solid rgba(173,129,50,.3); border-radius:5px; background:#fffdf8; color:#3f352b; font:inherit; }
.portraitist-profile-edit__residence,.portraitist-profile-edit__urls { display:grid; grid-template-columns:1fr; gap:14px; margin-left:42px; }
.portraitist-profile-edit__residence label,.portraitist-profile-edit__urls label { color:#806d59; font-size:10px; letter-spacing:.04em; }
.portraitist-profile-edit__residence select,.portraitist-profile-edit__residence input,.portraitist-profile-edit__urls input { box-sizing:border-box; width:100%; min-height:42px; margin-top:6px; padding:8px 10px; border:1px solid rgba(173,129,50,.3); border-radius:5px; background:#fffdf8; color:#3f352b; font:inherit; font-size:12px; }
.portraitist-profile-edit__visibility { margin-top:12px; }
.portraitist-profile-edit__birth { display:flex; flex-wrap:wrap; gap:10px 14px; margin-left:42px; }
.portraitist-profile-edit__birth label { display:flex; align-items:center; gap:6px; color:#806d59; font-size:10px; }
.portraitist-profile-edit__birth select { min-width:78px; height:42px; padding:7px 9px; border:1px solid rgba(173,129,50,.3); border-radius:5px; background:#fffdf8; color:#3f352b; font:inherit; }
.portraitist-profile-edit__birth label:first-child select { min-width:104px; }
.portraitist-profile-edit__overseas { margin-top:4px; }
.portraitist-profile-edit__urls--single { grid-template-columns:1fr; }
.portraitist-profile-edit__urls--single label { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:10px 14px; }
.portraitist-profile-edit__urls--single label input[type=url],.portraitist-profile-edit__urls--single label input[type=text] { margin-top:0; }
.portraitist-profile-edit__urls .portraitist-profile-edit__profile-field { min-width:0; min-height:42px; padding:8px 12px; }
.portraitist-profile-edit__url-visibility { display:flex; gap:8px; white-space:nowrap; color:#8a735b; font-size:9px; }
.portraitist-profile-edit__url-visibility input { width:auto!important; min-height:0!important; margin:0 2px 0 0!important; }
.portraitist-profile-edit__line { display:grid; grid-template-columns:110px 1fr; align-items:center; min-height:42px; color:#806d59; font-size:10px; }
.portraitist-profile-edit__line strong { font-weight:400; color:#65735f; }
.portraitist-profile-edit__line a { color:#80602f; text-decoration:none; }
.portraitist-profile-edit__line small { grid-column:2; margin-top:5px; color:#8b5547; font-size:9px; }
.portraitist-profile-edit__extras textarea { box-sizing:border-box; display:block; width:calc(100% - 42px); min-height:86px; margin-left:42px; padding:10px 12px; resize:vertical; border:1px solid rgba(173,129,50,.3); border-radius:5px; background:#fffdf8; color:#3f352b; font:inherit; font-size:12px; line-height:1.7; }
.portraitist-profile-edit__extras small { display:block; margin:7px 0 0 42px; color:#9a7d59; font-size:9px; }
@media (prefers-reduced-motion: reduce) { .portraitist-study-profile__back { transition:none; } }
@media (max-width:680px) {
 .portraitist-study-profile.is-profile-initialized .portraitist-study-profile__content { padding-right:0; padding-bottom:46px; }
 .portraitist-study-profile__socials { right:18px; bottom:15px; }
 .portraitist-study-profile__flip { right:50px; top:16px; }
 .portraitist-study-profile__back { padding:54px 28px; }
 .portraitist-profile-edit__row,.portraitist-profile-edit__visibility,.portraitist-profile-edit__residence,.portraitist-profile-edit__urls,.portraitist-profile-edit__birth { margin-left:0; }
 .portraitist-profile-edit__residence,.portraitist-profile-edit__urls { grid-template-columns:1fr; }
 .portraitist-profile-edit__urls--single label { grid-template-columns:1fr; gap:6px; }
 .portraitist-profile-edit__line { grid-template-columns:90px 1fr; }
 .portraitist-profile-edit__url-visibility { margin-top:0; }
 .portraitist-profile-edit__extras textarea { width:100%; margin-left:0; }
 .portraitist-profile-edit__extras small { margin-left:0; }
}


/* =========================================================
   Portraitist | 記事下部UI（2026-08-09）
   言葉 / 本棚 / 感想を余白で分離し、会員・非会員の役割を明確化。
========================================================= */
.single-post .portraitist-postread {
	box-sizing: border-box;
	width: min(100%, 920px);
	margin: clamp(76px, 9vw, 118px) auto clamp(46px, 6vw, 76px);
	padding: 0 clamp(18px, 4vw, 44px);
	border: 0;
	background: transparent;
	color: #514338;
}
.single-post .portraitist-postread__heading {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	color: #594633;
	font-family: var(--font-title);
	font-size: clamp(18px, 1.5vw, 22px);
	font-weight: 400 !important;
	font-synthesis: none;
	line-height: 1.65;
	letter-spacing: .09em;
}
.single-post .portraitist-postread .portraitist-article-words {
	max-width: none;
	margin: clamp(54px, 6vw, 78px) 0 0;
	padding: 0;
	border: 0;
}
.single-post .portraitist-postread__words-decoration {
	display: block;
	width: clamp(88px, 8vw, 118px);
	max-width: 28%;
	height: auto;
	margin: -10px 0 clamp(24px, 2.6vw, 34px);
	opacity: .72;
}
.single-post .portraitist-postread .portraitist-article-words--guest {
	padding-top: 0;
}
.single-post .portraitist-postread .portraitist-reader-word-form {
	width: min(100%, 680px);
	max-width: 680px;
	margin: 0 0 16px;
}
.single-post .portraitist-postread .portraitist-reader-word-form__label {
	margin-bottom: 8px;
}
.single-post .portraitist-postread .portraitist-article-words__reader-list {
	margin-bottom: 22px;
}
.single-post .portraitist-postread .portraitist-article-words__suggestions {
	margin-top: 24px;
}

/* The second act begins after a deliberate pause from the words. */
.single-post .portraitist-postread .portraitist-personal-shelf {
	width: 100%;
	max-width: none;
	margin: clamp(76px, 9vw, 108px) 0 0;
	padding: clamp(48px, 5vw, 62px) 0 0;
	border: 0;
	border-top: 1px solid rgba(159, 124, 70, .16);
	background: transparent;
	text-align: left;
}
.single-post .portraitist-postread .portraitist-personal-shelf__panel,
.single-post .portraitist-postread .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel,
.single-post .portraitist-postread .portraitist-personal-shelf--logged .portraitist-personal-shelf__panel {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(36px, 5vw, 62px);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.single-post .portraitist-postread .portraitist-personal-shelf__panel::before,
.single-post .portraitist-postread .portraitist-personal-shelf__panel::after {
	content: none;
}
.single-post .portraitist-postread .portraitist-personal-shelf__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
}
.single-post .portraitist-postread .portraitist-personal-shelf__media img,
.single-post .portraitist-postread .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
	width: min(100%, 184px);
	max-width: 184px;
	height: auto;
	margin: 0;
	background: transparent;
	box-shadow: 0 11px 20px rgba(67, 48, 30, .11);
	transform: rotate(-2deg);
}
.single-post .portraitist-postread .portraitist-personal-shelf__copy {
	display: flex;
	align-items: center;
	min-width: 0;
	text-align: left;
}
.single-post .portraitist-postread .portraitist-personal-shelf__actions {
	display: flex;
	width: min(100%, 420px);
	max-width: 420px;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
}
.single-post .portraitist-postread .portraitist-personal-shelf__form {
	width: 100%;
	margin: 0;
}
.single-post .portraitist-postread .portraitist-personal-shelf__button {
	display: inline-flex;
	width: min(100%, 420px);
	min-width: 220px;
	max-width: 100%;
	min-height: 50px;
	gap: 12px;
	padding: 11px 18px;
	font-size: 13px;
	letter-spacing: .08em;
}
.single-post .portraitist-postread .portraitist-personal-shelf__actions .portraitist-personal-shelf__button {
	width: 100%;
	min-width: 0;
}
.single-post .portraitist-postread .portraitist-personal-shelf__button--comment {
	border-color: rgba(147, 111, 54, .34);
	background: rgba(250, 246, 237, .58) !important;
	color: #6f5633 !important;
}
.single-post .portraitist-postread .portraitist-personal-shelf__bookmark {
	width: 13px;
}

/* Comments remain a third, clearly separated act. */
.single-post .portraitist-postread .wisdom-comments {
	max-width: none;
	margin: clamp(76px, 9vw, 108px) 0 0;
	padding: clamp(48px, 5vw, 62px) 0 0;
	border: 0;
	border-top: 1px solid rgba(159, 124, 70, .16);
	background: transparent;
	box-shadow: none;
}
.single-post .portraitist-postread .wisdom-comment-form-wrapper {
	margin: 0;
}
.single-post .portraitist-postread .wisdom-comment-form-title {
	text-align: center;
}
.single-post .portraitist-postread .wisdom-comment-form-ornament {
	width: 230px;
	margin: -54px auto -48px;
}
.single-post .portraitist-postread .wisdom-comment-form-lead {
	margin-bottom: 26px !important;
}
.single-post .portraitist-postread .wisdom-comment-records {
	margin-top: 48px;
	padding-top: 34px;
}
.single-post .portraitist-article-return--after-postread {
	width: min(100%, 920px);
	margin: clamp(28px, 3.4vw, 42px) auto clamp(54px, 7vw, 86px);
	padding-top: 0;
	border-top: 0;
}
.single-post .portraitist-article-return--after-postread .portraitist-article-return__link {
	box-sizing: border-box;
	min-height: 43px;
	padding: 9px 18px;
	border: 1px solid rgba(112, 91, 66, .38);
	background: rgba(255, 252, 246, .24);
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
@media (hover: hover) and (pointer: fine) {
	.single-post .portraitist-article-return--after-postread .portraitist-article-return__link:hover {
		transform: translateX(-2px);
		border-color: rgba(112, 91, 66, .58);
		background: rgba(255, 252, 246, .48);
	}
}

/* Season 01 keeps the end of the article as one continuous reading-to-shelf-to-letters path. */
.single-post .portraitist-postread--season-01 {
	margin-top: clamp(38px, 4.5vw, 58px);
}
.single-post .portraitist-postread--season-01 .portraitist-personal-shelf {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.single-post .portraitist-postread--season-01 .wisdom-comments {
	margin-top: clamp(42px, 4.6vw, 58px);
	padding-top: 0;
	border-top: 0;
}
.single-post .portraitist-postread--season-01 .wisdom-comment-records {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.single-post .portraitist-postread--season-01 .wisdom-comments-title--season-01 {
	margin-bottom: clamp(34px, 3.5vw, 46px) !important;
	font-weight: 300 !important;
}

@media (max-width: 760px) {
	.single-post .portraitist-postread {
		width: calc(100% - 28px);
		margin-top: 64px;
		margin-bottom: 42px;
		padding: 0 8px;
	}
	.single-post .portraitist-postread__heading {
		margin-bottom: 21px;
		font-size: 18px;
	}
	.single-post .portraitist-postread__words-decoration {
		width: min(104px, 28vw);
		max-width: 28vw;
		margin: -8px 0 24px;
	}
	.single-post .portraitist-postread .portraitist-reader-word-form {
		width: 100%;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf {
		margin-top: 66px;
		padding-top: 38px;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf__panel,
	.single-post .portraitist-postread .portraitist-personal-shelf--guest .portraitist-personal-shelf__panel,
	.single-post .portraitist-postread .portraitist-personal-shelf--logged .portraitist-personal-shelf__panel {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 0;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf__media img,
	.single-post .portraitist-postread .portraitist-personal-shelf--guest .portraitist-personal-shelf__media img {
		width: min(44vw, 154px);
		max-width: 154px;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf__copy {
		justify-content: center;
		text-align: center;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf__actions {
		width: 100%;
		max-width: 360px;
		gap: 13px;
	}
	.single-post .portraitist-postread .portraitist-personal-shelf__button {
		width: min(100%, 360px);
		min-width: 0;
		min-height: 52px;
	}
	.single-post .portraitist-postread .wisdom-comments {
		margin-top: 66px;
		padding-top: 38px;
	}
	.single-post .portraitist-postread .wisdom-comment-form-title {
		text-align: center;
	}
	.single-post .portraitist-postread .wisdom-comment-form-ornament {
		width: 175px;
		margin-top: -30px;
		margin-bottom: -34px;
	}
	.single-post .portraitist-article-return--after-postread {
		width: calc(100% - 28px);
	}
}

/* Portrait artist public profile card: reuse the completed study-card component. */
.portraitist-public-profile-card {
	--study-ink: #44372c;
	--study-muted: #857565;
	--study-brass: #ad8132;
	--study-line: rgba(145, 111, 58, .26);
	--study-line-soft: rgba(110, 83, 48, .15);
	--study-paper: rgba(255, 252, 246, .66);
	--study-paper-deep: rgba(248, 241, 230, .62);
	margin: 0 0 clamp(34px, 5vw, 56px);
	color: var(--study-ink);
	font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
}
.portraitist-public-profile-card .portraitist-study-profile { margin-top: 0; }
.portraitist-public-profile-card .portraitist-study-profile__avatar--public { cursor: default; }
.portraitist-public-profile-card .portraitist-study-profile__edit-icon { display: grid; place-items: center; text-decoration: none; }


/* Logged-in /profile/: A Dozen Tools collection. Reuses study slider/detail behavior. */
.portraitist-dozen-tools {
	--dozen-ink:#4b4037;
	--dozen-brass:#9a7135;
	position:relative;
	margin:0 0 clamp(54px,7vw,88px);
	padding:clamp(8px,1vw,14px) 0 0;
	font-family:"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN",serif;
	color:var(--dozen-ink);
}
.portraitist-dozen-tools__header { margin:0 0 clamp(28px,3.4vw,42px); }
.portraitist-dozen-tools__header h2 {
	margin:0;
	padding:0;
	border:0;
	color:var(--dozen-ink);
	font-family:var(--font-title);
	font-size:clamp(17px,1.35vw,20px);
	font-weight:400;
	font-synthesis:none;
	line-height:1.65;
	letter-spacing:.075em;
}
.portraitist-dozen-tools__header p { margin:7px 0 0; color:var(--library-brass-soft,#a17b3d); font-size:9px; font-weight:400; line-height:1.5; letter-spacing:.18em; }
.portraitist-dozen-tools__slider { position:relative; min-width:0; padding:2px 42px 8px; }
.portraitist-dozen-tools__viewport { width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.portraitist-dozen-tools__viewport::-webkit-scrollbar { display:none; }
.portraitist-dozen-tools__track { display:flex; align-items:flex-end; gap:clamp(28px,4vw,58px); width:max-content; min-width:100%; padding:8px 3px 18px; }
.portraitist-dozen-tools__item { flex:0 0 clamp(160px,17vw,220px); width:clamp(160px,17vw,220px); scroll-snap-align:start; }
.portraitist-dozen-tools__item-link { display:block; width:100%; color:inherit; text-decoration:none; cursor:pointer; }
.portraitist-dozen-tools__image-frame { display:flex; align-items:flex-end; justify-content:center; width:100%; aspect-ratio:4 / 5; }
.portraitist-dozen-tools__image { display:block; width:100%; height:100%; max-width:100%; max-height:100%; border:0; background:transparent; object-fit:contain; object-position:center bottom; transition:transform .18s ease,filter .18s ease,opacity .18s ease; }
.portraitist-dozen-tools__name { display:flex; align-items:baseline; gap:8px; margin:12px 0 0; color:#594a3d; font-family:var(--font-title); font-size:13px; font-weight:400; line-height:1.6; letter-spacing:.07em; }
.portraitist-dozen-tools__name > span { color:#a17a3e; font-size:8px; letter-spacing:.12em; }
@media (hover:hover) and (pointer:fine) { .portraitist-dozen-tools__item-link:hover .portraitist-dozen-tools__image { transform:translateY(-4px); filter:drop-shadow(0 7px 8px rgba(67,48,29,.10)); } }
.portraitist-dozen-tools__item-link:focus-visible { outline:1px solid rgba(130,98,48,.62); outline-offset:4px; }
.portraitist-dozen-tools__detail .portraitist-study-book-detail__role { display:inline-flex; align-items:center; min-height:23px; padding:3px 8px 2px; border:1px solid rgba(151,112,54,.28); color:#806238; font-size:8.5px; letter-spacing:.08em; }
.portraitist-dozen-tools__detail .portraitist-study-book-detail__role[hidden] { display:none; }
.portraitist-dozen-tools__detail .portraitist-study-book-detail__chapter { margin-top:4px; letter-spacing:.18em; }
@media (max-width:1180px) {
	.portraitist-dozen-tools__slider { padding-inline:36px; }
	.portraitist-dozen-tools__track { gap:24px; }
	.portraitist-dozen-tools__item { flex-basis:clamp(148px,24vw,190px); width:clamp(148px,24vw,190px); }
}
@media (max-width:640px) {
	.portraitist-dozen-tools { margin-bottom:56px; }
	.portraitist-dozen-tools__header { margin-bottom:20px; }
	.portraitist-dozen-tools__slider { padding-inline:30px; }
	.portraitist-dozen-tools__track { gap:18px; }
	.portraitist-dozen-tools__item { flex-basis:min(54vw,176px); width:min(54vw,176px); }
	.portraitist-dozen-tools__name { margin-top:9px; font-size:12px; }
}

.portraitist-book-detail__comment-status,.portraitist-reading-modal__comment-status{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;width:max-content;max-width:100%;margin:8px 0 12px;padding:5px 9px 4px;border:1px solid rgba(154,116,52,.28);border-radius:2px;background:rgba(247,240,228,.48);color:#8d682e;font-size:9px;line-height:1.4;letter-spacing:.09em}
.portraitist-book-detail__comment-status[hidden],.portraitist-reading-modal__comment-status[hidden]{display:none}
.portraitist-book-detail__comment-status span,.portraitist-reading-modal__comment-status span{margin-left:0}

/* Article comments: reader letters. Data/posting remains WordPress comments. */
.wisdom-letter-slider{position:relative;padding-inline:42px}
.wisdom-letter-viewport{overflow-x:auto;overflow-y:visible;padding:18px 8px 34px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wisdom-letter-viewport::-webkit-scrollbar{display:none}
.wisdom-letter-track{display:flex;align-items:flex-start;gap:clamp(22px,3vw,42px);width:max-content;min-width:100%}
.wisdom-letter-item{position:relative;z-index:1;flex:0 0 clamp(260px,22vw,310px);width:clamp(260px,22vw,310px);padding-bottom:28px;scroll-snap-align:start}
.wisdom-letter-item.has-replies{margin-right:34px}
.wisdom-letter-card,.wisdom-letter-page,.wisdom-letter-reply-peek{position:relative;width:100%;aspect-ratio:1000/1480;border:0;border-radius:5px;background:#f7f0e4 var(--wisdom-letter-bg,none) center/contain no-repeat;box-shadow:0 5px 14px rgba(70,52,32,.08);color:#4e4035;font-family:var(--font-title),serif}
.wisdom-letter-card{z-index:3;display:block;padding:0;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease}
.wisdom-letter-card__excerpt{position:absolute;left:11.6%;right:10.8%;top:28.2%;display:-webkit-box;max-height:none;overflow:hidden;font-size:clamp(10.5px,.8vw,12px);font-weight:400;line-height:1.9;letter-spacing:.035em;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:9}
.wisdom-letter-card__meta{position:absolute;left:11.6%;right:7.8%;top:72.4%;display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right;font-size:10px;line-height:1.5;letter-spacing:.045em}
.wisdom-letter-card__author{max-width:86%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wisdom-letter-card:focus-visible,.wisdom-letter-reply-peek:focus-visible{outline:1px solid rgba(150,110,52,.58);outline-offset:4px}
.wisdom-letter-reply-stack{position:absolute;z-index:1;inset:10px -34px 44px 24px;pointer-events:none}
.wisdom-letter-reply-peek{position:absolute;right:0;top:calc(var(--reply-index,0) * 10px);width:88%;height:auto;padding:0;cursor:pointer;pointer-events:auto;transform:translateX(calc(var(--reply-index,0) * 8px)) rotate(calc((var(--reply-index,0) - 1) * 1deg));transform-origin:center;filter:saturate(.86);opacity:.94}
.wisdom-letter-reply-peek span{position:absolute;right:8%;bottom:8%;font-size:9px;letter-spacing:.12em;color:#8b6c3b}
.wisdom-letter-item__quick-reply{text-align:right;margin-top:10px;padding-right:3px}
.wisdom-letter-slider__nav{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(151,112,54,.28);border-radius:50%;background:rgba(255,252,246,.9);color:#a47732;font-size:20px;cursor:pointer;transform:translateY(-50%)}
.wisdom-letter-slider__nav--prev{left:0}.wisdom-letter-slider__nav--next{right:0}
@media(hover:hover) and (pointer:fine){.wisdom-letter-card:hover{transform:translateY(-5px);box-shadow:0 11px 22px rgba(70,52,32,.12)}.wisdom-letter-reply-peek:hover{opacity:1}}
.wisdom-letter-dialog{position:fixed;z-index:10080;inset:0;overflow:auto;padding:clamp(24px,5vh,56px) 20px;background:rgba(35,28,22,.34);overscroll-behavior:contain}
.wisdom-letter-dialog[hidden]{display:none}
.wisdom-letter-dialog__panel{position:relative;width:min(920px,calc(100vw - 40px));margin:0 auto;padding:clamp(34px,4vw,54px);border:1px solid rgba(145,111,58,.18);background:#f7f1e7;box-shadow:0 22px 70px rgba(43,32,23,.18)}
.wisdom-letter-dialog__close{position:absolute;z-index:8;right:16px;top:12px;width:38px;height:38px;border:0;background:transparent;color:#765e45;font:300 27px/1 serif;cursor:pointer}
.wisdom-letter-dialog__letter-workspace{position:relative}.wisdom-letter-dialog__corner-actions{position:absolute;z-index:7;right:8px;top:-42px;display:flex;align-items:center;gap:6px}
.wisdom-letter-dialog__corner-actions>.comment-reply-link,.wisdom-letter-dialog__corner-actions .wisdom-comment-action{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:#8a6b3d;font-size:17px;line-height:1;text-decoration:none;cursor:pointer}
.wisdom-letter-dialog__corner-actions .wisdom-owner-actions{position:static;display:flex;gap:4px}
.wisdom-letter-dialog__profile{margin:0 auto clamp(34px,5vw,58px);max-width:780px}
.wisdom-letter-dialog__profile-label{max-width:780px;margin:0 auto 12px;color:#8b755d;font-family:var(--font-title),serif;font-size:10px;font-weight:400;line-height:1.7;letter-spacing:.1em;text-align:left}
.wisdom-letter-dialog__profile .portraitist-member-area--dashboard{padding:0!important;margin:0!important;min-height:0!important}
.wisdom-letter-dialog__profile .portraitist-study-profile{margin:0!important}
.wisdom-letter-dialog__relation{margin:-30px auto 28px;text-align:center;color:#8b755d;font-size:10px;letter-spacing:.1em}
.wisdom-letter-pages{display:flex;align-items:flex-start;gap:18px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 4px 16px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wisdom-letter-pages::-webkit-scrollbar{display:none}
.wisdom-letter-pages.is-single{justify-content:center}.wisdom-letter-pages.is-multiple{justify-content:flex-start}
.wisdom-letter-pages .wisdom-letter-page{scroll-snap-align:start}
.wisdom-letter-page{width:min(430px,100%);flex:none}
.wisdom-letter-page__text{position:absolute;left:11.6%;right:10.8%;top:24%;max-height:50%;overflow:hidden;font-size:clamp(13px,1.35vw,16px);line-height:1.88;letter-spacing:.035em;overflow-wrap:anywhere}
.wisdom-letter-page.is-continuation .wisdom-letter-page__text{top:14%;max-height:59%}
.wisdom-letter-page.is-continuation.is-last .wisdom-letter-page__text{max-height:55%}
.wisdom-letter-page__meta{position:absolute;left:11.6%;right:7.8%;top:74%;display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right;font-size:12px;line-height:1.6}
.wisdom-letter-page__meta span{max-width:86%}
.wisdom-letter-dialog .wisdom-inline-editor{box-sizing:border-box;width:min(620px,100%);margin:24px auto 4px;padding:22px 24px;border:1px solid rgba(151,112,54,.22);background:rgba(250,246,238,.72)}
.wisdom-letter-dialog .wisdom-inline-editor__heading{margin:0 0 12px;color:#6f593f;font-family:var(--font-title);font-size:13px;font-weight:400;letter-spacing:.08em}
.wisdom-letter-dialog .wisdom-inline-editor__textarea{width:100%;min-height:160px}
.wisdom-letter-edit-zone{box-sizing:border-box;width:min(620px,100%);margin:20px auto 0}.wisdom-letter-edit-zone:empty{display:none}.wisdom-letter-edit-zone .wisdom-inline-editor{margin:0}.wisdom-letter-reply-compose-zone{width:min(100%,760px);margin:4px auto 0}
.wisdom-letter-reply-compose-anchor{display:block;height:0;overflow:hidden}
.wisdom-letter-reply-compose-zone .wisdom-comment-form-wrapper{box-sizing:border-box;margin:22px auto 0;padding:24px 22px 20px;border-top:1px solid rgba(151,112,54,.18);background:rgba(249,245,236,.36)}
.wisdom-letter-reply-compose-zone .wisdom-comment-form-wrapper.is-letter-reply-mode .wisdom-comment-form-ornament,.wisdom-letter-reply-compose-zone .wisdom-comment-form-wrapper.is-letter-reply-mode .wisdom-comment-form-lead{display:none}
.wisdom-letter-reply-compose-zone .wisdom-comment-form-wrapper.is-letter-reply-mode .wisdom-comment-form-title{margin-bottom:16px;font-size:15px!important;text-align:left}
.wisdom-letter-reply-compose-zone .wisdom-comment-form-wrapper.is-letter-reply-mode .wisdom-cancel-reply{text-align:right}
@media(min-width:641px){.wisdom-letter-pages.is-multiple .wisdom-letter-page{width:min(390px,calc((100% - 18px)/2))}}
@media(max-width:1180px){.wisdom-letter-slider{padding-inline:34px}.wisdom-letter-item{flex-basis:clamp(270px,42vw,330px);width:clamp(270px,42vw,330px)}.wisdom-letter-card__excerpt{font-size:clamp(10.5px,1.45vw,12px)}}
@media(max-width:640px){.wisdom-letter-pages{flex-direction:column;align-items:center;overflow:visible;padding:0;scroll-snap-type:none}.wisdom-letter-pages.is-single,.wisdom-letter-pages.is-multiple{justify-content:flex-start}.wisdom-letter-slider{padding-inline:28px}.wisdom-letter-viewport{padding-inline:4px}.wisdom-letter-track{gap:24px}.wisdom-letter-item{flex-basis:min(82vw,350px);width:min(82vw,350px)}.wisdom-letter-item.has-replies{margin-right:20px}.wisdom-letter-reply-stack{right:-22px}.wisdom-letter-card__excerpt{font-size:clamp(10.5px,3vw,12px)}.wisdom-letter-dialog__panel{width:100%;min-height:100vh;padding:58px 14px 34px;border:0}.wisdom-letter-dialog__profile{margin-bottom:30px}.wisdom-letter-dialog__corner-actions{right:4px;top:-44px}.wisdom-letter-dialog__corner-actions>.comment-reply-link,.wisdom-letter-dialog__corner-actions .wisdom-comment-action{width:38px;height:38px}.wisdom-letter-dialog__relation{margin:-14px auto 24px}.wisdom-letter-page{width:min(92vw,390px)}.wisdom-letter-page__text{font-size:clamp(12px,3.45vw,15px)}.wisdom-letter-page__meta{font-size:clamp(10px,2.8vw,12px)}.wisdom-letter-slider__nav{width:29px;height:29px;font-size:18px}}

/* Comment letter fourth finish: measured pagination + restrained reply stacks. */
.wisdom-letter-pages template[data-letter-full-source]{display:none}
.wisdom-letter-reply-count{position:absolute;z-index:5;right:-30px;bottom:26px;color:#87683d;font-family:var(--font-title),serif;font-size:9px;line-height:1.4;letter-spacing:.09em;white-space:nowrap}

.portraitist-study-letter-item{position:relative;flex:0 0 clamp(280px,24vw,330px);width:clamp(280px,24vw,330px);padding-bottom:12px;scroll-snap-align:start}
.portraitist-study-letter-item.has-replies{margin-right:34px}
.portraitist-study-letter-item .portraitist-study-letter-card{position:relative;z-index:3;display:block;width:100%;flex:none;scroll-snap-align:unset}
.portraitist-study-letter-reply-stack{position:absolute;z-index:1;inset:10px -34px 24px 24px;pointer-events:none}
.portraitist-study-letter-reply-peek{position:absolute;right:0;top:calc(var(--reply-index,0) * 10px);display:block;width:88%;aspect-ratio:1000/1480;border:1px solid rgba(151,112,54,.18);border-radius:5px;background:#f7f0e4 var(--portraitist-letter-bg,none) center/contain no-repeat;box-shadow:0 4px 12px rgba(70,52,32,.06);transform:translateX(calc(var(--reply-index,0) * 8px)) rotate(calc((var(--reply-index,0) - 1) * 1deg));transform-origin:center;filter:saturate(.86);opacity:.92}
.portraitist-study-letter-reply-count{position:absolute;z-index:5;right:-30px;bottom:0;color:#87683d;font-family:var(--font-title),serif;font-size:9px;line-height:1.4;letter-spacing:.09em;white-space:nowrap}

/* The reading-state plaque remains in place but recedes behind title and cover. */
.portraitist-book-detail__comment-status,.portraitist-reading-modal__comment-status{transform:scale(.88);transform-origin:left center;margin-top:6px;margin-bottom:10px;padding:4px 8px 3px;font-size:8.5px}

@media(max-width:1180px){
	.portraitist-study-letter-item{flex-basis:clamp(285px,42vw,340px);width:clamp(285px,42vw,340px)}
}
@media(max-width:640px){
	.portraitist-study-letter-item{flex-basis:min(82vw,calc(100vw - 56px),350px);width:min(82vw,calc(100vw - 56px),350px)}
	.portraitist-study-letter-item.has-replies{margin-right:10px}
	.portraitist-study-letter-reply-stack{right:-10px}
	.portraitist-study-letter-reply-count{right:-7px}
}
.wisdom-letter-dialog__all-replies{width:min(720px,100%);margin:26px auto 4px;padding-top:18px;border-top:1px solid rgba(151,112,54,.18);color:#59493c;font-family:var(--font-title),serif}
.wisdom-letter-dialog__all-replies h3{margin:0 0 14px;color:#87683d;font-size:11px;font-weight:400;letter-spacing:.1em}
.wisdom-letter-dialog__reply-entry{padding:14px 0;border-top:1px solid rgba(151,112,54,.1)}
.wisdom-letter-dialog__reply-entry:first-of-type{border-top:0}
.wisdom-letter-dialog__reply-entry-meta{display:flex;justify-content:space-between;gap:16px;margin:0 0 8px;color:#87683d;font-size:9px;letter-spacing:.07em}
.wisdom-letter-dialog__reply-entry-text{font-size:12px;line-height:1.9;letter-spacing:.025em}
.wisdom-letter-dialog__reply-entry-text p{margin:.5em 0}

/* Comment letter fifth finish: one comment = one sheet; vertical reading, horizontal conversation. */
.wisdom-letter-thread{position:relative;width:min(100%,1120px);margin:0 auto;outline:0}
.wisdom-letter-thread__viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.wisdom-letter-thread__viewport::-webkit-scrollbar{display:none}
.wisdom-letter-thread__track{display:flex;align-items:flex-start;gap:18px;width:max-content;padding:2px 4px 16px}
.wisdom-letter-sheet{position:relative;flex:0 0 min(430px,calc(100vw - 90px));width:min(430px,calc(100vw - 90px));aspect-ratio:1000/1480;scroll-snap-align:center;border:0;border-radius:5px;background:#f7f0e4 var(--wisdom-letter-bg,none) center/contain no-repeat;box-shadow:0 5px 14px rgba(70,52,32,.08);color:#4e4035;font-family:var(--font-title),serif}
.wisdom-letter-sheet__text{position:absolute;left:11.6%;right:10.8%;top:24%;height:46%;overflow-y:auto;overflow-x:hidden;padding:0 3px 24px 0;white-space:pre-wrap;font-size:clamp(13px,1.35vw,16px);line-height:1.88;letter-spacing:.035em;overflow-wrap:anywhere;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;outline:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 22px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 22px),transparent 100%)}
.wisdom-letter-sheet__text::-webkit-scrollbar{display:none}
.wisdom-letter-sheet__text:focus-visible{outline:1px solid rgba(151,112,54,.22);outline-offset:3px}
.wisdom-letter-sheet__meta{position:absolute;left:11.6%;right:7.8%;top:74%;display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right;font-size:12px;line-height:1.6}
.wisdom-letter-sheet__meta--reply{top:auto;bottom:10.5%;font-size:11px;color:#725c42}
.wisdom-letter-sheet__portraitist-date{position:absolute;right:12%;bottom:13%;font-size:10px;color:#725c42;letter-spacing:.05em}
.wisdom-letter-sheet.is-reply:not(.is-portraitist-reply) .wisdom-letter-sheet__text{top:22%;height:57%}
.wisdom-letter-sheet.is-portraitist-reply .wisdom-letter-sheet__text{top:26%;height:43%;left:11.8%;right:11.8%}
.wisdom-letter-sheet__actions{position:absolute;z-index:4;left:50%;top:3.2%;display:flex;align-items:center;gap:5px;transform:translateX(-50%)}
.wisdom-letter-sheet__actions>.comment-reply-link,.wisdom-letter-sheet__actions .wisdom-comment-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,252,246,.58);color:#98713a;text-decoration:none;cursor:pointer}.wisdom-letter-sheet__actions>.comment-reply-link:hover,.wisdom-letter-sheet__actions>.comment-reply-link:focus-visible,.wisdom-letter-sheet__actions .wisdom-comment-action:hover,.wisdom-letter-sheet__actions .wisdom-comment-action:focus-visible{background:rgba(255,252,246,.88);outline:1px solid rgba(151,112,54,.24);outline-offset:1px}
.wisdom-letter-thread__nav{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,252,245,.88);color:#a7792e;font-size:20px;cursor:pointer;box-shadow:0 2px 8px rgba(80,60,35,.05)}
.wisdom-letter-thread__nav--prev{left:-8px}.wisdom-letter-thread__nav--next{right:-8px}
/* Retire fourth-finish detail pagination without changing list previews/stacks. */
.wisdom-letter-pages,.wisdom-letter-dialog__all-replies{display:none!important}
.portraitist-dozen-tools__detail .portraitist-study-book-detail__comment-status{transform:scale(.88);transform-origin:left center;margin:6px 0 10px;padding:4px 8px 3px;font-size:8.5px}
@media(max-width:1180px){.wisdom-letter-thread{width:min(100%,760px)}.wisdom-letter-sheet{flex-basis:min(390px,calc(100vw - 84px));width:min(390px,calc(100vw - 84px))}}
@media(max-width:640px){.wisdom-letter-thread__viewport{scroll-padding-inline:14px}.wisdom-letter-thread__track{gap:14px;padding-inline:14px}.wisdom-letter-sheet{flex-basis:min(88vw,390px);width:min(88vw,390px)}.wisdom-letter-sheet__text{font-size:clamp(12px,3.45vw,15px)}.wisdom-letter-sheet__meta{font-size:clamp(10px,2.8vw,12px)}}

/* Comment letter sixth finish: mobile containment, dialog scroll ownership, reply-source stacks. */
.portraitist-dozen-tools__detail .portraitist-study-book-detail__body{
	display:flex;
	flex-direction:column;
	min-width:0;
}
.portraitist-dozen-tools__detail .portraitist-study-book-detail__read{
	align-self:flex-end;
	margin-left:auto;
}

/* The gallery arrows belong to the list behind the dialog. Do not let that stacking context leak above an open detail. */
[data-wisdom-letter-gallery].is-letter-dialog-open > .wisdom-letter-slider > .wisdom-letter-slider__nav{
	display:none;
}

.wisdom-letter-item__open{
	display:none;
	width:max-content;
	max-width:100%;
	margin:9px auto 0;
	padding:0;
	border:0;
	background:transparent;
	color:#87683d;
	font-family:var(--font-title),serif;
	font-size:10px;
	font-weight:400;
	line-height:1.6;
	letter-spacing:.07em;
	text-decoration:none;
	cursor:pointer;
}
.wisdom-letter-item__open:focus-visible{outline:1px solid rgba(151,112,54,.35);outline-offset:4px}

/* Reply peeks use the actual reply author's stationery rather than inheriting the parent letter. */
.portraitist-study-letter-reply-peek{
	background-image:var(--portraitist-reply-bg,none);
	background-position:center;
	background-size:contain;
	background-repeat:no-repeat;
}

@media(max-width:640px){
	.wisdom-letter-slider{
		box-sizing:border-box;
		width:100%;
		max-width:100%;
		padding-inline:14px;
		overflow:hidden;
	}
	.wisdom-letter-viewport{
		box-sizing:border-box;
		width:100%;
		max-width:100%;
		padding:14px 2px 30px;
		overflow-x:auto;
		overflow-y:visible;
	}
	.wisdom-letter-track{gap:18px;min-width:0}
	.wisdom-letter-item{
		box-sizing:border-box;
		flex:0 0 min(82vw,calc(100vw - 56px),350px);
		width:min(82vw,calc(100vw - 56px),350px);
		max-width:100%;
	}
	.wisdom-letter-item.has-replies{margin-right:10px}
	.wisdom-letter-reply-stack{right:-10px}
	.wisdom-letter-reply-count{right:-7px}
	.wisdom-letter-item__open{display:block}
	.wisdom-letter-item__quick-reply{text-align:center;margin-top:5px;padding-right:0}
	.wisdom-letter-slider__nav{width:28px;height:28px;font-size:17px}

	.wisdom-letter-dialog{
		box-sizing:border-box;
		position:fixed;
		inset:0;
		width:100%;
		height:100vh;
		height:100dvh;
		padding:0;
		overflow:hidden;
		background:rgba(35,28,22,.28);
	}
	.wisdom-letter-dialog__panel{
		box-sizing:border-box;
		width:100%;
		max-width:100%;
		height:100vh;
		height:100dvh;
		min-height:0;
		max-height:100dvh;
		margin:0;
		padding:
			calc(52px + env(safe-area-inset-top,0px))
			12px
			calc(28px + env(safe-area-inset-bottom,0px));
		overflow-x:hidden;
		overflow-y:auto;
		overscroll-behavior:contain;
		-webkit-overflow-scrolling:touch;
		border:0;
	}
	.wisdom-letter-dialog__close{
		position:sticky;
		top:calc(4px + env(safe-area-inset-top,0px));
		float:right;
		margin-top:calc(-44px - env(safe-area-inset-top,0px));
		margin-right:-2px;
	}
	.wisdom-letter-dialog__profile-label{clear:both;width:100%;max-width:100%;margin:0 auto 10px;padding-inline:4px;font-size:10px}
	.wisdom-letter-dialog__profile{clear:both;width:100%;max-width:100%;margin:0 auto 26px}
	.wisdom-letter-thread{width:100%;max-width:100%;overflow:visible}
	.wisdom-letter-thread__viewport{
		box-sizing:border-box;
		width:100%;
		max-width:100%;
		overflow-x:auto;
		overflow-y:hidden;
		scroll-padding-inline:8px;
		touch-action:pan-x pan-y;
	}
	.wisdom-letter-thread__track{gap:12px;padding:2px 8px 18px}
	.wisdom-letter-sheet{
		box-sizing:border-box;
		flex:0 0 min(84vw,calc(100vw - 44px),390px);
		width:min(84vw,calc(100vw - 44px),390px);
		max-width:100%;
	}
	.wisdom-letter-sheet__text{touch-action:pan-y;overscroll-behavior-y:contain}
	.wisdom-letter-thread__nav{top:50%;width:30px;height:30px;font-size:17px}
	.wisdom-letter-thread__nav--prev{left:0}.wisdom-letter-thread__nav--next{right:0}
	.wisdom-letter-reply-compose-zone{max-width:100%}
}

@media(min-width:641px) and (max-width:1180px){
	.wisdom-letter-dialog__panel{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
	.wisdom-letter-thread__viewport{touch-action:pan-x pan-y}
	.wisdom-letter-sheet__text{touch-action:pan-y}
}

/* Comment letter eighth finish: active-letter hierarchy, profile sync, and scroll affordance. */
.wisdom-letter-thread__track{align-items:center}
.wisdom-letter-sheet{transform:scale(.95);opacity:.78;z-index:1;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;transform-origin:center center}
.wisdom-letter-sheet.is-adjacent{opacity:.86}
.wisdom-letter-sheet.is-active{transform:scale(1);opacity:1;z-index:3;box-shadow:0 8px 22px rgba(70,52,32,.11)}
.wisdom-letter-dialog__profile{transition:opacity .16s ease}
.wisdom-letter-dialog__profile.is-switching{opacity:.22}
.wisdom-letter-sheet__actions{left:auto;right:24%;top:3.2%;transform:none;opacity:0;pointer-events:none;transition:opacity .14s ease}
.wisdom-letter-sheet.is-active .wisdom-letter-sheet__actions{opacity:1;pointer-events:auto}
.wisdom-letter-sheet__scroll-more{position:absolute;z-index:6;left:50%;top:68.5%;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,252,245,.84);color:#a7792e;font-family:inherit;font-size:15px;line-height:1;box-shadow:0 2px 8px rgba(80,60,35,.06);cursor:pointer;transition:opacity .15s ease,visibility .15s ease}
.wisdom-letter-sheet__scroll-more[hidden]{display:none}
.wisdom-letter-sheet.is-reply:not(.is-portraitist-reply) .wisdom-letter-sheet__scroll-more{top:77.5%}
.wisdom-letter-sheet.is-portraitist-reply .wisdom-letter-sheet__scroll-more{top:67.5%}
.wisdom-letter-sheet__text{mask-image:none;-webkit-mask-image:none}
.wisdom-letter-sheet.has-scroll-overflow:not(.is-at-scroll-end) .wisdom-letter-sheet__text{mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%)}
.wisdom-letter-sheet template[data-thread-profile-template]{display:none}
@media(max-width:640px){
	.wisdom-letter-sheet{transform:scale(.97);opacity:.8}
	.wisdom-letter-sheet__actions{right:21%;top:2.4%}
	.wisdom-letter-sheet__scroll-more{width:30px;height:30px;font-size:16px}
}
.wisdom-letter-sheet:not(.is-active) .wisdom-letter-sheet__scroll-more{opacity:0;pointer-events:none}

/* Comment letter ninth finish: centered active letter and in-place rewriting. */
.wisdom-letter-thread__viewport{
	overflow-y:visible;
}
.wisdom-letter-thread__track{
	box-sizing:border-box;
	padding:42px var(--wisdom-thread-edge,0px) 46px;
}
.wisdom-letter-sheet{
	transform:scale(.86);
	opacity:.62;
	transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;
}
.wisdom-letter-sheet.is-adjacent{opacity:.7}
.wisdom-letter-sheet.is-active{
	transform:scale(1.16);
	opacity:1;
	z-index:5;
	box-shadow:0 10px 28px rgba(70,52,32,.13);
}
.wisdom-letter-sheet__actions{
	left:50%;
	right:auto;
	top:2.5%;
	transform:translateX(-50%);
	gap:7px;
}
.wisdom-letter-sheet__actions>.comment-reply-link,
.wisdom-letter-sheet__actions .wisdom-comment-action{
	width:36px;
	height:36px;
	background:rgba(255,252,246,.72);
}
.wisdom-letter-dialog.is-single-letter .wisdom-letter-thread__nav{display:none!important}
.wisdom-letter-slider.is-single .wisdom-letter-track{
	box-sizing:border-box;
	width:100%;
	min-width:100%;
	justify-content:center;
}
.wisdom-letter-slider.is-single .wisdom-letter-slider__nav{display:none!important}

/* Inline edit: preserve the sheet, stamp, title and date; only replace the writing area. */
.wisdom-letter-sheet__editor{
	position:absolute;
	z-index:7;
	left:11.6%;
	right:10.8%;
	top:24%;
	height:46%;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.wisdom-letter-sheet.is-reply:not(.is-portraitist-reply) .wisdom-letter-sheet__editor{
	top:22%;
	height:57%;
}
.wisdom-letter-sheet.is-portraitist-reply .wisdom-letter-sheet__editor{
	top:26%;
	height:43%;
	left:11.8%;
	right:11.8%;
}
.wisdom-letter-sheet__editor-textarea{
	box-sizing:border-box;
	width:100%;
	min-height:0;
	flex:1 1 auto;
	padding:0 3px 0 0;
	border:0;
	border-bottom:1px solid rgba(151,112,54,.2);
	border-radius:0;
	outline:0;
	resize:none;
	overflow-y:auto;
	background:rgba(255,252,246,.34);
	color:#4e4035;
	font-family:var(--font-title),serif;
	font-size:clamp(13px,1.35vw,16px);
	font-weight:400;
	line-height:1.88;
	letter-spacing:.035em;
	white-space:pre-wrap;
	scrollbar-width:thin;
	scrollbar-color:rgba(151,112,54,.24) transparent;
	-webkit-overflow-scrolling:touch;
}
.wisdom-letter-sheet__editor-textarea:focus{
	outline:1px solid rgba(151,112,54,.18);
	outline-offset:3px;
}
.wisdom-letter-sheet__editor-actions{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:12px;
}
.wisdom-letter-sheet__editor-save,
.wisdom-letter-sheet__editor-cancel{
	font-family:var(--font-title),serif;
	font-size:11px;
	letter-spacing:.07em;
	cursor:pointer;
}
.wisdom-letter-sheet__editor-save{
	padding:7px 13px;
	border:1px solid rgba(151,112,54,.35);
	background:#aa8036;
	color:#fffaf0;
}
.wisdom-letter-sheet__editor-cancel{
	padding:7px 0;
	border:0;
	background:transparent;
	color:#765d3c;
}
.wisdom-letter-sheet__editor-error{
	margin:0;
	color:#8a4f3e;
	font-size:10px;
	line-height:1.5;
}
.wisdom-letter-sheet.is-editing .wisdom-letter-sheet__scroll-more{display:none!important}
/* The former below-letter editor is retired; older markup is harmless if present in cached HTML. */
.wisdom-letter-edit-zone{display:none!important}

@media(max-width:1180px){
	.wisdom-letter-sheet.is-active{transform:scale(1.11)}
	.wisdom-letter-sheet{transform:scale(.86)}
}
@media(max-width:640px){
	.wisdom-letter-thread__track{padding-top:24px;padding-bottom:28px}
	.wisdom-letter-sheet{transform:scale(.86);opacity:.66}
	.wisdom-letter-sheet.is-active{transform:scale(1.07);opacity:1}
	.wisdom-letter-sheet__actions{top:1.8%;gap:3px}
	.wisdom-letter-sheet__actions>.comment-reply-link,
	.wisdom-letter-sheet__actions .wisdom-comment-action{width:44px;height:44px}
	.wisdom-letter-sheet__editor-textarea{font-size:clamp(12px,3.45vw,15px)}
}

/* /study/ 記した感想：本人が記した親コメント／返書を同じ履歴として切り替える。 */
.portraitist-study-comment-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 8px;
	margin: -3px 8px 16px;
	color: rgba(100,80,59,.42);
	font-size: 10px;
	letter-spacing: .05em;
}
.portraitist-study-comment-filters button {
	padding: 2px 0;
	border: 0;
	border-bottom: 1px solid transparent;
	background: transparent;
	color: rgba(82,66,51,.62);
	font: inherit;
	cursor: pointer;
}
.portraitist-study-comment-filters button.is-active {
	border-bottom-color: rgba(151,109,48,.45);
	color: #5f4c3a;
}
.portraitist-study-comment-filters button:focus-visible {
	outline: 1px solid rgba(145,111,58,.46);
	outline-offset: 3px;
}
.portraitist-study-letter-item[hidden] { display: none !important; }
.portraitist-study-letter-kind {
	position: absolute;
	z-index: 8;
	left: 10px;
	top: -18px;
	color: rgba(126,91,47,.72);
	font-family: var(--font-title), serif;
	font-size: 9px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .08em;
	white-space: nowrap;
}
.portraitist-study-letter-item--reply .portraitist-study-letter-card {
	background-color: #f7f0e4;
}
.portraitist-study-comment-filter-empty {
	margin: 18px 8px 0;
	color: #817568;
	font-family: var(--font-title), serif;
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: .04em;
}
.portraitist-study-comment-filter-empty[hidden] { display: none; }

@media (max-width: 640px) {
	.portraitist-study-comment-filters {
		gap: 6px 7px;
		margin: -2px 0 16px;
		font-size: 9.5px;
		line-height: 1.7;
	}
	.portraitist-study-comment-filters > span[aria-hidden="true"] { opacity: .65; }
	.portraitist-study-letter-kind { left: 7px; top: -17px; font-size: 8.5px; }
}


/* Comment letter tenth finish: source-post stationery for replies, quiet Reply mark, and subdued focus. */
.portraitist-study-letter-card__kind,
.wisdom-letter-sheet__kind {
	position:absolute;z-index:6;left:11.5%;top:8.2%;
	color:rgba(105,78,50,.66);font-family:var(--font-title),Georgia,serif;
	font-size:9px;font-weight:400;line-height:1;letter-spacing:.18em;pointer-events:none;
}
.portraitist-study-letter-card__kind{left:11.5%;top:7.8%}
.wisdom-letter-sheet.is-portraitist-reply .wisdom-letter-sheet__kind{color:rgba(95,68,40,.58)}

.wisdom-letter-sheet{transform:scale(.97);opacity:.78;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}
.wisdom-letter-sheet.is-adjacent{opacity:.82}
.wisdom-letter-sheet.is-active{transform:scale(1);opacity:1;box-shadow:0 8px 22px rgba(70,52,32,.105)}
@media(max-width:1180px){.wisdom-letter-sheet{transform:scale(.97);opacity:.79}.wisdom-letter-sheet.is-active{transform:scale(1);opacity:1}}
@media(max-width:640px){.wisdom-letter-sheet{transform:scale(.98);opacity:.8}.wisdom-letter-sheet.is-active{transform:scale(1);opacity:1}.portraitist-study-letter-card__kind,.wisdom-letter-sheet__kind{font-size:8px;letter-spacing:.16em}}

/* Comment letter eleventh finish: separate reply from owner controls and clarify preview reply CTA. */
.wisdom-letter-sheet__owner-actions{
	left:14%;right:auto;top:2.5%;z-index:8;
	display:flex;gap:5px;align-items:center;
	opacity:0;pointer-events:none;transition:opacity .14s ease;
}
.wisdom-letter-sheet.is-active .wisdom-letter-sheet__owner-actions{opacity:1;pointer-events:auto}
.wisdom-letter-sheet__owner-actions .wisdom-comment-action{
	width:36px;height:36px;padding:0;
	background:rgba(255,252,246,.72);
}
.wisdom-letter-sheet__actions{left:50%;right:auto;top:2.5%;transform:translateX(-50%);gap:0}
.wisdom-letter-item__quick-reply{text-align:right;margin-top:12px;padding-right:0}
.wisdom-letter-item__quick-reply .comment-reply-link{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:36px;padding:7px 13px 6px;
	border:1px solid rgba(151,112,54,.28);border-radius:3px;
	background:rgba(255,252,246,.22);color:#87683d;
	font-family:var(--font-title),serif;font-size:10px;line-height:1.4;letter-spacing:.08em;text-decoration:none;
	transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.wisdom-letter-item__quick-reply .comment-reply-link::after{content:' →';margin-left:5px}
@media(hover:hover) and (pointer:fine){
	.wisdom-letter-item__quick-reply .comment-reply-link:hover{background:rgba(247,240,228,.58);border-color:rgba(151,112,54,.42);color:#765628}
}
.wisdom-letter-item__quick-reply .comment-reply-link:focus-visible{outline:1px solid rgba(151,112,54,.42);outline-offset:3px}

/* Logged-in /profile/: portrait artist's sent replies, reusing the completed study letter slider. */
.portraitist-artist-replies{margin-top:clamp(6px,1vw,12px);margin-bottom:clamp(54px,7vw,88px)}
.portraitist-artist-replies .portraitist-study-section__header{margin-inline:0}
/* The portraitist stationery already contains the handwritten signature in its lower-right area.
   Keep dynamic source-post metadata above that printed signature zone. */
.portraitist-artist-replies .portraitist-study-letter-card__meta{
	top:65.8%;
	right:11.5%;
	gap:4px;
}
.portraitist-artist-replies .portraitist-study-letter-card__title{
	max-width:76%;
	font-size:clamp(9px,.66vw,10.5px);
	line-height:1.55;
}
.portraitist-artist-replies .portraitist-study-letter-card__date{
	font-size:clamp(8px,.58vw,9.5px);
	line-height:1.35;
}

@media(max-width:640px){
	.wisdom-letter-sheet__owner-actions{left:10%;top:1.8%;gap:3px}
	.wisdom-letter-sheet__owner-actions .wisdom-comment-action{width:44px;height:44px}
	.wisdom-letter-sheet__actions{top:1.8%}
	.wisdom-letter-item__quick-reply{text-align:center;margin-top:8px}
	.wisdom-letter-item__quick-reply .comment-reply-link{min-height:44px;padding:9px 15px 8px}
	.portraitist-artist-replies .portraitist-study-section__header{margin-inline:0}
	.portraitist-artist-replies .portraitist-study-letter-card__meta{top:65.2%;right:11.5%}
	.portraitist-artist-replies .portraitist-study-letter-card__title{max-width:78%;font-size:clamp(9px,2.45vw,10.5px)}
	.portraitist-artist-replies .portraitist-study-letter-card__date{font-size:clamp(8px,2.15vw,9.5px)}
}

/* =======================================================
   Season 01 / Letter 01 — first-study onboarding
   Desktop-first: quiet envelope → dedicated reading layer.
   ======================================================= */
.portraitist-onboarding-letter {
	--onboarding-envelope-width: clamp(480px, 40vw, 570px);
	--onboarding-paper-width: min(1180px, 86vw, calc((100dvh - 96px) * 1.48));
	position: relative;
	width: 100%;
	min-height: clamp(390px, 38vw, 520px);
}

/* A separate backdrop sibling keeps every blur effect behind the reading layer. */
.portraitist-onboarding-letter__backdrop {
	position: fixed;
	inset: 0;
	z-index: 9997;
	background: rgba(83, 68, 51, .24);
	backdrop-filter: blur(1.2px);
	-webkit-backdrop-filter: blur(1.2px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 420ms ease, visibility 0s linear 420ms;
}

.portraitist-onboarding-letter__backdrop.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.portraitist-onboarding-letter__stage {
	position: relative;
	display: grid;
	place-items: start center;
	min-height: inherit;
	padding: 10px 24px 38px;
	perspective: 1400px;
}

.portraitist-onboarding-letter__new {
	position: absolute;
	top: -9px;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
	color: rgba(126, 89, 41, .82);
	font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
	font-size: 9px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .18em;
	white-space: nowrap;
	animation: portraitist-new-letter-arrival 900ms ease both;
}
@keyframes portraitist-new-letter-arrival {
	0% { opacity: 0; transform: translate(-50%, 5px); }
	100% { opacity: 1; transform: translate(-50%, 0); }
}

.portraitist-onboarding-letter__envelope {
	position: relative;
	z-index: 2;
	display: block;
	width: var(--onboarding-envelope-width);
	max-width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transform: translateY(0);
	transform-origin: 50% 50%;
	transition: transform 420ms ease, opacity 420ms ease;
}

.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__envelope,
.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__envelope {
	z-index: 9999;
}

.portraitist-onboarding-letter__envelope:focus-visible {
	outline: 1px solid rgba(156, 112, 45, .66);
	outline-offset: 8px;
}

.portraitist-onboarding-letter__envelope-inner {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1.48 / 1;
	transform-style: preserve-3d;
	transform-origin: 50% 50%;
	transition: transform 760ms cubic-bezier(.24,.72,.24,1);
}

.portraitist-onboarding-letter__face {
	position: absolute;
	inset: 0;
	display: block;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.portraitist-onboarding-letter__face img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.portraitist-onboarding-letter__face--back { transform: rotateY(180deg); }

.portraitist-onboarding-letter__recipient {
	position: absolute;
	left: 50%;
	top: 47%;
	transform: translate(-50%, -50%);
	max-width: 64%;
	color: #56463a;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(18px, 1.65vw, 27px);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .06em;
	text-align: center;
	white-space: nowrap;
}

.portraitist-onboarding-letter__open-trigger {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .58em;
	min-width: 196px;
	height: 43px;
	margin-top: 24px;
	padding: 0 46px 0 22px;
	box-sizing: border-box;
	border: 1px solid #4d433a !important;
	border-radius: 0;
	background: rgba(255, 253, 248, .08);
	box-shadow: none;
	color: #4d433a;
	font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.portraitist-onboarding-letter__open-trigger span[aria-hidden="true"] {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #9a7537;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

.portraitist-onboarding-letter__open-trigger:hover,
.portraitist-onboarding-letter__open-trigger:focus-visible {
	border-color: rgba(55, 45, 37, .92);
	background: rgba(255, 252, 246, .52);
	color: #40372f;
	outline: none;
}
.portraitist-onboarding-letter__open-trigger:hover span[aria-hidden="true"],
.portraitist-onboarding-letter__open-trigger:focus-visible span[aria-hidden="true"] {
	color: #8e6b31;
}

.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__envelope-inner,
.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__envelope-inner { transform: rotateY(180deg); }

.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__open-trigger,
.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__open-trigger { opacity: 0; pointer-events: none; }

/* The paper is its own fixed reading layer, never a descendant of a blurred element. */
.portraitist-onboarding-letter__paper {
	position: fixed;
	z-index: 10000;
	top: var(--onboarding-paper-start-y, 58vh);
	left: 50%;
	width: var(--onboarding-paper-width, min(1180px, 86vw, calc((100dvh - 96px) * 1.48)));
	max-width: calc(100vw - 48px);
	aspect-ratio: 1.48 / 1;
	transform: translate(-50%, -50%) scale(.62);
	transform-origin: 50% 72%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	filter: drop-shadow(0 22px 38px rgba(62, 46, 29, .16));
	transition:
		top 820ms cubic-bezier(.2,.75,.2,1) 650ms,
		transform 820ms cubic-bezier(.2,.75,.2,1) 650ms,
		opacity 330ms ease 680ms,
		visibility 0s linear 680ms;
}

.portraitist-onboarding-letter__paper.is-active {
	top: 50%;
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.portraitist-onboarding-letter__paper.is-settled { transition: none; }

.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__envelope {
	opacity: 0;
	transform: scale(.96);
	pointer-events: none;
}

.portraitist-onboarding-letter__paper-image {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.portraitist-onboarding-letter__copy {
	position: absolute;
	z-index: 1;
	top: 15%;
	left: 50%;
	bottom: 26%;
	width: min(58%, 700px);
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	color: #44372c;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.portraitist-onboarding-letter__copy h3 {
	margin: 0 0 clamp(22px, 2vh, 30px);
	padding: 0;
	border: 0;
	color: #44372c;
	font-size: clamp(19px, 1.22vw, 23px);
	font-weight: 400 !important;
	font-synthesis: none;
	line-height: 1.7 !important;
	letter-spacing: .045em !important;
	text-align: left;
}

.portraitist-onboarding-letter__body {
	font-size: clamp(15px, .96vw, 16.5px);
	font-weight: 400;
	font-synthesis: none;
	line-height: 2;
	letter-spacing: .025em;
	text-align: left;
}

.portraitist-onboarding-letter__body p { margin: 0 0 1.05em; }
.portraitist-onboarding-letter__body p + p { margin-top: clamp(8px, .8vh, 12px); }
.portraitist-onboarding-letter__body p:last-child { margin-bottom: 0; }

.portraitist-onboarding-letter__cta {
	align-self: flex-end;
	margin-top: clamp(14px, 1.6vh, 22px);
	transform: translate(96px, -24px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	min-width: 178px;
	min-height: 46px;
	padding: 11px 22px;
	border: 1px solid rgba(132, 99, 53, .52);
	background: rgba(255, 252, 246, .38);
	color: #745426;
	font-size: 12.5px;
	line-height: 1.4;
	letter-spacing: .08em;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.portraitist-onboarding-letter:not(.portraitist-onboarding-letter--season-02):not(.portraitist-onboarding-letter--season-03) .portraitist-onboarding-letter__cta {
	transform: translate(150px, -64px);
}
@media (min-width: 761px) and (max-width: 1320px) {
	.portraitist-onboarding-letter:not(.portraitist-onboarding-letter--season-02):not(.portraitist-onboarding-letter--season-03) .portraitist-onboarding-letter__cta {
		transform: translate(112px, -60px);
	}
}

.portraitist-onboarding-letter__cta:hover,
.portraitist-onboarding-letter__cta:focus-visible {
	border-color: rgba(153, 112, 46, .66);
	background: rgba(255, 250, 240, .7);
	outline: none;
}

.portraitist-onboarding-letter__close {
	position: absolute;
	z-index: 4;
	top: -46px;
	right: 0;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(153, 112, 46, .24);
	background: rgba(250, 246, 238, .95);
	color: #715936;
	font-size: 21px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 5px 18px rgba(64, 48, 30, .06);
}

.portraitist-onboarding-letter__close:focus-visible {
	outline: 1px solid rgba(153, 112, 46, .65);
	outline-offset: 2px;
}

/* Keep a conservative mobile safety net; the dedicated mobile pass remains separate. */
@media (max-width: 760px) {
	.portraitist-onboarding-letter {
		--onboarding-envelope-width: min(88vw, 520px);
		min-height: 330px;
	}

	.portraitist-onboarding-letter__stage {
		padding-inline: 0;
		max-width: 100%;
		overflow-x: clip;
	}

	.portraitist-onboarding-letter__recipient { font-size: clamp(15px, 4.6vw, 21px); }
	.portraitist-onboarding-letter__new { top: -5px; font-size: 8px; }
	.portraitist-onboarding-letter__open-trigger { height: 40px; margin-top: 16px; padding: 0 36px 0 16px; font-size: 9px; }

	/* Mobile gets a taller paper canvas instead of squeezing the desktop landscape ratio. */
	.portraitist-onboarding-letter__paper {
		top: 50%;
		width: calc(100vw - 28px);
		max-width: 430px;
		height: min(74dvh, 680px);
		min-height: min(620px, calc(100dvh - 86px));
		max-height: calc(100dvh - 70px);
		aspect-ratio: auto;
		transform-origin: 50% 70%;
	}
	.portraitist-onboarding-letter__paper.is-active { top: 50%; }
	.portraitist-onboarding-letter__paper-image {
		width: 100%;
		height: 100%;
		object-fit: fill;
	}
	.portraitist-onboarding-letter__copy {
		top: 9%;
		bottom: 10%;
		width: min(82%, 340px);
	}
	.portraitist-onboarding-letter__copy h3 {
		margin-bottom: 18px;
		font-size: clamp(15px, 4.1vw, 17px);
		line-height: 1.65 !important;
	}
	.portraitist-onboarding-letter__body {
		font-size: clamp(12px, 3.15vw, 13px);
		line-height: 1.78;
		letter-spacing: .015em;
	}
	.portraitist-onboarding-letter__body p { margin-bottom: .8em; }
	.portraitist-onboarding-letter__body p + p { margin-top: 7px; }
	.portraitist-onboarding-letter__cta {
		min-height: 42px;
		margin-top: auto;
		padding: 9px 14px;
		font-size: 10.5px;
		transform: none;
	}
	.portraitist-onboarding-letter:not(.portraitist-onboarding-letter--season-02):not(.portraitist-onboarding-letter--season-03) .portraitist-onboarding-letter__cta { transform: none; }
	.portraitist-onboarding-letter__close { top: -46px; right: 0; width: 40px; height: 40px; }
}

@media (max-width: 360px) {
	.portraitist-onboarding-letter__paper { width: calc(100vw - 20px); }
	.portraitist-onboarding-letter__copy { width: 84%; top: 8%; bottom: 9%; }
	.portraitist-onboarding-letter__body { font-size: 11.5px; line-height: 1.72; }
}

@media (prefers-reduced-motion: reduce) {
	.portraitist-onboarding-letter__backdrop,
	.portraitist-onboarding-letter__envelope,
	.portraitist-onboarding-letter__envelope-inner,
	.portraitist-onboarding-letter__open-trigger,
	.portraitist-onboarding-letter__paper {
		transition-duration: 1ms;
		transition-delay: 0ms;
	}
	.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__envelope-inner,
	.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__envelope-inner { transform: none; }
	.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__face--front,
	.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__face--front { opacity: 0; }
	.portraitist-onboarding-letter.is-opening .portraitist-onboarding-letter__face--back,
	.portraitist-onboarding-letter.is-open .portraitist-onboarding-letter__face--back { transform: none; }
	.portraitist-onboarding-letter__new { animation: none; }
	.portraitist-onboarding-letter__paper,
	.portraitist-onboarding-letter__paper.is-active {
		top: 50%;
		transform: translate(-50%, -50%) scale(1);
	}
}

.portraitist-study-notice--new-letter[data-portraitist-notice-source="server"] {
	animation: none;
	opacity: 0;
	visibility: hidden;
}

.portraitist-study-notice,
.portraitist-first-book-arrived {
	position: fixed;
	top: clamp(88px, 8.5vh, 118px);
	left: 50%;
	z-index: 10020;
	box-sizing: border-box;
	max-width: min(560px, calc(100vw - 48px));
	margin: 0;
	padding: 13px 22px 12px;
	transform: translate(-50%, -8px);
	border: 1px solid rgba(123, 93, 54, .28);
	border-radius: 2px;
	background: rgba(252, 249, 242, .96);
	box-shadow: 0 7px 22px rgba(66, 49, 31, .055);
	color: #5f4d3b;
	font-family: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .055em;
	text-align: center;
	opacity: 0;
	pointer-events: none;
	animation: portraitist-first-book-arrived 5s ease forwards;
}
@keyframes portraitist-first-book-arrived {
	0% { opacity: 0; transform: translate(-50%, -8px); }
	8% { opacity: 1; transform: translate(-50%, 0); }
	82% { opacity: 1; transform: translate(-50%, 0); }
	100% { opacity: 0; transform: translate(-50%, -4px); }
}
@media (prefers-reduced-motion: reduce) {
	.portraitist-study-notice,
	.portraitist-first-book-arrived { animation-duration: 4.2s; transform: translate(-50%, 0); }
}

.portraitist-study-notice--unlock {
	max-width: min(640px, calc(100vw - 48px));
	padding: 17px 30px 16px;
	border-color: rgba(154, 112, 45, .54);
	background: rgba(253, 250, 243, .98);
	font-size: 13px;
	letter-spacing: .065em;
}
.portraitist-study-notice--unlock::before {
	content: "◇";
	display: inline-block;
	margin-right: .8em;
	color: #9a7537;
	font-size: .78em;
	vertical-align: .08em;
}

/* =======================================================
   Season 02 / Letter 02 — first-word onboarding
   Reuses the Season 01 letter system without a second visual component.
   ======================================================= */
.portraitist-onboarding-letter--season-02,
.portraitist-onboarding-letter--season-03 {
	min-height: clamp(390px, 38vw, 520px);
}
.portraitist-onboarding-letter--season-02 .portraitist-onboarding-letter__copy h3,
.portraitist-onboarding-letter--season-03 .portraitist-onboarding-letter__copy h3 {
	font-weight: 400 !important;
	font-synthesis: none;
}
.portraitist-study-notice--season-02-letter {
	animation-delay: 5.15s;
}
.portraitist-library-card__privacy-standalone {
	margin: 46px auto 54px;
	text-align: center;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .055em;
}
.portraitist-library-card__privacy-standalone a {
	color: rgba(118, 93, 61, .78);
	text-decoration: none;
}
.portraitist-library-card__privacy-standalone a:hover,
.portraitist-library-card__privacy-standalone a:focus-visible {
	text-decoration: underline;
	text-underline-offset: .22em;
}
@media (prefers-reduced-motion: reduce) {
	.portraitist-study-notice--season-02-letter { animation-delay: 4.35s; }
}
