/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.2.25.1751941785
Updated: 2025-07-08 02:29:45

*/

/* body{
	background-color:#172e4e !important;
} */
.custom-header {
  position: sticky;
  top: 0;
  height: 80px;
  background: #fefefe;
  z-index: 9999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header-inner {
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .header-inner {
    padding: 0;
  }
}
.main-nav ul {
  display: flex;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.main-nav a {
  text-decoration: none;
  color: #333;
  font-weight: bold;
}
.apply-btn {
  background: #0073ff;
  color: #fff;
  padding: 0.5em 1em;
  border-radius: 5px;
  text-decoration: none;
  margin-left: 1em;
}
.hamburger {
  display: none;
  font-size: 24px;
  background: none;
  border: none;
}
.mobile-menu {
  display: none; /* ← 追加 */
  position: fixed;
  top: 0;
  right: -100%;
  width: 90%;
  height: 100vh;
  background: #fff;
  color: #222;
  padding: 2em;
  transition: right 0.3s ease-in-out;
  z-index: 99999;
}
.mobile-menu.open {
  display: block; /* ← 追加 */
  right: 0;
}
.logo img {
  max-width: 170px;
}
.apply-btn {
  background: linear-gradient(135deg, rgb(6, 147, 227) 0%, var(--global-palette3) 100%) !important;
  padding: 15px 20px;
  font-size: 23px;
  color: #fff !important;
}
@media (max-width: 900px) {
	.apply-btn {
		 font-size: 15px;
	}
}
@media (max-width: 768px) {
  .main-nav {
    display: none;
  }
  .hamburger {
    display: inline-block;
  }
  .logo-sp {
    margin: 2em 0;
  }
  .logo-sp img {
    max-width: 76%;
    height: auto;
  }
  .mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 90%;
    height: 100vh;
    padding: 2em;
    transition: right 0.3s ease-in-out;
    z-index: 99999;
  }
  .mobile-menu.open {
    right: 0;
  }
  .mobile-menu ul {
    list-style: none;
    padding: 0;
    margin-top: 30px;
  }
  .mobile-menu li {
    margin-bottom: 1.5em;
  }
  .mobile-menu a {
    color: navy;
    font-size: 1.2em;
    text-decoration: none;
  }
  .close-menu {
    background: none;
    border: none;
    font-size: 1.5em;
    color: navy;
    position: absolute;
    top: 0px;
    right: 0px;
  }
  .logo img {
    max-width: 120px;
  }
  .hamburger {
    display: inline-block;
    background: gray;
    position: absolute;
    top: 10px;
    right: 5px;
    font-size: 16px;
  }
  .apply-btn {
    position: absolute;
    top: 10px;
    right: 60px;
    padding: 10px 13px;
    font-size: 16px;
  }
  .apply-btn-spmenu {
    background: linear-gradient(135deg, rgb(6, 147, 227) 0%, var(--global-palette3) 100%) !important;
    padding: 15px 20px;
    font-size: 23px;
    color: #fff !important;
    border-radius: 8px;
  }
}

@media (max-width: 400px) {
	.apply-btn {
    position: absolute;
    top: 10px;
    right: 55px;
    padding: 10px 13px;
    font-size: 16px;
  }
}

	.apply-btn:hover {
	  background: #005ec4;
	}
	

/* 初期状態：透明背景＋白文字 */
.custom-header {
  position: sticky;
  top: 0;
  height: 80px;
  background: #fefefe;
  color: #0073ff;
  z-index: 9999;
  transition: background 0.3s, color 0.3s;
}
.custom-header a {
  color: #0073ba;
  transition: color 0.3s;
}
/* スクロール後：白背景＋濃紺文字 */
.custom-header.scrolled {
  background: #fff;
  color: #002244; /* 濃紺 */
}
.custom-header.scrolled a {
  color: #002244;
}

@media (max-width: 890px) {
	
.custom-header {
	font-size:14px;
	
	}

}

/* ヘッダーここまで */
.home #primary {
  margin-top: -100px;
}
@media (max-width: 768px) {

  .home #primary {
    margin-top: -300px;
  }
}
/* カードリストのli要素を揃える */
.wp-block-post-template > li {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* 各カード（.ex-card）を100%伸ばす */
.wp-block-group.ex-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.cat-filters, .tag-filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.cat-filters button {
  background-color: #0e9cd1 !important;
  margin-right: 20px;
  margin-bottom: 20px;
}
.tag-filters button {
  background-color: #032075;
  margin-right: 20px;
  margin-bottom: 20px;
}
.comment-navigation, .post-navigation, .entry-footer {
  display: hidden !important;
  visibility: none !important;
}
@media (max-width: 768px) {
  .content-wrap {
    padding-top: 120px;
  }
}
#location div .event-venue {
  background-color: #fefefe;
}
#location div .event-venue h2 {
  margin: 0.5em 0.5em 0;
  font-size: 1.46em;
}
#location div .event-venue p {
  margin: 0.5em 0.5em 0;
  font-size: 0.86em;
}
.ex-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ex-card .inner-content {
  flex-grow: 1;
}
.kt-btn-inner-text {
  font-size: 13px;
}
.column-exi {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#lightbox-modal {
  background-color: none !important;
}
body.modal-opened {
  overflow: hidden;
}
.modal-layout {
  border-radius: 20px;
  padding: 2rem;
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
	background-color:#fff;
}
.modal-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.modal-left {
  flex: 1 1 45%;
}
.modal-left img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 1rem;
}
.modal-right {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  padding:1em;
}
.tags {
  margin-bottom: 1rem;
}
.tags .tag {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 0.9rem;
  margin-right: 0.5em;
  border-radius: 5px;
}
.tag.red {
  background-color: #e21e51;
  padding: 0.5em 1.8em;
}
.tag.blue {
  background-color: #032075;
  padding: 0.5em 1.8em;
}
@media (max-width: 768px) {
  .modal-inner {
    flex-direction: column;

  }
	.modal-layout{
		padding-left:0 !important;
	  padding-right:0 !important;
		margin-left:0;
		margin-right:0;
	}
	..modal-layout .modal-inner{
		padding-left:0 !important;
	  padding-right:0 !important;
		margin-left:0;
		margin-right:0;
	}
  .modal-layout .modal-inner .modal-left, .modal-right {
    flex: 1 1 100%;
  }
	.modal-left{
		padding-top:120px;
	}

}
/* スマホ対応（768px以下で1列に） */
@media (max-width: 768px) {
  .modal-layout {
    padding: 1em 0;
  }
  .modal-inner {
    flex-direction: column;
  }
  .modal-left, .modal-right {
    flex: 1 1 100%;
  }
}
/* Kadence風レイアウト調整 for single-session */
/* FV（アイキャッチ）だけ全幅に */
.single-session .post-thumbnail {
  width: 100vw;
  max-width: 100%;
  margin: 0 auto 2rem auto;
  border-radius: 0;
}
.single-session .post-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
}
/* 本文まわりはKadence標準の幅に */
.single-session .content-wrap {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
.single-session .entry-header {
  margin-bottom: 2rem;
  border-bottom: 1px solid #ddd;
  padding-bottom: 1rem;
}
.single-session .entry-meta {
  margin-bottom: 2rem;
  font-size: 0.95rem;
  color: #666;
}
.single-session .entry-content {
  line-height: 1.8;
}
.fv-fullwrap {
  width: 100vw;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
/* entry-metaの一行表示用CSS */
.single-session .entry-meta {
  margin-bottom: 2rem;
  text-align: left; /* 左寄せに変更 */
}
.single-session .entry-meta h2 {
  display: inline-block; /* インライン表示に変更 */
  padding: 1rem 1.5rem 1rem 0;
  border-radius: 8px;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 600;
  color: #040037;
  width: auto; /* 幅を自動調整 */
  white-space: nowrap; /* 改行を防ぐ */
}
.single-session .entry-meta h2 strong {
  color: #040037;
  font-weight: 700;
}
/* 長い文字列の場合の対応 */
@media (max-width: 768px) {
  .single-session .entry-meta h2 {
    white-space: normal; /* モバイルでは改行を許可 */
    display: block; /* モバイルではブロック表示 */
    text-align: center;
  }
}
/* 文字が長すぎる場合のレスポンシブ対応 */
.single-session .entry-meta h2 {
  max-width: 100%;
  overflow-wrap: break-word;
}
.fv-fullimg {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.fv-fullwrap {
  width: 100vw;
  height: auto;
  background-size: cover;
  background-position: center;
}

@media (max-width: 768px) {
	.fv-fullwrap {
	  height: auto;
	  background-size: contain;
	}	
}
.single-session .content-wrap {
  max-width: 1290px;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.single-session .entry-header {
  margin-bottom: 2rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 1rem;
}
.single-session .entry-title {
  font-size: 2rem;
  font-weight: bold;
  margin: 0;
}
.single-session .post-thumbnail {
  margin-top: 1rem;
}
.single-session .post-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.single-session .entry-meta {
  margin-bottom: 1.5rem;
  color: #666;
  font-size: 0.95rem;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  font-family: var(--global-body-font-family);
  color: var(--global-palette4);
}
.single-session .entry-content {
  line-height: 1.8;
}
.single-session .entry-meta p {
  margin: 0.3em 0;
}
.header-left {
  padding: 8px;
  background: none;
  border-radius: 8px;
}
/* カテゴリー（ピンク） */
.kb-button.category-button {
  background-color: #0e9cd1 !important; 
  color: #fff !important;
  pointer-events: none;
  cursor: default;
  border-radius: 6px;
  font-weight: 600;
  padding: 4px 10px;
  font-size: 13px;
  transition: none;
}
/* 地域タグ（ネイビー） */
.kb-button.tag-button {
  background-color: #002776 !important; /* ネイビー：場所タグ色 */
  color: #fff !important;
  pointer-events: none;
  cursor: default;
  border-radius: 6px;
  font-weight: 600;
  padding: 4px 10px;
  font-size: 13px;
  transition: none;
}
/* どっちもhover無効 */
.kb-button.category-button:hover, .kb-button.tag-button:hover {
  background-color: inherit;
  box-shadow: none;
}
/* seminner */
.seminar-card {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem;
  align-items: stretch;
  justify-content: space-between;
  background-color: #fff;
  padding: 3rem 2rem;
  border-radius: 5px;
  max-width: 1200px;
  width: 94%;
  margin: 0 auto 4rem;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .seminar-card {
    gap: 1rem;
  }
}
.seminar-left {
  flex: 0 0 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch; /* ←これが決め手！ */
}
/* セミナーカードのリンク機能 - 最小限の修正 */
/* セミナーカードのみに適用 */
.seminar-list .seminar-card {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.seminar-list .seminar-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}
/* タイトルリンクのスタイル（既存を上書きしない） */
.seminar-list .seminar-title-link {
  color: inherit;
  text-decoration: none;
}
.seminar-list .seminar-title-link:hover {
  color: #0073aa;
  text-decoration: none;
}
/* 詳細ボタンのスタイル */
.seminar-list .seminar-link-button {
  margin-top: 1.5rem;
  text-align: right;
}
.seminar-list .seminar-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #0073aa;
  color: white;
  padding: 0.7rem 1.3rem;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background-color 0.3s ease;
}
.seminar-list .seminar-detail-btn:hover {
  background: #005177;
  color: white;
  text-decoration: none;
}
.seminar-list .seminar-detail-btn svg {
  width: 16px;
  height: 16px;
}
/* モバイル対応 */
@media (max-width: 768px) {
  .seminar-list .seminar-card:hover {
    transform: none;
  }
  .seminar-list .seminar-link-button {
    text-align: center;
  }
  .seminar-list .seminar-detail-btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.85rem;
  }
}
.seminar-right {
  flex: 1;
  min-width: 0;
}
.seminar-card .seminar-right {
  flex: 1;
}
.seminar-card .seminar-title {
  font-size: 1.4rem;
  font-weight: bold;
  color: #1A202C;
  margin-bottom: 2rem;
}
.seminar-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.seminar-info svg {
  width: 32px;
  height: 32px;
  fill: #030207;
}
.seminar-info p {
  margin: 0;
  font-weight: bold;
  font-size: 1rem;
  color: #030207;
}
.seminar-text {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  color: #1A202C;
}
.seminar-description {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  line-height: 1.8;
  color: #1A202C;
}
@media (max-width: 768px) {
  .seminar-description {
    display: none;
    visibility: hidden;
  }
}
.seminar-icon svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.seminar-row {
  display: flex;
  align-items: center; /* ← ここで縦揃え */
  gap: 1rem;
  margin-bottom: 1rem;
}
.seminar-icon {
  background-color: #6b8498;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  flex-shrink: 0;
}
.seminar-icon svg {
  width: 24px;
  height: 24px;
  fill: #fff;
  display: block; /* ← これでgの下余白を消す */
}
@media (max-width: 768px) {
  .seminar-card {
    flex-direction: column;
    align-items: center;
  }
  .seminar-left {
    flex: 0 0 113px;
    margin-bottom: 1rem;
  }
  .seminar-right {
    width: 100%;
  }
  .seminar-row {
    align-items: left;
  }
  .seminar-icon {
    margin-bottom: 0.5rem;
  }
}
/* ライトボックス関連のボタン位置修正 */
/* ライトボックスオーバーレイ */
.lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* ライトボックスコンテンツ */
.lightbox-overlay > div {
  position: relative !important;
  width: 90vw !important;
  height: 90vh !important;
  background: #fff !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 閉じるボタンの位置修正 */
.lightbox-overlay button {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(0, 0, 0, 0.7) !important;
  color: white !important;
  border: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  font-size: 24px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  z-index: 10001 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: background-color 0.3s ease !important;
}
.lightbox-overlay button:hover {
  background: rgba(0, 0, 0, 0.9) !important;
}
/* iframe */
.lightbox-overlay iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  border-radius: 10px !important;
}
/* フィルターボタンの改善 */
.filter-buttons {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 25px !important;
    background: #ced5e4;
    padding: 1em 1em 0 1em;
	    max-width: 800px;
    margin: 0 auto;
	border-radius:14px;
}
.filter-buttons button {
  background-color: #e21e51 !important;
  color: white !important;
  border: none !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cat-filters button {
  background-color: #0e9cd1 !important;
}
.tag-filters button {
  background-color: #032075 !important;
}
.filter-buttons button:hover {
  opacity: 0.8 !important;
  transform: translateY(-2px) !important;
}
.filter-buttons button.active {
  background-color: #0073aa !important;
  box-shadow: 0 4px 8px rgba(0, 115, 170, 0.3) !important;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  .lightbox-overlay > div {
    width: 95vw !important;
    height: 95vh !important;
  }
  .lightbox-overlay button {
    top: 10px !important;
    right: 10px !important;
    width: 35px !important;
    height: 35px !important;
    font-size: 20px !important;
  }
  .filter-buttons {
    gap: 8px !important;
  }
  .filter-buttons button {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  .cat-filters button {
    margin-right: 10px;
    margin-bottom: 10px;
  }
}
/* デバッグ用：ボタンの境界線を表示 */
.debug .lightbox-overlay button {
  border: 2px solid red !important;
}
.debug .lightbox-overlay > div {
  border: 2px solid blue !important;
}
/* タブ切り替えアニメーション */
.kt-tab-inner-content {
  transition: opacity 0.3s ease-in-out;
}
.kt-tab-inner-content[aria-hidden="true"] {
  opacity: 0;
}
.kt-tab-inner-content[aria-hidden="false"] {
  opacity: 1;
}
/* タブタイトルのアクティブ状態 */
.kt-tab-title-active {
  background-color: #0073aa !important;
  color: white !important;
}
/* 会場リンクホバー効果 */
.event-venue {
  transition: transform 0.2s ease;
}
.event-venue:hover {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
/* スクロール時のスムーズ効果 */
html {
  scroll-behavior: smooth;
}
body.wp-singular .content-wrap {
  margin: 0 auto;
  margin-top: 100px;
  margin-bottom: 100px;
  max-width: 980px;
}
.site-footer {
  background-color: #507788;
  color: #fff !important;
  margin-top: -100px;
}
/* フッター内のリストスタイル修正 */
/* 基本的な指定 */
footer .wp-block-list, .site-footer .wp-block-list {
  list-style: none; /* ・（リストマーカー）を削除 */
  padding-left: 0; /* 左の余白を削除 */
  margin: 0; /* マージンをリセット */
}
footer .wp-block-list li, .site-footer .wp-block-list li {
  list-style: none; /* 念のため個別にも指定 */
  margin-bottom: 0.5rem; /* 項目間の間隔 */
}
footer .wp-block-list a, .site-footer .wp-block-list a {
  color: #ffffff; /* 白色に指定 */
  text-decoration: none; /* 下線を削除 */
  transition: color 0.3s ease; /* ホバー時のアニメーション */
}
footer .wp-block-list a:hover, .site-footer .wp-block-list a:hover {
  color: #cccccc; /* ホバー時は薄いグレー */
  text-decoration: underline; /* ホバー時は下線表示 */
}
/* より具体的な指定（もし上記で効かない場合） */
footer ul.wp-block-list, .site-footer ul.wp-block-list {
  list-style-type: none !important;
  padding-left: 0 !important;
}
footer ul.wp-block-list li, .site-footer ul.wp-block-list li {
  list-style: none !important;
  position: relative;
}
footer ul.wp-block-list li::before, .site-footer ul.wp-block-list li::before {
  display: none !important; /* 疑似要素でのマーカーも削除 */
}
footer ul.wp-block-list a, .site-footer ul.wp-block-list a {
  color: #ffffff !important;
  text-decoration: none;
}
footer ul.wp-block-list a:visited, .site-footer ul.wp-block-list a:visited {
  color: #ffffff !important;
}
footer ul.wp-block-list a:hover, .site-footer ul.wp-block-list a:hover {
  color: #e0e0e0 !important;
  text-decoration: underline;
}
/* フッター全体の文字色も白に */
footer, .site-footer {
  color: #ffffff;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  footer .wp-block-list li, .site-footer .wp-block-list li {
    margin-bottom: 0.8rem;
    text-align: center; /* モバイルでは中央揃え */
  }
}
/* フッターリストを横並びにしたい場合 */
/*
footer .wp-block-list,
.site-footer .wp-block-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}

footer .wp-block-list li,
.site-footer .wp-block-list li {
    margin-bottom: 0;
}
*/
.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)) {
  color: #3f98c3 !important;
  text-decoration: none;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  .kt-tabs-id187_277300-da > .kt-tabs-content-wrap > .wp-block-kadence-tab {
    padding: 20px 10px !important;
  }
  .entry-content-wrap {
    margin-top: 80px;
  }
}




.product_image{
	aspect-ratio:16/9;
}
@media (max-width: 768px) {
	.product_image{
		aspect-ratio:16/14;
	}
}


.product-text{
	min-height:125px;
}
@media (max-width: 1200px) {
	.product-text{
		min-height:165px;
	}	
}
@media (max-width: 1200px) {
	.product-text{
		min-height:185px;
	}	
}
@media (max-width: 800px) {
	.product-text{
		min-height:200px;
	}	
}
@media (max-width: 768px) {
	.product-text{
		min-height:140px;
	}	
}




/* ── モーダル全体のレイアウト ── */
.modal-layout .modal-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;      /* 親は折り返さへん */
  gap: 2rem !important;
  max-width: 1200px;
  margin: 0 auto;
}

/* ── 左側：画像エリア ── */
.modal-layout .modal-left {
  flex: 0 0 45%;
  display: flex !important;          
  flex-direction: column;            /* 子要素（画像）は縦積み */
  gap: 1rem;                         /* 画像同士の隙間 */
  align-items: center;
  justify-content: center;
	padding:2em;
	height:auto;
}

/* 左エリア内の画像 */
.modal-layout .modal-left img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 4px;
}

/* ── 右側：テキスト説明エリア ── */
.modal-layout .modal-right {
  flex: 1 1 55%;
  overflow-y: auto;
  padding: 0 1rem;
}

/* ── スマホ等で縦並びにしたい場合 ── */
@media (max-width: 768px) {
  .modal-layout .modal-inner {
    flex-direction: column !important;
  }
  .modal-layout .modal-left,
  .modal-layout .modal-right {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.card-h2{
	min-height:2.5em;
}
.material-name{
	min-height:5.2em;
}

	.mo-pd{
		padding:1em 1em 2em ;
	}
/* スマホではズーム完全に非表示 */
@media (max-width: 768px) {
  .zoom-lens,
  .zoom-result,
  .zoom-result-bg {
    display: none !important;
  }
	.modal-layout .modal-left {
	height:auto !important;	
		padding:3em;
	}
	.mo-pd{
		padding:1em 1em 3em ;
		

	}
}

/* もし同じ階層にある場合 */
.wp-singular:nth-of-type(2) {
    background-color: #ffffff00 !important; 
}

/* または */
.wp-singular:nth-child(2) {
    background-color: #ffffff00 !important;
}

@media (max-width: 768px) {
	.single-session .entry-title{
		font-size:1.5em;
	}
	.lead-text h3{
		font-size:1em;
	}
}

.site-footer {
	background-color:#0b5d88  !important;
}

.no-seminars{
	color:#fff !important;
}

.kt-accordion-id187_bd689a-6c .kt-accordion-panel-inner a {
    color: #1a73e8 !important;
}

.sp-only {
	display: none;
}
@media (max-width: 768px) {
	.sp-only {
		display: block;
	}
}