@charset "utf-8";
/*
Theme Name: UZUME CORPORATE PREMIUM
Theme URI: https://uzumemusic.com/
Description: UZUME MUSIC Technical & Stylish Evolution Custom Theme. Based on LIQUID PRESS.
Author: UZUME MUSIC / AI
Author URI: https://uzumemusic.com/
Tags: corporate, portfolio, technical, stylish, dark-mode, glassmorphism
Text Domain: uzume-corporate-premium
Version: 1.0.0
*/

:root {
    --uzume-primary: #00a5d4;      /* Deep Blue */
    --uzume-secondary: #00e5ff;    /* Electric Cyan */
    --uzume-accent: #f0c232;       /* Technical Gold */
    --uzume-bg: #ffffff;
    --uzume-text: #1a1a1a;
    --uzume-glass-bg: rgba(255, 255, 255, 0.72);
    --uzume-glass-border: rgba(255, 255, 255, 0.4);
    --uzume-blur: 16px;
    --uzume-shadow-soft: 0 10px 40px -10px rgba(0,0,0,0.08);
    --uzume-shadow-hard: 0 20px 60px -12px rgba(0,0,0,0.15);
    --uzume-easing: cubic-bezier(0.16, 1, 0.3, 1); /* Ultra smooth easing */
}

/* ------------------------------------
common
------------------------------------ */
body {
    color: var(--uzume-text);
    font-size: 16px;
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.8;
    background-color: var(--uzume-bg);
    letter-spacing: 0.02em;
}

/* Technical Accent Font (Mono) */
.tech-accent {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.8em;
    color: var(--uzume-primary);
}

/* Glassmorphism Header */
.navbar {
    background-color: var(--uzume-glass-bg) !important;
    backdrop-filter: blur(var(--uzume-blur));
    -webkit-backdrop-filter: blur(var(--uzume-blur));
    border-bottom: 1px solid var(--uzume-glass-border);
    transition: all 0.4s var(--uzume-easing);
}

.navbar-fixed-top-custom {
    background-color: var(--uzume-glass-bg) !important;
    box-shadow: var(--uzume-shadow-soft);
}

/* Card Evolution (Phase 3) */
.list-block {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #f0f0f0;
    box-shadow: var(--uzume-shadow-soft);
    transition: all 0.5s var(--uzume-easing);
    overflow: hidden;
}

.list:hover .list-block {
    transform: translateY(-5px) scale(1.01);
    box-shadow: var(--uzume-shadow-hard);
    border-color: var(--uzume-primary);
}

.post_thumb {
    transition: transform 0.6s var(--uzume-easing);
}

.list:hover .post_thumb {
    transform: scale(1.1);
}

/* Dynamic Typography Background */
.bg-text-deco {
    position: absolute;
    font-size: 12vw;
    font-weight: 900;
    color: rgba(0, 0, 0, 0.03);
    z-index: -1;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    line-height: 1;
}

/* Service Section Refinement */
.premium-service-card {
    background: var(--uzume-glass-bg);
    backdrop-filter: blur(var(--uzume-blur));
    border: 1px solid var(--uzume-glass-border);
    border-radius: 24px;
    padding: 3rem 2rem;
    transition: all 0.5s var(--uzume-easing);
    height: 100%;
    position: relative;
    overflow: hidden;
}

.premium-service-card:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--uzume-primary), var(--uzume-secondary));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.premium-service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--uzume-shadow-hard);
    border-color: var(--uzume-primary);
}

.premium-service-card:hover:before {
    opacity: 1;
}

.service-icon-wrap {
    width: 64px;
    height: 64px;
    background: rgba(0, 165, 212, 0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--uzume-primary);
    font-size: 2rem;
    transition: all 0.3s ease;
}

.premium-service-card:hover .service-icon-wrap {
    background: var(--uzume-primary);
    color: #fff;
    transform: rotate(-5deg);
}

/* COO Vision Section */
.coo-vision-section {
    background-color: #0a0a0a;
    color: #fff;
    padding: 10rem 0;
    position: relative;
    overflow: hidden;
}

.coo-vision-section:after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 60%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 165, 212, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.vision-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 3rem;
    background: linear-gradient(135deg, #fff 0%, #aaa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Initial state for reveal items */
.list, .premium-service-card, .coo-profile-card, .work-featured-image, .reveal-item {
    opacity: 0;
    transform: translateY(15px);
}

/* Materia-inspired Cinematic Grid */
.materia-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
}

.materia-card {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    background: #000;
    cursor: pointer;
    box-shadow: var(--uzume-shadow-soft);
    transition: all 0.6s var(--uzume-easing);
}

.materia-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
    transition: all 0.8s var(--uzume-easing);
}

.materia-card:hover {
    transform: translateY(-5px) scale(1.01);
    box-shadow: var(--uzume-shadow-hard);
}

.materia-card:hover img {
    opacity: 1;
    transform: scale(1.05);
}

.materia-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.5rem 2rem;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
    color: #fff;
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.5s var(--uzume-easing);
}

.materia-card:hover .materia-card-overlay {
    transform: translateY(0);
    opacity: 1;
}

.materia-card-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.materia-card-cat {
    font-family: 'SFMono-Regular', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--uzume-secondary);
}

/* Hero Materia Style */
.hero-materia {
    background-color: #080808;
    color: #fff;
    min-height: 90vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.hero-materia:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 20% 30%, rgba(0, 165, 212, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

.hero-materia .vision-title {
    font-size: 5vw;
    background: linear-gradient(135deg, #fff 0%, #777 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Hero Dark Contrast */
.hero-materia {
    background-color: #000;
    color: #fff;
    min-height: 85vh; /* Adjusted for better mobile viewport */
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 6rem 0; /* Added padding for mobile breathing room */
}

.hero-logo-embed {
    margin-bottom: 2rem;
}

.hero-logo-embed img {
    max-height: 60px; /* Scaled down for general visibility */
    width: auto;
}

@media (max-width: 768px) {
    .hero-materia {
        min-height: 70vh;
        padding: 4rem 0;
        text-align: center; /* Center text on mobile for better balance */
    }
    .hero-logo-embed {
        text-align: center;
    }
    .hero-logo-embed img {
        max-height: 45px;
    }
    .hero-materia .vision-title {
        font-size: 10vw !important; /* Force readable size on mobile */
    }
    .hero-materia .lead {
        font-size: 1.1rem !important;
        line-height: 1.6;
    }
}

/* Background Scroll & Slideshow */
.hero-bg-slideshow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #000;
}

.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    /* Animation name and total duration will be set via inline style/dynamic block */
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

@keyframes uzumeKenBurns {
    0% { transform: scale(1); }
    100% { transform: scale(1.08); }
}

/* Base keyframe for fade - will be overridden by dynamic calculation for precision if needed, 
   but we'll use a robust staggered approach in PHP */
@keyframes uzumeFade {
    0% { opacity: 0; }
    5% { opacity: 1; }
    25% { opacity: 1; }
    30% { opacity: 0; }
    100% { opacity: 0; }
}

.hero-materia .container {
    position: relative;
    z-index: 10;
}

.floating-logo:hover {
    transform: translateY(-5px) scale(1.05);
    border-color: var(--uzume-primary);
}

.floating-logo img {
    height: 40px;
    width: auto;
    display: block;
}

@media (max-width: 768px) {
    .floating-logo {
        padding: 1rem 2rem;
        max-width: 200px;
    }
    .floating-logo img {
        height: 30px;
    }
    .front-page-logo-container {
        top: 1.5rem;
    }
}

/* Navbar & Mobile Toggler Refinements */
.navbar {
    position: relative;
    z-index: 1000;
}

@media (max-width: 767px) {
    .navbar-toggler {
        position: fixed; /* Keep it accessible while scrolling */
        top: 1.5rem;
        right: 1.5rem;
        z-index: 2100; /* Above everything including floating logo */
        background: var(--uzume-glass-bg);
        backdrop-filter: blur(var(--uzume-blur));
        -webkit-backdrop-filter: blur(var(--uzume-blur));
        border: 1px solid var(--uzume-glass-border);
        padding: 0.8rem;
        border-radius: 12px;
        box-shadow: var(--uzume-shadow-soft);
        display: block !important;
        border: none;
        outline: none !important;
        width: 50px;
        height: 50px;
    }

    .navbar-toggler .icon-bar {
        display: block;
        width: 26px;
        height: 2px;
        background-color: var(--uzume-primary);
        margin: 6px auto;
        transition: all 0.3s;
    }

    /* Animation for active state (if head-open class is used) */
    .head-open .navbar-toggler .top-bar { transform: translateY(8px) rotate(45deg); }
    .head-open .navbar-toggler .middle-bar { opacity: 0; }
    .head-open .navbar-toggler .bottom-bar { transform: translateY(-8px) rotate(-45deg); }
}

a {
    color: #00aeef;
    text-decoration: none;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
}
a:hover, a:active {
    color: #00aeef;
    text-decoration: none;
}
a:visited {
    color: #00aeef;
    opacity: 0.7;
}
img {
    max-width: 100%;
    height: auto;
}
iframe {
    max-width: 100%;
}
.none {
    display: none;
}
.mainarea [class*='col-'] {
    overflow: hidden;
}
.customize-partial-edit-shortcuts-shown [class*='col-'] {
    overflow: visible;
}
.breadcrumb {
    background: transparent;
    border-radius: 0;
    padding: 1.5rem 0;
    border-top: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    font-size: 0.85rem;
    line-height: 1.2;
    margin-bottom: 3rem;
}
.breadcrumb li {
    overflow: hidden;
}
.breadcrumb li.active {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.breadcrumb li.active a {
    pointer-events: none;
    color: inherit;
}

.rwdwrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.rwdwrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.navbar {
    margin-bottom: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    border-bottom: 1px solid rgba(119, 119, 119, 0.1);
}
.navbar-fixed-top-custom {
    position: fixed;
    z-index: 21;
    top: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -o-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -ms-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
}
.navbar-fixed-top-custom:hover {
    background-color: rgba(255, 255, 255, 1.0);
}
.navbar-fixed-top-custom .navbar-toggler {
    top: 1rem;
    right: .5rem;
}
.navbar-nav a {
    font-size: small;
    display: block;
    padding: 1rem 1.5rem;
    border-right: 1px solid rgba(119, 119, 119, 0.1);
}
.navbar-nav a:hover {
    background-color: rgba(119, 119, 119, 0.1);
}
.navbar li {
    border-bottom: 1px solid transparent;
    list-style: none;
}
.nav .menu-item-has-children>ul, .nav .page_item_has_children>ul {
    display: none;
}
.nav .open>ul {
    display: block !important;
}
.dropdown-menu {
    margin: 0;
    padding: 0;
}
.dropdown-item {
    padding: 0;
}
.logo {
    font-size: x-large;
    font-family: Helvetica, sans-serif;
}
.logo img {
    width: auto !important;
    height: 36px !important;
    max-width: initial !important;
}
.logo_text {
    font-size: x-small;
    text-align: left;
    padding: .5rem 0;
    background: rgba(119, 119, 119, 0.1);
    margin-bottom: 1rem;
    line-height: 1;
}
.lang {
    text-align: right;
}
.lang span, .lang a {
    display: inline-block;
    padding: 0 .5rem;
    border-left: 1px solid rgba(119, 119, 119, 0.1);
}
.lang span {
    font-weight: bold;
}
.lang_clone .lang {
    text-align: left;
}

.navbar-nav {
    width: 100%;
}
.navbar-nav > .nav-item:first-child {
    border-left: 1px solid rgba(119, 119, 119, 0.1);
}
.navbar-nav > .nav-item:last-child:not(.sticky-none) {
    margin-left: auto;
}
.navbar-nav > .nav-item:last-child:not(.sticky-none) a {
    background-color: #00aeef;
    color: #fff !important;
    border-left: 1px solid rgba(119, 119, 119, 0.1);
}

.navbar-nav .nav-item+.nav-item {
    margin-left: 0;
}
.navbar .current-menu-item, .navbar .current-menu-parent, .navbar .current_page_item {
    background-color: rgba(119, 119, 119, 0.1);
}

/* multilevel */
.nav .sub-menu .sub-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: .25rem;
}
.nav .sub-menu .dropdown-toggle:after{
    position: absolute;
    right: .25rem;
    top: 45%;
    transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
}
.nav .nav_ttl > a {
    pointer-events: none;
}

blockquote {
    border-left: 4px solid rgba(119, 119, 119, 0.1);
    padding-left: 1em;
}
blockquote:before {
	font-family: 'icomoon';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
    content: "\e977";
    color: rgba(119, 119, 119, 0.5);
    font-size: large;
}
.screen-reader-text {
    display: none !important;
}
table.table thead th, table.table thead td {
	background-color: #f9f9f9;
}
table.table thead th {
    border-top: 0 none;
    border-bottom: 0 none;
}
table.table-bordered-none, table.table-bordered-none th, table.table-bordered-none td {
    border: 0 none;
}

/* ------------------------------------
// bootstrap
------------------------------------ */
/* navbar-toggler */
.navbar-toggler {
    position: absolute;
    z-index: 2;
    top: -3rem;
    right: .5rem;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
}
.navbar-toggler:focus {
    outline: 0;
}
.navbar-toggler .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
}
.navbar-toggler .icon-bar + .icon-bar {
    margin-top: 4px;
}

/* Animated “x” icon */
.navbar-toggler {
    border: none;
    background: transparent !important;
}
.navbar-toggler:hover {
    background: transparent !important;
}
.navbar-toggler .icon-bar {
    background-color: #555 !important;
    width: 22px;
    transition: all 0.2s;
    -moz-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    -ms-transition: all 0.2s;
}
.navbar-toggler .top-bar {
    transform: rotate(45deg);
    transform-origin: 10% 10%;
    -moz-transform: rotate(45deg);
    -moz-transform-origin: 10% 10%;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: 10% 10%;
    -o-transform: rotate(45deg);
    -o-transform-origin: 10% 10%;
    -ms-transform: rotate(45deg);
    -ms-transform-origin: 10% 10%;
}
.navbar-toggler .middle-bar {
    opacity: 0;
}
.navbar-toggler .bottom-bar {
    transform: rotate(-45deg);
    transform-origin: 10% 90%;
    -moz-transform: rotate(-45deg);
    -moz-transform-origin: 10% 90%;
    -webkit-transform: rotate(-45deg);
    -webkit-transform-origin: 10% 90%;
    -o-transform: rotate(-45deg);
    -o-transform-origin: 10% 90%;
    -ms-transform: rotate(-45deg);
    -ms-transform-origin: 10% 90%;
}
.navbar-toggler.collapsed .top-bar {
    transform: rotate(0);
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
}
.navbar-toggler.collapsed .middle-bar {
    opacity: 1;
}
.navbar-toggler.collapsed .bottom-bar {
    transform: rotate(0);
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    -o-transform: rotate(0);
    -ms-transform: rotate(0);
}

.form-control, .btn {
    border-radius: 0;
}

/* carousel */
.carousel-item img {
    width: 100%;
    position: relative;
}
.carousel-indicators {
   bottom: -2.5rem;
}
.carousel-indicators li {
    background-color: #ccc;
    border: 0 none;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    cursor: pointer;
}
.carousel-indicators li.active {
    width: 12px;
    height: 12px;
    border-radius: 12px;
    margin-top: -2px;
}
.carousel-indicators .active {
    background-color: #00aeef;
}
.carousel-control .carousel-indicators li {
    margin: 0 .2em;
}
.is_overlay .carousel-control-next, .is_overlay .carousel-control-prev {
    z-index: 2;
    width: 5%;
}

/* ------------------------------------
// main
------------------------------------ */
.headline {
    position: relative;
    z-index: 1;
    border-top: 3px solid #00aeef;
    padding: 0 0 1rem 0;
    box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -o-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
    -ms-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
}
.headline .ttl, .headline .subttl {
    vertical-align: top;
    font-size: x-small;
    display: inline-block;
    font-weight: normal;
    margin: 0;
    padding: 0;
    line-height: 1.1;
}

.special_header {
    width: 100%;
}
.special_header .widget {
    margin: 0;
}
.special_header .widget .ttl {
    border-top: 1px solid rgba(119, 119, 119, 0.1);
    border-bottom: 0 none;
    margin: 0;
    padding-left: 1rem;
}
.special_header .widget .ttl span {
    border-bottom: 0 none;
}
.special_header .widget .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    position: relative;
    width: 100%;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    margin-bottom: 0;
    border-top: 1px solid rgba(119, 119, 119, 0.1);
    -webkit-overflow-scrolling: touch;
}
.special_header .widget .menu.hasscroll:after {
    display: block;
    position: absolute;
    content: '.';
    color: transparent;
    height: 3px;
    background: #333;
    opacity: 0;
    width: 33%;
    border-radius: 1px;
    bottom: 2px;
    left: 0;
    -moz-animation: scroll 3s ease 0s 1;
    -webkit-animation: scroll 3s ease 0s 1;
    -o-animation: scroll 3s ease 0s 1;
    -ms-animation: scroll 3s ease 0s 1;
    animation: hasscroll 3s ease 0s 1;
}
@-moz-keyframes hasscroll {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}
@-webkit-keyframes hasscroll {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}
@-o-keyframes hasscroll {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}
@-ms-keyframes hasscroll {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}
@keyframes hasscroll {
    0% { opacity: 0; }
    50% { opacity: 0.5; }
    100% { opacity: 0; }
}
.special_header .widget .menu li {
    text-align: center;
    font-size: small;
    border-bottom: 0 none;
    border-right: 1px solid rgba(119, 119, 119, 0.1);
}
.special_header .widget .menu li:last-child {
    border-right: 0 none;
}
.special_header .widget .menu li a {
    display: block;
    padding: .5rem 1rem;
    border: 0 none;
}
.special_header .widget .menu li a i {
    font-size: medium;
    vertical-align: baseline;
}
.special_header .widget .form-control,
.special_header .widget .searchform .btn {
    background: transparent;
}

.cover {
    position: relative;
    margin-bottom: 2rem;
}
.cover_inner {
    position: relative;
    line-height: 0;
}
.cover video {
    width: 100%;
    height: auto;
}

.cover_overlay {
    position: absolute;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.cover_passive {
    pointer-events: none;
}
.cover_ttl {
    font-size: xx-large;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0 0 1px #00000080;
    margin-bottom: 1rem;
}
.cover_lead {
    font-size: large;
    color: #ffffff;
    text-shadow: 0 0 1px #00000080;
    margin-bottom: 1rem;
}
.cover_ttl mark, .cover_lead mark {
    color: #333;
    background-color: #fff;
}
.cover_btn {
    display: inline-block;
    color: #ffffff !important;
    background: #00aeef;
    padding: 1rem 1.5rem;
    opacity: 0.9;
}
.cover_btn:hover, .cover_btn:active, .cover_btn:visited {
    color: #ffffff !important;
    opacity: 1;
}

.hero {
    background-color: #eee;
    height: 100px;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
}
.hero_img {
    height: 100px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    -ms-background-size: 100% auto;
    text-align: center;
    line-height: 100px;
    font-size: medium;
    opacity: 0.7;
}
.main {
    text-align: center;
    line-height: 1.5;
    padding: 1em 0;
}
.main h3 {
    margin-bottom: 0;
    font-size: large;
}
.main h3 a {
    display: block;
}
.mainpost {
    margin-top: 2rem;
}
.mainarea {
    margin-bottom: 2rem;
}
.biz {
    margin: 2rem 0;
}
.biz_list {
    text-align: center;
    margin-bottom: 1rem;
}
.icon_big {
    background-color: #00aeef;
    border-radius: 50%;
    width: 180px;
    height: 180px;
    margin: 0 auto 1rem auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.icon_big .icon {
    color: #fff;
    display: block;
    bottom: 1rem;
    font-size: 70px;
    line-height: 180px;
}
.icon_big .icon:before {
    margin-right: 0;
}
.pages {
    padding: 2rem 0;
    background-color: rgba(119, 119, 119, 0.1);
}
.pages .list .post_links {
    margin-bottom: 0;
    border: 0 none;
}
.pages .list .post_ttl {
    margin-bottom: 0;
    font-size: medium;
}
.sidebar.col-md-4 .pages .list_big {
    width: 100%;
}
.detail .mainarea .pages .list_big .post_links .post_thumb span {
    height: 140px;
}
.widget_liquid_pages .pages {
    margin-top: 1px;
}
.page_header .widget_liquid_pages,
.page_footer .widget_liquid_pages {
    background-color: rgba(119, 119, 119, 0.1);
}
.page_header .widget_liquid_pages .pages,
.page_footer .widget_liquid_pages .pages {
    background-color: transparent;
}
.page_header .widget_liquid_pages .ttl,
.page_footer .widget_liquid_pages .ttl {
    margin-top: 1rem;
}

.newposts {
    margin-top: 2rem;
}
.more a {
    display: block;
    text-align: right;
    margin-bottom: 1rem;
}

.headline .com {
    text-align: right;
    line-height: 1.2;
}
.headline .com_tel {
    font-size: large;
    font-weight: bold;
}
.headline .com_tel span {
    color: initial;
}
.headline .com_name, .headline .com_open {
    font-size: small;
}
.foot .com {
    font-size: small;
    text-align: left;
    margin-bottom: 1rem;
}
.foot .com_name {
    font-size: large;
}
.foot .logo {
    display: inline-block;
    margin-bottom: 1rem;
}
.foot .logo img {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

.list .post_links {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(119, 119, 119, 0.1);
    position: relative;
}
.list .post_links .list-block {
    display: table;
    line-height: 1.2;
}
.list .post_links .post_thumb,
.list .post_links .list-text {
    display: table-cell;
    vertical-align: top;
}
.list .post_links .post_thumb {
    background-color: rgba(119, 119, 119, 0.1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    -ms-background-size: 100% auto;
}
.list .post_links .post_thumb span {
    width: 150px;
    height: 100px;
    display: block;
}
.list .post_links .post_thumb:after {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    width: 100%;
    height: 100%;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
}
.list .post_links:hover .post_thumb:after {
    background-color: rgba(119, 119, 119, 0.1);
}
.list .list-text {
    padding: .5rem;
}
.list .post_ttl {
    font-size: large;
    margin-top: .5rem;
}

.list_big .post_links {
    border-width: 3px;
}
.list_big .post_links .list-block {
    display: block;
}
.list_big .post_links .post_thumb,
.list_big .post_links .list-text {
    display: block;
}
.list_big .post_links .post_thumb span {
    width: 100%;
    height: 237px;
}
.list_big .post_ttl {
    line-height: 1.2em;
    height: 2.2em;
    overflow: hidden;
    display: box;
    display: -webkit-box;
    display: -moz-box;
    display: -o-box;
    text-overflow: ellipsis;
    box-orient: vertical;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    -moz-box-orient: vertical;
    -moz-line-clamp: 2;
    -o-box-orient: vertical;
    -o-line-clamp: 2;
    -ms-box-orient: vertical;
    -ms-line-clamp: 2;
}

.post_meta {
    margin-bottom: 1rem;
}
.post_time, .post_cat {
    font-size: small;
    margin-right: .5em;
    opacity: 0.8;
    color: #333;
}
.post_body {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.post_body h1, .post_body h2,
.widget h1, .widget h2 {
    font-weight: bold;
    border-bottom: 3px solid rgba(119, 119, 119, 0.1);
    margin-bottom: 2rem;
}
.post_body h1 > span, .post_body h2 > span,
.widget h1 > span, .widget h2 > span {
    border-bottom: 3px solid #00aeef;
    display: inline-block;
    padding: 1rem 0;
    margin-bottom: -3px;
}
.post_body h3, .widget h3 {
    font-weight: bold;
    margin-bottom: 1rem;
}
.post_body hr, .widget hr {
    clear: both;
}
.post_body a {
    text-decoration: underline;
}
.post_body a.btn {
    text-decoration: none;
}
hr {
    border-color: rgba(119, 119, 119, 0.1);
    border-width: 3px;
}

.cat_info {
    margin-bottom: 1rem;
}
.cat_info img {
    width: 100%;
}

.ttl {
    font-size: medium;
    font-weight: bold;
    border-radius: 0;
    margin-bottom: 1rem;
    border-bottom: 3px solid rgba(119, 119, 119, 0.1);
}

ul.post-categories, .widget ul, ul.page-numbers {
    padding-left: 0;
    margin-left: 0;
    list-style: none;
}
ul.post-categories li {
    display: inline-block;
    padding-right: .5em;
    padding-left: .5em;
}
ul.page-numbers li {
    display: inline-block;
}

.sidebar .widgets {
    top: 2rem;
}
.sidebar .widget:first-child .ttl {
    margin-top: 0;
}
.sidebar .widget:first-child .ttl span,
.mainarea > .ttl span {
    padding-top: 0;
}
.sidebar .widget ul li a {
    padding: .5rem 0;
}
.widget {
    margin-bottom: 2rem;
}
/* Glassmorphism Drawer (Mobile Menu) */
.drawer {
    width: 100%;
    background-color: var(--uzume-glass-bg);
    backdrop-filter: blur(var(--uzume-blur));
    -webkit-backdrop-filter: blur(var(--uzume-blur));
    border-top: 1px solid var(--uzume-glass-border);
    padding: 2rem 1rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    box-shadow: var(--uzume-shadow-hard);
}

.drawer .widget {
    margin: 1rem 0;
}

.drawer .widget ul {
    padding: 0;
    list-style: none;
}

.drawer .widget li {
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.drawer .widget li a {
    display: block;
    padding: 1rem 0;
    color: var(--uzume-text);
    font-weight: 500;
    text-decoration: none;
}
.widget .ttl, .widget .widgettitle {
    font-size: medium;
    font-weight: bold;
    border-radius: 0;
    margin-bottom: 1rem;
}
.widget .widgettitle > span {
    display: inline-block;
    padding: .5em 0;
}
.ttl span {
    display: inline-block;
    padding: .5em 0;
    border-bottom: 3px solid #00aeef;
    margin-bottom: -3px;
}
.widget ul li {
    display: block;
    padding-left: 0;
    border-bottom: 1px solid rgba(119, 119, 119, 0.1);
}
.widget ul li ul li {
    border-bottom: 0 none;
}
.widget ul li ul {
    border-left: 1px solid rgba(119, 119, 119, 0.1);
    margin-left: .5rem;
    padding-left: .5rem;
}
.widget ul li a {
    padding: .5rem;
    display: inline-block;
}
.wrapper > .widgets .widget, .logo_text .widget {
    margin-bottom: 0;
}
.sidebar .newpost a {
    display: table;
    width: 100%;
}
.sidebar .newpost a .post_thumb {
    display: table-cell;
    vertical-align: top;
    width: 100px;
}
.sidebar .newpost a .post_thumb span {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    background-color: rgba(119, 119, 119, 0.1);
}
.sidebar .newpost a .post_thumb img {
    width: 100%;
    height: auto;
}
.sidebar .newpost a .post_ttl {
    display: table-cell;
    vertical-align: top;
}

ul.post-categories a, ul.tag a, .pagination li>a {
    display: inline-block;
    padding: .5em 1em;
    text-align: center;
    border: 1px solid rgba(119, 119, 119, 0.1);
    margin: 0 .5rem .5rem 0;
}
ul.post-categories a:hover, ul.tag a:hover, .page-numbers a:hover, .widget a:hover,
.formbox a:hover, .pagination li>a:focus, .pagination li>a:hover {
    background: rgba(119, 119, 119, 0.1);
}

.share {
    margin-bottom: 1rem;
}
.share a {
    display: inline-block;
    padding: .5em 1em;
    color: #fff !important;
    font-size: small;
    margin: 0 .5em .5em 0;
    opacity: 0.8;
    text-decoration: none;
}
.share a:hover, .share a:active, .share a:visited {
    opacity: 1;
    color: #fff !important;
    text-decoration: none;
}
.share_facebook {
    background: #39599F !important;
}
.share_twitter {
    background: #45B0E3 !important;
}
.share_hatena {
    background: #00A4DE !important;
}
.share_pocket {
    background: #D3505A !important;
}
.share_line {
    background: #00C300 !important;
}

.headline .sns {
    text-align: right;
}
.headline .sns a {
    font-size: large;
    display: inline-block;
    margin: 0 .2rem;
    width: 1em;
    height: 1em;
    background: #333;
    color: #fff !important;
    line-height: 1em;
    opacity: 0.8;
}
.foot .sns {
    text-align: center;
    padding: 0;
}
.foot .sns a {
    font-size: large;
    display: inline-block;
    margin: .5rem;
    padding: .2rem .5rem;
    line-height: 1.5em;
    opacity: 0.8;
}
.sns a:hover {
    opacity: 1;
}

.follow {
    margin-bottom: 1rem;
    background-color: rgba(119, 119, 119, 0.1);
}
.follow_wrap {
    display: table;
}
.follow_img, .follow_sns {
    display: table-cell;
    vertical-align: middle;
}
.follow .share {
    margin: 0;
}
.follow .share a {
    color: inherit !important;
    font-size: 1.5em;
    margin: 0;
    padding: .5em 1em;
    background-color: transparent !important;
}
.formbox a {
    padding: 2rem 1rem;
    display: block;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1rem;
    border: 3px solid #00aeef;
}

.detail {
    padding-top: 2rem;
}
.home .detail, .detail.simple {
    padding-top: 0;
}

.ttl_h1 {
    font-size: large;
    font-weight: bold;
    margin-bottom: 1rem;
}
.archive .ttl_h1, .search .ttl_h1 {
    border-bottom: 3px solid #00aeef;
    padding-bottom: 1rem;
}

.clearfix, .post_body {
    zoom: 1;
}
.clearfix:after, .post_body:after {
    content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}
.pagination li>a, .pagination li>span {
    border-radius: 0;
    background-color: transparent;
}
.page-numbers {
    clear: both;
    text-align: center;
}
.page-numbers a, span.current {
    display: inline-block;
    background-color: transparent;
    border: solid 1px rgba(119, 119, 119, 0.1);
    padding: .5em 8px;
    margin: 2px;
    text-decoration: none;
}
span.current {
    background: rgba(119, 119, 119, 0.1);
}

.map {
    padding: 1rem;
    background: rgba(119, 119, 119, 0.1);
    margin-bottom: 2rem;
}
.map iframe {
    width: 100%;
    height: 450px;
}

.pagetop a {
    display: none;
    text-align: center;
    font-size: 1rem;
    position: fixed;
    bottom: 2rem;
    right: 1rem;
    background: rgba(119, 119, 119, 0.1);
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    z-index: 999;
}

.fixed_footer {
    position: fixed;
    z-index: 998;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    background-color: #fff;
}
.fixed_footer + .pagetop a {
    bottom: 5rem;
}
.fixed_footer ~ footer {
    padding: 2rem 0 5rem 0;
}
.fixed_footer > [class*='col-'] {
    padding: 0;
}
.fixed_footer .widget {
    margin: 0;
}
.fixed_footer .widget .ttl {
    border-top: 1px solid rgba(119, 119, 119, 0.1);
    border-bottom: 0 none;
    margin: 0;
    padding-left: 1rem;
}
.fixed_footer .widget .ttl span {
    border-bottom: 0 none;
}
.fixed_footer .widget .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0;
    text-align: center;
    justify-content: space-between;
    border-top: 1px solid rgba(119, 119, 119, 0.1);
}
.fixed_footer .widget .menu li {
    display: block;
    flex: 1;
    text-align: center;
    font-size: small;
    border-bottom: 0 none;
    border-right: 1px solid rgba(119, 119, 119, 0.1);
}
.fixed_footer .widget .menu li:last-child {
    border-right: 0 none;
}
.fixed_footer .widget .menu li a {
    padding: .5rem .25rem;
    display: block;
}
.fixed_footer .widget .menu li a i {
    font-size: medium;
    vertical-align: baseline;
}

footer {
    background: rgba(119, 119, 119, 0.1);
    padding: 2rem 0;
    font-size: small;
}
footer a, footer a:hover, footer a:active, footer a:visited {
    color: #333;
}
.copy {
    padding: 2em;
    text-align: center;
    font-size: small;
}

.eg {
    background: rgba(119, 119, 119, 0.1);
    padding: 2rem 1rem;
    text-align: center;
    font-weight: bold;
}
.sidebar .eg {
    width: 100%;
    height: 250px;
    border: 1px solid rgba(119, 119, 119, 0.1);
}


/* ------------------------------------
// wp
------------------------------------ */
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1em;
}
.alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1em;
}
.attachment-post-thumbnail, .ttl_h1 + img {
    margin-bottom: 1em;
}
.attachment-post-thumbnail {
    width: 100%;
}
.thumbnail_top {
    margin-bottom: 1em;
    width: 100%;
}
.wp-caption, .wp-caption-text, .gallery-caption {
    font-size: small;
    max-width: 100%;
    height: auto;
}
.sticky .list-title {
    font-weight: bold;
}
.bypostauthor {
    font-weight: bold;
}
.form-allowed-tags {
    font-size: small;
}

.searchform_nav {
    margin-top: 1rem;
}
.searchform {
    position: relative;
    width: 100%;
}
.searchform .search-text {
    border-color: transparent transparent rgba(119, 119, 119, 0.1) transparent;
}
.searchform .btn {
    position: absolute;
    top: 1px;
    right: 1px;
    background: #fff;
    color: #333;
    border: 0 none;
}
.searchform * {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* ------------------------------------
// cse-search
------------------------------------ */
#cse-search-box input[name="q"] {
    width: 74%;
}

/* ------------------------------------
// wpcf7
------------------------------------ */
.widget .wpcf7 {
    padding: 1rem;
    background-color: rgba(119, 119, 119, 0.1);
}
.wpcf7 label {
    width: 100%;
}

/* ------------------------------------
// popularposts
------------------------------------ */
.popular-posts .wpp-thumbnail {
    margin-right: 10px;
    max-width: initial !important;
    float: none;
}
.popular-posts .wpp-list li {
    display: table;
    width: 100%;
    position: relative;
}
.popular-posts .wpp-list li a {
    display: table-cell;
    vertical-align: top;
}
.popular-posts .wpp-list li .wpp-post-title {
    width: 100%;
}
.popular-posts .wpp-list li .wpp-excerpt {
    display: table-cell;
    vertical-align: top;
}
.popular-posts .wpp-list li .post-stats {
    position: absolute;
    left: 0;
    bottom: .5rem;
    width: 90px;
    background: #333;
    color: #fff;
    text-indent: .5em;
    font-size: xx-small;
}
.popular-posts .wpp-list li .post-stats a {
    padding: 0;
    display: inline;
    color: #fff;
}
.wpp-no-data {
    display: none;
}

/* ------------------------------------
// woocommerce
------------------------------------ */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
    flex: 0 1 auto;
    max-width: none;
    padding: 0;
}
.woocommerce .form-row {
    display: block;
}
.woocommerce .woocommerce-loop-product__title {
    background-color: transparent;
}
.woocommerce div.product .product_title {
    font-size: large;
}
.woocommerce .ttl_h1 {
    padding-bottom: 0;
}
.woocommerce a.remove {
    padding: 0 !important;
}
.woocommerce .sidebar a.remove,
.woocommerce-page .sidebar a.remove {
    margin-top: .25em !important;
}
.woocommerce .product_meta .posted_in,
.woocommerce .product_meta .tagged_as {
    display: block;
}

/* ------------------------------------
// @media
------------------------------------ */
/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .list_big .post_links .post_thumb span {
        height: 193px;
    }
}
/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .list_big .post_links .post_thumb span {
        height: 140px;
    }
    .follow .share a {
        font-size: 1em;
    }
}
/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .logo.fixed-top-custom {
        position: fixed;
        left: 1rem;
        z-index: 1040;
        top: 1rem;
        font-size: small;
    }
    .logo.fixed-top-custom img {
        height: 1.5rem !important;
    }
    .headline .com {
        text-align: left;
        margin-top: .5rem;
    }
    .headline .com_tel {
        font-size: small;
    }
    .headline .com_name, .headline .com_open {
        font-size: x-small;
    }
    .navbar-nav {
        width: 100%;
    }
    .navbar li {
        display: none;
    }
    .head-open .wrapper {
        height: 100vh;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .head-open .navbar li {
        display: block;
    }
    .nav .sub-menu, .nav .sub-menu .sub-menu {
        position: static;
        border: 0 none;
    }
    .nav .dropdown-toggle {
        position: relative;
    }
    .nav .dropdown-toggle:after {
        position: absolute;
        right: .25rem;
        top: 45%;
    }
    .nav .sub-menu .dropdown-toggle:after {
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
        -o-transform: none;
        -ms-transform: none;
    }
    .nav .open > .dropdown-toggle:after {
        transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
    }
    .navbar-nav li, .navbar-nav li a {
        border-left: 0 none !important;
        border-right: 0 none !important;
    }
    .navbar-nav > .nav-item:last-child:not(.sticky-none) {
        margin-left: initial;
    }
    .navbar-fixed-top-custom {
        padding: 3.5rem .5rem 0 .5rem !important;
    }
}
/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .list .post_links {
        margin-bottom: .5rem;
    }
    .list .list-text {
        padding: 0 0 0 .5rem;
    }
    .list .post_time, .list .post_cat {
        font-size: x-small;
    }
    .list .post_ttl {
        font-size: small;
    }
    .list .post_links .post_thumb {
        background-size: 170% auto;
        -webkit-background-size: 170% auto;
        -moz-background-size: 170% auto;
        -o-background-size: 170% auto;
        -ms-background-size: 170% auto;
    }
    .list .post_links .post_thumb span {
        width: 80px;
        height: 80px;
    }
    .list_big .post_links .post_thumb {
        background-size: 100% auto;
        -webkit-background-size: 100% auto;
        -moz-background-size: 100% auto;
        -o-background-size: 100% auto;
        -ms-background-size: 100% auto;
    }
    .list_big .post_links .post_thumb span {
        width: 100%;
        height: 120px;
    }
    .alignright {
        float: none;
        margin-left: 0;
        margin-bottom: 0;
    }
    .alignleft {
        float: none;
        margin-right: 0;
        margin-bottom: 0;
    }
    .navbar-nav a {
        border-left: 0 none !important;
        border-right: 0 none !important;
    }
    .navbar {
        padding: 0 1rem;
    }
    .navbar .menu-item {
        float: none !important;
    }
    .navbar .menu-item a {
        border-bottom: 1px solid rgba(119, 119, 119, 0.1);
        padding: .5rem;
    }
    .navbar .sub-menu {
        padding-left: 1rem;
    }
    .cover_overlay {
        align-items: start;
        padding-top: 1rem;
    }
    .cover_ttl {
        font-size: large;
    }
    .cover_lead {
        font-size: small;
    }
    .cover_btn {
        font-size: small;
        padding: .5rem;
    }
    .main h3 {
        font-size: large;
    }
    .thumbnail_top {
        max-width: 100vw;
        width: 100vw;
        margin: -2rem -15px 1rem -15px;
    }
    .breadcrumb {
        font-size: small;
    }
    .share a {
        font-size: x-small;
        padding: .5em .7em;
    }
    h1 {
        font-size: 1.6rem;
    }
    h2, h3 {
        font-size: 1.4rem;
    }
    h4 {
        font-size: 1.3rem;
    }
    .hero, .hero_img {
        height: 60px;
        line-height: 60px;
    }
    .lang {
        margin-bottom: .5rem;
    }
    .map iframe {
        height: 250px;
    }
}

/* Cinematic Overlap Storytelling (v2 Refined) */
.story-chapter-overlap {
    position: relative;
    padding: 8rem 0; /* Reverted to tighter 8rem for better feel */
    min-height: 70vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.chapter-bg-overlap {
    position: absolute;
    top: 0;
    width: 65%; /* Covers more than half for overlap effect */
    height: 100%;
    z-index: 1;
}

.story-chapter-overlap[data-align="left"] .chapter-bg-overlap { left: 0; }
.story-chapter-overlap[data-align="right"] .chapter-bg-overlap { right: 0; }

.chapter-bg-overlap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.95); /* Slightly brighter than before */
    transition: transform 1.5s var(--uzume-easing);
}

.story-chapter-overlap:hover .chapter-bg-overlap img {
    transform: scale(1.08);
}

.glass-text-box {
    position: relative;
    z-index: 10;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    padding: 5rem 4rem;
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: var(--uzume-shadow-hard);
    max-width: 650px;
}

.story-chapter-overlap[data-align="left"] .glass-text-box { margin-left: auto; margin-right: 0; }
.story-chapter-overlap[data-align="right"] .glass-text-box { margin-left: 0; margin-right: auto; }

.story-chapter:nth-child(even) {
    background-color: #fcfcfc;
}
.accent-line {
    width: 40px;
    height: 3px;
    background: var(--uzume-primary);
    margin-bottom: 2rem;
}

/* Spacing Optimization for In-between Blocks */
.story-chapter, .story-chapter-overlap {
    border-bottom: none !important; /* Remove separator lines for seamless look */
}

.in-between-blocks {
    padding: 4rem 0 !important; /* Significantly tighter padding for blocks */
}

/* Adjust paddings when sections are stacked */
.story-chapter + .in-between-blocks,
.story-chapter-overlap + .in-between-blocks {
    padding-top: 0 !important; /* Remove top padding if it follows a chapter */
}

.in-between-blocks + .story-chapter,
.in-between-blocks + .story-chapter-overlap {
    padding-top: 4rem !important; /* Reduce padding for the following chapter */
}

@media (max-width: 991px) {
    .in-between-blocks {
        padding: 2rem 0 !important;
    }
    .in-between-blocks + .story-chapter,
    .in-between-blocks + .story-chapter-overlap {
        padding-top: 2rem !important;
    }

    .story-chapter-overlap {
        padding: 0;
        min-height: auto;
        display: block;
    }
    
    .chapter-bg-overlap {
        position: relative;
        width: 100%;
        height: 60vw;
        opacity: 1 !important;
    }

    .story-chapter-overlap[data-align="left"] .chapter-bg-overlap,
    .story-chapter-overlap[data-align="right"] .chapter-bg-overlap {
        left: 0;
        right: 0;
    }

    .glass-text-box {
        padding: 3rem 1.5rem;
        margin: -4rem 1rem 4rem 1rem !important;
        max-width: calc(100% - 2rem);
        background: #fff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        border-radius: 20px;
        box-shadow: var(--uzume-shadow-soft);
        z-index: 20;
    }
    
    .chapter-bg-full {
        height: 50vh !important;
        opacity: 0.3 !important;
    }
}

/* Company Information Block Styling */
.uzume-company-info {
    max-width: 900px;
    margin: 4rem auto;
    border-top: 1px solid #eee;
}

.info-row {
    display: flex;
    padding: 2rem 0;
    border-bottom: 1px solid #eee;
    align-items: flex-start;
}

.info-label {
    width: 200px;
    font-weight: 700;
    color: var(--uzume-primary);
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    flex-shrink: 0;
}

.info-value {
    flex-grow: 1;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
}

.business-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.business-item {
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.officer-item {
    margin-bottom: 0.5rem;
}

.officer-item span {
    display: inline-block;
    width: 120px;
    font-size: 0.85rem;
    color: #888;
}

@media (max-width: 767px) {
    .info-row {
        flex-direction: column;
        padding: 1.5rem 0;
    }
    
    .info-label {
        width: 100%;
        margin-bottom: 0.8rem;
        font-size: 0.8rem;
    }
    
    .info-value {
        width: 100%;
        font-size: 1rem;
    }
    
    .officer-item span {
        width: auto;
        margin-right: 1rem;
    }
}

/* ------------------------------------
Uzume News Catalog List Design
------------------------------------ */
.uzume-news-list-item {
    margin-bottom: 2rem;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 2rem;
    transition: all 0.3s var(--uzume-easing);
}

.uzume-news-list-item .news-link-wrap {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: inherit;
}

.uzume-news-list-item .news-thumb {
    width: 200px;
    height: 120px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    margin-right: 2.5rem;
    background: #f8f9fa;
    box-shadow: var(--uzume-shadow-soft);
    transition: transform 0.4s var(--uzume-easing);
    display: block;
}

.uzume-news-list-item .news-cat.badge-uzume {
    transition: background 0.3s ease;
}

.uzume-news-list-item .news-cat.badge-uzume:hover {
    background: var(--uzume-secondary);
    color: #fff;
    text-decoration: none;
}

.uzume-news-list-item .news-tag {
    transition: opacity 0.3s ease;
    text-decoration: none;
}

.uzume-news-list-item .news-tag:hover {
    opacity: 1;
    color: var(--uzume-secondary);
}

.uzume-news-list-item .news-title-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.uzume-news-list-item .news-title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease;
}

.uzume-news-list-item:hover .news-title {
    color: var(--uzume-primary);
}

.uzume-news-list-item .news-excerpt {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.5s var(--uzume-easing);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.uzume-news-list-item:hover .news-excerpt {
    max-height: 3.2em; /* Approximately 2 lines */
    opacity: 1;
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .uzume-news-list-item .news-link-wrap {
        align-items: center;
    }
    .uzume-news-list-item .news-thumb {
        width: 80px;
        height: 80px;
        margin-right: 1.2rem;
        margin-bottom: 0;
    }
    .uzume-news-list-item .news-title {
        font-size: 1.1rem;
        line-height: 1.4;
    }
    .uzume-news-list-item .news-meta {
        margin-bottom: 0.3rem;
    }
    .uzume-news-list-item .news-excerpt {
        display: none; /* Hide excerpt on mobile for extra compactness */
    }
}

/* ------------------------------------
Single Post Header Interactivity
------------------------------------ */
.badge-uzume-link {
    background: var(--uzume-primary);
    color: #fff;
    font-size: 0.7rem;
    padding: 3px 12px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s var(--uzume-easing);
    display: inline-block;
}

.badge-uzume-link:hover {
    background: var(--uzume-secondary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 229, 255, 0.3);
    text-decoration: none;
}

.news-tag-link {
    font-size: 0.8rem;
    color: #999;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-left: 10px;
    display: inline-block;
}

.news-tag-link:hover {
    color: var(--uzume-primary);
    transform: scale(1.05);
    text-decoration: none;
}

.news-single-header .entry-title {
    color: var(--uzume-text);
}

@media (max-width: 768px) {
    .news-meta {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 10px;
    }
    .news-tags-minimal {
        margin-top: 5px;
    }
    .news-tag-link {
        margin-left: 0;
        margin-right: 10px;
    }
}

/* Mini Popup Styling */
.uzume-mini-popup {
    position: fixed;
    top: 100px;
    right: 20px;
    width: 280px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    transform: translateX(120%);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.uzume-mini-popup.is-visible {
    transform: translateX(0);
}

.popup-close-btn {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #999;
    transition: color 0.3s ease;
}

.popup-close-btn:hover {
    color: var(--uzume-primary);
}

.popup-content {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #333;
    font-weight: 500;
}

.popup-content a {
    color: inherit;
    text-decoration: none;
    display: block;
}

.popup-content a:hover {
    color: var(--uzume-primary);
}

@media (max-width: 767px) {
    .uzume-mini-popup {
        width: calc(100% - 40px);
        top: auto;
        bottom: 20px;
        right: 20px;
    }
}

/* Mobile Typography Optimization for Works */
@media (max-width: 767px) {
    .single-work-page .display-3 {
        font-size: 2.5rem !important;
        line-height: 1.2;
    }
    
    .archive-works-page .display-4 {
        font-size: 2.2rem !important;
    }
    
    .work-meta-card {
        padding: 2rem !important;
    }
}

/* Front Page News Mobile Refinement */
@media (max-width: 767px) {
    .latest-news-minimal .cinematic-news-item .excerpt {
        display: none !important;
    }
    .latest-news-minimal .cinematic-news-item {
        margin-bottom: 2rem !important;
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #eee;
    }
    .latest-news-minimal .cinematic-news-item h3 {
        font-size: 1.1rem;
        line-height: 1.4;
    }
}

/* Mobile Body Text Optimization for Posts and Works */
@media (max-width: 767px) {
    .single-work-page .detail_text,
    .single-post-page .detail_text {
        font-size: 1rem !important; /* Standard base size for mobile */
        line-height: 1.8 !important;
    }
    
    .single-work-page .detail_text .post_body,
    .single-post-page .detail_text .post_body {
        font-size: 1rem !important;
    }
    
    .single-post-page .entry-title {
        font-size: 2rem !important; /* Also shrink post title a bit */
    }
    
    .single-work-page .work-article header h1 {
        font-size: 2.2rem !important;
    }
}
