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

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

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

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

/* ボタンブロック */

.btn-tx a,
.wp-block-button__link {
	transition: 0.3s;
	position: relative;
}

.btn-tx a:hover,
.wp-block-button__link:hover {
	text-decoration: none;
	transform: translateY(-4px);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

.btn-tx a:active,
.wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}

.btn-tx a:hover {
	color: inherit;
	background: #fff;
	border-color: inherit;
}

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

.box-shadow-s {
	box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

 /* ページ内リンク 固定ヘッダーの高さ＋好みの余白を指定 */

[id] { scroll-margin-top: 120px; }

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

/* 右のみ水平線 */

.right-line {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.right-line::after {
	content: '';
	height: 1px;
	flex-grow: 1;
	border-bottom: 1px solid;
}

/* 左右に水平線 */

.txt-divider {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.txt-divider::before,
.txt-divider::after {
  content: '';
  height: 1px;
  flex-grow: 1;
  border-bottom: 1px solid;
}


/* Webfont
----------------------------- */

.wdf-AudioW {
	font-family: "Audiowide", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* ボタン
----------------------------- */

.btn-tx a {
	border-radius: 1.2em;
}

.btn-tx a:not(:hover) {
	color: var(--wp--preset--color--theme-navy);
	background: #fff;
}

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


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


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

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

.site-title.logo-left img { margin: 0; }

.inc-size {
	font-size: 0.85em;
	vertical-align: 0.05em;
}

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

.head-branding .site-title {
	font-size: 1.75em;
}


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

	.head-branding .site-title {
		width: max-content;
		margin: 0 auto;
	}
}

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

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


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

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

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

	.drawer-menu.main-nav { background: rgba( 10,22,40,0.8 ) !important; }

	.site-head .drawer-menu a:not(:hover),
	.site-head .drawer-menu .main-menu .menu-item-has-children > a:hover { color: #fff; }

	.site-head .drawer-menu a:hover,
	.site-head .drawer-menu a:active {
		color: var(--wp--preset--color--theme-gold);
		text-decoration: none;
	}

	.main-menu .menu-item-has-children > a::after { content: none; }
}


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

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

	ul.main-menu { position: static; }

	.main-menu > li:not(.head-contact-btn) { padding: 0.3em 0; }

	.main-menu > li > a {
		font-weight: 700;
		padding: 0 0.5em;
	}

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


	/* コンタクトボタン */

	.main-menu li.head-contact-btn {
		position: absolute;
		top: 0;
		right: -3%;
	}

	.admin-bar .main-menu li.head-contact-btn { top: 46px; }

	.main-menu .head-contact-btn a {
		font-size: 0.875em;
		text-align: center;
		display: block;
		background: var(--wp--preset--color--theme-light-navy);
		padding: 1rem;
	}

	.head-contact-btn a:not(:hover),
	.head-contact-btn a:hover { color: #fff; }

	.head-contact-btn a:hover { opacity: 0.8; }

	.head-contact-btn a::before{
		content: '\f0e0';
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 1.8em;
		display: block;
	}

	/* 第2階層 */

	.main-menu > li.menu-item-has-children:hover {
		cursor: pointer;
	}

	.main-menu > li:hover > .sub-menu,
	.main-menu > li.menu-item-has-children:hover::before {
		opacity: 0;
		pointer-events: none;
	}

	.main-menu > li.open-submenu ul.sub-menu,
	.main-menu > li.menu-item-has-children.open-submenu::before {
		opacity: 1;
		pointer-events: auto;
	}

	.main-nav:not( .drawer-menu ) .main-menu .sub-menu {
		background: #fff;
		box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	}

	.main-menu > li > .sub-menu {
		padding: 0.5em 1em;
		border-top: none;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 0.5em 2em;
		column-rule: 1px solid #ccc;
		max-width: 300%;
	}

	.main-menu > li:last-child > .sub-menu,
	.main-menu > li:nth-last-child(2) > .sub-menu {
		right: 0;
		left: auto;
	}
}

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

	.head-primary-contents {
		padding-right: calc( 90px + 1em );
	}

	.main-menu li.head-contact-btn {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
	}

	.admin-bar .main-menu li.head-contact-btn { top: 0; }

	.main-menu .head-contact-btn a {
		padding: 1em 1em;
	}
}



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


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

	.foot-primary {
		display: flex;
		flex-wrap: wrap-reverse;
		justify-content: center;
		gap: 2em;
	}

	.foot-nav { margin: 0; }
}


/* フッターコンタクトエリア
----------------------------- */

.fcontact-list-btn {
	list-style: none;
	padding: 0;
	margin: 2em 0 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 1em;
}

.fcontact-list-btn > li {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	background: #fff;
}

.fcontact-list-btn > li,
.fcontact-list-btn a { border-radius: 2rem }


.fcontact-list-btn a {
	font-weight: 700;
	display: block;
	padding: 1em 1.5em;
	border: 2px solid var(--wp--preset--color--theme-gold);
}

.fcontact-list-btn a:hover {
	text-decoration: none;
	opacity: 0.8;
}

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

.fcontact-list-btn li:first-child a { background: var(--wp--preset--color--theme-gold); }

/*.fcontact-list-btn li:last-child a { background: rgba( 26,42,74,0.5 ); }*/

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

	.foot-contact { padding: 40px 5%; }

	.foot-contact-contents > p:first-child { font-size: 1.1875em; }

	.fcontact-list-btn { gap: 2em; }

	.fcontact-list-btn a { font-size: 1.25em; }
}

/*  */
.page-top { z-index: 99999; }

/** ----------------------------------------------------------
 * サイドバー ウィジェットエリア
---------------------------------------------------------- **/

.full-sidebox { background: #f5f5f5; }

/* サイドバナー
----------------------------- */

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


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

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

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


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

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

.entry-contents > h2,
.cat-desc > h2 {
	color: var(--wp--preset--color--theme-light-navy);
	margin-bottom: 0.5em;
}

.btn-tx a { padding: 0.2em 1.5em; }

/* アーカイブdiscription
----------------------------- */

.cat-desc > * + p { margin-top: 1em; }



/* Flexible Table Block プラグイン共通設定
----------------------------- */

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

	.entry-contents > .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th { min-width: 10em; }
}



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


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

.contents-head {
	text-align: center;
	max-width: 1080px;
	padding: 2em 0;
}

.layout-full .contents-head { margin: 0 3% 40px; }

.entry-title { line-height: 1.4; }

.main-title {
	color: var(--wp--preset--color--theme-light-navy);
	font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 400;
	position: relative;
	padding: 0.3em 0;
}

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

.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 )  {

	.contents-head { margin-bottom: 80px; }

	.entry-title { font-size: 2.25em; }

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

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

	.layout-full .contents-head { margin: 0 auto 80px; }
}

/* イメージタイトル 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%;
}

.img-head .entry-txtwrap { margin-top: 1em }

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

	.contents-head.img-head {
		color: #fff;
		padding: 0;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		background: var(--wp--preset--color--theme-navy);
		box-shadow: 0 1px 2px rgba( 0,0,0,0.2 );
		max-width: 1080px;
	}

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

	.before-title::before { content: '【'; }
	.before-title::after { content: '】'; }

	.contents-head.img-head .tit-img {
		width: 40%;
		min-height: 160px;
		margin: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}

	.contents-head.img-head .tit-img img {
		height: 100%;
		width: auto;
		max-width: none;
	}

	.contents-head.img-head .entry-title { font-size: 1.55em; }

	.contents-head.img-head .main-title { color: #fff; }
}

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

	.contents-head.img-head .tit-img {
		width: 30%;
		height: 200px;
	}

	.contents-head.img-head .tit-img img {
		height: auto;
		width: 100%;
		max-width: none;
	}

	.contents-head.img-head > .center-box {
		width: 100%;
		margin: 0;
		padding: 0 3%;
	}

	.contents-head.img-head .entry-title { font-size: 1.85em; }
}


/* コラムシングルタイトル
----------------------------- */

.single-img-txt .before-title::before { content: '【'; }

.single-img-txt .before-title::after { content: '】'; }

.single-img-txt.text-white .main-title { color: #fff; }

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

	.single-img-wrap { background-size: 30% auto; }
}

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

	.layout-full .single-img-wrap { background-size: 25% auto; }
}


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


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

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

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

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

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

.event-end-section .contents > .loop-section-tit { background: var(--wp--preset--color--theme-light-navy ) }

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

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

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

.loop-title {
	font-size: 1.125em;
	font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	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; }
}

/* カードタイプ */

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

	.post-row .loop-article:not(:first-of-type) {
		border-top: none;
		padding-top: 0;
	}
}


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

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

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

.event-article,
.event-figwap { position: relative; }

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

.event-head .loop-title {
	font-weight: 600;
	margin-bottom: 0;
	border-width: 0 0 1px;
}

.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-blue-gray );
	padding: 0.3em;
}

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

.event-article.loop-fullpost .btn-tx a {
	font-size: 1.25rem;
	border-width: 2px;
}

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

/* セミナータイプラベル */

.semi-type-label > a {
	font-size: 0.875em;
	font-weight: 700;
	padding: 0.2em 0.8em;
	display: inline-block;
	border-radius: 4px 4px 0 0;
}

.semi-type-label > a:not(:hover),
.semi-type-label > a:hover {
	color: #fff;
}


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

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

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

/**
	書籍 アーカイブ
----------------------------------------------------- **/

.post-type-archive-books .entry-contents:not(.post-row) .books-loop {
	display: -ms-flexbox;
	display: flex;
	gap: 5%;
}

.post-type-archive-books .books-loop .bookbox-figre {
	width: 24%;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.books-loop .bookbox-figre img { box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

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

	.post-type-archive-books .entry-contents:not(.post-row) .books-loop {
		-ms-flex-align: center;
		align-items: center;
	}
}

/* カード型 */

.post-row .books-loop {
	border: 1px solid #ccc;
	padding: 1.5em 5%;
}

.post-row .books-loop .bookbox-figre { width: auto; }

.post-row .bookbox-figre img {
	width: auto;
	max-width: 70%;
	height: 200px;
}

.post-row .books-loop .loop-title { font-size: 1.125em; }

.post-row .books-loop .btn-tx { text-align: center; }

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

	.post-row > .books-loop.loop-article {
		width: 31%;
		padding: 1.5em 3%;
	}

	.post-row .books-loop .loop-title { font-size: 1em; }
}

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

	.post-row > .books-loop.loop-article {
		width: 22.35%;
		padding: 1em;
	}
}


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

/** ----------------------------------------------------------
　固定ページ
---------------------------------------------------------- **/

/* ステップcss */

.steping-block {
	margin-top: 32px;
	position: relative;
}

.steping-block:not(:last-of-type)::before {
	content: '';
	display: block;
	position: absolute;
	width: 2px;
	top: 1em;
	bottom: -32px;
	left: 0.8em;
	border-left: 2px dashed #ccc;
}

.steping-num.has-background {
	text-align: center;
	margin: 0 !important;
	width: 1.67em;
	height: 1.67em;
	padding: 0;
}

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

	.steping-block:not(:last-of-type)::before {
		left: 1.24em;
	}
}

/* バナータイプリスト */

.bnr-list {
	font-weight: 700;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bnr-list > li {
	padding: 0.5em 3%;
	box-shadow: 0 1px 1px rgba( 0,0,0,0.4 );
	border-left: 2px solid var(--wp--preset--color--theme-gold);
	background: #fff;
}

.bnr-list > li:not(:first-child) { margin-top: 0.5em; }

/**
	海外ビジネス〈7つの構造設計〉とは
----------------------------------------------------- **/

.sevens-block { padding-left: 2em; }

.sevens-headline {
	gap: 8px;
	position: relative;
	z-index: 2;
	margin-left: -2em !important;
}

.steping-num,
.sevens-tit {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.sevens-block .steping-num.has-background {
	font-size: 1.675em;
	font-weight: 700;
}

.sevens-question {
	font-weight: 700;
	line-height: 1.4;
}

.sevens-question::before { content: '〜'; }

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

	.sevens-block { padding-left: 3.25em; }

	.sevens-headline { margin-left: -3.25em !important; }

	.sevens-tit { font-size: 1.5em; }
}

/**
	ご相談から支援開始まで
----------------------------------------------------- **/

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

/* よくあるご質問
----------------------------------------------------- **/

.entry-contents .qa-acfblock {
	counter-increment: re-number;
	padding-right: 3%;
	border-right:  1px solid #eee;
	border-bottom: 1px solid #ccc;
	border-radius: 0 0 8px 0;
}

.qa-acfblock + .qa-acfblock { margin-top: 32px; }

.qa-acfblock > .quest-tit::before { content:'Q'counter(re-number)'：';}

.quest-tit {
	color: var(--wp--preset--color--theme-light-navy);
	font-size: 1.25em;
	padding-left: 2em;
}

.quest-tit::before {
	color: var(--wp--preset--color--vivid-red);
	margin-left: -2em;
}

.ans-txt { margin-left: 0.8em; }

.ans-txt::before { color: var(--wp--preset--color--theme-gold); }

/**
	支援事例
----------------------------------------------------- **/

.case-flow-group dt {
	font-size: 1.125em;
	padding-bottom: 0.3em;
	border-bottom: 1px dotted;
	margin-bottom: 0.5em;
}

.case-flow-group dt::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 1em;
	margin: 0 0.3em 0 0;
	vertical-align: -0.1em;
	background: var(--wp--preset--color--theme-navy);
}

.case-redesign dt::before { background: var(--wp--preset--color--vivid-cyan-blue); }

.case-result dt::before { background: var(--wp--preset--color--theme-gold); }

.case-flow-group dd {
	font-size: 0.9375em;
	line-height: 1.4;
}

.case-redesign,
.case-result { position: relative; }

.case-redesign::before,
.case-result::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px;
	border-color: var(--wp--preset--color--theme-blue-gray) transparent transparent;
	position: absolute;
	top: calc( -16px - 8px);
	left: calc( 50% - 16px );
}

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

	.case-redesign::before {
		border-color: transparent transparent transparent var(--wp--preset--color--theme-blue-gray);
		top: calc( 50% - 16px);
		left: calc( -16px - 8px );
	}
}

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

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

.type-books .single-meta { display: none; }

/* 書籍情報Box */

.books-type,
.books-sub {
	font-weight: 400;
}

.books-type {
	font-size: 0.7em;
	display: inline-block;
	margin-bottom: 0.5em;
	padding: 0 0.5em;
	border: 1px solid;
}

.books-sub {
	font-size: 0.875em;
	display: block;
}

.books-dl > dt {
	float: left;
	width: 3.5em;
	margin-right: 0.5em;
	text-align-last: justify;
	text-justify:inter-ideograph;
}

.books-title {
	border-left: 4px solid var(--wp--preset--color--theme-gold);
	padding-left: 0.5em;
	margin-left: -0.6em;
}

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


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

	.books-dl > dd { overflow: hidden; }

	.store-ul {
		text-align: right;
	}
}

/* 書籍 アーカイブ */

.books-arclist .books-boxset {
	border: 1px solid #ccc;
	padding: 8px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.books-arclist .books-boxset:not(:last-child) { margin-bottom: 1em; }

.books-arclist .books-ph {
	max-width: 32%;
	margin: 0 1em 0 0;
}

.books-arclist .books-txt {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.books-arclist .books-title { font-size: 1rem; }

.books-arclist .books-dl,
.books-arclist .store-ul {
	font-size: 12px;
	margin: 0;
}

.books-arclist .books-dl dd:not(:last-child) { margin-bottom: 0; }

.books-arclist .store-ul + p.btn-tx { margin-top: 1em; }

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

	.books-arclist .books-boxset {
		padding: 16px;
	}

	.books-arclist .books-ph {
		max-width: 30%;
		margin-right: 2em;
	}

	.books-arclist .books-title {
		font-size: 1.375em;
	}

	.books-arclist .books-dl,
	.books-arclist .store-ul {
		font-size: 15px;
		font-size: 0.9375em;
		margin: 0.5em 0;
	}

	.books-arclist .books-boxset:not(:last-child) { margin-bottom: 2em; }

	.books-arclist .store-ul + p.btn-tx { margin-top: 2em; }
}

/* 書籍 シングル*/

.single-books .books-boxset {
	border-bottom: 1px solid #ccc;
	padding: 8px;
	margin-bottom: 40px;
}

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

	.single-books .books-boxset {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		padding: 16px 0;
	}

	.single-books .books-ph { margin: 0 2em 0 0; }

	.single-books .books-txt {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}
}


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

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

/* Slickボタン類
----------------------------- */

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-light-navy); }

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

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

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

	.slick-dots li button { background: #eee; }

	.slick-dots {
		top: auto;
		bottom: 16px;
	}
}

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

.slide-txt {
	color: #fff;
	font-size: 1.25em;
	font-weight: 700;
	text-shadow: 0 0 2px rgba(26,42,74,1.0), 0 0 2px rgba(26,42,74,1.0),0 0 4px rgba(26,42,74,1.0);
}

.slide-company-name {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
}

.slide-company-name img {
	width: 2em;
}


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

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

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

	.slide-txt { font-size:2.25em; }
}

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

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

.heading-has-sub-group h2 { letter-spacing: 0.2em; }


/**
	HOME あいさつ lead文
----------------------------------------------------- **/

.top-front-ph { position: relative; }

.top-front-ph .wp-element-caption {
	color: var(--wp--preset--color--text-black);
	font-size: 1rem;
	text-align: left;
	text-shadow: 0 0 2px rgba(255,255,255,1), 0 0 2px rgba(255,255,255,1), 0 0 4px rgba(255,255,255,1);
	position: absolute;
	bottom: 8px;
	left: 0;
}


/**
	HOME 書籍
----------------------------------------------------- **/

.top-book-btns {
	list-style: none;
	padding: 0;
	margin: 1em 0 0;
	display: -ms-flexbox;
	display: flex;
	gap: 1em;
	-ms-flex-pack: center;
	justify-content: center;
}

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

	.home-books-block .loop-article.type-books {
		-ms-flex-align: center;
		align-items: center;
	}

	.home-books-block .loop-article.flex-box .thum-box { aspect-ratio: auto; }

	.home-books-block .loop-article.flex-box .thum-box a { height: auto !important; }

	.top-book-btns {
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
}

/* Homeセミナー
----------------------------- */

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

.home-seminar .loop-article:not(:first-of-type) {
		padding-top: 0;
		border-top: none;
	}

.home-seminar .event-head.loop-head { position: static; }

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

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

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

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

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

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

}

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

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

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

	.home-seminar .event-article .thum-box {
		border: none;
		border-right: 1px solid #ccc;
	}

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

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

.home .primary-wrap,
.fade-group figure { overflow: hidden; }

.fade-out {
	translate: 0 50px;
	transition: 0.8s;
	opacity: 0;
}

.fade-right.fade-out { translate: 50px 0; }

.fade-left.fade-out { translate:  -50px 0; }

.fade-out.scale-fade img  {
	scale: 1.2;
	transition: 1s all;
}

.fade-out.scale-fade .thum-box img {
	translate:-50% 0;
	scale: 1.2;
}

.fade-in {
	translate: 0 0;
	opacity: 1;
}

.fade-right.fade-in,
.fade-left.fade-in {
	translate: 0 0;
}

.fade-in.scale-fade img  {
	scale: 1;
}

.fade-in.scale-fade .thum-box img  {
	translate: -50% 0;
	scale: 1;
}

/* 下からふわっと移動 */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.time-deff.fade-in > * {
	opacity: 0;
	animation: fadeIn 1s ease forwards;
}

/* 順番に時間をずらす（ディレイ） */
.time-deff > *:nth-child(1) { animation-delay: 0.3s; }
.time-deff > *:nth-child(2) { animation-delay: 0.8s; }
.time-deff > *:nth-child(3) { animation-delay: 1.3s; }
.time-deff > *:nth-child(4) { animation-delay: 1.9s; }
.time-deff > *:nth-child(5) { animation-delay: 2.2s; }
.time-deff > *:nth-child(6) { animation-delay: 2.5s; }
