@charset "UTF-8";
/*
Theme Name: Mr.M2022theme
Theme URI: http://www.mr-m.co.jp/
Description: 株式会社ミスターマーケティング様用WPテーマ
Version: 2.0
Author: design Xanthus
Author URI: http://d-xanthus.com/
*/

/*========================================================
　基本リセット(タグマージン)/ normalize.css読み込み前提
========================================================*/

h1, h2, h3, h4, h5, h6 { padding: 0; }

p { margin: 0; }

figure, dl, dt, dd {
	margin: 0;
	padding: 0;
}

/*========================================================
　基本タグ、クラス
========================================================*/

html {
	font: 16px/1.8 'Arial', "YakuHanJPs", "Yu Gothic", "YuGothic", "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

address { font-style: normal; }

sup { vertical-align: -0.1em; }

/* ボックスサイジング */
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

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

a { color: #814f3f; }

body,
.a-def a:not(:hover),
a.a-def:not(:hover)  { color: #5e5e5e; }

/*---------------------------------------
　メディア フルードサイズ
---------------------------------------*/

img, object, video,
input[type="image"] {
	max-width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: bottom;
}


/*---------------------------------------
　リンク関連
---------------------------------------*/

a { text-decoration: none; }

a:hover { text-decoration: underline; }

a:hover img,
a:active img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

/* ホバー時 半透明無し */

a.opaNone:hover img,
a.opaNone:active img {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}


/*---------------------------------------
　テキストタグ基本サイズ
---------------------------------------*/

h1, h2, h3, h4, h5, h6 { line-height: 1.6; }

h2 { margin: 2em 0 1em; }

h3, h4, h5, h6 { margin: 2em 0 0.5em; }

h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
h3 + h4,
h4 + h5,
h5 + h6 { margin-top: 0; }

/* 見出しタグ サイズ*/

h1 { font-size: 1.8em; }

h2 { font-size: 1.5em; }

h3 { font-size: 1.25em; }

h4 { font-size: 1.2em; }

h5 { font-size: 1.125em; }

h6 { font-size: 1em; }

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

	h1, h2, h3, h4, h5, h6 { line-height: 1.6; }

	h1 { font-size: 2.375em; }

	h2 { font-size: 1.75em; }

	h3 { font-size: 1.5em; }
}

/* その他基本設定 */

p:last-child { margin-bottom: 0; }

ul, ol {
	padding-left: 1.5em;
	margin: 0.5em 0 0.5em;
}

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

	ul, ol { margin: 0.5em 1em; }
}


/*---------------------------------------
 フォーム関連タグ基本
---------------------------------------*/

 /* フォームタグ基本 */
 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="url"],
 input[type="search"],
 input[type="date"],
 input[type="number"],
 textarea,
 select {
 	width: 100%;
 	padding: 5px 8px;
 	border: solid 1px #d4d4d7;
 	border-radius: 3px;
 	-webkit-border-radius: 3px;
 	-moz-border-radius: 3px;
 	background: #fcfcfc;
 	-moz-box-shadow: 1px 1px 2px #eee inset;
 	-o-box-shadow: 1px 1px 2px #eee inset;
 	-webkit-box-shadow: 1px 1px 2px #eee inset;
 	box-shadow: 1px 1px 2px #eee inset;
 }

 textarea {
 	height: auto;
 	line-height: 1.5;
 }

 input[type="submit"],
 input[type="reset"],
 input[type="button"] {
 	padding: 0.3em 1em;
 	background: #4f4d4d;
 	background: -moz-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
 	background: -webkit-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
 	background: linear-gradient(to bottom, #4f4d4d 0%, #2e2c2c 100%);
 	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4f4d4d', endColorstr='#2e2c2c', GradientType=0);
 	border: 0;
 	border-radius: 3px;
 	line-height: 1.5;
 	font-size: 100%;
 	color: #fff;
 	-webkit-appearance: none;
 	/*iPhoneへのボタン対策*/
 	position: relative;
 	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
 	display: inline-block;
 	margin-top: 0.6em;
 }

 input[type="submit"]:hover,
 input[type="reset"]:hover,
 input[type="button"]:hover {
 	background: #0c0c0c;
 	text-decoration: none;
 }

 *:first-child + html input[type="submit"] {
 	padding: 3px;
 }

 input[type="submit"]:active,
 input[type="reset"]:active,
 input[type="button"]:active {
 	top: 1px;
 	box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
 }

 input[disabled="disabled"],
 input[disabled="disabled"]:hover,
 input[disabled="disabled"]:active {
 	background: rgba(0, 0, 0, 0.5);
 	box-shadow: none;
 	cursor: default;
 }

 span.wpcf7-list-item { margin: 0 1em; }
 span.wpcf7-list-item input {
 	width: 1.2em;
 	height: 1.2em;
 	vertical-align: 0;
 }


/*---------------------------------------
　テーブルタグ 基本
---------------------------------------*/

table:not(.flat-table) {
	width: 100%;
	border-style: solid;
	border-width: 2px 0;
	border-color: #555;
	line-height: 1.5;
}

table:not(.flat-table) tr {border-bottom: 1px solid #555; }

table:not(.flat-table) thead,
table:not(.flat-table) th { background: #f5f5f5; }

table th,
table td { display: block; }

table:not(.flat-table) th { padding: 0.3em; }

table:not(.flat-table) td { padding: 0.5em 0.3em 1em; }

table td p { text-indent: 0 !important; }

table td p:last-child { margin-bottom: 0; }

.flat-table th,
.flat-table td {
	text-align: left;
	line-height: 1.4;
	vertical-align: top;
}

.flat-table td { padding-left: 1em; }

.contents .flat-table td p {

	margin-bottom: 0;
}

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

	table th,
	table td {
		padding: 1em 0.5em;
		display: table-cell;
	}

	table:not(.flat-table) th { min-width: 7em; }

	table:not(.flat-table) td { padding-left: 2em; }

	.flat-table th,
	.flat-table td { padding: 0.5em 0; }

	.flat-table td { padding-left: 0.5em; }

	.flat-table th {

		width: auto;
	}

	.th-justi th {
		-moz-text-align-last: justify;
		text-align-last: justify;
		text-justify:inter-ideograph;
		white-space: nowrap;
	}
}


/*========================================================
	基本レイアウトブロック
	========================================================*/
/* 基本ブロックエレメント
---------------------------------*/
article,
section,
aside,
#main,
#sidebar { margin-bottom: 40px; }

.home.blog #main,
.home.blog #sidebar { margin-bottom: 0; }

.centerBox,
.centerBox-L,
.centerBox-S { margin: 0 3%; /*スマホ用マージン*/ }

.centerBox-L > .centerBox {margin: 0; }

.centerBox { max-width: 1080px; }

.centerBox-S { max-width: 728px; }

.centerBox-L { max-width: 1600px; }

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

	.centerBox-S { margin: 0 auto; }
}

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

	#main.layout-right,
	#main.layout-left {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	#main.layout-left {
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	#main.layout-right .contents,
	#main.layout-left .contents {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}

	#main.layout-right #sidebar,
	#main.layout-left #sidebar { width: 300px; }

	#main.layout-right #sidebar { margin-left: 4.81%; }

	#main.layout-left #sidebar { margin-right: 4.81%; }

	#main.layout-non,
	#main.seminar-lp { width: 100%; }

}

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

	.centerBox { margin: 0 auto; }
}

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

	.centerBox-L  {margin: 0 auto; }
}

/*  */

.alignfull {
	width: 100vw;
	margin-right: calc( 50% - 50vw );
	margin-left: calc( 50% - 50vw );
}

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

	.alignwide {
		max-width: 95vw;
		margin-right: calc( 50% - 95vw/2 );
		margin-left: calc( 50% - 95vw/2 );
	}
}

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

	.alignwide {
		max-width: 1080px;
		margin-right: calc( 50% - 1080px/2 );
		margin-left: calc( 50% - 1080px/2 );
	}

	.alignfull { width: calc(100vw - 8px); }
}

/* footer 下部固定用
---------------------------------*/

html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
}

#bodyWrap {
	position: relative;
	min-height: 100%;
}

#bodyFooter {
	position: absolute;
	bottom: 0;
	width: 100%;
}


/*========================================================
　contents部分基本
========================================================*/

h2,
h3,
h4,
h5,
h6 { color: #222524; }

/* contents見出し
---------------------------------*/

.contents > h2:before,
.hexTitle:before {
	content: '';
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	background: url(images/ico_hex.png) no-repeat left top;
	background-size: contain;
	vertical-align: -0.38em;
	margin: 0 -0.9em 0 -0.6em;

}

/*.contents > h2,
.hexTitle {
	background: url(images/ico_hex.png) no-repeat;
	background-size: 1.4em 1.4em;
	padding-left: 0.5em;
	margin-left: -0.5em;
}

.contents > h2.hex-none {
	background: none;
	padding-left: 0;
	margin-left: 0;
}*/

/* contentsテキスト
---------------------------------*/
/*.contents p a:after,
.contents li a:after {
	content: "\f08e";
	font-family: FontAwesome;
	padding: 0 0.1em;
}*/

/*.contents p.btn-tx a:after,
.contents .linkI-non a:after {
	content: none;
}*/

/* ボックスタイトル
---------------------------------*/
.boxTitle:first-child {
	line-height: 1.4;
	margin: -16px 0 0.5em -16px;
}

.boxTitle:before {
	content: '';
	width: 4px;
	height: 2.5em;
	display: inline-block;
	background: #222524;
	vertical-align: bottom;
	margin-right: 12px;
}

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

	.boxTitle:first-child {
		margin-left: -24px;
	}

	.boxTitle:before {
		margin-right: 20px;
	}
}

/* contentsテキスト
---------------------------------*/

.contents p:not(:last-child) { margin-bottom: 0.5em; }

.contents > p { margin-bottom: 1.5em; }

.contents > p:last-child { margin-bottom: 0; }

.contents li p:last-child { margin-bottom: 1em; }

.contents li > h3,
.contents li > h4,
.contents li > h5,
.contents li > h6 { margin-bottom: 0.2em; }

.border-Yellow { border-bottom: 4px solid #ffe300; }

.border-black { border-bottom: 3px solid #000; }

.marker-y {
	background: -moz-linear-gradient( transparent 80% , rgba(255,227,3,1) 0%) !important;
	background: -webkit-linear-gradient( transparent 80% ,rgba(255,227,3,1) 0%) !important;
	background: linear-gradient( transparent 80% ,rgba(255,227,3,1) 0%) !important;
}

.marker-r {
	background: -moz-linear-gradient( transparent 80% , rgba(255,0,0,1) 0%) !important;
	background: -webkit-linear-gradient( transparent 80% ,rgba(255,0,0,1) 0%) !important;
	background: linear-gradient( transparent 80% ,rgba(255,0,0,1) 0%) !important;
}

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

	.contents { line-height: 2; }

	.contents > p { margin-bottom: 2em; }
}


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

/*---------------------------------------
　クリアフィックス
---------------------------------------*/

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
	clear: both;
}

.clearfix { *zoom: 1; }

/*---------------------------------------
　WordPress クラス関連
---------------------------------------*/

/* メディア関連 */

.alignright,
.aligncenter,
.alignleft { display: block; }

.alignnone,
.alignright,
.aligncenter,
.alignleft,
.i-catch,
.wp-video { margin-bottom: 1em; }

figure { text-align: center; }

figure img { margin-bottom: 0; }

.wp-caption {
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
}

.wp-caption.i-catch { display: block; }

.contents .wp-caption p { text-indent: 0; }

.wp-caption p.wp-caption-text {
	display: block;
	font-size: 0.875em;
	line-height: 1.4;
	margin-top: 0.3em;
}

/* WPメディアプレイヤー フルード対応 */

.wp-video,
.mejs-container,
.mejs-overlay {
	width: 100% !important;
	max-width: 640px !important;
	height: auto !important;
	margin: 0 auto 1em;
}

.mejs-mediaelement {
	position: static !important;
	top: auto !important;
	bottom: 480px;
}

.mejs-overlay {
	position: static !important;
}

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

	.alignright {
		float: right;
		margin-left: 1.5em;
	}

	.aligncenter {
		display: block;
		margin: 0 auto 1.5em;
	}

	.alignleft {
		float: left;
		margin-right: 1.5em;
	}
}


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

/* サイズpx指定 （16px基準）
-------------------------------*/

.text10px,
.contents .text10px {
	font-size: 10px;
	font-size: 0.625rem;
}

.text12px,
.contents .text12px {
	font-size: 12px;
	font-size: 0.75rem;
}

.text14px,
.contents .text14px {
	font-size: 14px;
	font-size: 0.875rem;
}

.text16px,
.contents .text16px {
	font-size: 16px;
	font-size: 1rem;
}

.text18px,
.contents .text18px {
	font-size: 18px;
	font-size: 1.125rem;
}

.text20px,
.contents .text20px {
	font-size: 20px;
	font-size: 1.25rem;
}

.text22px,
.contents .text22px {
	font-size: 22px;
	font-size: 1.375rem;
}

.text24px,
.contents .text24px {
	font-size: 24px;
	font-size: 1.5rem;
}

.text26px,
.contents .text26px {
	font-size: 26px;
	font-size: 1.625rem;
}

/* サイズ相対指定
-------------------------------*/

.text06 { font-size: 0.6em; }

.text07 { font-size: 0.7em; }

.text08 { font-size: 0.8em; }

.text09 { font-size: 0.9em; }

.text110 { font-size: 1.1em; }

.text120 { font-size: 1.2em; }

.text130 { font-size: 1.3em; }

.text140 { font-size: 1.4em; }

.text150 { font-size: 1.5em; }

.text160 { font-size: 1.6em; }

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

.textYellow { color: #ffe300; }

.textRed { color: #f00; }

.textDred { color: #8c0000; }

.textBlue { color: #0b89ff; }

/* フォントスタイル
-------------------------------*/

.textCenter { text-align: center; }

.textRight { text-align: right; }

.textBold { font-weight: bold; }

.textNormal { font-weight: normal; }

.textMincho { font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.textGothic { font-family: "YakuHanJP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

.kerning { font-family: 'Arial', "Yu Gothic", "YuGothic", "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

/* webフォント
-------------------------------*/

.wbf-OS { font-family: "YakuHanJP", 'Open Sans', sans-serif; }

.wbf-lato { font-family: 'Lato', sans-serif; }

.wbf-kakuminR { font-family: "カクミン R", 'Kakumin Regular'; }

.wbf-Crimson { font-family: 'Crimson Text', serif; }

i.fa { vertical-align: 1px; }

/* インデント
-------------------------------*/

.contents p { text-indent: 1em; }

.contents form p,
.contents .indent0 p,
.contents p.indent0 { text-indent: 0; }

.contents .indent_-05 { text-indent: -0.5em; }

.contents .indent_-1 p,
.contents p.indent_-1 {
	padding-left: 1em;
	text-indent: -1em;
}

/* 行間
-------------------------------*/

.lh-14 { line-height: 1.4; }

.lh-16 { line-height: 1.6; }

/* letterスペース
-------------------------------*/

/*.ls-005 { letter-spacing: -0.05em; }

.ls-01 { letter-spacing: -0.1em; }

.ls-02 { letter-spacing: -0.2em; }

.ls-03 { letter-spacing: -0.3em; }

.ls-04 { letter-spacing: -0.4em; }

.ls-05 { letter-spacing: -0.5em; }*/

.ls--01 { letter-spacing: 0.1em; }

/* <br>改行
-------------------------------*/

br.mbBr { display: inline; }

br.pcBr,
.pcBr br { display: none; }

/* 改行無し*/
.brNone br { display: none; }

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

	br.mbBr { display: none; }

	br.pcBr,
	.pcBr br { display: inline; }

}

/* spanブロック
-------------------------------*/
.spBlock,
.mb_spBlock { display: block; }

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

	.mb_spBlock { display: inline; }

	.pc_spBlock { display: block; }
}

.in-block { display: inline-block; }

/* テキストHidden
-------------------------------*/

.textHidden { overflow: hidden; }

/* 注釈テキスト
-------------------------------*/

.contents .note {
	font-size: 0.825em;
	text-indent: -1em !important;
	padding-left: 1em;
	line-height: 1.4;
}

/* 検索結果のハイライト
---------------------------------*/

.search-excerpt { background: #ff0; }

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

/* リストスタイルクリア
-------------------------------*/

nav ul,
ul.bread_crumb,
.widget-container ul,
.ul-none,
.ol-none {
	list-style: none;
	padding: 0;
	margin: 0;
}

.style-none { list-style: none; }

/* スタイル再設定
-------------------------------*/

ul.ul-disc,
ol.ol-decimal { padding-left: 2.5em; }

ul.ul-disc,
.ul-disc ul,
ol ul,
ul ul { list-style: disc; }

ol.ol-decimal,
.ol-decimal ol { list-style: decimal; }

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

.note-list > li {
	text-indent: -1em;
	padding-left: 1em;
}

/* リスト インラインブロック
-------------------------------*/

.list_inline li {
	display: inline-block;
	margin-right: 1em;
}

.list_inline li:last-child { margin-right: 0; }

/* リスト マージン
-------------------------------*/

.li_mg_b05 > li:not(:last-child) { margin-bottom: 0.5em; }

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

.li_mg_b2 > li:not(:last-child) { margin-bottom: 2em; }

/* リスト装飾
-------------------------------*/

/* ドットアンダーライン */
.dottedUnLi li {
	padding: 0.1em 0;
	border-bottom: 1px dotted;
	margin-bottom: 0.1em;
}

/* リンクリスト */
.linkList > li,
.linkList > ul > li {
	line-height: 1.4;
	padding-left: 0.8em;
}

.linkList > li:not(:last-child),
.linkList > ul > li:not(:last-child) { margin-bottom: 1em; }

.linkList > li:before,
.linkList > ul > li:before {
	content: "\f105";
	font-family: FontAwesome;
	padding-right: 0.2em;
	margin-left: -0.8em;
}

/* チェックリスト */
.checkList > ul {
	list-style: none;
	padding-left: 0;
}

.checkList > ul > li {
	background: url(images/ico_check.png) no-repeat;
	background-size: 1.5em 1.5em;
	padding-left: 1.5em;
}

.checkList > ul > li:not(:last-child) { margin-bottom: 0.5em; }


/*---------------------------------------
　レイアウト・背景関連
---------------------------------------*/

/* ボックス、フレーム設定
-------------------------------*/

.box,
.whBox,
.fr_box {
	padding: 16px;
}

.whBox { background: #fff; }

/* フレーム */

.fr_box,
.frame {
	border-style: solid;
	border-width: 1px;
}

.frame img { margin: 0; }

.pd-04 { padding: 4px; }

.pd-08 { padding: 8px; }

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

	.whBox,
	.box,
	.fr_box { padding: 24px; }

	.box-container { padding: 2em 5%; }
}

/* ボックスシャドウ */

.whBox,
.boxShodow {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* 背景・フレームカラー設定
-------------------------------*/

/* 背景 */

.bg_black {
	color: #fff;
	background: #222524;
}

.bg_white { background: #fff; }

.bg_lGray { background: #f5f5f5; }

.bg_lBeige { background: #f3eee5; }

.bg_lYellow { background: #f5f4e6; }

.bg_Yellow { background: #ffe300; }

.bg_Red {
	color: #fff;
	background: #cf121c;
}

/* フレーム */

.fr_lGray { border-color: #ccc; }

.img-frame { border: 1px solid #ccc; }

/* アイテム非表示
-------------------------------*/

.disNone { display: none; }

/* dlフロート
-------------------------------*/

.dl_float > dt { font-weight: bold; }

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

	.dl_float > dt { float: left; }

	.dl_float > dd {
		display: block;
		overflow: hidden;
	}

}

/* リストブロック横並び
-------------------------------*/

.liColumn02,
.liColumn03,
.liColumn04 {
	list-style: none;
	margin: 0;
	padding: 0;
}

.liColumn02:after,
.liColumn03:after,
.liColumn04:after {
	content: "";
	display: block;
	clear: both;
}

@media screen and (min-width: 641px) {
	.liColumn02,
	.liColumn03,
	.liColumn04 {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.liColumn02 > li { width: 48.235%; }

	.liColumn03 > li { width: 30.98%; }

	.liColumn04 > li { width: 22.36%; }

}

.columnCount3 {
	margin: 0 -4px;
	-moz-column-count: 3;
	-webkit-column-count: 3;
	-o-column-count: 3;
	-ms-column-count: 3;
	column-count: 3;
}

.columnCount3 li { padding-right: 0.3em; }

/* フレックスボックス
-------------------------------*/

.flex-box {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flex-auto {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

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

	.pcflex-box {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.fx-just {
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.fx-item-c {
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.fx-wrap {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

}


/*---------------------------------------
　パーツ・エレメント関連
---------------------------------------*/

/* ボタン設定
-------------------------------*/

.contents .btn-tx { text-indent: 0; }

.contents .loopArticle .btn-tx { text-align: right; }

.btn-tx a,
a.btn-tx {
	color: #5e5e5e;
	font-size: 14px;
	font-size: 0.875em;
	display: inline-block;
	padding: 0.1em 0.8em;
	border: 1px solid;
	background: #fff;
}

.btn-tx a i,
a.btn-tx i {
	font-size: 1.3em;
	margin-right: 0.2em;
	vertical-align: -1px;
}

.btn-tx a:hover,
a:hover.btn-tx {
	text-decoration: none;
	background: #ffe300;
	border-color: #ffe300;
}

.btn-tx.btn-y a {
	background: #ffe300;
}

.btn-tx.btn-y a:hover {
	text-decoration: underline;
	background: #ffed66;
	/*opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";*/
}

/* 下向き矢印
-------------------------------*/

.flow > li:before {
	content: '';
	display: block;
	margin: 0 auto 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 36px;
	border-color: #dbd4a2 transparent transparent;
}

.flow > li:first-child:before { content: none; }

/* フロート関連
-------------------------------*/

.float_L { float: left; }

.float_R { float: right; }

.float_C { clear: both; }

/*---------------------------------------
　マージン・パディング関連
---------------------------------------*/

/* マージン
-------------------------------*/

.contents .mg_t-8,
.mg_t-8 { margin-top: -8px !important; }

.contents .mg_t0,
.mg_t0 { margin-top: 0 !important; }

.contents .mg_t16,
.mg_t16 { margin-top: 16px !important; }

.contents .mg_t32,
.mg_t32 { margin-top: 32px !important; }

.contents .mg_t40,
.mg_t40 { margin-top: 40px !important; }

.contents .mg_b0,
.mg_b0 { margin-bottom: 0 !important; }

.contents .mg_b8,
.mg_b8 { margin-bottom: 8px !important; }

.contents .mg_b16,
.mg_b16 { margin-bottom: 16px !important; }

.contents .mg_b32,
.mg_b32 { margin-bottom: 32px !important; }

.contents .mg_b40,
.mg_b40 { margin-bottom: 40px !important; }

.contents .mg_b56,
.mg_b56 { margin-bottom: 56px !important; }

.contents .mg_b80,
.mg_b80 { margin-bottom: 80px !important; }

.contents .mg_tb0,
.mg_tb0 { margin: 0 !important; }

.contents .mg_tb16,
.mg_tb16 { margin: 16px 0 !important; }

.contents .mg_tb32,
.mg_tb32 { margin: 32px 0 !important; }

.contents .mg_tb40,
.mg_tb40 { margin: 40px 0 !important; }

.contents .mg_lf0,
.mg_lf0 { margin-left: 0 !important; }

.contents .mg_lf1,
.mg_lf1 { margin-left: 1em !important; }

/* パディング
-------------------------------*/

.pd_t0 { padding-top: 0; }

.pd_tb40 { padding: 40px 0; }

.pd_tb56 { padding: 56px 0; }

.pd_none { padding: 0; }


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

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

.bodyHead ul,
.bodyFoot ul {
list-style: none;
padding: 0;
margin: 0;
}

.bodyHead,
.bodyFoot,
#sidebar {
font-size: 15px;
font-size: 0.9375rem;
line-height: 1.5;
}

.bodyFoot a,
#sidebar a {
color: #5e5e5e;
}

/* .bodyHead a:hover,
.bodyFoot a:hover,
#sidebar a:hover {
color: #ffe300;
}*/

/*---------------------------------------
 ヘッダー&フッター共通
---------------------------------------*/

 .imgLogo { display: block; }

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

.headerH1Wrap,
.siteTitle {
	text-align: left;
	position: fixed;
	z-index: 6000;
	width: calc( 100% - 56px );
}

.headerH1Wrap {
	font-size: 0.75em;
	line-height: 1em;
	top: 4px;
}

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

	.headerH1Wrap { font-size: 0.625em; }
}

.headContents { padding-top: 50px; }

.siteTitle {
	top: 8px;
	margin: 0;
	line-height: 1.1;
}

.siteTitle img {
	max-width: none;
	width: auto;
	height: 32px;
	margin: 0;
}

.siteTitle a {
	color: #5e5e5e;
	display: block;
}

.siteTitle a:hover {
	color: #814f3f;
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}


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

	.bodyHead {
		text-align: center;
		background: rgba(255,255,255,0.9);
		border-bottom: 1px solid #ccc;
	}

	.head-container {
		padding: 16px 0;
		position: relative;
	}

	.headContents { padding: 0; }

	.headContents a { color: #5e5e5e; }

	.headerH1Wrap,
	.siteTitle {
		position: static;
		width: auto;
	}

	.headerH1Wrap {
		font-size: 0.9375em;
		margin: 0.5em 0;
	}

	.siteTitle {
		font-size: 2em;
		margin-bottom: 0.5em;
		width: 60%;
	}

	.siteTitle img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 56px;
	}
}

@media screen and ( min-width: 700px ) and ( max-width: 1020px )  {

	.head-container { padding-top: 60px; }

	.headContents .siteTitle {
		width: max-content;
		margin-right: auto;
		margin-left: auto;
	}
}

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

	.bodyHead {
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 8000;
		margin: 0;
	}

	.admin-bar .bodyHead { top: 32px; }

	.head-container { padding: 16px 0; }

	.headContents {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-align-items: flex-end;
		-ms-flex-align: end;
		align-items: flex-end;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.siteTitle {
		width: auto;
		margin: 0;
	}

	/*.head-widg-container { padding-top: 4px; }*/
}

/*---------------------------------------
　ヘッダーウィジェット
---------------------------------------*/

.head-widg-container .widget-container { margin: 0; }

.head-widg-container .widget-container:not(:first-child) { margin-left: 1em; }

.headcontact-set {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 0 8px;
	margin: 0 -3%;
}

.headcontact-set > div {
	font-size: 0.8175rem;
	text-align: center;
	padding: 4px 8px;
	position: relative;
}

.headcontact-set > div:first-child { border-radius: 0 0 0 4px; }
.headcontact-set > div:last-child { border-radius: 0 0 4px 0; }

.headcontact-set > div a { color: #222524; }

.headcontact-set > div a:hover { text-decoration: none; }

.headcontact-set > div a:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

.headcontact-set > div a:hover:before { background: rgba( 255,255,255,0.4 ); }

.headcontact-set i {
	font-size: 1.35em;
	font-style: normal;
	vertical-align: -0.1em;
}

.ico-fa:before {
	font-family: FontAwesome;
	padding: 0 0.2em;
}

.icofa-tel:before { content: "\f095"; }
.icofa-mail:before { content: "\f0e0"; }
.icofa-news:before { content: "\f1ea"; }
.icofa-book:before { content: "\f02d"; }
.icofa-seminar:before { content: "\f130"; }

.headcontact-set .hw-sub-txt { display: none; }

.head-telbox { background: #222524; }

.head-telbox,
.headcontact-set .head-telbox a { color: #fff; }

.head-contact { background: #e6dd8b; }

.head-mailmagz { background: #e6e5dc; }



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

	.head-widg-container {
		position: absolute;
		top: 0;
		right: 0;
	}

	.headcontact-set > div {
		font-size: 1.0625rem;
		padding: 4px 12px;
		line-height: 1.2;
	}

	.headcontact-set .hw-sub-txt {
		font-size: 0.675rem;
		display: block;
	}

	.head-telbox .wbf-lato { font-size: 1.125em; }
}

@media screen and ( min-width: 1144px ) {
	.headcontact-set > div {
		font-size: 1rem;
		line-height: 1.1;
	}
}


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

.mainMenu li a span {
	font-size: 0.7em;
	padding-left: 0.5em;
}

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

.mean-bar {
	background: rgba( 255,255,255,0.85 );
	border-bottom: 1px solid #ccc;
}

.mean-bar a { color: #5e5e5e;; }

.mean-nav > ul {
	background: rgba( 0,0,0,0.9 );
}

.mean-nav ul li {
	border-top: 1px solid rgba( 255,255,255,0.6);
	/*background: rgba( 0,0,0,0.9 );*/
}

.mean-nav a { color: #fff; }

.mean-nav a:hover { color: #ffe300; }

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

	/* ベース、ハンバーガー設定 */

	.mean-container .mean-bar {
		width: 100%;
		min-height: 48px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 5000;
	}

	.mean-bar a.meanmenu-reveal {
		font-size: 10px!important;
		line-height: 1;
		text-align: center;
		display: block;
		position: absolute;
		top: 0;
		padding: 3px 8px;

	}

	.mean-bar a:hover { text-decoration: none; }

	/* CSSハンバーガーメニュー */

	.mean-bar a.meanmenu-reveal::before,
	.mean-bar a.meanmenu-reveal.meanclose::before { content: none; }

	.meanmenu-reveal {
		text-align: center;
		width: 48px;
		height: 48px;
		position: relative;
		display: block;
		cursor: pointer;
	}

	.meanmenu-reveal > span,
	.meanmenu-reveal > span:before,
	.meanmenu-reveal > span:after {
		width: 30px;
		position: absolute;  /* .meanmenu-revealに対して */
		left: 8px;
		display: block;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
		border-top: solid 1px;
		border-bottom: solid 1px;
		/*border-color: #ccc;*/
	}

	.meanmenu-reveal > span:before,
	.meanmenu-reveal > span:after {
		content: '';
		left: 0;
		/*border-color: #fff;*/
	}

	.meanmenu-reveal > span { top: 14px; }

	.meanmenu-reveal > span:before { top: 9px; }

	.meanmenu-reveal > span:after { top: 18px; }

	/* 最初のspanをマイナス45度に */

	.meanmenu-reveal > span.btn-c {
		top: 23px;
		left: 8px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.meanmenu-reveal > span.btn-c:before { content: none; }

	.meanmenu-reveal > span.btn-c:after {
		top: 0;
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	/* メニュー本体 */

	.mean-nav { padding-top: 48px; }

	.mean-nav ul {
		list-style: none;
		line-height: 1.2;
		margin: 0;
		padding: 0;
	}

	.mean-nav ul li { position: relative; }

	.mean-nav li > ul { display: block; }

	.mean-nav a {
		font-size: 14px;
		line-height: 1;
		display: block;
		padding: 1.2em 0.5em;
	}

	/* サブ開閉ボタン */

	.mean-nav > ul > li > a,
	.mean-nav .menu-item-has-children { padding-left: 28px; }

	.mean-nav > ul > li.menu-item-has-children > a:first-child { padding-left: 0.5em; }

	.mean-nav a.mean-expand {
		font-weight: 700;
		line-height: 1;
		width: 28px;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0,0,0,0.1);
		z-index: 2;
		padding: 0.95em 0;
	}

	.main-menu a.mean-expand:hover,
	.main-menu li:hover a.mean-expand:hover { background: rgba( 0,0,0,0.5); }
}


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

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

	.mainNav { margin-bottom: 16px; }

	/* 第1階層 */

	.mainMenu li {
		display: inline-block;
		position: relative;
		height: 2.4em;
	}

	.mainMenu li a,
	.mainMenu li a:hover { color: #5e5e5e; }

	.mainMenu li a {
		font-size: 15px;
		display: block;
		padding: 0 0.5em 0 0.3em;
		text-decoration: none;
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		line-height: 1.2;
	}

	.mainMenu > li > a:hover:after {
		content: '';
		display: block;
		width: 100%;
		height: 3px;
		background: #ffe300;
		position: absolute;
		left: 0;
		bottom: -4px;
	}

	.mainMenu li a span {
		font-size: 0.6em;
		display: block;
		padding: 0;
	}

	.mainMenu > li:not(:last-child):after {
		content: '';
		width: 1px;
		height: 1em;
		display: block;
		background: #222524;
		position: absolute;
		top: 50%;
		right: 0;
		-ms-transform: translateX(0) translateY(-50%);
		transform: translate(0,-50%);
	}

	/* サブメニュー持ち */

	.mainMenu > li.menu-item-has-children { padding-right: 6px; }

	.mainMenu > li.menu-item-has-children > a {
		position: relative;
	}

	.mainMenu > li.menu-item-has-children > a:before {
		content: '';
		width: 0;
		height: 0;
		display: block;
		border: 4px solid transparent;
		position: absolute;
		top: 25%;
		right: -2px;
	}

	/* サブ持ち矢印カラー */

	.mainMenu > li.menu-item-has-children > a:before { border-top-color: #ccc; }

	.mainMenu li ul ul.sub-menu:before { border-left-color: #ccc; }

	.mainMenu > li:last-child ul ul.sub-menu:before {
		border-left-color: transparent;
		border-right-color: #ccc;
	}

	/* 第2階層 */

	.mainMenu > li ul {
		position: absolute;
		z-index: 100;
		top: 105%;
		left: 0;
		width: 150%;
		text-align: left;
	}

	.mainMenu > li:last-child ul {
		left: auto;
		right: 0;
	}

	.mainMenu li ul li {
		overflow: hidden;
		width: 100%;
		height: 0;
		-moz-transition: 0.2s;
		-o-transition: 0.2s;
		-webkit-transition: 0.2s;
		-ms-transition: 0.2s;
		transition: 0.2s;
		border-top: solid 0px #ccc;
		border-left: solid 0px #ccc;
	}

	.mainMenu li ul li { background: rgba(255,255,255,0.9); }

	.mainMenu li ul li a { font-size: 14px; }

	.mainMenu > li:hover > ul > li {
		overflow: visible;
		height: 3.5em;
		border-top: solid 1px #ccc;
	}

	.mainMenu > li:hover > ul > li a:hover {
		border-top: 4px solid transparent;
		border-bottom: 4px solid #ffe300;
	}

	/*.mainMenu > li:hover > ul > li a:hover { background: #ffe300; }*/

	/* 第３階層*/

	.mainMenu li ul li ul {
		top: -1px;
		left: 100%;
	}

	.mainMenu li:last-child ul li ul {
		left: -100%;
		width: 100%;
	}

	.mainMenu li ul li ul:before,
	.mainMenu li:last-child ul li ul:before {
		position: absolute;
		content: "";
		top: 1.65em;
		-webkit-transform: translate(0,-50%);
		-ms-transform: translate(0,-50%);
		transform: translate(0,-50%);
		width: 0;
		height: 0;
		border: 5px solid transparent;
	}

	.mainMenu li ul li ul:before {
		left: -10px;
		border-left-color: #666;
	}

	.mainMenu li ul li:hover ul:before { border-left-color: #666; }

	.mainMenu li ul li:hover > ul > li {
		overflow: visible;
		height: 3em;
		border: 1px solid transparent;
		border-left-color: #ccc;
		border-bottom-color: #ccc;
	}

	.mainMenu li:last-child ul li ul:before {
		left: 100%;
		border-right-color: #666;
	}

	.mainMenu li:last-child ul li:hover ul:before {
		border-right-color: #666;
		border-left-color: transparent;
	}

	.mainMenu li:last-child ul li:hover > ul > li {
		border-color: transparent;
		border-right-color: #666;
	}
}

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

	#nav { margin-bottom: -16px; }

	.mainMenu li a {
		font-size: 14px;
		display: block;
		padding: 0 0.5em;
	}
}

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

	.mainMenu li a { padding: 0 0.8em; }
}


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

/* コンテンツ下告知 */

.footadd > h2 {
	font-weight: normal;
	text-align: center;
	margin-bottom: 0.3em;
}

.footadd > h2 > span {
	display: inline-block;
	margin-left: 0.5em;
}

.footer01-widget {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}


/*お問い合せ*/

.footContact {
	text-align: center;
	padding: 40px 0;
	margin-bottom: 0;
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.footContact:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
}

.footContact h4,
.footContact ul,
.footContact p {
	color: #fff;
	position: relative;
	z-index: 100;
}

.footContact h4 { color: #ffe300; }

.contact-list.ul-none {
	margin-bottom: 1em;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.contact-list > li {
	color: #5e5e5e;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.8);
	width: 48%;
	padding: 0.2em 0;
	margin: 0 1% 0.5em;
}

.footContact a {
	display: inline-block;
	border: 1px solid;
	padding: 0.4em 1em 0.5em 2.2em;
}

.footContact a .hex-txt {
	font-size: 24px;
	font-size: 1.5rem;
	display: block;
	margin-right: 1em;
}

.footContact a .hex-txt:before {
	content: '';
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background: url(images/ico_hexLink.png) no-repeat center;
	background-size: contain;
	vertical-align: -0.2em;
	margin-right: 0.3em;
}

.footContact a:hover {
	color: #5e5e5e;
	text-decoration: none;
	background: rgba(255, 227, 0, 0.8);
	border-color: #ffe300;
}

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

	.footContact {
		padding: 80px 0;
	}

	.footContact h4 {
		font-size: 1.5em;
	}

	.contact-list > li {
		font-size: 18px;
		font-size: 1.125rem;
	}

	.footContact a .hex-txt {
		font-size: 28px;
		font-size: 1.75rem;
	}

}

@media screen and ( min-width: 980px )  {
	.contact-list.ul-none {
		padding: 0 6%;
	}

	.contact-list > li {
		width: 31%;
	}
}

/* サイトフッター
-------------------------------*/

.bodyFoot { background: #f5f5f5; }

.bodyFoot,
.bodyFoot a,
.bodyFoot a:hover { color: #222524; }

.bodyFoot a:hover { text-decoration: underline; }

.footContents { padding: 40px 0 16px; }

.copyright {
	color: #fff;
	text-align: center;
	background: #222524;
}

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

	.footContents,
	.footRight {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;

	}

	.footContents > div,
	.footRight > * {
		width: 100%;
	}
}

/* フットロゴ 住所 */

.footTitle {
	text-align: center;
	/*margin-bottom: 2em;*/
}

.footTitle ul li:first-child {
	font-size: 1.375rem;
	margin-bottom: 0.5em;
}

.footTitle ul li:first-child img {
	width: auto;
	height: 72px;
}

.siteTitInner {
	display: block;
	margin-top: 0.3em;
}

/* フットナビ  */

.footNav {
	padding-left: 1em;
	margin: 2em 0;
}

.footMenu {
	font-size: 14px;
	font-size: 0.875rem;
}

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

.footMenu li {
	padding-left: 1.5em;
}

.footMenu li a:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.4em;
	border-color: transparent transparent transparent #4d4d4d;
	margin-left: -0.8em;
}

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

	.footRight {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.footNav { margin: 0; }

	.footMenu li:not(:last-child) { margin-bottom: 0.5em; }
}

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

	.footContents {
		font-size:  0.9375rem;
		padding: 56px 0 32px;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.footTitle {
		text-align: left;
		margin: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}

	.footRight { margin-left: 2em; }

	.footMenu li:not(:last-child) { margin-bottom: 0.3em; }
}


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

#page-top {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 100px;
	right: 24px;
	z-index: 9999;
}

#page-top a {
	color: #5e5e5e;
	text-align: center;
	display: block;
	position: relative;
	width: 50px;
	height: 28.87px;
	background-color: #ffe300;
	margin: 14.43px 0;
	-webkit-transition: 1s;
	transition: 1s;
	filter: alpha(opacity=50);
	opacity: 0.5;
}

#page-top a:before,
#page-top a:after {
	content: "";
	position: absolute;
	left: 0;
	width: 0;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
}

#page-top a:before {
	bottom: 100%;
	border-bottom: 14.43px solid #ffe300;
}

#page-top a:after {
	top: 100%;
	width: 0;
	border-top: 14.43px solid #ffe300;
}

#page-top a:hover {
	text-decoration: none;
	filter: alpha(opacity=100);
	opacity: 1.0;
}

#page-top .fa {
	font-size: 24px;
	position: relative;
	top: 40%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}


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

	#page-top { bottom: 24px; }
}*/


/* スマホフッターナビ
--------------------------------------*/

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

	.mobileNav {
		position: fixed;
		width: 100%;
		bottom: 0;
	}

	.mobileMenu {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;

	}

	.mobileMenu > li {
		font-size: 0.625rem;
		text-align: center;
		line-height: 1.1;
		padding: 4px;
		width: 25%;
		background: rgba(230, 229, 220, 0.9)  ;
		position: relative;
		-ms-transition: 0.5s;
		transition: 0.5s;
	}

	.mobileMenu > li,
	.mobileMenu > li a { color: #4f4f4f; }

	.mobileMenu > li:hover { background: rgba( 230,221,139,1); }

	.mobileMenu > li:hover,
	.mobileMenu > li:hover a { color: #222524; }

	.mobileMenu > li:before {
		font-size: 1.675rem;
		display: block;
	}

	.mobileMenu > li a:hover { text-decoration: none; }

	.mobileMenu > li a:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

	/*.mobileNav,
	.mobileNav a {
		color: #5e5e5e;
	}

	.mobileNav {
		position: fixed;
		width: 100%;
		bottom: 0;
		background: rgba(230, 205, 0, 0.9);
	}

	.mobileMenu {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.mobileMenu > li {
		font-size: 12px;
		font-size: 0.75rem;
		text-align: center;
	}

	.mobileMenu > li:not(:last-child) {
		border-right: 1px solid #222524;
	}

	.mobileNav.menu-items-num-2 .mobileMenu > li { width: 50% }

	.mobileNav.menu-items-num-3 .mobileMenu > li { width: 33.3% }

	.mobileNav.menu-items-num-4 .mobileMenu > li { width: 25% }

	.mobileMenu a {
		display: block;
		padding: 8px 0 0;
	}

	.mobileMenu a:before {
		content: '';
		display: block;
		width: 2rem;
		height: 2rem;
		margin: 0 auto 4px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.nav-icoBook a:before { background-image: url(images/ico_book.png); }

	.nav-icoSeminar a:before { background-image: url(images/ico_seminar.png); }

	.nav-icoContact a:before { background-image: url(images/ico_maill.png); }

	.nav-icoMailmgz a:before { background-image: url(images/ico_maillmagz.png); }

	.mobileMenu a:hover {
		color: #5e5e5e;
		text-decoration: none;
		background: #ffe300;
	}*/

}

/* フッターセミナー
-------------------------------*/

.footSemiBox {
	padding: 8px;
	border: 1px solid ;
	position: relative;
}

.footSemiImgBox {
	position: relative;
	overflow: hidden;
}

.footSemTxt {
	text-align: center;
}

.footSemiBox h2 {
	font-size: 1.4em;
	line-height: 1.2;
	padding-right: 8px;
	overflow: hidden;
	margin: 0.5em 0;
}

.footSemiUl li {
	line-height: 1.4;
	margin-bottom: 0.5em;
}

.footSemiArea {
	color: #fff;
	background: #222524;
	padding: 0.1em 0;
}

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

	.footSemiBox {
		padding: 0;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.footSemiImgBox { width: 55%; }

	.footSemTxt { padding: 1em 0.5em; }

	.footSemiBox h2 { margin: 0; }

	.footSemiUl li {
		line-height: 1.2;
		margin-bottom: 0;
	}
}

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

	.footSemiBox {
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.footSemTxt { padding: 0 0.5em; }

	.footSemiImgBox { width: 50%; }

}

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

	.footSemiImgBox { width: 45%; }

	.footSemiBox .footSemTxt { width: 55%; }

	.footSemiBox h2 {
		font-size: 1.8em;
		padding: 0 0em;
		/*margin: 0 0 0.2em;*/
	}

	.footSemiUl li { font-size: 1.4em; }

	.footSemiUl li span:last-child { font-size: 0.8em; }

	.footSemiArea { padding: 0.1em 0.5em; }

	.footSemiBox .btn-tx { margin: 0.3em 0; }
}

/*========================================================
　サイドバー 設定
========================================================*/

#sidebar {
	max-width: 300px;
	margin: 0 auto 40px;
}

/* searchウィジェット設定*/

.widget_search label { display: none; }

.widget_search input[type="text"] { width: 75.5%; }

.widget_search input[type="submit"] {
	padding: 0.2em 1em;
	margin: 0;
}

/* メルマガ登録フォーム */
.mail-Widget {
	max-width: 300px;
	background: #e6e5dc;
	/*background: url(images/bg_hex-maillMagz.png) no-repeat center center, #ffe300;*/
	background-size: cover;
	padding: 16px 16px 10px;
	position: relative;
}

.mail-Widget,
.mail-Widget a { color: #5e5e5e; }

.mailmagz-tit-wrap {
	color: #fff;
	text-align: center;
	background: #222524;
	padding: 8px 16px;
	margin: -8px -8px 1em;
	position: relative;
}

.mailmagz-tit-wrap:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px;
	border-color: transparent;
	border-top-color: #ffe300;
	position: absolute;
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	right: -7px;
	bottom: -7px;
}

.mailMagTitle {
	color: #fff;
	font-size: 24px;
	font-size: 1.5em;
	line-height: 1.2;
	margin-bottom: 0.2em;
	/*border-left: 1px solid #ffe300;
	border-right: 1px solid #ffe300;*/
}

.mailMagTitle + p {
	font-size: 14px;
	padding: 0 0.5em;
}

.mailMagForm { margin-top: 1em; }

.mailMagForm dt { display: none; }

.mailMagForm dd { margin-bottom: 1em; }

.mailMagForm input[type="text"],
.mailMagForm input[type="email"] { padding: 3px 8px; }

.mail-Widget input[type="submit"] { margin-top: 0; }

.acMailLogo {
	font-size: 10px;
	margin: 0;
	text-align: right;
}

/* サイド バナーメニュー */
.widget_simpleimage {
	width: 300px;
	position: relative;
}

.sideBnrUl > li:not(:last-child) {
	margin-bottom: 20px;
}

.widget_simpleimage:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

.widget_simpleimage a {
	color: #fff;
}

.widget_simpleimage a:hover {
	text-decoration: none;
}

.simple-image a {
	text-align: right;
	display: block;
	background: #222524;
}

.simple-image a img {
	width: 138px;
}

.simple-image a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

.simple-image a:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #ccc;
	z-index: 50;
	opacity: 0;
}

#sidebar .widget_simpleimage .more a,
.simple-image + p {
	color: #fff;
	text-align: center;
	position: absolute;
	left: 0;
	width: 162px;
}

.widget_simpleimage .more a {
	font-size: 20px;
	font-size: 1.25rem;
	font-family: 'Lato', sans-serif;
	letter-spacing: 1px;
	top: 23%;
}

.simple-image + p {
	font-size: 13px;
	top: 56%;
}

/* ページフットメルマガウィジェット
-------------------------*/

.footContents .mail-Widget {
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
}

.footMailBox { position: relative; }

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

	.footContents .mail-Widget{ margin: 0 0 0 2em; }

	.footMailBox { padding: 24px 48px; }
}

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

/*#wrapper {
	padding-top: 40px;
}

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

	#wrapper {
		padding-top: 40px;
	}

}

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

	#wrapper {
		padding-top: 140px;
	}

}

.home #wrapper {
	padding-top: 0;
	}*/

.contents > h2,
.contents > section h2,
.contents > h3,
.contents > section h3  { color: #222524; }

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

ul.bread_crumb {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.2;
	margin-top: 16px;
}

.bread_crumb li {
	display: inline-block;
	vertical-align: text-top;
}

.bread_crumb li:after {
	content: ">";
	display: inline;
	margin: 0 0 0 0.3em;
}

.bread_crumb li:last-child {
	max-width: 20em;
	height: 1.2em;
	overflow: hidden;
	white-space: nowrap;
	-o-text-overflow: ellipsis;
	/* Opera 9-10 */
	text-overflow: ellipsis;
}

.bread_crumb li:last-child:after { content: none; }

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

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

.pageHead { margin: 16px 0 40px; }

.contentsTitle {
	font-family: 'lato';
	font-weight: normal;
	text-align: center;
	margin: 0;
}

.titTxt {
	font-size: 1.8rem;
	line-height: 1.4;
	display: block;
	border-bottom: 2px solid #999;
	padding-bottom: 0.2em;
}

.titSub {
	font-size: 1rem;
	line-height: 1.4;
	display: block;
	margin-top: 0.3em;
}

.titImg {
	width: 100%;
	height: 80px;
	overflow: hidden;
	position: relative;
	margin-bottom: 16px;
}

.titImg img {
	width: 100%;
	position: relative;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

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

	.pageHead { margin: 32px 0 80px; }

	.contentsTitle { padding: 20px 0; }

	.titWrap .contentsTitle { padding: 0; }

	.titTxt { font-size: 2.375rem; }

	.titSub {
		font-size: 18px;
		font-size: 1.125rem;
	}

	.imgTitle {
		position: relative;
	}

	.titImg {
		height: 240px;
		margin-bottom: 0;
	}

	.titImg:after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.3);
	}

	.imgTitle .titWrap {
		color: #fff;
		text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		display: block;
		position: absolute;
		width: 92%;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.titTxt { padding: 0 1em; }

	.imgTitle .titTxt { border-color: #fff; }

}

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

	/*.pageHead { padding-top: 124px; }*/

}

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

.pageDesc {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.6;
	margin-top: 40px;
}

.loopSecTitle {
	font-size: 1.5em;
	font-weight: normal;
	text-align: center;
	background: #f5f5f5;
	padding: 0.2em 0;
	margin-bottom: 20px;
	border-bottom: 2px solid #ffe300;
}

.loopSecTitle.line-blue { border-color: #0b89ff; }

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

	.pageDesc {
		font-size: 16px;
		font-size: 1rem;
		text-align: center;
		padding: 0 3em;
	}

	.loopSecTitle {
		margin-bottom: 40px;
	}

}

/*---------------------------------------
　ループ内 設定
---------------------------------------*/

.loopArticle {
	padding-bottom: 32px;
	border-bottom: 1px solid #ccc;
}

.loopHead {
	position: relative;
	margin-bottom: 1em;
}

.loopTitle {
	padding: 0 0 0.2em;
	border-bottom: 1px solid;
	margin-bottom: 0;
}

.loopTitle a {
	color: #5e5e5e;
}

.loopMeta {
	font-size: 15px;
	font-size: 0.9375rem;
	/*text-align: right;*/
}

.loopArticle p {
	margin-bottom: 0.5em;
}

.loopArticle .btn-tx {
	text-align: right;
	margin-bottom: 0;
}

/* サムネイル設定 */
.thumBox {
	float: left;
	margin: 0 16px 0 0;
	overflow: hidden;
	background: #fff;
	position: relative;
}

.thumBox img {
	margin: 0;
}

.thumBox img,
.thumBox input[type="image"] {
	max-width: none;
	width: auto;
}

.thumBox,
.thumBox img.imgHeight,
.thumBox input[type="image"].imgHeight {
	width: 126px;
}

.thumBox,
.thumBox img,
.thumBox input[type="image"] {
	height: 100px;
}

.thumBox img.imgHeight {
	height: auto;
	position: relative;
	top: -20%;
}

.thumBox img.imgWidth,
.thumBox input[type="image"].imgWidth {
	width: 100%;
	height: auto;
	position: relative;
	/* left: 50%;
	-moz-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);*/
}

.firstLoopArc .thumBox {
	float: none;
	text-align: center;
	width: auto;
	height: auto;
	/*max-height: 480px;*/
	margin: 0 auto 16px;
}

/*.firstLoopArc .thumBox img,
.firstLoopArc .thumBox img.imgWidth,
.firstLoopArc .thumBox img.imgHeight {
	width: auto;
	height: auto;
}
*/
@media screen and (min-width: 641px) {

	.thumBox {
		margin-bottom: 0;
	}

	.thumBox,
	.thumBox img.imgHeight {
		width: 198px;
	}

	.thumBox,
	.thumBox img,
	.thumBox input[type="image"] {
		height: 132px;
	}

}

.thumBox + p {
	margin-top: -0.4em;
}

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

.wp-pagenavi {
	clear: both;
	text-align: center;
	font-size: 18px;
	font-size: 1.125rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
	color: #5e5e5e;
	text-decoration: none;
	padding: 0.1em 0.4em;
	margin: 0 3px;
	background: #fff;
	-moz-box-shadow: 0 0 2px #ccc;
	-o-box-shadow: 0 0 2px #ccc;
	-webkit-box-shadow: 0 0 2px #ccc;
	box-shadow: 0 0 2px #ccc;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	background: #4d4d4d;
	color: #fff;
}

.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}

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

	.wp-pagenavi a,
	.wp-pagenavi span {
		padding: 0.1em 0.4em;
		margin: 0 3px;
	}

	.wp-pagenavi .first,
	.wp-pagenavi .last {
		display: inline;
	}

	.wp-pagenavi .first {
		margin-left: 0;
	}

	.wp-pagenavi .last {
		margin-right: 0;
	}

}

/*---------------------------------------
　各アーカイブ個別
---------------------------------------*/

/* コラムアーカイブ
-------------------------------*/

.columnNewSec {
	margin-bottom: 80px;
}

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

/* セミナーループ */

.semi-article {
	padding: 8px;
	border: 1px solid #ccc;
}

.semiTitBox {
	padding-bottom: 0.3em;
	border-bottom: 1px solid #eee;
}

.semi-date,
.semi-tit { display: block; }

.semi-date { line-height: 1; }

.semi-tit {
	font-size: 1.25em;
	line-height: 1.6;
	margin-top: 0.5em;
}

.semi-article .semiArcBody { margin-bottom: 1em; }

.place-list > li {
	line-height: 1.4;
	/*padding-left: 3em;*/
	/*text-indent: -3em;*/
}

.place-list > li:not(:last-child) { margin-bottom: 0.5em; }

.semi-Img img:not(:last-child) { margin-bottom: 4px; }

.semi-article .btn-tx { text-align: center; }

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

	.semi-article { padding: 16px 24px; }

	.semi-date {
		margin-left: 0.5em;
		display: inline-block;
	}

	.semi-tit {
		font-size: 1.5em;
		margin-top: 0.2em;
	}

	/*.reservHex {
		font-size: 1.125em;
		top: -16px;
		right: -24px;
		padding: 0.6em 1em 1em;
	}*/

	.semi-article .semiArcBody {
		font-size: 1.0625em;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 0;
	}

	.semi-Text {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		margin-right: 2em;
	}

	.contents .semi-Text p { margin-bottom: 0.3em; }

	.semi-Img { width: 36%; }

	.place-list { margin: 0 0 2.4em; /*btn-tx との間隔調整*/ }

	.semi-article .btn-tx {
		width: calc( 64% - 2em );
		margin: 0 auto;
	}
}

/* セミナー ヘックス*/

.reservHex {
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	padding: 0.3em 0.8em 1.5em 0.5em;
	position: absolute;
	top: 0;
	right: -0.3em;
	background: url(images/ico_hex.png) no-repeat left bottom;
	background-size: cover;
}

.semi-article .reservHex {
	top: -8px;
	right: calc( -0.3em + -8px );
}

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

	.reservHex { padding: 0.6em 1em 1em; }

	.semi-article .reservHex {
		font-size: 1.15em;
		top: -16px;
		right: calc( -0.3em + -24px );
	}
}


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

.endSeminer ul > li:not(:last-child) { margin-bottom: 32px; }

.endSemTit {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: bold;
}

.endSemDate,
.endSemTit { line-height: 1.2; }

.endSemDate > span { display: block; }

.endSemTit { overflow: hidden; }

.endSeminer .semiPlace {
	font-size: 15px;
	font-size: 0.937rem;
	border-top: 1px dotted #ccc;
}

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


	.endSemDate > span { display: inline; }

	.endSemDate,
	.endSemTit { line-height: 1.4; }

	.endSemTit {
		font-size: 1.25em;
		display: block;
	}

}

/* 事例紹介・お客様の声 アーカイブ
-------------------------------*/

.voice_catch {
	color: #fff;
	font-size: 1.25em;
	background: #222524;
	padding: 0.1em 0.5em;
	margin-bottom: 0.5em;
	position: relative;
}

.voice_catch:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px;
	border-color: transparent;
	border-top-color: #ffe300;
	position: absolute;
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	right: -4px;
	bottom: -4px;
}

.loopGalTit {
	font-size: 1rem;
	margin-top: 0;
}

.loopGalTit a { color: #5e5e5e; }

.contents .loopGalCompany {
	font-size: 14px;
	text-indent: 0;
	line-height: 1.2;
}

.loopGalCompany + a {
	display: block;
	height: 200px;
	overflow: hidden;
}

.voice-figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 75%;
	margin: 1em 0;
}

.voice-figure img {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	max-width: none;
	width: auto;
	height: 100%;
}

.voice-figure img.img-height {
	width: 100%;
	height: auto;
	-webkit-transform: translate(-50%, -5%);
	-ms-transform: translate(-50%, -5%);
	transform: translate(-50%, -5%);
}

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

	.voice_catch { font-size: 1.4em; }

	.firstLoopArc .voice_catch { font-size: 1.6em; }

	.galleryLayout {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.galleryLayout > .loopArticle,
	.galleryLayout > li {
		width: 49%;
		margin: 0 2% 60px 0;
	}

	.galleryLayout > .loopArticle:nth-child(2n),
	.galleryLayout > li:nth-child(2n)  {
		margin-right: 0;
	}

	.loopGalTit {
		font-size: 20px;
		font-size: 1.25rem;
	}

	.loopGalCompany + a {
		height: 300px;
	}

}

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

.recommend-head {
	padding: 0.5em;
	border: 1px solid;
	margin-bottom: 2em;
}

.recommend-userlist {
	width: max-content;
	/*text-align: right;*/
}

.recommend-userlist li { line-height: 1.4; }

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

	.recommend-head { padding: 0.5em 1.5em; }

	.recommend-archive .voice-figure {
		width: 40%;
		padding-top: 30%;
		float: left;
		margin: 0 2em 0 0;
	}

	.recommend-archive .loopArticle:nth-child(even) .voice-figure {
		float: right;
		margin: 0 0 0 2em;
	}
}

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

	.recommend-head {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-align: center;
		align-items: center;
	}
}


/* メディアアーカイブ
-------------------------------*/

.mediaArc:not(:last-of-type)::after {
	content: '◆◆◆';
	color: #ccc;
	display: block;
	text-align: center;
	padding-top: 40px;
}

/* 書籍・教材アーカイブ
-------------------------------*/

.booksFigure {
	text-align: center;
	width: 118px;
	height: 150px;
	float: left;
	margin-right: 0.5em;
	background: #fff;
}

.booksFigure img {
	max-height: 100%;
	width: auto;
	position: relative;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.home-bookfig.booksFigure {
	float: none;
	width: auto;
	height: auto;
	padding: 0 19%;
	margin-right: 0;
}

.home-bookfig.booksFigure img {
	position: static;
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.booksType {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: normal;
	padding: 0 0.5em;
	border: 1px solid;
}

.booksTitle {
	overflow: hidden;
}

.bookSubTit {
	font-size: 0.8em;
	font-weight: normal;
	display: block;
}

.booksTxt {
	margin-bottom: 1em;
}

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

	.booksFigure {
		width: 200px;
		height: 200px;
	}

	.home-bookfig.booksFigure {
		width: 240px;
		height: 240px;
		float: left;
		margin-right: 0.5em;
		padding: 0;
	}

	.booksTxt {
		overflow: hidden;
	}

}

.booksDl {
	font-size: 14px;
	font-size: 0.875rem;
	clear: both;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	margin: 0 0 8px;
	padding: 8px 0;
}

.booksDl dt {
	float: left;
}

.booksDl dt .bookLs01 {
	letter-spacing: 2em;
}

.booksDl dt .bookLs03 {
	letter-spacing: 0.5em;
}

.booksDl dt .bookLs04 {
	letter-spacing: 0.5em;
}

.booksDl dd {
	padding-left: 5em;
}

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

	.bookTxt {
		overflow: hidden;
	}

	.booksDl {
		font-size: 15px;
		font-size: 0.9375rem;
	}

	/* シングルページ */
	.productImgBox.singleBook {
		width: 300px;
	}

	.productImgBox.singleBook figure {
		height: 300px;
	}

}

.books-recomend {
	border: 1px solid #ccc;
	margin: 32px 0;
	padding: 16px 8px;
}

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

	.books-recomend {
		text-align: left;
		padding: 24px 48px;
		margin: 32px -3em;
	}

	.books-recomend .voice_catch {
		font-size: 1.6em;
		text-align: center;
		margin: -24px -48px 1em;
	}

	.books-recomend .pcflex-box {
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction:  row-reverse;
		flex-direction: row-reverse;
		max-width: 53em;
		margin: 0 auto;
	}

	.books-recomend figure { margin: 0 0 0 1.5em; }

	.books-recomend img { margin: 0; }
}

.sticky_area {
	padding: 40px 0;
	background: #e6e5dc;
	margin-bottom: 40px;
	/*margin: 0 -3% 40px;*/
}

.sticky_area .loopArticle:last-child { margin-bottom: 0; }

.sticky_area .loopHead { position: relative; }

.sticky_area .sticky-circle {
	color: #fff;
	font-size: 1.375em;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	display: block;
	background: #f00;
	width: 3.4em;
	height: 3.4em;
	padding: 0.5em 0.5em;
	border-radius: 50%;
	position: absolute;
	top: -1em;
	left: -1em;
	-ms-transform: rotate( -20deg);
	transform: rotate( -20deg);
}

.sticky_area .loopTitle { padding-left: 3em; }

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

	.sticky_area .sticky-circle {
		font-size: 1.5em;
		top: -0.5em;
		left: -0.5em;
	}

	.sticky_area .loopTitle { padding-left: 4em; }
}

/* Home Books */

.home-sticky.whBox { background: linear-gradient(135deg,  #ffffff 0%,#fffcd7 100%); }

.homesticky-tit {
	color: #f00;
	border: 2px solid;
	padding: 0.3em 0;
}

.home-sticky figure { background: none; }

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

/* シングルページ コンテンツタイトル
-------------------------------*/

.singleHead {
	margin: 0 0 40px;
}

.singleTitle {
	font-size: 1.6em;
	margin: 0;
}

.singleTitTxt {
	display: block;
	padding-bottom: 0.2em;
	border-bottom: 1px solid;
}

.singleMeta.loopMeta {
	text-align: center;
}

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

	.singleTitle {
		font-size: 2em;
	}

}

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

.single-Nav {
	font-size: 14px;
	font-size: 0.875rem;
	list-style: none;
	padding: 16px 16px 0;
	margin: 32px 0 0;
	border-top: solid 1px #ccc;
}

.single-Nav li {
	line-height: 1.4;
	margin-bottom: 1em;
	position: relative;
}

.single-Nav a:not(:hover) {color: #999; }

.single-Nav a:hover { text-decoration: none; }

.single-Nav li.btn-tx {
	font-size: 16px;
	font-size: 1rem;
	text-align: center;
}

.single-Nav li.btn-tx a:hover { color: #5e5e5e; }

.single-Prev { text-align: right; }

.single-Next a:before,
.single-Prev a:after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 11px;
	border-style: solid;
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0.3em;
}

.single-Next a:before {
	border-width: 0 0 2px 2px;
	margin-left: -11px;
	left: 0;
}

.single-Prev a:after {
	border-width: 2px 2px 0 0;
	margin-right: -11px;
	right: 0;
}

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

	.single-Nav {
		padding: 16px 0 0;
		width: 100%;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.single-Nav li { width: 36%; }

	.single-Nav li.btn-tx { width: 28%; }
}


/* CF7フォーム
-------------------------------*/

.formBox {
	padding: 16px 4px;
	background: #f5f5f5;
}

.cfFormTitle {
	text-align: center;
	margin-top: 16px;
}

table.formTable,
.formTransmit p {
	font-size: 15px;
	font-size: 0.9375rem;
}

table.formTable {
	border-top: none;
	border-bottom: 1px dotted #999;
	margin-bottom: 16px;
}

table.formTable tr {
	border-bottom: none;
}

table.formTable th {
	font-weight: normal;
	background: none;
	text-align: left;
}

table.formTable td {
	padding: 0 0 0.8em;
}

.form_S input[type="text"],
.form_S input[type="date"] {
	width: 9.4em;
}

.your-zip input[type="text"] {
	width: 8em;
}

.formTable input[type="checkbox"],
.formTransmit input[type="checkbox"] {
	width: 16px;
	height: 16px;
}

.btnLine {
	text-align: center;
}

.btnLine input[type="submit"] {
	margin-top: 0;
}

.wpcf7-radio > span {
	display: block;
}

.flex-input {
	display: -ms-flexbox;
	display: flex;
	gap: 0.5em;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.adv-form .flex-input .wpcf7-list-item:not(.first) { margin-top: 0; }

/* 表示切替え */
.wpcf7-form .confIn {
	display: none;
}

.wpcf7-form.custom-wpcf7c-confirmed .confIn {
	display: block;
}

.wpcf7-form.custom-wpcf7c-confirmed .confNone {
	display: none;
}

/* 確認画面 */
.wpcf7c-conf,
input[type="text"].wpcf7c-conf,
input[type="email"].wpcf7c-conf,
input[type="tel"].wpcf7c-conf {
	background-color: transparent;
	color: #222524;
	border: none;
	box-shadow: none;
}

input[type="button"].btnBack {
	color: #222524;
	background: #f6f8f9;
	background: -moz-linear-gradient(top, #f6f8f9 0%, #d7dee3 100%);
	background: -webkit-linear-gradient(top, #f6f8f9 0%, #d7dee3 100%);
	background: linear-gradient(to bottom, #f6f8f9 0%, #d7dee3 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#d7dee3', GradientType=0);
	margin-right: 2em;
}

input[type="button"].btnBack:hover {
	background: #d7dee3;
}

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

	.formBox {
		padding: 24px;
	}

	table.formTable th,
	table.formTable td {
		padding: 0.5em 0;
		vertical-align: top;
	}

	table.formTable th {
		width: 9em;
	}

	.formTransmit .acceptCheck {
		float: left;
	}

	.btnLine {
		float: right;
	}

	input[type="button"].btnBack {
		margin-right: 1em;
	}

}

/* セミナーsingleページ
-------------------------------*/

/* fax申込み*/
.faxIconBox {
	margin: 16px 0;
}

.faxIconBox a {
	display: table;
	max-width: 420px;
	margin: 0 auto;
}

.faxIconBox i.fa-file-text {
	font-size: 54px;
}

.faxIconBox a .faxTxt {
	display: table-cell;
	vertical-align: middle;
}

.faxIconBox a .faxTxt {
	padding-left: 1em;
}

.faxNumBox {
	text-align: center;
	padding: 16px;
	border: 1px solid #ccc;
}

.faxNumber {
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: bold;
	display: block;
}

/* Googleマップ
-------------------------------*/

.acf-map {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 20px 0;
}

/* 書籍シングル
-------------------------------*/

.bookSingFigure {
	float: left;
	margin: 0 16px 0 0;
}

.bookSingFigure + .booksDl {
	clear: none;
	overflow: hidden;
}

.bookSingFigure + .booksDl + ul.float_C {
	clear: none;
}

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

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

.case-study .singleHead,
.follow-case .singleHead {
	border: 1px solid #ccc;
	padding: 8px;
}

.case-study .singleTitle,
.follow-case .singleTitle,
.intervImg {
	margin-bottom: 0.8em;
}

.singleSubTit {
	font-size: 0.7em;
	font-weight: normal;
	display: block;
	margin-top: 0.3em;
}

.single .case-study h3:before,
.single .follow-case h3:before {
	content: 'ー';
	font-weight: normal;
}

.intervText p {
	font-size: 15px;
	font-size: 0.9375rem;
	text-indent: 0;
	line-height: 1.5;
}

.intervText p:first-child {
	margin-bottom: 0.5em;
	font-size: 1.2em;
}

.intervText p:not(:first-child) {
	margin-bottom: 0;
}

.intervName {
	font-weight: bold;
	margin-left: -1em;
}

h6.intervContTit {
	font-weight: bold;
	text-indent: 0;
	margin-bottom: 0.5em;
}

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

	.case-study .singleHead,
	.follow-case .singleHead {
		padding: 24px;
	}

	.case-study .singleTitle,
	.follow-case .singleTitle {
		text-align: center;
	}

	.interviewBox {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.intervImg {
		width: 54%;
		margin: 0 16px 0 0;
	}

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

	.intervText p {
		font-size: 16px;
		font-size: 1rem;
	}

	.voiceCompBox {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	h6.intervContTit {
		padding-left: 4.6em;
		text-indent: -4.6em;
	}

}

/* 事例紹介
-------------------------------*/

.case-study .singleTitle,
.follow-case .singleTitle {
	margin-bottom: 16px;
}

.caseCompany {
	background: #f5f5f5;
	text-align: center;
	margin-bottom: 2em;
}

.caseCompany p {
	font-size: 1.2em;
	font-weight: bold;
	text-indent: 0;
}

.caseMainImg img {
	max-width: 100%;
	width: auto;
	max-height: 400px;
}

.caseBackSec {
	border: 1px solid #e3e3e3;
}

.beforeImg {
	float: right;
	max-width: 50%;
	margin: 0 0 0.5em 0.5em;
}

.resolveTitle:after {
	content: '';
	display: block;
	width: 100%;
	height: 8px;
	background: #ffe300;
	margin-top: -0.5em;
}

.caseResolve ul {
	font-size: 1.1em;
}

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

	.case-study .singleTitle,
	.follow-case .singleTitle {
		text-align: center;
	}

	.caseResultBox > .wp-caption {
		display: block;
		float: left;
		width: 49% !important;
		text-align: center;
	}

	.caseResultBox .wp-caption:nth-of-type(odd) {
		margin-right: 2%;
	}

	.caseResultBox > p > img {
		max-width: 49%;
	}

}

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

/* 会社概要
-------------------------*/

.corpMassege {
	margin-bottom: 40px;
}

.corpMassege .omoi {
	font-family: "リュウミン R-KL", "Ryumin Regular KL";
	font-size: 2.4em;
	font-weight: normal;
	margin: 0 0 0 -0.4em;
}

.corpMassege .textBold {
	line-height: 1.4;
}

.corpMassege br {
	display: none;
}

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

	.corpMassege .omoi {
		font-size: 4.8em;
	}

	.corpMassege .textBold {
		font-size: 1.4em;
	}

	.corpMassege br {
		display: inline;
	}

}

#gmap {
	width: 100%;
	height: 500px;
	margin: 40px 0;
}

/* プロフィール
-------------------------*/

.kakuminTit {
	font-size: 2em;
	margin-bottom: 1.5em;
}

.kakuminTit span {
	font-size: 0.56em;
	margin-bottom: 0.5em;
}

.profBox {
	border: 1px solid #ccc;
}

.achvDl {
	padding-top: 1em;
	border-top: 1px dotted #ccc;
}

.achvDl > dt,
.achvDl > dd {
	line-height: 1.4;
}

.achvDl > dd {
	border-bottom: 1px dotted #ccc;
	padding-bottom: 1em;
	margin-bottom: 1em;
	overflow: visible;
}

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

	.kakuminTit {
		font-size: 2.5em;
	}

	.kakuminTit span {
		font-size: 0.4em;
	}

	.profBox.box {
		padding: 24px;
	}

	.profHeadBox {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.achvDl dt {
		width: 8.5em;
	}

	.lectureBox {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.lectureBox > div {
		width: 50%;
		margin-bottom: 16px;
	}
}

/*当社3つの強み*/

.strong-point3 {
	padding: 32px 5%;
	margin-bottom: 32px;
	background: #f9f9f9;
	background: linear-gradient(to bottom,  #f9f9f9 0%,#e6e5dc 100%);
}

.strong-point3 h2 {
	text-align: center;
	padding-bottom: 0.3em;
	border-bottom: 2px solid;
}

.strong-point3 h2 > span { padding: 0 0.5em; }

.strong-point-ol {
	list-style: none;
	padding: 0;
}

.strong-point-ol > li {
	position: relative;
	padding: 3.6em 0;
	/*margin-top: 2em;*/
	min-height: 280px;
}

.strong-point-ol > li > h3,
.strong-point-ol > li > ol {
	position: relative;
	z-index: 5;
}

.strong-point-ol > li > h3 {
	padding-left: 2.4rem;
	margin-bottom: 0.8em;
}

.strong-point-ol .point-num {
	color: #ffe303;
	background: #212121;
	display: inline-block;
	line-height: 1;
	padding: 0.3em;
	border-radius: 2px;
	margin: 0 0.1em 0 -2.4rem;
}

.strong-point-ol > li > ol {
	color: #000;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	padding-left: 0.25rem;
}

.strong-point-ol > li > ol > li {
	counter-increment: circle-list;
	position: relative;
	padding-left: 1.5em;
}

.strong-point-ol > li > ol > li::before {
	content: counter(circle-list);
	display: inline-block;
	line-height: 1.3;
	text-align: center;
	width: 1.3em;
	height: 1.3em;
	border: 1px solid;
	border-radius: 50%;
	margin: 0 0.2em 0 -1.5em;
}

.strong-point-ol > li > ol > li:not(:last-child) {
	margin-bottom: 0.3em;
}

.hexagon {
	width: 240px;
	height: calc( 240px * 0.5772 );
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translateX(-50%) translateY(-50%);
	transform: translate(-50%,-50%);
	/*z-index: -1;*/
}

.hexagon,
.hexagon::before,
.hexagon::after {
	background: #fff;
}

.hexagon::before,
.hexagon::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.hexagon::before { transform: rotate(60deg); }

.hexagon::after { transform: rotate(-60deg); }


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

	.strong-point3 {
		padding: 40px 5% 60px;
		border-radius: 2em;
	}

	.strong-point-ol {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 2em;
		margin: 4em 0 0;
	}

	.strong-point-ol > li {
		min-height: auto;
	}

	.strong-point-ol > li:first-child {
		width: 100%;
		padding-left: 0;
		margin-bottom: -2.4em;
	}

	.strong-point-ol > li:not(:first-child) {
		width: calc( 50% - 1em);
		max-width: 25rem;
		padding-left: 0;
	}

	.strong-point-ol > li > h3 ,
	.strong-point-ol > li > ol {
		max-width: 18rem;
		margin-right: 0;
		margin-left: 0;
		position: relative;
		left: 50%;
		-ms-transform: translateX(-50%) translateY(0);
		transform: translate(-50%,0);
	}

	.strong-point-ol > li > h3 { font-size: 1.3125em; }

	.strong-point-ol > li > ol { margin-top: 1em }

	.hexagon,
	.strong-point-ol > li:nth-child(2) .hexagon {
		width: 320px;
		height: calc( 320px * 0.5772 );
	}

}



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

	.strong-point3 { padding: 60px 24px; }

	.strong-point-ol {
		margin: 3em 0 0;
		gap: 0;
	}

	.strong-point-ol > li { width: 33% !important; }

	.strong-point-ol > li:first-child { margin-bottom: 0; }

	.strong-point-ol > li h3 { font-size: 1.275em; }
}


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

.consulMerit ol {
	list-style: none;
	margin-bottom: 1em;
}

.consulMerit ol li {
	line-height: 1.5;
	counter-increment: wpp-list;
	position: relative;
}

.consulMerit ol li:before {
	content: counter(wpp-list);
	color: #5e5e5e;
	text-align: center;
	display: inline-block;
	width: 1.6em;
	height: 1.6em;
	background: url(images/ico_hex.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: -1.8em;
	margin-right: 0.2em;
}

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

	.consulMerit ol {
		font-size: 1.0625em;
		margin: 0 2em 0 0;
	}

}

/* コンサルポイント */

.pointOl h3 > span {
	font-size: 0.9em;
	display: inline-block;
	padding: 0 0.3em;
	margin-bottom: 0.2em;
	/*background: #ffe300;*/
}

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

	.pointOl h3 > span {
		font-size: 1em;
		margin: 0 0.5em 0 0;
	}

	.pointOl h3 br {
		display: none;
	}
}

/* カテゴリーキラーづくり コンサル */

.consulmenu-title {
	padding: 0.5em;
	border: 2px solid;
	margin-bottom: 32px;
}

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

	.consulmenu-title {
		font-size: 1.625em;
		padding: 0.5em 1em;
	}

}

/* 各コンサルBox */

.consulmenu-box h3 {
	padding: 0.3em 0.5em;
	background: #f5f5f5;
}

.consulmenu-box h4 { margin: 0.5em 0 0; }

.contents .consulmenu-box h4 + p {
	text-indent: 0;
	padding-left: 0.5em;
}


/* コンサルFlow */

.consulMenuOl .ol-menu-tit {
	color: #fff !important;
	line-height: 1.4;
	background: #222524;
	padding-left: 4.3em;
}

.consulMenuOl .flowNo {
	color: #222524;
	text-indent: 0;
	text-align: center;
	display: inline-block;
	background: #dbd4a2;
	width: 4em;
	margin: 0 0.3em 0 -4.3em;
}

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


/* 契約の流れ */

.contractFlow h3 {
	border-bottom: 1px solid #ccc;
}

.contractFlow .attention {
	font-size: 0.875rem;
	background: #f5f5f5;
	padding: 8px;
	margin-bottom: 1em;
}

.contents .contractFlow .attention p {
	padding-left: 1.5em;
	text-indent: -1.5em;
	margin-bottom: 0;
}

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

	.contractFlow li > p,
	.contractFlow .attention {
		margin-left: 1.5em;
	}
}

/* アドバンスコンサル 2022.05 */

/* コンサルメニュー */

.adv-menu-list {
	list-style: none;
	padding: 0;
	margin: 2em 0 40px;
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.adv-menu-list:before {
	content: '';
	display: block;
	position: absolute;
	top: -24px;
	left: 50%;
	-ms-transform: translateX(-50%) translateY(0);
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 36px;
	border-color: #dbd4a2 transparent transparent;
}

.adv-menu-list > li {
	width: 48%;
	position: relative;
}

.adv-menu-list > li:after {
	content: '';
	pointer-events: none;
	display: block;
	position: absolute;
	top: 4px;
	right: 4px;
	bottom: 4px;
	left: 4px;
	border: 2px solid #fff;
}

.adv-menu-list > li:not(:first-child),
.adv-menu-list > li:not(:nth-child(2)) { margin-top: 1em; }

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

	.adv-menu-list {
		-ms-flex-pack: start;
		justify-content: flex-start;
		padding: 0 5%;
		margin: 1em 0 80px;
	}

	.adv-menu-list > li { width: 32%; }

	.adv-menu-list > li:not(:nth-child(3n)) { margin-right: 2%; }
}

.adv-menu-list a {
	color: #222524;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	padding: 1em 0.5em;
	height: 100%;
	min-height: 7em;
	display: -ms-flexbox;
	display: flex;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	position: relative;
}

.adv-menu-bgbk {
	color: #fff;
	line-height: 1.2;
	background: #222524;
	display: block;
	padding: 0.5em 0.2em;
	margin: 0 0 0.5em;
}

.adv-menu-bgbk + .textNormal {
	font-size: 0.73em;
	line-height: 1.3;
	display: block;
}

.adv-menu-list a:hover {
	text-decoration: none;
	/*opacity: 0.7;*/
}

.adv-menu-list a:active { top: 1px; }

.adv-btn {
	width: 100%;
	position: relative;
	padding-bottom: 2.4em;
}

.adv-btn:before,
.adv-btn:after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
}

.adv-btn:before {
	width: 0.8em;
	height: 0.8em;
	border-style: solid;
	border-width: 0 2px 2px 0;
	-ms-transform: translateX(-50%) translateY(0) rotate(45deg);
	transform: translate(-50%,0) rotate(45deg);
	bottom: 0.8em;
}

.adv-btn:after {
	width: 2em;
	height: 2em;
	border: 1px solid;
	border-radius: 50%;
	-ms-transform: translateX(-50%) translateY(0);
	transform: translate(-50%,0);
	bottom: 0;
}

.plan-count {
	font-size: 0.9375em;
	display: block;
	padding: 0 1em;
	border: 1px solid #fff;
	border-radius: 0.7em;
	width: max-content;
	margin: 0.3em auto 0;
}

.adv-menu-list a:hover .plan-count {
	color: #fff;
}

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

	.adv-menu-list a {
		font-size: 1.125em;
	}
}

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

	.adv-menu-list a { font-size: 1.25em; }
}

/* 各アドバンスコンサル */

.advance-box {
	line-height: 1.6;
	position: relative;
	padding-top: 1.8em;
}

.adv-purpose {
	font-weight: 700;
	font-size: 0.75em;
	padding: 0.1em 0.5em;
	background: #ccc;
	position: absolute;
	top: 0;
	right: 0;
}

.advance-box-head { margin-bottom: 1em; }

.advance-box-head + p {
	font-size: 1.125em;
	font-weight: 700;
}

.advance-box.consulMenuOl .ol-menu-tit {
	padding-left: 2.3em;
	margin: 0 0 0.5rem;
}

.advance-box.consulMenuOl .flowNo {
	width: 2em;
	margin: 0 0.3em 0 -2.3em;
}

.advance-flex { margin: 2em 0; }

.advance-flex h3 { font-size: 1.125em; }

.adv-left > h3,
.adv01_col > h4 {
	border-bottom: 1px dotted;
}

.advance-notebox h4,
.recommend-box h3 { font-size: 1.0625em; }

.advance-notebox {
	background: #e6e5dc;
	margin-top: 2em;
}

.adv-right { margin-top: 1em; }

.adv-right > h3 {
	color: #fff !important;
	padding: 0 0.5em;
	background: #ccc;
}

a.adv01_col { background: linear-gradient(135deg, #fff 0%,#fff2b2 100%); }
.bg-adv01,
a.adv01_col:hover,
.adv01_col .plan-count,
.adv01_col .adv-purpose,
.adv01_col .flowNo,
.adv01_col .adv-right > h3 { background: #fff2b2; }

a.adv02_col { background: linear-gradient(135deg, #fff 0%,#f8bb6f 100%); }
.bg-adv02,
a.adv02_col:hover,
.adv02_col .plan-count,
.adv02_col .adv-purpose,
.adv02_col .flowNo,
.adv02_col .adv-right > h3 { background: #f8bb6f; }

a.adv03_col { background: linear-gradient(135deg, #fff 0%,#f6c3d9 100%); }
.bg-adv03,
a.adv03_col:hover,
.adv03_col .plan-count,
.adv03_col .adv-purpose,
.adv03_col .flowNo,
.adv03_col .adv-right > h3 { background: #f6c3d9; }

a.adv04_col { background: linear-gradient(135deg, #fff 0%,#f19bb4 100%); }
.bg-adv04,
a.adv04_col:hover,
.adv04_col .plan-count,
.adv04_col .adv-purpose,
.adv04_col .flowNo,
.adv04_col .adv-right > h3 { background: #f19bb4; }

a.adv05_col { background: linear-gradient(135deg, #fff 0%,#f9c46c 100%); }
.bg-adv05,
a.adv05_col:hover,
.adv05_col .plan-count,
.adv05_col .adv-purpose,
.adv05_col .flowNo,
.adv05_col .adv-right > h3 { background: #f9c46c; }

a.adv06_col { background: linear-gradient(135deg, #fff 0%,#bed75c 100%); }
.bg-adv06,
a.adv06_col:hover,
.adv06_col .plan-count,
.adv06_col .adv-purpose,
.adv06_col .flowNo,
.adv06_col .adv-right > h3 { background: #bed75c; }

a.adv07_col { background: linear-gradient(135deg, #fff 0%,#b1d2ef 100%); }
.bg-adv07,
a.adv07_col:hover,
.adv07_col .plan-count,
.adv07_col .adv-purpose,
.adv07_col .flowNo,
.adv07_col .adv-right > h3 { background: #b1d2ef; }

a.adv08_col { background: linear-gradient(135deg, #fff 0%,#deb4d3 100%); }
.bg-adv08,
a.adv08_col:hover,
.adv08_col .plan-count,
.adv08_col .adv-purpose,
.adv08_col .flowNo,
.adv08_col .adv-right > h3 { background: #deb4d3; }

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

	.advance-box-head .ol-menu-tit + p {
		font-size: 1.0625em;
		margin-left: calc( 2em * 2.3 );
	}
}

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

	.advance-flex {
		display: -ms-flexbox;
		display: flex;
	}

	.adv-left {
		-ms-flex: 1;
		flex: 1;
	}

	.adv-right {
		width: 33%;
		margin: 0 0 0 2em;
	}

	.adv-right > h3 { text-align: center; }
}

.adv-rightflow > li { position: relative; }

.adv-rightflow > li:not(:first-child):before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1em 2em;
	border-color: #dbd4a2 transparent transparent;
	position: absolute;
	top: -0.5em;
	left: 50%;
	-ms-transform: translateX(-50%) translateY(0);
	transform: translate(-50%,0);
	/*z-index: 5;*/
}

.adv-planflow.adv-rightflow > li:not(:first-child) {
	margin-top: 2em;
}

.adv-planflow.adv-rightflow > li:not(:first-child):before { top: -1.5em; }

.adv-rightflow h4 {
	font-size: 1.1em;
	text-indent: -3.1em;
	line-height: 1.4;
	padding: 0.2em 0.5em 0.2em 3.6em;
	background: #e6e5dc;
}

.adv-rightflow p {
	font-size: 0.875rem;
	line-height: 1.4;
}

.planflow-count {
	color: #fff;
	font-size: 0.9em;
	padding: 0.1em 0.3em;
	background: #4d4d4d;
}

.adv-rightflow strong { font-size: 1rem; }


/* 価格表テーブル */

.adv-pricetb { font-size: 1.125em; }

.adv-left .adv-pricetb { width: 100%; }

.adv-pricetb th {
	color: #222524;
	padding: 0.5em 0;
}

.adv-pricetb th > span {
	display: block;
	padding: 0.5em;
}

td.ve-align-m { vertical-align: middle !important; }

.adv-pricetb td { padding: 0.5em 0; }

.adv-pricelist > li:not(.not-justi) {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.price-right { width: 4em; }

.price-right > strong,
.price-right > .price-count{
	float: right;
}

.price-right:after {
	content: '';
	display: table;
	clear: both;
}

.adv-pricelist + p { margin-top: 0.3em; }

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

	.price-left .mb_spBlock { margin-left: 0.5em; }
}

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

	.adv-pricelist > li { white-space: nowrap; }

	.adv-pricetb td { padding: 0.5em 0 0.5em 1em; }
}

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

	.adv-pricetb th { max-width: none; }
}

/* 1 選べる2つの〜 */

.adv01-coursetit {
	background: #fff2b2;
	padding: 0.2em 0.5em;
}

.adv-pricetb th .bg-adv01:first-letter { color: #666; }

/* アドバンス 申込フォーム */

.adv-form p { margin: 0; }

.adv-form .wpcf7-list-item-label { font-weight: 700; }

.adv-form .wpcf7-list-item:not(.first),
.second-subject { margin-top: 0.5em; }

.follow-corsebox { padding: 0 0 0.5em 3.5em; }



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

.QandA > li {
	margin-bottom: 0.5em;
	position: relative;
	padding-left: 2.5rem;
	text-indent: -2.2rem;
}

.QandA > li:nth-child(odd),
.QandA > li:first-letter,
.QandA > li:nth-child(even) p:first-child:first-letter {
	font-weight: bold;
	padding-right: 0.5em;
}

.QandA > li:nth-child(even):first-letter,
.QandA > li:nth-child(even) p:first-child:first-letter {
	padding-right: 1.5rem;
}

.QandA > li:nth-child(odd),
.QandA > li:nth-child(even):first-letter,
.QandA > li:nth-child(even) > p:first-child:first-letter {
	font-size: 1.2rem;
}

.QandA > li:nth-child(odd) {
	line-height: 1.4;
	padding: 0.3em 0 0.3em 2.5rem;
	background: #f1f1f1;
}

.QandA > li:nth-child(even) {
	margin-bottom: 1.5em;
	padding-bottom: 1em;
	border-bottom: dotted 1px #ccc;
}

.contents .QandA li p {
	/*text-indent: 0;*/
	margin-bottom: 0.5em;
}

.QandA > li:nth-child(even) p:first-child {
	text-indent: -2.2em;
}


/* お悩み解決事例 申し込みページ
-------------------------------*/

.spInblock { display: inline-block; }

.voice-mailform input[ name="fld6"] {
	width: auto;
	display: inline;
	padding: 2px;
}

/* パス対象記事追加 */

.home-widgetwrap .addition-txt {
	line-height: 1.2;
	float: left;
	width: 50%;
}

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

	.voice-mailform td[colspan] { padding-left: 2em; }

	.voice-mailform td[colspan] h6 { margin-left: -2em; }
}

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

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

.slick-dotted.slick-slider { margin-bottom: 0; }

.slick-slider button {
	background: none;
	border: none;
	padding: 0;
	box-shadow: none;
}

/* 共通 */

.slick-arrow,
.slick-dots {
	position: absolute;
	z-index: 999;
	opacity: 0;
	filter: alpha(opacity=00);
	-ms-filter: "alpha( opacity=00 )";
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-webkit-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

.slick-slider:hover .slick-arrow,
.slick-slider:hover .slick-dots {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

.slick-arrow,
.slick-dots li button {
	outline: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.slick-arrow:hover,
.slick-dots li button:hover { cursor: pointer; }

/* arrows */

button.slick-arrow {
	width: 24px;
	height: 24px;
	top: 50%;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

.slick-prev:before,
.slick-next:before { content: none; }

button.slick-arrow:after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	-ms-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
	width: 16px;
	height: 16px;
	border-style: solid;
	border-color: #999;
	border-radius: 1px;
}

button.slick-arrow:hover:after { border-color: #ffe300 }

.slick-prev { left: 10px; }

.slick-prev:after { border-width: 0 0 3px 3px; }

.slick-next { right: 10px; }

.slick-next:after { border-width: 3px 3px 0 0; }

/* ページャー */

.slick-dots {
	text-align: center;
	line-height: 1;
	bottom: 8px;
	width: 100%;
}

.slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.slick-dots li button {
	background: #999;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.slick-dots .slick-active button,
.slick-dots li button:hover { background: #ffe300; }

.slick-dots li button::before { content: none; }

/**
	トップビジュアル 2022.05改修
----------------------------------------------------- **/

/* ベース */

.slideTxt {
	line-height: 1.4;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 100%;
}

.slideTxt.txRight,
.slideTxt.txLeft { width: 48%; }

.slideTxt.txRight { right: 2%; }

.slideTxt.txLeft { left: 2%; }

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

	.slideTxt.txRight,
	.slideTxt.txLeft { width: 60%; }

	.slideTxt.txRight { right: 0; }

	.slideTxt.txLeft { left: 0; }
}

/* 追加分 */

.slide-centerBox {
	/*margin: 0;*/
	position: relative;
}

.visual-imgbox { text-align: center; }

.visual-imgbox > img {
	/*margin-left: -8%;*/
	max-width: none;
	width: 100%;
	max-width: 1560px;
}

.slideCopy {
	color: #000;
	font-size: 0.85rem;
	text-align: center;
	line-height: 1.2;
}

.slideCopy > p:first-child { font-size: 0.875em; }

/*.slideCopy > p:not(:first-child) { margin-top: 0.3em; }*/

.slideCopy .wbf-kakuminR { font-size: 1.125em; }

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

	.slideCopy {
		font-size: 1.125rem;
		line-height: 1.4;
	}

	.slideCopy > p:first-child { font-size: 1em; }

	.slideCopy > p:not(:first-child) { margin-top: 0.3em; }

	.slideCopy .wbf-kakuminR { font-size: 1.25em; }
}

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

	.slideCopy { font-size: 1.375rem; }

	.slideCopy > p:first-child { font-size: 1.25em; }
}

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

	/*.slide-centerBox.centerBox { margin: 0 auto; }*/

	/*.visual-imgbox > .slideTxt { margin-right: -2%; }*/

	.slideCopy .wbf-kakuminR { font-size: 1.5em; }
}



/*------------------------------------*
ホームセクション共通
--------------------------------------*/

.home #wrapper { padding-top: 40px; }

.contents .home-widget p:not(:last-child) { margin-bottom: 0.5em; }

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

	.homeSection { margin-bottom: 120px; }
}

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

	.home-frbox.fr_box {
		padding: 16px 6%;
	}

}

/* ホーム テーマブロック 共通
--------------------------------------*/


.home-widget.alignfull > div {
	max-width: 1080px;
	margin: 0 3%;
}

.homewidget-title {
	font-family: "YakuHanJP", 'Open Sans', sans-serif;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}

.homewidget-title,
.home-txthead { text-align: center; }

.home-txthead { margin-bottom: 1em; }

.home-txthead h2 { margin-bottom: 0; }

.contents .home-subtit {
	font-size: 1rem;
	text-indent: 0;
	text-align: center;
	margin: 0;
}

.homewidget-title + .textwidget > .home-subtit {
	margin: -32px 0 1em !important;
}

.home-themeblock h3 { font-size: 1.125em; }

.home-themeblock > figure { margin-top: 1em; }

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

	.home-widg-separat {
		padding-bottom: 40px;
		border-bottom: 1px dotted;
	}

	.home-themeblock .whBox { box-shadow: none; }
}

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

	.home-themeblock {
		display: -ms-flexbox;
		display: flex;
	}

	.home-themeblock.reverse {
		-ms-flex-direction:  row-reverse;
		flex-direction: row-reverse;
	}

	.home-themeblock .home-txt { padding-top: 12%; }

	.homewidget-title,
	.home-themeblock h2 { font-size: 2em; }

	.home-txthead {
		width: max-content;
		max-width: 100%;
	}

	.home-themeblock h2 { text-align: left; }

	.home-themeblock.reverse .home-txthead { margin-left: 1em; }

	.home-themeblock .whBox {
		font-size:  0.9375rem;
		text-align: justify;
		position: relative;
		z-index: 5;
		margin-right: -3em;
	}

	.home-themeblock.reverse .whBox { margin: 0 0 0 -3em; }

	.home-themeblock > figure {
		width: 58%;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin: 0;
	}
}

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

	.home-widget.alignfull > div {
		max-width: 1080px;
		margin: 0 auto;
	}

	.homewidget-title,
	.home-themeblock h2 { font-size: 2.75em; }

	.home-themeblock .whBox { font-size: 1rem; }

	.home-themeblock > figure { width: 54%; }
}

/**
	CONCEPT
-------------------------------- **/

.home-concept-widg .fr_box { position: relative; }

.home-concept-widg .fr_box:before,
.home-concept-widg .fr_box:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px;
	position: absolute;
}

.home-concept-widg .fr_box:before {
	top: 4px;
	left: 4px;
	border-color: #4d4d4d transparent transparent #4d4d4d;
}

.home-concept-widg .fr_box:after {
	bottom: 4px;
	right: 4px;
	border-color: transparent #4d4d4d #4d4d4d transparent;
}


/* CASE STUDY
----------------------------------*/

.study-copy { font-size: 1.4375em; }

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

	.study-copy {
		font-size: 1.75em;
		margin: -40px 0 80px !important;
	}
}

/* 事例集 */


.home-casestudy {
	margin-top: 40px;
	border-top: 1px solid #eee;
	padding-top: 40px;
}

.homecase-article {
	font-size: 0.9375em;
	line-height: 1.6;
}

.homecase-article:not(:last-child) { margin-bottom: 16px; }

.contents .homecase-article a { color: #5e5e5e; }

.contents .homecase-article p a:after { content: none; }

.homecase-article .btn-tx { margin: 0.5em 0; }

.home-casest-right { margin-top: 32px; }

.homecase-article-s {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	align-items: flex-start;
}

.homecase-article-s > figure {
	width: 28%;
	padding-top: 28%;
	max-width: 160px;
	margin: 0 2% 0 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	overflow: hidden;
	position: relative;
}

.homecase-article-s > figure img {
	position: absolute;
	top: 0;
	left: 0;
}

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

	.home-concept-widg .home-txthead {
		margin-right: auto;
		margin-left: auto;
	}

	.home-casestudy {
		border-top: none;
		padding-top: 0;
	}
}

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

	.homecase-article-s > figure { padding-top: 160px; }
}

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

	.home-casestudy {
		display: -ms-flexbox;
		display: flex;
	}

	.home-casest-right .homecase-article { margin-bottom: 40px; }

	.home-casest-right .homecase-article:last-child { margin-bottom: 0; }

	.home-casestudy > .homecase-article {
		width: 40%;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin: 0 3em 0 0;
	}

	.home-casest-right { margin-top: 0; }
}


/* SEMINAR
----------------------------------*/

.home-semilist {
	line-height: 1.6;
	margin: 0;
}

.home-semilist a { color: #222524; }

.contents .home-semilist a:after { content: none; }

.home-semiarea {
	color: #fff;
	font-size: 0.85em;
	display: inline-block;
	vertical-align: 0.1em;
	background: #222524;
	padding: 0 0.5em 0 0;
	margin-right: 0.5em;
}

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

	.home-frbox-inner {
		width: max-content;
		margin: 0 auto;
	}

	.home-semilist { font-size: 1.0625rem; }

}

/* CONSULTING
----------------------------------*/

/* コンサルについて */
.home-consulinfo br { display: none; }

.contents .home-widget .btn-bk { margin: 1em 0; }

.contents .btn-bk > a {
	color: #fff;
	padding: 0.2em 1em;
	background: #222524;
	display: inline-block;

}

.contents .btn-bk > a:after { content: '→'; }

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

	.home-consulinfo h3 { font-size: 1.375em; }

	.home-consulinfo h3 + p { text-align: center; }

	.home-consulinfo br { display: inline; }
}


/* カルーセルスライダー
----------------------------------*/

.carousel-slick .slick-arrow,
.carousel-slick .slick-dots { opacity: 1; }

.carousel-slick button.slick-arrow { background: #e6e5dc; }

.carousel-slick button.slick-arrow:hover { background: #222524; }

.carousel-slick button.slick-arrow:after {
	width: 12px;
	height: 12px;
	border-radius: 2px;
}

.carousel-slick .slick-prev { left: -4px; }

.carousel-slick .slick-prev:after {
	left: 65%;
	border-width: 0 0 2px 2px;
}

.carousel-slick .slick-next { right: -4px; }

.carousel-slick .slick-next:after {
	left: 35%;
	border-width: 2px 2px 0 0;
}

.carousel-slick .slick-dots {
	top: 100%;
	bottom: auto;
}

/* COLUMN
----------------------------------*/

.home-colum-widg {
	padding: 80px 0;
	background: url(images/bg_pexels-photo.jpg) no-repeat center;
	background-size: cover;
	margin-bottom: 0;
}

.home-colum-widg .homewidget-title,
.home-colum-widg > .textwidget > p,
.home-colum-widg > .textwidget > p a { color: #fff; }


.column-carousel .carousel-inner { padding: 1px 8px; }

.homecolumn-article { position: relative; }

.column-carousel .loopArticle.whBox {
	padding: 1em 1em 2em;
	margin: 0;
	height: 100%;
}

.homecolumn-figure {
	padding-top: 76%;
	margin: -1em -1em 0;
	position: relative;
	overflow: hidden;
}

.homecolumn-figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translateX(-50%) translateY(-50%);
	transform: translate(-50%,-50%);
}

.homecolumn-title {
	margin-top: 1em;
	min-height: 4.8em;
}

.homecolumn-title a { color: #222524; }

.homecolumn-article .btn-tx {
	font-size: 0.9375rem;
	position: absolute;
	right: 1em;
	bottom: 1em;
	margin: 0;
}

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

	.column-carousel .loopArticle.whBox { padding: 1em 1.5em 3em; }

	.homecolumn-figure { margin: -1em -1.5em 0; }

	.homecolumn-article .btn-tx { right: 1.5em; }
}

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

	.home-colum-widg { padding: 120px 0 80px; }
}

/* TOPICS
----------------------------------*/

.home-topics-widg {
	padding: 80px 0;
	background: #f5f5f5;
}


.news-all-list {
	list-style: none;
	padding: 1em;
	background: #fff;
	margin: 0;
}

.news-all-list > li {
	line-height: 1.6;
	padding: 0.5em 1em 0.5em 0.5em ;
	position: relative;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}

.news-all-list > li:not(:last-child) { border-bottom: 1px dotted; }

.news-all-list > li:after {
	content: '';
	display: block;
	width: 0.8em;
	height: 0.8em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	position: absolute;
	top: 50%;
	right: 0.5em;
	-moz-transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}

.news-all-list .news-meta {
	display:  block;
	margin-bottom: 8px;
}

.news-all-list .news-date,
.news-all-list .cat-links { display: inline-block; }

.news-all-list .news-date {
	font-size: 0.9em;
	min-width: 5em;
}

.news-all-list .cat-links {
	font-size: 0.8em;
	min-width: 7em;
}

.news-all-list .cat-links a {
	color: #fff;
	text-align: center;
	line-height: 1.1;
	display: block;
	padding: 0.2em 0.5em;
	border-radius: 2px;
	background: #999;
}

.news-all-list .cat-links a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.news-all-list .title-link { display: block; }


.news-all-list li:hover { background: #ecf0f7; }

.news-all-list > li > a {
	color: #222524;
	display: block;
	-ms-flex: 1;
	flex: 1;
}

.news-all-list > li > a:hover { text-decoration: none; }

.news-all-list .cat-column a { background: #65a9dc; }
.news-all-list .cat-seminar a { background: #f0b71e; }
.news-all-list .cat-follow-case a { background: #009c70; }
.news-all-list .cat-case-study a { background: #789b02; }
.news-all-list .cat-media a { background: #37405d; }
.news-all-list .cat-books a { background: #ba775e; }
.news-all-list .cat-topics-post a { background: #bf3f44; }

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

	.news-all-list { padding: 2em 3em; }

	.news-all-list > li {
		padding: 0.8em 1.5em 0.8em 0.5em ;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
	}

	.news-all-list .news-meta {
		margin-bottom: 0;
		width: 7em;
		margin-right: 0.5em;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}
}

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

	.news-all-list .news-meta { width: 12em; }
}

/* BOOKS
----------------------------------*/


.homebook-carousel .carousel-inner { padding: 1px 8px; }

.homebook-carousel .homebook-article.whBox {
	padding: 1em 1em 3em;
	margin: 0;
	position: relative;
	height: calc( 100% - 4px);
}

.homebook-figure {
	padding-top: 100%;
	overflow: hidden;
	position: relative;
	margin-bottom: 1em;
}

.homebook-figure img {
	max-width: none;
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translateX(-50%) translateY(-50%);
	transform: translate(-50%,-50%);
}

.homebooks-type {
	color: #6d6d6d;
	font-size: 0.875em;
	line-height: 1.4;
	padding: 0 0.5em;
	border:  1px solid;
	margin: 0 auto 0 0;
	width: max-content;
}

.homebook-title {
	font-size: 1.125em;
	line-height: 1.4;
	margin-top: 0;
}

.homebook-article .btn-tx {
	font-size: 0.9375rem;
	position: absolute;
	right: 1em;
	bottom: 1em;
	margin: 0 !important;
}

/* メインビジュアル下Bookイメージ
----------------------------- */

.home-book-gallery {
	padding: 1em 3%;
	background-image: repeating-linear-gradient(0deg, rgba(0,0,0,0.1), rgba(0,0,0,0.1) 1px, transparent 1px, transparent 8px),linear-gradient(to bottom,  rgb(221,221,221) 0%,rgb(245,245,245) 100%);
	margin-top: -40px;
}

.home-book-gallery #gallery-1 .gallery-item {
	float: none;
	margin-top: 0;
	text-align: center;
	width: auto;
}

.home-book-gallery #gallery-1 img {
	border: none;
	box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

.home-book-gallery #gallery-1 {
	max-width: 1080px;
	margin: 0 auto;
	display: -ms-flexbox;
	display: flex;
	gap: 8px 2%;
}

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

	.home-book-gallery { padding: 2em 1em; }

	.home-book-gallery #gallery-1 { gap: 8px 4%; }
}

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

	.home-book-gallery { margin-top: -88px; }
}


/*------------------------------------*
ダウンロードページ
--------------------------------------*/

.sdm_post_item {
	width: 100%;
	padding-bottom: 40px;
}

.sdm_post_item_top_left,
.sdm_post_item_top_right {
	float: none;
	width: auto;
}

.sdm_post_item_top_left { margin: 0 0 1em; }

.sdm_post_thumbnail {
	text-align: center;
	width: 100%;
}

.sdm_post_item_top_left img {
	padding: 0;
	max-width: 80%;
}

.sdm_post_download_count {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	padding: 0 1em;
	float: right;
}

.sdm_post_download_count + div { clear: both; }

.sdm_post_download_section { margin: 40px 0; }

.sdm_download_link { text-align: center; }

a.sdm_download {
	font-size: 17px;
	font-size: 1.0625rem;
	padding: 1em 1.5em;
	border: none;
}

a.sdm_download:hover { text-decoration: none; }

.sdm_post_download_file_size,
.sdm_post_download_version {
	font-weight: 400;
	max-width: 12em;
	margin: 0 auto;
}

.sdm_post_download_section + div { border-top: 1px solid #ccc; }

.sdm_post_item_top_right > div:last-child:not(.sdm_post_download_section) {
	border-bottom:1px solid #ccc;
}

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


	.sdm_post_item_top_left img {
		max-width: 320px;
	}

}

/** ----------------------------------------------------------
 * 講演依頼ページ
---------------------------------------------------------- **/

.accept-program {
	font-size: 1.125rem;
	padding: 0 0 0.5em 1em;
	border-bottom: 1px solid;
	border-left: 4px solid #000;
	margin: 1em 0;
}

.accept-program > dd:not(:last-child) {
	margin-bottom: 1em;
}

.contents .accept-program p {
	text-indent: 0;
	margin-bottom: 0;
}

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

	.accept-program {
		font-size: 1.25rem;
		width: 100%;
		max-width: max-content;
		margin: 2em auto 0;
	}
}

.accept-prof-left {
	display: -ms-flexbox;
	display: flex;
	gap: 4px;
	margin-bottom: 1em;
}

.accept-prof-left img { margin: 0; }

.accept-prof-left figcaption {
	line-height: 1.2;
	margin-top: 0.3em;
}

.accept-prof-left figcaption strong { display: inline-block; }

.accept-prof-right > h4 {
	margin: 0;
}

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

	.accept-prof-left {
		width: 42%;
		margin: 0 1em 0 0;
		float: left;
	}
}

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

	.accept-prof {
		display: -ms-flexbox;
		display: flex;
		gap: 2em;
	}

	.accept-prof-left {
		width: 30%;
		float: none;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin: 0;
	}
}

.accept-book-left {
	width: 30%;
	float: left;
	margin: 0 0.5em 0 0;
}

.accept-book .booksDl {
	clear: none;
	line-height: 1.4;
}

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

	.accept-book {
		display: -ms-flexbox;
		display: flex;
		gap: 1em;
	}

	.accept-book-left {
		float: none;
		max-width: 120px;
		margin: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}
}

.accept-ol-dl dt {
	font-weight: 700;
	float: left;
}

.youtube-wrap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: calc( 100% * 0.5625 );
}

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

	.accept-ol-dl { font-size: 1.125em; }
}

.youtube-wrap  iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and ( min-width: 641px ) {
	.youtube-wrap {
		max-width: 500px;
		padding-top: calc( 500px * 0.5625 );
	}
}




