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

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* 通常コンテンツ幅：PCのみ */
@media (min-width:992px) {
	body:not(.home):not(.page-id-34):not(.page-id-36):not(.page-id-32):not(.page-id-38):not(.page-id-40):not(.blog):not(.single-post):not(.archive) .site-body-container {
		width:100%;
		max-width:950px;
		margin-right:auto;
		margin-left:auto;
	}
}


.philos-section,.profile-container,.top-point-box,.top-list-container,
.feature-box,.reason-box,.about-box,.rules-box,.rule-section,.philosophy-box  {
	width: 100%;
	max-width: 920px;
	margin-right: auto !important;
	margin-left: auto !important;
	box-sizing: border-box;
}

/* ヘッダー調整 */


@media (min-width: 992px) {

	#site-header-container {
		align-items: end !important;
	}

	#site-header-container .site-header-sub {
		margin-bottom: 0;
	
	}

	#site-header-container .site-header-logo,
	#site-header-container .header-small-banners,
	#site-header-container .site-header-sub {
		padding-bottom: 36px;
	}
}

@media (max-width: 991.98px) {
	.header-small-banners {
		display: none;
	}
}

@media (min-width: 992px) {
	#site-header-container {
		display: grid;
		grid-template-columns: auto auto 1fr;
		align-items: center;
		column-gap: 12px;
	}
	

	#site-header-container .site-header-logo {
		width: auto;
		margin: 0;
	}
	


#site-header-container .header-small-banners {
	display: flex;
	align-items: center;
	gap: 20px;          /* 各ロゴの間隔 */
	width: auto;
	margin: 0 0 0 30px; /* メインロゴとの間隔 */
}

#site-header-container .header-small-banners img {
	display: block;
	width: auto;
	max-height: 60px;
}	
	
	

	#site-header-container .site-header-sub {
		width: auto;
		margin-left: auto;
		justify-self: end;
	}

	#site-header-container .global-nav {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 100%;
		margin: 0;
		right: auto;
		left: auto;
		transform: none;
		justify-self: stretch;
	}
}

/* グローバルナビ */
#global-nav .global-nav-list > #menu-item-51 {
	flex: 0 0 72px;
	width: 72px;
}

#global-nav #menu-item-51 > a {
	justify-content: center;
	padding-right: 0;
	padding-left: 0;
}

.global-nav-list > li .global-nav-name,
.global-nav-list .sub-menu li a {
	font-size: 16px;
}

#global-nav .global-nav-list > li > a,
#global-nav .sub-menu li > a {
	transition: box-shadow .2s ease;
}

#global-nav .sub-menu li > a {
	display: block;
}

#global-nav .global-nav-list > li:hover > a,
#global-nav .global-nav-list > li:focus-within > a,
#global-nav .global-nav-list > li.current-menu-item > a,
#global-nav .global-nav-list > li.current-menu-ancestor > a,
#global-nav .global-nav-list > li.current-menu-parent > a,
#global-nav .sub-menu li > a:hover,
#global-nav .sub-menu li > a:focus-visible,
#global-nav .sub-menu li.current-menu-item > a {
	box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, .12) !important;
}

.menu .fa-house{
	margin-right:0;
}

/* ヘッダーボタン */
.contact-btn2 .vk_button_link {
	transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}



.contact-btn2 .btn_left .vk_button_link:hover,
.contact-btn2 .btn_right .vk_button_link:focus-visible {
	background: linear-gradient(125deg, #9b7618 0%, #d6b84d 28%, #fff4a8 48%, #d8c15d 68%, #9d781b 100%) !important;
	color: #5a491c !important;
	border-color: #c5a63f !important;
	box-shadow: 0 3px 8px rgba(0, 0, 0, .22);
}


.contact-btn2 .vk_button.is-style-shine .vk_button_link::before {
	background: linear-gradient(
		to right,
		rgba(214, 184, 77, 0) 0%,
		rgba(255, 221, 105, .7) 100%
	) !important;
}

/* ヘッダー上部ナビ */
.menu-headertopnav-container .menu {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1px;
}

/* テーマ側のli余白をリセット */
.menu-headertopnav-container .menu > li {
	margin: 0;
	padding: 0;
}

/* SNSリンク */
.menu-headertopnav-container .menu > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0;
	line-height: 1;
}

.menu-headertopnav-container .menu > li > a > i {
	font-size: 18px;
	line-height: 1;
}

/* nだけ画像サイズを維持 */
.menu-headertopnav-container #menu-item-137 > a {
	min-width: 42px;
}

.menu-headertopnav-container #menu-item-137 img {
	display: block;
	width: 42px;
	height: 42px;
	max-width: none;
	object-fit: contain;
}

/* サイトマップ */
.menu-headertopnav-container #menu-item-129 > a {
	min-width: auto;
	padding-inline: 12px;
}


/*モバイルメニューにMENU表記（白文字）*/
.vk-mobile-nav-menu-btn {
    text-indent:2px;
    font-size: 10px;
    color: #fffffe;
    padding-top: 26px;
    overflow: visible;
    border: none;
    background-position: top;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.4);
}
.vk-mobile-nav-menu-btn.menu-open {
  border: none;
}
.vk-mobile-nav {
  padding-top: 50px;
}

.header-top ul > li {
	margin-right: 14px;
}

.header-top ul > li:last-child {
	margin-right: 0;
}

.header-top ul > li > a,
.header-top ul > li > span {
	padding: 0;
}

.header_scrolled .header-small-banners {
  display:none !important;
}

/* ==============================
   フッターリンク
============================== */

@media (min-width: 992px) {

	.footer-extra-links {
		display: none;
	}

}


@media (max-width: 991.98px) {

	.footer-extra-links {
		padding: 30px 15px 22px;
		text-align: center;
	}

	/* 関連ロゴ */
	.footer-small-banners {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
		margin-bottom: 18px;
	}

	.footer-small-banners a,
	.footer-small-banners img {
		display: block;
		flex-shrink: 0;
	}

	/* 三ツ星・百選 */
	.footer-small-banners img {
		width: auto;
		max-width: 100%;
		height: 60px;
		object-fit: contain;
	}

	/* KOSSUN教育ラボのみ少し大きく */
	.footer-small-banners a:first-child img {
		height: 76px;
	}

	/* SNS */
	.footer-social-nav ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 1px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.footer-social-nav li {
		margin: 0;
		padding: 0;
	}

	.footer-social-nav a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 40px;
		min-height: 40px;
		padding: 0;
		color: inherit;
		line-height: 1;
		text-decoration: none;
		transition: opacity .2s ease;
	}

	.footer-social-nav a:hover {
		opacity: .7;
	}

	.footer-social-nav i {
		font-size: 18px;
		line-height: 1;
	}

	/* note */
	.footer-note-link a {
		min-width: 42px;
	}

	.footer-note-link img {
		display: block;
		width: 42px;
		height: 42px;
		max-width: none;
		object-fit: contain;
	}

}


@media (max-width: 767px) {

	.footer-extra-links {
		padding: 25px 15px 20px;
	}

	/* ロゴ同士の余白はある程度維持 */
	.footer-small-banners {
		gap: 14px;
	}

	/* 三ツ星・百選 */
	.footer-small-banners img {
		height: 48px !important;
	}



	/* SNSはPCヘッダーと同じく詰める */
	.footer-social-nav ul {
		gap: 1px;
	}

}

@media screen and (max-width: 781.98px) {
.apply-button .vk_button_link_txt{
	font-size:1.4rem;
}
}

/*スライド開始調整*/
.pass-slider {
  opacity:0;
}

.pass-slider.swiper-initialized {
  opacity:1;
  transition:opacity .2s ease;
}

.editor-styles-wrapper .pass-slider {
  opacity:1 !important;
}

@media (max-width: 991.98px) {

	/* スライダー自体を画面幅いっぱいにする */
	.pass-slider {
		width: 100vw;
		max-width: none !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}

	/* 各スライド内のコンテンツ幅制限を解除 */
	.pass-slider .vk_slider_item_container {
		width: 100%;
		max-width: none !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		box-sizing: border-box;
	}

	.pass-slider figure {
		margin: 0;
	}

	.pass-slider img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* 書籍一覧 */
.book-box .row {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.book-box .vk_gridColumn_item {
	width: auto;
	max-width: none;
	padding: 0;
}

.book-box figure {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 300px;
	margin: 0;
}

.book-box img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* タブレット・スマホ横向き */
@media (min-width:576px) and (max-width:991px) {
	.book-box .row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 14px;
		margin: 0;
		padding: 0 8px;
		box-sizing: border-box;
	}

	.book-box .vk_gridColumn_item {
		min-width: 0;
		margin: 0;
	}

	.book-box figure {
		height: auto;
	}

	.book-box img {
		height: auto;
	}
}

/* スマホ */
@media (max-width:575px) {
	.book-box .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 8px;
		margin: 0;
		padding: 0 7px;
		box-sizing: border-box;
	}

	.book-box .vk_gridColumn_item {
		min-width: 0;
		margin: 0;
	}

	.book-box figure {
		height: auto;
	}

	.book-box img {
		height: auto;
	}
}


/* youtube風 */

.carousel-slide .vk_slider_item {
	aspect-ratio:16 / 9;
	min-height:0 !important;
	background-size:96% auto !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
}


/* トップカード */
.top-point-box .vk_gridcolcard_item_container {
	overflow: hidden;
	height: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 14px;
}

.top-point-box .vk_gridcolcard_item_header {
	overflow: hidden;
	border-bottom: 4px solid #244b82;
}

.top-point-box .vk_gridcolcard_item_header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s;
}

.top-point-box .vk_gridcolcard_item:hover img {
	transform: scale(1.06);
}

.top-point-box .vk_gridcolcard_item_body {
	padding: 20px 18px;
	text-align: left;
}

.top-point-box .vk_gridcolcard_item_body h3 {
	margin: 0 0 18px;
	color: #102b5c;
	font-size: 23px;
	line-height: 1.45;
}

.top-point-box .vk_gridcolcard_item_body p {
	margin: 0;
	color: #444;
	font-size: 16px;
	line-height: 1.8;
}

/* 講師名 */
.reason-box .wp-block-column .wp-element-caption {
	margin: 10px 0 14px !important;
	color: #555 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-align: center !important;
}

/* 講師陣紹介 */
.reason-box .wp-block-column > .wp-block-image + p {
	margin: 0 !important;
	text-align: center;
}

.reason-box .wp-block-column > .wp-block-image + p a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 18px !important;
	border: 1px solid #0d053d !important;
	border-radius: 4px;
	color: #121b5e !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none !important;
	background: transparent;
	transition: .2s;
}

.reason-box .wp-block-column > .wp-block-image + p a::after {
	content: "›";
	font-size: 18px;
	line-height: 1;
}

.reason-box .wp-block-column > .wp-block-image + p a:hover {
	background: #121b5e !important;
	color: #fff !important;
}

/* 見出し */
.h2-plain::after {
	content: "";
	display: block;
	width: 72px;
	height: 4px;
	margin: 14px auto 0;
	background: #c59a2f;
	border-radius: 2px;
}

h2 span {
	color: #a50046;
}

.lead-h2 .large{
	color: #a50046;
	font-size: 55px;
}

.lead-h2 .large2{
	color: #a50046;
	font-size: 70px;
}

.h3-color {
	color: #a50046;
}

.h2-height{
	line-height:1.6 !important;
}


@media screen and (min-width: 992px) {
.p-highlight,.p-highlight2 {
	font-size: 40px;
line-height:1.5;
	font-family: "M PLUS 1p", sans-serif !important;
	font-weight: 900 !important;
}


.p-highlight span,.p-highlight2 span {
	color: #a50046;
	font-size: 50px;
}

}

@media screen and (max-width: 991.98px) {
.p-highlight,.p-highlight2 {
	font-size: 30px;
line-height:1.5;
	font-family: "M PLUS 1p", sans-serif !important;
	font-weight: 900 !important;
}


.p-highlight span,.p-highlight2 span {
	color: #a50046;
	font-size: 40px;
}
	
	.lead-h2 .large{
	color: #a50046;
	font-size: 40px;
}

}

@media screen and (max-width: 767.98px) {

.lead-h2 .large2{
	color: #a50046;
	font-size: 45px;
}
}

@media screen and (max-width: 575.98px) {
	.p-highlight,.p-highlight2 {
	font-size: 26px;
	font-weight: bold;
}

.p-highlight span {

	font-size: 35px;
}
	.p-highlight2 span {

	font-size: 26px;
}
	
	.lead-h2 .large{

	font-size: 35px;
}
	
	.lead-h2 .large2{
	color: #a50046;
	font-size: 35px;
}
	
}

/* リスト */
.top-list-box {
	margin: 35px 0;
	padding: 22px 0 22px 16px;
	background: #fffefd;
	border: 1px solid #e6dfcf;
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(16, 43, 92, .07);
	gap: 10px;
}

.top-list-box .wp-block-column {
	flex-basis: 50% !important;
	min-width: 0;
}

.top-list-box ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.top-list-box li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 44px;
	margin-bottom: 2px;
	padding-left: 32px;
	color: #0d053d;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}

.top-list-box li:last-child {
	margin-bottom: 0;
}

.top-list-box li::before,
.top-list-box li::after {
	content: "";
	position: absolute;
	top: 50%;
}

.top-list-box li::before {
	left: 0;
	width: 23px;
	height: 23px;
	background: #fff;
	border: 2px solid #c59a2f;
	border-radius: 5px;
	box-sizing: border-box;
	transform: translateY(-50%);
}

.top-list-box li::after {
	left: 6px;
	width: 10px;
	height: 6px;
	border-bottom: 3px solid #102b5c;
	border-left: 3px solid #102b5c;
	transform: translateY(-65%) rotate(-45deg);
}

@media (min-width: 992px) {
	.top-list-box > .wp-block-column:last-child {
		transform: translateX(18px);
	}
}

/* サポート説明 */
.support-box {
	margin: 35px 0;
}

.support-box .h3-plan {
	margin: 0 0 26px;
	padding-bottom: 14px;
	color: #102b5c;
	font-size: 24px;
	line-height: 1.5;
	border-bottom: 1px solid #d8dde5;
}

.support-box .wp-block-image.alignright {
	margin: 0 0 22px 32px;
}

.support-box p {
	margin-bottom: 20px;
	color: #333;
	font-size: 18px;
	line-height: 1.95;
}

.support-box p:last-child {
	margin-bottom: 0;
}

/* 選ばれる理由 */

/*画像スマホ順序調整*/
@media screen and (max-width: 781.98px) {
 .order01 {
    order: 1;
  }
  .order02 {
    order: 2;
  }
}

@media screen and (max-width: 767.98px) {
 .order001 {
    order: 1;
  }
  .order002 {
    order: 2;
  }
}


.reason-box {
	margin-bottom: 30px;
	padding: 30px;
	background: linear-gradient(135deg, #fffaf0 0%, #fff 45%);
	border: 1px solid #e2e5ea;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(16, 43, 92, .08);
	gap: 30px;
}

.reason-box .h3-color {
	display: inline-block;
	margin: 0 0 16px;
	padding: 8px 0;
	font-size: 23px;
	line-height: 1.5;
}

.reason-box p {
	margin: 0;
	color: #333;
	font-size: 18px;
	line-height: 1.9;
}

.reason-box .wp-block-image {
	margin: 0;
}

.reason-box .wp-block-image img {
	display: block;
	width: 100%;
	border: 6px solid #fff;
	border-radius: 12px;
	box-shadow: 0 5px 16px rgba(16, 43, 92, .14);
}

@media (min-width:782px) and (max-width:991px) {
	.reason-box > .wp-block-column:has(.wp-block-image) {
		flex: 2 1 0 !important;
	}

	.reason-box > .wp-block-column:not(:has(.wp-block-image)) {
		flex: 3 1 0 !important;
	}

	.reason-box > .wp-block-column:has(.wp-block-image) img {
		width: 100%;
		height: auto;
	}
}

/* プロフィール */
.profile-container {
	margin: 35px 0;
	padding: 34px 38px;
	background: linear-gradient(135deg, #fffaf0 0%, #fff 45%);
	border: 1px solid #e2e5ea;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(16, 43, 92, .08);
}

.profile-box {
	align-items: center;
	gap: 32px;
	margin-bottom: 26px;
}

.profile-box .h3-plan {
	margin: 0 0 24px;
	padding-bottom: 14px;
	color: #102b5c;
	font-size: 25px;
	line-height: 1.5;
	border-bottom: 1px solid #d7b65c;
}

.profile-box p {
	margin-bottom: 20px;
	color: #333;
	font-size: 16px;
	line-height: 1.9;
}

.profile-box .p-name {
	color: #102b5c;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: .08em;
}

.profile-box .p-en {
	margin-left: 8px;
	color: #102b5c;
	font-family: "Pinyon Script", cursive;
	font-size: 32px;
	line-height: 1;
}

.profile-box .wp-block-image {
	margin: 0;
}

.profile-box .wp-block-image img {
	display: block;
	width: 100%;
	border-radius: 6px;
	box-shadow: 0 5px 15px rgba(16, 43, 92, .12);
}

.profile-container > .wp-block-column > p {
	margin: 0;
	padding-top: 26px;
	color: #333;
	font-size: 16px;
	line-height: 1.95;
	border-top: 1px solid #e1e5eb;
}


@media (min-width: 992px) {
	.profile-box {
		align-items: stretch !important;
	}

	.profile-box > .wp-block-column:last-child {
		position: relative;
	}

	.profile-box > .wp-block-column:last-child .wp-block-image {
		position: absolute;
		inset: 0;
		display: flex;
		justify-content: flex-end;
	}

	.profile-box > .wp-block-column:last-child .wp-block-image img {
		width: auto;
		height: 100%;
		max-width: 100%;
		object-fit: contain;
	}
}

/* タブレット：画像は自然な比率で表示 */
@media (min-width: 782px) and (max-width: 991.98px) {
	.profile-box {
		align-items: flex-end !important;
	}

	.profile-box > .wp-block-column:last-child {
		position: static;
	}

	.profile-box > .wp-block-column:last-child .wp-block-image {
		position: static;
	}

	.profile-box > .wp-block-column:last-child .wp-block-image img {
		width: 100%;
		height: auto;
		object-fit: initial;
	}
}

/* スラッシュ */
.slash-wrap,
.slash2-wrap,
.slash3-wrap {
	text-align: center;
}

.slash-p,
.slash2-p,.slash3-p {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	padding: 0 2em;
	line-height: 1.6;
}

.slash-p {
	font-size: 50px;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

.slash2-p {
	font-size: 45px;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

.slash3-p {
	font-size: 36px;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

@media (max-width: 1199.98px) {
	
	.slash-p,.slash2-p,.slash3-p {
	font-size: 30px;
		
}
	
}

@media (max-width: 767.98px) {
	
	.slash-p,.slash2-p,.slash3-p {
	font-size: 23px;
		
}
	
}



.slash-p::before,
.slash-p::after,
.slash2-p::before,
.slash2-p::after,.slash3-p::before,
.slash3-p::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2px;
}

.slash-p::before,
.slash2-p::before,.slash3-p::before {
	left: 0;
	transform: rotate(-35deg);
	transform-origin: top left;
}

.slash-p::after,
.slash2-p::after,.slash3-p::after {
	right: 0;
	transform: rotate(35deg);
	transform-origin: top right;
}

.slash-p::before,
.slash-p::after,.slash2-p::before,
.slash2-p::after,.slash3-p::before,
.slash3-p::after {
	background: #a50046;
}




.slash-p span,.slash2-p span,.slash3-p span {
	color: #a50046;
}




@media (max-width: 575.98px) {
	
	.slash-p,.slash2-p,.slash3-p {
	font-size: 15px;
}
	

	
}

@media (max-width: 991.98px) {
	
	.top-list-box{	padding: 22px 16px 22px 16px;
	gap:24px;}
	
	.top-list-box li{
		font-size:15px;
	}
	
}

@media (max-width: 781.98px) {
	.top-point-box .vk_gridcolcard_item_body h3 {
		font-size: 20px;
	}

	.top-list-box {
		gap: 0;
	}

	.top-list-box .wp-block-column {
		flex-basis: 100% !important;
		padding: 0;
	}



	.top-list-box li {
		min-height: 0;
		padding-top: 8px;
		padding-bottom: 8px;
		font-size: 16px;
	}

	.support-box {
		padding: 26px 20px;
	}

	.support-box .h3-plan {
		font-size: 20px;
	}

	.support-box .wp-block-image.alignright {
		float: none;
		margin: 0 0 20px;
	}

	.support-box .wp-block-image img {
		width: 100% !important;
	}

	.reason-box {
		padding: 24px 20px;
		gap: 20px;
	}

	.reason-box .h3-color {
		font-size: 20px;
	}

	.profile-container {
		padding: 25px 20px;
	}

	.profile-box {
		gap: 22px;
	}

	.profile-box .h3-plan {
		font-size: 21px;
	}

	.profile-box .p-name {
		font-size: 22px;
	}

	.profile-box .p-en {
		display: inline-block;
		margin-left: 5px;
		font-size: 29px;
	}
}

/* 企業ロゴ */
.media-box .row {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	margin: 0;
}

.media-box .vk_gridColumn_item {
	width: auto;
	max-width: none;
	padding: 0;
}

.media-box figure {
	margin: 0;
}

.media-box img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #eee;
}

/* スマホ */
@media (max-width: 767px) {
	.media-box .row {
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}
}

/*総合型選抜とは*/

.lead-h2{
	font-size:2.5rem;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

	.lead2-h2{
		font-size:2.5rem;
font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

	.lead3-h2{
	font-size:1.8rem;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}


@media (max-width: 1199.98px) {
	
		.lead2-h2{
			font-size:2rem;}
		.lead3-h2{
			font-size:1.8rem;}
}

@media (max-width: 767.98px) {

	.lead-h2{
		font-size:2rem !important;
		line-height:1.5;
	}
	
			.lead3-h2{
			font-size:1.5rem;}
	
}

.comp-heading {
  padding-bottom:10px;
  border-bottom:1px solid #c59a2f !important;
  color:#102b5c;
}

.comp-heading::before,
.comp-heading::after {
  content:none !important;
  display:none !important;
}

@media (max-width: 575.98px) {
.lead-h2{
	font-size:1.4rem !important;
}
	
	.lead2-h2{
	font-size:1.3rem !important;
}
	
}

.marker{
	background: linear-gradient(
		transparent 60%,
		rgba(165, 0, 70, .22) 60%
	);
}

/*受験親のオキテ*/

.rules-nav {
  max-width:920px;
  margin:30px auto 50px;
  padding:24px 20px;
  background:#f8f6f1;
  border-radius:12px;
}

.rules-nav .wp-block-column {
  min-width:0;
}

.rules-nav p {
  margin:0 !important;
	padding:12px 0;
}



.rules-nav p + p {
  border-top:1px solid rgba(197,154,47,.22);
}

.rules-nav a {
  display:block;
  padding:15px 10px;
  color:#102b5c;
  font-size:21px;
	font-family:"Yuji Syuku",serif;

  font-weight:bold;
  line-height:1.5;
  text-decoration:none;
  transition:color .2s ease, background-color .2s ease;
}

.rules-nav a:hover {
  color:#a50046;
  background:rgba(255,255,255,.55);
}

@media(max-width:767px){
  .rules-nav {
    margin:24px auto 40px;
    padding:16px 12px;
  }

  .rules-nav a {
    padding:13px 8px;
    font-size:15px;
  }
}



/* 各オキテ */
.rule-section {
  position:relative;
  margin-bottom:32px;
  padding:34px 36px 32px;
  background:linear-gradient(135deg,#fff 0%,#fffdf8 100%);
  border-radius:14px;
  box-shadow:0 7px 22px rgba(16,43,92,.07);
  overflow:hidden;
}


/* 大きな番号 */
.rule-section::before {
  position:absolute;
  top:10px;
  right:22px;
  color:rgba(197,154,47,.12);
  font-size:72px;
  font-weight:bold;
  line-height:1;
  pointer-events:none;
}

#rule-1::before { content:"01"; }
#rule-2::before { content:"02"; }
#rule-3::before { content:"03"; }
#rule-4::before { content:"04"; }
#rule-5::before { content:"05"; }
#rule-6::before { content:"06"; }
#rule-7::before { content:"07"; }

/* 見出し */
.rule-section h4 {
  position:relative;
  margin:0 0 22px;
  padding:0 80px 13px 0;
  color:#a50046;
  font-size:23px;
  line-height:1.5;
}

/* 見出し下の短いゴールドライン */
.rule-section h4::after {
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:52px;
  height:2px;
  background:#c59a2f;
}

/* 本文 */
.rule-section p {
  position:relative;
  margin:0;
  color:#333;
  font-size:16px;
  line-height:2;
}

@media(max-width:767px){
  .rule-section {
    margin-bottom:24px;
    padding:26px 20px 24px;
  }

  .rule-section::before {
    top:12px;
    right:15px;
    font-size:52px;
  }

  .rule-section h4 {
    padding-right:55px;
    font-size:20px;
  }

  .rule-section p {
    font-size:15px;
    line-height:1.9;
  }
}

.rules-area {
  width:100vw;
  margin:40px calc(50% - 50vw);
  padding:45px 20px;
  background:#f5f6f8;
  box-sizing:border-box;
}

.rules-area .rule-section {
  width:100%;
  max-width:920px;
  margin-right:auto;
  margin-left:auto;
}

.rules-area .rule-section:last-child {
  margin-bottom:0;
}

@media(max-width:781px){
  .rules-nav {
    gap:0 !important;
  }

  .rules-nav .wp-block-column + .wp-block-column p:first-child {
    border-top:1px solid rgba(197,154,47,.22);
  }
}

@media(max-width:767px){
  .rules-area {
    margin-top:30px;
    margin-bottom:30px;
    padding:30px 15px;
  }
}

/* 教育方針 */
.philos-box {
  position:relative;
  margin:25px 0 45px;
  padding:32px 38px;
  background:linear-gradient(135deg,#fffaf0 0%,#fff 55%);
  border:1px solid #e3d8bd;
  border-radius:14px;
  box-shadow:0 7px 22px rgba(16,43,92,.06);
}

.philos-box p:first-child {
  position:relative;
  margin:0 0 24px !important;
  padding-bottom:18px;
  color:#102b5c;
  font-size:35px;
	font-family:"Yuji Syuku",serif;
  font-weight:bold;
  line-height:1.6;
  text-align:center;
}

.philos-box p:first-child::after {
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  width:42px;
  height:1px;
  background:#c59a2f;
  transform:translateX(-50%);
}

.philos-box p:last-child {
  margin:0 !important;
  color:#333;
  font-size:18px;
  line-height:2;
}


@media(max-width:1199.98px){
	
	.philos-box p:first-child {
		font-size:30px;
	}
}

@media(max-width:780.98px){
	

	
	.philos-box p:first-child {
		font-size:28px !important;
	}
	
		
	.philos-box p:last-child {
		
		font-size:18px !important;
	}
	

}

@media(max-width:575.98px){
	
	.philos-box p:first-child {
		font-size:28px !important;
	}
}

/* こだわり目次 */
.philos-nav {
  margin:12px auto 45px;
  padding:22px 14px 22px 20px;
  background:#f8f6f1;
  border-radius:12px;
  gap:0;
}

.philos-nav .wp-block-column {
  min-width:0;
}

.philos-nav p {
  margin:0 !important;
  padding:12px 8px;
  border-bottom:1px solid rgba(197,154,47,.25);
  font-family:"Yuji Syuku",serif;
}

.philos-nav a {
  display:block;
  color:#102b5c;
  font-size:24px;
font-weight:bold;
  line-height:1.5;
  text-decoration:none;
  transition:color .2s ease;
}

.philos-nav a:hover {
  color:#a50046;
}

.philos-nav .wp-block-column p:last-child {
  border-bottom: none;
}

@media (min-width: 780.98px) {
	.philos-nav > .wp-block-column:last-child {
		padding-left: 20px;
	}
}

@media(max-width:1199.98px){
	
	.philos-nav {
 
  padding:22px 18px;

}
	
	.philos-nav a {
		font-size:19px !important;
	}
}

@media(max-width:991.98px){
	
		.philos-nav a {
		font-size:21px !important;
	}
}

@media(max-width:780.98px){
	
		.philos-nav a {
		font-size:24px !important;
	}
}

@media(max-width:575.98px){
	
		.philos-nav {
 
  padding:22px 10px !important;

}
	
	.philos-nav p{
		padding-left:4px !important;
	}
		.philos-nav a {
		font-size:21px !important;
	}
}

/* こだわり詳細 */
.philos-section {
  position:relative;
  margin-bottom:30px;
  padding:32px 35px 30px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e5ea;
  border-radius:10px;
  box-shadow:0 6px 20px rgba(16,43,92,.05);
}


.philos-section::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:90px;
  height:4px;
  background:#102b5c;
}

.philos-section h3 {
  position:relative;
  margin:0 0 18px;
  padding:0 0 12px;
  color:#102b5c;
  font-size:23px;
  line-height:1.5;
  border-bottom:1px solid #e8e2d5;
  font-family:Hiragino Mincho ProN,"游明朝",serif;
}

.philos-section h3::after {
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:55px;
  height:2px;
  background:#c59a2f;
  border-bottom:none;
}


@media(max-width:780.98px){
  .philos-box {
    padding:26px 20px;
  }

  .philos-box p:first-child {
    font-size:19px;
  }

  .philos-box p:last-child {
    font-size:15px;
    line-height:1.9;
  }

  .philos-nav {
    margin:24px auto 40px;
    padding:16px 18px;
    gap:0;
  }

  .philos-nav p {
    padding:11px 5px 11px 20px;
  }

  .philos-nav a {
    font-size:16px;
  }

  .philos-section {
    margin-bottom:24px;
    padding:25px 20px 23px;
  }

  .philos-section h3 {
    font-size:20px;
  }

  .philos-section p {
    font-size:15px;
    line-height:1.9;
  }
			.philos-nav .wp-block-column:first-child p:last-child {
		border-bottom: 1px solid #e3d8bd;
	}

}

@media (max-width:767px) {
	.sub-section--col--two {
		margin-bottom:30px;
	}
}

@media (max-width:991.98px) {
	.sub-section .sub-section-title {
		font-size: 14px !important;
	}

	.sub-section .sub-section-title a,
	.sub-section .widget_link_list li a {
		font-size: 14px;
	}
}

/* 本文差し込み画像 */
.philos-img.alignright,
.rules-img.alignright,.support-img.alignright {
	margin: 0 0 22px 32px;
}

.philos-img img,
.rules-img img,.support-img.alignright {
	display: block;
	height: auto;
}

@media (max-width: 767px) {
	.philos-img.alignright,
	.rules-img.alignright,.support-img.alignright {
		float: none !important;
		width: 100% !important;
		margin: 0 0 20px !important;
	}

	.philos-img img,
	.rules-img img,.support-img img {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
	}
}


/* 合格実績 */
.results-container .vk_outer_container {
  padding-right:40px;
  padding-left:40px;
  box-sizing:border-box;
}

.results-section {
  align-items:center;
  gap:24px;
  padding:24px 28px;
  background:#fff;
  border:1px solid #e2e5ea;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(16,43,92,.05);
}

.results-section + .results-section {
  margin-top:26px !important;
}

.results-section .wp-block-column:first-child {
  flex:0 0 80px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}

.results-section .wp-block-column:last-child {
  flex:1 1 auto !important;
}

.results-section figure {
  margin:0;
}

.results-section img {
  display:block;
  width:72px;
  height:auto;
  margin:auto;
}

.results-section h4 {
  margin:0 0 7px;
  color:#102b5c;
  font-size:23px;
  font-weight:bold;
  line-height:1.5;
}

.results-section p {
  margin:0;
  color:#333;
  font-size:16px;
  line-height:1.9;
}

.results-index {
  margin:0 0 22px !important;
  color:#102b5c;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
}

/* 合格実績の基準 */
.results-list {
  margin:45px 0;
  padding:30px 34px;
  background:#fffdf8;
  border:1px solid #e3d8bd;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(16,43,92,.05);
}

.results-list h3 {
  margin:0 0 25px;
  color:#102b5c;
  font-size:21px;
  font-weight:bold;
  line-height:1.5;
}

.results-list ul {
  margin:0;
  padding:0;
  list-style:none;
}

.results-list li {
  position:relative;
  margin:0 0 18px;
  padding-left:38px;
  color:#333;
  font-size:16px;
  line-height:1.9;
}

.results-list li:last-child {
  margin-bottom:0;
}

.results-list li::before {
  content:"";
  position:absolute;
  top:.45em;
  left:0;
  width:22px;
  height:22px;
  background:#fff;
  border:2px solid #c59a2f;
  border-radius:5px;
  box-sizing:border-box;
}

.results-list li::after {
  content:"";
  position:absolute;
  top:calc(.45em + 8px);
  left:6px;
  width:9px;
  height:5px;
  border-left:3px solid #102b5c;
  border-bottom:3px solid #102b5c;
  transform:rotate(-45deg);
}



/* 大学画像 */
.university-img .row {
  row-gap:14px;
  justify-content:center;
}

.university-img .vk_gridColumn_item {
  flex:0 0 20%;
  max-width:20%;
}

.university-img figure {
  margin:0;
  overflow:hidden;
  border:1px solid #e2e5ea;
  border-radius:8px;
  box-shadow:0 4px 14px rgba(16,43,92,.06);
}

.university-img img {
  display:block;
  width:100%;
  height:auto;
  transition:transform .3s ease;
}

.university-img figure:hover img {
  transform:scale(1.04);
}

/* メイン画像 */
.results-main-img {
  margin:25px auto 30px;
}

.results-main-img img {
  display:block;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(16,43,92,.08);
}

/* 見出し */
.results-title {
  display:block;
  width:100%;
  margin:45px 0 35px;
  padding:16px 25px 18px;
  box-sizing:border-box;
  background:#102b5c;
  border-bottom:5px solid #c59a2f;
  border-radius:4px;
  color:#fff;
  font-size:27px;
  font-weight:bold;
  line-height:1.4;
  text-align:center;
  box-shadow:0 6px 16px rgba(16,43,92,.12);
}

.results-title::before,
.results-title::after {
  content:none !important;
}

/* スマホ */
@media(max-width:780.98px) {
  .results-container .vk_outer_container {
    padding-right:15px;
    padding-left:15px;
  }

  .results-section {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:18px 15px;
  }

  .results-section + .results-section {
    margin-top:20px !important;
  }

  .results-section > .wp-block-column {
    width:100% !important;
    flex-basis:auto !important;
  }

  .results-section .wp-block-column:first-child {
    flex:auto !important;
  }

  .results-section figure {
    margin:0 auto;
  }

  .results-section img {
    width:58px;
  }

  .results-section h4 {
    margin-bottom:8px;
    font-size:20px;
    text-align:center !important;
  }

  .results-section p {
    font-size:15px;
    line-height:1.8;
    text-align:left;
  }

  .results-list {
    margin:35px 0;
    padding:24px 20px;
  }

  .results-list h3 {
    margin-bottom:20px;
    font-size:19px;
  }

  .results-list li {
    margin-bottom:16px;
    padding-left:34px;
    font-size:15px;
    line-height:1.8;
  }

  .university-img .row {
    row-gap:10px;
  }

  .university-img .vk_gridColumn_item {
    flex:0 0 50%;
    max-width:50%;
  }

  .results-title {
    margin:35px 0 28px;
    padding:13px 15px 15px;
    border-bottom-width:4px;
    font-size:22px;
  }
}

.university-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 0;
	margin: 24px 0 40px;
	padding: 0;
	list-style: none;
}

.university-nav li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.university-nav li:not(:last-child)::after {
	content: "｜";
	margin: 0 8px;
	color: #bbb;
}

.university-nav a {
	color: #102b5c;
	font-weight: 700;
	text-decoration: none;
}

.university-nav a:hover {
	color: #a50046;
	text-decoration: underline;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.university-nav {
		flex-wrap: nowrap;
	}

	.university-nav li {
		flex-shrink: 0;
	}

	.university-nav li:not(:last-child)::after {
		margin: 0 6px;
	}
	
	.university-nav a {
	font-size: 15px;
}
}

@media (max-width: 767.98px) {
	.university-nav {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 10px 0;
		margin: 18px 0 28px;
		padding: 0;
	}

	.university-nav li {
		display: block;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	.university-nav a {
		display: block;
		font-size: 14px;
		line-height: 1.4;
		white-space: nowrap;
	}

	/* flex用の区切り線を消す */
	.university-nav li::after {
		content: none !important;
	}
}

/* 保護者の声 */
.voice-section {
  position:relative;
  margin-bottom:45px;
  padding:42px 30px 38px;
  overflow:visible;
  border:1px solid;
  border-radius:16px;
  box-shadow:0 7px 22px rgba(16,43,92,.06);
}

.voice-female {
  background:#fff7f8;
  border-color:#ecd7dd;
}

.voice-male {
  background:#f2f7fc;
  border-color:#cbd9e7;
}

.voice-section::before,
.voice-section::after {
  content:"";
  position:absolute;
  width:66px;
  height:66px;
  background:url("https://www.kossun.net/wp/wp-content/uploads/2026/08/sakura_pc.png") center / contain no-repeat;
  pointer-events:none;
}

.voice-section::before {
  top:-18px;
  left:-18px;
}

.voice-section::after {
  right:-14px;
  bottom:-14px;
}

.voice-section > .wp-block-column {
  position:relative;
  z-index:1;
}

@media(max-width:767px){
  .voice-section::before,
  .voice-section::after {
    width:48px;
    height:48px;
    background-image:url("https://www.kossun.net/wp/wp-content/uploads/2026/08/sakura_sp.png");
  }

  .voice-section::before {
    top:-12px;
    left:-10px;
  }

  .voice-section::after {
    right:-8px;
    bottom:-10px;
  }
}

/* 見出し */
.voice-section h3 {
  margin-bottom:28px !important;
  color:#a50046;
  font-size:30px;
  font-weight:900;
  line-height:1.45;
}

/* 本文 */
.voice-section .note-body {
  margin:0 !important;
  color:#333;
  font-family:"Yuji Syuku",serif;
  font-size:17px;
  line-height:2.5;
  text-decoration-line:underline;
  text-decoration-style:dashed;
  text-decoration-color:#bbb;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}

/* レイアウト */
.voice-column {
  align-items:flex-start;
  gap:35px;
}

.voice-column > .wp-block-column:first-child {
  flex-basis:27% !important;
}

.voice-column > .wp-block-column:last-child {
  flex-basis:73% !important;
}

/* 人物画像 */
.voice-column figure {
  margin:0 0 16px;
  text-align:center;
}

.voice-column img {
  display:block;
  width:160px;
  height:auto;
  margin:0 auto;
  border-radius:10px;
  box-shadow:0 5px 16px rgba(16,43,92,.12);
}

/* 評価 */
.voice-evaluation {
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:210px;
  margin:0 auto !important;
  padding:14px 16px;
  box-sizing:border-box;
  background:rgba(255,255,255,.75);
  border:1px solid #d8dde3;
  border-radius:8px;
  color:#333;
  font-size:15px;
  line-height:1.5;
}

.voice-satisfaction {
  display:block;
  margin-bottom:10px;
  text-align:center;
}

.voice-rating-label,
.voice-stars {
  display:block;
  padding:7px 10px;
  background:#fff;
  border:1px solid #d8dde3;
  text-align:center;
}

.voice-rating-label {
  font-weight:bold;
}

.voice-female .voice-rating-label {
  background:#fbe9ef;
}

.voice-male .voice-rating-label {
  background:#e8f1f8;
}

.voice-stars {
  margin-top:-1px;
  margin-bottom:8px;
  color:#f3b21a;
  font-size:18px;
  line-height:1.2;
  letter-spacing:1px;
}

.voice-recommend-row {
  display:block;
  margin-top:auto;
  padding-top:10px;
  white-space:normal;

}

.voice-recommend-row strong {
  display:inline-block;
  color:#a50046;
  font-weight:800;
  white-space:nowrap;
}

@media(min-width:768px) and (max-width:991px){
  .voice-column {
    display:block !important;
  }

  .voice-column > .wp-block-column:first-child {
    display:grid;
    grid-template-columns:160px 210px;
    justify-content:center;
    align-items:start;
    gap:25px;
    margin-bottom:30px;
  }

  .voice-column figure {
    margin:0;
  }

  .voice-column img {
    width:160px;
  }

  .voice-evaluation {
    margin:0 !important;
  }

  .voice-column > .wp-block-column:last-child {
    width:100%;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.voice-evaluation {
		padding: 12px 10px;
	}

	.voice-stars {
		padding-right: 4px;
		padding-left: 4px;
		font-size: 16px;
		letter-spacing: 0;
		white-space: nowrap;
	}
}

@media(max-width:767px){
  .voice-section {
    padding:35px 20px 30px;
  }

  .voice-section h3 {
    margin-bottom:22px !important;
    font-size:27px;
  }

  .voice-section .note-body {
    font-size:16px;
  }

  .voice-column {
    gap:25px;
  }

  .voice-column > .wp-block-column:first-child,
  .voice-column > .wp-block-column:last-child {
    flex-basis:100% !important;
  }

  .voice-column img {
    width:150px;
  }

  .voice-evaluation {
    padding:13px 15px;
    font-size:14px;
  }

  .voice-stars {
    font-size:17px;
  }
}


/*コース料金*/

.h2-course{
	font-size:40px;
		font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
}

.h2-course span{
	font-size:65px;
}

@media (max-width: 1199.98px) {
	
	.h2-course{
	font-size:36px;
		
}

.h2-course span{
	font-size:55px;
}
}

@media (max-width:767.98px) {

	.h2-course{
	font-size:30px !important;
		line-height:1.5;
}
	.h2-course span{
	font-size:45px;
}
}

@media (max-width:575.98px) {

	.h2-course{
	font-size:18px !important;
		line-height:1.5;
}
	.h2-course span{
	font-size:33px;
}
}

/* コース料金 */
.menu-box,
.menu-box2 {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.menu-box .vk_gridcolcard_item,
.menu-box2 .vk_gridcolcard_item {
  overflow:hidden;
  border:1px solid #d7dce3;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(16,43,92,.08);
}

.menu-box .vk_gridcolcard_item_body,
.menu-box2 .vk_gridcolcard_item_body {
  height:100%;
  padding:0 !important;
  background:var(--course-bg);
}

/* 一次対策 */
.menu-box .menu-left {
  --course-color:#65788e;
  --course-bg:#f3f5f7;
  --course-band:#e4e8ec;
}

.menu-box .menu-center {
  --course-color:#a50046;
  --course-bg:#fbf2f5;
  --course-band:#f0e1e6;
}

.menu-box .menu-right {
  --course-color:#c59a2f;
  --course-bg:#fffaf0;
  --course-band:#f2ecdf;
}

/* 二次対策 */
.menu-box2 .menu-left {
  --course-color:#87516a;
  --course-bg:#faf3f6;
  --course-band:#eee1e7;
}

.menu-box2 .menu-center {
  --course-color:#3f6389;
  --course-bg:#f2f6fa;
  --course-band:#e1e9f1;
}

.menu-box2 .menu-right {
  --course-color:#8a702d;
  --course-bg:#fbf8ef;
  --course-band:#ece7d9;
}

.menu-box h3,
.menu-box2 h3 {
  display:flex;
  align-items:center;
  justify-content:center !important;
  width:100%;
  margin:0 !important;
  padding:18px 15px;
  box-sizing:border-box;
  background:var(--course-color);
  color:#fff;
  font-family:"Hiragino Mincho ProN","游明朝",serif;
  font-size:21px;
  font-weight:bold;
  line-height:1.5;
  text-align:center !important;
}

.menu-box h3::before,
.menu-box h3::after,
.menu-box2 h3::before,
.menu-box2 h3::after {
  content:none !important;
  display:none !important;
}

.menu-box h4,
.menu-box2 h4 {
  margin:0 !important;
  padding:10px 12px;
  background:var(--course-band);
  color:#102b5c;
  font-family:"Hiragino Mincho ProN","游明朝",serif;
  font-size:16px;
  font-weight:bold;
  line-height:1.5;
  text-align:center !important;
}

.menu-box ul,
.menu-box2 ul,
.menu-box ol,
.menu-box2 ol {
  margin:0;
  padding-top:22px;
  padding-right:10px;
  padding-bottom:22px;
}

.menu-box ul,
.menu-box2 ul {
  padding-left:40px;
  list-style:none;
}

.menu-box ol,
.menu-box2 ol {
  padding-left:52px;
}

.menu-box li,
.menu-box2 li {
  margin-bottom:8px;
  color:#333;
  font-size:15px;
  line-height:1.6;
}

.menu-box li:last-child,
.menu-box2 li:last-child {
  margin-bottom:0;
}

.menu-box ul li,
.menu-box2 ul li {
  position:relative;
}

.menu-box ul li::before,
.menu-box2 ul li::before {
  content:"";
  position:absolute;
  top:calc(.2em + 2px);
  left:-30px;
  width:20px;
  height:20px;
  background:#fff;
  border:1.5px solid #c59a2f;
  border-radius:5px;
  box-sizing:border-box;
}

.menu-box ul li::after,
.menu-box2 ul li::after {
  content:"";
  position:absolute;
  top:calc(.2em + 8px);
  left:-24px;
  width:8px;
  height:5px;
  border-left:2px solid #102b5c;
  border-bottom:2px solid #102b5c;
  transform:rotate(-45deg);
}

@media (max-width:767px) {
  .menu-box ul li::before,
  .menu-box2 ul li::before {
    top:calc(.2em - 1px);
  }

  .menu-box ul li::after,
  .menu-box2 ul li::after {
    top:calc(.2em + 5px);
  }
}

.menu-box .vk_gridcolcard_item_body > p:last-child,
.menu-box2 .vk_gridcolcard_item_body > p:last-child {
  margin:0 !important;
  padding:18px 12px 20px;
  color:#102b5c;
  font-size:18px;
  font-weight:normal;
  line-height:1.5;
  text-align:center;
}

.menu-box .vk_gridcolcard_item_body,
.menu-box2 .vk_gridcolcard_item_body {
  display:flex;
  flex-direction:column;
  height:100%;
}

.menu-box .vk_gridcolcard_item_body > h4:last-of-type,
.menu-box2 .vk_gridcolcard_item_body > h4:last-of-type {
  margin-top:auto !important;
}

@media(min-width:992px){
  .menu-box h3,
  .menu-box2 h3 {
    min-height:98px;
  }

  .menu-box ul,
  .menu-box2 ul {
    min-height:150px;
    padding-bottom:10px;
    box-sizing:border-box;
  }

  .menu-box ol,
  .menu-box2 ol {
    min-height:245px;
    box-sizing:border-box;
  }
}

@media(max-width:991px){
  .menu-box,
  .menu-box2 {
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}

@media(max-width:767px){
  .menu-box h3,
  .menu-box2 h3 {
    padding:15px 12px;
    font-size:19px;
  }

  .menu-box h4,
  .menu-box2 h4 {
    font-size:15px;
  }

  .menu-box li,
  .menu-box2 li {
    font-size:15px;
  }

  .menu-box .vk_gridcolcard_item_body > p:last-child,
  .menu-box2 .vk_gridcolcard_item_body > p:last-child {
    font-size:17px;
  }
}

/* コース一覧 */
.course-list {
  margin:35px 0 45px;
  padding:0;
  overflow:hidden;
  background:#f2f5f8;
  border:1px solid #d8c89f;
  border-radius:8px;
}

.course-list > .wp-block-column {
  width:100%;
}

.course-list > .wp-block-column > p:first-child {
  margin:0 !important;
  padding:16px 20px;
  background:#d5bd79;
  color:#102b5c;
  font-size:23px;
  line-height:1.5;
  text-align:center;
}

.course-list > .wp-block-column > .wp-block-columns {
  gap:0;
  margin:0;
}

.course-list > .wp-block-column > .wp-block-columns > .wp-block-column {
  padding:20px 40px 22px;
}

.course-list > .wp-block-column > .wp-block-columns > .wp-block-column + .wp-block-column {
  border-left:1px solid #d8c89f;
}

.course-list > .wp-block-column > .wp-block-columns > .wp-block-column > p {
  margin:0 0 10px !important;
  color:#102b5c;
  font-size:18px;
  line-height:1.5;
  text-align:center;
}

.course-list ul {
  width:fit-content;
  margin:0 auto;
  padding:0;
  list-style:none;
}

.course-list li {
  position:relative;
  margin:0 0 8px;
  padding-left:30px;
  color:#102b5c;
  font-size:17px;
  line-height:1.6;
}

.course-list li:last-child {
  margin-bottom:0;
}

.course-list li::before {
  content:"";
  position:absolute;
  top:calc(.2em + 2px);
  left:0;
  width:20px;
  height:20px;
  background:#fff;
  border:1.5px solid #c59a2f;
  border-radius:5px;
  box-sizing:border-box;
}

.course-list li::after {
  content:"";
  position:absolute;
  top:calc(.2em + 8px);
  left:6px;
  width:8px;
  height:5px;
  border-left:2px solid #102b5c;
  border-bottom:2px solid #102b5c;
  transform:rotate(-45deg);
}

@media (max-width:767px) {
  .course-list li::before {
    top:calc(.2em - 1px);
  }

  .course-list li::after {
    top:calc(.2em + 5px);
  }
}

@media(max-width:767px){
  .course-list > .wp-block-column > p:first-child {
    padding:13px 15px;
    font-size:20px;
  }

  .course-list > .wp-block-column > .wp-block-columns {
    display:block;
  }

  .course-list > .wp-block-column > .wp-block-columns > .wp-block-column {
    padding:20px 25px;
  }

  .course-list > .wp-block-column > .wp-block-columns > .wp-block-column + .wp-block-column {
    border-top:1px solid #d8c89f;
    border-left:0;
  }

  .course-list > .wp-block-column > .wp-block-columns > .wp-block-column > p {
    font-size:17px;
  }

  .course-list li {
    font-size:16px;
  }
}

/* 対策範囲 */
.course-range {
  gap:24px;
  margin:40px 0;
}

.course-range > .wp-block-column {
  overflow:hidden;
  background:#fffdf8;
  border:1px solid #e3d8bd;
  border-radius:12px;
  box-shadow:0 5px 16px rgba(16,43,92,.05);
}

/* 大見出し */
.course-range h3 {
  margin:0 !important;
  padding:14px 18px;
  background:#eee5cf;
  color:#102b5c;
  font-family:"Hiragino Mincho ProN","游明朝",serif;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
  text-align:center !important;
}

.course-range h3::before,
.course-range h3::after {
  content:none !important;
  display:none !important;
}

/* 小見出し */
.course-range h4 {
  margin:22px 26px 12px !important;
  padding:0 0 8px;
  color:#102b5c;
 
  font-size:18px;
  font-weight:normal;
  line-height:1.5;
  border-bottom:1px solid #d8c89f;
}

.course-range h4::before,
.course-range h4::after {
  content:none !important;
  display:none !important;
}

/* リスト */
.course-range ul {
  margin:0 26px 24px;
  padding:0;
  list-style:none;
}

.course-range li {
  position:relative;
  margin-bottom:9px;
  padding-left:30px;
  color:#333;
  font-size:16px;
  line-height:1.7;
}

.course-range li:last-child {
  margin-bottom:0;
}

.course-range li::before {
  content:"";
  position:absolute;
  top:calc(.35em + 1px);
  left:0;
  width:20px;
  height:20px;
  background:#fff;
  border:1.5px solid #c59a2f;
  border-radius:5px;
  box-sizing:border-box;
}

.course-range li::after {
  content:"";
  position:absolute;
  top:calc(.35em + 7px);
  left:6px;
  width:8px;
  height:5px;
  border-left:2px solid #102b5c;
  border-bottom:2px solid #102b5c;
  transform:rotate(-45deg);
}

@media(max-width:767px){
  .course-range {
    gap:20px;
  }

  .course-range h3 {
    padding:12px 15px;
    font-size:18px;
  }

  .course-range h4 {
    margin:18px 20px 10px !important;
    font-size:17px;
  }

  .course-range ul {
    margin:0 20px 20px;
  }

  .course-range li {
    font-size:15px;
  }
}

.course-range > .wp-block-column:last-child ul:last-child {
  margin-bottom:32px;
}

@media (max-width:767px) {

  .course-range li::before {
    top:calc(.35em - 2px);
  }

  .course-range li::after {
    top:calc(.35em + 4px);
  }


  .course-range > .wp-block-column:first-child ul:last-child {
    margin-bottom:28px;
  }
}


/* お申込み例 */
.apply-examples {
  display:flex;
  flex-direction:column;
  gap:22px;
  margin:30px 0 45px;
}

.apply-example {
  margin:0 !important;
  padding:24px 28px;
  background:#fff;
  border:1px solid #e2e5ea;
  border-radius:12px;
  box-shadow:0 5px 16px rgba(16,43,92,.05);
}

.apply-example p {
  margin:0 !important;
  color:#333;
  font-size:16px;
  line-height:1.8;
}

.apply-example p:first-child {
  margin-bottom:14px !important;
  color:#102b5c;
  font-size:17px;
  font-weight:bold;
}

.apply-example p:last-child {
  padding:12px 16px;
  background:#f8f6f1;
  border-radius:6px;
}

.apply-total {
  color:#a50046;
  font-size:18px;
}

@media(max-width:767px){
  .apply-examples {
    gap:18px;
  }

  .apply-example {
    padding:20px;
  }

  .apply-example p {
    font-size:15px;
  }

  .apply-example p:first-child {
    font-size:16px;
  }

  .apply-example p:last-child {
    padding:10px 12px;
  }

  .apply-total {
    font-size:17px;
  }
}

/* 料金 */
.price-appeal {
  align-items:stretch;
  margin:40px 0 45px;
  overflow:hidden;
  background:linear-gradient(135deg,#fffaf0 0%,#f5f6f8 100%);
  border:1px solid #e3d8bd;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(16,43,92,.08);
}

.price-appeal-text {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 10px 30px 38px;
}

.price-appeal h3,
.price-appeal h4 {
  font-family:"Hiragino Mincho ProN","游明朝",serif;
}

.price-appeal h3 {
  margin:0 0 4px !important;
  color:#102b5c;
  font-size:26px;
  font-weight:bold;
  line-height:1.4;
}

.price-appeal h4 {
  margin:0 0 24px !important;
  color:#102b5c;
  font-size:22px;
  font-weight:bold;
  line-height:1.5;
}

.price-appeal h3::before,
.price-appeal h3::after,
.price-appeal h4::before,
.price-appeal h4::after {
  content:none !important;
  display:none !important;
}

.price-saving {
  color:#a50046;
  white-space:nowrap;
}

.price-saving-num {
  font-size:1.8em;
  font-weight:bold;
  line-height:1;
}

.price-appeal h3 .price-saving-num {
  font-size:2.1em;
}

/* 料金比較 */
.price-compare {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  column-gap:14px;
  row-gap:6px;
  align-items:center;
  padding:16px 20px;
  background:rgba(255,255,255,.75);
  border:1px solid #e2e5ea;
  border-radius:10px;
}

.price-compare > p {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  color:#333;
  font-size:16px;
  line-height:1.9;
  text-align:left !important;
  white-space:nowrap;
}

.price-compare .price-saving-num {
  font-size:1.6em;
}

/* 人物 */
.price-appeal-img {
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:15px 20px 0 0;
}

.price-appeal-img figure {
  margin:0;
}

.price-appeal-img img {
  display:block;
  width:100%;
  max-width:250px;
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 5px 8px rgba(16,43,92,.12));
}


/* タブレット～小さめPC */
@media (min-width: 782px) and (max-width: 1199.98px) {

	.price-appeal-text {
		padding: 20px 5px 30px 24px;
	}

	.price-compare {
		grid-template-columns: 1.35fr 1fr 1fr;
		column-gap: 8px;
		padding: 14px 12px;
	}

	.price-compare > p {
		font-size: 14px;
	}

	.price-compare .price-saving-num {
		font-size: 1.45em;
	}

	.price-appeal-img {
		padding-right: 10px;
	}
}

/* スマホ */
@media(max-width:767px) {
  .price-appeal {
    display:block;
    margin:30px 0 35px;
    text-align:center;
  }

  .price-appeal > .price-appeal-text {
    width:100% !important;
    flex-basis:auto !important;
    padding:28px 20px 10px !important;
    box-sizing:border-box;
  }

  .price-appeal h3,
  .price-appeal h4 {
    width:100%;
    text-align:center !important;
  }

  .price-appeal h3 {
    font-size:21px;
  }

  .price-appeal h4 {
    margin-bottom:20px !important;
    font-size:19px;
  }

  .price-compare {
    width:100% !important;
    max-width:none !important;
    margin-right:0 !important;
    margin-left:0 !important;
    padding:14px 15px;
    box-sizing:border-box;
  }

  .price-compare > p {
    font-size:15px;
  }

  .price-appeal-img {
    padding:5px 20px 14px;
  }

  .price-appeal-img img {
    max-width:190px;
  }
}

/* スマホ小 */
@media(max-width:575px) {
  .price-compare {
    grid-template-columns:1fr 1fr;
    gap:6px 12px;
  }

  .price-compare > p {
    font-size:14px;
    line-height:1.6;
    white-space:normal;
  }

  .price-compare > p:nth-child(1),
  .price-compare > p:nth-child(4) {
    grid-column:1 / -1;
    color:#102b5c;
    font-weight:600;
  }

  .price-compare > p:nth-child(3) {
    font-size:16px;
    font-weight:700;
    text-align:right !important;
  }

  .price-compare > p:nth-child(3) .price-saving-num {
    font-size:1.7em;
  }
}


/* コース料金表 */
.cf-box {
	margin: 15px 0;
	padding: 14px 4px 4px;
	background: #fff;
	border: 0 !important;
}

.cf-box table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	color: #102b5c;
	font-size: 14px !important;
	line-height: 1.45;
}

.cf-box td {
	padding: 10px 7px;
	border: 1px solid rgba(16, 43, 92, .55);
	vertical-align: middle;
	background: rgba(255, 255, 255, .8);
}

.cf-box table {
	border: 0 !important;
}

.cf-box tbody tr:first-child td {
	border: 0 !important;
	background: #fff !important;
}

/* 料金表：各項目の高さを統一 */
.cf-box tbody tr:nth-child(n+3) td {
	height: 60px;
	box-sizing: border-box;
	vertical-align: middle;
}

/* フキダシ */
.cf-box tbody tr:first-child td {
	padding: 0 5px 7px;
	border: 0 !important;
	background: transparent;
}

.cf-box tbody tr:first-child td:last-child {
	color: #c59a2f;
	font-size: 18px;
	font-weight: 700;
}

/* コース名 */
.cf-box tbody tr:nth-child(2) td {
	padding: 11px 6px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.cf-box tbody tr:nth-child(2) td:first-child {
	border: 0 !important;
	background: transparent;
}

.cf-box tbody tr:nth-child(2) td:nth-child(2) {
	background: #8296ad;
}

.cf-box tbody tr:nth-child(2) td:nth-child(3) {
	background: #a50046;
}

.cf-box tbody tr:nth-child(2) td:nth-child(4) {
	background: #102b5c;
}

/* 左側の項目名 */
.cf-box tbody tr:nth-child(n+3) td:first-child {
	padding-left: 12px;
	background: #957b43;
	color: #fff;
	font-weight: 600;
	text-align: left !important;
}

/* ○・× */
.cf-box .maru,
.cf-box .batsu {
	color: #a50046;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

.cf-box .maru-cell {
	line-height: 1.4;
}

.cf-box .maru-cell::first-line {
	color: #a50046;
	font-size: 22px;
	font-weight: 700;
}

/* 強調 */
.cf-box tbody tr:nth-child(4) td,
.cf-box tbody tr:nth-child(9) td {
	border-top: 6px solid #e6d2a1 !important;
	border-bottom: 6px solid #e6d2a1 !important;
}

.cf-box tbody tr:nth-child(4) td:first-child,
.cf-box tbody tr:nth-child(9) td:first-child {
	border-left: 6px solid #e6d2a1 !important;
}

.cf-box tbody tr:nth-child(4) td:last-child,
.cf-box tbody tr:nth-child(9) td:last-child {
	border-right: 6px solid #e6d2a1 !important;
}

/* 価格 */
.cf-box tbody tr:nth-child(9) td:not(:first-child) {
	font-size: 15px;
	line-height: 1.5;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.cf-box tbody tr:nth-child(n+3) td:first-child {
		font-size: 14px;
	}
}

/* スマホ：料金表を横スクロール */
@media (max-width: 767px) {
	.cf-box {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cf-box table {
		min-width: 700px;
	}
}


/* 備考 */
.remarks-box {
  margin:40px 0 20px;
  padding:26px 30px 28px;
  background:#f7f8fa;
  border:1px solid #dfe3e8;
  border-radius:10px;
}

.remarks-box p:first-child {
  margin:0 0 16px !important;
  color:#102b5c;
  font-size:18px;
  font-weight:bold;
  line-height:1.5;
}

.remarks-box ul {
  margin:0;
  padding:0;
  list-style:none;
}

.remarks-box li {
  position:relative;
  margin:0 0 10px;
  padding-left:34px;
  color:#444;
  font-size:16px;
  line-height:1.8;
}

.remarks-box li:last-child {
  margin-bottom:0;
}

.remarks-box li::before {
  content:"";
  position:absolute;
  top:calc(.35em + 1px);
  left:0;
  width:20px;
  height:20px;
  background:#fff;
  border:1.5px solid #c59a2f;
  border-radius:5px;
  box-sizing:border-box;
}

.remarks-box li::after {
  content:"";
  position:absolute;
  top:calc(.35em + 7px);
  left:6px;
  width:8px;
  height:5px;
  border-left:2px solid #102b5c;
  border-bottom:2px solid #102b5c;
  transform:rotate(-45deg);
}

.remarks-box a {
  color:#a50046;
  text-decoration:underline;
}

@media(max-width:767px){
  .remarks-box {
    margin:30px 0 15px;
    padding:22px 20px;
  }

  .remarks-box p:first-child {
    font-size:17px;
  }

  .remarks-box li {
    font-size:14px;
  }
}

/* 対策一覧 */
.measures-box {
  margin:40px 0;
  padding:50px;
  background:#f7f8fa;
  border-radius:12px;
}

.measures-box h3,
.measures-box h4 {
  font-family:"Hiragino Mincho ProN","游明朝",serif;
}
.measures-box h3 {
  margin:0 0 35px !important;
  padding:15px 20px;
  background:#102b5c;
  border-bottom:4px solid #c59a2f;
  color:#fff;
  font-size:24px;
  font-weight:bold;
  line-height:1.5;
  text-align:center;
}

.measures-box h4 {
  margin:42px 0 22px !important;
  padding:0 0 10px;
  color:#102b5c;
  font-size:21px;
  font-weight:bold;
  line-height:1.5;
  border-bottom:1px solid #d8c89f;
}

.measures-box h3::before,
.measures-box h3::after,
.measures-box h4::before,
.measures-box h4::after {
  content:none !important;
  display:none !important;
}

.measures-list {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px 28px;
}

.measures-list > p {
  margin:0 !important;
  padding:10px 8px;
  color:#fff;
  font-size:16px;
  font-weight:bold;
  line-height:1.4;
  text-align:center;
  border-radius:4px;
}



/* ゼロ次 */
.measures-zero > p {
  background:#c59a2f;
}

/* 一次 */
.measures-primary > p {
  background:#a50046;
}

/* 二次 */
.measures-secondary > p {
  background:#3f6389;
}

/* その他 */
.measures-other > p {
  background:#65788e;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.measures-list a {
		font-size: 15px;
		white-space: nowrap;
	}
}

@media(max-width:767px){
  .measures-box {
    padding:22px 15px 28px;
  }

  .measures-box h3 {
    margin-bottom:28px !important;
    padding:13px 15px;
    font-size:21px;
  }

  .measures-box h4 {
    margin:34px 0 18px !important;
    font-size:19px;
  }

  .measures-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .measures-list > p {
    padding:9px 6px;
    font-size:15px;
  }
}

@media(max-width:767px){
.measure-heading {
    text-align:center !important;
  }
}

/* 各種対策 詳細 */
.measure-detail {
  --measure-color:#c59a2f;
  --measure-bg:#efe0b4;
  --measure-text:#80651f;
	--measure-border:#d6c28b;
  margin:25px 0 45px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--measure-border);
  border-radius:10px;
  box-shadow:0 5px 16px rgba(16,43,92,.05);
}

/* 対策別カラー */
.measure-primary {
  --measure-color:#a50046;
  --measure-bg:#faf0f4;
  --measure-text:#8c003b;
	--measure-border:#dfbccb;
}

.measure-secondary {
  --measure-color:#3f6389;
  --measure-bg:#eef3f8;
  --measure-text:#31577d;
	--measure-border:#c3d1df;
}

.measure-other {
  --measure-color:#65788e;
  --measure-bg:#e1e4e6;
  --measure-text:#52616d;
  --measure-border:#b9c0c5;
}

/* 1行 */
.measure-row {
  width:100%;
  max-width:none !important;
  align-items:stretch !important;
  gap:0 !important;
  margin:0 !important;
}

/* 左側 */
.measure-label {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 18px;
  background:var(--measure-bg);
  border-right:1px solid var(--measure-border);
  border-bottom:1px solid var(--measure-border);
}

.measure-label p {
  margin:0 !important;
  color:var(--measure-text);
  font-size:17px;

  line-height:1.6;
  text-align:center;
}

/* 右側 */
.measure-content {
  padding:22px 26px;
  background:#fff;
  border-bottom:1px solid var(--measure-border);
}

.measure-content p,
.measure-content li {
  color:#333;
  font-size:16px;
  line-height:1.8;
}

.measure-content p {
  margin:0 !important;
}

/* リスト */
.measure-content ul,
.measure-content ol {
  margin:0;
}

.measure-content ul {
  padding-left:28px !important;
}

.measure-content ol {
  padding-left:24px !important;
}

.measure-content li {
  margin:0 0 10px;
  padding-left:4px;
}

.measure-content li::marker {
  color:var(--measure-color);
  font-weight:bold;
}

.measure-content li:last-child {
  margin-bottom:0;
}

/* 注記 */
.measure-note {
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:16px 22px;
  box-sizing:border-box;
  background:#f7f8fa;
  color:#555;
  font-size:14px;
  line-height:1.8;
}

@media(max-width:767px){
  .measure-detail {
    margin:20px 0 35px;
  }

  .measure-row {
    display:block !important;
  }

  .measure-row > .wp-block-column {
    flex-basis:auto !important;
  }

  .measure-label {
    padding:12px 15px;
    border-right:0;
  }

  .measure-label p {
    font-size:16px;
  }

  .measure-content {
    padding:18px 20px;
  }

  .measure-content p,
  .measure-content li {
    font-size:15px;
  }

  .measure-note {
    padding:14px 18px;
    font-size:13px;
  }
}

.measure-heading {
  margin:45px 0 28px !important;
  padding-bottom:12px;
  color:#102b5c;
  font-size:28px;
  font-weight:bold;
  line-height:1.5;
  border-bottom:2px solid #c59a2f;
}

.measure-heading::before,
.measure-heading::after {
  content:none !important;
  display:none !important;
}

.measures-list > p {
  margin:0 !important;
  padding:0;
  color:#fffffe;
  font-size:16px;
  font-weight:bold;
  line-height:1.4;
  text-align:center;
  border-radius:4px;
}

.measures-list > p > a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:10px 8px;
  box-sizing:border-box;
  color:#fff !important;
  text-decoration:none !important;
  border-radius:4px;
}
.measures-list > p > a,
.measures-list > p > a:visited {
  color:#fffffe !important;
}

/* 会社概要 */
.company-table {
  margin:30px 0 45px;
  overflow:hidden;
  border:1px solid #d8c89f;
  border-radius:10px;
}

.company-table table {
  width:100%;
  margin:0;
  border:0 !important;
  border-collapse:collapse;
}

.company-table td {
  padding:16px 20px;
  border:0 !important;
  border-bottom:1px solid #d8c89f !important;
  color:#333;
  font-size:16px;
  font-weight:normal;
  line-height:1.8;
  vertical-align:middle;
}

.company-table tr:last-child td {
  border-bottom:0 !important;
}

.company-table td:first-child {
  width:28%;
  background:#f3ecdc !important;
  border-right:1px solid #d8c89f !important;
  color:#102b5c;
  font-weight:normal;
  text-align:center;
}

.company-table td:last-child {
  background:#fff;
}

.company-table a {
  color:#a50046;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:767px){
  .company-table table,
  .company-table tbody,
  .company-table tr,
  .company-table td {
    display:block;
    width:100%;
  }

  .company-table tr {
    border-bottom:1px solid #d8c89f;
  }

  .company-table tr:last-child {
    border-bottom:0;
  }

  .company-table td {
    box-sizing:border-box;
    padding:14px 16px;
    border-bottom:0 !important;
    font-size:15px;
  }

  .company-table td:first-child {
    width:100%;
    padding:10px 16px;
    border-right:0 !important;
    border-bottom:1px solid #d8c89f !important;
    text-align:left;
  }
}

.page-id-45 p a{
    color: #a50046;
}


/* アクセス */
.access-box {
  display:grid !important;
  grid-template-columns:2fr 1fr;
  align-items:stretch !important;
  gap:30px;
  margin:35px 0 45px;
  padding:30px 32px;
  background:#f7f8fa;
  border:1px solid #dfe3e8;
  border-radius:12px;
}

.access-box h3 {
  margin:0 0 12px !important;
  padding:0;
  border:0 !important;
  color:#102b5c;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
}

.access-box h3:not(:first-child) {
  margin-top:28px !important;
}

.access-box h3::before,
.access-box h3::after {
  content:none !important;
  display:none !important;
}

.access-box p {
  margin:0 !important;
  color:#333;
  font-size:16px;
  line-height:1.9;
}

.access-box ul {
  margin:25px 0 0;
}

.access-box li {
  margin-bottom:10px;
  color:#333;
  font-size:15px;
  line-height:1.8;
}

/* 右画像 */
.access-box > .wp-block-column:last-child {
  display:flex !important;
  align-self:stretch !important;
}

.access-box > .wp-block-column:last-child figure {
  position:relative;
  display:flex !important;
  flex:1;
  width:100%;
  min-height:100%;
  margin:0 !important;
  overflow:hidden;
  border-radius:10px;
}

.access-box > .wp-block-column:last-child img {
  position:absolute;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}

@media(max-width:767.98px){
 .access-box {
    display:grid !important;
    grid-template-columns:1fr;
    margin:30px 0 35px;
    padding:22px 20px;
  }

  .access-box h3 {
    font-size:18px;
  }

  .access-box p {
    font-size:15px;
  }

  .access-box li {
    font-size:14px;
  }

  .access-box > .wp-block-column:last-child figure {
    display:block !important;
    min-height:0;
    margin-top:25px !important;
  }

  .access-box > .wp-block-column:last-child img {
    position:static;
    width:100% !important;
    height:auto !important;
  }
}

/* 動画・地図 */
.map-box {
  display:grid !important;
  grid-template-columns:55fr 45fr;
  align-items:stretch !important;
  gap:24px;
  margin:35px 0 45px;
}

.map-box > .wp-block-column {
  min-width:0;
}

/* YouTube 16:9 */
.youtube-box {
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:10px;
}

.youtube-box::before {
  content:"";
  display:block;
  padding-bottom:56.25%;
}

.youtube-box iframe {
  position:absolute;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:100%;
  border:0;
}

/* 地図画像 */
.map-box > .wp-block-column:last-child {
  display:flex;
}

.map-box figure {
  position:relative;
  flex:1;
  width:100%;
  margin:0;
  overflow:hidden;
  border-radius:10px;
}

.map-box figure img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 端末回転対策 */
@supports (height:100svh) {
  .youtube-box {
    max-height:100svh;
  }
}

@media (orientation:landscape) {
  .youtube-box {
    transform:translateZ(0);
  }
}

@media(max-width:767px){
  .map-box {
    display:block !important;
    margin:30px 0 35px;
  }

  .map-box > .wp-block-column:last-child {
    display:block;
    margin-top:20px;
  }

  .map-box figure {
    display:block;
  }

  .map-box figure img {
    position:static;
    height:auto;
  }
}

/* 相談会レビュー */
.consult-reviews {
	margin: 35px 0 45px;
}

/* 全体評価 */
.consult-rating {
	margin-bottom: 35px;
	padding: 22px 26px;
	background: #fffaf0;
	border: 1px solid #d8c89f;
	border-radius: 10px;
}

.consult-rating p {
	margin: 0 !important;
	color: #333;
	font-size: 16px;
	line-height: 1.8;
}

.consult-rating p:first-child {
	margin-bottom: 8px !important;
	color: #102b5c;
	font-size: 18px;
	font-weight: bold;
}

.consult-rating p:last-child {
	font-size: 18px;
}

/* 星 */
.consult-stars {
	color: #f3b21a;
	font-size: 20px;
	letter-spacing: 1px;
}

/* コメント見出し */
.consult-reviews h3 {
	margin: 0 0 25px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid #c59a2f;
	color: #102b5c;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.5;
}

.consult-reviews h3::before,
.consult-reviews h3::after {
	content: none !important;
	display: none !important;
}

/* コメント全体 */
.consult-voice-list {
	padding: 24px;
	background: #fff7fa;
	border: 1px solid #d8c3cb;
	border-radius: 10px;
}

/* 各コメント */
.consult-voice {
	margin: 0 0 18px !important;
	padding: 22px 26px;
	background: #fff !important;
	border: 1px solid #e1e5eb;
	border-radius: 8px;
	box-shadow: none;
}

.consult-voice:last-child {
	margin-bottom: 0 !important;
}

.consult-voice p {
	margin: 0 0 10px !important;
	color: #333;
	font-size: 16px;
	line-height: 1.8;
}

.consult-voice p:first-child {
	color: #102b5c;
	font-weight: bold;
}

.consult-voice p:last-child {
	margin-bottom: 0 !important;
}

.consult-voice .consult-stars {
	font-size: 18px;
}

/* スマホ */
@media (max-width: 767px) {
	.consult-reviews {
		margin: 30px 0 35px;
	}

	.consult-rating {
		margin-bottom: 30px;
		padding: 18px 13px;
	}

	.consult-rating p {
		font-size: 15px;
	}

	.consult-rating p:first-child {
		font-size: 17px;
	}

	.consult-rating p:last-child {
		font-size: 16px;
	}

	.consult-reviews h3 {
		margin-bottom: 20px !important;
		font-size: 21px;
	}

	.consult-voice-list {
		padding: 15px;
	}

	.consult-voice {
		margin-bottom: 14px !important;
		padding: 20px;
	}

	.consult-voice p {
		font-size: 15px;
	}

	.consult-stars {
		font-size: 18px;
	}

	.consult-voice .consult-stars {
		font-size: 17px;
	}
}

/* 無料相談会 詳細 */
.consult-info {
  margin:35px 0 45px;
}

.consult-info-item {
  margin:0 !important;
  padding:22px 5px 24px;
  border-bottom:1px solid #d8c89f;
}

.consult-info-item:first-child {
  padding-top:0;
}

.consult-info-item h3 {
  margin:0 0 10px !important;
  padding:0;
  border:0 !important;
  color:#102b5c;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
}

.consult-info-item h3::before,
.consult-info-item h3::after {
  content:none !important;
  display:none !important;
}

.consult-info-item p {
  margin:0 0 8px !important;
  color:#333;
  font-size:16px;
  line-height:1.9;
}

.consult-info-item p:last-child {
  margin-bottom:0 !important;
}

.consult-info-item a {
  color:#a50046;
  text-underline-offset:3px;
}

@media(max-width:767px){
  .consult-info {
    margin:30px 0 35px;
  }

  .consult-info-item {
    padding:18px 3px 20px;
  }

  .consult-info-item h3 {
    font-size:18px;
  }

  .consult-info-item p {
    font-size:15px;
  }
}

/* 注意事項 */
.consult-notice {
  margin:40px 0 45px;
  padding:28px 32px 30px;
  background:#fffaf0;
  border:1px solid #d8c89f;
  border-radius:10px;
}

.consult-notice h3 {
  margin:0 0 15px !important;
  padding:0;
  border:0 !important;
  color:#102b5c;
  font-size:21px;
  font-weight:bold;
  line-height:1.5;
  text-align:center;
}

.consult-notice h3::before,
.consult-notice h3::after {
  content:none !important;
  display:none !important;
}

.consult-notice > p {
  margin:0 0 22px !important;
  color:#333;
  font-size:16px;
  line-height:1.8;
  text-align:left;
}

.consult-notice-list {
  margin:0;
  padding:0;
  list-style:none;
}

.consult-notice-list li {
  position:relative;
  margin:0 0 12px;
  padding-left:20px;
  color:#333;
  font-size:15px;
  line-height:1.9;
}

.consult-notice-list li:last-child {
  margin-bottom:0;
}



.consult-notice-list li::before {
  content:"";
  position:absolute;
  top:.8em;
  left:0;
  width:7px;
  height:7px;
  background:#c59a2f;
  border-radius:50%;
}

@media(max-width:767px){
  .consult-notice {
    padding:22px 20px 24px;
  }

  .consult-notice h3 {
    font-size:19px;
  }

  .consult-notice > p {
    font-size:15px;
    text-align:left;
  }

  .consult-notice-list li {
    font-size:14px;
  }
}

/* 講師メッセージ */
.message-section h3 {
  width:fit-content;
  margin:0 auto 30px !important;
  padding:0 0 8px;
  border:0 !important;
  border-bottom:3px solid #c59a2f !important;
  color:#102b5c;
  font-size:28px;
  font-weight:700;
  line-height:1.5;
}

.message-section h3::before,
.message-section h3::after {
  content:none !important;
  display:none !important;
}

.message-box {
	align-items: center;
	gap: 26px;
	max-width: 1000px;
	margin: 0 auto;
}

.message-box > .wp-block-column:first-child {
	flex-basis: 240px !important;
	flex-grow: 0;
	flex-shrink: 0;
}

.message-box > .wp-block-column:last-child {
	flex-basis: auto !important;
	flex-grow: 1;
	transform: translateY(20px);
}

.message-box figure {
	margin: 0;
}

.message-box img {
	display: block;
	width: 100%;
	max-width: 230px;
	height: auto;
	margin: 0 auto;
	border: 1px solid #cbd3dc;
	border-radius: 50%;
	box-sizing: border-box;
}

.message-box .wp-block-column:last-child p {
	position: relative;
	margin: 0 !important;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #d8dde3;
	border-radius: 16px;
	color: #333;
	font-size: 17px;
	line-height: 2;
}

.message-box .wp-block-column:last-child p::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	width: 14px;
	height: 14px;
	background: #fff;
	border-bottom: 1px solid #d8dde3;
	border-left: 1px solid #d8dde3;
	transform: translateY(-50%) rotate(45deg);
}

@media(max-width:781.98px){
  .message-section h3 {
    margin-bottom:25px !important;
    font-size:23px;
  }

  .message-box {
    display:block !important;
  }

  .message-box img {
    max-width:175px;
  }

  .message-box > .wp-block-column:last-child {
    margin-top:28px;
    transform:none;
  }

  .message-box .wp-block-column:last-child p {
    padding:22px 20px;
    font-size:15px;
    line-height:1.9;
  }

  .message-box .wp-block-column:last-child p::before {
    top:-8px;
    left:50%;
    border-top:1px solid #d8dde3;
    border-right:0;
    border-bottom:0;
    border-left:1px solid #d8dde3;
    transform:translateX(-50%) rotate(45deg);
  }
}

/* Teams参加ガイド */
.teams-guide {
  margin:40px 0 50px;
  color:#333;
}

.teams-guide > h3 {
  width:fit-content;
  margin:0 auto 8px !important;
  padding:0 0 10px;
  border:0 !important;
  border-bottom:3px solid #c59a2f !important;
  color:#102b5c;
  font-size:28px;
  font-weight:700;
  line-height:1.5;
}

.teams-guide > h3::before,
.teams-guide > h3::after,
.teams-guide > h4::before,
.teams-guide > h4::after {
  content:none !important;
  display:none !important;
}

.teams-guide > p.has-text-align-center:first-of-type {
  margin:12px 0 30px !important;
  color:#555;
  font-size:16px;
}


.teams-ready {
  margin:0 0 40px !important;
  overflow:hidden;
  border:1px solid #d8c89f;
  border-radius:10px;
}

.teams-ready > p:first-child {
  margin:0 !important;
  padding:12px 20px;
  background:#102b5c;
  color:#fff;
  font-size:17px;
  font-weight:bold;
  line-height:1.6;
}

.teams-ready > .wp-block-columns {
  gap:0 !important;
  margin:0 !important;
}

.teams-ready > .wp-block-columns > .wp-block-column {
  position:relative;
  padding:22px 22px 22px 72px;
  background:#fff;
}

.teams-ready > .wp-block-columns > .wp-block-column:first-child {
  border-right:1px solid #e2ddd0;
}

.teams-ready > .wp-block-columns > .wp-block-column::before {
  position:absolute;
  top:25px;
  left:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  background:#fffaf0;
  border:1px solid #c59a2f;
  border-radius:50%;
  color:#102b5c;
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free";
  font-size:17px;
  font-weight:900;
}

.teams-ready > .wp-block-columns > .wp-block-column:first-child::before {
  content:"\f0e0";
}

.teams-ready > .wp-block-columns > .wp-block-column:last-child::before {
  content:"\f075";
}

.teams-ready .wp-block-column p {
  margin:0 !important;
  color:#333;
  font-size:15px;
  line-height:1.8;
}

.teams-ready .wp-block-column p:first-child {
  margin-bottom:6px !important;
  color:#102b5c;
  font-size:17px;
  font-weight:bold;
}

/* セクション見出し */
.teams-guide > h4 {
  margin:42px 0 18px !important;
  padding:0 0 10px;
  border:0 !important;
  border-bottom:2px solid #c59a2f !important;
  color:#102b5c;
  font-size:22px;
  font-weight:bold;
  line-height:1.5;
}

.teams-guide > h4 + p {
  margin:0 0 8px !important;
  color:#333;
  font-size:16px;
  line-height:1.8;
}

/* Teamsアプリ注記 */
.teams-guide > h4:first-of-type + p + p {
  margin:0 0 22px !important;
  color:#a50046;
  font-size:14px;
  line-height:1.7;
  text-align:right;
}

/* 操作手順3ステップ */
.teams-steps {
  margin:25px 0 45px;
}

.teams-steps .row {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0 !important;
}

.teams-steps .vk_gridColumn_item {
  display:flex;
  flex-direction:column;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  overflow:hidden;
  background:#fff;
  border:1px solid #d8dde3;
  border-radius:10px;
}

.teams-steps .vk_gridColumn_item > p {
  margin:0 !important;
  padding:12px 0;
  background:#f3f4f5;
  border-bottom:1px solid #d8dde3;
  color:#102b5c;
  font-size:17px;
  font-weight:bold;
  line-height:1.5;
  text-align:center;
}

.teams-steps figure {
  display:flex;
  flex:none;
  align-items:flex-start;
  justify-content:center;
  height:350px;
  margin:0;
  padding:24px 12px 18px;
  box-sizing:border-box;
}

.teams-steps img {
  display:block;
  width:auto;
  max-width:100%;
  max-height:100%;
  height:auto;
  object-fit:contain;
}

.teams-steps .vk_gridColumn_item:nth-child(1) img {
  transform:scale(.85);
  transform-origin:top center;
}

.teams-steps .vk_gridColumn_item:nth-child(2) img {
  transform:scale(.95);
  transform-origin:top center;
}

/* 相談会当日 */
.teams-day {
  align-items:stretch;
  gap:24px;
  margin:25px 0 35px;
}

.teams-day > .wp-block-column:first-child > .wp-block-columns {
  height:100%;
  align-items:center;
  gap:20px;
  margin:0;
  padding:22px;
  background:#f7f8fa;
  border:1px solid #d8dde3;
  border-radius:10px;
}

.teams-day figure {
  margin:0;
  text-align:center;
}

.teams-day figure img {
  display:block;
  width:auto;
  max-width:100%;
  max-height:260px;
  margin:auto;
}

.teams-day p {
  color:#333;
  font-size:15px;
  line-height:1.8;
}

/* ご注意ください */
.teams-caution {
  height:100%;
  padding:22px 24px;
  box-sizing:border-box;
  background:#fff5f8;
  border:1px solid #d9aabd;
  border-radius:10px;
}

.teams-caution p {
  margin:0 !important;
}

.teams-caution p:first-child {
  margin-bottom:10px !important;
  color:#a50046;
  font-size:19px;
  font-weight:bold;
}

.teams-caution p:last-child {
  font-size:15px;
  line-height:1.9;
}


.teams-trouble {
  display:block;
  margin:35px 0 30px !important;
  padding:22px 28px;
  background:#fffaf0;
  border:1px solid #d8c89f;
  border-radius:10px;
}

.teams-trouble > p:first-child {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px !important;
  color:#102b5c;
  font-size:18px;
  font-weight:bold;
}

.teams-trouble > p:first-child::before {
  content:"\f0eb";
  color:#c59a2f;
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free";
  font-size:24px;
  font-weight:900;
}

.teams-trouble ul {
  margin:0;
  padding-left:24px;
}

.teams-trouble li {
  margin-bottom:5px;
  color:#333;
  font-size:15px;
  line-height:1.8;
}

.teams-trouble li:last-child {
  margin-bottom:0;
}

.teams-trouble li::marker {
  color:#c59a2f;
}


.teams-contact {
  margin:28px 0 8px !important;
  color:#333;
  font-size:16px;
  line-height:1.8;
  text-align:center;
}

.teams-closing {
  margin:0 !important;
  color:#102b5c;
  font-size:18px;
  font-weight:bold;
  line-height:1.6;
  text-align:center;
}

@media(max-width:767px){
  .teams-guide {
    margin:30px 0 40px;
  }

  .teams-guide > h3 {
    font-size:23px;
  }

  .teams-guide > p.has-text-align-center:first-of-type {
    margin-bottom:25px !important;
    font-size:15px;
  }

  .teams-ready {
    margin-bottom:32px !important;
  }

  .teams-ready > p:first-child {
    padding:11px 15px;
    font-size:16px;
  }

  .teams-ready > .wp-block-columns {
    display:block !important;
  }

  .teams-ready > .wp-block-columns > .wp-block-column {
    padding:18px 18px 18px 64px;
  }

  .teams-ready > .wp-block-columns > .wp-block-column:first-child {
    border-right:0;
    border-bottom:1px solid #e2ddd0;
  }

  .teams-ready > .wp-block-columns > .wp-block-column::before {
    top:20px;
    left:17px;
    width:34px;
    height:34px;
    font-size:16px;
  }

  .teams-ready .wp-block-column p {
    font-size:14px;
  }

  .teams-ready .wp-block-column p:first-child {
    font-size:16px;
  }

  .teams-guide > h4 {
    margin-top:35px !important;
    font-size:19px;
  }

  .teams-guide > h4 + p {
    font-size:15px;
  }

  .teams-guide > h4:first-of-type + p + p {
    font-size:13px;
    text-align:left;
  }

  .teams-steps .row {
    grid-template-columns:1fr;
    gap:20px;
  }

  .teams-steps .vk_gridColumn_item > p {
    font-size:16px;
  }

  .teams-steps figure {
    height:320px;
    padding:20px 10px 16px;
  }

  .teams-day {
    display:block !important;
  }

  .teams-day > .wp-block-column:first-child > .wp-block-columns {
    display:block !important;
    padding:20px;
  }

  .teams-day figure {
    margin-bottom:20px;
  }

  .teams-day figure img {
    max-height:250px;
  }

  .teams-day > .wp-block-column:last-child {
    margin-top:20px;
  }

  .teams-caution {
    padding:20px;
  }

  .teams-caution p:first-child {
    font-size:18px;
  }

  .teams-caution p:last-child {
    font-size:14px;
  }

  .teams-trouble {
    padding:20px;
  }

  .teams-trouble > p:first-child {
    font-size:17px;
  }

  .teams-trouble > p:first-child::before {
    font-size:22px;
  }

  .teams-trouble ul {
    padding-left:20px;
  }

  .teams-trouble li {
    font-size:14px;
  }

  .teams-contact {
    font-size:15px;
  }

  .teams-closing {
    font-size:17px;
  }
}

/* 無料個別相談フォーム */
.consult-form {
  padding:32px 28px 36px;
  background:#f7f8fa;
  border:1px solid #e1e5ea;
  border-radius:12px;
  color:#333;
  font-size:16px;
  line-height:1.8;
}

.consult-form .color-red {
  margin-left:3px;
  color:#a50046;
  font-size:14px;
  font-weight:bold;
}

/* 見出し */
.consult-form .point_1 {
  margin:40px 0 18px;
  padding:0 0 10px;
  background:transparent !important;
  border:0 !important;
  border-bottom:2px solid #c59a2f !important;
  border-radius:0 !important;
  color:#102b5c;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
}

.consult-form .point_1::before,
.consult-form .point_1::after,
.consult-form > h3::before,
.consult-form > h3::after {
  content:none !important;
  display:none !important;
}

.consult-form > h3 {
  margin:28px 0 10px;
  padding:0;
  border:0;
  color:#102b5c;
  font-size:18px;
  line-height:1.5;
}

/* 入力欄 */
.consult-form input[type="text"],
.consult-form input[type="email"],
.consult-form input[type="tel"],
.consult-form input[type="date"],
.consult-form select,
.consult-form textarea {
  max-width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #cfd5dd;
  border-radius:6px;
  color:#333;
  font-size:16px;
}

.consult-form input[type="text"],
.consult-form input[type="email"],
.consult-form input[type="tel"],
.consult-form input[type="date"] {
  height:44px;
  padding:8px 10px;
}

.consult-form select {
  height:42px;
  padding:5px 8px;
}

.consult-form textarea {
  width:100%;
  min-height:130px;
  padding:10px 12px;
  resize:vertical;
}

.consult-form input:focus,
.consult-form select:focus,
.consult-form textarea:focus {
  outline:none;
  border-color:#c59a2f;
  box-shadow:0 0 0 2px rgba(197,154,47,.12);
}

.consult-form .w370 {
  width:100%;
  max-width:370px;
}

.consult-form .w250 {
  width:100%;
  max-width:230px;
}

.consult-form .w50 {
  width:70px;
}

.consult-form .w60 {
  width:80px;
}

/* 氏名・ふりがな */
.consult-form .name-box {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.consult-form .name-box .w250 {
  max-width:100%;
}

/* チェックボックス */
.consult-form .wpcf7-list-item {
  margin:0 18px 8px 0;
}

.consult-form .wpcf7-list-item label {
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
}

.consult-form input[type="checkbox"] {
  width:18px;
  height:18px;
  margin:0;
  accent-color:#102b5c;
  vertical-align:middle;
}

.consult-form .checkbox-s .wpcf7-list-item {
  display:block;
  margin:0 0 10px;
}

.consult-form .checkbox-s input {
  width:32px;
  height:32px;
  margin:0 10px 0 0;
  vertical-align:-7px;
}

.consult-form .checkbox-s .wpcf7-list-item-label {
  display:inline-block;
  vertical-align:middle;
}

.consult-form .c-select1 .wpcf7-list-item {
  display:inline-block;
}

.consult-form .c-select .wpcf7-list-item {
  display:block;
  margin-right:0;
}

/* 志望校 */
.consult-form .choice {
  display:grid;
  grid-template-columns:30% 20% 1fr;
  gap:16px;
  align-items:end;
}

.consult-form .choice .w250,
.consult-form .choice .w370 {
  max-width:100%;
}

/* 相談日時 */
.consult-date-table {
  width:100%;
  margin:12px 0 18px;
  background:transparent;
  border:1px solid #d8dde3;
  border-collapse:collapse;
  border-radius:10px;
}

.consult-date-table td {
  width:50%;
  padding:16px 18px;
  background:transparent !important;
  border:1px solid #dde3ea;
  vertical-align:top;
}

.consult-date-table td:first-child {
  width:42%;
}

.consult-date-table .d-2 {
  vertical-align:middle;
}

.consult-date-table .d-2 select {
  width:auto;
  min-width:68px;
  background:#fff;
}

.consult-date-table input[type="date"] {
  width:100%;
  max-width:250px;
}

/* 同意 */
.form-consent {
  margin:24px 0 8px;
  padding:16px 18px;
  background:#fff;
  border:1px solid #dde3ea;
  border-radius:8px;
  text-align:center;
}

.form-consent .wpcf7-list-item,
.form-consent p {
  margin:0 !important;
}

.form-consent input[type="checkbox"] {
  width:20px;
  height:20px;
}

/* 送信 */
.form-submit {
  margin:10px 0 0 !important;
  text-align:center;
}

.form-submit .form-submit-btn {
  display:block;
  width:100%;
  max-width:none;
  min-height:56px;
  padding:16px 20px;
  background:#17104a;
  border:0;
  border-radius:6px;
  color:#fff;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  cursor:pointer;
  transition:background .2s ease;
}

.form-submit .form-submit-btn:hover {
  background:#a50046;
  opacity:.9;
}

.form-submit .form-submit-btn:disabled {
  opacity:.45;
  cursor:not-allowed;
}

/* エラー */
.consult-form .wpcf7-not-valid {
  border-color:#a50046;
}

.consult-form .wpcf7-not-valid-tip {
  margin-top:5px;
  color:#a50046;
  font-size:13px;
}

/* Turnstile */
.consult-form .wpcf7-turnstile {
  text-align:right;
}

/* タブレット */
@media (min-width:768px) and (max-width:991.98px) {
  .consult-date-table .d-2 br:first-of-type {
    display:block !important;
  }

  .consult-date-table .d-2 br:last-of-type {
    display:none !important;
  }
}

/* スマホ */
@media (max-width:767px) {
  .consult-form {
    padding:24px 18px 28px;
    font-size:15px;
  }

  .consult-form .point_1 {
    margin-top:32px;
    font-size:18px;
  }

  .consult-form .name-box,
  .consult-form .choice {
    display:block;
  }

  .consult-form .name-box > div,
  .consult-form .choice > div {
    margin-bottom:14px;
  }

  .consult-form .w370,
  .consult-form .w250 {
    max-width:100%;
  }

  .consult-form .checkbox-s input {
    width:28px;
    height:28px;
    vertical-align:-6px;
  }

  .consult-date-table {
    display:block;
    overflow:visible;
    border:0;
  }

  .consult-date-table tbody,
  .consult-date-table tr,
  .consult-date-table td {
    display:block;
    width:100% !important;
    box-sizing:border-box;
  }

  .consult-date-table tr {
    margin-bottom:16px;
    overflow:hidden;
    border:1px solid #d8dde3;
    border-radius:8px;
  }

  .consult-date-table td {
    padding:14px 15px;
    border:0;
  }

  .consult-date-table td + td {
    border-top:1px solid #d8dde3;
  }

  .consult-date-table input[type="date"] {
    max-width:100%;
  }

  .form-consent {
    padding:14px 15px;
    text-align:left;
  }

  .form-submit .form-submit-btn {
    min-height:52px;
    font-size:16px;
  }

  .consult-form .wpcf7-turnstile {
    text-align:center;
  }
}

/* サイトマップ */
.veu_sitemap .page-item-32,
.veu_sitemap .page-item-38 {
  margin-left:0;
  list-style:none;
}

.veu_sitemap .page-item-32::before,
.veu_sitemap .page-item-38::before {
  display:block;
  margin:20px 0 8px -16px;
  color:#333;
}

.veu_sitemap .page-item-32::before {
  content:"•\00a0\00a0 KOSSUN教育ラボとは";
}

.veu_sitemap .page-item-38::before {
  content:"•\00a0\00a0 合格実績";
}

.veu_sitemap .page-item-32 > a,
.veu_sitemap .page-item-38 > a,
.veu_sitemap .page-item-32 > .children > li > a,
.veu_sitemap .page-item-38 > .children > li > a {
  display:block;
  margin-left:10px;
  padding-left:18px;
  background:
    radial-gradient(circle at 3px 50%, #333 0 2px, transparent 2.5px)
    no-repeat;
}

.veu_sitemap .page-item-32 > .children,
.veu_sitemap .page-item-38 > .children {
  margin:0;
  padding:0;
}

.veu_sitemap .page-item-32 > .children > li,
.veu_sitemap .page-item-38 > .children > li {
  list-style:none;
}

/* サブメニュー */
body.page:not(.page-id-9) .sub-section .widget_link_list {
  margin:0;
  padding:0;
  overflow:hidden;
  background:#f5f6f8;
  border:1px solid #dfe3e8;
  border-radius:6px;
  box-shadow:0 3px 10px rgba(16,43,92,.05);
}

body.page:not(.page-id-9) .sub-section .sub-section-title {
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #dfe3e8 !important;
  border-radius:0 !important;
  font-size:16px;
  font-weight:normal;
  line-height:1.5;
}

body.page:not(.page-id-9) .sub-section .sub-section-title::before,
body.page:not(.page-id-9) .sub-section .sub-section-title::after {
  content:none !important;
  display:none !important;
}

body.page:not(.page-id-9) .sub-section .widget_link_list ul {
  margin:0 !important;
  padding:0 !important;
  list-style:none;
  background:transparent;
  border:0;
}

body.page:not(.page-id-9) .sub-section .widget_link_list li {
  margin:0 !important;
  padding:0 !important;
  list-style:none;
  border:0 !important;
  border-bottom:1px solid #dfe3e8 !important;
}

body.page:not(.page-id-9) .sub-section .widget_link_list li:last-child {
  border-bottom:0 !important;
}

body.page:not(.page-id-9) .sub-section .sub-section-title a,
body.page:not(.page-id-9) .sub-section .widget_link_list li a {
  position:relative;
  display:block;
  padding:16px 36px 16px 26px;
  text-decoration:none;
}

body.page:not(.page-id-9) .sub-section .sub-section-title a {
  color:#333 !important;
  text-decoration:none !important;
}

body.page:not(.page-id-9) .sub-section .widget_link_list li a {
  color:#333;
  transition:.2s;
}

body.page:not(.page-id-9) .sub-section .sub-section-title a::after,
body.page:not(.page-id-9) .sub-section .widget_link_list li a::after {
  content:"›";
  position:absolute;
  top:50%;
  right:16px;
  color:#c59a2f;
  font-size:20px;
  line-height:1;
  transform:translateY(-50%);
}

body.page:not(.page-id-9) .sub-section .widget_link_list li a:hover {
  background:#eceff4;
  color:#a50046;
}

/* 現在ページ */
body.page:not(.page-id-9) .sub-section .widget_link_list .current_page_item > a,
body.page-id-32 .sub-section .sub-section-title a,
body.page-id-38 .sub-section .sub-section-title a {
  padding-left:24px;
  background:#eceff4;
  color:#102b5c !important;
  font-weight:600;
  box-shadow:inset 4px 0 0 #102b5c;
}

/* ブログ サイドバー */
body.blog .sub-section,
body.single-post .sub-section,
body.archive .sub-section {
  font-size:15px;
}

/* 見出し */
body.blog .sub-section .widget_block h3,
body.single-post .sub-section .widget_block h3,
body.archive .sub-section .widget_block h3 {
  margin:0 0 14px !important;
  padding:0 0 8px !important;
  border:0 !important;
  border-bottom:1px solid #dfe3e8 !important;
  color:#102b5c;
  font-size:18px;
  font-weight:700;
  line-height:1.5;
}



body.blog .sub-section .widget_block h3::after,
body.single-post .sub-section .widget_block h3::after,
body.archive .sub-section .widget_block h3::after {
  content:none !important;
  display:none !important;
}

/* 各ブロック間 */
body.blog .sub-section .widget,
body.single-post .sub-section .widget,
body.archive .sub-section .widget {
  margin-bottom:12px;
}

body.blog .sub-section #block-11,
body.blog .sub-section #block-13,
body.single-post .sub-section #block-11,
body.single-post .sub-section #block-13,
body.archive .sub-section #block-11,
body.archive .sub-section #block-13 {
  margin-top:32px;
}

/* 最近の投稿 */
body.blog .sub-section .vk_post,
body.single-post .sub-section .vk_post,
body.archive .sub-section .vk_post {
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #e5e8ec;
}

body.blog .sub-section .vk_post_imgOuter,
body.single-post .sub-section .vk_post_imgOuter,
body.archive .sub-section .vk_post_imgOuter {
  width:82px;
  min-width:82px;
  border-radius:4px;
  overflow:hidden;
}

body.blog .sub-section .vk_post_title,
body.single-post .sub-section .vk_post_title,
body.archive .sub-section .vk_post_title {
  margin:0 0 5px;
  font-size:15px;
  line-height:1.5;
}

body.blog .sub-section .vk_post_title a,
body.single-post .sub-section .vk_post_title a,
body.archive .sub-section .vk_post_title a {
  color:#102b5c;
  text-decoration:none;
}

body.blog .sub-section .vk_post_title a:hover,
body.single-post .sub-section .vk_post_title a:hover,
body.archive .sub-section .vk_post_title a:hover {
  color:#a50046;
}

body.blog .sub-section .vk_post_dates,
body.single-post .sub-section .vk_post_dates,
body.archive .sub-section .vk_post_dates {
  color:#777;
  font-size:12px;
}

/* カテゴリー */
body.blog .sub-section .wp-block-categories,
body.single-post .sub-section .wp-block-categories,
body.archive .sub-section .wp-block-categories {
  margin:0;
  padding:0;
  list-style:none;
}

body.blog .sub-section .wp-block-categories li,
body.single-post .sub-section .wp-block-categories li,
body.archive .sub-section .wp-block-categories li {
  margin:0;
  border-bottom:1px solid #e5e8ec;
}

body.blog .sub-section .wp-block-categories a,
body.single-post .sub-section .wp-block-categories a,
body.archive .sub-section .wp-block-categories a {
  position:relative;
  display:block;
  padding:11px 28px 11px 4px;
  color:#333;
  text-decoration:none;
}

body.blog .sub-section .wp-block-categories a::after,
body.single-post .sub-section .wp-block-categories a::after,
body.archive .sub-section .wp-block-categories a::after {
  content:"›";
  position:absolute;
  top:50%;
  right:6px;
  color:#c59a2f;
  font-size:19px;
  transform:translateY(-50%);
}

body.blog .sub-section .wp-block-categories a:hover,
body.single-post .sub-section .wp-block-categories a:hover,
body.archive .sub-section .wp-block-categories a:hover {
  color:#a50046;
}

/* アーカイブ */
body.blog .sub-section .vk_archiveList select,
body.single-post .sub-section .vk_archiveList select,
body.archive .sub-section .vk_archiveList select {
  width:100%;
  height:42px;
  padding:0 12px;
  background:#fff;
  border:1px solid #cfd5dd;
  border-radius:4px;
  color:#333;
  font-size:14px;
}
