@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@400;500;600&family=Shippori+Mincho:wght@400;500;600&display=swap');

:root {
	--main-bg-color: #FFF8F3;
	--main-text-color: #B0897A;
	--sub-bg-color: #FFFDF9;
	--accent: #F6D6DC;
	--thumbnail: 1 / 1;
        --shadow: 0 3px 12px color-mix(in srgb, var(--main-text-color) 7%, transparent);
}

.decorationE {
	filter: saturate(200%);
}
@media (max-width:650px) {
	div.article-list:has(article.excerpt){
		grid-template-columns: 1fr 1fr;
		gap: 3rem 5vw;
	}
}

/* =========================================
   Global navigation / Search menu
========================================= */

nav#global_nav {
	background: var(--sub-bg-color);
	color: var(--main-text-color);
	height: 100dvh;
	max-width: 360px;
	opacity: 0;
	overflow-y: auto;
	padding: 70px 30px 40px;
	position: fixed;
	right: 0;
	text-align: left;
	top: 0;
	transform: translateX(100%);
	transition: all .6s ease;
	visibility: hidden;
	width: 90%;
	z-index: 300;
}

nav#global_nav.active {
	transform: translateX(0);
	opacity: 1;
	visibility: visible;
}


/* 中身 */

.global_nav_inner {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}


/* 各セクション */

.global_nav_section h2 {
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .15em;
	margin-bottom: .8rem;
	text-align: left;
}


/* SEARCH */

.global_nav_section search {
	background-color: var(--text-color-10);
	border-radius: var(--radius-mini);
	display: block;
	padding: 10px;
}

.global_nav_section search select {
	width: 100%;
}

nav#global_nav .complexsearch .searchoptions {
	font-family: "Shippori Mincho", serif;
	font-size: .75rem !important;
	font-weight: 400 !important;
}

nav#global_nav .complexsearch .searchoptions select {
	font-family: "Shippori Mincho", serif;
	font-size: .75rem !important;
	font-weight: 400 !important;
}

/* SEARCH BOX spacing */

nav#global_nav .complexsearch .searchbox {
	margin: 0 0 .8rem !important;
	padding: 0 !important;
}

nav#global_nav .complexsearch .searchoptions {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

nav#global_nav .complexsearch .searchoptions li {
	margin: 0 0 .5rem !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

nav#global_nav .complexsearch .searchoptions li:last-child {
	margin-bottom: 0 !important;
}

nav#global_nav .complexsearch .searchoptions select {
	margin: 0 !important;
}

/* CATEGORY */

.category_tree ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.category_tree li {
	padding: .25em 0;
}

.category_tree ul ul {
	border-left: 1px solid var(--text-color-20);
	margin-left: .5em;
	padding-left: 1em;
}

.category_tree a {
	font-size: .85rem;
	font-weight: 400;
	text-decoration: none;
}


/* TAGS */

.global_nav_tags ul {
	margin: 0;
	padding: 0;
}

.global_nav_tags li {
	display: inline-block;
	font-size: .8rem;
	margin: 0 .5em .4em 0;
}

.global_nav_tags a {
	font-weight: 400;
	text-decoration: none;
}


/* ARCHIVES */

.global_nav_archive {
	font-size: .8rem;
}

.global_nav_archive table.calendar {
	margin: 1em 0 .5em;
	width: 100%;
}


/* prev / next */

.global_nav_archive .calbtm {
	display: flex;
	justify-content: space-between;
}

.global_nav_archive .calbtm a {
	font-size: .8rem;
	font-weight: 400;
	text-decoration: none;
}

.backto-navi {
	margin: 2rem auto;
	text-align: center;
}

.backto-navi a {
	background-color: var(--text-color-10);
	border-radius: var(--radius-mini);
	display: inline-block;
	padding: .5em 1.2em;
	text-decoration: none;
}

.backto-navi a:hover {
	background-color: var(--accent-30);
}

.site_nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(14px, 3vw, 22px);
	justify-content: center;
}

body.grandhome header.page_header {
	padding:60px 0;
}

/* =========================================
   Typography
========================================= */

h1 {
	font-family: "Kaisei Decol", serif;
	font-size: 1.1rem;
	font-weight: 300;
	letter-spacing: 0.8em;
}

h2,
h3 {
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
}

hgroup h2 {
	font-size: 1rem;
}

hgroup small {
	font-size: 0.72rem;
}

main {
	font-size: 0.75rem;
}

.site_nav a {
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	font-size: 0.81rem;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 0.15em;
}

header.page_header,
main {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 40px);
	box-sizing: border-box;
}

/* CATEGORY spacing reset */

nav#global_nav .category_tree,
nav#global_nav .category_tree ul {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	row-gap: 0 !important;
}

nav#global_nav .category_tree li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

nav#global_nav .category_tree li + li {
	margin-top: .65rem !important;
}

nav#global_nav .category_tree a {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

nav#global_nav .category_tree ul ul {
	margin: .6rem 0 .3rem .6rem !important;
	padding-left: .8rem !important;
}

/* =========================================
   Global navigation / spacing adjustment
========================================= */

/* CATEGORY */
nav#global_nav .category_tree,
nav#global_nav .category_tree ul {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	row-gap: 0 !important;
}

nav#global_nav .category_tree li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

nav#global_nav .category_tree li + li {
	margin-top: 1rem !important;
}

nav#global_nav .category_tree a {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

nav#global_nav .category_tree ul ul {
	margin: .7rem 0 .4rem .7rem !important;
	padding-left: .8rem !important;
}

nav#global_nav .global_nav_section:nth-child(2) h2 {
	margin-bottom: 1.2rem !important;
}

nav#global_nav .category_tree > ul {
	padding-left: .5rem !important;
}

/* TAGS */
nav#global_nav .global_nav_tags ul {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

nav#global_nav .global_nav_tags li {
	margin: 0 .7rem .2rem 0 !important;
}

nav#global_nav .global_nav_tags a {
	padding: 0 !important;
	line-height: 1.5 !important;
}

nav#global_nav .global_nav_tags li {
	margin: 0 .7rem .5rem 0 !important;
}

nav#global_nav .global_nav_tags ul {
	padding-left: .5rem !important;
}

nav#global_nav .global_nav_tags ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: .4rem .8rem !important;
	padding-left: .5rem !important;
}

nav#global_nav .global_nav_tags li {
	margin: 0 !important;
	padding: 0 !important;
}

nav#global_nav .global_nav_tags a {
	display: inline !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

nav#global_nav .global_nav_section:has(.global_nav_tags) h2 {
	margin-bottom: 1rem !important;
}

/* ARCHIVES */
nav#global_nav .global_nav_archive {
	margin-top: 1rem !important;
	padding: 0 !important;
}

nav#global_nav .global_nav_archive > ul {
	margin-top: 1rem !important;
}

nav#global_nav .global_nav_archive .datelimitlist {
	margin-top: 1rem !important;
	padding-top: 0 !important;
}

nav#global_nav .global_nav_archive table.calendar {
	margin: 0 !important;
	padding: 0 !important;
}

nav#global_nav .global_nav_archive table.calendar td,
nav#global_nav .global_nav_archive table.calendar th {
	padding: .2rem !important;
}

nav#global_nav .global_nav_archive table {
	line-height: 1.4 !important;
}

nav#global_nav .global_nav_archive .datelimitlist {
	padding-left: .5rem !important;
}

/* ARCHIVES spacing reset */

nav#global_nav .global_nav_archive ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

nav#global_nav .global_nav_archive li {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

nav#global_nav .global_nav_archive li + li {
	margin-top: .8rem !important;
}

nav#global_nav .global_nav_archive a {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

nav#global_nav .datelimitlist > li {
	margin-bottom: .8rem !important;
}

nav#global_nav .datelimitsublist > li {
	margin-bottom: .8rem !important;
}

nav#global_nav .datelimit-year > .datelimitsublist {
	margin-top: 1rem !important;
	padding-top: 0 !important;
}

/* =========================================
   BLOG / memo design
========================================= */

/* 記事カードを少し細く */

article.memo.full {
	border-radius: 0.9rem;
	box-shadow: var(--shadow);
}

/* 日付 */
article.memo header a.postdate {
	font-family: "Cormorant Garamond", serif;
	font-size: 1rem !important;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

/* 曜日 */
article.memo header a.postdate small {
	font-size: 0.8em;
}

/* 本文 */
article.memo .comment {
	line-height: 1.9;
	padding-left: 2.3rem;
	padding-right: 2.3rem;
}

/* カテゴリ */
article.memo header .cat-tags {
	bottom: 10px;
	color: var(--text-color-50);
	font-family: "Cormorant Garamond", serif;
	font-size: 0.7rem;
	left: var(--padding);
	position: absolute;
}

/* カテゴリのリンク */
article.memo header .cat-tags a {
	color: var(--text-color-50);
	font-size: 0.7rem;
	font-weight: 400;
	text-decoration: none;
}

/* カテゴリのフォルダアイコンを消す */
article.memo header .cat-tags .categorylink::before {
	display: none;
}

article.memo footer .post-category {
	color: var(--text-color-50);
	font-family: "Cormorant Garamond", serif;
	font-size: 0.7rem;
	font-weight: 400;
	margin-top: 1rem;
}

/* カテゴリ名 */
hgroup h2 {
	font-size: 1rem;
}

/* 現在地のナビにだけライン */
body.grandhome .site_nav li:nth-child(1) a {
	border-bottom-color: var(--accent);
}

body.cat-about .site_nav li:nth-child(2) a,
body.cat-world .site_nav li:nth-child(2) a,
body.mode-about .site_nav li:nth-child(2) a {
	border-bottom-color: var(--accent);
}

body.cat-books .site_nav li:nth-child(3) a {
	border-bottom-color: var(--accent);
}

body.mode-picts .site_nav li:nth-child(4) a {
	border-bottom-color: var(--accent);
}

body.cat-memo .site_nav li:nth-child(5) a {
	border-bottom-color: var(--accent);
}


.site_nav {
	margin-bottom: -3.5rem;
}

header.page_header {
	border-bottom: 1px dotted var(--main-bg) !important;
}

/* BLOG：記事下のカテゴリ */
article.memo footer .post-category {
	color: var(--text-color-50);
	font-family:"Noto Sans JP", serif;
	font-size: 0.65rem;
	font-weight: 300;
}

article.memo footer .post-category a {
	color: var(--text-color-50);
	font-size: 0.65rem;
	font-weight: 300;
	text-decoration: none;
}

article.memo footer .post-category .categorylink::before {
	display: none;
}

/* ABOUT page typography */

body.cat-about hgroup h2,
body.cat-world hgroup h2,
body.mode-about hgroup h2 {
	font-size: 1rem;
}

body.cat-about hgroup small,
body.cat-world hgroup small,
body.mode-about hgroup small {
	font-size: 0.72rem;
}

/* ABOUT本文の幅と余白 */
body.cat-about .comment,
body.cat-world .comment,
body.mode-about .comment {
	padding: 2.3rem 2.3rem !important;
}

body.cat-about .post-category,
body.mode-about .post-category {
	display: none !important;
}

body.mode-picts .picts-subtitle {
	display: block;
	margin-bottom: 0.8rem;
}

/* BLOG子カテゴリ：記事下の重複情報を非表示 */
body.cat-diary article.full footer.oneloginfo,
body.cat-tweet article.full footer.oneloginfo,
body.cat-doll article.full footer.oneloginfo,
body.cat-site article.full footer.oneloginfo {
	display: none;
}

/* BLOG子カテゴリ：カテゴリ名を右下に配置 */
body.cat-diary article.full header .cat-tags,
body.cat-tweet article.full header .cat-tags,
body.cat-doll article.full header .cat-tags,
body.cat-site article.full header .cat-tags {
	position: absolute;
	right: var(--padding);
	bottom: 1rem;
	left: auto;
	text-align: right;
	color: var(--text-color-50);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.65rem;
	font-weight: 300;
}

body.cat-diary article.full header .cat-tags a,
body.cat-tweet article.full header .cat-tags a,
body.cat-doll article.full header .cat-tags a,
body.cat-site article.full header .cat-tags a {
	color: var(--text-color-50);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.65rem;
	font-weight: 300;
	text-decoration: none;
}

body.cat-diary article.full header .cat-tags .categorylink::before,
body.cat-tweet article.full header .cat-tags .categorylink::before,
body.cat-doll article.full header .cat-tags .categorylink::before,
body.cat-site article.full header .cat-tags .categorylink::before {
	display: none;
}

/* BLOG子カテゴリ：本文とカテゴリの間に余白を確保 */
body.cat-diary article.full .comment,
body.cat-tweet article.full .comment,
body.cat-doll article.full .comment,
body.cat-site article.full .comment {
	padding-bottom: 4rem;
}

/* カテゴリリンクのアイコンをすべて非表示 */
.categorylink::before {
	display: none !important;
}

/* WORLDカテゴリ：日付・カテゴリ名を非表示 */
body.cat-world article.full header.oneloginfo,
body.cat-world article.full footer.oneloginfo {
	display: none !important;
}

/* スマホ：すべての記事カードを少し横広に */
@media (max-width: 650px) {
	article.full {
		margin-left: -19px;
		margin-right: -19px;
		width: auto;
	}
}

/* PONPON DOLL：No.の調整 */
body.cat-books article.excerpt h3 {
	font-size: 0.75rem;
	color: var(--text-color-70);
}

body.cat-books article.excerpt h3 {
	font-size: 0.8rem;
	margin-top: 0;
	margin-bottom: 0.25em;
}

/* DOLLS：ハッシュタグを小さく・細く・薄く */
body.cat-books article.excerpt .cat-tags {
	font-size: 0.7rem;
}

body.cat-books article.excerpt .cat-tags a {
	font-size: 0.7rem;
	font-weight: 450;
	color: var(--text-color-50);
}

body.cat-about article#post-17 .comment,
body.cat-about article#post-17 .comment *,
body.mode-about article#post-17 .comment,
body.mode-about article#post-17 .comment * {
	text-align: center !important;
	font-family: "Shippori Mincho", serif !important;
	font-weight: 550 !important;
	line-height: 2;
	letter-spacing: 0.05em;
}

/* WORLD：物語本文 */
body.cat-world .comment {
	font-family: "Shippori Mincho", serif !important;
	font-weight: 500 !important;
	line-height: 2.2;
	letter-spacing: 0.03em;
}

/* サイトタイトル下の英語サブタイトル */
header.page_header > small {
	font-family: "Allura", cursive !important;
	font-weight: 250 !important;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
        color: var(--text-color-70);
}

a.taglink {
    font-size: 0.7rem !important;
    font-weight: 400 !important;
    color: var(--text-color-50) !important;
}

/* =========================================
   ABOUT：姫仕様の見出し
========================================= */

body.cat-about article.full .comment b,
body.mode-about article.full .comment b {
	display: block;
	font-family: "Cormorant Garamond", serif;
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.6;
	margin-top: 2.3rem;
	margin-bottom: 0.7rem;
	color: var(--main-text-color);
}

/* 見出し前の小さな飾り */
body.cat-about article.full .comment b::before,
body.mode-about article.full .comment b::before {
	content: "✦";
	display: inline-block;
	font-family: serif;
	font-size: 0.65em;
	font-weight: normal;
	margin-right: 0.7em;
	color: var(--text-color-50);
	opacity: 0.7;
	vertical-align: 0.1em;
}

/* 最初の見出しだけ上の余白をなくす */
body.cat-about article.full .comment b:first-child,
body.mode-about article.full .comment b:first-child {
	margin-top: 0;
}