/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* トップページ「新着情報一覧」ボタン（枠線＋矢印） */
.wp-block-buttons.news-more {
	margin-top: 2em;
}
.wp-block-buttons.news-more .wp-block-button .wp-block-button__link {
	background: transparent;
	color: #000;
	border: 2px solid #000;
	border-radius: 0;
	padding: 0.9em 2.4em;
	font-size: 1rem;
	letter-spacing: 0.05em;
	text-decoration: none;
	box-shadow: none;
	transition: background-color 0.2s, color 0.2s;
}
.wp-block-buttons.news-more .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
}
.wp-block-buttons.news-more .wp-block-button .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	margin-left: 1.2em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-buttons.news-more .wp-block-button .wp-block-button__link:hover {
	background: #000;
	color: #fff;
}

/* 協賛企業ロゴ（フッター手前・サイドバー） */
.sponsor-logos .wp-block-image {
	margin: 0;
}
.sponsor-logos .wp-block-image img {
	border: 1px solid #ddd;
	max-width: 100%;
	height: auto;
}
.sponsor-logos--footer {
	padding: 2em 0;
}
.sponsor-logos--side .wp-block-image {
	margin-bottom: 10px;
}

/* フッター（背景色・レイアウト） */
.site-footer {
	--rk-footer-bg: #290553;
	background: var(--rk-footer-bg);
	color: rgba(255, 255, 255, 0.75);
	border-top: none;
}
.site-footer a {
	color: #fff;
	text-decoration: none;
}
.site-footer a:hover {
	text-decoration: underline;
}
.site-footer .site-footer-content {
	padding-top: 3.5em;
	padding-bottom: 1em;
}
.rk-footer__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 1.2em;
}
.rk-footer__logos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 300px));
	gap: 16px;
}
.rk-footer__logos .wp-block-image {
	margin: 0;
}
.rk-footer__logos .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}
.rk-footer__label {
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: 1em;
}
.rk-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rk-footer__menu li {
	margin: 0 0 0.9em;
	padding: 0;
	border: none;
}
.rk-footer .wp-block-separator {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	margin: 2.5em 0 2em;
	width: 100%;
	max-width: none;
}
.rk-footer__note {
	font-size: 0.75rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.5);
	margin-top: 0;
	padding-top: 1.6em; /* 区切り線の余白に加えて1行分あける */
	max-width: 60em;
}
.site-footer .site-footer-copyright {
	color: rgba(255, 255, 255, 0.5);
	text-align: left;
}
.site-footer .site-footer-copyright p {
	font-size: 0.8rem;
}
.rk-footer p:empty {
	display: none;
}

/* フッター調整：バナーの間隔・コピーライト */
.rk-footer__logos {
	gap: 28px 32px;
}
.site-footer .site-footer-copyright {
	display: none;
}
.rk-footer__copyright {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.5);
	margin: 2.5em 0 2em;
}

/* フッター：コピーライト上の一文 */
.rk-footer__tagline {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.5);
	margin: 2.5em 0 0.4em;
}
.rk-footer__tagline + .rk-footer__copyright {
	margin-top: 0;
}

/* 本文：枠線＋矢印のボタン（トップの「新着情報一覧」と同じ見た目） */
a.rk-btn {
	display: inline-flex;
	align-items: center;
	background: transparent;
	color: #000;
	border: 2px solid #000;
	padding: 0.9em 2.4em;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
a.rk-btn::after {
	content: "";
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	margin-left: 1.2em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
a.rk-btn:hover {
	background: #000;
	color: #fff;
	text-decoration: none;
}

/* 本文：左にテキスト、右に画像（スマホでは縦並び） */
.rk-with-image {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 1.5em;
}
.rk-with-image > ul {
	flex: 1;
	margin: 0;
}
.rk-with-image__img {
	flex: none;
	margin: 0;
}
.rk-with-image__img img {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
}
@media (max-width: 575.98px) {
	.rk-with-image {
		flex-direction: column;
	}
}

/* お問い合わせフォーム */
.wpcf7 label {
	display: block;
	font-weight: 700;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	max-width: 640px;
	margin-top: 0.4em;
	font-weight: 400;
}
.wpcf7 .rk-required {
	display: inline-block;
	margin-left: 0.5em;
	padding: 0.1em 0.6em;
	background: #c62828;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 400;
	border-radius: 2px;
	vertical-align: middle;
}
.wpcf7 input[type="submit"] {
	padding: 0.9em 3em;
}

/* サイドバー最上部のバナー */
.rk-side-banner {
	margin: 0 0 1.5em;
}
.rk-side-banner img {
	display: block;
	width: 100%;
	height: auto;
}

/* カテゴリラベル：薄い背景色に合わせて文字を濃いグレーにし、控えめに見せる */
.postListText_singleTermLabel_inner,
.vk_post_imgOuter_singleTermLabel,
.entry-meta-item-term a,
a.btn-term,
.btn-term {
	color: #555 !important;
	font-weight: 400;
}
.postListText_singleTermLabel_inner {
	font-size: 0.72rem;
	border-radius: 2px;
}

/* トップのスライドショー：スマホでは画像が横長すぎて文字が収まらないため、高さを確保して画像を切り抜く */
@media (max-width: 767.98px) {
	.ltg-slide picture img.ltg-slide-item-img {
		height: 62vw;
		min-height: 240px;
		max-height: 420px;
		object-fit: cover;
	}
	.ltg-slide .ltg-slide-text-set > .container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.ltg-slide .ltg-slide-text-title {
		font-size: 20px;
		line-height: 1.4;
	}
	.ltg-slide .ltg-slide-text-caption {
		font-size: 13px;
		line-height: 1.6;
	}
	.ltg-slide .btn {
		font-size: 13px;
	}
}

/* スマホ・タブレット（ハンバーガーメニュー表示時）：スライド画像は右寄せ、ロゴは左寄せで60%に */
@media (max-width: 767.98px) {
	.ltg-slide picture img.ltg-slide-item-img {
		object-position: right center;
	}
}
@media (max-width: 991.98px) {
	.site-header .site-header-logo {
		text-align: left;
	}
	.site-header .site-header-logo a {
		display: block;
		width: fit-content;
		max-width: 60%;
	}
	.site-header .site-header-logo img {
		margin-left: 0;
		margin-right: 0;
		max-height: 36px;
	}
}

/* ページタイトル（h1）の文字サイズ：PC 1.6rem ／ スマホ 1.3rem */
.page-header .page-header-title,
h1.entry-title,
h1.archive-header-title,
.entry-body h1 {
	font-size: 1.6rem;
}
@media (max-width: 767.98px) {
	.page-header .page-header-title,
	h1.entry-title,
	h1.archive-header-title,
	.entry-body h1 {
		font-size: 1.3rem;
	}
}

/* 見出し（h2）の文字サイズ：h1 と同じ（PC 1.6rem ／ スマホ 1.3rem） */
.entry-body h2,
h2.wp-block-heading {
	font-size: 1.6rem;
}
@media (max-width: 767.98px) {
	.entry-body h2,
	h2.wp-block-heading {
		font-size: 1.3rem;
	}
}

/* ページタイトルの帯：写真を右寄せで敷き、半透明の紫を重ねる（濃さは --rk-header-mask の最後の数値） */
.page-header {
	--rk-header-mask: rgba(84, 27, 134, 0.7);
	background-image: linear-gradient(var(--rk-header-mask), var(--rk-header-mask)), url("../../uploads/2026/10/page-header-bg.jpg");
	background-size: cover;
	background-position: right 60%;
	background-repeat: no-repeat;
}

/* タイトル帯の文字だけ少し大きく：PC 1.8rem ／ スマホ 1.45rem */
.page-header .page-header-title {
	font-size: 1.8rem;
}
@media (max-width: 767.98px) {
	.page-header .page-header-title {
		font-size: 1.45rem;
	}
}

/* ブロックの見出し（wp-block-heading の h2）は PC・スマホとも 1.3rem */
.entry-body h2.wp-block-heading,
h2.wp-block-heading {
	font-size: 1.3rem;
}

/* スマホ・タブレットのヘッダー：上下の余白を広げ（高さ 約46px → 約62px）、メニューボタンを縦中央に合わせる */
@media (max-width: 991.98px) {
	.site-header .site-header-logo {
		padding-top: 1rem;
		margin-bottom: 1rem;
	}
	.vk-mobile-nav-menu-btn,
	.vk-mobile-nav-menu-btn.position-right {
		top: 14px;
		right: 12px;
	}
	.admin-bar .vk-mobile-nav-menu-btn {
		top: calc(46px + 14px);
	}
}

/* スマホメニュー内のCTAボタン「OB会に参加する」 */
.vk-mobile-nav .rk-mobile-cta {
	margin: 1.5em 0 1em;
}
.vk-mobile-nav .rk-mobile-cta .wp-block-button {
	width: 100%;
}
.vk-mobile-nav .rk-mobile-cta .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #541b86;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 1em 1.5em;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
}
.vk-mobile-nav .rk-mobile-cta .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin-left: 0.8em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.vk-mobile-nav .rk-mobile-cta .wp-block-button__link:hover {
	background: #43166b;
	color: #fff;
}

/* 「前の記事」「次の記事」のラベルは白文字（カテゴリラベル用の文字色指定を打ち消す） */
.next-prev .vk_post_imgOuter_singleTermLabel {
	color: #fff !important;
}

/* スライドショーのボタン（OB会参加フォーム）の右に矢印アイコン */
.ltg-slide .btn::after {
	content: "";
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin-left: 0.8em;
	vertical-align: -0.22em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
