/*
Theme Name: clbc_theme2026
Theme URI: https://
Author: design Xanthus
Author URI: https://d-xanthus.com/
Description: This theme is a simple blank site for WordPress developed by design Xanthus.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: clbc_theme2026
Tags: one-column, two-columns, right-sidebar, custom-colors, custom-header, custom-menu, custom-logo, editor-style, footer-widgets, sticky-post, theme-options, translation-ready
*/

/** ----------------------------------------------------------
　テキストカラー関連
---------------------------------------------------------- **/

/** ============================================================================
 *  基本レイアウトブロック
============================================================================ **/

/** ----------------------------------------------------------
　基本ブロックエレメント
---------------------------------------------------------- **/

/** ============================================================================
 * 基本・汎用クラス
============================================================================ **/

/** ----------------------------------------------------------
　テキスト関連
---------------------------------------------------------- **/


/** ----------------------------------------------------------
　テーブル関連
---------------------------------------------------------- **/

table th,
.wp-block-table th,
table td,
.wp-block-table td { border-color: var(--wp--preset--color--cyan-bluish-gray) }

table th,
.wp-block-table th { background: var(--wp--preset--color--theme-beige); }

/** ----------------------------------------------------------
 * リスト関連
---------------------------------------------------------- **/

/** ----------------------------------------------------------
 * フォーム関連
---------------------------------------------------------- **/

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
	font-weight: 700;
	border-radius: 1.5em;
}

input[disabled][type="submit"],
input[disabled][type="submit"]:hover,
input[disabled][type="submit"]:active,
button[disabled] {
	color: #fff;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover {
	opacity: 1;
	background-color: var(--wp--preset--color--theme-orange);
}

.theme-btn > a:hover {
	text-decoration: none;
	background-color: var(--wp--preset--color--theme-orange) !important;
	border-color: var(--wp--preset--color--theme-orange);
}

/** ============================================================================
 * オリジナルデザイン 基本設定
============================================================================ **/

/** ----------------------------------------------------------
 ヘッダー&フッター&サイドバー 基本設定
---------------------------------------------------------- **/

.site-title {
	font-size: 1.2rem;
}

/** ----------------------------------------------------------
　ヘッダー設定
---------------------------------------------------------- **/

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

	.head-branding .site-title {
		padding-right: 48px;
	}
}

@media screen and ( min-width: 1144px ) {

	.head-primary-contents {
		-ms-flex-align: center;
		align-items: center;
	}
}

/** ----------------------------------------------------------
　ナビゲーション設定
---------------------------------------------------------- **/

.main-menu { font-weight: 700; }

.btn-contact a {
	padding-right: 1em;
	padding-left: 1em;
	background: var(--wp--preset--color--theme-yellow);
	border-radius: 2em;
	display: block;
	margin: 0.5em 0;
}

/* スマートフォン設定
----------------------------- */


/* タブレット・PC用 カラー設定
----------------------------- */
@media screen and ( min-width: 641px ) {

	ul.main-menu {
		-ms-flex-align: center;
		align-items: center;
	}

	.main-menu > li > a {
		padding: 0 0.6em;
	}

	.main-menu > li:not(:first-child):not(.btn-contact) > a {
		border-left: 1px solid;
	}

	.main-menu > .btn-contact > a {
		margin: 0;
		padding: 0.6em 0.6em;
	}

	.btn-contact a:hover {
		color: var(--wp--preset--color--text-black);
		background: var(--wp--preset--color--theme-orange);
	}

	.btn-contact a::after {
		content: '';
		display: inline-block;
		width: 0.6em;
		height: 0.6em;
		border-style: solid;
		border-width: 2px 2px 0 0;
		rotate: 45deg;
	}
}

@media screen and ( min-width: 800px ) {

	.main-menu > .btn-contact > a { padding: 0.6em 1.5em; }

	.btn-contact a::after { margin-left: 0.3em }
}

/** ----------------------------------------------------------
　フッター設定
---------------------------------------------------------- **/

.foot-container {
	background-image: url(images/ptn-stripe.png);
	background-repeat: repeat-x;
	background-position: bottom;
}

.foot-contents {
	padding-bottom: calc( 32px + 32px );
}

@media screen and ( min-width: 641px ) {

	.foot-contents {
		padding-bottom: calc( 40px + 32px );
	}

	.foot-primary > *:not(:first-child) { margin-top: 0; }

	.foot-primary {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 2em;
		width: 100%;
	}
}

@media screen and ( min-width: 1144px ) {

	.foot-contents {
		padding: 80px 0 calc( 80px + 32px );
	}
}

/* フッターコンタクト
----------------------------- */

.foot-contact { color: var(--wp--preset--color--text-black); }

.foot-contact::after { background: none }

.site-footer .foot-contact a:not(:hover),
.site-footer .foot-contact a:hover {
	color: var(--wp--preset--color--text-black);
}

.foot-contact-btn a {
	font-family: "YakuHanJP", -apple-system, BlinkMacSystemFont, "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	background: var(--wp--preset--color--theme-yellow);
	border: none;
	padding: 0.6em 1.4em;
	border-radius: 1.3em;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

.foot-contact a:hover { background: var(--wp--preset--color--theme-orange); }

.foot-contact-btn a::after {
	content: '';
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-style: solid;
	border-width: 3px 3px 0 0;
	rotate: 45deg;
	margin-left: 0.5em;
}

.foot-contact-btn + p {
	font-weight: 700;
	text-shadow: 0 0 2px rgba(255,255,255,1), 0 0 2px rgba(255,255,255,1), 0 0 6px rgba(255,255,255,1), 0 0 6px rgba(255,255,255,1);
}

/* トップへ戻るボタン
----------------------------- */


/** ============================================================================
 * Wrapper部共通
============================================================================ **/

.entry-contents.wh-box { border-radius: 8px; }

/** ----------------------------------------------------------
 * primary-wrap
---------------------------------------------------------- **/

/* パンくずリスト dx-パンくず
----------------------------- */

.bread-crumb-wrap { margin-bottom: 40px; }

/** ----------------------------------------------------------
 * * contents部分基本
---------------------------------------------------------- **/

.entry-contents > h2 { color: var(--wp--preset--color--theme-red); }

.entry-contents > h3 { color: var(--wp--preset--color--theme-blue); }

.entry-contents > p { font-weight: 300; }

.entry-contents > p strong { font-weight: 700; }


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

	.entry-contents > .wp-block-image.alignright,
	.entry-contents > .wp-block-image.alignleft {
		margin-right: auto;
		margin-left: auto;
	}
}

/*========================================================
　アーカイブ & 固定 ＆ シングル&固定共通（サイズ以外）
========================================================*/

/* ページタイトル
-------------------------------*/

.contents-head {
	padding: 32px 0;
	background: #fff;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #fff;
	margin-bottom: 0;
}

.main-title {
	color: var(--wp--preset--color--theme-red);
	font-weight: 900;
	letter-spacing: 2px;
	text-shadow: 0 2px 3px rgba( 0,0,0,0.1 );
}

.sub-title {
	font-weight: 700;
}

@media screen and ( min-width: 641px ) {

	.contents-head {
		padding: 48px 0;
	}
}


@media screen and ( min-width: 1144px ) {

	.contents-head {
		padding: 80px 0;
	}
}


/* イメージタイトル licensed
-------------------------------*/

.tit-img,
.title-imgtxt { display: block; }

.tit-img {
	height: 120px;
	overflow: hidden;
	position: relative;
	margin: 0 0 16px;
}

.tit-img > img {
	max-width: none;
	width: 100%;
}

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

	.contents-head.img-head { padding-top: 0 }
}

@media screen and ( min-width: 740px ) {

	.contents-head.img-head {
		position: relative;
	}

	.tit-img {
		height: auto;
		margin: 0;
		border-radius: 0;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 56vw;
	}

	.contents-head.img-head .entry-txtwrap.center-box {
		text-align: left;
		padding-right: calc( 44vw - 3%);
	}
}

@media screen and ( min-width: 1144px ) {

	.contents-head.img-head .entry-txtwrap.center-box {
		padding-right: calc( 44vw - 10%);
	}

}

/** ============================================================================
 *  アーカイブページ
============================================================================ **/

.loop-article.wh-box {
	border-radius: 8px;
	overflow: hidden;
	padding: 0;
}

.loopflex-wrap { padding: 1em 5% 1em 0; }

.new-cat-section .loopflex-wrap { padding: 0 5% 1em; }

.loop-head { margin-bottom: 1em }

.loop-title,
.loop-meta  { margin-bottom: 0; }

.date-links i { color: var(--wp--preset--color--theme-orange) }

.cat-links i { color: var(--wp--preset--color--theme-marine-blue) }

.btn-tx a {
	font-weight: 700;
	border-radius: 0.9em;
	-ms-transition: 0.3s;
	transition: 0.3s;
}

.btn-tx a:hover {
	color: var(--wp--preset--color--text-black);
	background: var(--wp--preset--color--theme-orange);
	border-color: var(--wp--preset--color--theme-orange);
}

@media screen and ( min-width: 641px ) {

	.loop-article.flex-box {
		-ms-flex-align: center;
		align-items: center;
	}

	.contents .first-thum-box.wp-block-image:not(.alignright):not(.alignleft) {
		margin-bottom: 1em;
	}

	.loopflex-wrap { padding: 1em 3% 1em 0; }

	.new-cat-section .loopflex-wrap { padding: 0 3% 1em; }

	.loop-article.flex-box .loop-head { margin-bottom: 0.5em }

	.entry-contents .loop-article p { margin-bottom: 0; }
}

/* セクションタイトル
----------------------------- */

.entry-contents > .loop-section-tit,
.heading-has-sub-group > h2 {
	color: var(--wp--preset--color--text-black);
	letter-spacing: 0.1em;
	text-align: center;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.5em;
}

.entry-contents > .loop-section-tit::before,
.entry-contents > .loop-section-tit::after,
.heading-has-sub-group > h2::before,
.heading-has-sub-group > h2::after {
	content: '';
	height: 2px;
	flex-grow: 1;
}

.entry-contents > .loop-section-tit::before,
.heading-has-sub-group > h2::before {
	background: var(--wp--preset--color--theme-blue);
}

.entry-contents > .loop-section-tit::after,
.heading-has-sub-group > h2::after {
	background: var(--wp--preset--color--theme-red);
}

@media screen and ( min-width: 641px ) {

	.entry-contents > .loop-section-tit,
	.heading-has-sub-group > h2 {
		font-size: 2em;
		letter-spacing: 0.3em;
	}
}

/* ページネーション
----------------------------- */

.pagination > .nav-links > a,
.pagination > .nav-links > span,
.single-pagenav.pagination > a,
.single-pagenav.pagination > span,
.wp-pagenavi a,
.wp-pagenavi span {
	border-color: #ccc;
	line-height: 1.8;
	min-width: 2em;
	height: 2em;
	padding: 0;
	border-radius: 50%;
}

@media screen and ( min-width: 641px ) {

	.archive-footnav,
	.pagination > .nav-links,
	.single-pagenav.pagination,
	.wp-pagenavi {
		gap: 8px;
	}
}

/**
	セミナーアーカイブ
----------------------------------------------------- **/

.seminar-new-section .loop-article.wh-box { padding: 32px 5% 16px; }

.seminar-new-section .loop-title { text-align: center; }

.event-head.loop-head,
.event-figwap { position: relative; }

.event-head.loop-head { margin-bottom: 16px; }

.event-head .loop-title {
	margin-bottom: 0;
}

.event-head .loop-title a {
	font-size: 1.175em;
}

.event-aredate {
	font-size: 0.8125em;
	display: block;
}

.event-area {
	font-size: 0.875em;
	border: 1px solid;
	padding: 0 0.3em;
	display: inline-block;
	vertical-align: 0.1em;
	margin-right: 0.2em;
	background: #fff;
}

.loop-head .simul-txt { font-size: 0.85em; }

.contents .event-place {
	text-indent: 0;
	text-align: center;
	margin-top: 0.5em;
}

.archive .event-place {
	background: var(--wp--preset--color--theme-oyster-white);
	padding: 0.3em;
}

.seminar-new-section .first-thum-box,
.seminar-new-section .thum-box {
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 1em;
}

.seminar-new-section .loopflex-wrap { padding: 0; }

@media screen and ( min-width: 641px )  {

	.seminar-new-section .loop-article.wh-box { padding: 24px 8.2%; }

	.event-article .loop-head {
		overflow: visible;
		margin-bottom: 1em;
	}

	.contents .loop-article p.event-place { margin-bottom: 0; }

	.seminar-new-section .thum-box {
		width: auto;
	}
}

/* 予約状況リボン */

.reserv-tag {
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	background: #e20020;
	border-radius: 4px;
	padding: 0.3em 0.8em;
	-ms-transform: skew( -10deg,0 );
	transform: skew( -10deg,0 );
	position: absolute;
	top: -24px;
	right: 0;
	z-index: 5;
}

.reserv-in {
	display: block;
	-ms-transform: skew( 10deg,0 );
	transform: skew( 10deg,0 );
}

@media screen and ( min-width: 641px ) {

	.reserv-tag {
		top: 0;
	}
}


/* 過去開催セミナー */

@media screen and ( min-width: 641px ) {

	.entry-contents .loopflex-wrap > p:first-child { margin-top: 0; }
}


/** ============================================================================
 * シングルページ 固定ページ
============================================================================ **/


/* シングルページ
----------------------------- */


/** ----------------------------------------------------------
　各ページ個別
---------------------------------------------------------- **/

/* フロー */

.flow-box.flow > *,
.flow-box.flow-s > * { background: none; }

.flow > *::before,
.flow-s > *::before { border-color: var(--wp--preset--color--theme-red) transparent transparent; }

/** ============================================================================
 * ホーム(トップ)ページ
============================================================================ **/

.home .entry-contents { padding-bottom: 0; }

/**
	ホームビジュアル
----------------------------------------------------- **/

/* スリックスライダー
----------------------------- */

.slide-area > .center-box {
	padding-top: 7.5rem;
}

.top-visual .slide-figure {
	width: 90vw;
	height: 90vw;
	border-radius: 16px;
	overflow: hidden;
}

.top-visual .wp-custom-header img,
.top-visual .slick-slide > img,
.top-visual .slide-figure > img,
.top-visual .wp-custom-header video,
.top-visual .slick-slide > video,
.top-visual .slide-figure > video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media screen and ( min-width: 641px ) {

	.slide-area > .center-box {
		padding: 0;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction:  row-reverse;
		flex-direction: row-reverse;
		-ms-flex-align: center;
		align-items: center;
		width: 100%;
	}

	.top-visual .slide-wrap,
	.top-visual .slide-figure {
		width: 60vw;
		max-width: 644px;
		height: 60vw;
		max-height: 644px;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}
}

/* スライダー内テキスト
----------------------------- */

.slide-txtwrap {
	position: static;
	transform: translate(0,0);
}

.slidetxt-bg { position: static; }

h1.top-v-tit {
	color: var(--wp--preset--color--theme-red);
	font-size: 1.375em;
	font-weight: 900;
	text-align: left;
	position: absolute;
	top: calc(-90vw - 7.5rem + 80px);
	left: 0;
	margin: 0;
}

.top-v-company {
	font-size: 0.75rem;
	text-align: left;
	margin-top: -80px;
}

.top-v-company > img {
	width: 200px;
	margin: 0 0 0.5em auto;
	display: block;
}

.top-v-company > p {
	line-height: 1.4;
	text-align: center;
}

.top-v-company > .top-v-company-name {
	font-size: 1.2em;
	font-weight: 700;
	margin-top: 0.5em;
}

@media screen and ( min-width: 641px ) {

	.slide-txtwrap {
		margin-right: -20%;
		-ms-flex: 1;
		flex: 1;
	}

	h1.top-v-tit {
		position: static;
		text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 4px #fff,0 0 4px #fff,0 0 8px #fff;
	}

	.top-v-company {
		margin: 0;
		padding-right: 40%;
	}

	.top-v-company > img {
		width: 150px;
		margin: 32px auto 0.5em;
	}
}

@media screen and ( min-width: 800px ) {

	h1.top-v-tit { font-size: 1.5em; }
}

@media screen and ( min-width: 960px ) {

	h1.top-v-tit { font-size: 2em; }
}

@media screen and ( min-width: 1144px ) {

	h1.top-v-tit { font-size: 2.5em; }
}


/** ----------------------------------------------------------
 * ホーム共通
---------------------------------------------------------- **/

.heading-has-sub-group > p {
	font-weight: 700;
	margin-top: 0;
}

@media screen and ( min-width: 641px ) {

	.home .primary-contents { padding-top: 120px; }

	.heading-has-sub-group > h2 {

	}
}

.home-service .wp-block-column { position: relative; }

.home-service .wp-block-column .wp-block-image > a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/**
	トピックス
----------------------------------------------------- **/

.news-all-list .news-date {
	min-width: 8em;
}

.news-all-list .cat-links {
	min-width: 6em;
}

.news-all-list .cat-links a {
	border-radius: 0.7em;
}



/**
	フェードアニメ関連
----------------------------------------------------- **/

.fade-group figure { overflow: hidden; }

.fade-out {
	-ms-transform: translateY( 50px );
	transform: translateY( 50px );
	-ms-transition: 0.8s;
	transition: 0.8s;
	opacity: 0;
}

.fade-right.fade-out {
	-ms-transform: translateX( 50px ),translateY( 0 );
	transform: translate( 50px, 0 );
}

.fade-left.fade-out {
	-ms-transform: translateX( -50px ),translateY( 0 );
	transform: translate( -50px, 0 );
}

.fade-out.scale-fade img  {
	-ms-transform: scale(1.2,1.2);
	transform: scale(1.2,1.2);
	-ms-transition: 1s all;
	transition: 1s all;
}

.fade-out.scale-fade .thum-box img {
	-ms-transform: translateX(-50%) scale(1.2,1.2);
	transform: translate(-50%,0) scale(1.2,1.2);
}

.fade-in {
	-ms-transform: translateY( 0px );
	transform: translateY( 0px );
	opacity: 1;
}

.fade-right.fade-in,
.fade-left.fade-in {
	-ms-transform: translateX( 0 ),translateY( 0 );
	transform: translate( 0, 0 );
}

.fade-in.scale-fade img  {
	-ms-transform: scale(1,1);
	transform: scale(1,1);
}

.fade-in.scale-fade .thum-box img  {
	-ms-transform:  translateX(-50%) scale(1,1);
	transform: translate(-50%,0) scale(1,1);
}

