/*
Theme Name: Flexible Site Theme
Theme URI: https://akkym.net/
Author: OpenAI / Customized
Author URI: https://akkym.net/
Description: 企業・団体・研究室に流用しやすいカスタマイズ対応WordPressテーマ。
Version: 1.6.98
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: morilab
Tags: research, university, ecology, biodiversity, responsive
*/

/* ==========================================================================
   Reset & Base Styles
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:root {
    --morilab-font-body: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'YuGothic', 'Meiryo', sans-serif;
    --morilab-font-heading: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'YuGothic', 'Meiryo', sans-serif;
    --morilab-main-visual-height-desktop: 420px;
    --morilab-hero-subtitle-offset-desktop: 0px;
    --morilab-hero-subtitle-offset-mobile: 0px;
    --morilab-hero-title-top-offset-mobile: 66px;
    --morilab-global-body-font-size-desktop: 14px;
    --morilab-global-body-font-size-mobile: 14px;
    --morilab-global-body-line-height-desktop: 1.8;
    --morilab-global-body-line-height-mobile: 1.8;
    --morilab-global-body-font-weight: 400;
    --morilab-global-body-letter-spacing-desktop: 0;
    --morilab-global-body-letter-spacing-mobile: 0;
    --morilab-global-body-text-color: #424c4f;
    --morilab-global-link-color: #996760;
    --morilab-global-link-hover-color: #996760;
    --morilab-global-menu-font-size-desktop: 14px;
    --morilab-global-menu-font-size-mobile: 13px;
    --morilab-global-menu-font-weight: 400;
    --morilab-global-menu-letter-spacing-desktop: 0.05em;
    --morilab-global-menu-letter-spacing-mobile: 0.05em;
    --morilab-global-heading-h1-font-size-desktop: 34px;
    --morilab-global-heading-h1-font-size-mobile: 28px;
    --morilab-global-heading-h1-font-weight: 400;
    --morilab-global-heading-h1-letter-spacing-desktop: 0;
    --morilab-global-heading-h1-letter-spacing-mobile: 0;
    --morilab-global-heading-h1-color: #424c4f;
    --morilab-global-heading-h2-font-size-desktop: 28px;
    --morilab-global-heading-h2-font-size-mobile: 22px;
    --morilab-global-heading-h2-font-weight: 400;
    --morilab-global-heading-h2-letter-spacing-desktop: 0;
    --morilab-global-heading-h2-letter-spacing-mobile: 0;
    --morilab-global-heading-h2-color: #424c4f;
    --morilab-main-visual-height-mobile: 240px;
    --morilab-main-visual-object-fit: cover;
    --morilab-main-visual-object-position: center center;
    --morilab-home-card-title-font-size-desktop: 18px;
    --morilab-home-card-title-font-size-mobile: 18px;
    --morilab-home-card-title-font-weight: 400;
    --morilab-home-card-title-letter-spacing-desktop: 0;
    --morilab-home-card-title-letter-spacing-mobile: 0;
    --morilab-home-card-description-font-size-desktop: 14px;
    --morilab-home-card-description-font-size-mobile: 14px;
    --morilab-home-card-description-font-weight: 400;
    --morilab-home-card-description-letter-spacing-desktop: 0;
    --morilab-home-card-description-letter-spacing-mobile: 0;
    --morilab-news-button-font-size-desktop: 13px;
    --morilab-news-button-font-size-mobile: 13px;
    --morilab-news-button-font-weight: 400;
    --morilab-news-button-letter-spacing-desktop: 0;
    --morilab-news-button-letter-spacing-mobile: 0;
    --morilab-home-news-date-column-width-desktop: 100px;
    --morilab-home-news-category-column-width-desktop: 100px;
    --morilab-home-news-row-min-height-desktop: 72px;
    --morilab-home-news-row-min-height-mobile: 56px;
    --morilab-home-news-row-padding-y-desktop: 20px;
    --morilab-home-news-row-padding-y-mobile: 12px;
    --morilab-activity-button-font-size-desktop: 13px;
    --morilab-activity-button-font-size-mobile: 13px;
    --morilab-activity-button-font-weight: 400;
    --morilab-activity-button-letter-spacing-desktop: 0;
    --morilab-activity-button-letter-spacing-mobile: 0;
}

body {
    font-family: var(--morilab-font-body);
    font-size: var(--morilab-global-body-font-size-desktop, 14px);
    line-height: var(--morilab-global-body-line-height-desktop, 1.8);
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    background-color: #f8f8f4;
}

button,
input,
select,
textarea {
    font-family: var(--morilab-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title-text,
.top-h2,
.global-menu .menu li a,
.widget-title,
.footer-widget-title,
.entry-title,
.archive-title,
.page-title,
.post-title {
    font-family: var(--morilab-font-heading);
}

a {
    color: var(--morilab-global-link-color, #996760);
    text-decoration: none;
    transition: color 0.3s ease, opacity 0.3s ease;
}

a:hover,
a:focus {
    opacity: 0.7;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

ul {
    list-style: none;
}

/* ==========================================================================
   Header
   ========================================================================== */

.header {
    background-color: #fff;
    padding: 15px 0;
}

.header-inner {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.title-logo {
    display: block;
}

.title-logo img {
    height: 48px;
    width: auto;
}

.header-menu {
    display: flex;
    gap: 10px;
}

.header-menu li a {
    display: block;
}

.header-menu li a img {
    width: 50px;
    height: 50px;
    transition: opacity 0.3s ease;
}

.header-menu li a:hover img {
    opacity: 0.7;
}

/* ==========================================================================
   Global Navigation
   ========================================================================== */

.global-menu {
    background-color: #6dae97;
    position: relative;
    z-index: 120;
}

.header {
    position: relative;
    z-index: 130;
}

.global-menu .menu {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.global-menu .menu li {
    flex: 1;
    text-align: center;
}

.global-menu .menu li:nth-child(1),
.global-menu .menu li:nth-child(2),
.global-menu .menu li:nth-child(3) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.global-menu .menu li a {
    display: block;
    padding: 15px 20px;
    color: #fff;
    font-size: var(--morilab-global-menu-font-size-desktop, 14px);
    letter-spacing: var(--morilab-global-menu-letter-spacing-desktop, 0.05em);
    font-weight: var(--morilab-global-menu-font-weight, 400);
    transition: background-color 0.3s ease;
    position: relative;
    z-index: 121;
    pointer-events: auto;
    cursor: pointer;
}

.global-menu .menu li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    opacity: 1;
}

/* ==========================================================================
   Main Visual
   ========================================================================== */

.main-visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #ece8df;
}

.main-visual img {
    width: 100%;
    height: var(--morilab-main-visual-height-desktop);
    display: block;
    object-fit: var(--morilab-main-visual-object-fit);
    object-position: var(--morilab-main-visual-object-position);
}

.main-visual-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-start;
    padding-top: var(--morilab-hero-title-top-offset, 120px);
    padding-left: var(--morilab-hero-title-side-offset, 48px);
    padding-right: var(--morilab-hero-title-side-offset, 48px);
    pointer-events: none;
}

.main-visual-overlay.hero-align-left {
    justify-content: flex-start;
    text-align: left;
}

.main-visual-overlay.hero-align-center {
    justify-content: center;
    text-align: center;
}

.main-visual-overlay.hero-align-right {
    justify-content: flex-end;
    text-align: right;
}

.main-visual-title-wrap {
    max-width: min(100%, 1100px);
}

.main-visual-title {
    margin: 0;
    color: var(--morilab-hero-title-color, #fff);
    font-size: var(--morilab-hero-title-font-size-desktop, 44px);
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
    word-break: break-word;
}

.main-visual-title .morilab-hero-title-default,
.main-visual-title .morilab-hero-title-en {
    display: inline;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-shadow: inherit;
}

.main-visual-title .morilab-hero-title-en {
    display: none;
}

body.morilab-gt-lang-en .main-visual-title .morilab-hero-title-default,
html.morilab-gt-lang-en .main-visual-title .morilab-hero-title-default {
    display: none;
}

body.morilab-gt-lang-en .main-visual-title .morilab-hero-title-en,
html.morilab-gt-lang-en .main-visual-title .morilab-hero-title-en {
    display: inline;
}

.main-visual-subtitle {
    margin: 10px 0 0;
    color: var(--morilab-hero-title-color, #fff);
    font-size: var(--morilab-hero-subtitle-font-size-desktop, 18px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
    word-break: break-word;
    transform: translateY(var(--morilab-hero-subtitle-offset-desktop, 0px));
}

@media (max-width: 767px) {
    .main-visual img {
        height: var(--morilab-main-visual-height-mobile);
    }

    .main-visual-overlay {
        padding-top: max(20px, var(--morilab-hero-title-top-offset-mobile, 66px));
        padding-left: 20px;
        padding-right: 20px;
    }

    .main-visual-title {
        font-size: var(--morilab-hero-title-font-size-mobile, 28px);
    }

    .main-visual-subtitle {
        margin-top: 8px;
        font-size: var(--morilab-hero-subtitle-font-size-mobile, 14px);
        line-height: 1.45;
        transform: translateY(var(--morilab-hero-subtitle-offset-mobile, 0px));
    }
}

/* v1.6.40: top page hero second line */
/* v1.6.59: hero subtitle vertical offset controls */

/* ==========================================================================
   Content Area
   ========================================================================== */

.content-outer {
    background-color: #fff;
    padding: 50px 20px;
}

.content {
    max-width: 880px;
    margin: 0 auto;
}

/* ==========================================================================
   Section Headings
   ========================================================================== */

.top-h2 {
    font-size: var(--morilab-global-heading-h2-font-size-desktop, 28px);
    font-weight: normal;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 3px solid #6dae97;
    display: flex;
    align-items: baseline;
    gap: 15px;
}

.top-h2 span {
    font-size: 14px;
    color: #888;
}

.top-h2 a {
    margin-left: auto;
    font-size: 13px;
    padding: 8px 20px;
    background-color: #d4945a;
    color: #fff;
    border-radius: 3px;
}

.top-h2 a:hover {
    opacity: 0.8;
}

/* ==========================================================================
   News List
   ========================================================================== */

.news-list li {
    display: flex;
    align-items: flex-start;
    min-height: var(--morilab-home-news-row-min-height-desktop, 72px);
    padding: var(--morilab-home-news-row-padding-y-desktop, 20px) 0;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
}

.news-list li:last-child {
    border-bottom: none;
}

.news-list-date {
    width: var(--morilab-home-news-date-column-width-desktop, 100px);
    flex-shrink: 0;
    font-size: 13px;
    color: #888;
}

.news-list-category {
    width: var(--morilab-home-news-category-column-width-desktop, 100px);
    flex-shrink: 0;
}

.news-list-category span {
    display: inline-block;
    padding: 3px 12px;
    background-color: #6dae97;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
}

.news-list-text {
    flex: 1;
    font-size: 14px;
    line-height: 1.8;
}

.news-list-title {
    display: inline-block;
    color: #424c4f;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.6;
}

.news-list-title:hover,
.news-list-title:focus {
    color: #d4945a;
}

.news-list-summary {
    margin-top: 6px;
}

.news-list-text p {
    margin: 0;
}

.news-list-text a {
    color: var(--morilab-global-link-color, #996760);
}

/* ==========================================================================
   One Column Wide Section
   ========================================================================== */

.one-column-wide {
    max-width: 920px;
    margin: 0 auto;
    padding: 50px 20px;
}

/* ==========================================================================
   Themes Section
   ========================================================================== */

.top-theme {
    display: flex;
    gap: 30px;
    margin-bottom: 60px;
}

.top-theme li {
    flex: 1;
    text-align: center;
}

.top-theme li a {
    display: block;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
}

.top-theme li a:hover {
    opacity: 1;
}

.top-theme li a:hover h3 {
    color: #d4945a;
}

.top-theme li::before {
    content: '';
    display: block;
    width: 160px;
    height: 160px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
}

.top-theme li:nth-child(1)::before {
    background-image: url('assets/images/theme-disturbance.jpg');
}

.top-theme li:nth-child(2)::before {
    background-image: url('assets/images/theme-biodiversity.jpg');
}

.top-theme li:nth-child(3)::before {
    background-image: url('assets/images/theme-climate.jpg');
}

.top-theme h3 {
    font-size: 16px;
    color: #d4945a;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.top-theme p {
    font-size: 13px;
    line-height: 1.7;
    text-align: left;
}

/* ==========================================================================
   Topics Section
   ========================================================================== */

.top-topic {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.top-topic li {
    width: calc(50% - 15px);
}

.top-topic li a {
    display: flex;
    gap: 20px;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    padding: 15px;
    background-color: #fff;
    border-radius: 5px;
    transition: box-shadow 0.3s ease;
}

.top-topic li a:hover {
    opacity: 1;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.top-topic li a:hover h3 {
    color: #d4945a;
}

.top-topic-img {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    overflow: hidden;
}

.top-topic-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-topic-info {
    flex: 1;
}

.top-topic-info h3 {
    font-size: 15px;
    color: #d4945a;
    margin-bottom: 8px;
    transition: color 0.3s ease;
}

.top-topic-info p {
    font-size: 12px;
    line-height: 1.6;
    color: #666;
}

/* ==========================================================================
   Activity Section
   ========================================================================== */

.activity-list li {
    border-bottom: 1px solid #e5e5e5;
}

.activity-list li:last-child {
    border-bottom: none;
}

.activity-list li a {
    display: flex;
    gap: 25px;
    padding: 25px 0;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
}

.activity-list li a:hover {
    opacity: 1;
}

.activity-list li a:hover h3 {
    color: #d4945a;
}

.activity-list-img {
    width: 150px;
    height: 100px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 3px;
}

.activity-list-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.activity-list-info {
    flex: 1;
}

.activity-list-info h3 {
    font-size: 16px;
    color: #d4945a;
    margin-bottom: 5px;
    transition: color 0.3s ease;
}

.activity-list-date {
    font-size: 12px;
    color: #888;
    margin-bottom: 10px;
}

.activity-list-info p {
    font-size: 13px;
    line-height: 1.7;
    color: #666;
}

/* ==========================================================================
   Project Map Section
   ========================================================================== */

.top-map {
    background-color: #6dae97;
    padding: 30px 0 0;
}

.top-map h2 {
    max-width: 920px;
    margin: 0 auto 20px;
    padding: 0 20px;
    font-size: var(--morilab-global-heading-h2-font-size-desktop, 28px);
    font-weight: var(--morilab-global-heading-h1-font-weight, 400);
    letter-spacing: var(--morilab-global-heading-h1-letter-spacing-desktop, 0);
    color: #fff;
}

.top-map h2 span {
    font-size: 14px;
    margin-left: 15px;
    opacity: 0.8;
}

.top-map iframe {
    width: 100%;
    height: 400px;
    display: block;
}

/* ==========================================================================
   Footer Logo
   ========================================================================== */

.footer-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    padding: 50px 20px;
    background-color: #fff;
}

.footer-logo li a {
    display: block;
}

.footer-logo li a img {
    height: 50px;
    width: auto;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
    background-color: var(--morilab-footer-background-color, #966042);
    padding: 30px 20px;
    color: #fff;
}

.footer-inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

.footer-brand {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}

.footer-brand-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.footer-brand-link {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.footer-brand-link img,
.footer-brand-logo-image {
    display: block;
    width: auto;
    max-width: 220px;
    height: auto;
}

.footer-pagetop {
    position: absolute;
    right: 0;
    top: -80px;
}

.footer-pagetop a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background-color: #d4945a;
    color: #fff;
    font-size: 11px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.footer-pagetop a::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-45deg);
    margin-bottom: 5px;
}

.footer-pagetop a:hover {
    background-color: #c08550;
    opacity: 1;
}

.footer-inner-menu {
    margin-bottom: 20px;
}

.footer-inner-menu .menu {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.footer-inner-menu .menu a {
    color: #fff;
    font-size: var(--morilab-global-menu-font-size-desktop, 14px);
}

.footer-inner-menu .menu a:hover {
    text-decoration: underline;
}

.footer p {
    font-size: 12px;
    opacity: 0.8;
}

/* ==========================================================================
   Page Styles
   ========================================================================== */

.page-header {
    background-color: #6dae97;
    padding: 40px 20px;
    text-align: center;
}

.page-header h1 {
    font-size: var(--morilab-global-heading-h1-font-size-desktop, 34px);
    font-weight: var(--morilab-global-heading-h1-font-weight, 400);
    letter-spacing: var(--morilab-global-heading-h1-letter-spacing-desktop, 0);
    color: #fff;
}

.page-header > span {
    font-size: 14px;
    display: block;
    margin-top: 10px;
    opacity: 0.8;
}

.page-header h1 .notranslate,
.page-header h2 .notranslate,
.page-header .single-post-title .notranslate {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    color: inherit;
    display: inline;
    margin-top: 0;
    opacity: 1;
}

.page-content {
    max-width: 880px;
    margin: 0 auto;
    padding: 50px 20px;
    background-color: #fff;
}

.page-content h2 {
    font-size: var(--morilab-global-heading-h2-font-size-desktop, 28px);
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    margin: 40px 0 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #6dae97;
}

.page-content h2:first-child {
    margin-top: 0;
}

.page-content p {
    margin-bottom: 20px;
}

.page-content ul,
.page-content ol {
    margin: 20px 0;
    padding-left: 25px;
}

.page-content li {
    margin-bottom: 10px;
    list-style: disc;
}

/* ==========================================================================
   Single Post Styles
   ========================================================================== */

.single-post-header {
    padding: 30px 0;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 30px;
}

.single-post-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.single-post-date {
    font-size: 13px;
    color: #888;
}

.single-post-category {
    display: inline-block;
    padding: 3px 12px;
    background-color: #6dae97;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
}

.single-post-title {
    font-size: var(--morilab-global-heading-h1-font-size-desktop, 34px);
    font-weight: normal;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    line-height: 1.5;
}

.single-post-content {
    line-height: 2;
}

.single-post-content p {
    margin-bottom: 25px;
}

.single-post-content img {
    margin: 20px 0;
}

/* ==========================================================================
   Archive Styles
   ========================================================================== */

.archive-list li {
    border-bottom: 1px solid #e5e5e5;
}

.archive-list li a {
    display: flex;
    align-items: flex-start;
    padding: 25px 0;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
}

.archive-list li a:hover h3 {
    color: #d4945a;
}

.archive-list-date {
    width: 100px;
    flex-shrink: 0;
    font-size: 13px;
    color: #888;
}

.archive-list-category {
    width: 100px;
    flex-shrink: 0;
}

.archive-list-info {
    flex: 1;
}

.archive-list-info h3 {
    font-size: 16px;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.archive-list-info p {
    font-size: 13px;
    color: #666;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
}

.pagination a,
.pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    font-size: 14px;
}

.pagination .current {
    background-color: #6dae97;
    border-color: #6dae97;
    color: #fff;
}

.pagination a:hover {
    background-color: #f5f5f5;
    opacity: 1;
}

/* ==========================================================================
   Member List
   ========================================================================== */

.member-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.member-item {
    width: calc(33.333% - 20px);
    text-align: center;
}

.member-item-img {
    width: 150px;
    height: 150px;
    margin: 0 auto 15px;
    border-radius: 50%;
    overflow: hidden;
}

.member-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-item h3 {
    font-size: 16px;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    margin-bottom: 5px;
}

.member-item p {
    font-size: 13px;
    color: #888;
}

/* ==========================================================================
   Contact Form
   ========================================================================== */

.contact-form {
    max-width: 600px;
    margin: 0 auto;
}

.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
}

.form-group label .required {
    color: #d4945a;
    margin-left: 5px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #6dae97;
}

.form-group textarea {
    height: 200px;
    resize: vertical;
}

.form-submit {
    text-align: center;
}

.form-submit button {
    padding: 15px 60px;
    background-color: #6dae97;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.form-submit button:hover {
    background-color: #5a9a85;
}


.morilab-section-heading-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.morilab-section-heading-wrap .top-h2 {
    margin-bottom: 0;
}

.morilab-section-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--morilab-section-button-padding-y, 10px) var(--morilab-section-button-padding-x, 18px);
    border: 1px solid var(--morilab-section-button-border, #d4945a);
    border-radius: var(--morilab-section-button-radius, 999px);
    color: var(--morilab-section-button-text, #d4945a);
    background: var(--morilab-section-button-bg, #ffffff);
    font-size: var(--morilab-section-button-font-size-desktop, 13px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}

.morilab-section-button:hover,
.morilab-section-button:focus {
    opacity: 1;
    background: var(--morilab-section-button-hover-bg, #d4945a);
    color: var(--morilab-section-button-hover-text, #ffffff);
    border-color: var(--morilab-section-button-hover-border, #d4945a);
}

.morilab-button-position-below-left,
.morilab-button-position-below-center,
.morilab-button-position-below-right {
    flex-direction: column;
    align-items: flex-start;
}

.morilab-button-position-below-center {
    align-items: center;
}

.morilab-button-position-below-right {
    align-items: flex-end;
}

.morilab-button-position-hidden .morilab-section-button,
.no-section-button .morilab-section-button {
    display: none;
}

.top-theme,
.top-topic.morilab-home-card-grid,
.morilab-home-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.top-theme li::before {
    display: none;
}

.top-theme li,
.top-topic.morilab-home-card-grid li,
.morilab-home-card-item {
    width: auto;
    max-width: none;
    text-align: left;
}

.top-theme li a,
.top-topic.morilab-home-card-grid li a,
.morilab-home-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    background: #fff;
    border: 1px solid #e8e1d8;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.top-theme li a:hover,
.top-topic.morilab-home-card-grid li a:hover,
.morilab-home-card:hover {
    opacity: 1;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
}

.top-theme li a:hover h3,
.top-topic.morilab-home-card-grid li a:hover h3,
.morilab-home-card:hover h3 {
    color: #d4945a;
}

.morilab-home-card-image,
.theme-image.morilab-home-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    min-height: 180px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.morilab-home-card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    flex: 1;
}

.top-theme h3,
.top-topic.morilab-home-card-grid h3,
.morilab-home-card h3 {
    margin: 0;
    font-size: var(--morilab-home-card-title-font-size-desktop, 18px);
    line-height: 1.5;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-home-card-title-font-weight, 400);
    letter-spacing: var(--morilab-home-card-title-letter-spacing-desktop, 0);
    transition: color 0.3s ease;
}

.top-theme p,
.top-topic.morilab-home-card-grid p,
.morilab-home-card p {
    margin: 0;
    font-size: var(--morilab-home-card-description-font-size-desktop, 14px);
    line-height: 1.8;
    text-align: left;
    font-weight: var(--morilab-home-card-description-font-weight, 400);
    letter-spacing: var(--morilab-home-card-description-letter-spacing-desktop, 0);
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media screen and (max-width: 768px) {
    .header-inner {
        flex-direction: column;
        gap: 15px;
    }

    .title-logo img {
        height: 36px;
    }

    .global-menu .menu {
        flex-direction: column;
    }

    .global-menu .menu li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }

    .global-menu .menu li:last-child {
        border-bottom: none;
    }

    .top-h2 {
        flex-wrap: wrap;
        font-size: var(--morilab-global-heading-h2-font-size-mobile, 22px);
    }

    .morilab-section-heading-wrap {
        gap: 12px;
    }

    .morilab-button-position-inline-right {
        flex-direction: column;
        align-items: flex-start;
    }

    .morilab-button-position-inline-right .morilab-section-button,
    .morilab-button-position-below-left .morilab-section-button,
    .morilab-button-position-below-center .morilab-section-button,
    .morilab-button-position-below-right .morilab-section-button {
        width: 100%;
        text-align: center;
        font-size: var(--morilab-section-button-font-size-mobile, 13px);
    }

    .morilab-section-button-news {
        font-size: var(--morilab-news-button-font-size-mobile, var(--morilab-section-button-font-size-mobile, 13px));
        letter-spacing: var(--morilab-news-button-letter-spacing-mobile, 0);
    }

    .morilab-section-button-activity {
        font-size: var(--morilab-activity-button-font-size-mobile, var(--morilab-section-button-font-size-mobile, 13px));
        letter-spacing: var(--morilab-activity-button-letter-spacing-mobile, 0);
    }

    .news-list li {
        flex-direction: column;
        gap: 10px;
        min-height: var(--morilab-home-news-row-min-height-mobile, 56px);
        padding: var(--morilab-home-news-row-padding-y-mobile, 12px) 0;
    }

    .news-list-date,
    .news-list-category {
        width: auto;
    }

    .top-theme,
    .top-topic.morilab-home-card-grid,
    .morilab-home-card-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .top-theme li,
    .top-topic.morilab-home-card-grid li,
    .morilab-home-card-item {
        max-width: none;
    }

    .activity-list li a {
        flex-direction: column;
    }

    .activity-list-img {
        width: 100%;
        height: 200px;
    }

    .top-theme h3,
    .top-topic.morilab-home-card-grid h3,
    .morilab-home-card h3 {
        font-size: var(--morilab-home-card-title-font-size-mobile, 18px);
        letter-spacing: var(--morilab-home-card-title-letter-spacing-mobile, 0);
    }

    .top-theme p,
    .top-topic.morilab-home-card-grid p,
    .morilab-home-card p {
        font-size: var(--morilab-home-card-description-font-size-mobile, 14px);
        letter-spacing: var(--morilab-home-card-description-letter-spacing-mobile, 0);
    }

    .footer-brand {
        position: static;
        transform: none;
        justify-content: center;
        margin: 0 auto 18px;
    }

    .footer-brand-logos {
        justify-content: center;
        gap: 12px;
    }

    .footer-brand-link img,
    .footer-brand-logo-image {
        max-width: 160px;
    }

    .footer-pagetop {
        position: static;
        margin-bottom: 20px;
    }

    .footer-pagetop a {
        margin: 0 auto;
    }

    .member-item {
        width: 100%;
    }

    .archive-list li a {
        flex-direction: column;
        gap: 10px;
    }

    .archive-list-date,
    .archive-list-category {
        width: auto;
    }
}

@media screen and (max-width: 480px) {
    .header-menu {
        gap: 5px;
    }

    .header-menu li a img {
        width: 40px;
        height: 40px;
    }

    .morilab-home-card-image,
    .theme-image.morilab-home-card-image {
        min-height: 160px;
    }

    .footer-logo {
        flex-direction: column;
        gap: 30px;
    }
}


/* ==========================================================================
   Placeholder / Contact Form 7
   ========================================================================== */

.theme-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.morilab-contact-placeholder {
    padding: 24px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 4px;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
}

.morilab-code-example {
    margin-top: 15px;
    padding: 12px 15px;
    background: #f6f6f6;
    border: 1px solid #e5e5e5;
    font-family: monospace;
    overflow-wrap: anywhere;
}

.contact-form .wpcf7 {
    max-width: 600px;
    margin: 0 auto;
}

.contact-form .wpcf7 form p {
    margin-bottom: 20px;
}

.contact-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

.contact-form .wpcf7 input[type="text"],
.contact-form .wpcf7 input[type="email"],
.contact-form .wpcf7 input[type="tel"],
.contact-form .wpcf7 input[type="url"],
.contact-form .wpcf7 textarea,
.contact-form .wpcf7 select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.3s ease;
    background: #fff;
}

.contact-form .wpcf7 input:focus,
.contact-form .wpcf7 textarea:focus,
.contact-form .wpcf7 select:focus {
    outline: none;
    border-color: #6dae97;
}

.contact-form .wpcf7 textarea {
    min-height: 200px;
    resize: vertical;
}

.contact-form .wpcf7 input[type="submit"],
.contact-form .wpcf7 button,
.contact-form .wpcf7 .wpcf7-submit {
    padding: 15px 60px;
    background-color: #6dae97;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.contact-form .wpcf7 input[type="submit"]:hover,
.contact-form .wpcf7 button:hover,
.contact-form .wpcf7 .wpcf7-submit:hover {
    background-color: #5a9a85;
}

.contact-form .wpcf7-not-valid-tip,
.contact-form .wpcf7-response-output {
    font-size: 13px;
}


/* ==========================================================================
   Preview Gate
   ========================================================================== */

.preview-gate-wrap {
    min-height: calc(100vh - 170px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px 60px;
    background: linear-gradient(180deg, #f7f5f0 0%, #ffffff 100%);
}

.preview-gate-card {
    width: 100%;
    max-width: 680px;
    background: var(--morilab-preview-gate-card-bg, #fff);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
    padding: 38px 34px;
}

.preview-gate-logo {
    margin-bottom: 18px;
}

.preview-gate-logo img {
    display: block;
    max-width: 220px;
    width: auto;
    height: auto;
    max-height: 100px;
}

.preview-gate-site {
    font-size: 13px;
    letter-spacing: 0.08em;
    color: var(--morilab-preview-gate-site-color, #6b7280);
    margin-bottom: 10px;
}

.preview-gate-title {
    font-size: var(--morilab-global-heading-h1-font-size-desktop, 34px);
    line-height: 1.25;
    margin-bottom: 16px;
    color: var(--morilab-preview-gate-heading-color, #111827);
}

.preview-gate-message {
    color: var(--morilab-preview-gate-text-color, #4b5563);
    margin-bottom: 24px;
}

.preview-gate-message p {
    margin: 0 0 0.9em;
}

.preview-gate-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--morilab-preview-gate-heading-color, #111827);
}

.preview-gate-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font-size: 16px;
    background: #fff;
}

.preview-gate-form button {
    display: inline-block;
    margin-top: 18px;
    border: 0;
    border-radius: 999px;
    background: var(--morilab-preview-gate-button-bg, #111827);
    color: var(--morilab-preview-gate-button-text, #fff);
    padding: 12px 24px;
    font-size: 15px;
    cursor: pointer;
}

.preview-gate-error {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff1f2;
    color: #be123c;
    font-size: 14px;
}

.preview-gate-note {
    margin-top: 18px;
    font-size: 12px;
    color: var(--morilab-preview-gate-site-color, #6b7280);
}

@media (max-width: 767px) {
    .preview-gate-card {
        padding: 28px 20px;
        border-radius: 14px;
    }

    .preview-gate-title {
        font-size: 28px;
    }
}


/* ==========================================================================
   Access Locations / Multi Location Map
   ========================================================================== */

.top-map-locations {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.top-map-location-card {
    background: rgba(255,255,255,0.12);
    border-radius: 12px;
    overflow: hidden;
}

.top-map-location-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.top-map-location-copy {
    padding: 22px 22px 16px;
    color: #fff;
}

.top-map-location-copy h3 {
    margin: 0 0 10px;
    font-size: var(--morilab-access-title-font-size-desktop, 28px);
    color: #fff;
}

.top-map-location-copy,
.top-map-location-copy p,
.top-map-location-copy li,
.top-map-location-copy address {
    font-size: var(--morilab-access-text-font-size-desktop, 16px);
}

.top-map-location-copy p {
    margin: 0 0 16px;
    line-height: 1.8;
    font-size: var(--morilab-access-text-font-size-desktop, 16px) !important;
    color: rgba(255,255,255,0.9);
}

.top-map-location-link {
    display: inline-block;
    padding: 10px 16px;
    background: #fff;
    color: #6dae97;
    border-radius: 999px;
    font-size: 13px;
}

.top-map-location-visual img,
.access-location-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.top-map-placeholder {
    min-height: var(--morilab-access-map-top-height-desktop, 320px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.top-map-placeholder.only-one {
    max-width: 1100px;
    margin: 0 auto 30px;
}

.access-locations-wrap {
    margin-top: 50px;
    display: grid;
    gap: 36px;
}

.access-location-card {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 28px;
    align-items: start;
}

.access-location-copy h2 {
    margin-bottom: 18px;
    font-size: var(--morilab-access-title-font-size-desktop, 28px);
}

.access-location-content,
.access-location-content p,
.access-location-content li,
.access-location-content address {
    font-size: var(--morilab-access-text-font-size-desktop, 16px);
    line-height: 1.9;
}

.access-location-content {
    font-size: var(--morilab-access-text-font-size-desktop, 16px) !important;
    line-height: 1.9;
}

.access-location-content p:first-child {
    margin-top: 0;
}

.morilab-access-map-embed-top {
    height: var(--morilab-access-map-top-height-desktop, 320px);
}

.morilab-access-map-embed-page {
    height: var(--morilab-access-map-page-height-desktop, 360px);
}

.access-location-media iframe,
.access-location-media img {
    border-radius: 8px;
}

.access-location-media iframe,
.top-map-location-visual iframe {
    display: block;
    width: 100%;
}

@media (max-width: 900px) {
    .top-map-locations,
    .access-location-card {
        grid-template-columns: 1fr;
    }

    .top-map-location-copy h3,
    .access-location-copy h2 {
        font-size: var(--morilab-access-title-font-size-mobile, 22px);
    }

    .top-map-location-copy,
    .top-map-location-copy p,
    .top-map-location-copy li,
    .top-map-location-copy address,
    .access-location-content,
    .access-location-content p,
    .access-location-content li,
    .access-location-content address {
        font-size: var(--morilab-access-text-font-size-mobile, 15px) !important;
    }

    .morilab-access-map-embed-top {
        height: var(--morilab-access-map-top-height-mobile, 260px);
    }

    .morilab-access-map-embed-page {
        height: var(--morilab-access-map-page-height-mobile, 280px);
    }
}


/* Header utility area */
.custom-logo-link-always{display:inline-flex;align-items:center;}
.header-menu-wrap{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;}
.header-home-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #d1d5db;border-radius:999px;color:#111827;background:#fff;font-size:var(--morilab-global-menu-font-size-desktop,14px);line-height:1.2;}
.header-translation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.header-widget{margin:0;}
.preview-gate-translation{display:flex;justify-content:center;margin:0 0 18px;}
@media (max-width:768px){
  .header-menu-wrap{justify-content:flex-start;width:100%;}
  .header-home-link{padding:7px 12px;font-size:var(--morilab-global-menu-font-size-mobile,13px);}
}

.header-translation .gtranslate-wrapper,
.preview-gate-translation .gtranslate-wrapper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.header-translation .gtranslate_wrapper select,
.preview-gate-translation .gtranslate_wrapper select{max-width:100%;padding:6px 10px;}
.header-translation .gtranslate_wrapper img,
.preview-gate-translation .gtranslate_wrapper img{display:inline-block;vertical-align:middle;}

/* Members page should not show front-page hero */
.page-template-page-members .main-visual,
.page-template-page-members-php .main-visual,
.page-template-page-members .main-visual-overlay,
.page-template-page-members-php .main-visual-overlay{display:none !important;}



/* Members page should never show top visual or top thumbnail */
.morilab-members-page .main-visual,
.morilab-members-page .main-visual-overlay,
.morilab-members-page .page-thumbnail,
.morilab-members-page .page-thumbnail img{display:none !important;}


/* ==========================================================================
   Mobile Polish (1.6.19)
   ========================================================================== */

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

.morilab-mobile-nav-bar,
.morilab-mobile-nav-toggle{
    display:none;
}

.morilab-mobile-nav-toggle{
    align-items:center;
    gap:6px;
    border:none;
    background:transparent;
    color:#fff;
    padding:4px 0;
    border-radius:0;
    cursor:pointer;
    font:inherit;
    line-height:1;
    box-shadow:none;
    appearance:none;
    -webkit-appearance:none;
}

.morilab-mobile-nav-toggle-box{
    display:inline-flex;
    flex-direction:column;
    gap:4px;
    width:18px;
    flex:0 0 18px;
}

.morilab-mobile-nav-toggle-box span{
    display:block;
    width:18px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform .25s ease, opacity .25s ease;
}

.morilab-mobile-nav-toggle-label{
    font-size:11px;
    letter-spacing:0.08em;
    line-height:1;
}

@media (max-width: 768px) {
    body.morilab-mobile-nav-enabled{
        overflow-x:hidden;
    }

    .header{
        padding:12px 0;
    }

    .header-inner{
        padding:0 16px;
        gap:12px;
        align-items:flex-start;
    }

    .title-logo{
        max-width:100%;
    }

    .title-logo img{
        height:auto;
        max-height:42px;
        max-width:min(100%, 280px);
    }

    .header-menu-wrap{
        width:100%;
        gap:10px;
        justify-content:flex-start;
    }

    .header-home-link{
        min-height:40px;
    }

    .header-translation,
    .header-translation .gtranslate-wrapper,
    .header-translation .gtranslate_wrapper{
        width:100%;
    }

    .header-translation .gtranslate_wrapper select,
    .preview-gate-translation .gtranslate_wrapper select{
        width:100%;
        min-height:40px;
    }

    body.morilab-mobile-nav-enabled .global-menu{
        padding:10px 16px;
    }

    body.morilab-mobile-nav-enabled .morilab-mobile-nav-bar{
        display:flex;
        justify-content:flex-end;
        align-items:center;
        width:100%;
        margin-left:auto;
    }

    body.morilab-mobile-nav-enabled .morilab-mobile-nav-toggle{
        display:inline-flex;
        justify-content:flex-end;
        align-items:center;
        min-height:0;
        margin-left:auto;
    }

    body.morilab-mobile-nav-enabled .global-menu .menu-main-menu-container{
        display:none;
        width:100%;
        margin-top:12px;
    }

    body.morilab-mobile-nav-enabled .global-menu.is-open .menu-main-menu-container{
        display:block;
    }

    body.morilab-mobile-nav-enabled .global-menu .menu{
        display:flex;
        flex-direction:column;
        background-color:#6dae97;
        border-top:1px solid rgba(255,255,255,0.24);
    }

    body.morilab-mobile-nav-enabled .global-menu .menu li{
        width:100%;
        border-bottom:1px solid rgba(255,255,255,0.24);
    }

    body.morilab-mobile-nav-enabled .global-menu .menu li:last-child{
        border-bottom:none;
    }

    body.morilab-mobile-nav-enabled .global-menu .menu li a{
        padding:14px 12px;
        text-align:left;
    }

    body.morilab-mobile-nav-enabled .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(1){
        transform:translateY(6px) rotate(45deg);
    }

    body.morilab-mobile-nav-enabled .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(2){
        opacity:0;
    }

    body.morilab-mobile-nav-enabled .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(3){
        transform:translateY(-6px) rotate(-45deg);
    }

    body.morilab-mobile-menu-open{
        overflow:hidden;
    }

    .content-outer,
    .one-column-wide,
    .page-content{
        padding:32px 16px;
    }

    .top-h2{
        margin-bottom:18px;
        padding-bottom:12px;
        gap:6px;
        line-height:1.35;
    }

    .top-h2 span{
        width:100%;
        margin-left:0;
        font-size:12px;
        line-height:1.5;
    }

    .morilab-section-heading-wrap{
        margin-bottom:18px;
        gap:10px;
    }

    .morilab-button-position-inline-right .morilab-section-button,
    .morilab-button-position-below-left .morilab-section-button,
    .morilab-button-position-below-center .morilab-section-button,
    .morilab-button-position-below-right .morilab-section-button{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
        padding:12px 18px;
    }

    .news-list li{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        min-height: var(--morilab-home-news-row-min-height-mobile, 56px);
        padding: var(--morilab-home-news-row-padding-y-mobile, 12px) 0;
        box-sizing:border-box;
    }

    .news-list-date{
        font-size:12px;
    }

    .news-list-category span{
        font-size:10px;
        padding:4px 10px;
    }

    .news-list-title,
    .activity-list-info h3,
    .morilab-home-card h3,
    .top-map-location-copy h3,
    .access-location-copy h2{
        overflow-wrap:anywhere;
    }

    .news-list-summary{
        font-size:13px;
        line-height:1.75;
    }

    .top-theme,
    .top-topic.morilab-home-card-grid,
    .morilab-home-card-grid{
        gap:18px;
        margin-bottom:32px;
    }

    .morilab-home-card-image,
    .theme-image.morilab-home-card-image{
        min-height:170px;
    }

    .morilab-home-card-body{
        padding:16px;
        gap:10px;
    }

    .activity-list li a{
        gap:14px;
        padding:18px 0;
    }

    .activity-list-img{
        height:clamp(160px, 52vw, 220px);
    }

    .activity-list-info p{
        font-size:13px;
        line-height:1.75;
    }

    .top-map{
        padding-top:24px;
    }

    .top-map h2{
        padding:0 16px;
        margin-bottom:16px;
    }

    .top-map-locations{
        padding:0 16px 24px;
        gap:16px;
    }

    .top-map-location-copy{
        padding:18px 16px 14px;
    }

    .top-map-location-link{
        width:100%;
        text-align:center;
    }

    .footer-logo{
        padding:32px 16px;
    }

    .footer{
        padding:28px 16px 34px;
    }

    .footer-inner-menu .menu{
        flex-direction:column;
        gap:12px;
    }

    .footer-pagetop{
        margin-bottom:16px;
    }

    .footer-pagetop a{
        width:64px;
        height:64px;
        font-size:10px;
    }

    .footer-pagetop a::before{
        width:16px;
        height:16px;
    }

    .front-page-intro .entry-content,
    .page-content,
    .archive-content{
        overflow-wrap:anywhere;
    }
}

@media (max-width: 480px) {
    .title-logo img{
        max-width:min(100%, 220px);
    }

    .morilab-mobile-nav-bar{
        justify-content:flex-end;
    }

    .morilab-mobile-nav-toggle{
        width:auto;
        justify-content:flex-end;
        padding:2px 0;
        gap:5px;
    }

    .morilab-mobile-nav-toggle-label{
        font-size:10px;
    }

    .morilab-home-card-image,
    .theme-image.morilab-home-card-image{
        min-height:150px;
    }

    .activity-list-img{
        height:180px;
    }

    .top-map-location-copy,
    .morilab-home-card-body{
        padding:14px;
    }
}


/* ==========================================================================
   Theme Section Round Layout (v1.6.26)
   ========================================================================== */

.morilab-home-cards-section-theme .top-theme {
    display: flex;
    gap: 30px;
    margin-bottom: 60px;
}

.morilab-home-cards-section-theme .top-theme li::before {
    display: none;
}

.morilab-home-cards-section-theme .top-theme li,
.morilab-home-cards-section-theme .morilab-home-theme-item {
    flex: 1;
    width: auto;
    max-width: none;
    text-align: center;
}

.morilab-home-cards-section-theme .top-theme li a,
.morilab-home-cards-section-theme .morilab-home-theme-link {
    display: block;
    height: auto;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-global-body-font-weight, 400);
    letter-spacing: var(--morilab-global-body-letter-spacing-desktop, 0);
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    transition: none;
}

.morilab-home-cards-section-theme .top-theme li a:hover,
.morilab-home-cards-section-theme .morilab-home-theme-link:hover {
    opacity: 1;
    transform: none;
    box-shadow: none;
}

.morilab-home-theme-circle-image {
    width: 160px;
    height: 160px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.morilab-home-cards-section-theme .top-theme h3,
.morilab-home-cards-section-theme .morilab-home-theme-link h3 {
    margin: 0 0 10px;
    color: #d4945a;
    font-size: var(--morilab-home-card-title-font-size-desktop, 18px);
    line-height: 1.5;
    font-weight: var(--morilab-home-card-title-font-weight, 400);
    letter-spacing: var(--morilab-home-card-title-letter-spacing-desktop, 0);
    transition: color 0.3s ease;
}

.morilab-home-cards-section-theme .top-theme p,
.morilab-home-cards-section-theme .morilab-home-theme-link p {
    margin: 0;
    font-size: var(--morilab-home-card-description-font-size-desktop, 14px);
    line-height: 1.8;
    text-align: left;
    color: var(--morilab-global-body-text-color, #424c4f);
    font-weight: var(--morilab-home-card-description-font-weight, 400);
    letter-spacing: var(--morilab-home-card-description-letter-spacing-desktop, 0);
}

.morilab-home-cards-section-theme .morilab-home-theme-link:hover h3 {
    color: #d4945a;
}

@media screen and (max-width: 768px) {
    .morilab-home-cards-section-theme .top-theme {
        grid-template-columns: none;
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .morilab-home-theme-circle-image {
        width: 140px;
        height: 140px;
        margin-bottom: 16px;
    }

    .morilab-home-cards-section-theme .top-theme h3,
    .morilab-home-cards-section-theme .morilab-home-theme-link h3 {
        font-size: var(--morilab-home-card-title-font-size-mobile, 18px);
        letter-spacing: var(--morilab-home-card-title-letter-spacing-mobile, 0);
    }

    .morilab-home-cards-section-theme .top-theme p,
    .morilab-home-cards-section-theme .morilab-home-theme-link p {
        font-size: var(--morilab-home-card-description-font-size-mobile, 14px);
        letter-spacing: var(--morilab-home-card-description-letter-spacing-mobile, 0);
    }
}

@media screen and (max-width: 480px) {
    .morilab-home-theme-circle-image {
        width: 120px;
        height: 120px;
    }
}


/* ==========================================================================
   v1.6.28 Desktop Layout Balance Adjustment
   - PC表示のみ、横幅をもう一段広げて左右余白をさらに詰める
   - スマホ表示には影響させない
   ========================================================================== */
@media screen and (min-width: 769px) {
    .header-inner,
    .global-menu .menu,
    .one-column-wide,
    .footer-inner,
    .top-map h2 {
        max-width: 1220px;
    }

    .content,
    .page-content {
        max-width: 1160px;
    }

    .content-outer,
    .one-column-wide,
    .page-content,
    .top-map h2,
    .top-map-locations,
    .footer-logo,
    .footer {
        padding-left: 24px;
        padding-right: 24px;
    }

    .header-inner {
        padding-left: 24px;
        padding-right: 24px;
    }

    .global-menu .menu li a {
        padding-left: 18px;
        padding-right: 18px;
    }

    .main-visual-overlay {
        padding-left: max(40px, var(--morilab-hero-title-side-offset, 48px));
        padding-right: max(40px, var(--morilab-hero-title-side-offset, 48px));
    }

    .main-visual-title-wrap {
        max-width: min(100%, 1180px);
    }

    .top-theme,
    .top-topic {
        gap: 32px;
    }

    .top-topic li {
        width: calc(50% - 16px);
    }

    .activity-list li a {
        gap: 24px;
    }
}


/* v1.6.29: TOPタブを最上段メニュー列へ統合 */


/* ==========================================================================
   v1.6.30 GTranslate Position Tuning
   - PC: 「日本語」タブを右端寄せ
   - Mobile: 幅いっぱい表示をやめ、右上に小さく表示
   ========================================================================== */
.header-menu-wrap{
    justify-content:flex-end;
}

.header-translation{
    margin-left:auto;
    justify-content:flex-end;
    flex:0 0 auto;
    min-width:0;
}

.header-translation .gtranslate-wrapper,
.header-translation .gtranslate_wrapper{
    justify-content:flex-end;
    width:auto;
    max-width:100%;
    flex:0 0 auto;
}

.header-translation .gtranslate_wrapper > *,
.header-translation .gtranslate-wrapper > *{
    max-width:100%;
}

.header-translation .gtranslate_wrapper select,
.header-translation .gtranslate_wrapper .gt_selector,
.header-translation .gtranslate-wrapper select,
.header-translation .gtranslate-wrapper .gt_selector{
    width:auto;
    min-width:0;
    max-width:100%;
}

.header-translation .gtranslate_wrapper a.glink,
.header-translation .gtranslate-wrapper a.glink,
.header-translation .gtranslate_wrapper .gt-current-lang,
.header-translation .gtranslate-wrapper .gt-current-lang,
.header-translation .gtranslate_wrapper .switcher,
.header-translation .gtranslate-wrapper .switcher{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}

@media (max-width: 768px) {
    .header-inner{
        align-items:flex-start;
    }

    .header-menu-wrap{
        width:100%;
        justify-content:flex-end;
        align-items:flex-start;
    }

    .header-translation{
        width:auto;
        max-width:calc(100% - 8px);
        margin-left:auto;
        justify-content:flex-end;
        align-self:flex-start;
    }

    .header-translation .gtranslate-wrapper,
    .header-translation .gtranslate_wrapper{
        width:auto !important;
        max-width:100%;
        justify-content:flex-end;
        flex-wrap:nowrap;
        gap:6px;
    }

    .header-translation .gtranslate_wrapper select,
    .header-translation .gtranslate_wrapper .gt_selector,
    .header-translation .gtranslate-wrapper select,
    .header-translation .gtranslate-wrapper .gt_selector{
        width:auto !important;
        max-width:100%;
        min-height:36px;
        padding:4px 8px;
        font-size:12px;
    }

    .header-translation .gtranslate_wrapper a.glink,
    .header-translation .gtranslate-wrapper a.glink,
    .header-translation .gtranslate_wrapper .gt-current-lang,
    .header-translation .gtranslate-wrapper .gt-current-lang,
    .header-translation .gtranslate_wrapper .switcher,
    .header-translation .gtranslate-wrapper .switcher{
        font-size:12px;
        line-height:1.2;
    }
}


/* ==========================================================================
   v1.6.31 GTranslate Desktop Fine Tuning
   - PCのみ、さらに右端寄せ
   - PCのみ、サイズを少しだけ小さく調整
   - スマホ表示は v1.6.30 のまま維持
   ========================================================================== */
@media screen and (min-width: 769px) {
    .header-menu-wrap{
        width:auto;
        margin-left:auto;
        gap:8px;
        justify-content:flex-end;
    }

    .header-translation{
        margin-left:auto;
        margin-right:0;
        padding-right:0;
        transform:translateX(8px);
    }

    .header-translation .gtranslate-wrapper,
    .header-translation .gtranslate_wrapper{
        gap:6px;
    }

    .header-translation .gtranslate_wrapper select,
    .header-translation .gtranslate_wrapper .gt_selector,
    .header-translation .gtranslate-wrapper select,
    .header-translation .gtranslate-wrapper .gt_selector,
    .header-translation .gtranslate_wrapper a.glink,
    .header-translation .gtranslate-wrapper a.glink,
    .header-translation .gtranslate_wrapper .gt-current-lang,
    .header-translation .gtranslate-wrapper .gt-current-lang,
    .header-translation .gtranslate_wrapper .switcher,
    .header-translation .gtranslate-wrapper .switcher{
        font-size:12px;
        line-height:1.15;
    }

    .header-translation .gtranslate_wrapper select,
    .header-translation .gtranslate_wrapper .gt_selector,
    .header-translation .gtranslate-wrapper select,
    .header-translation .gtranslate-wrapper .gt_selector{
        padding:3px 8px;
        min-height:32px;
    }

    .header-translation .gtranslate_wrapper img,
    .header-translation .gtranslate-wrapper img{
        transform:scale(0.92);
        transform-origin:center;
    }
}


/* ==========================================================================
   v1.6.32 GTranslate Desktop Balance Tuning
   - PCのみ、右側全体の収まりをさらに整える
   - GTranslateを右端寄せしつつ、ロゴとの距離感も調整
   - スマホ表示には影響させない
   ========================================================================== */
@media screen and (min-width: 769px) {
    .header-inner{
        display:flex;
        align-items:center;
        column-gap:20px;
    }

    .title-logo{
        flex:0 0 auto;
    }

    .header-menu-wrap{
        flex:1 1 auto;
        min-width:0;
        justify-content:flex-end;
        align-items:center;
        gap:10px;
    }

    .header-translation{
        margin-left:auto;
        justify-content:flex-end;
        align-items:center;
        transform:translateX(16px);
    }

    .header-translation .gtranslate-wrapper,
    .header-translation .gtranslate_wrapper{
        justify-content:flex-end;
        align-items:center;
        gap:5px;
    }

    .header-translation .gtranslate_wrapper select,
    .header-translation .gtranslate_wrapper .gt_selector,
    .header-translation .gtranslate-wrapper select,
    .header-translation .gtranslate-wrapper .gt_selector,
    .header-translation .gtranslate_wrapper a.glink,
    .header-translation .gtranslate-wrapper a.glink,
    .header-translation .gtranslate_wrapper .gt-current-lang,
    .header-translation .gtranslate-wrapper .gt-current-lang,
    .header-translation .gtranslate_wrapper .switcher,
    .header-translation .gtranslate-wrapper .switcher{
        font-size:11px;
        line-height:1.1;
    }

    .header-translation .gtranslate_wrapper select,
    .header-translation .gtranslate_wrapper .gt_selector,
    .header-translation .gtranslate-wrapper select,
    .header-translation .gtranslate-wrapper .gt_selector{
        padding:2px 7px;
        min-height:30px;
    }

    .header-translation .gtranslate_wrapper img,
    .header-translation .gtranslate-wrapper img{
        transform:scale(0.88);
        transform-origin:center;
    }
}


/* ==========================================================================
   Mobile Menu Button Refinement (v1.6.33)
   ========================================================================== */

@media (max-width: 768px) {
    body.morilab-mobile-nav-enabled .morilab-mobile-nav-toggle:hover,
    body.morilab-mobile-nav-enabled .morilab-mobile-nav-toggle:focus,
    body.morilab-mobile-nav-enabled .morilab-mobile-nav-toggle:active{
        background:transparent;
        border:none;
        box-shadow:none;
        outline:none;
    }

    body.morilab-mobile-nav-enabled .morilab-mobile-nav-toggle-box span{
        width:17px;
    }
}


/* v1.6.36: stable-base repair for ACCESS map toggle (v1.6.34) */


/* ==========================================================================
   v1.6.37 ACCESS関連リンク表示
   ========================================================================== */
.access-location-link-wrap {
    margin: 18px 0 0;
}

.access-location-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: 1px solid rgba(66, 76, 79, 0.22);
    border-radius: 999px;
    text-decoration: none;
    color: #424c4f;
    background: rgba(255, 255, 255, 0.9);
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.access-location-link:hover {
    background: #f3f7f6;
    border-color: rgba(66, 76, 79, 0.35);
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    .access-location-link {
        width: 100%;
        justify-content: center;
    }
}


/* v1.6.38 ACCESS page display source selector */


/* ==========================================================================
   Mobile Menu Stability Fix (v1.6.39)
   スマホメニューの表示をJS初期化に依存させず安定化
   ========================================================================== */
@media (max-width: 768px) {
    .global-menu{
        padding:10px 16px;
    }

    .morilab-mobile-nav-bar{
        display:flex;
        justify-content:flex-end;
        align-items:center;
        width:100%;
        margin-left:auto;
    }

    .morilab-mobile-nav-toggle{
        display:inline-flex;
        justify-content:flex-end;
        align-items:center;
        min-height:0;
        margin-left:auto;
    }

    .global-menu .menu-main-menu-container{
        display:none;
        width:100%;
        margin-top:12px;
    }

    .global-menu.is-open .menu-main-menu-container{
        display:block;
    }

    .global-menu .menu{
        display:flex;
        flex-direction:column;
        background-color:#6dae97;
        border-top:1px solid rgba(255,255,255,0.24);
    }

    .global-menu .menu li{
        width:100%;
        border-bottom:1px solid rgba(255,255,255,0.24);
        margin-right:0;
    }

    .global-menu .menu li:last-child{
        border-bottom:none;
    }

    .global-menu .menu li a{
        display:block;
        padding:14px 12px;
        text-align:left;
    }

    .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(1){
        transform:translateY(6px) rotate(45deg);
    }

    .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(2){
        opacity:0;
    }

    .global-menu.is-open .morilab-mobile-nav-toggle-box span:nth-child(3){
        transform:translateY(-6px) rotate(-45deg);
    }
}


/* ==========================================================================
   v1.6.41 Footer Brand Logo
   - フッター茶色エリア左端にロゴを表示
   ========================================================================== */


/* ==========================================================================
   v1.6.42 NEWS Style Refresh
   ========================================================================== */
@media (min-width: 769px) {
    .morilab-home-list-section-news .news-list {
        display: grid;
        gap: 14px;
    }

    .morilab-home-list-section-news .news-list li {
        display: grid;
        grid-template-columns: minmax(96px, var(--morilab-home-news-date-column-width-desktop, 100px)) minmax(82px, var(--morilab-home-news-category-column-width-desktop, 100px)) minmax(0, 1fr);
        gap: 18px;
        align-items: center;
        min-height: max(var(--morilab-home-news-row-min-height-desktop, 72px), 86px);
        padding: 18px 20px;
        border: 1px solid #ece7de;
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #fcfaf7 100%);
        box-shadow: 0 10px 24px rgba(66, 76, 79, 0.05);
        transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
        overflow: hidden;
        position: relative;
    }

    .morilab-home-list-section-news .news-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 16px;
        bottom: 16px;
        width: 4px;
        border-radius: 999px;
        background: linear-gradient(180deg, #d4945a 0%, #6dae97 100%);
        opacity: 0.9;
    }

    .morilab-home-list-section-news .news-list li:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(66, 76, 79, 0.08);
        border-color: #dfd4c6;
    }

    .morilab-home-list-section-news .news-list-date {
        width: auto;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        line-height: 1.5;
        color: #8c765f;
        font-variant-numeric: tabular-nums;
    }

    .morilab-home-list-section-news .news-list-category {
        width: auto;
    }

    .morilab-home-list-section-news .news-list-category span {
        padding: 5px 12px;
        border-radius: 999px;
        background-color: #f2f7f4;
        color: #5a8b78;
        border: 1px solid #d5e6de;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.08em;
    }

    .morilab-home-list-section-news .news-list-text {
        min-width: 0;
    }

    .morilab-home-list-section-news .news-list-title {
        display: inline;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.65;
        letter-spacing: 0.01em;
        text-decoration: none;
        text-underline-offset: 0.18em;
        text-decoration-thickness: 1px;
        transition: color 0.25s ease, text-decoration-color 0.25s ease;
    }

    .morilab-home-list-section-news .news-list-title:hover,
    .morilab-home-list-section-news .news-list-title:focus {
        color: #b4743d;
        text-decoration: underline;
        text-decoration-color: rgba(212, 148, 90, 0.45);
    }

    .morilab-home-list-section-news .news-list-summary {
        margin-top: 8px;
        color: #6a7276;
        font-size: 13px;
        line-height: 1.85;
    }
}

@media (max-width: 768px) {
    .morilab-home-list-section-news .news-list {
        display: grid;
        gap: 12px;
    }

    .morilab-home-list-section-news .news-list li {
        padding: 14px 16px;
        border: 1px solid #ece7de;
        border-radius: 14px;
        background: linear-gradient(180deg, #ffffff 0%, #fcfaf7 100%);
        box-shadow: 0 8px 18px rgba(66, 76, 79, 0.04);
        position: relative;
        overflow: hidden;
    }

    .morilab-home-list-section-news .news-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 12px;
        bottom: 12px;
        width: 3px;
        border-radius: 999px;
        background: linear-gradient(180deg, #d4945a 0%, #6dae97 100%);
        opacity: 0.9;
    }

    .morilab-home-list-section-news .news-list-date {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.06em;
        color: #8c765f;
        font-variant-numeric: tabular-nums;
    }

    .morilab-home-list-section-news .news-list-category span {
        padding: 4px 10px;
        border-radius: 999px;
        background-color: #f2f7f4;
        color: #5a8b78;
        border: 1px solid #d5e6de;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.06em;
    }

    .morilab-home-list-section-news .news-list-title {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.65;
    }

    .morilab-home-list-section-news .news-list-summary {
        margin-top: 6px;
        color: #6a7276;
        font-size: 12px;
        line-height: 1.8;
    }
}


/* ==========================================================================
   v1.6.43 NEWS Source Extension + Style Refine
   ========================================================================== */
@media (min-width: 769px) {
    .morilab-home-list-section-news .news-list {
        gap: 16px;
    }

    .morilab-home-list-section-news .news-list li {
        gap: 20px;
        padding: 20px 22px 20px 24px;
        border-radius: 20px;
        background:
            linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(252,250,247,0.98) 100%);
        box-shadow: 0 16px 36px rgba(66, 76, 79, 0.06);
    }

    .morilab-home-list-section-news .news-list li::before {
        top: 18px;
        bottom: 18px;
        width: 5px;
    }

    .morilab-home-list-section-news .news-list-date {
        display: inline-flex;
        align-items: center;
        align-self: start;
        padding: 7px 12px;
        border-radius: 999px;
        background: rgba(140, 118, 95, 0.08);
        font-size: 11px;
        letter-spacing: 0.12em;
    }

    .morilab-home-list-section-news .news-list-category {
        align-self: start;
        min-height: 34px;
        display: flex;
        align-items: center;
    }

    .morilab-home-list-section-news .news-list-category span {
        box-shadow: inset 0 0 0 1px rgba(90, 139, 120, 0.08);
    }

    .morilab-home-list-section-news .news-list-text {
        display: grid;
        gap: 8px;
    }

    .morilab-home-list-section-news .news-list-title {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 17px;
        line-height: 1.7;
    }

    .morilab-home-list-section-news .news-list-title::after {
        content: '→';
        font-size: 13px;
        line-height: 1;
        opacity: 0.55;
        transform: translateX(0);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .morilab-home-list-section-news .news-list-title:hover::after,
    .morilab-home-list-section-news .news-list-title:focus::after {
        opacity: 1;
        transform: translateX(3px);
    }

    .morilab-home-list-section-news .news-list-summary {
        max-width: 60ch;
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .morilab-home-list-section-news .news-list {
        gap: 14px;
    }

    .morilab-home-list-section-news .news-list li {
        padding: 16px 16px 16px 18px;
        border-radius: 16px;
    }

    .morilab-home-list-section-news .news-list-date {
        display: inline-flex;
        align-items: center;
        margin-bottom: 6px;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(140, 118, 95, 0.08);
    }

    .morilab-home-list-section-news .news-list-category {
        margin-bottom: 4px;
    }

    .morilab-home-list-section-news .news-list-title {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    .morilab-home-list-section-news .news-list-title::after {
        content: '→';
        font-size: 12px;
        line-height: 1;
        opacity: 0.5;
    }
}


/* v1.6.44 NEWS two-row layout */
@media (min-width: 769px) {
    .morilab-home-list-section-news .news-list li {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: start;
    }

    .morilab-home-list-section-news .news-list-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .morilab-home-list-section-news .news-list-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 58px;
        padding: 6px 11px;
        border-radius: 999px;
        background: rgba(90, 139, 120, 0.09);
        color: #4b6b60;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.16em;
        line-height: 1;
    }

    .morilab-home-list-section-news .news-list-date {
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        color: #7c7064;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        line-height: 1.4;
    }

    .morilab-home-list-section-news .news-list-text {
        display: block;
    }

    .morilab-home-list-section-news .news-list-title {
        display: inline-block;
        font-size: 18px;
        line-height: 1.7;
    }

    .morilab-home-list-section-news .news-list-summary,
    .morilab-home-list-section-news .news-list-category {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .morilab-home-list-section-news .news-list li {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .morilab-home-list-section-news .news-list-meta {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .morilab-home-list-section-news .news-list-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 54px;
        padding: 5px 10px;
        border-radius: 999px;
        background: rgba(90, 139, 120, 0.09);
        color: #4b6b60;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.14em;
        line-height: 1;
    }

    .morilab-home-list-section-news .news-list-date {
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        color: #7c7064;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1.4;
    }

    .morilab-home-list-section-news .news-list-text {
        display: block;
    }

    .morilab-home-list-section-news .news-list-title {
        display: inline-block;
        width: 100%;
        font-size: 16px;
        line-height: 1.65;
    }

    .morilab-home-list-section-news .news-list-summary,
    .morilab-home-list-section-news .news-list-category {
        display: none !important;
    }
}


/* v1.6.45 NEWS source save fix: keep post selection stable on Customizer save */


/* v1.6.46: ACTIVITY source selection supports page/post/url with stable manual-item override. */


/* v1.6.47 NEWS post stream + archive page */

.morilab-news-archive-wrap{padding-top:8px;padding-bottom:8px;}
.morilab-news-archive-intro{max-width:860px;margin:0 auto 32px;color:#5e544a;line-height:1.9;}
.morilab-news-archive-list{display:flex;flex-direction:column;gap:18px;}
.morilab-news-archive-card{border:1px solid rgba(90,65,40,.12);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.05);transition:transform .25s ease, box-shadow .25s ease;}
.morilab-news-archive-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.08);}
.morilab-news-archive-link{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;color:inherit;text-decoration:none;min-height:170px;}
.morilab-news-archive-thumb{background:#f5f0ea;min-height:170px;}
.morilab-news-archive-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.morilab-news-archive-body{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:10px;}
.morilab-news-archive-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#7e6f60;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.morilab-news-archive-label{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:#6c4a2f;color:#fff;font-weight:700;font-size:11px;letter-spacing:.12em;}
.morilab-news-archive-date{font-weight:600;color:#826f5b;font-size:13px;}
.morilab-news-archive-title{margin:0;font-size:24px;line-height:1.45;color:#30261d;}
.morilab-news-archive-excerpt{margin:0;color:#62584d;line-height:1.8;font-size:14px;}
.morilab-news-archive-empty{padding:28px;border:1px solid rgba(90,65,40,.12);border-radius:18px;background:#fff;}
@media (max-width: 768px){
  .morilab-news-archive-link{grid-template-columns:1fr;}
  .morilab-news-archive-thumb{min-height:200px;}
  .morilab-news-archive-body{padding:18px;}
  .morilab-news-archive-title{font-size:20px;}
}
.news-list li{position:relative;}
.news-list-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.news-list-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#6c4a2f;color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;}
.news-list-date{font-weight:600;color:#7b6a59;}
.news-list-title{display:block;margin-top:8px;font-size:18px;line-height:1.6;color:#2f271f;text-decoration:none;}
.news-list-title:hover{text-decoration:underline;}


/* v1.6.48 NEWS simple list layout */
/* v1.6.49: compact NEWS row height for top and archive lists */
.morilab-home-list-section-news .news-list.morilab-news-simple-list,
.morilab-news-simple-archive-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #cfc9c2;
}

.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item,
.morilab-news-simple-archive-item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #cfc9c2;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item::before,
.morilab-news-simple-archive-item::before {
    display: none;
}

.morilab-news-simple-row {
    display: grid;
    grid-template-columns: 108px 170px minmax(0, 1fr) 44px;
    align-items: center;
    column-gap: 24px;
    min-height: 76px;
    padding: 10px 0;
}

.morilab-news-simple-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: 8px 12px;
    background: #a9a9a9;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: none;
}

.morilab-news-simple-date,
.morilab-news-simple-date time {
    color: #66615a;
    font-size: 14px;
    letter-spacing: .03em;
    line-height: 1.35;
    white-space: nowrap;
}

.morilab-news-simple-title-wrap {
    min-width: 0;
}

.morilab-news-simple-title,
.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
.morilab-news-simple-archive-item .morilab-news-simple-title {
    display: block;
    margin: 0;
    color: #463f38;
    text-decoration: none;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: .02em;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.morilab-news-simple-title:hover,
.morilab-news-simple-title:focus {
    text-decoration: underline;
}

.morilab-news-simple-arrow-wrap {
    display: flex;
    justify-content: flex-end;
}

.morilab-news-simple-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 2px solid #1f1a15;
    border-radius: 999px;
    color: #1f1a15;
    text-decoration: none;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.morilab-news-simple-arrow:hover,
.morilab-news-simple-arrow:focus {
    background: #1f1a15;
    color: #fff;
    transform: translateX(2px);
}

.morilab-news-simple-item-empty .news-list-text,
.morilab-news-archive-empty {
    padding: 20px 0;
}

.morilab-news-archive-wrap {
    padding-top: 8px;
    padding-bottom: 8px;
}

.morilab-news-archive-intro {
    max-width: 860px;
    margin: 0 auto 28px;
    color: #5e544a;
    line-height: 1.9;
}

.morilab-news-simple-archive-list {
    display: block;
}

.morilab-news-simple-archive-item + .morilab-news-simple-archive-item {
    margin-top: 0;
}

.morilab-news-simple-archive-item .morilab-news-simple-row {
    min-height: 78px;
}

@media (max-width: 900px) {
    .morilab-news-simple-row {
        grid-template-columns: 96px 138px minmax(0, 1fr) 38px;
        column-gap: 16px;
        min-height: 68px;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 15px;
        line-height: 1.45;
    }
}

@media (max-width: 640px) {
    .morilab-news-simple-row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label date"
            "title arrow";
        row-gap: 8px;
        column-gap: 12px;
        min-height: 0;
        padding: 12px 0;
    }

    .morilab-news-simple-label {
        grid-area: label;
        min-width: 76px;
        padding: 8px 12px;
        font-size: 11px;
        justify-self: start;
    }

    .morilab-news-simple-date {
        grid-area: date;
        font-size: 13px;
        justify-self: end;
    }

    .morilab-news-simple-title-wrap {
        grid-area: title;
    }

    .morilab-news-simple-arrow-wrap {
        grid-area: arrow;
        align-items: center;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 15px;
        line-height: 1.55;
    }

    .morilab-news-simple-arrow {
        width: 28px;
        height: 28px;
        font-size: 18px;
    }
}


/* v1.6.50: NEWS row compact + plain label + default NEWS label */
.morilab-news-simple-row {
    grid-template-columns: 74px 136px minmax(0, 1fr) 26px;
    column-gap: 18px;
    min-height: 58px;
    padding: 6px 0;
}

.morilab-news-simple-label {
    display: inline-block;
    min-width: 0;
    padding: 0;
    background: transparent;
    color: #6d665f;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    border-radius: 0;
}

.morilab-news-simple-date,
.morilab-news-simple-date time {
    font-size: 13px;
    line-height: 1.25;
}

.morilab-news-simple-title,
.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
.morilab-news-simple-archive-item .morilab-news-simple-title {
    font-size: 16px;
    line-height: 1.35;
}

.morilab-news-simple-arrow {
    width: 24px;
    height: 24px;
    border-width: 1px;
    font-size: 18px;
}

.morilab-news-simple-archive-item .morilab-news-simple-row {
    min-height: 60px;
    padding: 6px 0;
}

@media (max-width: 900px) {
    .morilab-news-simple-row {
        grid-template-columns: 68px 122px minmax(0, 1fr) 24px;
        column-gap: 12px;
        min-height: 52px;
        padding: 5px 0;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 15px;
        line-height: 1.32;
    }

    .morilab-news-simple-label {
        font-size: 10px;
    }

    .morilab-news-simple-date,
    .morilab-news-simple-date time {
        font-size: 12px;
    }
}

@media (max-width: 640px) {
    .morilab-news-simple-row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label date"
            "title arrow";
        row-gap: 4px;
        column-gap: 8px;
        min-height: 0;
        padding: 8px 0;
    }

    .morilab-news-simple-label {
        justify-self: start;
        font-size: 10px;
    }

    .morilab-news-simple-date,
    .morilab-news-simple-date time {
        font-size: 11px;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 14px;
        line-height: 1.35;
    }

    .morilab-news-simple-arrow {
        width: 22px;
        height: 22px;
        font-size: 16px;
    }
}


/* v1.6.51: NEWS columns layout + remove button-like label */
.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item,
.morilab-news-simple-archive-item {
    padding: 0;
}

.morilab-news-simple-row {
    display: grid;
    grid-template-columns: 56px 126px minmax(0, 1fr) 18px;
    align-items: center;
    column-gap: 16px;
    min-height: 48px;
    padding: 4px 0;
}

.morilab-news-simple-label {
    display: block;
    min-width: 0;
    padding: 0;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6d665f;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.15;
    text-transform: none;
}

.morilab-news-simple-date,
.morilab-news-simple-date time {
    font-size: 13px;
    line-height: 1.2;
    color: #6f675f;
    white-space: nowrap;
}

.morilab-news-simple-title-wrap {
    min-width: 0;
}

.morilab-news-simple-title,
.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
.morilab-news-simple-archive-item .morilab-news-simple-title {
    display: block;
    margin: 0;
    color: #332b24;
    font-size: 15px;
    line-height: 1.28;
    text-decoration: none;
}

.morilab-news-simple-title:hover,
.morilab-news-simple-title:focus {
    text-decoration: underline;
}

.morilab-news-simple-arrow-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.morilab-news-simple-arrow {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #3e352d;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
}

.morilab-news-simple-arrow:hover,
.morilab-news-simple-arrow:focus {
    color: #000;
    transform: translateX(1px);
}

.morilab-news-simple-archive-item .morilab-news-simple-row {
    min-height: 50px;
    padding: 4px 0;
}

@media (max-width: 900px) {
    .morilab-news-simple-row {
        grid-template-columns: 52px 116px minmax(0, 1fr) 16px;
        column-gap: 12px;
        min-height: 44px;
        padding: 4px 0;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 14px;
        line-height: 1.26;
    }

    .morilab-news-simple-label {
        font-size: 11px;
    }

    .morilab-news-simple-date,
    .morilab-news-simple-date time {
        font-size: 12px;
    }
}

@media (max-width: 640px) {
    .morilab-news-simple-row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label date"
            "title arrow";
        row-gap: 3px;
        column-gap: 8px;
        min-height: 0;
        padding: 7px 0;
    }

    .morilab-news-simple-label {
        grid-area: label;
        font-size: 10px;
    }

    .morilab-news-simple-date,
    .morilab-news-simple-date time {
        grid-area: date;
        font-size: 11px;
    }

    .morilab-news-simple-title-wrap {
        grid-area: title;
    }

    .morilab-news-simple-arrow-wrap {
        grid-area: arrow;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 13px;
        line-height: 1.3;
    }

    .morilab-news-simple-arrow {
        font-size: 15px;
    }
}


/* v1.6.53: NEWS text-only layout without item frames */
.morilab-home-list-section-news .news-list.morilab-news-simple-list,
.morilab-news-simple-archive-list {
    border-top: 0 !important;
}

.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item,
.morilab-news-simple-archive-item {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item + .morilab-news-simple-item,
.morilab-news-simple-archive-item + .morilab-news-simple-archive-item {
    margin-top: 12px;
}

.morilab-news-simple-row {
    grid-template-columns: 60px 116px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 2px 0 !important;
    column-gap: 18px !important;
}

.morilab-news-simple-label {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6d665f !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
    line-height: 1.15 !important;
}

.morilab-news-simple-date,
.morilab-news-simple-date time {
    font-size: 13px !important;
    line-height: 1.15 !important;
    color: #6f675f !important;
    white-space: nowrap !important;
}

.morilab-news-simple-title-wrap {
    min-width: 0;
}

.morilab-news-simple-title,
.morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
.morilab-news-simple-archive-item .morilab-news-simple-title {
    margin: 0 !important;
    color: #332b24 !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    text-decoration: none !important;
}

.morilab-news-simple-title:hover,
.morilab-news-simple-title:focus {
    text-decoration: underline !important;
}

.morilab-news-simple-arrow-wrap {
    display: none !important;
}

@media (max-width: 900px) {
    .morilab-news-simple-row {
        grid-template-columns: 56px 108px minmax(0, 1fr) !important;
        column-gap: 14px !important;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 14px !important;
    }
}

@media (max-width: 640px) {
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-item + .morilab-news-simple-item,
    .morilab-news-simple-archive-item + .morilab-news-simple-archive-item {
        margin-top: 10px;
    }

    .morilab-news-simple-row {
        grid-template-columns: 1fr auto !important;
        grid-template-areas:
            "label date"
            "title title" !important;
        row-gap: 2px !important;
        column-gap: 8px !important;
        padding: 2px 0 !important;
    }

    .morilab-news-simple-label {
        grid-area: label;
        font-size: 10px !important;
    }

    .morilab-news-simple-date,
    .morilab-news-simple-date time {
        grid-area: date;
        font-size: 11px !important;
    }

    .morilab-news-simple-title-wrap {
        grid-area: title;
    }

    .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-news-simple-archive-item .morilab-news-simple-title {
        font-size: 13px !important;
        line-height: 1.28 !important;
    }
}




/* v1.6.87: Top NEWS / ACTIVITY button position obey customizer */
.morilab-news-bottom-button-wrap,
.morilab-activity-bottom-button-wrap{
    display:flex;
    margin-top:18px;
}
.morilab-news-bottom-button-wrap-below-left,
.morilab-activity-bottom-button-wrap-below-left{
    justify-content:flex-start;
}
.morilab-news-bottom-button-wrap-below-center,
.morilab-activity-bottom-button-wrap-below-center{
    justify-content:center;
}
.morilab-news-bottom-button-wrap-below-right,
.morilab-activity-bottom-button-wrap-below-right{
    justify-content:flex-end;
}
.morilab-news-bottom-button,
.morilab-activity-bottom-button{
    white-space:nowrap;
}
@media (max-width:768px){
    .morilab-news-bottom-button-wrap,
    .morilab-activity-bottom-button-wrap{
        margin-top:14px;
    }
}


/* v1.6.56: TOP NEWS「全てを見る」をNEWS一覧ページへ固定 */


/* v1.6.57 NEWS一覧ページ専用シンプル表示 */
.morilab-news-directory-list {
  display: block;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(60, 52, 44, 0.22);
}

.morilab-news-directory-item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(60, 52, 44, 0.22);
  background: transparent;
}

.morilab-news-directory-row {
  display: grid;
  grid-template-columns: 120px 170px minmax(0, 1fr) 40px;
  align-items: center;
  column-gap: 26px;
  min-height: 88px;
  padding: 8px 0;
}

.morilab-news-directory-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  padding: 6px 14px;
  background: #a5a5a5;
  color: #fff;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

.morilab-news-directory-date,
.morilab-news-directory-date time {
  color: #5b5249;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.morilab-news-directory-title-wrap {
  min-width: 0;
}

.morilab-news-directory-title {
  color: #3c342c;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  display: inline;
}

.morilab-news-directory-title:hover,
.morilab-news-directory-title:focus {
  text-decoration: underline;
}

.morilab-news-directory-arrow-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.morilab-news-directory-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 2px solid #1f1a17;
  border-radius: 999px;
  color: #1f1a17;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

.morilab-news-directory-arrow:hover,
.morilab-news-directory-arrow:focus {
  background: rgba(31, 26, 23, 0.06);
}

@media (max-width: 900px) {
  .morilab-news-directory-row {
    grid-template-columns: 100px 140px minmax(0, 1fr) 34px;
    column-gap: 18px;
  }

  .morilab-news-directory-label {
    min-width: 92px;
    padding: 6px 12px;
    font-size: 12px;
  }

  .morilab-news-directory-date,
  .morilab-news-directory-date time {
    font-size: 15px;
  }

  .morilab-news-directory-title {
    font-size: 16px;
    line-height: 1.55;
  }
}

@media (max-width: 767px) {
  .morilab-news-directory-row {
    grid-template-columns: 1fr;
    row-gap: 8px;
    min-height: 0;
    padding: 12px 0;
  }

  .morilab-news-directory-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }

  .morilab-news-directory-label {
    min-width: 0;
    padding: 5px 12px;
  }

  .morilab-news-directory-date,
  .morilab-news-directory-date time {
    font-size: 14px;
  }

  .morilab-news-directory-title {
    font-size: 15px;
    line-height: 1.55;
  }

  .morilab-news-directory-arrow-wrap {
    justify-content: flex-start;
  }
}


/* v1.6.58 footer color + multi-logo */
.footer-brand-logos img {
    display: block;
    max-height: 72px;
    width: auto;
}

@media (max-width: 768px) {
    .footer-brand-logos img {
        max-height: 56px;
    }
}


/* v1.6.61 トップNEWSラベルの期限付き非表示 */
.morilab-home-news-matched-list .morilab-news-simple-label.is-timed-hidden {
  visibility: hidden;
}


/* v1.6.62 NEWS一覧ページラベルの期限付き非表示 */
.morilab-news-directory-label.is-timed-hidden {
  visibility: hidden;
}

/* v1.6.64: トップページ各説明文の文字サイズ設定 */


/* v1.6.64: single post header shows News for standard posts used by top NEWS links */


/* v1.6.65: top page NEWS mobile alignment fix */
@media (max-width: 640px) {
    .morilab-home-list-section-news .morilab-news-simple-label {
        display: none;
    }

    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: auto minmax(0, 1fr) 14px;
        grid-template-areas: "date title arrow";
        row-gap: 0;
        column-gap: 8px;
        align-items: center;
        min-height: 0;
        padding: 5px 0;
    }

    .morilab-home-list-section-news .morilab-news-simple-date,
    .morilab-home-list-section-news .morilab-news-simple-date time {
        grid-area: date;
        justify-self: start;
        white-space: nowrap;
        font-size: 11px;
    }

    .morilab-home-list-section-news .morilab-news-simple-title-wrap {
        grid-area: title;
        min-width: 0;
    }

    .morilab-home-list-section-news .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title,
    .morilab-home-list-section-news .morilab-news-simple-archive-item .morilab-news-simple-title {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 13px;
        line-height: 1.25;
    }

    .morilab-home-list-section-news .morilab-news-simple-arrow-wrap {
        grid-area: arrow;
        justify-self: end;
    }
}


/* v1.6.66: top home NEWS mobile layout fix (date left, title right only) */
@media (max-width: 640px) {
    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: 92px minmax(0, 1fr);
        grid-template-areas: "date title";
        align-items: center;
        column-gap: 10px;
        row-gap: 0;
    }

    .morilab-home-list-section-news .morilab-news-simple-label,
    .morilab-home-list-section-news .morilab-news-simple-arrow-wrap {
        display: none !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-date {
        grid-area: date;
        justify-self: start;
        white-space: nowrap;
        min-width: 0;
        font-size: 11px;
        line-height: 1.3;
    }

    .morilab-home-list-section-news .morilab-news-simple-title-wrap {
        grid-area: title;
        min-width: 0;
    }

    .morilab-home-list-section-news .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title {
        display: block;
        margin-top: 0;
        font-size: 14px;
        line-height: 1.35;
        text-align: left;
    }
}

/* v1.6.67: top home NEWS mobile restore NEWS label + keep PC-like horizontal row */
@media (max-width: 640px) {
    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: 44px 78px minmax(0, 1fr) 12px !important;
        grid-template-areas: none !important;
        align-items: center !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        min-height: 0 !important;
        padding: 6px 0 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-label {
        display: block !important;
        grid-area: auto !important;
        justify-self: auto !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-date,
    .morilab-home-list-section-news .morilab-news-simple-date time {
        display: block !important;
        grid-area: auto !important;
        justify-self: auto !important;
        white-space: nowrap !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
        min-width: 0 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-title-wrap {
        display: block !important;
        grid-area: auto !important;
        min-width: 0 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title {
        display: block !important;
        margin-top: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: var(--morilab-home-description-font-size-mobile, 14px) !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-arrow-wrap {
        display: flex !important;
        grid-area: auto !important;
        justify-self: end !important;
        align-items: center !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-arrow {
        display: inline-block !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }
}

@media (max-width: 480px) {
    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: 40px 72px minmax(0, 1fr) 10px !important;
        column-gap: 6px !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-label {
        font-size: 9px !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-date,
    .morilab-home-list-section-news .morilab-news-simple-date time {
        font-size: 10px !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title {
        font-size: var(--morilab-home-description-font-size-mobile, 14px) !important;
        line-height: 1.35 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-arrow {
        font-size: 13px !important;
    }
}



/* v1.6.83: hero mobile vertical adjustment range expanded */

/* v1.6.68: top ACTIVITY empty-state can be hidden entirely when no posts exist */
.activity-list:empty {
    display: none;
}


/* v1.6.70 footer logo desktop separation fix + PC-only third-logo offset control */
.footer-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;
}

.footer-center {
    text-align: center;
}

.footer-center .footer-inner-menu {
    margin-bottom: 20px;
}

.footer-brand {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    min-width: 0;
}

.footer-brand-left {
    justify-content: flex-start;
}

.footer-brand-left .footer-brand-logos {
    justify-content: flex-start;
}

.footer-brand-right {
    justify-content: flex-end;
}

.footer-brand-right .footer-brand-logos {
    justify-content: flex-end;
}

.footer-layout.has-footer-brand-right .footer-center {
    min-width: 0;
}

@media screen and (min-width: 769px) {
    .footer-layout.has-footer-brand-right {
        grid-template-columns: minmax(220px, 1fr) auto minmax(140px, 1fr);
    }

    .footer-layout.has-footer-brand-right .footer-brand-left {
        padding-right: 20px;
    }

    .footer-layout.has-footer-brand-right .footer-brand-right {
        padding-left: 20px;
        transform: translateX(var(--morilab-footer-brand-logo-3-pc-horizontal-offset, 0px));
    }

    .footer-layout.has-footer-brand-right .footer-inner-menu .menu {
        flex-wrap: nowrap;
    }
}

@media screen and (max-width: 768px) {
    .footer-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .footer-brand,
    .footer-brand-left,
    .footer-brand-right,
    .footer-brand-left .footer-brand-logos,
    .footer-brand-right .footer-brand-logos {
        justify-content: center;
    }

    .footer-center .footer-inner-menu {
        margin-bottom: 16px;
    }
}


/* v1.6.85 fixed English hero title for GTranslate EN */
.page-body a,
.single-post-content a,
.news-list-text a,
.top-theme h3,
.top-topic-info h3,
.activity-list-info h3,
.archive-list h3,
.morilab-home-cards-section-theme .top-theme h3,
.morilab-home-cards-section-theme .morilab-home-theme-link h3,
.access-location-link {
    color: var(--morilab-global-link-color, #996760);
}

/* v1.6.71 link hover color control */
.page-body a:hover,
.page-body a:focus,
.single-post-content a:hover,
.single-post-content a:focus,
.news-list-text a:hover,
.news-list-text a:focus,
.news-list-title:hover,
.news-list-title:focus,
.top-h2 a:hover,
.top-h2 a:focus,
.header-menu li a:hover,
.header-menu li a:focus,
.global-menu .menu li a:hover,
.global-menu .menu li a:focus,
.footer-inner-menu .menu a:hover,
.footer-inner-menu .menu a:focus,
.top-theme li a:hover h3,
.top-theme li a:focus h3,
.top-topic li a:hover h3,
.top-topic li a:focus h3,
.activity-list li a:hover h3,
.activity-list li a:focus h3,
.archive-list li a:hover h3,
.archive-list li a:focus h3,
.top-topic.morilab-home-card-grid li a:hover h3,
.top-topic.morilab-home-card-grid li a:focus h3,
.morilab-home-card:hover h3,
.morilab-home-card:focus h3,
.morilab-home-cards-section-theme .morilab-home-theme-link:hover h3,
.morilab-home-cards-section-theme .morilab-home-theme-link:focus h3,
.morilab-news-simple-title:hover,
.morilab-news-simple-title:focus,
.morilab-news-directory-title:hover,
.morilab-news-directory-title:focus,
.access-location-link:hover,
.access-location-link:focus {
    color: var(--morilab-global-link-hover-color, #996760);
}

.morilab-news-simple-title:hover,
.morilab-news-simple-title:focus {
    color: var(--morilab-global-link-hover-color, #996760) !important;
}


/* v1.6.91: smartphone English hero title/subtitle fit improvement */
@media (max-width: 767px) {
    body.morilab-gt-lang-en .main-visual img,
    html.morilab-gt-lang-en .main-visual img {
        height: calc(var(--morilab-main-visual-height-mobile, 240px) + 36px);
    }

    body.morilab-gt-lang-en .main-visual-overlay,
    html.morilab-gt-lang-en .main-visual-overlay {
        padding-top: max(14px, calc(var(--morilab-hero-title-top-offset-mobile, 66px) - 16px));
    }

    body.morilab-gt-lang-en .main-visual-title-wrap,
    html.morilab-gt-lang-en .main-visual-title-wrap {
        width: min(100%, 32rem);
        max-width: 100%;
    }

    body.morilab-gt-lang-en .main-visual-title,
    html.morilab-gt-lang-en .main-visual-title {
        font-size: clamp(20px, 5.8vw, 24px);
        line-height: 1.22;
        letter-spacing: 0.02em;
    }

    body.morilab-gt-lang-en .main-visual-title .morilab-hero-title-en,
    html.morilab-gt-lang-en .main-visual-title .morilab-hero-title-en {
        display: block;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.morilab-gt-lang-en .main-visual-subtitle,
    html.morilab-gt-lang-en .main-visual-subtitle {
        margin-top: 6px;
        font-size: clamp(12px, 3.5vw, 13px);
        line-height: 1.5;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        transform: translateY(min(var(--morilab-hero-subtitle-offset-mobile, 0px), 12px));
    }
}

/* v1.6.90: mobile top NEWS shows date + title only, without the NEWS label */
@media (max-width: 640px) {
    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: max-content minmax(0, 1fr) auto !important;
        align-items: start !important;
        column-gap: 10px !important;
        row-gap: 0 !important;
        padding: 8px 0 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-label {
        display: none !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-date,
    .morilab-home-list-section-news .morilab-news-simple-date time {
        width: auto !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        line-height: 1.32 !important;
        align-self: start !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-title-wrap {
        min-width: 0 !important;
        width: 100% !important;
        align-self: start !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-title,
    .morilab-home-list-section-news .news-list.morilab-news-simple-list .morilab-news-simple-title {
        display: block !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        line-height: 1.42 !important;
        margin-top: 0 !important;
    }

    .morilab-home-list-section-news .morilab-news-simple-arrow-wrap {
        align-self: start !important;
        padding-top: 0.08em !important;
    }
}

@media (max-width: 480px) {
    .morilab-home-list-section-news .morilab-news-simple-row {
        grid-template-columns: max-content minmax(0, 1fr) auto !important;
        column-gap: 8px !important;
        padding: 8px 0 !important;
    }
}


/* v1.6.93: top home NEWS date and related cells align to the top on both PC and mobile */
.morilab-home-list-section-news .morilab-news-simple-row {
    align-items: start !important;
}

.morilab-home-list-section-news .morilab-news-simple-label,
.morilab-home-list-section-news .morilab-news-simple-date,
.morilab-home-list-section-news .morilab-news-simple-date time,
.morilab-home-list-section-news .morilab-news-simple-title-wrap,
.morilab-home-list-section-news .morilab-news-simple-arrow-wrap {
    align-self: start !important;
}

.morilab-home-list-section-news .morilab-news-simple-date {
    display: flex !important;
    align-items: flex-start !important;
}
