@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
*/

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* 共通 */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */
.en{
 font-family: "Jost", sans-serif;
 font-weight: 600;
}
.border-left{
 border-top-left-radius: 60px;
 border-bottom-left-radius: 60px;
}
.border-right{
 border-top-right-radius: 60px;
 border-bottom-right-radius: 60px;
}
.w100{
	width: 100%;
}
.mw900{
	max-width: 900px;
}
.mw1100{
	max-width: 1100px;
}
.center{
	margin-left: auto;
	margin-right: auto;
}



/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* SP版ヘッダー */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

.c-widget__title.-spmenu{
 border-top-right-radius: 40px;
 border-bottom-right-radius: 40px;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* メインビジュアル */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

#main_visual {
	max-width: 1920px;
	margin: 0 auto;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* フッター */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

.l-footer__foot{
 display: none;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* 共通コンテンツ */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

.top #content{
 padding-top: 0;
}
.gradient-text {
  background: linear-gradient(to right, #00a0e9, #0352b9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.sec_ttl{
	max-width: 780px;
}
.sec_sub-ttl{
	max-width: 360px;
	padding: 20px !important;
}

@media (min-width: 960px){
	.page .l-content{
		padding-top: 14em;
	}
	.post-template-default .l-content,
		.archive .l-content{
		padding-top: 10em;
	}

}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* 会員概要セクション */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

.membership_table{
 max-height: 700px;
}

@media (max-width: 959px){
	.membership_table{
 		max-height: 550px;
	}
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* 事業内容セクション */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

#service .c-bannerLink__title{
	text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.9);
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* セミナーセクション */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */
.seminar_box{
	margin-top: 12px;
	font-weight: 400;
}
.seminar_box-ttl{
	display: inline-block;
	background: #0354BB;
	color: #fff;
	padding: 2px 6px;
	border-radius: 6px;
	margin-right: 4px;
}
#seminar .p-postList__times{
	display: none;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーー */
/* お問い合わせフォーム */
/* ーーーーーーーーーーーーーーーーーーーーーーーー */

.smf-item__description{
	width: fit-content;
    background: #E80009;
    padding: 4px 8px;
    color: #fff;
    border-radius: 6px;
}
.snow-monkey-form button{
	width: 90%;
	max-width: 600px;
}
.smf-action .smf-button-control__control{
		background-image: none;
	background: linear-gradient(to right, #00a0e9, #0352b9);
	color: #fff;
	font-size: 1.3rem;
	border: none;
	border-radius: 60px;
}


/* ヘッダー内に移動後の見た目調整 */
/* ヘッダーを前面に（ヒーローとの重なり対策） */
.l-header {
  position: relative;
  z-index: 1000;
}

/* ヘッダー内レイアウトが横一列でも、サブナビを改行させて全幅化 */
.l-header__inner {
  display: flex;
  flex-wrap: wrap;           /* ← 重要：新しい行へ回り込めるように */
  align-items: center;
}

/* 追加したショートコード領域（サブナビ帯） */
.header-blog-parts {
  flex: 0 0 100%;            /* 1行使って全幅表示 */
  width: 100%;
  margin-top: 8px;           /* ロゴ/ナビとの間隔 */
  padding: 6px 0;
  border-top: 1px solid #eee;
  /* 必要なら背景色を付ける */
  /* background: #fff; */
}

/* スマホ時に余白を少し詰める */
@media (max-width: 959px) {
  .header-blog-parts {
    margin-top: 6px;
    padding: 4px 0;
  }
}

/* 出力直後の一瞬表示防止（JSで除去） */
.header-blog-parts.is-pending {
  display: none !important;
}

/* override */
#header .header-blog-parts {
  margin-top: -10px;
  border-top: none;
}

/* 1200pxの箱を中央配置し、フレックスで等分 */
#header .header-blog-parts .wp-block-group.is-row.top_mn{
  max-width: 1200px;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;   /* 念のため強制 */
  flex-wrap: wrap;             /* 画面が狭い時は折り返し可 */
  gap: 0;                      /* 余白なし（必要なら 6px などに） */
  align-items: center;
  justify-content: stretch;    /* flex:1 で埋めるのでここは何でもOK */
  padding: 0;                  /* 余白を最小限に */
  box-sizing: border-box;
}

/* 子 <p> を等幅化＋中央揃え */
#header .header-blog-parts .wp-block-group.is-row.top_mn > p{
  flex: 1 1 0;                 /* 等分のキモ：全て同じ比率で伸縮 */
  margin: 0 !important;
  text-align: center;
  min-width: 0;                /* はみ出し防止 */
  white-space: nowrap;         /* 1行に揃える（改行したいなら外す） */
}



/* ヘッダーメニュー：文字サイズ16px、色#292929、ホバーで#919191、下線なし */
/* 下線をあらゆる方法で無効化 */
#header #gnav .c-gnav > li > a,
#header #gnav .c-gnav > li > a .ttl {
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background-image: none !important;   /* グラデ下線対策 */
  background-size: auto !important;
}

/* 擬似要素で作られた下線を殺す */
#header #gnav .c-gnav > li > a::before,
#header #gnav .c-gnav > li > a::after,
#header #gnav .c-gnav > li > a .ttl::before,
#header #gnav .c-gnav > li > a .ttl::after {
  content: none !important;
  display: none !important;
}

/* ホバー時の色だけは変更、下線は引かない */
#header #gnav .c-gnav > li > a:hover,
#header #gnav .c-gnav > li > a:focus-visible {
  color: #919191 !important;
  text-decoration: none !important;
  border: 0 !important;
  background-image: none !important;
}

/* li 側にボーダー付与パターンの保険 */
#header #gnav .c-gnav > li:hover > a,
#header #gnav .c-gnav > li:focus-within > a {
  border: 0 !important;
  text-decoration: none !important;
  background-image: none !important;
}

/* === ヘッダーメニューの色・サイズを強制 === */

/* 基本状態 */
#header #gnav .c-gnav > li > a,
#header #gnav .c-gnav > li > a .ttl {
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #292929 !important;
  text-decoration: none !important;
}

/* visited / current も同じ色 */
#header #gnav .c-gnav > li > a:visited,
#header #gnav .c-gnav > li.current-menu-item > a,
#header #gnav .c-gnav > li.current_page_item > a {
  color: #292929 !important;
}

/* ホバー/フォーカス時：色だけ変更（下線なし） */
#header #gnav .c-gnav > li > a:hover,
#header #gnav .c-gnav > li:hover > a,
#header #gnav .c-gnav > li > a:focus,
#header #gnav .c-gnav > li > a:focus-visible {
  color: #919191 !important;
  text-decoration: none !important;
}

/* 念のため、擬似要素での下線も抑止（色指定の邪魔を防ぐ） */
#header #gnav .c-gnav > li > a::before,
#header #gnav .c-gnav > li > a::after,
#header #gnav .c-gnav > li > a .ttl::before,
#header #gnav .c-gnav > li > a .ttl::after {
  content: none !important;
  display: none !important;
}

/* === gnav hover color fix (includes current item) === */
#header #gnav .c-gnav > li > a:hover,
#header #gnav .c-gnav > li:hover > a,
#header #gnav .c-gnav > li.current-menu-item > a:hover,
#header #gnav .c-gnav > li.current_page_item > a:hover,
#header #gnav .c-gnav > li.current-menu-ancestor > a:hover,
#header #gnav .c-gnav > li.current-menu-item:hover > a,
#header #gnav .c-gnav > li.current_page_item:hover > a,
#header #gnav .c-gnav > li.current-menu-ancestor:hover > a,
#header #gnav .c-gnav > li > a:hover .ttl,
#header #gnav .c-gnav > li:hover > a .ttl,
#header #gnav .c-gnav > li.current-menu-item > a:hover .ttl,
#header #gnav .c-gnav > li.current_page_item > a:hover .ttl,
#header #gnav .c-gnav > li.current-menu-ancestor > a:hover .ttl,
#header #gnav .c-gnav > li.current-menu-item:hover > a .ttl,
#header #gnav .c-gnav > li.current_page_item:hover > a .ttl,
#header #gnav .c-gnav > li.current-menu-ancestor:hover > a .ttl {
  color: #919191 !important;
  -webkit-text-fill-color: #919191 !important; /* Safari系の保険 */
}


/* ヘッダーをスクロール追従（常に最上部で固定） */
#header {
  position: sticky;
  top: 0;              /* 画面最上部に張り付く */
  z-index: 9999;       /* コンテンツより前面に */
  background: #fff;    /* 透け防止。お好みで */
  width: 100%;
}

/* WPログイン時の管理バー分を考慮（任意） */
.admin-bar #header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar #header { top: 46px; }
}

/* アンカーリンク(#news等)で見切れを防ぐ（任意） */
[id] { scroll-margin-top: 80px; }  /* ヘッダー高に合わせて調整 */

/* PCのみ表示（タブレット/モバイルでは非表示） */
@media (max-width: 959px) {
  #header .header-blog-parts {
    display: none !important;
  }
}
