@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================
   ユキソラBlog — ブルー基調テーマ
   SWELL上書き用に !important 付与
   ============================================ */

/* --- CSS変数の上書き --- */
:root {
  --color_main: #4a90c4 !important;
  --color_main_thin: rgba(74, 144, 196, 0.05) !important;
  --color_main_dark: #2c6fa0 !important;
  --color_htag: #4a90c4 !important;
  --color_header_bg: #ffffff !important;
  --color_header_text: #3a3a3a !important;
  --color_footer_bg: #4a90c4 !important;
  --color_footer_text: #ffffff !important;
  --color_bg: #f5f7fa !important;
}

/* --- 全体 --- */
body {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif !important;
  background: #f5f7fa !important;
  color: #3a3a3a !important;
  -webkit-font-smoothing: antialiased;
}

/* --- ヘッダー --- */
.l-header {
  background: #fff !important;
  border-bottom: 1px solid #e0e6ed !important;
  box-shadow: none !important;
}

/* ロゴ */
.l-header .c-headLogo a,
.l-header .c-headLogo,
.l-header .c-headLogo img + span,
#body_wrap .c-headLogo a {
  color: #4a90c4 !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
}

/* ヘッダーバー（キャッチフレーズ帯） */
.l-header__bar {
  background: #4a90c4 !important;
  color: #fff !important;
}

/* グローバルナビ */
#body_wrap .c-gnav > li > a {
  color: #3a3a3a !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px;
}
#body_wrap .c-gnav > li > a:hover {
  color: #4a90c4 !important;
}
#body_wrap .c-gnav > li > a::after {
  background: #4a90c4 !important;
}

/* --- フッター --- */
#body_wrap .l-footer,
.l-footer {
  background: #4a90c4 !important;
  color: rgba(255,255,255,0.9) !important;
}
#body_wrap .l-footer a,
.l-footer a {
  color: #fff !important;
}
.l-footer .copyright,
.l-footer .c-widget__title {
  color: #fff !important;
}

/* --- トップのコンテンツ上部余白 --- */
.top #content,
.home #content {
  padding-top: 2em !important;
}

/* ============================================
   カテゴリーカード 2x2 グリッド
   ============================================ */
.yk-category-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 40px !important;
}

.yk-catcard {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 12px rgba(74, 144, 196, 0.12) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  text-decoration: none !important;
}

.yk-catcard:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 6px 24px rgba(74, 144, 196, 0.2) !important;
}

.yk-catcard__bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform 0.4s !important;
}

.yk-catcard:hover .yk-catcard__bg {
  transform: scale(1.05) !important;
}

.yk-catcard__overlay {
  position: absolute !important;
  inset: 0 !important;
}

.yk-catcard--1 .yk-catcard__overlay {
  background: linear-gradient(135deg, rgba(44, 111, 160, 0.75), rgba(74, 144, 196, 0.6)) !important;
}
.yk-catcard--2 .yk-catcard__overlay {
  background: linear-gradient(135deg, rgba(86, 165, 213, 0.75), rgba(123, 184, 224, 0.6)) !important;
}
.yk-catcard--3 .yk-catcard__overlay {
  background: linear-gradient(135deg, rgba(74, 144, 196, 0.75), rgba(150, 200, 230, 0.6)) !important;
}
.yk-catcard--4 .yk-catcard__overlay {
  background: linear-gradient(135deg, rgba(44, 130, 180, 0.75), rgba(100, 175, 220, 0.6)) !important;
}

.yk-catcard__content {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  color: #fff !important;
}

.yk-catcard__content h3 {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  letter-spacing: 1px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: none !important;
  border: none !important;
}
.yk-catcard__content h3::before,
.yk-catcard__content h3::after {
  display: none !important;
}

.yk-catcard__content p {
  font-size: 11px !important;
  margin-top: 4px !important;
  opacity: 0.9;
  letter-spacing: 1.5px !important;
  color: #fff !important;
}

/* ============================================
   セクションタイトル
   ============================================ */
.yk-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #4a90c4 !important;
  background: none !important;
  padding: 0 !important;
  border: none !important;
}
.yk-section-title::before {
  content: '' !important;
  display: block !important;
  width: 4px !important;
  height: 24px !important;
  background: linear-gradient(to bottom, #4a90c4, #7bb8e0) !important;
  border-radius: 2px !important;
  position: static !important;
  border: none !important;
  top: auto !important;
  left: auto !important;
}
.yk-section-title::after {
  display: none !important;
}

/* ============================================
   おすすめ記事リスト
   ============================================ */
.yk-article-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.yk-article-card {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(74, 144, 196, 0.12) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.yk-article-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(74, 144, 196, 0.2) !important;
}

.yk-article-card__link {
  display: flex !important;
  gap: 16px !important;
  text-decoration: none !important;
  color: #3a3a3a !important;
}

.yk-article-card__thumb {
  width: 180px !important;
  min-height: 120px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  background: #d4e9f7 !important;
}

.yk-article-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.yk-article-card__thumb--noimg {
  background: linear-gradient(135deg, #d4e9f7, #7bb8e0) !important;
}

.yk-article-card__info {
  padding: 14px 16px 14px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.yk-article-card__cat {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: #fff !important;
  background: #4a90c4 !important;
  padding: 2px 10px !important;
  border-radius: 10px !important;
  margin-bottom: 6px !important;
  align-self: flex-start !important;
  line-height: 1.6 !important;
}

.yk-article-card__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: #3a3a3a !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  background: none !important;
  border: none !important;
}
.yk-article-card__title::before,
.yk-article-card__title::after {
  display: none !important;
}

.yk-article-card__date {
  font-size: 11px !important;
  color: #6b6b6b !important;
  margin-top: 6px !important;
}

/* ============================================
   サイドバー
   ============================================ */
#sidebar .c-widget,
#sidebar .widget_block {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(74, 144, 196, 0.12) !important;
  overflow: hidden !important;
}

/* ウィジェットタイトル */
#sidebar .c-widget__title.-side {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #4a90c4 !important;
  padding: 10px 16px !important;
  text-align: center !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
  border: none !important;
}
#sidebar .c-widget__title.-side::before,
#sidebar .c-widget__title.-side::after {
  display: none !important;
}

/* プロフィールウィジェット */
#sidebar .p-profileBox {
  background: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(74, 144, 196, 0.12) !important;
}

.p-profileBox__img img {
  border: 3px solid #d4e9f7 !important;
}

.p-profileBox__name {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

#sidebar .p-profileBox__btn a,
.p-profileBox__btn a {
  background: transparent !important;
  color: #4a90c4 !important;
  border: 1.5px solid #4a90c4 !important;
  border-radius: 30px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 24px !important;
  transition: all 0.2s !important;
}

#sidebar .p-profileBox__btn a:hover,
.p-profileBox__btn a:hover {
  background: #4a90c4 !important;
  color: #fff !important;
}

/* 検索ウィジェット */
#sidebar .wp-block-search__button {
  background: #4a90c4 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 6px 6px 0 !important;
  transition: background 0.2s !important;
}
#sidebar .wp-block-search__button:hover {
  background: #2c6fa0 !important;
}
#sidebar .wp-block-search__input {
  border: 1.5px solid #e0e6ed !important;
  border-right: none !important;
  border-radius: 6px 0 0 6px !important;
}
#sidebar .wp-block-search__input:focus {
  border-color: #7bb8e0 !important;
}

/* ランキング */
#sidebar .p-postList.-w-ranking li::before,
.p-postList.-w-ranking li:before {
  background-image: none !important;
}
#sidebar .p-postList.-w-ranking li:nth-child(1)::before { background-color: #d4a843 !important; }
#sidebar .p-postList.-w-ranking li:nth-child(2)::before { background-color: #a0aab5 !important; }
#sidebar .p-postList.-w-ranking li:nth-child(3)::before { background-color: #c08050 !important; }

/* SWELLカテゴリーバッジ */
.c-postThumb__cat {
  background-color: #4a90c4 !important;
}

/* ページネーション */
.c-pagination .c-pagination__link.-current,
[class*="page-numbers"].current {
  background-color: #4a90c4 !important;
  color: #fff !important;
}

/* ============================================
   レスポンシブ
   ============================================ */
@media (max-width: 768px) {
  .yk-category-grid {
    gap: 10px !important;
  }
  .yk-catcard__content h3 {
    font-size: 16px !important;
  }
  .yk-catcard__content p {
    font-size: 9px !important;
  }
  .yk-article-card__thumb {
    width: 120px !important;
    min-height: 90px !important;
  }
  .yk-article-card__title {
    font-size: 13px !important;
  }
}

@media (max-width: 480px) {
  .yk-category-grid {
    gap: 8px !important;
  }
  .yk-catcard__content h3 {
    font-size: 14px !important;
  }
}


/* ============================================
   メインビジュアル — テキスト非表示
   ============================================ */
.p-mainVisual__slideTitle,
.p-mainVisual__slideText {
  display: none !important;
}
.p-mainVisual__slide.c-filterLayer::after {
  display: none !important;
}
.p-mainVisual .c-filterLayer::before {
  opacity: 0 !important;
}

/* ============================================
   キャッチコピー帯（画像とカードの間）
   ============================================ */
.yk-catchband {
  background: linear-gradient(135deg, #4a90c4, #2c6fa0) !important;
  text-align: center !important;
  padding: 18px 20px !important;
  margin: 0 !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
.yk-catchband__text {
  color: #fff !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 768px) {
  .yk-catchband__text {
    font-size: 16px !important;
    letter-spacing: 2px !important;
  }
}
@media (max-width: 480px) {
  .yk-catchband__text {
    font-size: 13px !important;
    letter-spacing: 1px !important;
    white-space: normal !important;
  }
}

/* 記事スライダー非表示 */
#post_slider, .p-postSlider { display: none !important; }


/* RSSアイコン非表示 */
.l-header__bar .c-iconList,
.c-iconList__link[href*="feed"],
.c-iconList .icon-rss { display: none !important; }

