@charset "UTF-8";

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

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

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

figure,
p {
	margin: 0;
	padding: 0;
}


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

html {
	font-size: 15px;
	font-family: "YakuHanJP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	/* Arial,"Yu Gothic","YuGothic","游ゴシック体","游ゴシック", */
	line-height: 1.4;
	-webkit-font-smoothing: subpixel-antialiased;
}

main { line-height: 1.6; }

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

	html { font-size: 16px; }
}

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

	body { overflow-x: hidden; }
}

/* Firefox 禁則処理*/
* { word-break: normal !important; }

/* ボックスサイジング */
*,
*: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,
.site-head a:hover,
.site-footer a:hover,
.sidebar a:hover { color: #4169e1; }

body,
.site-head a:not(:hover),
.site-footer a:not(:hover),
.sidebar a:not(:hover),
.a-def a:not(:hover),
.mean-container a.meanmenu-reveal,
.mean-nav a:not(:hover)  { color: #262626; }


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

a { text-decoration: none; }

a:hover { text-decoration: underline; }

a:active { }

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

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

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

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

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

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

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

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

h1 { font-size: 1.5em; }

h2 { font-size: 1.375em; }

h3 { font-size: 1.2em; }

h4 { font-size: 1.125em; }

h5,
h6 { font-size: 1.0625em; }


/* その他基本設定 */

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

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

hr {
	border-width: 0;
	border-top: 1px solid;
}

dt { font-weight: 700; }

dd { margin-left: 1em; }

/*iframe {
	width: 100% !important;
}*/

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

	ul, ol { margin-left: 1em; }

}


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

figure { text-align: center; }

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


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

figure table { text-align: left; }

table thead,
table th { background: #f5f5f5; }

table,
.wp-block-table > table {
	text-align: left;
	line-height: 1.5;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-spacing: 0;
	width: 100%;
	margin: 0.5em 0;
}

table th,
.wp-block-table > table th,
table td,
.wp-block-table > table td {
	padding: 0.3em 0;
	border-style: solid;
	border-width: 1px 0;
	border-color: transparent transparent #ccc ;
}

table th,
.wp-block-table > table th { text-align: center; }

/* ストリップ */

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes tr:last-child td:last-child { border-color: transparent ; }

.wp-block-table.is-style-stripes th { background: transparent; }


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


/* コンテンツ内テーブル */

.contents table th,
.contents table td { display: block; }

.contents table th { padding: 0.3em; }

.contents table td { padding: 0.5em 0.3em 1em; }

/* モバイル内でもテーブル*/
.contents .all-tb th,
.contents .all-tb td { display: table-cell; }


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

	.contents table th { min-width: 7em; }

	.contents .all-tb th { min-width: auto; }

	.contents table th,
	.contents table td {
		display: table-cell;
		padding: 1em 0.8em;
	}

	.contents table td { padding-left: 2em; }
}

/* タテライン */

.contents .tb-full-line td { padding: 1em; }

.contents .tb-full-line tr th:not(:last-child),
.contents .tb-full-line tr td:not(:last-child) {border-right: 1px solid #ccc; }

/* 未レスポンシブテーブル */

.tb-fullsize { width: 728px; }

.hidden-box { overflow: auto; }/* テーブルラップ */

.tb-3w tr:first-child th,
.tb-3w tr:first-child td { width: 33.33%; }

.tb-4w tr:first-child th,
.tb-4w tr:first-child td { width: 25%; }

.tb-5w tr:first-child th,
.tb-5w tr:first-child td { width: 20%; }

.wh08em { width: 08em; }

.wh10em { width: 10em; }


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


/* フォームタグ基本 */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="number"],
textarea,
select {
	font-size: 1rem;
	width: 100%;
	padding: 0.5em;
	border: 1px solid #d4d4d7;
	border-radius: 0;
	background: #fcfcfc;
	box-shadow: 1px 1px 2px #eee inset;
}

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

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: url(../images/ico_select_arrow.svg) no-repeat 98% center,#fcfcfc;
	background-size: 1em auto;
	padding-right: 2em !important;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	padding: 0.6em 1.8em;
	background: #4f4d4d;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	position: relative;
	box-shadow: 0 1px 1px rgba( 0,0,0,0.3 );
	display: inline-block;
	margin-top: 0.6em;
}

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

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

input[disabled][type="submit"],
input[disabled][type="submit"]:hover,
input[disabled][type="submit"]:active {
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
	opacity: 0.6;
	background: #4f4d4d;
	box-shadow: none;
	cursor: default;
}

@media screen and ( min-width: 641px )  {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="search"],
	input[type="date"],
	input[type="number"],
	textarea,
	select { padding: 0.5em 1em; }
}

/* CF7 フォーム チェックボックス ラジオデザイン */

span.wpcf7-list-item { margin: 0 1em 0 0; }

.wpcf7-list-item input[type="radio"],
.wpcf7-list-item input[type="checkbox"] { display: none; }

.wpcf7-list-item-label {
	position: relative;
	cursor: pointer;
}

.wpcf7-list-item-label:before,
.wpcf7-list-item-label:after { content: ''; }

.wpcf7-list-item-label:before {
	display: inline-block;
	border: 1px solid;
	margin-right: 0.3em;
	background: #fff;
}

.wpcf7-list-item-label:after {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label:after,
.wpcf7-form.custom-wpcf7c-confirmed .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7c-conf-hidden + .wpcf7-list-item-label:after,
.wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label:after,
.wpcf7-form.custom-wpcf7c-confirmed .wpcf7-list-item input[type="radio"]:checked + .wpcf7c-conf-hidden + .wpcf7-list-item-label:after{
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

/* radio */

.wpcf7-radio .wpcf7-list-item-label:before,
.wpcf7-radio .wpcf7-list-item-label:after { border-radius: 50%; }

.wpcf7-radio .wpcf7-list-item-label:before {
	width: 1.2em;
	height: 1.2em;
	vertical-align: -0.2em
}

.wpcf7-radio .wpcf7-list-item-label:after {
	display: block;
	width: 0.6em;
	height: 0.6em;
	background: #4d4d4d;
	position: absolute;
	top: 50%;
	left: 0.6em;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

/* checkbox */

.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
	width: 1.1em;
	height: 1.1em;
	border-radius: 2px;
	vertical-align: -0.2em;
}

.wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item-label:after {
	display: block;
	width: 1.1em;
	height: 0.6em;
	border-style: solid;
	border-width: 0 0 3px 3px;
	border-color: #4d4d4d;
	border-radius: 1px;
	position: absolute;
	top: 40%;
	left: 0.2em;
	-webkit-transform: translate(0,-50%) rotate(-45deg);
	-ms-transform: translate(0,-50%) rotate(-45deg);
	transform: translate(0,-50%) rotate(-45deg);
}

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

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

article:not(:last-child),
section:not(:last-child),
aside:not(:last-child) { margin-bottom: 40px; }

/*main,
.layout-right .sidebar,
.layout-left .sidebar { padding-bottom: 40px; }*/

.layout-right .sidebar,
.layout-left .sidebar { margin-top: 40px; }

.home.blog .layout-full main { padding-bottom: 0; }

.center-box,
.center-box-l,
.center-box-s {
	margin-left: 3%;
	margin-right: 3%;
}

.center-box .center-box-s { margin: 0; }

.center-box { max-width: 1080px; }

.center-box-s { max-width: 728px; }

.center-box-l { max-width: 1600px; }

/*.primary-wrap {
	margin-top: 40px;
	margin-bottom: 40px;
}*/

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

	/*main,
	.layout-right .sidebar,
	.layout-left .sidebar { padding-bottom: 80px; }*/

	.center-box-s,
	.center-box .center-box-s {
		margin-left: auto;
		margin-right: auto;
	}
}

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

	.layout-right .sidebar,
	.layout-left .sidebar { margin-top: 0; }

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

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

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

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

	.layout-right .sidebar { margin-left: 4.815%; }

	.layout-left .sidebar { margin-right: 4.815%; }


	.layout-full,
	.seminar-lp { width: 100%; }

	/*.primary-wrap {
		margin-top: 80px;
		margin-bottom: 80px;
	}*/
}

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

	.center-box {
		margin-left: auto;
		margin-right: auto;
	}
}

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

	.center-box-l {
		margin-left: auto;
		margin-right: auto;
	}
}

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

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

#site-footer {
	position: absolute;
	bottom: 0;
	width: 100%;
}

/*印刷用、フッター重なり防止*/

@media print {

	#wrapper { padding-bottom: 0 !important; }

	#site-footer {
		position: relative;
		bottom: 0;
		width: auto;
	}
}


/* プライマリー メインブロックカラー関連
---------------------------------*/

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

.home .primary-wrap { padding-top: 40px; }

.primary-wrap.home-widget-set.layout-full { padding: 0; }

.mainblocks {
	padding-right: 3%;
	padding-left: 3%;
}

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

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

	.home .primary-wrap { padding-top: 80px; }

	.mainblocks {
		padding-right: 16px;
		padding-left: 16px;
	}
}

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

	.mainblocks {
		padding-right: 24px;
		padding-left: 24px;
	}
}

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

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

.clearfix:before,
.clearfix > .wp-block-group__inner-container:before,
.clearfix:after,
.clearfix > .wp-block-group__inner-container:after {
	content: " ";
	display: table;
	clear: both;
}

.clearfix { *zoom: 1; }


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

/* メディア関連 */

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

figure img,
figure .alignnone,
figure .alignright,
figure .aligncenter,
figure .alignleft,
figure .wp-video { margin-bottom: 0; }

.wp-block-media-text { margin-bottom: 1em; }

/* グーテンベルグ対応	*/

.alignwide,
.alignfull { max-width: none; }

.alignfull { margin: 0 -3%; }

.wp-block-cover { width: auto; }

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

	.alignleft,
	.wp-block-image > .alignleft,
	.alignrigh,
	.wp-block-image > .alignright {
		float: none;
		margin: 0 auto;
	}

	.wp-block-media-text .wp-block-media-text__media { margin-bottom: 0.5em; }

	.wp-block-media-text .wp-block-media-text__content { padding: 0; }
}

/* 動画*/

.mejs-inner { position: relative; }

.mejs-layers {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

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

	.alignwide {
		max-width: 95vw;
		margin: 0 calc( 50% - 95vw/2 ) 1em;
	}

	.wp-block-media-text.alignwide { margin: 0 0 1em; }

	.alignfull {
		margin: 0 calc( 50% - 50vw ) 1em;
	}
}

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

	.alignwide {
		max-width: 1080px;
		margin: 0 calc( 50% - 1080px/2 ) 1em;
	}

	/*.alignfull { margin: 0 calc( 50% - 50vw ) 1em; }*/
}


/* 画像キャプション*/

.wp-caption {
	display: block;
	max-width: 100%;
}

.wp-caption-text,
.gallery-caption {
	font-size: 0.8em;
	line-height: 1.4;
	text-align: left;
	display: block;
	margin-top: 0.5em;
}

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

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

/* ギャラリー */

ul.wp-block-gallery { margin-left: 0; }

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

	.contents .alignnone,
	.contents .alignleft,
	.contents .alignright,
	.contents .aligncenter {
		margin-top: 0.5em;
		margin-bottom: 0.5em
	}

	.wp-caption { max-width: 728px; }
}

/* グループ関連 */

.wp-block-group.has-background  {
	padding: 1em;
}

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

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

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

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

.text-bold { font-weight: 700; }

.text-normal { font-weight: 400; }

.text-mincho { font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }/*YakuHanMP, */

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

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

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

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

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

.wbf-Frl { font-family: 'Frank Ruhl Libre', serif; }

/* "Font Awesome 5 Free"設定*/

.fa5:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.2em;
}

.fa5-phone:before { content: '\f095'; }

.fa5-fax:before { content: '\f1ac'; }

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

.text-black { color: #000 !important; }

.text-red { color: #f00 !important; }

.text-yellow { color: #ff0 !important; }

.text-shadow { text-shadow: 1px 1px 1px rgba( 0,0,0,0.3 ); }

/* テキスト送り設定
-------------------------------*/

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

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

.lh-20 { line-height: 2 !important; }


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

.text06 { font-size: 0.6em !important; }

.text07 { font-size: 0.7em !important; }

.text08 { font-size: 0.8em !important; }

.text09 { font-size: 0.9em !important; }

.text110 { font-size: 1.1em !important; }

.text120 { font-size: 1.2em !important; }

.text130 { font-size: 1.3em !important; }

.text140 { font-size: 1.4em !important; }

.text150 { font-size: 1.5em !important; }

.text160 { font-size: 1.6em !important; }

.text180 { font-size: 1.8em !important; }

.text200 { font-size: 2em !important; }

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

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

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

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

.indent_-1 {
	padding-left: 1em !important;
	text-indent: -1em;
}


/* 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;}

/* 1文字目文字空け*/

.fls-1:first-letter { letter-spacing: 1em; }

.fls-2:first-letter { letter-spacing: 2em; }


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

br.mb-br,
.mb-br br { display: inline; }

br.pc-br,
.pc-br br { display: none; }

/* 改行無し*/
.br-none br,
.br-none1st br:first-child,
.br-nonelast br:last-child { display: none;}

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

	br.mb-br,
	.mb-br br { display: none; }

	br.pc-br,
	.pc-br br { display: inline; }
}

/* テキストhidden
-------------------------------*/

.text-hidden { overflow: hidden; }


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

.dis-none { display: none; }

/* spanブロック
-------------------------------*/

.sp-block,
.mb-sp-block  { display: block; }

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

	.mb-sp-block { display: inline; }

	.pc-sp-block { display: block; }
}

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

.contents .note,
.p-indent .note p,
.p-indent p.note  {
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.4;
}

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

.search-excerpt { background: #ff0; }

/* 記事編集リンク
-------------------------------*/

.edit-link {
	text-indent: 0;
	text-align: center;
}

/* テキストアンダーライン
-------------------------------*/

.uline-s,
.uline-d { padding-bottom: 0.3em; }

.uline-s { border-bottom: 1px solid; }

.uline-d { border-bottom: 1px dotted; }

/* マーカー */

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


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

/* リストスタイルクリア
-------------------------------*/
nav ul,
ul.bread_crumb,
.ul-none,
.ol-none,
.link-list ul,
.link-list ol {
	list-style: none !important;
	padding: 0;
	margin: 0;
}

.style-none {
	list-style: none;
	padding-left: 0.5em;
}


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

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

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

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


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

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

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

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

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

.contents > ul > li,
.content-bodywrap > ul > li,
.contents > ol li,
.content-bodywrap > ol > li { margin-bottom: 0.5em; }


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

/* リンクリスト */

.link-list > li,
.link-list > ul > li,
.widget_nav_menu.link-list ul > li {
	padding-left: 1em;
	line-height: 1.4;
}

.link-list > ul li:not(:last-child),
.widget_nav_menu.link-list ul > li:not(:last-child) { margin-bottom: 0.3em; }

.link-list > ul li .children { margin-top: 0.3em; }

.link-list > ul > li > .children { margin-left: -0.25em; }

.link-list > li:before,
.link-list > ul > li:before,
.widget_nav_menu.link-list ul > li:before { margin-left: -1em; }

.link-list > li:before,
.link-list > ul > li:before,
.widget_nav_menu.link-list ul > li:before,
.btn-tx > a:before {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-right: 0.2em;
	vertical-align: 0.1em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	/*content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.2em;*/
}

/* チェックリスト */

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

.checklist-fa > li:before {
	content: "\f14a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-weight: 400;
	padding-right: 0.2em;
}

/* cssチェックリスト */

.checklist-css {
	list-style: none;
	margin-left: 0;
}

.checklist-css > li {
	line-height: 1.5;
	position: relative;
}

.checklist-css > li:not(:last-child) { margin-bottom: 0.8em; }

.checklist-css > li:before,
.checklist-css > li:after {
	content: '';
	display: inline-block;
}

.checklist-css > li:before {
	width: 1em;
	height: 1em;
	border: 2px solid;
	border-radius: 2px;
	background: #fff;
	margin: 0 0.5em 0 -1.5em;
	vertical-align: -0.1em;
}

.checklist-css > li:after {
	width: 1em;
	height: 0.5em;
	border-style: solid;
	border-width: 0 0 3px 3px;
	border-radius: 1px;
	position: absolute;
	top: 0.3em;
	left: -1.3em;
	-webkit-transform: rotate( -45deg );
	-ms-transform: rotate( -45deg );
	transform: rotate( -45deg );
}

/* olリナンバリング */

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

.renumber-list > li { counter-increment: re-number; }

.renumber-list > li > h3:before,
.renumber-list > li > h4:before,
.renumber-list > li > h5:before,
.renumber-list > li > h6:before  {
	content: counter(re-number)'.';
	display: inline-block;
}


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

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

.loop-article .btn-tx { text-align: right; }

.btn-tx a,
a.btn-tx{
	font-size: 0.875em;
	line-height: 2;
	display: inline-block;
	padding: 0 0.6em;
	border: 1px solid;
	border-radius: 2px;
	background: #fff;
}

.btn-tx a:hover,
a:hover.btn-tx  {
	color: #fff !important;
	text-decoration: none;
	background: #4169e1;
}


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

.flow > li:after,
.flow-s > li:after {
	content: '';
	display: block;
	margin: 0 auto 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #ccc transparent transparent;
}

.flow > li:after { border-width: 24px 36px; }

.flow-s > li:after { border-width: 16px 20px; }

.flow > li:last-child:after,
.flow-s > li:last-child:after { content: none;}

/* ボックス型 */

.flow-box.flow > li,
.flow-box.flow-s > li {
	padding: 16px 8px;
	background: #fff;
	box-shadow: 0 0 1px rgba( 0,0,0,0.3 );
	position: relative;
}

.flow-box.flow > li:not(:last-child) {
	margin-bottom: 56px;
}

.flow-box.flow-s > li:not(:last-child) {
	margin-bottom: 40px;
}

.flow-box.flow > li:after,
.flow-box.flow-s > li:after {
	position: absolute;
	left: 50%;
	-webkit-transform: translate( -50%,0 );
	-ms-transform: translate( -50%,0 );
	transform: translate( -50%,0 );
}

.flow-box.flow > li:after { top: calc( 100% + 12px ); }

.flow-box.flow-s > li:after { top: calc( 100% + 12px ); }

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

	.flow-box.flow > li {
		padding: 16px;
	}
}

/* リンク矢印 */

.link-arrow-l > a:before,
a.link-arrow-l:before,
.link-arrow-r > a:after,
a.link-arrow-r:after {
	content: '';
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	margin: 0.4em;
	vertical-align: -0.42em;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-radius: 1px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}


/*---------------------------------------
　dl関連
---------------------------------------*/

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

.dl-float { margin: 0; }

.dl-float > dt { font-weight: 700; }

.dl-float > dd { margin-bottom: 1em; }

.dl-float > dd:last-child { margin-bottom: 0; }

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

	.dl-float > dt {
		float: left;
		margin-right: 0.5em;
	}

	.dl-float > dd {
		display: block;
		overflow: hidden;
	}
}

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

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

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

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

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

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

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

}

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

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

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

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

.box,
.wh-box,
.fr-box,
.fr-box-r { padding: 16px; }

.wh-box {
	background: #fff;
	border-radius: 2px;
}

/* フレーム */

.fr-box,
.fr-box-r,
.frame {
	border-style: solid;
	border-width: 1px;
}

.fr-box-r { border-radius: 8px; }

.frame img { margin: 0; }

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

	.contents .wh-box,
	.contents .box,
	.contents .fr-box { padding: 24px; }
}

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

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


/*コーナー裁ち落とし */

.corner-cut { position: relative; }

.corner-cut:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px;
	border-color: transparent #fff #fff transparent;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 10;
}


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

/* 背景 */

.bg-white { background: #fff; }

.bg-lgray { background: #f5f5f5; }

.bg-lbeige { background: #f3eee5; }

.bg-lyellow { background: #f5f4e6; }

/* フレーム */

.fr-lgray { border-color: #ccc; }


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

.flex-box,
.flex-box > .wp-block-group__inner-container {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flex-jus-j,
.flex-jus-j > .wp-block-group__inner-container {
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex-item-c,
.flex-item-c > .wp-block-group__inner-container {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.flex-wrap,
.flex-wrap > .wp-block-group__inner-container {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex-auto,
.flex-auto > .wp-block-group__inner-container {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

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

	.pcflex-box,
	.pcflex-box > .wp-block-group__inner-container {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.pcflex-box > .wp-block-group__inner-container .wp-block-group:not(:last-child) { margin-right: 1.5em; }

	.flex-autokeep,
	.flex-autokeep > .wp-block-group__inner-containe {
		-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}
}


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

.float-L { float: left }

.float-R { float: right }

.float-C { clear: both }


/* ポジション関連
-------------------------------*/
.relative { position: relative; }


/* ブロック横並び
-------------------------------*/

.sideby-side02,
.sideby-side03,
.sideby-side04 {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sideby-side02:after,
.sideby-side03:after,
.sideby-side04:after {
	content: "";
	display: block;
	clear: both;
}

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

	.sideby-side02,
	.sideby-side03,
	.sideby-side04 {
		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;
	}

	.sideby-side02 > li,
	.sideby-side02 > p { width: 48.235% !important; }

	.sideby-side03 > li,
	.sideby-side03 > p { width: 30.98% !important; }

	.sideby-side04 > li,
	.sideby-side04 > p { width: 22.36% !important; }
}


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

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

.mg-t0 { margin-top: 0 !important; }

.mg-t8 { margin-top: 8px !important; }

.mg-t16 { margin-top: 16px !important; }

.mg-t32 { margin-top: 32px !important; }

.mg-t40 { margin-top: 40px !important; }

.mg-t80 { margin-top: 40px !important; }

.mg-b0 { margin-bottom: 0 !important; }

.mg-b8 { margin-bottom: 8px !important; }

.mg-b16 { margin-bottom: 16px !important; }

.mg-b32 { margin-bottom: 32px !important; }

.mg-b40 { margin-bottom: 40px !important; }

.mg-b56 { margin-bottom: 56px !important; }

.mg-b80 { margin-bottom: 80px !important; }

.mg-tb0 { margin: 0 !important; }

.mg-tb16 { margin: 16px 0 !important; }

.mg-tb32 { margin: 32px 0 !important; }

.mg-tb40 { margin: 40px 0 !important; }

.mg-l0 { margin-left: 0 !important; }

.mg-l1 { margin-left: 1em !important; }


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

.pd-t0 { padding-top: 0;}

.pd-tb40 { padding: 40px 0; }

.pd-tb56 { padding: 56px 0; }


/*========================================================
　ウィジェット類 基本設定
========================================================*/

/* 基本設定 */

.widget-container:not(:last-child) { margin-bottom: 16px; }

.widget-title { font-size: 1.125em; }

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

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

.widget_search form div {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.widget_search input[type="submit"] {
	font-size: 1em;
	line-height: 1;
	padding: 0.1em 1em;
	margin: 0 0 0 0.5em;
}

/* searchform 設定
----------------------------*/

.search-form {
	position: relative;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.search-submitbtn {
	color: #999;
	padding: 0 4px;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	background: none;
	position: absolute;
	right: 8px;
	top: 50%;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translateX(0) translateY(-50%);
	transform: translate(0,-50%);
}

.search-submitbtn i { font-size: 1.3em; }

.search-submitbtn:hover {
	color: #4d4d4d;
	background: none;
}


/*ウィジェット カレンダー
----------------------------*/


/* ギャラリー
----------------------------*/

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

.widget_media_gallery .gallery figure { margin: 0; }


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

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

.site-head,
.site-footer,
.sidebar {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

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

.site-head { padding-top: 48px; }

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

/* サイトタイトル */

.site-title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.3em;
}

.site-descri {
	font-weight: 400;
	font-size: 1rem;
	display: block;
	margin: 0 0 0.3em;
}


/* ロゴテキスト組合せ */

.home .site-title.logo-left,
.site-title.logo-left a {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.site-title.logo-left {
	text-align: left;
}

.site-title.logo-left img {
	width: auto;
	max-height: 2.2em;
	margin-right: 0.3em;
	vertical-align: middle;
}


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

	.site-head { padding-top: 0; }

	.head-contents {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.head-contents.headwidg-on {
		text-align: left;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	/*.headwidg-on .head-branding { width: 40%; }*/

	.head-branding .site-title {
		line-height: 1.2;
		margin: 0;
	}
}

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

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

/*.mean-bar { background: rgba( 255,255,255,0.85 ); }*/

.mean-bar a.meanmenu-reveal { background: rgba( 255,255,255,0.8 ); }

.mean-bar a.meanmenu-reveal.meanclose:after { background: rgba( 255,255,255,0.9 ); }

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

.mean-bar a.meanmenu-reveal.meanclose + .mean-nav { border-bottom: 1px solid rgba( 0,0,0,0.2 );}

/*.mean-nav a:hover,
.mean-nav .main-menu > li:hover > a,
.mean-nav .main-menu > li:hover li:hover > a,
.mean-nav .main-menu li:hover ul li ul li:hover a {
	color: #fff;
	background: #2e416e;
}*/

@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;
		/*left: 10px !important;*/
		padding: 3px 8px;

	}

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

	/* Font Awesome メニュー 版 */

	/*.mean-bar a.meanmenu-reveal:before {
		content: "\f0c9";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 32px;
		display: block;
	}

	.mean-bar a.meanmenu-reveal.meanclose:before { content: "\f00d"; }

	.mean-bar a.meanmenu-reveal.meanclose:after {
		content: '';
		display: block;
		height: 48px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
	}*/

	/* 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);
	}



	/*.meanmenu-reveal span:nth-child(1) { top: 14px; }

	.meanmenu-reveal span:nth-child(2) { top: 23px; }

	.meanmenu-reveal span:nth-child(3) { top: 32px; }*/


	/* 最初のspanをマイナス45度に */
	/*.meanmenu-reveal.meanclose span:nth-child(1) {
		top: 23px;
		left: 8px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}*/

	/* 2番目と3番目のspanを45度に */
	/*.meanmenu-reveal.meanclose span:nth-child(2) { display: none; }
	.meanmenu-reveal.meanclose span:nth-child(3) {
		top: 23px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}*/


	/* メニュー本体 */

	.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: 0.8em 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;
		border-right: 1px solid rgba(255,255,255,0.5);
		padding: 0.64em 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) {

	/*メニュー ベースカラー*/

	/*.main-nav {
		border-top: 1px solid #eee;
		border-bottom: 1px solid #eee;
	}

	.main-menu a:hover {
		color: #fff;
		text-decoration: none;
	}

	.main-menu ul.sub-menu { background: rgba( 255,255,255,0.9 ); }

	.main-menu a:hover,
	.main-menu ul.sub-menu li:hover a:hover { background: #191c3c; }*/

	/* 第1階層 */

	nav.main-menu > ul,
	ul.main-menu {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.main-menu li {
		line-height: 1.4;
		text-align: center;
		margin: 0;
		padding: 0;
		height: 3em;
		position: relative;
		-moz-transition: 0.2s;
		-o-transition: 0.2s;
		-webkit-transition: 0.2s;
		-ms-transition: 0.2s;
		transition: 0.2s;
	}

	.main-menu li,
	.main-menu a {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.main-menu a {
		width: 100%;
		height: 100%;
		padding: 0 1em;
		position: relative;
		-ms-transition: 0.2s;
		-o-transition: 0.2s;
		transition: 0.2s;
	}


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

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

	.main-menu > li.menu-item-has-children > a:after {
		content: '';
		width: 0;
		height: 0;
		display: block;
		border: 4px solid transparent;
		margin: 4px 0 0 0.2em;
	}

	/* 第2階層 */

	.main-menu li ul.sub-menu {
		position: absolute;
		z-index: 100;
		top: 100%;
		left: 0;
		width: 110%;
	}

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

	.main-menu ul.sub-menu li {
		overflow: hidden;
		width: 100%;
		min-height: auto;
		height: 0;
		-o-transition: 0.2s;
		-ms-transition: 0.2s;
		transition: 0.2s;
	}

	.main-menu li:hover > ul.sub-menu > li {
		overflow: visible;
		height: 3em;
	}

	.main-menu ul.sub-menu a { padding: 0 0.8em; }

	/* 第３階層*/

	.main-menu li ul.sub-menu li ul.sub-menu {
		top: 0;
		left: 100%;
	}

	.main-menu > li:last-child ul.sub-menu li ul.sub-menu {
		left: -100%;
	}

	.main-menu li ul ul.sub-menu:before {
		content: "";
		width: 0;
		height: 0;
		border: 5px solid transparent;
		position: absolute;
		top: 1.5em;
		left: -8px;
		-webkit-transform: translate(0,-50%);
		-ms-transform: translate(0,-50%);
		transform: translate(0,-50%);
	}

	.main-menu > li:last-child ul ul.sub-menu:before {
		left: auto;
		right: -8px;
	}

	/* サブボーダーカラー */

	.main-menu > li:hover > ul.sub-menu a {
		border-top: 1px solid rgba( 255,255,255,0.3 );
	}

	.main-menu li:hover > ul.sub-menu > li:last-child {
		border-bottom: 1px solid rgba( 255,255,255,0.3 );
	}

	.main-menu li ul.sub-menu li:hover > ul.sub-menu a {
		border-left: 1px solid rgba( 255,255,255,0.3 );
	}

	.main-menu > li:last-child ul.sub-menu li:hover > ul.sub-menu a {
		border-left: none;
		border-right: 1px solid rgba( 255,255,255,0.3 );
	}

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

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

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

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

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

/* フッター コンテンツ */

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

.foot-nav {
	padding-left: 1em;
	margin-bottom: 2em;
}

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

.show-footcompany {
	font-size: 1.2em;
	font-weight: 700;
}

.footadd-ul >li >span { display: block; }

.foot-widg-area { margin-top: 40px; }

.copyright {
	font-size: 13px;
	font-size: 0.8125rem;
	text-align: center;
	margin: 0;
	padding: 0 0 0.3em;
}

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

	.foot-contents {
		text-align: center;
		padding: 32px 0;
	}

	.foot-menu > li { display: inline-block; }

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

	.footadd-ul .f-add br { display: none; }
}

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

.page-top {
	width: 40px;
	height: 40px;
	position: fixed;
	z-index: 9999;
	right: 4%;
	bottom: 16px;
}

.page-top a {
	text-align: center;
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	-webkit-transition: 1s;
	transition: 1s;
	border-radius: 50%;
	background: #999;
	opacity: 0.5;
	filter: alpha(opacity=50);
}

.page-top a:before {
	content: '';
	display: block;
	width: 40%;
	height: 40%;
	border-style: solid;
	border-width: 3px 3px 0 0;
	border-color: #fff #fff transparent transparent;
	border-radius: 1px;
	position: absolute;
	top: 38%;
	left: 50%;
	-webkit-transform: translate(-50%) rotate(-45deg);
	-ms-transform: translate(-50%) rotate(-45deg);
	transform: translate(-50%) rotate(-45deg);
}

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

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

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

	.page-top {
		width: 50px;
		height: 50px;
		right: 24px;
		bottom: 48px;
	}

	.page-top .fas { font-size: 46px; }
}

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

.foot-contact {
	text-align: center;
	padding: 40px 1em;
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

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

.foot-contact,
.site-footer .foot-contact a:not(:hover),
.site-footer .foot-contact a:hover  { color: #fff; }

.foot-contact p {
	text-indent: 0;
	position: relative;
	z-index: 100;
}

.foot-contact a {
	font-family: 'Open Sans', sans-serif;
	font-size: 1.25em;
	line-height: 1;
	display: inline-block;
	letter-spacing: 1px;
	border: 1px solid;
	padding: 0.4em 1em;
	margin-bottom: 0.5em;
}

.foot-contact a:hover {
	text-decoration: none;
	background: #ccc;
	border-color: #ccc;
}

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

	.foot-contact { padding: 56px 0; }

	.foot-contact p {
		font-size: 24px;
		font-size: 1.5em;
	}
}



/*========================================================
　ウィジェット サイドバー 設定
========================================================*/

.widget-title {
	padding: 0 0 0.2em;
	border-bottom: 1px solid #eee;
}


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

.sidebar .widget-container {
	max-width: 300px;
	margin: 0 auto 40px;
}

.sidebar .widget-container:last-child { margin-bottom: 0; }

.sidebar .widget_nav_menu > div,
.sidebar .widget-title + div + ul  { padding: 0 0 0 8px; }

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

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

	.sidebar .widget-container {
		width: 300px;
		margin: 0 auto 40px;
	}
}


/* フルレイアウト
------------------------*/

.full-side { padding-top: 40px; }

.full-side.mainblocks-side { padding-top: 0; }

.full-side.mainblocks-side .mainblocks {padding-top: 40px; }

.layout-right .full-side,
.layout-left .full-side {
	background: none;
	padding: 0;
}

.full-side .widget-container.widget_media_image,
.full-side .widget-container.widget_media_video {
	padding: 0;
	background: none;
}

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

	.full-sidebox {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
	}

	.full-sidebox .widget-container {
		/*width: 29.33%;*/
		margin: 0 2% 40px;
	}
}



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

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

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

.bread-crumb-wrap {
	padding: 16px 0 40px;
}

.bread-crumb {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.2;
	padding: 0;
	margin: 0;
}

.bread-crumb li:before,
.bread-crumb li:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.bread-crumb li {
	display: inline-block;
	line-height: 1.2;
}

.bread-crumb li.top:before {
	content: "\f015";
	padding-right: 0.2em;
}

.bread-crumb li:not(:last-child):after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.4em;
	border-color: transparent transparent transparent #999;
	margin: 0 -0.3em 0 0.5em;
}

.bread-crumb li:last-child {
	max-width: 20em;
	overflow: hidden;
	white-space: nowrap;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	vertical-align: bottom;
}

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

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

	.bread-crumb-wrap { padding: 32px 0 40px; }
}

@media screen and ( min-width: 980px )  {
	.bread-crumb-wrap {
		width: 100%;
		-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}
}

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

.contents figure { margin-bottom: 1em; }

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

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

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

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

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

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

	.contents > ul > li,
	.contents > ol > li { margin-bottom: 0.5em; }
}

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

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

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

.layout-full .contents-head { text-align: center; }

.entry-title { margin: 0; }

.post-meta {
	font-size: 0.875em;
	margin-top: 0.5em;
}

.post-meta > span:not(:last-child) { margin-right: 0.5em; }


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

.cat-desc:before,
.cat-desc:after {
	content: '';
	display: table;
	clear: both;
}

.cat-desc,
.layout-full .new-cat-section.center-box-s { margin-bottom: 40px; }



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

.loop-article { position: relative; }

.loop-article:not(:last-child) {
	padding-bottom: 16px;
	border-bottom: 1px dotted;
	margin-bottom: 16px;
}

.loop-article.sticky {
	border-bottom: none;
	margin-bottom: 32px;
}

.loop-head p { text-indent: 0; }

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

.loop-meta { margin-bottom: 1em; }


/* サムネイル設定 */

.thum-box {
	text-align: center;
	width: 100%;
	overflow: hidden;
	padding-top: 66%;
	margin: 0 auto 1em;
	position: relative;
	/*background: #f5f5f5;*/
}

.thum-box img {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: auto;
}

/*.thum-box img.img-width {
	max-width: none;
	width: 100%;
}

.thum-box img.img-height {
	-webkit-transform: translate(-50%, -36%);
	-ms-transform: translate(-50%, -36%);
	transform: translate(-50%, -36%);
}

.thum-box img.ratio {
	max-width: none;
	width: auto;
	height: 100%;
}*/

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

	.loop-article.flex-article .loopflex-ctr {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.new-cat-section .loop-article.flex-article .loopflex-ctr { display: block; }

	.thum-box {
		width: 30%;
		margin: 0 1em 0 0;
		-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		padding-top: 0;
		height: 160px;
	}

	.semi-end-section .thum-box { height: auto; }

	.semi-article .thum-box {
		padding-top: 0;
		height: auto;
	}

	.new-cat-section .thum-box {
		width: 100%;
		padding-top: 66%;
		margin: 0 0 1em;
	}

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





	/*.loop-article .loop-head,
	.loop-article .loop-txt { overflow: hidden; }*/

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

	/*.thum-box {
		width: 30%;
		padding-top: 22.5%;
		max-height: none;
		float: left;
		margin: 0 1em 0 0;
	}

	.new-cat-section .thum-box {
		width: 100%;
		padding-top: 66%;
		margin: 0 0 1em;
		float: none;
	}*/
}

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

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

.single-meta { margin-bottom: 40px; }


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

.post-nav-links {
	text-align: center;
}

.post-nav-links .post-page-numbers {
	padding: 0.1em 0.5em;
	margin: 0 3px;
	background: #fff;
	border: 1px solid #eee;
}

/*.post-nav-links .post-page-numbers.current,
.post-nav-links a:hover.post-page-numbers {
	color: #fff;
	background: #999;
	text-decoration: none;
}*/


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

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

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

.single-nav-left {
	float: left;
	margin-left: 0.8em;
}

.single-nav-right {
	float: right;
	margin-right: 0.8em;
}

.single-nav-left a:before,
.single-nav-right a:after {
	content: '';
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-style: solid;
	border-width: 2px;
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0.35em;
}

.single-nav-left a:before {
	border-top-color: transparent;
	border-right-color: transparent;
	border-top-width: 0;
	border-right-width: 0;
	margin-left: -0.8em;
	left: 0;
}

.single-nav-right a:after {
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-bottom-width: 0;
	border-left-width: 0;
	margin-right: -0.8em;
	right: 0;
}

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

	.single-nav li { max-width: 36%; }
}

/* コンテンツタグリスト
-------------------------------*/

.tag-box {
	margin: 2em 0;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	background: #f5f5f5;
	padding: 8px;
}

.tag-box h6,
.contents-taglist {
	font-size: 16px;
	font-size: 0.9417rem;
	line-height: 1.4;
}

.tag-box h6 {
	margin: 0 0.5em 0 0;
}

.contents-taglist {
	list-style: none;
	margin: 0;
	padding: 0;
	/*background: #f5f5f5;*/
}

.contents-taglist li {
	display: inline-block;
	margin-right: 0.5em;
}

.contents-taglist li:before { content: '# '; }

/* シングル 追加セクション
-------------------------------*/

.added-section { margin-top: 40px; }

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

.form-box { padding: 16px 8px; }

table.form-table,
.form-transmit p {
	font-size: 15px;
	font-size: 0.9375rem;
}

table.form-table {
	width: 100%;
	border-top: none;
	margin-bottom: 16px;
}

table.form-table th,
table.form-table td {
	border-bottom: none;
}

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

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

input[type="number"],
.form-s input[type="text"],
.form-s input[type="date"],
.form-s input[type="date"],
.form-s select { max-width: 8em; }

input[type="date"] { width: 12em; }

.form-ss input[type="text"],
.form-ss input[type="date"],
.form-ss input[type="number"] { max-width: 4em; }

.btn-line { text-align: center; }

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

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

	.form-box { padding: 24px; }

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

	table.form-table th {
		width: 9.5em;
		padding-right: 0.5em;
		letter-spacing: 0;
	}

	.form-transmit .acceptCheck { float: left; }

	.btn-line { float: right; }

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

/* 表示切替え */

.wpcf7-form .conf-in,
.wpcf7-form.custom-wpcf7c-confirmed .conf-none { display: none; }

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

/* 確認画面 */

.wpcf7c-conf,
input[type="text"].wpcf7c-conf,
input[type="email"].wpcf7c-conf,
input[type="tel"].wpcf7c-conf,
input[type="number"].wpcf7c-conf  {
	background-color: transparent;
	color: #3e3a39;
	border: none;
	box-shadow: none;
}

input[type="button"].wpcf7c-btn-back {
	color: #3e3a39;
	background: rgb(246,248,249);
	background: -moz-linear-gradient(top,  rgba(246,248,249,1) 0%, rgba(215,222,227,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(246,248,249,1) 0%,rgba(215,222,227,1) 100%);
	background: linear-gradient(to bottom,  rgba(246,248,249,1) 0%,rgba(215,222,227,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#d7dee3',GradientType=0 );
	margin-right: 1em;
}

input[type="button"].wpcf7c-btn-back:hover { background: #d7dee3; }


/*========================================================
　新着情報リスト基本
========================================================*/


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

.news-all-list > li {
	padding: 0.5em 1em 0.5em 0.5em ;
	border-bottom: 1px dotted;
	position: relative;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}

.contents > .news-all-list li,
.content-bodywrap > .news-all-list li { margin: 0; }

.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-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;
	background: #aaa;
}

.news-all-list .title-link { display: block; }

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

	.news-all-list > li {
		padding: 0.8em 1em 0.8em 0.5em ;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.news-all-list .title-link {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}

	.news-all-list .cat-links { margin-right: 1em; }
}

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

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

.top-visual,
.top-visual > .center-box { position: relative; }

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

/*.home .primary-wrap { padding-top: 40px; }*/

/* スライダー
------------------------------------*/

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

.slide-ul li { position: relative; }

.slide-txt {
	font-size: 16px;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.4;
	display: block;
	text-align: center;
}

img + .slide-txt {
	color: #fff;
	text-shadow: 0 0 2px rgba(25,28,60,1),0 0 3px rgba(25,28,60,1),0 0 3px rgba(25,28,60,1);
	position: absolute;
	width: 100%;
	top: 50%;
	-webkit-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

.slide-txt.sltx-right,
.slide-txt.sltx-left { width: 78%; }

.slide-txt.sltx-right {
	float: right;
	margin-right: 3%;
}

.slide-txt.sltx-left {
	float: left;
	margin-left: 3%;
}

img + .slide-txt.sltx-right,
img + .slide-txt.sltx-left { float: none; }

img + .slide-txt.sltx-right { right: 3%; }

img + .slide-txt.sltx-left { left: 3%; }

/*テキスト共通ボックス*/

.slide-txtcontainer {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translateX(0) translateY(-50%);
	transform: translate(0,-50%);
}

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

	.slide-txt {
		font-size: 32px;
		font-size: 2rem;
	}
}

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


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

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: #000 }

.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: #000;
}


/* ホームウィジェット
------------------------------------------*/

.contents >.home-widget.widget-container { margin-bottom: 40px; }

.home-widget .widg-header {
	text-align: center;
	margin-bottom: 1em;
}

.home-widget-title { margin: 0; }

.widg-subtitle {
	font-size: 1rem;
	font-weight: 400;
	text-indent: 0 !important;
	display: block;
}

.widg-descri { margin-bottom: 1em; }

/* ウィジェットフッター */

.widg-list-link {
	text-align: center;
	margin-top: 1em;
}

.contents .widg-list-link { text-indent: 0; }

.widg-list-link a {
	font-size: 14px;
	font-size: 0.875rem;
}

.widg-list-link a:before {
	content: "\f03a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.2em;
}


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

	.home-widget .loop-article:first-of-type .thum-box,
	.layout-full .home-widget .loop-article .thum-box {
		width: 40%;
		padding-top: 26.4%;
	}
}

/* fullレイアウト設定 */

.layout-full .home-widget {
	max-width: 1080px;
}

.layout-full .widgets-bg .home-widget { margin: 0 3%; }

.layout-full .widg-descri {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 1em;
}

.layout-full .widg-list-link a {
	padding: 0 8px;
	border: 1px solid;
	background: rgba(255,255,255,0.8);
}

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

	.layout-full .home-widget {
		margin-left: auto;
		margin-right: auto;
	}

	.layout-full .widgets-bg .home-widget { margin: 0 auto; }
}


/* 背景付き ウィジェット設定
---------------------------------*/

.widgets-bg { position: relative; }

.widgets-bg.bg-set .widget-container.wh-box {
	padding: 0;
	background: none;
	box-shadow: none;
}

.layout-full .widgets-bg {
	margin: 0;
	padding: 40px 0;
	overflow: hidden;
}

.widgets-bg .widget-container {
	position: relative;
	z-index: 1;
}

.widgets-bgset {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.layout-full .widgets-bg.bg-img:before {
	content: '';
	display: block;
	width: 100%;
	height: 8px;
	position: absolute;
	top: 0;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d000000', endColorstr='#00000000',GradientType=0 );
	z-index: 2;
}

.widgets-bg.bg-set .loop-article { border-bottom: none; }

.widgets-bg.bg-set .loop-article,
.widgets-bg.bg-set .widg-news-wrap {
	padding: 16px;
	background: rgba( 255,255,255,0.9 );
	box-shadow: 0 0 1px rgba( 0,0,0,0.3 );
	border-radius: 2px;
}

.layout-full .widgets-bg.bg-set .thum-box {
	width: calc( 100% + 32px );
	margin: -16px -16px 1em;
}

.bg-img .home-widget-title,
.bg-img .widg-subtitle,
.bg-img .widg-descri {
	text-shadow: 0 0 2px rgba(255,255,255,1),0 0 2px rgba(255,255,255,1),0 0 2px rgba(255,255,255,1),0 0 2px rgba(255,255,255,1),0 0 2px rgba(255,255,255,1),0 0 2px rgba(255,255,255,1),0 0 6px rgba(255,255,255,1),0 0 6px rgba(255,255,255,1),0 0 6px rgba(255,255,255,1);
}

.bg-img.tit-wh .home-widget-title,
.bg-img.tit-wh .widg-subtitle,
.bg-img.tit-wh .widg-descri {
	color: #fff;
	text-shadow: 0 0 2px rgba( 0,0,0,0.8);
}

/* 背景 固定*/

.widgets-bg.bg-img.bg-fix .widgets-bgset { background-attachment: fixed; }

/* 背景パターン */

.widgets-bg.bg-img.bg-ptn .widgets-bgset {
	background-attachment: scroll;
	background-size: auto;
	background-repeat: repeat;
}

.widgets-bg.bg-img.bg-ptn:before { content: none; }

/* 背景 斜めテスト */
/*
.widgets-bg {
	transform: skewY( -3deg );
}

.widgets-bg:nth-of-type(2) {
	transform: skewY( 3deg );
	margin-top: -80px;
}

.widgets-bg .widget-container,
.widgets-bg .widgets-bgset { transform: skewY( 3deg ); }

.widgets-bg:nth-of-type(2) .widget-container,
.widgets-bg:nth-of-type(2) .widgets-bgset { transform: skewY( -3deg ); }

.widgets-bg .widgets-bgset {
	top: -20%;
	height: 140%;
}*/

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

	.layout-full .widgets-bg { padding: 80px 3%; }

	.layout-full .widgets-bg.bg-set .loop-article,
	.layout-full .widgets-bg.bg-set .widg-news-wrap { padding: 24px; }

	.layout-full .widgets-bg.bg-set .thum-box {
		width: 40%;
		margin: -24px 1em -24px -24px;
	}
}

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

	.layout-full .widgets-bg { padding: 80px 0; }
}

/* 記事 横並び */

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

	.widg-row {
		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;
		width: 100%;
	}

	.widg-row .loop-article { width: 48%; }

	.widg-row .loop-article.thum-in { display: block; }

	.layout-full .home-widget .widg-row .loop-article .thum-box {
		width: 100%;
		padding-top: 66%;
		margin-right: 0;
		float: none;
	}

	/*.layout-full .widgets-bg.bg-set .widg-row .loop-article .thum-box {
		width: calc( 100% + 48px );
		margin: -24px -24px 1em;
		padding-top: calc( 66% + 24px );
	}*/

	.widg-row .loop-article:nth-last-child(2) {
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 0;
	}
}

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

	.widg-row {
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}

	.widg-row .loop-article {
		width: 32%;
		margin-right: 2%;
	}

	.widg-row .loop-article:nth-child(3n) { margin-right: 0; }

	.widg-row .loop-article:nth-last-child(3) {
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 0;
	}
}