/*
Theme Name: Inspiro Child
Theme URI: https://www.wpzoom.com/themes/inspiro/
Template: inspiro
Author: WPZOOM
Author URI: https://www.wpzoom.com/
Description: Inspiro is a versatile, ultra-lightweight WordPress theme ideal for small businesses, creative professionals, and visual portfolios. Combining modern aesthetics with lightning-fast performance, it enhances user experience and boosts SEO rankings. Get started instantly with 10+ beautiful starter sites crafted for specific business niches, letting you launch your website quickly. Inspiro features unique fullscreen video backgrounds supporting Vimeo, YouTube, and self-hosted videos, perfect for photography and multimedia projects. It integrates seamlessly with popular page builders (Elementor, Beaver Builder) and WooCommerce, making it effortless to create any type of site, from business and agency websites to online shops and blogs. Fully responsive, GDPR-compliant, and privacy-focused (no external Google fonts), Inspiro looks perfect on every device. Explore more powerful features in our Premium version: https://www.wpzoom.com/themes/inspiro/
Tags: one-column,two-columns,right-sidebar,flexible-header,custom-colors,custom-header,custom-menu,custom-logo,editor-style,featured-images,footer-widgets,post-formats,rtl-language-support,sticky-post,threaded-comments,translation-ready,e-commerce,wide-blocks,portfolio,blog,custom-background,featured-image-header,full-width-template,theme-options,block-styles,block-patterns
Version: 2.1.11.1771827845
Updated: 2026-02-23 15:24:05

*/


.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
}

/* ナビゲーション ハンバーガーメニューフォントサイズ */

#side-nav .widget_nav_menu .menu li a {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 2.3 !important;
    letter-spacing: 0.08em !important;
    padding: 10px 0 !important;
}

/* 通常・訪問済みは白 */
#side-nav .widget_nav_menu .menu li a,
#side-nav .widget_nav_menu .menu li a:visited {
    color: #ffffff;
}

/* ホバー時のみグレー */
#side-nav .widget_nav_menu .menu li a:hover {
    color: #777777;
}

/* =========================
   Side Nav - Subtle Underline
========================= */

#side-nav .widget_nav_menu .menu li a {
    position: relative; /* 下線用 */
    text-decoration: none;
}

#side-nav .widget_nav_menu .menu li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px; /* 文字との距離調整 */
    width: 100%;
    height: 1px;
    background-color: rgba(255,255,255,0.25);
    transition: background-color 0.3s ease;
}

/* ホバー時は少しだけ濃く */
#side-nav .widget_nav_menu .menu li a:hover::after {
    background-color: rgba(255,255,255,0.5);
}

/* リンクをブロック化して横幅いっぱいに */
#side-nav .widget_nav_menu .menu li a {
    display: block;
}

/* 下線をメニュー幅いっぱいに */
#side-nav .widget_nav_menu .menu li a::after {
    left: 0;
    width: 100%;
}

/* =========================
   Side Nav - Category Heading
========================= */

#side-nav .menu-item a[href="#"] {
    pointer-events: none;
    cursor: default;
    opacity: 0.6;
    letter-spacing: 0.15em;
    font-size: 14px !important;
    margin-top: 35px;   /* ← ここで余白調整 */
    display: block;
}

/* =============================
   商品画像サイズ調整
============================= */

.product-gallery {
  display: block;
  max-width: 600px;
}

.main-image img {
  width: 100%;
  height: auto;
  display: block;
}

.thumbnail-images {
  display: flex;
  gap: 10px;
  margin-top: 15px;
  flex-wrap: wrap;
}

.thumbnail-images img {
  width: 80px;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}

.thumbnail-images img:hover {
  opacity: 1;
}

/* =============================
   デスクトップ２カラム指示　Product 2 Column Layout
============================= */

.product-wrapper {
  display: flex;
  gap: 80px;
  max-width: 1200px;
  margin: 60px auto;
}

.product-left {
  flex: 1;
}

.product-right {
  flex: 1;
}

.product-title {
  font-size: 14px;
  margin-bottom: 15px;
}

.product-price {
  font-size: 20px;
  margin: 20px 0;
}

.product-description {
  margin-bottom: 30px;
  line-height: 1.8;
}

.product-spec {
  border-top: 0px solid #ddd;
  padding-top: 20px;
  line-height: 1.8;
}

/* =============================
  スマホ対応　全体指令
============================= */
@media (max-width: 768px) {
  .product-wrapper {
    flex-direction: column;
    gap: 40px;
  }
}

/* =============================
   パンくずリスト Breadcrumb
============================= */

.breadcrumb {
  font-size: 14px;
  margin: 30px auto 20px;
  max-width: 1200px;
  color: #777;
}

.breadcrumb a {
  text-decoration: none;
  color: #777;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb span {
  margin: 0 5px;
}


/* =============================
   Price Design
============================= */

.product-price-block {
  margin: 30px 0;
  padding: 20px 0;
  border-top: none;
  border-bottom: none;
}

.price-label {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  color: #888;
  margin-bottom: 8px;
}

.price-value {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 1px;
}

.price-tax {
  font-size: 14px;
  color: #ffffff;
  margin-left: 8px;
  letter-spacing: 0.05em;
}

/* =============================
   商品情報の間隔
============================= */

.product-title {
  margin-bottom: 14px;
}

.product-number {
  margin-bottom: 10px;
}

.product_comment {
  margin: 10px 0 20px;
  padding: 24px 0;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}

.product-spec {
  margin-top: 30px;
}

/* =========================
   SP Product Spacing (Stable)
========================= */

@media only screen and (max-width: 768px) {

  .product-right {
    display: block !important;
  }

  .product-right > * {
    margin-bottom: 20px !important;
  }

  .product-right > *:last-child {
    margin-bottom: 0 !important;
  }

}

/* ======================================
   SP 商品ページ左右余白（確実版）
====================================== */
@media only screen and (max-width: 768px) {

  .product-wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }

  .product_comment {
    padding: 18px 0 !important;
    line-height: 1.7;
  }

.product-inquiry-btn {
  margin: 20px 0 10px;
 }

}

/* =============================
   商品の問い合わせボタンのカスタマイズ
============================= */

.product-right .product-inquiry-btn,
.product-right .product-inquiry-btn:visited {
  display: block;
  text-align: center;
  background: #000;
  color: #f2f2f2 !important;
  padding: 16px 20px;
  margin: 30px 0;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.08em;
  border: 1px solid #000;
  transition: 0.3s ease;
}

.product-right .product-inquiry-btn:hover {
  background: #fff;
  color: #000 !important;
}

/* =============================
   SNS Share Button (SVG) SNSボタンのカスタマイズ
============================= */

.product-share {
  margin-top: 40px;
}

.share-title {
  font-size: 12px;
  letter-spacing: 0.2em;
  margin-bottom: 15px;
  color: #888;
}

.share-buttons {
  display: flex;
  gap: 12px;
}

.share-btn {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 42px;
  height: 42px;

  background-color: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;

  text-decoration: none !important;
  box-sizing: border-box;

  transition: background-color 0.3s ease, color 0.3s ease;
}

.share-btn:hover {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* =============================
  商品カテゴリに子階層表示
============================= */
.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.product-item img {
    width: 100%;
    height: auto;
}

.product-grid .product-title {
    font-size: 14px;
    margin-top: 10px;
}

.product-price {
    font-size: 13px;
    margin-top: 5px;
}

.child-category-list {
    margin-top: 30px;
    margin-bottom: 70px;
}

.child-category-items {
    display: flex;
    gap: 20px;
    list-style: none;
    padding: 0;
}

.child-category-items a {
    border: 1px solid #000;
    padding: 8px 14px;
    text-decoration: none;
    font-size: 13px;
}

.child-category-items a:hover {
    background: #000;
    color: #fff;
}

/* 子カテゴリ左揃え調整 */
.child-category-items {
    margin: 0;
    padding: 0;
}

.child-category-list {
    margin-left: 0;
}

/* タブレット以下 */
@media (max-width: 1024px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
}

/* スマホ */
@media (max-width: 600px) {
    .product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* カテゴリアーカイブ全体の幅制御 */
.product-archive {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 60px;
}

/* カテゴリタイトルサイズ調整 */
.archive-title {
    font-size: 22px;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
}

/* カテゴリページでは価格を非表示 */
.product-archive .product-price {
    display: none;
}

/* =============================
   子カテゴリボタン 強制カラー指定
============================= */

.child-category-items a,
.child-category-items a:visited {
    background-color: #777777 !important; /* グレー */
    color: #ffffff !important;            /* 白文字 */
    border: 1px solid #777777 !important;
}

.child-category-items a:hover {
    background-color: #555555 !important; /* 少し濃いグレー */
    color: #ffffff !important;
    border-color: #555555 !important;
}

/* =============================
   Front Page Pick Up　トップページpick up
============================= */

.front-custom-section {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}

.front-title {
    font-size: 22px;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

.front-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.front-product-item img {
    width: 100%;
    height: auto;
}

.front-product-item h3 {
    font-size: 14px;
    margin-top: 10px;
}

/* タブレット */
@media (max-width: 1024px) {
    .front-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホ */
@media (max-width: 600px) {
    .front-product-grid {
        grid-template-columns: 1fr;
    }
}

/* =============================
   Front Pick Up - SP Title Adjust
============================= */
@media (max-width: 600px) {

    .front-title {
        font-size: 18px;
        margin-bottom: 25px;
    }

    .front-product-item h3 {
        font-size: 15px;
        line-height: 1.5;
    }

}

/* =============================
   Front Brand Section トップ下部ブランド説明
============================= */

.front-brand-section {
    background: transparent;
    padding: 60px 60px;
    margin-top: 100px;
}

.front-brand-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.front-brand-title {
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 40px;
	margin-top: 100px;
}

.front-brand-text {
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.05em;
}

/* スマホ */
@media (max-width: 600px) {
    .front-brand-section {
        padding: 40px 20px;
        margin-top: 40px;
    }

    .front-brand-title {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .front-brand-text {
        font-size: 14px;
        line-height: 1.8;
    }
}

/* =============================
   Front Brand Title Adjust ノーブルアヴァンチュリエのタイトル整え
============================= */

.front-brand-title {
    font-size: 26px;
    letter-spacing: 0.15em;
    margin-bottom: 40px;
}

@media (max-width: 600px) {
    .front-brand-title {
        font-size: 20px;
    }
}

/* =============================
   Front Pick Up Title Line Adjust
============================= */

.front-title {
    position: relative;
    display: block;
    padding-bottom: 18px;
}

.front-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #ffffff;
}

/* =============================
   フロントページ透過
============================= */

/* Front Brand Section 背景透過 */
.front-brand-section {
    background: transparent !important;
}

/* PICK UP セクション背景透過 */
.home .wp-block-group,
.home section {
    background: transparent !important;
}

@media (max-width: 768px) {

    .front-brand-section,
    .home .wp-block-group,
    .home section {
        background: transparent !important;
    }

}

/* =============================
   NEWS Page Design お知らせページデザイン
============================= */

.blog .site-content,
.archive .site-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 20px;
}

/* タイトル */
.blog .page-title,
.archive .page-title {
    font-size: 26px;
    letter-spacing: 0.15em;
    margin-bottom: 60px;
    text-align: center;
}

/* 記事タイトル */
.blog .entry-title a,
.archive .entry-title a {
    font-size: 18px;
    letter-spacing: 0.08em;
    text-decoration: none;
}

/* 日付 */
.blog .entry-meta,
.archive .entry-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 15px;
}

/* 各記事の区切り */
.blog article,
.archive article {
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

/* =============================
   Single Post Design お知らせ投稿調整
============================= */

.single-post .site-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 100px 20px;
}

.single-post .entry-title {
    font-size: 28px;
    letter-spacing: 0.12em;
    margin-bottom: 30px;
    text-align: center;
}

.single-post .entry-meta {
    text-align: center;
    font-size: 13px;
    color: #888;
    margin-bottom: 60px;
}

.single-post .entry-content {
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.05em;
}

/* =============================
   Single Post - Remove Author お知らせ投稿調整アバター削除
============================= */

.single .author,
.single .author-avatar,
.single .post-author,
.single .entry-author,
.single .byline {
    display: none !important;
}

/* =============================
   News Archive Minimal
============================= */

.blog .post,
.archive .post {
    border-bottom: 1px solid #e8e8e8;
    padding: 40px 0;
}

.blog .post-thumbnail,
.archive .post-thumbnail,
.blog .entry-summary,
.archive .entry-summary,
.blog .author,
.archive .author {
    display: none !important;
}

.blog .entry-title,
.archive .entry-title {
    font-size: 18px;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.blog .entry-meta,
.archive .entry-meta {
    font-size: 12px;
    color: #888;
    margin-bottom: 0;
}

/* =============================
   Product Category Image Size カテゴリ画像サイズ調整
============================= */

.product-archive .product-grid {
    gap: 28px; /* 余白を少し縮める */
}

.product-archive .product-item img {
    width: 100%;
    transform: scale(1.08); /* 画像を少し拡大 */
    transition: transform 0.3s ease;
}

.product-archive .product-item img:hover {
    transform: scale(1.12);
}

/* 商品ページタイトル（PCのみ小さく） */
@media (min-width: 769px) {
  .single-product .product_title {
    font-size: 20px;
    line-height: 1.4;
  }
}

/* =============================
   Tablet Layout Adjustments
============================= */
@media (min-width: 768px) and (max-width: 1024px) {

    /* 商品ページ左右余白 */
    .product-wrapper {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }

    /* 商品カテゴリ グリッド間隔 */
    .product-archive .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px !important; /* タブレット専用の間隔 */
    }

}