/*
Theme Name: GeneratePress_Urban
Template: generatepress
Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress_Urban is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress_Urban install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress_Urban is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress_Urban is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.6.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options

GeneratePress, Copyright 2014-2025 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL

GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2025 Automattic, Inc.

Actual CSS can be found in /assets/css/ folder.
*/

@import url("../generatepress/style.css");
/* UBML Custom Design (Urban Tech Precision) */
:root {
  --ubml-main: #1A202C; /* Asphalt Charcoal */
  --ubml-accent-cyan: #00D1FF; /* Signal Cyan */
  --ubml-accent-lime: #CCFF00; /* Electric Lime */
  --ubml-base: #F7FAFC; /* Clean Research White */
  --ubml-text: #2D3748; /* Dark Gray */
  --ubml-card: #FFFFFF;
}

body {
  font-family: 'Noto Sans JP', sans-serif !important;
  background-color: var(--ubml-base) !important;
  color: var(--ubml-text) !important;
}

h1, h2, h3, h4, h5, h6, .main-title {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif !important;
}
.pc{display: contents;}
.sp{display: none;}
/* Header */
.site-header {
  background-color: var(--ubml-main) !important;
  border-bottom: 2px solid var(--ubml-accent-cyan);
}
.site-branding .main-title a, .main-navigation .main-nav ul li a, .menu-toggle {
  color: #ffffff !important;
}
.main-navigation .main-nav ul li a:hover {
  color: var(--ubml-accent-cyan) !important;
}
.main-navigation .sub-menu-right {
    margin-top: 15px;
}

.main-navigation .main-nav>ul{
  background: #1A202C;
}
.site-branding-container {
    display: block;
}
/* パンくずリスト */
.bread_box{
    width: 100%;
    padding: 0;
    margin: 0;
}
.bread{
    list-style-type: none;
    font-size: 12px;
    padding: 0;
    margin: 0;
}
.bread li{
    display: inline;
}
.bread li a {
    color: #333;
}

/* Hero Section */
.ubml-hero {
  background: linear-gradient(135deg, rgba(26, 32, 44, 0.9), rgba(26, 32, 44, 0.6)), url('https://images.unsplash.com/photo-1558981403-c5f9899a28bc?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover;
  color: #fff;
  padding: 80px 20px;
  text-align: center;
  border-bottom: 4px solid var(--ubml-accent-lime);
  margin-bottom: 40px;
}
.ubml-hero h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  color: #fff;
}
.ubml-hero p {
  font-size: 1.1rem;
  color: #E2E8F0;
  max-width: 800px;
  margin: 0 auto;
}
.ubml-hero .accent-text {
  color: var(--ubml-accent-cyan);
}

/* Articles (Lab Card Style) */
.inside-article {
  background: var(--ubml-card) !important;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  padding: 0 !important;
  margin-bottom: 30px;
}
.inside-article:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 20px rgba(0, 209, 255, 0.15);
  border-color: var(--ubml-accent-cyan);
}
.post-image {
  position: relative;
  margin-bottom: 0 !important;
}
.post-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.entry-header {
  padding: 25px 25px 10px;
}
.entry-title a {
  color: var(--ubml-main) !important;
  font-weight: 700;
  font-size: 1.4rem;
}
.entry-title a:hover {
  color: var(--ubml-accent-cyan) !important;
}
.entry-meta {
  font-size: 0.85rem;
  color: #718096;
}
.entry-summary {
  padding: 0 25px 20px;
  color: var(--ubml-text);
  font-size: 0.95rem;
  line-height: 1.6;
}
footer.entry-meta {
  padding: 0 25px 25px;
  margin-top: -10px;
}
.cat-links {
  display: inline-block;
  background: var(--ubml-main);
  padding: 4px 10px;
  font-size: 0.8rem;
  border-radius: 4px;
  border-left: 3px solid var(--ubml-accent-cyan);
}
.cat-links a, .cat-links .gp-icon {
  color: #fff !important;
  text-decoration: none;
}
.cat-links a:hover {
    color: var(--ubml-accent-lime) !important;
}
/* single  */
.entry-header {
  padding: 0 40px;
}
.entry-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ubml-main);
  border-bottom: 3px solid var(--ubml-accent-cyan);
  padding-bottom: 15px;
  margin-bottom: 30px;
  margin-top: 10px;
}
.entry-content {
  padding: 0 40px 40px;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--ubml-text);
}
.entry-content h2 {
  font-size: 1.5rem;
  color: var(--ubml-main);
  margin-top: 2.5em;
  margin-bottom: 1.2em;
  padding-left: 15px;
  border-left: 5px solid var(--ubml-accent-lime);
  background: #F1F5F9;
  padding: 12px 15px;
  border-radius: 0 4px 4px 0;
}
.entry-content p {
  margin-bottom: 1.5em;
}
.entry-content a {
  color: var(--accent);
  text-decoration: underline;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.entry-content a:hover {
  border-bottom-color: var(--ubml-accent-cyan);
}
/* page  */
.page .entry-content a{
  color: var(--ubml-text);
}
/* Sidebar */
.sidebar .widget {
  background: var(--ubml-card) !important;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
  padding: 25px !important;
  margin-bottom: 30px;
}
.widget-title {
  border-bottom: 1px solid #E2E8F0;
  padding-bottom: 12px;
  margin-bottom: 20px;
  font-weight: 700;
  color: var(--ubml-main);
  position: relative;
  font-size: 1.2rem;
}
.widget-title::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--ubml-accent-cyan);
}
.widget ul li {
  border-bottom: 1px dashed #E2E8F0;
  padding: 12px 0;
  font-size: 0.95rem;
}
.widget ul li:last-child {
    border-bottom: none;
}
.widget ul li a {
  color: var(--ubml-text);
  text-decoration: none;
  display: flex;
  transition: all 0.2s;
  align-items: center;
}
.widget ul li a::before {
    content: '▶';
    color: var(--ubml-accent-cyan);
    margin-right: 8px;
    font-size: 0.8em;
}
.widget ul li a:hover {
  color: var(--ubml-accent-cyan);
  transform: translateX(5px);
}

/* Footer */
.site-footer {
  background-color: var(--ubml-main) !important;
  color: #A0AEC0 !important;
  border-top: 4px solid var(--ubml-accent-cyan);
}
.site-info {
  background-color: transparent !important;
}
.site-info a {
  color: #A0AEC0;
  text-decoration: none;
}

/* Paging Navigation */
.paging-navigation {
    background: transparent !important;
    border: none;
}
.page-numbers {
    background: var(--ubml-card);
    color: var(--ubml-text);
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: bold;
}
.page-numbers.current, .page-numbers:hover {
    background: var(--ubml-main) !important;
    color: var(--ubml-accent-cyan) !important;
    border-color: var(--ubml-main);
}

@media only screen and (max-width: 480px){
  .pc{display: none;}
  .sp{display: block;}
  button.menu-toggle:hover{background: #1A202C !important;}
  .main-navigation .menu-toggle{
    background: #1A202C;
  }
  .entry-header{
    padding: 0 20px;
  }
  .entry-title{
    font-size: 1.5rem;
  }
  .entry-content{
    padding: 0 20px 40px;
  }
  .bread{
    overflow: scroll;
    white-space: nowrap;
  }
  .bread_box{
    padding: 0 0 0 10px;
  }
}
