@charset "UTF-8";

/*!
 * 旧サイトの雰囲気を Cocoon 上に重ねるオーバーレイCSS
 *
 * 画像は子テーマ直下の img/, customimg/ を参照（legacy-overlay.css からの相対パス）
 * ロゴ等のURLが必要な場合は functions.php の kaneda_legacy_asset_url() を使用
 *
 * データ側の設定（手動）:
 *   - Cocoon: キーカラー #3F75BE / サイドバー左
 *   - ロゴ画像: customimg/headname.jpg（Cocoon管理画面または kaneda_legacy_asset_url）
 *   - サイドバー: id="sideaddress" または class="legacy-sideaddress"
 *   - サイドバー: メニューウィジェットに class="legacy-mainnavi"
 *   - トップ固定ページ末尾: class="legacy-top-news" で [new_list count=5 date=1] を囲む
 */

/* --------------------------------------------------------------------------
   画像アセット（子テーマ img/, customimg/）
   -------------------------------------------------------------------------- */
:root {
  --legacy-img-headupper: url("customimg/headupper.jpg");
  --legacy-img-headbg: url("img/headbg.jpg");
  --legacy-img-bodybg: url("img/bodybg.jpg");
  --legacy-img-h2point: url("customimg/h2point.gif");
  --legacy-img-h3: url("customimg/h3.png");
  --legacy-img-h4point: url("customimg/h4point.jpg");
  --legacy-img-mainnavi-off: url("customimg/mainnavi_off.gif");
  --legacy-img-mainnavi-on: url("customimg/mainnavi_on.gif");
  --legacy-img-corecolor: url("customimg/corecolor.jpg");
  --legacy-img-topmainbg: url("img/topmainbg.jpg");
  --legacy-img-topmainbgwaku: url("img/topmainbgwaku.jpg");
  --legacy-img-dticon: url("customimg/dticon.png");
}

/* --------------------------------------------------------------------------
   トークン（色・フォント）
   -------------------------------------------------------------------------- */
body.kaneda-legacy {
  --legacy-key-color: #3f75be;
  --legacy-text-color: #333;
  --legacy-link-color: #0066cc;
  --legacy-link-hover: #ff9900;
  --legacy-panel-bg: #f9f7f1;
  --legacy-panel-border: #f0efeb;
  --legacy-sideaddress-bg: #f5f8fc;
}

body.kaneda-legacy {
  color: var(--legacy-text-color);
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "ＭＳ ゴシック", "Osaka－等幅", sans-serif, Verdana, Arial;
}

body.kaneda-legacy {
  --cocoon-key-color: var(--legacy-key-color);
  --cocoon-text-color: var(--legacy-text-color);
  --cocoon-link-color: var(--legacy-link-color);
}

body.kaneda-legacy a {
  color: var(--legacy-link-color);
  text-decoration: none;
}

body.kaneda-legacy a:visited {
  color: var(--legacy-link-color);
  text-decoration: none;
}

body.kaneda-legacy a:hover {
  color: var(--legacy-link-hover);
  text-decoration: underline;
}

body.kaneda-legacy .entry-categories a {
  background-color: var(--legacy-link-color);
  color: #fff;
  text-decoration: none;
}

body.kaneda-legacy .entry-categories a:hover {
  color: #fff;
  opacity: 0.8;
}

body.kaneda-legacy h2 {
  font-size: 1.3em;
  border: none;
  background-color: transparent;
}
body.kaneda-legacy h3 {
  font-size: 1.2em;
  border: none;
  background-color: transparent;
}
body.kaneda-legacy h4 {
  font-size: 1.15em;
  border: none;
  background-color: transparent;
}
body.kaneda-legacy h5 {
  font-size: 1.1em;
  border: none;
}
body.kaneda-legacy h6 {
  font-size: 1em;
  border: none;
}

/* --------------------------------------------------------------------------
   レイアウト幅（PC）
   -------------------------------------------------------------------------- */
@media screen and (min-width: 835px) and (max-width: 1023px) {
  body.kaneda-legacy .main {
    margin: 0 auto;
  }
}
@media screen and (min-width: 835px) {
  body.kaneda-legacy .wrap {
    width: 960px;
    max-width: 100%;
  }

  body.kaneda-legacy .content {
    box-shadow: inset 0 12px 25px -10px rgba(0,0,0,0.10);
    padding-top: 30px;
    margin-top: 0;
  }

  body.kaneda-legacy .main,
  body.kaneda-legacy .sidebar {
    border: none;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
  }

  body.kaneda-legacy .main {
    width: 620px;
    max-width: 620px;
    padding: 0;
    font-size: 1.2em;
    line-height: 1.8;
  }

  body.kaneda-legacy .sidebar {
    width: 300px;
    max-width: 300px;
    padding: 0 0 0 0;
    font-size: 1.2em;
    line-height: 1.7;
  }
}

/* --------------------------------------------------------------------------
   ヘッダー
   -------------------------------------------------------------------------- */
body.kaneda-legacy #header-container {
  background: linear-gradient(to bottom, #fff 0%, #fff 50%, #efefef 100%);
  height: 80px;
}
body.kaneda-legacy .header-container-in.hlt-top-menu .logo-header .site-name {
  margin-top: 4px;
}

body.kaneda-legacy #header-container::before {
  content: "";
  display: block;
  height: 10px;
  background-image: var(--legacy-img-headupper);
  background-repeat: repeat-x;
  background-position: center top;
}

body.kaneda-legacy #header-container .header {
  background: transparent;
  min-height: 80px;
}

body.kaneda-legacy #header-container .header-in.wrap {
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
}

body.kaneda-legacy .logo-image {
  padding: 4px 0 0;
}

body.kaneda-legacy .logo-image .site-logo-image,
body.kaneda-legacy .logo-image img {
  max-height: 60px;
  width: auto;
}

body.kaneda-legacy .tagline {
  flex: 1 1 300px;
  margin: 0;
  padding: 10px 10px;
  text-align: right;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.6;
  color: var(--legacy-key-color);
}
@media screen and (max-width: 834px) {
  body.kaneda-legacy #header-container {
    height: 90px;
  }
  body.kaneda-legacy #header-container .header-in.wrap {
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: flex-start;
  }
  body.kaneda-legacy .logo-image .site-logo-image,
  body.kaneda-legacy .logo-image img {
      max-height: 50px;
    }
  body.kaneda-legacy .tagline {
    padding: 3px 0;
    font-size: 9px;
    line-height: 1.2;
    flex: 0 0 auto;
    text-align: center;
  }
}
/* グローバルナビ（ヘッダー直下） */
@media screen and (min-width: 835px) {
  body.kaneda-legacy .navi-in > ul > li > a {
    color: var(--legacy-key-color);
  }
}

/* --------------------------------------------------------------------------
   メインビジュアル / ページタイトル（#tommainimgbg）
   -------------------------------------------------------------------------- */

body.kaneda-legacy #tommainimgbg.tommainimgbg--mv {
  background-color: var(--legacy-panel-bg);
  background-image: var(--legacy-img-topmainbg);
  background-repeat: repeat-x;
  text-align: center;
  padding: 15px 0;
  box-shadow: inset 0 10px 16px -10px rgba(0,0,0,0.18), inset 0 -10px 16px -10px rgba(0,0,0,0.15);
}

body.kaneda-legacy #tommainimgbg.tommainimgbg--mv #tommainimg {
  width: 95%;
  max-width: 890px;
  min-height: auto;
  margin: 0 auto;
  aspect-ratio: 890 / 310;
  background-image: url("customimg/top-bb.jpg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  border: 5px solid #fff;
}

body.kaneda-legacy #tommainimgbg.tommainimgbg--title {
  background-color: var(--legacy-panel-bg);
  background-image: var(--legacy-img-topmainbg);
  background-repeat: repeat-x;
  text-align: center;
  padding: 15px 0;
  box-shadow: inset 0 10px 16px -10px rgba(0,0,0,0.18), inset 0 -10px 16px -10px rgba(0,0,0,0.15);
}

body.kaneda-legacy #tommainimgbg.tommainimgbg--title #tommainimg {
  width: 95%;
  max-width: 890px;
  margin: 0 auto;
  padding: 0;
}

body.kaneda-legacy #tommainimgbg.tommainimgbg--title .entry-title {
  margin: 0;
  text-align: left;
}

/* --------------------------------------------------------------------------
   本文見出し・リード風ボックス
   -------------------------------------------------------------------------- */
body.kaneda-legacy .entry-content  {
  margin-top: 2.0em;
  padding: 1em 1em;
}
body.kaneda-legacy.home .entry-content  {
  margin-top: 1.2em;
  padding: 0;
}
body.kaneda-legacy .entry-content h4,
body.kaneda-legacy .article h2.entry-title {
  color: var(--legacy-key-color);
}

body.kaneda-legacy #tommainimg .entry-title,
body.kaneda-legacy .article h2.entry-title {
  background-image: var(--legacy-img-h2point);
  background-repeat: no-repeat;
  background-position: left center;
  color: var(--legacy-key-color);
  padding-left: 20px;
  font-size: 26px;
  font-weight: normal;
  line-height: 1.4;
  border: none;
}
body.kaneda-legacy h1.entry-title,
body.kaneda-legacy h1.archive-title,
body.kaneda-legacy .entry-content h3.entry-title2,
body.kaneda-legacy .main h2.entry-title2 {
  color: var(--legacy-key-color);
  background-image: var(--legacy-img-h3);
  background-repeat: no-repeat;
  background-position: top left;
  border: 1px solid var(--legacy-panel-border);
  padding: 15px;
  margin: 0 0 15px;
  font-size: 1.3em;
  font-weight: bold;
}

body.kaneda-legacy.home h1.entry-title {
  font-size: 1.15em;
}

body.kaneda-legacy .main h2.entry-title2 a {
  text-decoration: none !important;
}

body.kaneda-legacy .entry-content h4 {
  background-image: var(--legacy-img-h4point);
  background-repeat: no-repeat;
  background-position: 0px 0.6em;
  border-bottom: 1px solid var(--legacy-key-color);
  padding: 3px 10px 3px 30px;
  margin: 30px 0 15px;
  font-size: 1.2em;
  line-height: 1.6;
}

body.kaneda-legacy .entry-content > :first-child {
  margin-top: 0;
}

/* 旧 #topreadbox 相当（固定ページ先頭を囲む場合 class="legacy-topread"） */
body.kaneda-legacy .legacy-topread {
  background-color: var(--legacy-panel-bg);
  border: 1px solid var(--legacy-panel-border);
  padding: 5px 9px;
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   サイドバー：メインナビ・住所
   -------------------------------------------------------------------------- */
body.kaneda-legacy .sidebar h2,
body.kaneda-legacy .sidebar h3,
body.kaneda-legacy .sidebar .widget-title {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 0 26px;
  margin: 24px 0 8px;
  color: var(--legacy-key-color);
  font-size: 1.1em;

  background-image: var(--legacy-img-h4point);
  background-repeat: no-repeat;
  background-position: 0px 0.5em;
}
body.kaneda-legacy .legacy-mainnavi,
body.kaneda-legacy .sidebar .widget_nav_menu.legacy-mainnavi,
body.kaneda-legacy .sidebar .legacy-mainnavi .menu {
  margin-bottom: 20px;
  list-style: none;
  padding: 0;
}

body.kaneda-legacy .legacy-mainnavi li,
body.kaneda-legacy .sidebar .legacy-mainnavi .menu-item {
  list-style: none;
  margin: 0 0 2px;
  padding: 0;
}

body.kaneda-legacy .legacy-mainnavi a,
body.kaneda-legacy .sidebar .legacy-mainnavi .menu-item a {
  display: block;
  width: 210px;
  max-width: 100%;
  min-height: 25px;
  padding: 5px 20px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.5;
  color: #fff !important;
  text-decoration: none !important;
  background-image: var(--legacy-img-mainnavi-off);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

body.kaneda-legacy .legacy-mainnavi a:hover,
body.kaneda-legacy .sidebar .legacy-mainnavi .menu-item a:hover {
  color: #fff !important;
  background-image: var(--legacy-img-mainnavi-on);
  text-decoration: none !important;
}

@media screen and (max-width: 834px) {
  body.kaneda-legacy .sidebar h2,
  body.kaneda-legacy .sidebar h3,
  body.kaneda-legacy .sidebar .widget-title {
    background-position: 0px 0.3em;
  }
}


/* --------------------------------------------------------------------------
   トップ：お知らせ・作品集 新着（一覧ページと同じ entry-card）
   -------------------------------------------------------------------------- */
body.kaneda-legacy .kaneda-front-top-latest {
  margin-top: 40px;
}

body.kaneda-legacy .kaneda-front-top-latest .list-title a {
  color: inherit;
  text-decoration: none;
}

body.kaneda-legacy .kaneda-front-top-latest .list-title a:hover {
  color: var(--legacy-link-hover);
  text-decoration: underline;
}

body.kaneda-legacy .kaneda-front-top-latest__section {
  margin-bottom: 2.5rem;
}

body.kaneda-legacy .kaneda-front-top-latest__section:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   トップ：スケジュール・トピックス（[new_list] を囲む・手動配置用）
   -------------------------------------------------------------------------- */
body.kaneda-legacy .legacy-top-news {
  border: 1px solid var(--legacy-panel-border);
  margin-top: 40px;
  padding: 0 9px 10px;
}

body.kaneda-legacy .legacy-top-news > h3,
body.kaneda-legacy .legacy-top-news .main-widget-label {
  color: var(--legacy-key-color);
  border: none;
  background: none;
  padding: 0 0 5px;
  margin: 0 0 8px;
  font-size: 1.3em;
  font-weight: bold;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-link:hover .widget-entry-card-title {
  color: var(--legacy-link-hover);
}

body.kaneda-legacy .legacy-top-news .widget-entry-card {
  display: block;
  border-bottom: 1px solid #dcdcdc;
  margin: 0;
  padding: 10px 5px 10px 15px;
  background: transparent;
  box-shadow: none;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-thumb {
  display: none !important;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-content {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 15px;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-meta {
  flex: 0 0 100px;
  order: 1;
  margin: 0;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-date {
  background-image: var(--legacy-img-dticon);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  font-size: 0.95em;
  color: var(--legacy-text-color);
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-date .fa {
  display: none;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-title {
  flex: 1 1 auto;
  order: 2;
  margin: 0;
  font-size: 1em;
  font-weight: normal;
  border: none;
  background: none;
  padding: 0;
}

body.kaneda-legacy .legacy-top-news .widget-entry-card-snippet,
body.kaneda-legacy .legacy-top-news .widget-entry-card-comment {
  display: none;
}

/* --------------------------------------------------------------------------
   フッター
   -------------------------------------------------------------------------- */
body.kaneda-legacy .footer {
  border-top: 2px solid var(--legacy-key-color);
  margin-top: 20px;
  padding: 45px 0 50px;
  background-color: var(--legacy-panel-bg);
  box-shadow: inset 0 10px 16px -10px rgba(0,0,0,0.18);
}

body.kaneda-legacy .footer-in.wrap {
  width: 960px;
  max-width: 100%;
  padding: 5px 10px;
}

body.kaneda-legacy .footer a {
  color: #333;
  text-decoration: underline;
}

body.kaneda-legacy .footer a:visited {
  color: #666;
}

body.kaneda-legacy .footer a:hover {
  color: var(--legacy-link-hover);
}

body.kaneda-legacy .footer-bottom {
  margin: 0;
  padding: 0;
}

body.kaneda-legacy .footer-bottom .copyright,
body.kaneda-legacy .footer-bottom .source-org {
  font-size: 1em;
}

/* トップへ戻る（旧 .gotop 風） */
body.kaneda-legacy .go-to-top-button .go-to-top-common-button {
  background-image: var(--legacy-img-corecolor);
  background-repeat: repeat;
  color: #fff;
  font-size: 10px;
}

body.kaneda-legacy .go-to-top-button .go-to-top-common-button:hover {
  color: var(--legacy-link-hover);
}

/* --------------------------------------------------------------------------
   パンくず・一覧リンク
   -------------------------------------------------------------------------- */
body.kaneda-legacy .breadcrumb {
  font-size: 10px;
  color: #666;
}

body.kaneda-legacy .more,
body.kaneda-legacy .legacy-top-news .list-more-button,
body.kaneda-legacy .legacy-top-news .list-more {
  text-align: right;
  padding-top: 5px;
  font-size: 11px;
}

/* --------------------------------------------------------------------------
   モバイルは Cocoon 標準を優先（色だけ軽く継承）
   -------------------------------------------------------------------------- */
@media screen and (max-width: 834px) {
  body.kaneda-legacy .main {
    padding: 15px 10px;
  }
  body.kaneda-legacy .main,
  body.kaneda-legacy .sidebar {
    font-size: 1em;
  }

  body.kaneda-legacy .legacy-mainnavi a,
  body.kaneda-legacy .sidebar .legacy-mainnavi .menu-item a {
    width: 100%;
  }
}


/* --------------------------------------------------------------------------
   個別ID
   -------------------------------------------------------------------------- */

/*------トップリード------*/
#topreadbox {
	background-color: #f9f7f1;
	border: 1px solid #f0efeb;
	padding-top: 5px;
	padding-right: 9px;
	padding-bottom: 5px;
	padding-left: 9px;
	margin: 0px 0 40px 0;
}
#topreadbox #topreadl {
	padding: 10px 10px;
}
#topreadbox h4,#topreadbox h5 {
  border: none;
}
#topreadbox h4 {
  color: #000;
  font-size: 1em;
  border-bottom: 1px solid var(--legacy-key-color);
}
@media screen and (max-width: 834px) {
  #topreadbox {
    padding: 0;
  }
  #topreadbox h4 {
    margin-top: 1.5em;
  }
}


/*------メインナビ------*/
.sidebar .menu {
	margin-bottom: 20px;
	line-height: 2.2em;
	_line-height: 2.3em;
}
.sidebar .menu li {
	padding-bottom: 3px;
}
.sidebar .menu li a{
	font-weight: normal;
	color: #FFFFFF;
  background: linear-gradient(135deg, var(--legacy-key-color) 0%, #6094d8 100%);
	width: 100%;
  text-decoration:none;
  display: block;
  padding: 10px 30px 8px 12px;
  border-radius: 5px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  position: relative;
}
.sidebar .menu li a:hover{
	color: #FFFFFF;
  background-color: var(--legacy-key-color);
  opacity: 0.8;
}
.sidebar .menu li a::before,
.sidebar .menu li a::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 12px;
  width: 12px;
  height: 2px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
}
.sidebar .menu li a::before {
  transform: rotate(45deg);
}
.sidebar .menu li a::after {
  transform: rotate(-45deg);
}
/*------サイドアドレス------*/
#sideaddress {
	background-color: #F5F8FC;
	border: 1px   solid #eff5e5;
  font-size: 0.90em;
	font-weight: normal;
  padding: 10px 15px;
  line-height: 1.4;
}
#sideaddress strong {
  display: block;
  font-size: 1.0em;
  margin-bottom: 10px;
}

/* --------------------------------------------------------------------------
   カスタムフィールド（image / caption / catch / price）
   -------------------------------------------------------------------------- */
body.kaneda-legacy {
  --kaneda-meta-radius: 10px;
  --kaneda-meta-shadow: 0 2px 12px rgba(63, 117, 190, 0.08);
  --kaneda-meta-shadow-hover: 0 6px 20px rgba(63, 117, 190, 0.14);
  --kaneda-meta-border: 1px solid rgba(63, 117, 190, 0.12);
  --kaneda-meta-muted: #5c6b7a;
  --kaneda-meta-surface: #f7f9fc;
}

/* 画像カード共通 */
body.kaneda-legacy .kaneda-legacy-image {
  margin: 0;
  overflow: hidden;
}

body.kaneda-legacy .kaneda-legacy-image__trigger {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 0;
  line-height: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  appearance: none;
  -webkit-appearance: none;
  overflow: hidden;
}

body.kaneda-legacy .kaneda-legacy-image__trigger:hover .kaneda-legacy-image__img,
body.kaneda-legacy .kaneda-legacy-image__trigger:focus-visible .kaneda-legacy-image__img {
  opacity: 0.92;
}

body.kaneda-legacy .kaneda-legacy-image__trigger:focus {
  outline: none;
}

body.kaneda-legacy .kaneda-legacy-image__trigger:focus-visible {
  outline: 2px solid var(--legacy-key-color);
  outline-offset: -2px;
}

body.kaneda-legacy .kaneda-legacy-image__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: opacity 0.2s ease;
}

body.kaneda-legacy .kaneda-legacy-image__caption {
  margin: 0;
  padding: 0.5em 1em;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--kaneda-meta-muted);
  background: var(--kaneda-meta-surface);
  border-top: 1px solid rgba(63, 117, 190, 0.08);
}

/* 通常投稿: 本文下ギャラリー */
body.kaneda-legacy .kaneda-legacy-post-images {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 2px solid rgba(63, 117, 190, 0.25);
}

@media screen and (min-width: 600px) {
  body.kaneda-legacy .kaneda-legacy-post-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 960px) {
  body.kaneda-legacy .kaneda-legacy-post-images {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.kaneda-legacy .kaneda-legacy-post-images .kaneda-legacy-image:only-child {
    grid-column: 1 / -1;
    max-width: 240px;
    justify-self: center;
    width: 100%;
  }
}

/* service: catch / price */
body.kaneda-legacy .kaneda-legacy-service-intro {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 1.75rem;
  padding: 1.25rem 1.5rem;
  border: var(--kaneda-meta-border);
  border-radius: var(--kaneda-meta-radius);
  background: linear-gradient(135deg, #fff 0%, var(--kaneda-meta-surface) 100%);
  box-shadow: var(--kaneda-meta-shadow);
}

body.kaneda-legacy .kaneda-legacy-service-catch {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.75;
  color: var(--legacy-text-color);
  letter-spacing: 0.02em;
}

body.kaneda-legacy .kaneda-legacy-service-price {
  margin: 0;
  padding: 0.5em 0.85em;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--legacy-key-color);
  background: rgba(63, 117, 190, 0.08);
  border-left: 3px solid var(--legacy-key-color);
  border-radius: 0 6px 6px 0;
}

body.kaneda-legacy .kaneda-legacy-service-catch + .kaneda-legacy-service-price {
  margin-top: 0;
}

/* service: 2カラム（画像左 / 本文右） */
body.kaneda-legacy .kaneda-legacy-service-layout {
  display: grid;
  grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

body.kaneda-legacy .kaneda-legacy-service-layout__images {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

body.kaneda-legacy .kaneda-legacy-service-layout__images .kaneda-legacy-image {
  flex-shrink: 0;
}

body.kaneda-legacy .kaneda-legacy-service-layout__images .kaneda-legacy-image__trigger {
  aspect-ratio: 1 / 1;
}

body.kaneda-legacy .kaneda-legacy-service-layout__body {
  min-width: 0;
}

body.kaneda-legacy .kaneda-legacy-service-layout__body.entry-content {
  margin-top: 0;
}

/* service: アーカイブ（カテゴリ別一覧） */
body.kaneda-legacy .kaneda-service-archive .list-title a {
  color: inherit;
  text-decoration: none;
}

body.kaneda-legacy .kaneda-service-archive .list-title a:hover {
  color: var(--legacy-link-hover);
  text-decoration: underline;
}

body.kaneda-legacy .kaneda-service-category-block {
  margin-bottom: 2.5rem;
}

body.kaneda-legacy .kaneda-service-category-block:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 960px) {
  body.kaneda-legacy .kaneda-legacy-service-layout__images {
    position: sticky;
    top: 1.5rem;
  }
}

@media screen and (max-width: 834px) {
  body.kaneda-legacy .kaneda-legacy-service-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  body.kaneda-legacy .kaneda-legacy-service-layout__images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  body.kaneda-legacy .kaneda-legacy-service-layout__images .kaneda-legacy-image:only-child {
    grid-column: 1 / -1;
    max-width: 480px;
    justify-self: center;
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  body.kaneda-legacy .kaneda-legacy-service-layout__images {
    grid-template-columns: 1fr;
  }

  body.kaneda-legacy .kaneda-legacy-service-intro {
    padding: 1rem 1.15rem;
  }
}

/* ライトボックス */
.kaneda-legacy-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(4px);
}

.kaneda-legacy-lightbox.is-active {
  display: flex;
}

.kaneda-legacy-lightbox__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(960px, 100%);
  max-height: 100%;
}

.kaneda-legacy-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 8rem);
  width: auto;
  height: auto;
  margin: 0 auto;
  border-radius: 6px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.kaneda-legacy-lightbox__caption {
  margin: 0.85rem 0 0;
  padding: 0 0.5rem;
  max-width: 100%;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #f1f5f9;
  text-align: center;
}

.kaneda-legacy-lightbox__caption:empty {
  display: none;
}

.kaneda-legacy-lightbox__close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  font-size: 1.75rem;
  line-height: 1;
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
  cursor: pointer;
  transition: background 0.2s ease;
}

.kaneda-legacy-lightbox__close:hover,
.kaneda-legacy-lightbox__close:focus-visible {
  background: rgba(255, 255, 255, 0.28);
}

body.kaneda-legacy-lightbox-open {
  overflow: hidden;
}

.list.post_type-service {
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}
.list.post_type-service a {
  width: 49%;
  padding: 0.5%;
}
.list.post_type-service .entry-card-thumb {
  width: 100%;
  float: none;
  margin-bottom: 0.2em !important;
}
.list.post_type-service .entry-card-content {
  margin-left: 0;
}
.list.post_type-service h2.entry-card-title {
  padding-top: 0.2em !important;
}

@media screen and (min-width: 835px) {
  .list.post_type-service a {
    width: 32%;
  }
}