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

/* グローバルメニュー全体のコンテナ */
#fnav .c-gnavWrap {
    background-color: #f0f0f0; /* 背景色（画像に合わせて調整） */
    border-radius: 8px; /* 角を丸くする */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* 軽い影を追加 */
    overflow: hidden; /* 角丸からはみ出す部分を隠す */
}

/* メニューのul要素 */
#fnav .c-gnavWrap .c-gnav {
    display: flex; /* メニュー項目を横並びにする */
    justify-content: center; /* 中央寄せ */
    list-style: none; /* リストのスタイルを解除 */
    padding: 0;
    margin: 0;
}

/* 各メニュー項目（li要素） */
#fnav .c-gnavWrap .c-gnav > li {
    margin: 0;
    flex-grow: 1; /* 各項目が均等な幅になるように */
    text-align: center; /* テキストを中央寄せ */
}

/* 各メニューリンク（a要素） */
#fnav .c-gnavWrap .c-gnav > li > a {
    display: block;
    padding: 12px 20px; /* 上下のパディングを調整して高さを出す */
    color: #ffffff; /* テキスト色を白に */
    text-decoration: none; /* 下線をなくす */
    font-weight: bold;
    transition: all 0.3s ease; /* ホバー時のアニメーション */
    white-space: nowrap; /* テキストの折り返しを防ぐ */
    border-right: 1px solid rgba(255, 255, 255, 0.2); /* 区切り線 */
}

/* 最後のメニュー項目には右の区切り線をつけない */
#fnav .c-gnavWrap .c-gnav > li:last-child > a {
    border-right: none;
}

/* 各メニュー項目の背景色（画像に合わせて調整） */
#fnav .c-gnavWrap .c-gnav > li:nth-child(1) > a {
    background: linear-gradient(to bottom, #3498db, #2980b9); /* トップページ */
}
#fnav .c-gnavWrap .c-gnav > li:nth-child(2) > a {
    background: linear-gradient(to bottom, #9b59b6, #8e44ad); /* OB会ニュース */
}
#fnav .c-gnavWrap .c-gnav > li:nth-child(3) > a {
    background: linear-gradient(to bottom, #f39c12, #e67e22); /* 会員特典 */
}
#fnav .c-gnavWrap .c-gnav > li:nth-child(4) > a {
    background: linear-gradient(to bottom, #2ecc71, #27ae60); /* 運営組織・会則 */
}
#fnav .c-gnavWrap .c-gnav > li:nth-child(5) > a {
    background: linear-gradient(to bottom, #8e44ad, #6c3483); /* 事務手続き */
}
#fnav .c-gnavWrap .c-gnav > li:nth-child(6) > a {
    background: linear-gradient(to bottom, #34ace0, #2c8cbb); /* 社員販売会 */
}

/* ホバー時の効果 */
#fnav .c-gnavWrap .c-gnav > li > a:hover {
    filter: brightness(1.1); /* 明るくする */
    transform: translateY(-2px); /* 少し上に移動 */
    box-shadow: 0 4px 8px rgba(0,0,0,0.3); /* 影を濃くする */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    #fnav .c-gnavWrap {
        border-radius: 0; /* スマホでは角丸をなくす */
    }
    #fnav .c-gnavWrap .c-gnav {
        flex-wrap: wrap; /* 画面が小さい場合は折り返す */
    }
    #fnav .c-gnavWrap .c-gnav > li {
        width: 50%; /* 2列表示 */
        flex-grow: 0; /* 幅を固定 */
    }
    #fnav .c-gnavWrap .c-gnav > li > a {
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* 下に区切り線 */
    }
    /* 偶数番目の項目と最後の2つの項目には右の区切り線をつけない */
    #fnav .c-gnavWrap .c-gnav > li:nth-child(2n) > a,
    #fnav .c-gnavWrap .c-gnav > li:nth-last-child(1) > a:nth-child(odd),
    #fnav .c-gnavWrap .c-gnav > li:nth-last-child(2) > a:nth-child(even)
    {
        border-right: none;
    }
    /* 最後の行の項目には下の区切り線をつけない */
    #fnav .c-gnavWrap .c-gnav > li:nth-last-child(-n+2) > a {
        border-bottom: none;
    }
}

document.addEventListener('click', function(e) {
    if (e.target.closest('a[href="/"]')) {
        e.preventDefault();
        location.href = '/main/';
    }
});

{
    "loos_customizer[post_list_layout]": {
        "value": "list",
        "type": "option",
        "user_id": 1,
        "date_modified_gmt": "2025-07-17 09:57:21"
    },
    "loos_customizer[post_list_layout_sp]": {
        "value": "list",
        "type": "option",
        "user_id": 1,
        "date_modified_gmt": "2025-07-17 09:57:21"
    },
    "loos_customizer[list_posts_thumb_ratio]": {
        "value": "wide2",
        "type": "option",
        "user_id": 1,
        "date_modified_gmt": "2025-07-17 09:57:21"
    }
}

.custom-logo-link[href="/"], 
.site-title a[href="/"],
a[rel="home"][href="/"] {
    pointer-events: none !important;
}

.custom-logo-link[href="/"]::after,
.site-title a[href="/"]::after,
a[rel="home"][href="/"]::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    pointer-events: auto !important;
}

.c-headLogo__link { display: none !important; }

.p-breadcrumb,
.p-breadcrumb__text,
.p-breadcrumb__list,
.p-breadcrumb__item {
    display: none !important;
}

.l-sidebar,
.p-sidebar {
    margin-top: 50px;
}

.category .l-sidebar,
.category .p-sidebar {
    margin-top: 0px;
}

/* ヘッダーサイズ調整 */
.l-header__logo,
.c-headLogo {
    display: none !important;
}

.l-header.-parallel.-parallel-bottom {
    padding: 0 !important;
    margin: 0 !important;
}

.w-header.pc_ {
    padding-top: 10px !important;
    margin-top: 0 !important;
}

/* フッター全体のコピーライト部分を非表示 */
.copyright{
    display: none !important;
}

/* フッター下部を非表示 */
.l-footer__foot {
    display: none !important;
}

table.contact-form {
	width: 100%;
	border-collapse: separate;
	border-spacing: 8px;
	border: none;
}
table.contact-form td {
	border: none;
	padding: 0 15px;
}
table.contact-form td:nth-child(1) {
	white-space: nowrap;
	background: #0A5593;
	color: #FFFFFF;
}
table.contact-form td:nth-child(1) span {
	background: #CC0000;
	padding: 5px;
	font-size: 0.8em;
	margin-left: 10px;
}
@media only screen and (max-width:620px) {
	table.contact-form td {
		display: block;
		padding: 15px 0;
		text-align: center;
	}
}

/* Contact Form 7の送信ボタンのスタイル */
.wpcf7-form input[type="submit"] {
    background-color: #ff0000; /* ボタンの背景色を赤に */
    color: #ffffff; /* 文字色を白に */
    font-weight: bold; /* 文字を太字に */
    border: none; /* デフォルトの枠線を削除 */
    padding: 10px 20px; /* ボタンのサイズを調整 */
    border-radius: 50px; /* ★ ボタンを楕円形にする */
}

/* ボタンにマウスが乗った時のスタイル */
.wpcf7-form input[type="submit"]:hover {
    background-color: #cc0000; /* ほんの少し暗い赤に */
    cursor: pointer; /* マウスカーソルをポインターに */
}

/* --- ログイン前トップページ ヘッダー --- */

/* ヘッダー全体のコンテナ */
.public-header {
	padding: 20px 40px 15px 40px !important; /* 下の余白を減らす設定を最優先 */
	border-bottom: none !important; /* 下線を消す設定を最優先 */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important; /* 影を付ける設定を最優先 */
}

/* 上段部分（ロゴとボタン）のコンテナ */
.public-header__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px !important; /* 下のナビとの余白を最優先 */
}

/* ロゴ */
.public-header__logo img {
	height: 40px;
	width: auto;
}

/* ボタンのコンテナ */
.public-header__buttons {
	display: flex;
	align-items: center;
	gap: 15px;
}

/* ボタンの共通スタイル */
.c-button {
	display: inline-block;
	padding: 8px 24px;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 5px;
	transition: opacity 0.2s;
	border: 1px solid transparent;
}

.c-button:hover {
	opacity: 0.8;
}

/* ログインボタンの個別スタイル */
.c-button--login {
	background-color: #e6863a;
	color: #fff;
}

/* お問い合わせボタンの個別スタイル */
.c-button--contact {
	background-color: #fff;
	color: #0073e6;
	border-color: #0073e6;
}

/* グローバルナビ */
.public-header__gnav {
	background-color: #0a5593 !important; /* 背景色設定を最優先 */
	padding: 12px 0 !important;
	border-radius: 5px !important;
}

.public-header__gnav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 50px;
}

.public-header__gnav a {
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
}

.public-header__gnav a:hover {
	color: #fff;
	opacity: 0.8;
}

/* --- ログイン前トップページ ヘッダー最終版 (画像ボタンver) --- */

.public-header {
	padding: 20px 0;
	border-bottom: 1px solid #ddd;
}

.public-header__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding: 0 40px;
}

.public-header__gnav {
	background-color: #3D79D5;
	padding: 12px 0;
	border-radius: 0; /* 角丸をなくす */
}

.public-header__logo img {
	height: 40px;
	width: auto;
	vertical-align: middle;
}

.public-header__buttons {
	display: flex;
	align-items: center;
	gap: 15px;
}

.public-header__buttons img {
	height: 45px; /* ボタン画像の高さを指定 */
	width: auto;
}

.public-header__buttons a:hover {
	opacity: 0.8;
}

.public-header__gnav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 50px;
}

.public-header__gnav a {
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
}

.public-header__gnav a:hover {
	color: #0073e6;
}
@media screen and (max-width: 767px) {
	.public-header { padding: 0 !important; }
	.public-header__top { 
		padding: 0 !important;
		display: block !important;
		margin-top: 1em !important;
	}
    .public-header__buttons img {
	  height: 40px; /* ボタン画像の高さを指定 */
	  width: auto;
    }
	.public-header__buttons { 
		margin-top: 1em !important;
		justify-content: center;
	}
	.public-header__logo { text-align: center; }
}

/* --- ログイン前トップページ フッター専用スタイル --- */

.public-footer {
	background-color: #2f3c46; /* 画像から抽出した背景色 */
	color: #ecf0f1; /* 明るいグレーの文字色 */
	padding: 40px 20px;
}

.public-footer__nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0 0 30px 0; /* 下のコピーライトとの余白 */
	padding: 0;
	gap: 40px; /* メニュー間の隙間 */
}

.public-footer__nav a {
	color: #ecf0f1;
	text-decoration: none;
	font-size: 14px;
	transition: opacity 0.2s;
}

.public-footer__nav a:hover {
	opacity: 0.8;
}

.public-footer__copyright {
	text-align: center;
	font-size: 12px;
	opacity: 0.7; /* 少しだけ薄くする */
}

/* --- ログイン前のトップページでのみ、不要なフッター部品を非表示にする --- */

/* SWELLのデフォルトのコピーライト部分と、ページトップへ戻るボタンを非表示にする */
.public-front-page .l-footer,
.public-front-page #pagetop {
	display: none !important;
}

/* --- ヘッダーカスタマイズ最終版 --- */

/* ▼ ログイン前のスタイル ▼ */
.public-header {
	padding: 20px 40px 15px 40px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	background-color: #eff5fa;
}
.public-header__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}
.public-header__logo img { height: 40px; width: auto; }
.public-header__buttons { display: flex; align-items: center; gap: 15px; }
.c-button { display: inline-block; padding: 8px 24px; font-size: 14px; font-weight: bold; text-decoration: none; border-radius: 5px; transition: opacity 0.2s; border: 1px solid transparent; }
.c-button:hover { opacity: 0.8; }
.c-button--login { background-color: #e6863a; color: #fff; }
.c-button--contact { background-color: #fff; color: #0073e6; border-color: #0073e6; }
.public-header__gnav { background-color: #3D79D5; padding: 12px 0; }
.public-header__gnav ul { display: flex; justify-content: center; align-items: center; list-style: none; margin: 0; padding: 0; gap: 50px; }
.public-header__gnav a { font-size: 16px; color: #fff; text-decoration: none; font-weight: bold; }
.public-header__gnav a:hover { color: #fff; opacity: 0.8; }


/* ▼ ログイン後のスタイル（最終修正版） ▼ */
.member-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-rows: auto auto;
	grid-template-areas:
		"left-space  logo  logout"
		"gnav        gnav  gnav";
	align-items: center;
	padding: 10px 40px;
}

body.logged-in .member-header {
	background-color: #eff5fa !important;
}

.mh-logo     { grid-area: logo; justify-self: center; }

.member-header__top {
	position: relative;
	display: flex;
	justify-content: center; /* ロゴを中央に配置 */
	align-items: center;
	min-height: 50px;
	margin-bottom: 20px;
}

.member-header__logo img {
    height: 60px; /* ロゴの高さを指定 */
    width: auto;
    display: block;
}

.member-header__logout {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.member-header__logout img {
	height: 30px;
	width: auto;
	display: block;
}

/* グローバルナビのリスト(ul)を直接中央揃えにする */
.member-header__gnav ul {
	display: flex;
	justify-content: center;
	align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
	gap: 40px;
}
/* --- ログイン後ヘッダー最終版（PC・スマホ両対応） --- */

/* ▼ PCでの表示（デフォルトのスタイル） ▼ */
.member-header {
	background-color: #eff5fa;
	display: grid;
	grid-template: "top top top" auto "gnav gnav gnav" auto / 1fr auto 1fr;
	align-items: center;
	padding: 10px 40px;
}
.mh-logo     { grid-area: top; justify-self: center; }
.mh-gnav     { grid-area: gnav; }
.mh-logout   { grid-area: top; justify-self: end; }
.mh-hamburger { display: none; } /* PCではハンバーガーを非表示 */

.mh-logo img { height: 40px; width: auto; display: block; }
.mh-logout img { height: 40px; width: auto; display: block; }
.mh-gnav ul { display: flex; justify-content: center; align-items: center; list-style: none; margin: 0; padding: 15px 0 0 0; gap: 40px; }


/* ▼ スマホでの表示（画面幅が959px以下） ▼ */
@media screen and (max-width: 959px) {
	.member-header {
		background-color: #eff5fa;
		grid-template: "logo hamburger" auto "logout logout" auto / 1fr auto;
		padding: 10px 20px;
		gap: 15px;
	}
	.mh-logo      { grid-area: logo; justify-self: start; }
	.mh-hamburger { grid-area: hamburger; justify-self: end; display: block; } /* ハンバーガーを表示 */
	.mh-logout    { grid-area: logout; justify-self: center; }
	.mh-gnav      { display: none; } /* スマホではグローバルナビを非表示 */

	/* スマホ用のサイズ調整 */
	.mh-logo img { height: 35px; }
	.mh-logout img { height: 38px; }
	.mh-hamburger .l-header__menuBtn { width: 60px; height: 60px; }
}

/* サイト全体のページタイトルを非表示にする */
.c-pageTitle {
	display: none;
}

/* サイト全体のコンテンツ上部の余白を削除 */
.l-mainContent__inner > .post_content {
	margin-top: 20px;
}

/* PC表示（画面幅960px以上）の時だけ、メニューの文字を調整 */
@media screen and (min-width: 960px) {

	/* ログイン前ヘッダーのグローバルメニュー文字調整 */
	.public-header__gnav a {
		font-size: 22px;      /* 文字の大きさを調整します */
		font-weight: 500;     /* 文字の太さを調整します（400=通常, 700=太字） */
		letter-spacing: 1px;  /* 文字と文字の間隔を調整します */
	}

	/* ログイン前フッターのメニュー文字調整 */
	.public-footer__nav a {
		font-size: 20px;      /* 文字の大きさを調整します */
		font-weight: 400;     /* 文字の太さを調整します */
		letter-spacing: 0.5px;/* 文字と文字の間隔を調整します */
	}

}

/* PC表示（画面幅960px以上）の時だけ適用 */
@media screen and (min-width: 960px) {

	/* ナビゲーションバー全体の背景色など */
	.member-header .mh-gnav {
		background-color: #0A5593;
		padding: 5px 0;
		border-radius: 4px;
		margin-top: 20px; /* ← ロゴとの間に余白を追加 */
	}

	/* ナビのリンクの基本スタイル */
	.member-header .mh-gnav a {
		color: #fff;
		padding: 8px 18px;
		border-radius: 4px;
		position: relative;
		overflow: hidden;
	}

	.member-header .mh-gnav a .ttl {
		font-size: 18px !important;
	}	
	
	/* SWELLのデフォルトの下線ホバー効果を無効化 */
	.member-header .mh-gnav a::after {
		display: none !important;
	}

	/* 新しいホバー効果（背景色）を追加 */
	.member-header .mh-gnav a:hover {
		background-color: rgba(255, 255, 255, 0.15);
		color: #fff !important;
	}
}

/* リンク画像の通常の状態 */
.wp-block-image {
	transition: all 0.3s ease; /* 変化を滑らかにするアニメーション */
}

/* マウスオーバーした時の状態 */
.wp-block-image:hover {
	opacity: 0.7; /* 少しだけ画像を半透明にする */
	transform: scale(1.05); /* 少しだけ画像を拡大させる */
}

/* マウスオーバーした時の状態 */
.mh-logout:hover {
	opacity: 0.7; /* 少しだけ画像を半透明にする */
}

/* カテゴリーリスト内の、リンクになっている項目（子カテゴリー）を非表示 */
.archive .c-categoryList > a.c-categoryList__link {
    display: none !important;
}

.archive .c-categoryList > .c-categoryList__separation {
    display: none !important;
}