*,
*::before,
*::after {
box-sizing: border-box;
}
html {
-webkit-text-size-adjust: 100%;
scroll-behavior: smooth;
}
body {
margin: 0;
padding: 0;
font-family: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
font-weight: 500;
color: #333;
background-color: #fafaf7;
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: #5a8a6b;
text-decoration: none;
transition: color 0.2s ease, opacity 0.2s ease;
}
a:hover {
opacity: 0.8;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
line-height: 1.4;
margin: 0 0 0.6em;
color: #2d4a36;
}
p {
margin: 0 0 1em;
}
ul, ol {
padding-left: 1.4em;
}
button {
font-family: inherit;
cursor: pointer;
} :root {
--color-main: #5a8a6b;
--color-main-dark: #2d4a36;
--color-main-light: #e6f0e9;
--color-bg: #fafaf7;
--color-text: #333;
--color-muted: #777;
--color-border: #e5e5dd;
--color-pink: #f8d7da;
--color-pink-deep: #d9534f;
--color-cream: #fff3cd;
--color-cream-deep: #d9a441;
--color-lightgreen: #d4edda;
--color-lightgreen-deep: #5a8a6b;
--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.05);
--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, 0.08);
--radius: 12px;
}
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
} .site-topbar {
background-color: var(--color-main-dark);
color: #fff;
padding: 6px 0;
font-size: 0.85rem;
}
.site-topbar .container {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.topbar-tagline {
color: #fff;
opacity: 0.9;
}
.site-header {
background-color: #fff;
border-bottom: 1px solid var(--color-border);
padding: 16px 0;
position: sticky;
top: 0;
z-index: 100;
}
.site-header .container {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
}
.site-branding {
display: flex;
flex-direction: column;
line-height: 1.2;
}
.site-title {
font-size: 1.6rem;
font-weight: 700;
color: var(--color-main-dark);
margin: 0;
display: flex;
align-items: center;
gap: 4px;
}
.site-title a {
color: inherit;
}
.site-title .leaf-icon {
color: var(--color-main);
font-size: 1.4rem;
}
.site-description {
font-size: 0.8rem;
color: var(--color-muted);
margin: 4px 0 0;
}
.site-nav-wrap {
display: flex;
align-items: center;
gap: 16px;
flex: 1;
justify-content: flex-end;
}
.site-nav-toggle {
display: none;
background: none;
border: 0;
padding: 6px;
color: var(--color-main-dark);
}
.site-nav-toggle span {
display: block;
width: 24px;
height: 2px;
background: currentColor;
margin: 5px 0;
transition: transform 0.2s ease;
}
.site-nav ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 28px;
}
.site-nav a {
color: var(--color-main-dark);
font-weight: 700;
padding: 6px 0;
position: relative;
display: inline-block;
}
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav a.current {
color: var(--color-main);
}
.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after,
.site-nav a.current::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 2px;
background: var(--color-main);
} .site-nav .menu-item-has-children {
position: relative;
}
.site-nav .menu-item-has-children > a::after {
content: '▼';
display: inline-block;
margin-left: 6px;
font-size: 0.65em;
transform: translateY(-1px);
transition: transform 0.2s ease;
}
.site-nav .menu-item-has-children.is-open > a::after {
transform: translateY(-1px) rotate(180deg);
}
.site-nav .sub-menu {
list-style: none;
margin: 0;
padding: 8px 0;
background: #fff;
border-radius: 12px;
box-shadow: 0 8px 24px rgba(45, 74, 54, 0.12);
min-width: 220px;
}
.site-nav .sub-menu li {
border-bottom: 0;
}
.site-nav .sub-menu a {
display: block;
padding: 10px 18px;
font-weight: 500;
color: var(--color-main-dark);
white-space: nowrap;
}
.site-nav .sub-menu a::after {
display: none;
}
.site-nav .sub-menu a:hover,
.site-nav .sub-menu a:focus {
background: var(--color-main-light);
color: var(--color-main);
opacity: 1;
}
.site-search-toggle {
background: none;
border: 0;
color: var(--color-main-dark);
padding: 6px;
}
.site-search-toggle svg {
width: 22px;
height: 22px;
}
.site-search-form {
display: none;
width: 100%;
margin-top: 12px;
}
.site-search-form.is-open {
display: block;
} .hero {
background: linear-gradient(135deg, #f0f7f2 0%, #fafaf7 100%);
padding: 60px 0;
position: relative;
overflow: hidden;
}
.hero .container {
display: grid;
grid-template-columns: 1fr;
gap: 32px;
align-items: center;
}
.hero-text h1 {
font-size: clamp(1.8rem, 4vw, 2.6rem);
line-height: 1.5;
color: var(--color-main-dark);
margin-bottom: 24px;
}
.hero-text p {
color: #555;
margin-bottom: 28px;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 28px;
border-radius: 999px;
font-weight: 700;
text-align: center;
border: 0;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-primary {
background-color: var(--color-main);
color: #fff;
}
.btn-primary:hover {
background-color: var(--color-main-dark);
color: #fff;
opacity: 1;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(45, 74, 54, 0.2);
}
.btn-arrow::after {
content: '→';
margin-left: 4px;
}
.hero-mascot {
position: relative;
text-align: center;
min-height: 240px;
}
.hero-mascot img {
margin: 0 auto;
max-width: 360px;
}
.speech-bubble {
display: inline-block;
background: #fff;
border: 2px solid #fff;
border-radius: 24px;
padding: 12px 20px;
color: var(--color-main-dark);
font-weight: 700;
box-shadow: var(--shadow-card);
position: relative;
margin-bottom: 12px;
}
.speech-bubble::after {
content: '';
position: absolute;
bottom: -10px;
left: 30px;
border: 8px solid transparent;
border-top-color: #fff;
} .category-cards {
padding: 40px 0;
}
.category-cards .grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
.cat-card {
border-radius: var(--radius);
padding: 24px;
display: flex;
align-items: flex-start;
gap: 16px;
box-shadow: var(--shadow-card);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cat-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-card-hover);
}
.cat-card.is-stumble {
background-color: var(--color-pink);
}
.cat-card.is-build {
background-color: var(--color-cream);
}
.cat-card.is-learn {
background-color: var(--color-lightgreen);
}
.cat-icon {
flex-shrink: 0;
width: 96px;
height: 96px;
}
.cat-icon img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
}
.cat-body {
flex: 1;
}
.cat-body h3 {
margin: 0 0 8px;
font-size: 1.2rem;
}
.cat-body p {
font-size: 0.9rem;
color: #555;
margin-bottom: 12px;
}
.cat-link {
display: inline-flex;
align-items: center;
padding: 8px 18px;
border-radius: 999px;
color: #fff;
font-weight: 700;
font-size: 0.9rem;
}
.cat-link.is-stumble { background-color: #d9534f; }
.cat-link.is-build { background-color: #d9a441; }
.cat-link.is-learn { background-color: var(--color-main); }
.cat-link:hover {
color: #fff;
opacity: 0.9;
}
.cat-link::after {
content: '→';
margin-left: 6px;
} .site-main-section {
padding: 24px 0 60px;
}
.site-main-section .container {
display: grid;
grid-template-columns: 1fr;
gap: 24px;
}
.section-title {
display: flex;
align-items: center;
gap: 8px;
font-size: 1.2rem;
margin: 0 0 16px;
color: var(--color-main-dark);
}
.section-title .leaf-icon {
color: var(--color-main);
}
.section-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
}
.section-head .more-link {
font-size: 0.9rem;
font-weight: 700;
color: var(--color-main);
}
.section-head .more-link::before {
content: '› ';
}
.posts-list {
background: #fff;
border-radius: var(--radius);
padding: 8px;
box-shadow: var(--shadow-card);
}
.post-item {
display: grid;
grid-template-columns: 120px 1fr;
gap: 16px;
padding: 16px;
border-bottom: 1px solid var(--color-border);
}
.post-item:last-child {
border-bottom: 0;
}
.post-thumb {
border-radius: 8px;
overflow: hidden;
background: #f0f0e8;
aspect-ratio: 4 / 3;
}
.post-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
.post-body h3 {
font-size: 1rem;
margin: 6px 0 4px;
}
.post-body h3 a {
color: var(--color-main-dark);
}
.post-body h3 a:hover {
color: var(--color-main);
}
.post-body p {
font-size: 0.85rem;
color: #666;
margin: 0 0 6px;
}
.post-meta {
font-size: 0.8rem;
color: var(--color-muted);
display: flex;
align-items: center;
gap: 6px;
}
.post-meta .clock-icon::before {
content: '🕐';
font-size: 0.8rem;
}
.cat-tag {
display: inline-block;
padding: 3px 10px;
border-radius: 4px;
font-size: 0.75rem;
font-weight: 700;
color: #fff;
}
.cat-tag.is-stumble { background-color: #d9534f; }
.cat-tag.is-build { background-color: #d9a441; }
.cat-tag.is-learn { background-color: var(--color-main); }
.cat-tag.is-default { background-color: #888; } .site-sidebar {
display: flex;
flex-direction: column;
gap: 20px;
}
.widget {
background: #fff;
border-radius: var(--radius);
padding: 20px;
box-shadow: var(--shadow-card);
}
.widget-title {
font-size: 1rem;
margin: 0 0 14px;
padding-bottom: 8px;
border-bottom: 2px solid var(--color-main-light);
color: var(--color-main-dark);
}
.profile-widget {
text-align: center;
}
.profile-widget .mascot-thumb {
width: 120px;
height: 120px;
margin: 0 auto 8px;
object-fit: contain;
}
.profile-widget .mascot-name {
font-weight: 700;
color: var(--color-main-dark);
margin: 4px 0;
}
.profile-widget p {
font-size: 0.85rem;
color: #555;
margin-bottom: 14px;
}
.btn-outline {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 18px;
border-radius: 999px;
border: 1px solid var(--color-main);
color: var(--color-main);
font-weight: 700;
font-size: 0.9rem;
background: #fff;
}
.btn-outline:hover {
background: var(--color-main);
color: #fff;
}
.btn-outline::after {
content: '→';
margin-left: 6px;
}
.popular-list {
list-style: none;
margin: 0;
padding: 0;
}
.popular-list li {
display: grid;
grid-template-columns: 32px 60px 1fr;
align-items: center;
gap: 10px;
padding: 10px 0;
border-bottom: 1px dashed var(--color-border);
}
.popular-list li:last-child {
border-bottom: 0;
}
.popular-rank {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--color-main);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 0.85rem;
}
.popular-thumb {
width: 60px;
height: 45px;
border-radius: 4px;
overflow: hidden;
background: #f0f0e8;
}
.popular-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
.popular-list a {
font-size: 0.9rem;
color: var(--color-main-dark);
line-height: 1.4;
}
.widget-more {
display: block;
text-align: right;
font-size: 0.85rem;
margin-top: 10px;
color: var(--color-main);
} .cta-banner {
background: linear-gradient(135deg, #e6f0e9 0%, #f0f7f2 100%);
padding: 32px 0;
}
.cta-banner .container {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
align-items: center;
}
.cta-banner-content {
display: flex;
align-items: center;
gap: 16px;
}
.cta-banner-mascot {
width: 100px;
flex-shrink: 0;
object-fit: contain;
}
.cta-banner h2 {
margin: 0 0 4px;
font-size: 1.2rem;
}
.cta-banner p {
margin: 0;
font-size: 0.9rem;
color: #555;
}
.cta-banner .btn {
justify-self: end;
} .page-header {
text-align: center;
padding: 48px 16px 24px;
}
.page-header .page-title {
font-size: 2rem;
margin: 0;
}
.page-header .archive-description {
color: var(--color-muted);
margin-top: 8px;
}
.archive-grid {
display: grid;
grid-template-columns: 1fr;
gap: 24px;
margin-bottom: 40px;
}
.archive-card {
background: #fff;
border-radius: var(--radius);
overflow: hidden;
box-shadow: var(--shadow-card);
transition: transform 0.2s ease, box-shadow 0.2s ease;
display: flex;
flex-direction: column;
}
.archive-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-card-hover);
}
.archive-card .post-thumb {
aspect-ratio: 16 / 9;
border-radius: 0;
}
.archive-card .archive-card-body {
padding: 16px 20px 20px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}
.archive-card h2 {
font-size: 1.1rem;
margin: 0;
}
.archive-card h2 a {
color: var(--color-main-dark);
}
.single-article {
background: #fff;
border-radius: var(--radius);
padding: 24px;
box-shadow: var(--shadow-card);
margin-bottom: 32px;
}
.single-article .entry-header {
margin-bottom: 24px;
border-bottom: 1px solid var(--color-border);
padding-bottom: 16px;
}
.single-article .entry-title {
font-size: clamp(1.4rem, 3vw, 2rem);
margin: 8px 0;
}
.single-article .entry-thumb {
margin: 0 0 24px;
border-radius: var(--radius);
overflow: hidden;
}
.entry-content {
line-height: 1.9;
}
.entry-content h2 {
font-size: 1.4rem;
margin: 1.6em 0 0.8em;
padding: 8px 12px;
border-left: 4px solid var(--color-main);
background: var(--color-main-light);
}
.entry-content h3 {
font-size: 1.15rem;
margin: 1.4em 0 0.6em;
border-bottom: 2px dotted var(--color-main);
padding-bottom: 4px;
}
.entry-content blockquote {
margin: 1em 0;
padding: 12px 16px;
background: #f5f5ee;
border-left: 4px solid var(--color-muted);
color: #555;
}
.entry-content code {
background: #f0f0e8;
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
.entry-content pre {
background: #2d4a36;
color: #fff;
padding: 16px;
border-radius: 8px;
overflow-x: auto;
}
.entry-content pre code {
background: transparent;
color: inherit;
padding: 0;
}
.entry-tags {
margin-top: 24px;
font-size: 0.9rem;
color: var(--color-muted);
}
.entry-tags a {
display: inline-block;
padding: 2px 10px;
background: var(--color-main-light);
border-radius: 4px;
margin: 0 4px 4px 0;
}
.post-navigation {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin: 24px 0;
}
.post-navigation a {
display: block;
padding: 12px 16px;
background: #fff;
border: 1px solid var(--color-border);
border-radius: 8px;
color: var(--color-main-dark);
font-size: 0.9rem;
}
.post-navigation .nav-next {
text-align: right;
} .pagination {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 6px;
margin: 24px 0;
}
.pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 36px;
padding: 0 10px;
border-radius: 6px;
background: #fff;
border: 1px solid var(--color-border);
color: var(--color-main-dark);
font-weight: 700;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
background: var(--color-main);
color: #fff;
border-color: var(--color-main);
opacity: 1;
} .comments-area {
background: #fff;
border-radius: var(--radius);
padding: 24px;
box-shadow: var(--shadow-card);
margin-bottom: 32px;
}
.comments-title {
font-size: 1.2rem;
margin: 0 0 16px;
}
.comment-list {
list-style: none;
padding: 0;
margin: 0 0 24px;
}
.comment-list li {
border-bottom: 1px dashed var(--color-border);
padding: 12px 0;
} .no-results,
.error-404 {
text-align: center;
padding: 60px 20px;
background: #fff;
border-radius: var(--radius);
box-shadow: var(--shadow-card);
margin: 32px 0;
}
.no-results h1,
.error-404 h1 {
font-size: 2rem;
margin: 0 0 8px;
}
.no-results p,
.error-404 p {
color: var(--color-muted);
margin: 0 0 20px;
} .search-form {
display: flex;
gap: 4px;
background: #fff;
border-radius: 999px;
padding: 4px;
border: 1px solid var(--color-border);
max-width: 480px;
margin: 0 auto;
}
.search-form input[type="search"] {
flex: 1;
border: 0;
padding: 8px 14px;
background: transparent;
font: inherit;
outline: none;
}
.search-form button {
background: var(--color-main);
color: #fff;
border: 0;
border-radius: 999px;
padding: 6px 18px;
font-weight: 700;
} .profile-hero {
background: linear-gradient(135deg, #f0f7f2 0%, #fafaf7 100%);
padding: 60px 0;
}
.profile-hero-inner {
display: grid;
grid-template-columns: 1fr;
gap: 24px;
align-items: center;
text-align: center;
}
.profile-hero-mascot img {
width: 200px;
height: 200px;
margin: 0 auto;
object-fit: contain;
}
.profile-eyebrow {
color: var(--color-main);
font-weight: 700;
font-size: 0.9rem;
margin: 0 0 8px;
display: inline-flex;
align-items: center;
gap: 6px;
letter-spacing: 0.05em;
}
.profile-name {
font-size: clamp(1.8rem, 4vw, 2.6rem);
margin: 0 0 8px;
color: var(--color-main-dark);
}
.profile-tagline {
color: #555;
margin: 0;
}
.profile-content-section {
padding: 40px 0;
}
.profile-article {
background: #fff;
border-radius: var(--radius);
padding: 28px 24px;
box-shadow: var(--shadow-card);
max-width: 800px;
margin: 0 auto;
}
.profile-article .entry-content {
line-height: 1.9;
}
.profile-article .entry-content > *:first-child {
margin-top: 0;
}
.profile-article .entry-content > *:last-child {
margin-bottom: 0;
}
.profile-likes {
padding: 20px 0 60px;
}
.profile-likes-title {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
font-size: 1.4rem;
margin: 0 0 28px;
}
.profile-likes-title .leaf-icon {
color: var(--color-main);
}
.likes-grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
.like-card {
border-radius: var(--radius);
padding: 24px 20px;
text-align: center;
box-shadow: var(--shadow-card);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.like-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-card-hover);
}
.like-card.is-idea { background: var(--color-cream); }
.like-card.is-working { background: var(--color-main-light); }
.like-card.is-celebrate { background: var(--color-pink); }
.like-card img {
width: 110px;
height: 110px;
margin: 0 auto 8px;
object-fit: contain;
}
.like-card h3 {
margin: 0 0 8px;
font-size: 1.1rem;
}
.like-card p {
font-size: 0.9rem;
color: #555;
margin: 0;
} .wpcf7 {
background: #fff;
border-radius: var(--radius);
padding: 28px 24px;
box-shadow: var(--shadow-card);
max-width: 640px;
margin: 0 auto;
}
.wpcf7 form > p {
margin: 0 0 18px;
}
.wpcf7 label {
display: block;
font-weight: 700;
color: var(--color-main-dark);
font-size: 0.95rem;
}
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-radio) {
width: 100%;
padding: 10px 14px;
margin-top: 4px;
border: 1px solid var(--color-border);
border-radius: 8px;
background: var(--color-bg);
font: inherit;
color: inherit;
box-sizing: border-box;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wpcf7-form-control:not(.wpcf7-submit):focus {
outline: none;
border-color: var(--color-main);
box-shadow: 0 0 0 3px rgba(90, 138, 107, 0.18);
}
.wpcf7-textarea {
min-height: 160px;
resize: vertical;
}
.wpcf7-submit {
display: inline-flex;
align-items: center;
justify-content: center;
background-color: var(--color-main);
color: #fff;
border: 0;
padding: 12px 32px;
border-radius: 999px;
font-weight: 700;
font-family: inherit;
cursor: pointer;
transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.wpcf7-submit:hover,
.wpcf7-submit:focus {
background-color: var(--color-main-dark);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(45, 74, 54, 0.2);
outline: none;
}
.wpcf7-submit[disabled] {
opacity: 0.6;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.wpcf7-not-valid-tip {
display: block;
color: #d9534f;
font-size: 0.85rem;
font-weight: 700;
margin-top: 6px;
}
.wpcf7-response-output {
margin: 18px 0 0;
padding: 12px 16px;
border-radius: 8px;
border: 1px solid var(--color-border);
font-size: 0.9rem;
background: var(--color-bg);
}
.wpcf7 form.sent .wpcf7-response-output {
border-color: var(--color-main);
background: var(--color-lightgreen);
color: var(--color-main-dark);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
border-color: #d9534f;
background: var(--color-pink);
color: #5a1f22;
}
.wpcf7-spinner {
margin-left: 12px;
} .site-footer {
background-color: var(--color-main-dark);
color: #fff;
padding: 40px 0 20px;
margin-top: 40px;
}
.site-footer .container {
display: grid;
grid-template-columns: 1fr;
gap: 24px;
}
.footer-branding .site-title {
color: #fff;
}
.footer-branding p {
font-size: 0.85rem;
opacity: 0.85;
margin-top: 8px;
}
.footer-widgets {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
.footer-widgets h3 {
color: #fff;
font-size: 1rem;
margin: 0 0 8px;
}
.footer-widgets ul {
list-style: none;
margin: 0;
padding: 0;
}
.footer-widgets a {
color: #fff;
opacity: 0.85;
font-size: 0.9rem;
display: inline-block;
padding: 4px 0;
}
.footer-widgets a:hover {
opacity: 1;
color: #fff;
}
.site-info {
text-align: center;
border-top: 1px solid rgba(255, 255, 255, 0.15);
padding-top: 16px;
font-size: 0.8rem;
opacity: 0.8;
} .alignleft { float: left; margin: 0 1em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1em; }
.aligncenter { display: block; margin: 1em auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.85rem; color: var(--color-muted); text-align: center; }
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin: 1em 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sticky { position: relative; } @media screen and (min-width: 768px) {
.container {
padding: 0 24px;
} .hero {
padding: 80px 0;
}
.hero .container {
grid-template-columns: 1fr 1fr;
}
.hero-mascot img {
max-width: 480px;
} .category-cards .grid {
grid-template-columns: repeat(3, 1fr);
gap: 24px;
} .site-main-section .container {
grid-template-columns: minmax(0, 1fr) 320px;
gap: 32px;
} .site-nav .sub-menu {
position: absolute;
top: 100%;
left: -8px;
opacity: 0;
visibility: hidden;
transform: translateY(8px);
transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
z-index: 200;
}
.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu,
.site-nav .menu-item-has-children.is-open > .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
} .post-item {
grid-template-columns: 180px 1fr;
gap: 20px;
} .cta-banner .container {
grid-template-columns: 1fr auto;
} .archive-grid {
grid-template-columns: repeat(2, 1fr);
} .profile-hero {
padding: 80px 0;
}
.profile-hero-inner {
grid-template-columns: 240px 1fr;
gap: 40px;
text-align: left;
}
.profile-hero-mascot img {
width: 240px;
height: 240px;
margin: 0;
}
.likes-grid {
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.profile-article {
padding: 40px;
} .site-footer .container {
grid-template-columns: 1fr 2fr;
}
.footer-widgets {
grid-template-columns: repeat(3, 1fr);
}
}
@media screen and (min-width: 1024px) {
.archive-grid {
grid-template-columns: repeat(3, 1fr);
}
} @media screen and (max-width: 767px) {
.site-nav-toggle {
display: block;
order: 2;
}
.site-nav {
display: none;
width: 100%;
order: 3;
}
.site-nav.is-open {
display: block;
}
.site-nav ul {
flex-direction: column;
gap: 0;
}
.site-nav li {
border-bottom: 1px solid var(--color-border);
}
.site-nav a {
display: block;
padding: 12px 0;
} .site-nav .menu-item-has-children > a::after {
float: right;
margin-top: 6px;
}
.site-nav .sub-menu {
display: none;
box-shadow: none;
border-radius: 0;
background: var(--color-main-light);
margin: 0 -16px;
padding: 4px 0;
}
.site-nav .menu-item-has-children.is-open > .sub-menu {
display: block;
}
.site-nav .sub-menu a {
padding: 10px 28px;
}
.site-search-toggle {
order: 1;
}
}