/*
Theme Name: toumeishisan_2025
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.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Requires at least: 5.0
Tested up to: 6.7.1
Requires PHP: 7.4.1
Text Domain: toumeishisan_2025
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
*/

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

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

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

:where(.wp-block-columns) { margin-bottom: 0; }

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

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

.p-indent > p,
.p-indent > dd { text-indent: 1em; }


.btn-tx a:not(:hover) {
	color: var(--wp--preset--color--dark-green);
}
.has-white-color .btn-tx a:not(:hover) {
	color: #fff;
}

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

.btn-tx a,
a.btn-tx { padding: 0 2em; }


.entry-contents dl {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

.entry-contents dd { line-height: 1.8; }


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

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


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

legend { display: inline-block; }

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.wp-block-search__button {
	font-size: 1.125em;
	padding: 0.6em 1.8em;
	border-radius: 4px;
	box-shadow: none;
	margin-top: 0;
}

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

	table.form-table th {
		width: 12em;
	}
}

@media screen and (min-width: 641px) {
  table.form-table th,
  table.form-table td {
    padding: 1em 0;
    vertical-align: top;
  }

  table.form-table tr:not(:first-child) th,
  table.form-table tr:not(:first-child) td { border-top: 1px dotted #999; }

  table.form-table th { padding-right: 0.8em; }

  table.form-table td { padding-left: 0.8em; }
}

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

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


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

.header-widget-area {
	-ms-flex-pack: center;
	justify-content: center;
	gap: 1em;
}


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

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


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

@media screen and (min-width: 641px) {
  .main-menu > li > .sub-menu li {
    padding: 0.5em 0;
  }

  .head-contents .main-nav a:hover { color: var(--wp--preset--color--theme-orange); }
}

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

.full-sidebox {
	background: var(--wp--preset--color--theme-lightblue);
}

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

	.full-sidebox .sidebar {
		display: block;
	}
}

.full-sidebox .widget-container {
	max-width: none;
	width: auto;
	margin-right: 0;
	margin-left: 0;
}

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

.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;
	background: var(--wp--preset--gradient--grade-green-black);
	padding: 0.3em 0.2em;
}

.mailmagz-title.fa5::before {
	content: '\f0e0';
	display: inline-block;
	rotate: -15deg;
}

.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 { padding: 1em; }

.mailmagz-box p {
	font-size: 0.8125rem;
	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-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="text"],
.mailmagz-box input[type="email"] {
	color: var(--text-black);
	padding: 0.2em 0.2em;
}

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

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

.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;
	background: var(--wp--preset--color--theme-orange);
}

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

.mailmagz-box input[type="submit"]:not([disabled]):hover {
	color: #fff;
	background: var(--wp--preset--color--theme-vermilion);
}

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

.foot-container { border-top: 1px solid var(--key-main-color); }

.footadd-ul { margin-top: 0.5em; }

.foot-jplogo img {
	max-height: 16px;
}

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

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

/* foot contact
----------------------------- */

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

.foot-contact-btn a { border: none; }

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

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

/* バナーウィジェット
----------------------------- */

.foot-widg-toparea { padding: 32px 0; }

.foot-bnr-area.is-layout-flex {
	-ms-flex-pack: center;
	justify-content: center;
}

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

	.foot-widg-toparea { padding: 40px 0; }
}

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

	.foot-bnr-area.is-layout-flex {
		gap: 24px calc(100% - 600px);
	}
}

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

	.foot-bnr-area.is-layout-flex {
		gap: 32px calc( calc(100% - 960px) / 2 );
	}

	.widget_simpleimage { width: 320px }
}

/* バナー */

.widget_simpleimage { background: var(--wp--preset--gradient--grade-green-black); }

/*.widget_simpleimage:not(:first-child) { margin-top: 1em; }*/

.simple-image::before,
.simple-image::after {
	content: '';
	display: block;
	position: absolute;
}

.simple-image > a {
	text-align: right;
}

.simple-image + p,
.widget_simpleimage p.more {
	left: 1rem;
	width: 48%;
}

.simple-image + p,
.widget_simpleimage p.more a {
	color: #fff;
}

.simple-image + p:not(.more) {
	font-size: 0.8125rem;
	font-family: var( --font-mincho );
}

.widget_simpleimage p.more { font-size: 1.125rem; }


/* サイドバー ページバナーウィジェット */

.page-bnr-widgarea .widget_simpleimage {
	width: 100%;
	background: var( --wp--preset--color--dark-green);
}

.page-bnr-widgarea .simple-image > a > img { height: 104px; }

.page-bnr-widgarea .widget_simpleimage p.more {
	font-size: 1.25rem;
	font-weight: 700;
	top: 50%;
	left: 3%;
	border-left: 4px solid var(--key-main-color);
	padding-left: 0.5em;
}

.page-bnr-widgarea .widget_simpleimage p.more::before {
	content: '';
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	vertical-align: bottom;
}

.page-bnr-widgarea .widget_simpleimage:nth-child(1) p.more::before {
	background-image: url(images/ico-column.svg);
}

.page-bnr-widgarea .widget_simpleimage:nth-child(2) p.more::before {
	background-image: url(images/ico-handshake.svg);
}

.page-bnr-widgarea .widget_simpleimage:nth-child(3) p.more::before {
	background-image: url(images/ico-consulting.svg);
}

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

	.page-bnr-widgarea .widget_simpleimage p.more {
		font-size: 1.5rem;
	}

}

/* フッターメニュー
----------------------------- */

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

	.foot-menu > li { margin: 0; }

	.foot-menu > li a {
		line-height: 1;
		padding: 0 0.5em 0 0.3em;
	}

	.foot-menu > li:not(:last-child) { margin-bottom: 1em; }

	.foot-menu > li:not(:last-child) a { border-right: 1px solid #ccc; }

}

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


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

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

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


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

.contents > h2 { color: var(--wp--preset--color--dark-green); }


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

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

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

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

.main-title {
	color: var(--wp--preset--color--dark-green);
	letter-spacing: 0.05em;
	position: relative;
	padding: 0;
}

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

.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.1em;
		width: max-content;
		max-width: 100%;

	}
}

@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%;
}

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

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

.title-imgtxt .main-title::after { background: #058053; }

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

	.tit-img {
		min-height: 200px;
	}

	.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);
		margin: 0;
		position: absolute;
		top: 50%;
		right: 10%;
		left: 10%;
		-webkit-transform: translate(0,-50%);
		-ms-transform: translateX(0) translateY(-50%);
		transform: translate(0,-50%);
	}

	.title-imgtxt .main-title { color: #fff; }
}


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

.loop-article figure { border: 1px solid #ccc; }

.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--grade-green-black);
	border-bottom: 4px solid var(--wp--preset--color--theme-orange);
}

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

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

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

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

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

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

	.event-article .loop-title { font-size: 1.75em; }
}


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

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

.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-aredate {
	font-size: 0.8125em;
	display: block;
}

.event-area {
	color: var( --text-black );
	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-lightblue );
	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--vivid-cyan-blue); }

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

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

	.event-article .loop-title { 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; }
}

/**
	Page Navi プラグイン設定
-------------------------------*/

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

.works-loophead .client-name { margin-bottom: 0.3em; }

.works-loophead .loop-title {
	font-size: 1.175em;
	margin-top: 0;
}

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

.loop-article .books-figure {
	max-height: 300px;
	border: none;
	margin-bottom: 1em;
}

.books-figure > a {
	display: block;
	width: 100%;
	height: 100%;
}

.books-figure img {
	width: 100%;
	height: 300px;
	object-fit: contain;
}

.books-loophead .loop-title {
	font-size: 1.175em;
	margin-top: 0;
}

.type-books.loop-article .btn-tx { text-align: center; }

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


/* コラムシングルページ
----------------------------- */




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

/* コンサルティングページ
----------------------------- */

/* プログラムフロー */

.program-flow.flow > * {
	position: relative;
	margin: 0;
	max-width: none;
}

.program-flow.flow > *:not(:first-child) {
	margin-top: 64px;
}

.program-flow.flow > *:not(:first-child)::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	border-top-color: var(--key-main-color);
}


/* プログラムリスト */

.entry-contents .program-list:not(.ul-none) { margin-top: 0.5em; }

.program-list > li { display: inline-block; }

.program-list > li:not(:last-child)::after { content: '／'; }


/* こんな経営者〜 */

.checklist-css > li::after { border-color: var(--wp--preset--color--theme-vermilion) }

/* メリット */

.merit-dl-group > * { counter-increment: re-number; }

.merit-dl-group dt {
	color: var(--wp--preset--color--dark-green);
	font-size: 1.125em;
	padding-left: 2em;
}

.merit-dl-group dt::before {
	content: counter(re-number)'.';
	color: #fff;
	text-align: center;
	display: inline-block;
	width: 1.5em;
	margin: 0 0.5em 0 -2em;
	background: var(--key-main-color);
}

.merit-dl-group dd { margin-left: 2.25em }


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

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

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

.QandA dt,
.QandA dd,
.QandA dd p:first-child {
	padding-left: 2rem;
	text-indent: -2rem;
}

.QandA dt:first-letter { color: var(--wp--preset--color--theme-vermilion); }

.QandA dd:first-letter,
.QandA dd p:first-child:first-letter { color: var(--key-main-color); }

.QandA dt,
.QandA dd:first-letter,
.QandA dd p:first-child:first-letter { font-size: 1.125rem; }

.QandA dt:first-letter,
.QandA dd:first-letter,
.QandA dd p:first-child:first-letter {
	font-weight: 700;
	display: inline-block;
	margin-right: 0.5rem;
}

.QandA dd {
	line-height: 1.8;
	margin: 0.5em 0 0 0;
}

/* お客様の声
----------------------------- */

.voice-column + .voice-column { margin: 40px 0; }

/**
	Confirm Plus Contact Form 7 プラグイン 対策
-------------------------------*/

.wpcf7-list-item input[type="radio"],
.wpcf7-list-item input[type="checkbox"] {
	display: inline-block;
	opacity: 0;
	margin-right: -1em;
}

fieldset {
	padding: 0;
	border: none;
}

.entry-contents fieldset > p { margin: 0; }

#wpcf7cpcnf {
	padding: 1em 3%;
	border: 1px solid #ccc;
}

#wpcf7cpcnf > table {
	font-size: 15px;
	font-size: 0.9375rem;
	width: 100%;
	border-top: none;
	margin-bottom: 16px;
	background: none;
}

#wpcf7cpcnf > table th,
#wpcf7cpcnf > table td {
	border: none;
}

#wpcf7cpcnf > table th {
	font-weight: normal;
	text-align: left;
}

.contents #wpcf7cpcnf > table th { background: none; }

#wpcf7cpcnf > table td { padding: 0 0 0.8em 1.5em; }

.entry-contents #wpcf7cpcnf > table td > p { margin: 0; }

.wpcf7cp-btns {
	text-align: center;
	position: relative;
	padding-top: 1em;
	border-top: 1px dotted;
}

button.wpcf7cp-cfm-edit-btn {
	color: #3e3a39;
	font-size: 0.875em;
	border-radius: 4px;
	background: rgb(246,248,249);
	background: linear-gradient(to bottom,  rgba(246,248,249,1) 0%,rgba(215,222,227,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#d7dee3',GradientType=0 );
	position: absolute;
	left: 0;
}

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

	#wpcf7cpcnf > table th,
	#wpcf7cpcnf > table td {
		padding: 1em 0;
		vertical-align: top;
	}

	#wpcf7cpcnf > table th {
		width: 9.5em;
		padding-right: 0.5em;
	}
}

/**
	運営店舗ページ
----------------------------------------------------- **/

.shop-note .gallery {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 8px 2%;
}

.shop-note .gallery-columns-2 > .gallery-item { width: 49%; }

.shop-note .gallery-columns-3 > .gallery-item { width: 32%; }

/**
	選ばれる５つの理由
----------------------------------------------------- **/

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

	.five-reasons-group {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		gap: 1em 4%;
	}

	.five-reasons-group > *:nth-child(2) { margin-top: 0 }

	.five-reasons-group > * {
		width: 48%;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

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

.site-head.bg-clear {
	background: rgba(22, 34, 40, 0.3);
	position: absolute !important;
	top: 0;
	right: 0;
	left: 0;
}

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

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

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

.home .primary-contents > *:not( .alignfull.has-background ):last-child { margin-bottom: 0; }

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

	.home .primary-contents > *:not( .alignfull.has-background ):last-child { margin-bottom: 0; }
}

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

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

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

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

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

/* Information
----------------------------- */

.news-all-list .cat-links a {
	border: 1px solid;
	border-radius: 0;
	background: none;
}

.home-infomation .news-meta { font-weight: 700; }

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

	.home-infomation.news-all-list > li { display: block; }
}


/* はじめての方バナー
----------------------------- */

.bnr-cover { position: relative; }

.bnr-cover.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container { width: 100%; }

.bnr-cover a::after {
	content: '';
	display: block;
	position: absolute;
	width: 106%;
	height: 349px;
	top: -1.5em;
	right: -3%;
	left: -3%;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

.bnr-cover a:hover { text-decoration: none; }

.bnr-cover a:hover::after { background: rgba(255,255,255,0.3); }

/* 書籍ブロック
----------------------------- */

.fivepoint-topbook .books-headbox {
	display: -ms-flexbox;
	display: flex;
	gap: 1em;
}

.fivepoint-topbook .books-headbox .bookbox-figre {
	width: 34%;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.fivepoint-topbook .books-dl,
.fivepoint-topbook .store-list {
	margin-left: -55%
}

.fivepoint-topbook .books-dl dd { margin-bottom: 0; }


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

.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 {
	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 .thum-box { border: none; }

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

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

.home-seminar .event-place {
	border-top: solid 1px var(--key-main-color);
	margin-bottom: 0;
}

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

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



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

	.home-seminar .event-article .thum-box {
		width: 40%;
		padding-top: calc( 40% * 0.66 );
		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 .loopflex-wrap {
		padding: 0 1.5em;
		position: relative;
	}

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

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