/*
Theme Name: taiga_m_2026
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: taiga_m_2026
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
*/

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

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

.has-white-color .btn-tx a:not(:hover) {
	color: #fff;
}

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

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

h1,
h2,
h3,
h4,
h5,
h6,
strong,
.text-bold { font-weight: 700; }

.text-taiga-green {
	color: var(--wp--preset--color--taiga-green);
}

/* 矢印 */

.arrow-r a::after,
.arrow-l a::before {
	content: '';
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	margin: 0 0.2em;
	border-style: solid;
	border-width: 2px;
	rotate: -45deg;
}

.arrow-r a::after { border-width: 0 2px 2px 0; }

.arrow-l a::before { border-width: 2px 0 0 2px; }

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

th {
	background: #cfdde4;
}

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

/** ----------------------------------------------------------
 * その他クラス関連
---------------------------------------------------------- **/

/* フロー */

.flow > *::before,
.flow-s > *::before { border-color: var(--key-main-color) transparent transparent; }

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

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


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

.site-head {
	border-bottom: 1px solid var(--key-main-color);
}

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

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


/* タブレット・PC用 カラー設定
----------------------------- */

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

	.main-menu > li {
		font-size: 0.875em;
		padding: 0.3em 0;
	}

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

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

	.main-menu > li.menu-item-has-children > a::before { bottom: -0.3em; }
}


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

.full-sidebox { background: #fff; }

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

	.foot-primary {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		gap: 32px;
	}

	.foot-primary > * { width: 100%; }

	.foot-nav { margin: 0; }

}

/* フッター コンタクト
----------------------------- */
.foot-contact p {
	font-size: 1.125rem;
}
.site-footer .foot-contact a {
	padding: 0.8em 2em;
	background: var(--wp--preset--color--theme-orange);
	border-color: var(--wp--preset--color--theme-orange);
}

.site-footer .foot-contact a::after {
	content: '';
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff;
	rotate: 45deg;
	vertical-align: 0.05em;
	margin-left: 0.2em;
}

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

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


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

.page-top a { border-radius: 4px; }

/** ============================================================================
 * ウィジェット関連
============================================================================ **/

/* メルマガ登録フォーム
----------------------------- */

.mailmagz-widget { max-width: 368px; }

.mailmagz-widget-group .widget-title { margin: 0; }

.mailmagz-widget.wp-block-cover {
	min-height: auto;
	margin-right: auto;
	margin-left: auto;
}

.mailmagz-title {
	font-size: 1.625em;
	text-align: center;
	padding: 0.3em 0.2em;
}

.mailmagz-title .text07 {
	color: var(--wp--preset--color--theme-gold);
	font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.mailmagz-title,
.mailmagz-box .wp-block-cover__inner-container > p,
.mailmagz-box .mailmagz-form + p,
.mailmagz-box input[type="submit"] { text-shadow: 0 0 2px rgba(0,0,0,1.0); }

.mailmagz-box p,
.mailmagz-box .mailmagz-form  input[type="text"],
.mailmagz-box .mailmagz-form  input[type="email"] {
	font-size: 0.875rem;
	line-height: 1.4;
}

.mailmagz-box .mailmagz-form { margin-top: 0.8em; }

.mailmagz-box .mailmagz-form label:not(.check-submit-label) { display: none; }

.mailmagz-box .mailmagz-form .mailmagz-name {
	display: -ms-flexbox;
	display: flex;
	gap: 0.5em;
}

.mailmagz-box .mailmagz-form + p,
.mailmagz-box .check-submit-label {
	color: #fff;
	font-size: 0.875rem;
	/*font-weight: 700;*/
	text-shadow: 0 0 2px rgba(0,0,0,1.0),0 0 2px rgba(0,0,0,0.5);
}

.mailmagz-box input[type="email"] { margin: 0.8em 0; }

.magz-submit-btn {
	display: block;
	background: #fff;
	width: max-content;
	margin: 0.3em auto 0;
}

.magz-submit-btn input[type="submit"],
.mailmagz-box input[disabled][type="submit"]:hover,
.mailmagz-box input[disabled][type="submit"]:active {
	margin: 0;
	text-shadow: none;
}

.mailmagz-box input[type="submit"]:not([disabled]):hover {
	cursor: pointer;
	opacity: 1;
}

.mailmagz-box input[type="submit"]:not([disabled]):hover {
	color: #fff;
}


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

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

/*#wrapper {
	position: relative;
	z-index: 2;
}*/

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

.side-bnr-brock {
	position: relative;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

.side-bnr-brock:hover { opacity: 0.8; }

.side-bnr-brock .wp-block-media-text__content { padding: 0 1em !important; }

.side-bnr-brock .wp-block-media-text__media a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.side-bnr-brock .wp-block-media-text__media a:hover img { opacity: 100; }

.side-bnr-brock p.has-small-font-size {
	position: absolute;
	top: 0.8em;
	left: 1em;
}


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

.primary-contents { padding-bottom: 40px; }

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


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

	.primary-contents { padding-bottom: 80px; }
}

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

.entry-contents > * { letter-spacing: 1px; }

.entry-contents > h2 {
	color: var(--key-main-color);
	font-family: Frank Ruhl Libre, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Yu Mincho", "YuMincho", serif;
}

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

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

.contents-head {
	margin-bottom: 0;
	background-image: repeating-linear-gradient(315deg, #0f525714, #0f525714 8px, transparent 8px, transparent 16px);
}

.entry-txtwrap {
	text-align: center;
	padding: 1.5em 0;
}

.main-title {
	letter-spacing: 0.05em;
	position: relative;
	padding: 0 0 0.2em;
}

.main-title::after {
	content: '';
	display: block;
	height: 2px;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--wp--preset--color--taiga-green);
}

.sub-title,
.before-arc-title,
.column-before  {
	font-weight: 400;
	display: block;
}

.before-arc-title,
.column-before { font-size: 0.75em; }

.before-title {
	font-size: 1.125rem;
	display: block;
}

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

	.entry-txtwrap { padding: 2em 0; }

	.main-title {
		display: inline-block;
		padding: 0 1.5em 0.1em;
	}
}

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

	.entry-txtwrap { padding: 6em 0; }
}

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

.contents-head.img-head {
	text-align: center;
	padding: 0;
	position: relative;
}

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

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

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

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

.tit-img::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(22, 50, 120, 0.3);
}

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

	.tit-img {
		height: auto;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

	.img-head .entry-txtwrap {
		color: var( --text-white );
		text-shadow: 0 0 3px rgba(0,0,0,0.5),0 0 3px rgba(0,0,0,0.5);
	}

	.title-imgtxt .main-title::after {
		background: var(--wp--preset--color--theme-gold);
	}
}


/* ページナビ
----------------------------- */

.primary-footer,
.archive-footnav,
.single-footnav,
.single-pagenav { margin-bottom: 0; }


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

.cat-desc {
	letter-spacing: 1px;
	line-height: 1.8;
}


.second-cat-section { margin-top: 40px; }

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

	.second-cat-section { margin-top: 80px; }
}

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

.contents > .loop-section-tit {
	color: #fff;
	text-align: center;
	padding: 0.2em;
	background: var(--wp--preset--gradient--green-grade);
	border-bottom: 4px solid var(--wp--preset--color--theme-orange);
}

/* ループ関連
----------------------------- */

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

/**:not(.post-row) .loop-article:not(:first-of-type) {
	border-top: 1px dotted;
	padding-top: 32px;
}*/

.loop-title {
	font-size: 1.125em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid;
	margin: 0 0 0.3em;
}

.loop-title,
.loop-title a:not(:hover) { color: var(--wp--preset--color--theme-navy) }

.before-posttitle { display: inline-block; }

.event-article .before-posttitle {
	font-size: 0.76em;
	display: block;
}

.loop-fullpost .eye-catch { margin-bottom: 1em; }

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

	.loop-title { font-size: 1.375em; }
}


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

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

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

.event-article,
.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 {
	color: var( --wp--preset--color--text-black );
	font-size: 0.8125em;
	display: block;
}

.event-area {
	font-size: 0.75em;
	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 {
	color: var( --text-black );
	font-size: 14px;
	font-size: 0.875rem;
	text-indent: 0;
	text-align: center;
	margin-top: 0.5em;
}

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

.event-article.loop-fullpost .btn-tx {
	text-align: center;
	margin: 1.5em 0 0;
}

.event-article.loop-fullpost .btn-tx a {
	font-size: 1.125rem;
}

.ondemand-area.event-aredate { color: var(--wp--preset--color--theme-navy ); }

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

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

	.event-article .loop-title {
		/*font-size: 1.75em;*/
		overflow: hidden;
	}

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

/* 予約状況リボン */

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

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

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

	.archive .reserv-tag { top: 1em; }

	.archive .loop-article:not(:first-of-type) .reserv-tag { top: calc( 1em + 32px ); }
}


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

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

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


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


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

/*.single-footnav {
	margin-bottom: 0;
	padding-bottom: 40px;
}

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

	.single-footnav { padding-bottom: 80px; }
}*/

/* コラムシングル */

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

	.single-con-head[style] { padding: 0; }

	.single-con-head[style] .single-img-wrap {
		max-width: 1080px;
		margin: 0 3%;
	}

	.single-img-txt .entry-title {font-size: 1.5em; }

	.before-title { font-size: 1rem; }
}

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

	.single-con-head[style] .single-img-wrap { margin: 0 auto; }

	.single-img-txt .entry-title {font-size: 2em; }

	.before-title { font-size: 1.125rem; }
}


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

/* Q & A
-------------------------------*/

.contents .QandA p { text-indent: 0; }

.QandA dt,
.QandA dd:first-letter,
.QandA dd p:first-child:first-letter {
	font-size: 1.2em;
	font-weight: 600;
}

.QandA dt {
	padding-left: 1.5em;
	text-indent: -1.5em;
	line-height: 1.4;
}

.QandA dd + dt {
	border-top: 1px dotted #999;
	padding-top: 1em;
	margin-top: 1em;
}

.QandA dd {
	margin: 0 0 0 0;
	padding-left: 1.5em;
}

.QandA dd,
.QandA dd p:first-child {
	text-indent: -1.5em;

}

.QandA dd:first-letter,
.QandA dd p:first-child:first-letter {}

.QandA dd li { text-indent: 0; }

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

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

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

button.slick-arrow,
button.slick-prev:hover,
button.slick-prev:focus,
button.slick-next:hover,
button.slick-next:focus { background: rgba( 255,255,255,0.3 ); }

button.slick-arrow::after { border-color: var(--wp--preset--color--theme-navy); }

button.slick-arrow:hover::after { border-color: var(--wp--preset--color--theme-orange); }

.slick-dots .slick-active button,
.slick-dots li button:hover { background: var(--wp--preset--color--theme-red); }

.slick-dots {
	top: calc( 100% - 32px );
}

.slidetxt-bg {
	color: #fff;
	display: inline-block;
	padding: 1em 4%;
	background: rgba(14,82,87,0.4);
}

.slide-headline {
	font-size: 1.325em;
	font-weight: 400;
	font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.slide-text { font-size: 0.875em; }

.slide-btn { margin-top: 1em }

.slide-btn a {
	display: inline-block;
	padding: 0.3em 1.2em;
	background: #ff8d28;
	border-radius: 2px;
	position: relative;
	box-shadow: 0 1px 2px rgba( 0,0,0,0.6 );
}

.slide-btn a:not(:hover),
.slide-btn a:hover {
	color: #fff;
	font-weight: 700;
}

.slide-btn a:hover {
	color: var(--wp--preset--color--text-black);
	text-decoration: none;
	background: #fc0;
}

.slide-btn a::after {
	content: '';
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	border-style: solid;
	border-width: 0 2px 2px 0;
	rotate: -45deg;
	margin-left: 0.3em;
}

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

	.slidetxt-bg {
		padding: 1em 4%;
		background: rgba(14,82,87,0.8);
	}

	.slide-headline { font-size: 1.5em; }
}

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

	.slidetxt-bg { padding: 2em 5%; }

	.slide-headline { font-size: 1.75em; }

	.slide-text { font-size: 1.125em; }
}

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

/* あいさつ
----------------------------- */

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

	.home-greeting-area.alignfull.has-background { padding: 0 3%; }
}

/* ホーム 見出し
----------------------------- */

.home .heading-has-sub-group > h2 {
	font-size: 2em;
	letter-spacing: 1px;
}

.home .heading-has-sub-group > p {
	margin-top: 0.5em;
}

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

	.home .heading-has-sub-group > h2 {
		font-size: 2.5em;
	}
}

/* ホームコラム
----------------------------- */

.home-column.post-row .loop-article {
	background: #fff;
	border-radius: 2px;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
}

.home-column.post-row .loopflex-wrap {
	color: var(--wp--preset--color--text-black);
	padding: 0 5% 1em;
}

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

	.home-column .loop-title { font-size: 1.375em; }
}


/* ホームセミナー
----------------------------- */

.home-seminar .event-article {
	background: #fff;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
	position: relative;
}

.home-seminar .reserv-tag {
	top: 0;
	right: 8px;
}

.home-seminar .event-article .home-semi-thum { border: none; }

.home-seminar .loopflex-wrap {
	color: var(--wp--preset--color--text-black);
	padding: 1em 5%;
}

.home-seminar .event-article .loop-head { margin-bottom: 0.5em; }

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

	.home-seminar .loopflex-wrap { padding: 1em; }

	.home-seminar .loop-title { font-size: 1.375em; }

	.home-seminar .event-article .home-semi-thum {
		width: 40%;
		margin: 0;
	}
}

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

	.home-seminar .event-article { position: static; }

	.home-seminar .event-article .flex-box {
		-ms-flex-align: center;
		align-items: center;
	}

	.home-seminar .event-article .home-semi-thum {
		width: 40%;
	}

	.home-seminar .event-article .home-semi-thum img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.home-seminar .loopflex-wrap {
		padding: 1em 5%;
		position: relative;
	}

	.home-seminar .loop-title { font-size: 1.5em; }

	.home-seminar .reserv-tag {
		right: 1.5em;
	}
}

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

.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);
}

/** ----------------------------------------------------------
 * プラグイン関連追加
---------------------------------------------------------- **/

/* boxzila
----------------------------- */

.boxzilla {
	background:rgba( 255,255,255,0.8);
	padding: 8px;
	border-radius: 4px;
}

.boxzilla.boxzilla-bottom-right {
	bottom: 16px;
	right: 100px;
}

.boxzilla-close-icon {
	background: #fff;
}
