@charset "utf-8";
/*
************************************************************************
 変数設定
************************************************************************
*/
:root {
	/* 基本フォント */
	--font-family-default:'Noto Sans JP';
	--font-family-accent:'Noto Serif JP';

	/* メインビジュアル */
    --mv-bg-blur :2px;
	--mv-bg-color :#FFFFFF;
	--mv-bg-alpha :0.3;
	--mv-bg-gradation :80%;
	--contents-bg-translate:0.2;
	--mv-font-color-default:#000000;
	--mv-font-color-sub:#000000;
	--mv-font-color-accent:#000000;
	
	/* ヘッダー */
	--header-background-color:#444444;
	--header-font-main-color:#FFFFFF;
	--header-font-sub-color:#999999;
	--header-icon-color:#FFFFFF;
	--header-border-color:#CCCCCC;

	/* グローバルナビ */
	--global-navi-background-color:#FFFFFF;
	--global-navi-font-main-color:#000000;
	--global-navi-font-sub-color:#666666;
	--global-navi-icon-color:#444444;
	--global-navi-border-color:#CCCCCC;

	/* コンテンツ */
	--contents-background-color:#FFFFFF;
	--contents-font-main-color:#000000;
	--contents-font-sub-color:#666666;
	--contents-icon-color:#444444;
	--contents-border-color:#CCCCCC;

	/* コンテンツ(囲み) */
	--contents-sub-background-color:#FFFFFF;
	--contents-sub-font-main-color:#000000;
	--contents-sub-font-sub-color:#666666;
	--contents-sub-icon-color:#444444;
	--contents-sub-border-color:#CCCCCC;

	/* アクセント */
	--accent-background-color:#FFFFFF;
	--accent-font-main-color:#000000;
	--accent-font-sub-color:#666666;
	--accent-icon-color:#444444;
	--accent-border-color:#CCCCCC;

	/* フッター */
	--footer-background-color:#FFFFFF;
	--footer-font-main-color:#000000;
	--footer-font-sub-color:#666666;
	--footer-icon-color:#444444;
	--footer-border-color:#CCCCCC;

	/* コピーライト */
	--copyright-background-color:#FFFFFF;
	--copyright-font-main-color:#000000;
	--copyright-font-sub-color:#666666;
	--copyright-icon-color:#444444;
	--copyright-border-color:#CCCCCC;

	/* 基本カラーリング */
	--main-background-color:#FF0000;
	--main-font-color:#FF0000;
	--main-font-sub-color:#FF0000;
	--main-icon-color:#FF0000;
	--main-border-color:#FF0000;

	/* 反転カラーリング */
	--inversion-background-color:#FF0000;
	--inversion-font-color:#FF0000;
	--inversion-font-sub-color:#FF0000;
	--inversion-icon-color:#FF0000;
	--inversion-border-color:#FF0000;

	/* セカンダリカラーリング */
	--secondary-background-color:#FF0000;
	--secondary-font-color:#FF0000;
	--secondary-font-sub-color:#FF0000;
	--secondary-icon-color:#FF0000;
	--secondary-border-color:#FF0000;


	--color-primary:#1877f2;
	--color-secondary:#78909c;
	--color-success:#00c853;
	--color-danger:#d32f2f;
	--color-warning:#ef6c00;
	--color-info:#039be5;
	--color-light:#FFFFFF;
	--color-dark:#37474f;
	--color-focus:#e3f2fd;

	--line-height:1.7;
	--border-radius:0.25em;
	--grid-margin:1.0em;
}


/*
************************************************************************
* レスポンシブ別表示切り替え
************************************************************************
*/
@media screen and (max-width:640px)
{
	.pc-visible  {display:none !important;}
	.pc-tab-visible  {display:none !important;}
	.tab-visible {display:none !important;}
	.sp-hide     {display:none !important;}
}
@media screen and (min-width:641px) and (max-width:1200px)
{
	.pc-visible  {display:none !important;}
	.tab-hide    {display:none !important;}
	.sp-visible  {display:none !important;}
}
@media screen and (min-width:1201px)
{
	.pc-hide     {display:none !important;}
	.tab-visible {display:none !important;}
	.sp-visible  {display:none !important;}
}

/*
***************************************************************
レイアウトショートカット
***************************************************************
*/
.ta-center{text-align: center;}
.ta-left{text-align: left;}
.ta-right{text-align: right;}

.ellipsis
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.of-hidden
{
	overflow: hidden;
}

.mb01{margin-bottom: 0.5em !important;}
.mb02{margin-bottom: 1.0em !important;}
.mt01{margin-top: 0.5em !important;}
.mt02{margin-top: 1.0em !important;}

.img{border-radius: var(--border-radius);}

/*
***************************************************************
フォント設定
***************************************************************
*/
.ff-base   {font-family: var(--font-family-default), sans-serif;}
.ff-accent {font-family: var(--font-family-accent), sans-serif;}

.fs-ss{font-size: 0.6em !important;}
.fs-s{font-size: 0.8em !important;}
.fs-m{font-size: 1.0em !important;}
.fs-l{font-size: 1.2em !important;}
.fs-ll{font-size: 1.4em !important;}
.fs-lll{font-size: 1.8em !important;}

.fw-bold{font-weight: bold;}

/*
***************************************************************
アイコン設定
***************************************************************
*/
i.material-icons-round
{
	font-size:1.2em;
	vertical-align: middle;
}
i.material-icons-round.icon-primary
{
	color: var(--color-primary);
}
i.material-icons-round.icon-secondary
{
	color: var(--color-secondary);
}
i.material-icons-round.icon-info
{
	color: var(--color-info);
}
i.material-icons-round.icon-success
{
	color: var(--color-success);
}
i.material-icons-round.icon-warning
{
	color: var(--color-warning);
}
i.material-icons-round.icon-danger
{
	color: var(--color-danger);
}

/*
***************************************************************
スクロールアニメーション
***************************************************************
*/
.chk-in-window > *
{
	opacity: 0.0;
}
.inited .chk-in-window:nth-child(odd).fade.isInWindow > *
{
	animation-name:fncScrollInFade;
	animation-delay:0.1s;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
.inited .chk-in-window:nth-child(even).fade.isInWindow > *
{
	animation-name:fncScrollInFade;
	animation-delay:0.1s;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
@keyframes fncScrollInFade
{
	0% {
		opacity:0;
		transform:translateY(2em);
	}
	100% {
		opacity:1;
		transform:translateY(0em);
	}
}
@keyframes fncScrollInSlideL
{
	0% {
		opacity:0;
		transform:translateX(-2.0em);
	}
	100% {
		opacity:1;
		transform:translateX(0%);
	}
}
@keyframes fncScrollInSlideR
{
	0% {
		opacity:0;
		transform:translateX(2.0em);
	}
	100% {
		opacity:1;
		transform:translateX(0%);
	}
}

/*
***************************************************************
アイコン設定
***************************************************************
*/
.material-icons-round
{
	font-size:1.4em;
	vertical-align: middle;
}
.material-icons-round.primary
{
	color: var(--color-primary);
}
.material-icons-round.secondary
{
	color: var(--color-secondary);
}
.material-icons-round.info
{
	color: var(--color-info);
}
.material-icons-round.success
{
	color: var(--color-success);
}
.material-icons-round.warning
{
	color: var(--color-warning);
}
.material-icons-round.danger
{
	color: var(--color-danger);
}
i.material-icons-round + span
{
	margin-left: 0.25em;
}

/*
***************************************************************
リンク
***************************************************************
*/
a.link
{
	vertical-align: middle;
}

/*
***************************************************************
ボディ
***************************************************************
*/
body
{
	background-color: var(--contents-background-color);
	color:var(--contents-font-main-color);
	line-height:var(--line-height);
	letter-spacing:0.15em;
}

/*
***************************************************************
グローバルヘッダ
***************************************************************
*/
#global-header-contents
{
	background-color: var(--header-background-color);
	color:var(--header-font-main-color);
	padding:0.25em;
}

/*
***************************************************************
ヘッダ(グローバルナビ)
***************************************************************
*/
#header
{
	background-color: var(--global-navi-background-color);
	color:var(--global-navi-font-main-color);
}
#header-contents
{
	background-color: var(--global-navi-background-color);
	color:var(--global-navi-font-main-color);
}

/*
***************************************************************
フッタ
***************************************************************
*/
#footer-contents
{
	background-color: var(--footer-background-color);
	color: var(--footer-font-main-color);
	border-top: 1px solid var(--footer-border-color);
}

/*
***************************************************************
グローバルフッタ
***************************************************************
*/
#global-footer-contents
{
	background-color: var(--copyright-background-color);
	color:var(--copyright-font-main-color);
	padding:0.25em;
}

/*
***************************************************************
グリッドシステム
***************************************************************
*/
.grid
{
	display: flex;
	flex-wrap: wrap;
	margin:calc(var(--grid-margin) * -1);
	width:calc(100% + (var(--grid-margin) * 2));
}
.grid + .grid
{
	margin-top:calc(var(--grid-margin));
}
.grid .grid-cell
{
	flex: 0 0 calc(100% - (var(--grid-margin) * 2));
	margin:var(--grid-margin);
	min-width: 0;
}
.grid .grid-cell.grid-cell-01{flex: 0 0 calc(  8.33333% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-02{flex: 0 0 calc( 16.66666% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-03{flex: 0 0 calc( 25.00000% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-04{flex: 0 0 calc( 33.33333% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-05{flex: 0 0 calc( 41.66666% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-06{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-07{flex: 0 0 calc( 58.33333% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-08{flex: 0 0 calc( 66.66666% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-09{flex: 0 0 calc( 75.00000% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-10{flex: 0 0 calc( 83.33333% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-11{flex: 0 0 calc( 91.66666% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-12{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
.grid .grid-cell.grid-cell-auto{flex: 1 1 auto;}
.grid .grid-cell.grid-cell-shrink{flex: 0 1 auto;}
.grid .grid-cell.grid-cell-center{align-self: center;}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	.grid .grid-cell.grid-cell-01{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-02{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-03{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-04{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-05{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-06{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-07{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-08{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-09{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-10{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-11{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-12{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}

	.grid .grid-cell.grid-cell-sp-01{flex: 0 0 calc(  8.33333% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-02{flex: 0 0 calc( 16.66666% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-03{flex: 0 0 calc( 25.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-04{flex: 0 0 calc( 33.33333% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-05{flex: 0 0 calc( 41.66666% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-06{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-07{flex: 0 0 calc( 58.33333% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-08{flex: 0 0 calc( 66.66666% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-09{flex: 0 0 calc( 75.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-10{flex: 0 0 calc( 83.33333% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-11{flex: 0 0 calc( 91.66666% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-12{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.grid .grid-cell.grid-cell-sp-auto{flex: 1 1 auto;}
	.grid .grid-cell.grid-cell-sp-shrink{flex: 0 1 auto;}
	.grid .grid-cell.grid-cell-sp-center{align-self: center;}
}

/*
***************************************************************
ボタン
***************************************************************
*/
.button-list
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	margin:-0.25em;
}
.button-list > .button
{
	margin:0.25em;
}
.button-list > .space
{
	flex:1 1 auto;
}
.button-list.button-list-center
{
	justify-content: center;
}
.button-list.button-list-left
{
	justify-content: flex-start;
}
.button-list.button-list-right
{
	justify-content: flex-end;
}
.button-list.button-list-nowrap
{
	flex-wrap: nowrap;
}
.button
{
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	
	transition-duration:0.2s;
	transition-property:all;
	transition-timing-function:ease;
	
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	
	border-radius:var(--border-radius);
	border:1px solid var(--accent-border-color);
	background-color:var(--accent-background-color);
	box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.20);

	color:var(--accent-font-main-color);
	line-height:1;
	padding:1.0em;

	cursor: pointer;
}
.button.button-wide
{
	width: 100%;
}
.button.button-small
{
	font-size:0.7em;
}
.button:hover
{
	filter: brightness(0.90);
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.20);
}
.button > i
{
	color: var(--accent-icon-color);
}
.button > i.prefix
{
	margin-right:0.25em;
	font-size:1.2em !important;
	line-height:1 !important;
	transform: translateY(0.05em);
}
.button > i.suffix
{
	margin-left:0.25em;
	font-size:1.2em !important;
	line-height:1 !important;
	transform: translateY(0.05em);
}
.button.button-small > i.prefix,
.button.button-small > i.suffix
{
	font-size: 1.8em !important;
}
.button.button-primary
{
	border:1px solid var(--color-primary);
	background-color: var(--color-background-primary);
	color:var(--color-font-primary);
}
.button.button-secondary
{
	border:1px solid var(--color-secondary);
	background-color: var(--color-background-secondary);
	color:var(--color-font-secondary);
}
.button.button-danger
{
	border:1px solid var(--color-danger);
	background-color: var(--color-background-danger);
	color:var(--color-font-danger);
}
.button.button-warning
{
	border:1px solid var(--color-warning);
	background-color: var(--color-background-warning);
	color:var(--color-font-warning);
}
.button.button-success
{
	border:1px solid var(--color-background-success);
	background-color: var(--color-background-success);
	color:var(--color-font-success);
}
.button:disabled
{
	opacity: 0.3;
	box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.00);
}
.button:disabled:hover
{
	filter: brightness(1.00);
}
.button.button-vertical
{
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.button.button-no-frame
{
	border: 0px solid transparent;
	background-color: transparent;
	box-shadow: none;
	padding: 0;
	color: var(--contents-font-main-color);
}
.button.button-no-frame > i
{
	color: var(--color-font-secondary);
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.20);
}
.button.button-no-frame.button-primary > i
{
	color:var(--color-primary);
}
.button.button-no-frame.button-secondary > i
{
	color:var(--color-secondary);
}
.button.button-no-frame.button-warning > i
{
	color:var(--color-warning);
}
.button.button-no-frame.button-danger > i
{
	color:var(--color-danger);
}
.button.button-no-frame.button-success > i
{
	color:var(--color-success);
}
.button.button-no-frame:hover > i
{
	text-shadow:none;
}
.button.button-vertical > i.prefix,
.button.button-vertical > i.suffix
{
	font-size: 2.0em !important;
	margin:0;
}
.button.button-vertical > .label
{
	font-size:0.5em;
	margin-top:0.5em;
}


/*
***************************************************************
入力フォーム
***************************************************************
*/
.input-form
{
	display: grid; /* グリッドレイアウト */

	-ms-grid-rows: auto auto auto; /* 行区切り */
	-ms-grid-columns: 100%; /* 列区切り */
	
	grid-template-rows: auto auto auto; /* 行区切り */
	grid-template-columns: 100%; /* 列区切り */

	width:100%;
}
.input-form > .name
{
	-ms-grid-row: 1;
	-ms-grid-column: 1;

	grid-row: 1;
	grid-column: 1;

	display: flex;
	align-items: center;
	align-content: center;
	font-size:0.8em;
}
.input-form > .name > i
{
	margin-right:0.25em;
}
.input-form > .name > .req
{
	margin-left:0.25em;
	color: var(--color-danger);
}
.input-form > .field
{
	-ms-grid-row: 2;
	-ms-grid-column: 1;

	grid-row: 2;
	grid-column: 1;
}
.input-form > .field > .note
{
	width:100%;
	margin-top:0.25em;
}
.input-form > .field > .note > li
{
	font-size:0.8em;
	color:var(--contents-font-sub-color);
}
.input-form > .error
{
	-ms-grid-row: 3;
	-ms-grid-column: 1;

	grid-row: 3;
	grid-column: 1;
	margin-top:0.25em;
}
.input-form > .error > li
{
	font-size:0.8em;
	color:var(--color-danger);
}

input:-webkit-autofill {
	box-shadow: 0 0 0 1000px var(--color-focus) inset;
}
input:not([type="radio"]):not([type="checkbox"]),
textarea,
select
{
	width: 100%;
	
	display:inline-flex;
	border:1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	background-color:var(--contents-background-color);
	box-shadow: 1px 1px 2px 0px #00000020 inset;

	margin:0;
	padding:0.4em 0.5em;
	line-height:1.5;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	-o-appearance:none;
}
select,
select:focus
{
	-webkit-appearance:auto;
	-moz-appearance:auto;
	-ms-appearance:auto;
	-o-appearance:auto;
}
input.minus,
textarea.minus,
select.minus
{
	color:var(--color-danger);
}
input:not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus,
select:focus
{
	background-color:var(--color-focus);
}
.invalid input:not([type="radio"]):not([type="checkbox"]),
.invalid textarea,
.invalid select
{
	border:1px solid var(--color-danger);
}
input[type='checkbox'],
input[type='radio'],
input[type='checkbox']:focus,
input[type='radio']:focus
{
	width: auto;
	box-shadow: none;
	-webkit-appearance:auto;
	-moz-appearance:auto;
	-ms-appearance:auto;
	-o-appearance:auto;
}
input[type='date'],
input[type='time'],
input[type='datetime'],
input[type='datetime-local']
{
	min-height:2.5em;
}
label.input-radio,
label.input-checkbox
{
	width: auto;

	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;

	margin-right:0.50em;
	margin-top:0.50em;
	cursor: pointer;
	user-select: none;
}
label.input-radio > input,
label.input-checkbox > input
{
	margin-right: 0.25em;
	cursor: pointer;
}

label.input-currency::after
{
	content:'￥';

	display: block;
	height: fit-content;
	margin: auto;

	position: absolute;
	left:0.50em;
	top:0%;
	bottom:0%;

	pointer-events: none;
}
label.input-currency > input
{
	padding-left: 1.5em;
}

.input-file
{
	display: grid; /* グリッドレイアウト */

	-ms-grid-rows: 1fr auto 1fr; /* 行区切り */
	-ms-grid-columns: 8em calc(100% - 8em); /* 列区切り */
	
	grid-template-rows: 1fr auto 1fr; /* 行区切り */
	grid-template-columns: 8em calc(100% - 8em); /* 列区切り */

	height:8em;
}
.input-file > .thumbnail
{
	-ms-grid-row: 1/4;
	-ms-grid-column: 1;

	grid-row: 1/4;
	grid-column: 1;

	border: 1px solid var(--contents-border-color);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.input-file > .file-url
{
	-ms-grid-row: 2;
	-ms-grid-column: 2;

	grid-row: 2;
	grid-column: 2;

	padding-left:1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;

	display: block;
}
.input-file.eyecatch
{
	display:block;
	height:auto;
}
.input-file.eyecatch > .thumbnail
{
	width:100%;
	padding-top:56.25%;
}
.input-file.eyecatch > .file-url
{
	padding-left:0em;
}
.input-file.web
{
	display:block;
	height:auto;
}
.input-file.web > .thumbnail
{
	width:100%;
	padding-top:100%;
}
.input-file.web > .file-url
{
	padding-left:0em;
}

/*
***************************************************************
基本のシールド
***************************************************************
*/
body.beit .sheild
{
	display:none;

	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.3);
}

/*
***************************************************************
読込中の表示(スプラッシュビュー)
***************************************************************
*/
body.beit #wrapper
{
	opacity: 0.0;
	visibility: hidden;
}
body.beit.inited #wrapper
{
	opacity: 1.0;
	visibility: visible;
}
body.beit .sheild.initialize-sheild
{
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;

	background-color:var(--contents-background-color);
}
body.beit .sheild.initialize-sheild > .logo
{
	width:70%;
	max-width: 240px;

	animation-name:initializeSeaildLogo;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:infinite;
	animation-fill-mode:forwards;
}
@keyframes initializeSeaildLogo
{
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}
body.beit.inited .sheild.initialize-sheild
{
	animation-name:initializeSeaild;
	animation-delay:0.5s;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
@keyframes initializeSeaild
{
	0% {
		opacity:1;
		transform:translateY(0%);
	}
	100% {
		opacity:0;
		transform:translateY(-200%);
	}
}
/* https://epic-spinners.epicmax.co/ */
body.beit .half-circle-spinner, .half-circle-spinner * {
	box-sizing: border-box;
}
body.beit .half-circle-spinner {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	position: relative;
}
body.beit .half-circle-spinner .circle {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	border: calc(60px / 10) solid transparent;
}
body.beit .half-circle-spinner .circle.circle-1 {
	border-top-color: var(--contents-icon-color);
	animation: half-circle-spinner-animation 1s infinite;
}
body.beit .half-circle-spinner .circle.circle-2 {
	border-bottom-color: var(--contents-icon-color);
	animation: half-circle-spinner-animation 1s infinite alternate;
}
@keyframes half-circle-spinner-animation {
	0% {
		transform: rotate(0deg);

	}
	100%{
		transform: rotate(360deg);
	}
}

/*
***************************************************************
接続中の表示
***************************************************************
*/
body.beit.connected .conected-sheild
{
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
}
body.beit.connected .conected-sheild .message
{
	font-size:11px;
}
/* https://epic-spinners.epicmax.co/ */
body.beit .self-building-square-spinner, .self-building-square-spinner * {
	box-sizing: border-box;
}
body.beit .self-building-square-spinner {
	height: 40px;
	width: 40px;
	top: calc( -10px * 2 / 3);
}
body.beit .self-building-square-spinner .square {
	height: 10px;
	width: 10px;
	top: calc( -10px * 2 / 3);
	margin-right: calc(10px / 3);
	margin-top: calc(10px / 3);
	background-color: var(--contents-icon-color);
	float: left;
	position:relative;
	opacity: 0;
	animation: self-building-square-spinner 6s infinite;
}
body.beit .self-building-square-spinner .square:nth-child(1) {
	animation-delay: calc(300ms * 6);
}
body.beit .self-building-square-spinner .square:nth-child(2) {
	animation-delay: calc(300ms * 7);
}
body.beit .self-building-square-spinner .square:nth-child(3) {
	animation-delay: calc(300ms * 8);
}
body.beit .self-building-square-spinner .square:nth-child(4) {
	animation-delay: calc(300ms * 3);
}
body.beit .self-building-square-spinner .square:nth-child(5) {
	animation-delay: calc(300ms * 4);
}
body.beit .self-building-square-spinner .square:nth-child(6) {
	animation-delay: calc(300ms * 5);
}
body.beit .self-building-square-spinner .square:nth-child(7) {
	animation-delay: calc(300ms * 0);
}
body.beit .self-building-square-spinner .square:nth-child(8) {
	animation-delay: calc(300ms * 1);
}
body.beit .self-building-square-spinner .square:nth-child(9) {
	animation-delay: calc(300ms * 2);
}
body.beit .self-building-square-spinner .clear{
	clear: both;
}
@keyframes self-building-square-spinner {
	0% {
		opacity: 0;
	}
	5% {
		opacity: 1;
		top: 0;
	}
	50.9% {
		opacity: 1;
		top: 0;
	}
	55.9% {
		opacity: 0;
		top: inherit;
	}
}

/*
***************************************************************
スクロールバー
***************************************************************
*/
.scroll-y
{
	overflow-y:auto;
	height:calc(var(--vh1, 1vh) * 100);
}
.scroll-x
{
	overflow-x:auto;
}
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-track {
	background-color: #EEEEEE;
	box-shadow: 0px 0px 3px 1px #00000023 inset;
}
::-webkit-scrollbar-thumb {
	background-color: #AAAAAA;
}

/*
***************************************************************
ヘッダー(グローバルナビ)
***************************************************************
*/
body.beit.beit-single #header-contents,
body.beit.beit-double #header-contents
{
	display: flex;
	align-items: center;
	align-content: center;
	padding:0.5em;
}
body.beit.beit-double #header-contents
{
	flex-wrap: wrap;
}
body.beit.beit-single #header-contents > .logo,
body.beit.beit-double #header-contents > .logo
{
	flex:1 0 auto; 
	display: block;
	padding: 0.5em;
}
body.beit.beit-double #header-contents > .logo
{
	flex:0 0 100%;
	margin-bottom:1em;
}
body.beit.beit-single #header-contents > .logo img,
body.beit.beit-double #header-contents > .logo img
{
	display: inline-block;
	height:3em;
	width: auto;
}
body.beit.beit-double #header-contents > .logo img
{
	height:auto;
	width: 100%;
}
body.beit.beit-single #header-contents > #global-navi,
body.beit.beit-double #header-contents > #global-navi
{
	display: flex;
	flex-direction: column;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi,
body.beit.beit-double #header-contents > #global-navi > .main-navi
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-content: center;

	list-style: none;
	padding: 0;
	margin: -0.5em;
}
body.beit.beit-double #header-contents > #global-navi > .main-navi
{
	flex-wrap: wrap;
	margin-bottom: 1.0em;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li
{
	margin: 0.5em;
	padding: 0;
}
body.beit.beit-double #header-contents > #global-navi > .main-navi > li
{
	flex: 0 0 calc(100% - 1.0em);
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a
{
	display: flex;
	align-items: center;
	align-content: center;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a > i,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a > i
{
	color: var(--global-navi-icon-color);
	opacity: 0.0;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a > .main,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a > .main
{
	font-weight: bold;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a:hover,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a:hover
{
	border: none;
}
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a:hover > i,
body.beit.beit-single #header-contents > #global-navi > .main-navi > li > a.active > i,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a:hover > i,
body.beit.beit-double #header-contents > #global-navi > .main-navi > li > a.active > i
{
	opacity: 1.0;
}
body.beit.beit-single #header-contents > #global-navi > .sub-navi,
body.beit.beit-double #header-contents > #global-navi > .sub-navi
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-content: center;

	list-style: none;
	padding: 0;
	margin: -0.25em;
	margin-bottom: 0.5em;

	color: var(--global-navi-font-sub-color);
}
body.beit.beit-double #header-contents > #global-navi > .sub-navi
{

}
body.beit.beit-double #header-contents > #global-navi > .sub-navi
{
	flex-wrap: wrap;
	order: 1;
	margin-bottom: 0.5em;
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-top: 0.5em;
	border-top: 1px dotted var(--global-navi-border-color);
}
body.beit.beit-single #header-contents > #global-navi > .sub-navi > li,
body.beit.beit-double #header-contents > #global-navi > .sub-navi > li
{
	margin: 0.25em;
	padding: 0;
}
body.beit.beit-double #header-contents > #global-navi > .sub-navi > li
{
	flex: 0 0 calc(100% - 0.5em);
}
body.beit.beit-single #header-contents > #global-navi > .sub-navi > li > a,
body.beit.beit-double #header-contents > #global-navi > .sub-navi > li > a
{
	font-size: 0.8em;
}

#header-contents .btnMenu
{
	display: none;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	body.beit.beit-single #header-contents > #global-navi,
	body.beit.beit-double #header-contents > #global-navi
	{
		display:none;
	}
	body.beit.beit-single #header-contents > .logo,
	body.beit.beit-double #header-contents > .logo
	{
		flex:1 0 auto; 
		display: block;
		padding: 0.5em;
		margin-bottom:0em;
	}
	body.beit.beit-single #header-contents > .logo img,
	body.beit.beit-double #header-contents > .logo img
	{
		display: block;
		height:3em;
		width: auto;
	}
	body.beit.beit-single #header-contents.show > #global-navi,
	body.beit.beit-double #header-contents.show > #global-navi
	{
		display:flex;

		position:absolute;
		top:calc(100% + 0.25em);
		right:0.5em;

		width:80vw;
		max-width: 240px;

		padding:0.5em;

		background-color: var(--global-navi-background-color);
		border:1px solid var(--global-navi-border-color);
		border-radius: var(--border-radius);

		box-shadow: 5px 5px 4px 0px #00000044;
	}
	body.beit.beit-single #header-contents.show > #global-navi::before,
	body.beit.beit-double #header-contents.show > #global-navi::before,
	body.beit.beit-single #header-contents.show > #global-navi::after,
	body.beit.beit-double #header-contents.show > #global-navi::after
	{
		content:"";
		display: block;

		width:0;
		height:0;

		position: absolute;
		right:1em;

		border :1em solid transparent;
		border-bottom: 1em solid var(--global-navi-background-color);
	}
	body.beit.beit-single #header-contents.show > #global-navi::after,
	body.beit.beit-double #header-contents.show > #global-navi::after
	{
		top: calc(-2em + 1px);
		border-bottom: 1em solid var(--global-navi-background-color);
	}
	body.beit.beit-single #header-contents.show > #global-navi::before,
	body.beit.beit-double #header-contents.show > #global-navi::before
	{
		top: -2em;
		border-bottom: 1em solid var(--global-navi-border-color);
	}

	body.beit.beit-single #header-contents.show > #global-navi > .main-navi,
	body.beit.beit-double #header-contents.show > #global-navi > .main-navi
	{
		order: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		align-content: center;
		margin-bottom: 0.0em ;
	}
	body.beit.beit-single #header-contents.show > #global-navi > .main-navi > li,
	body.beit.beit-double #header-contents.show > #global-navi > .main-navi > li
	{
		flex: 0 0 calc(100% - 1.0em);
	}
	body.beit.beit-single #header-contents.show > #global-navi > .sub-navi,
	body.beit.beit-double #header-contents.show > #global-navi > .sub-navi
	{
		order: 1;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		align-content: center;

		margin-bottom: 0em;
		margin-top: 0.5em;

		border-top: 1px dotted var(--global-navi-border-color);
	}
	body.beit.beit-single #header-contents.show > #global-navi > .sub-navi > li,
	body.beit.beit-double #header-contents.show > #global-navi > .sub-navi > li
	{
		flex: 0 0 calc(100% - 0.5em);
	}
	#header-contents .btnMenu
	{
		display:block;
		flex:0 0 4em;
		width:4em;
		height:4em;
		cursor:pointer;

		-webkit-appearance : none;
		-webkit-tap-highlight-color : rgba(0,0,0,0);
		
		transition-duration:0.2s;
		transition-property:all;
		transition-timing-function:ease;

		padding:0;
		margin: 0;

		border:0px solid transparent;
		background-color: transparent;
	}
	#header-contents .btnMenu > span.border
	{
		display:block;
		position:absolute;
		
		left:20%;
		right:20%;
		
		width:60%;
		height:0px;
		
		border-bottom:2px solid var(--global-navi-icon-color);
		
		transition-duration:0.3s;
		transition-property:all;
		transition-timing-function:ease;
	}
	#header-contents .btnMenu > span.border:nth-child(1){top:20%;}
	#header-contents .btnMenu > span.border:nth-child(2){top:40%;}
	#header-contents .btnMenu > span.border:nth-child(3){top:60%;}
	#header-contents .btnMenu > span.label
	{
		display:block;
		position:absolute;
		
		top:70%;
		left:0%;
		right:0%;
		
		width:100%;
		height:0px;
		
		text-align:center;
		
		font-size:0.5em;
		color:var(--global-navi-font-sub-color);
	}
	#header-contents .btnMenu > span.label > .close{display:block;}
	#header-contents .btnMenu > span.label > .open{display:none;}
	#header-contents.show .btnMenu > span.border:nth-child(1){
		transform:rotate(45deg);
		top:40%;
	}
	#header-contents.show .btnMenu > span.border:nth-child(2){
		opacity: 0.0;
	}
	#header-contents.show .btnMenu > span.border:nth-child(3){
		transform:rotate(-45deg);
		top:40%;
	}
	#header-contents.show .btnMenu > span.label > .close{display:none;}
	#header-contents.show .btnMenu > span.label > .open{display:block;}
}

/*
***************************************************************
ページタイトル
***************************************************************
*/
#contents-title
{
}
#contents-title > .mv-bg,
#contents-title > .mv-bg > .blur,
#contents-title > .mv-bg > .alpha
{
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
#contents-title > .mv-bg
{
	overflow: hidden;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,1.00) var(--mv-bg-gradation), transparent);
			mask-image: linear-gradient(rgba(0,0,0,1.00) var(--mv-bg-gradation), transparent);
}
#contents-title > .mv-bg > .blur
{
	top: calc(-2 * var(--mv-bg-blur));
	bottom: calc(-2 * var(--mv-bg-blur));
	left: calc(-2 * var(--mv-bg-blur));
	right: calc(-2 * var(--mv-bg-blur));

	-webkit-filter: blur(var(--mv-bg-blur));
	-moz-filter: blur(var(--mv-bg-blur));
	-o-filter: blur(var(--mv-bg-blur));
	-ms-filter: blur(var(--mv-bg-blur));
	filter: blur(var(--mv-bg-blur));

	background-image:var(--mv-bg-pc);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#contents-title > .mv-bg > .alpha{
	background-color: var(--mv-bg-color);
	opacity: var(--mv-bg-alpha);
}
#contents-title.contents-title-index
{

}
#contents-title.contents-title-index > .mv-wrapper
{
	max-width:var(--body-width-pc);
	width:100%;
	margin: 0 auto;
	overflow: hidden;
}
#contents-title.contents-title-index > .mv-wrapper > .mv
{
	width: 100%;
	opacity: 0.0;
	aspect-ratio: 16/9;
	background-image:var(--mv-pc);
	background-repeat:none;
	background-position: center center;
	background-size: contain;
}
#contents-title.contents-title-index > .mv-wrapper > .mv > img.mv-pc
{
	display: block;
}
#contents-title.contents-title-index > .mv-wrapper > .mv > img.mv-sp
{
	display: none;
}
.inited #contents-title.contents-title-index > .mv-wrapper > .mv
{
	animation-name:fncScrollInFade;
	animation-delay:0.8s;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	#contents-title > .mv-bg > .blur
	{
		background-image:var(--mv-bg-sp);
	}
	#contents-title.contents-title-index > .mv-wrapper > .mv
	{
		aspect-ratio: 1/1;
		background-image:var(--mv-sp);
	}
	#contents-title.contents-title-index > .mv-wrapper > .mv > img.mv-pc
	{
		display: none;
	}
	#contents-title.contents-title-index > .mv-wrapper > .mv > img.mv-sp
	{
		display: block;
	}
}
#contents-title.contents-title-contents > .title
{
	opacity: 0.0;
	padding:5em 0;
	display: grid;
	grid-template-rows:auto auto auto;
	grid-template-columns:100%;
	grid-template-areas:
		"contents-title-main"
		"contents-title-accent"
		"contents-title-sub";
}
.inited #contents-title.contents-title-contents > .title
{
	animation-name:fncScrollInFade;
	animation-delay:0.8s;
	animation-duration:0.8s;
	animation-timing-function:ease;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
#contents-title.contents-title-contents > .title > .main
{
	grid-area: contents-title-main;
	color: var(--mv-font-color-default);
	text-align:center;
	font-size:2.4em;
	font-weight: bold;
}
#contents-title.contents-title-contents > .title > .sub
{
	grid-area: contents-title-sub;
	color: var(--mv-font-color-sub);
	text-align:center;
	font-size:1.5em;
}

/*
***************************************************************
ページコンテンツ
***************************************************************
*/
#contents-body > .contents-background
{
	position: absolute;
	z-index:-1;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
#contents-body > .contents-background > div
{
	position: sticky;
	top:0;
	width: 100%;
	height: 100vh;
	max-height: calc(100% + (var(--contentsTitleHeight, 0px) * var(--contents-bg-translate)));
	z-index:-1;
	margin-top: calc(var(--contentsTitleHeight, 0px) * (var(--contents-bg-translate) * -1));
	background-image: var(--contents-bg-pc);
	background-position-x: center;
	background-position-y: top;
	background-repeat: no-repeat;
	background-size: cover;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	#contents-body > .contents-background > div
	{
		background-image: var(--contents-bg-sp);
	}
}

/*
***************************************************************
パンくず
***************************************************************
*/
#contents-body > .contents-pankz
{
	padding: 0.5em 1.0em;
}
#contents-body > .contents-pankz > ul
{
	list-style:none;
	padding:0;
	margin: -0.25em;

	display: flex;
	align-items: center;
	align-content: center;
}
#contents-body > .contents-pankz > ul > li
{
	color: var(--contents-font-sub-color);
	margin:0.25em;
}
#contents-body > .contents-pankz > ul > li::after
{
	content:">";
	display: inline-block;
	margin-left:0.50em;
}
#contents-body > .contents-pankz > ul > li:last-child::after
{
	content:none;
}

/*
***************************************************************
フッター
***************************************************************
*/
#footer-contents .footer-sign
{
	text-align: center;
}
#footer-contents .footer-sign .catchcopy
{
	font-size: 0.8em;
	color: var(--footer-font-sub-color);
	margin-bottom: 0.5em;
}
#footer-contents .footer-sign .logo img
{
	height: 3.0em;
	width: auto;
}
#footer-contents .footer-sign .footer-navi
{
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;

	list-style: none;
	padding: 0;
	margin: -0.25em;
	margin-top: 1.00em;

	color: var(--footer-font-sub-color);
}
#footer-contents .footer-sign .footer-navi > li
{
	margin: 0.25em;
	padding: 0;
}
#footer-contents .footer-sign .footer-navi > li > a
{
	font-size: 0.8em;
}

/*
***************************************************************
段落タイトル
***************************************************************
*/
.section-title
{
	
}
.section-title > .main
{
	font-size:2.0em;
	font-weight:bold;
	line-height:1.5;
}
.section-title > .sub
{
	font-size:1.0em;
	font-weight:normal;
	line-height:1.5;
}

/* 段落タイトル 標準*/
.SECTION-TITLE-01-LEFT .section-title,
.SECTION-TITLE-01-CENTER .section-title,
.SECTION-TITLE-01-RIGHT .section-title
{
	display: grid;
	grid-template-rows:auto auto auto;
	grid-template-columns:100%;
	grid-template-areas:
		"section-title-main"
		"section-title-accent"
		"section-title-sub";
}
.SECTION-TITLE-01-LEFT .section-title
{
	text-align: left;
}
.SECTION-TITLE-01-CENTER .section-title
{
	text-align: center;
}
.SECTION-TITLE-01-RIGHT .section-title
{
	text-align: right;
}
.SECTION-TITLE-01-LEFT .section-title  > .main,
.SECTION-TITLE-01-CENTER .section-title  > .main,
.SECTION-TITLE-01-RIGHT .section-title  > .main
{
	grid-area: section-title-main;
	color: var(--contents-font-main-color);
}
.SECTION-TITLE-01-LEFT .section-title  > .sub,
.SECTION-TITLE-01-CENTER .section-title  > .sub,
.SECTION-TITLE-01-RIGHT .section-title  > .sub
{
	grid-area: section-title-sub;
	color: var(--contents-font-sub-color);
}
.SECTION-TITLE-01-LEFT .section-title::after,
.SECTION-TITLE-01-CENTER .section-title::after,
.SECTION-TITLE-01-RIGHT .section-title::after
{
	content:"";
	display: block;
	width: 160px;
	max-width: 50vw;
	height:0;

	border-bottom: 1px solid var(--contents-icon-color);
}
.SECTION-TITLE-01-LEFT .section-title::after{margin:0.5em auto 0.5em 0;}
.SECTION-TITLE-01-CENTER .section-title::after{margin:0.5em auto 0.5em auto;}
.SECTION-TITLE-01-RIGHT .section-title::after{margin:0.5em 0 0.5em auto;}

/* 段落タイトル 枠*/
.SECTION-TITLE-02-LEFT .section-title,
.SECTION-TITLE-02-CENTER .section-title,
.SECTION-TITLE-02-RIGHT .section-title
{
	display: grid;
	grid-template-rows:auto auto auto;
	grid-template-columns:100%;
	grid-template-areas:
		"section-title-main"
		"section-title-accent"
		"section-title-sub";

	padding:0.5em 0.5em 0.8em 1.0em;
	border:1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	box-shadow: 2px 2px 2px 0px #00000022;
}
.SECTION-TITLE-02-LEFT .section-title
{
	text-align: left;
}
.SECTION-TITLE-02-CENTER .section-title
{
	text-align: center;
}
.SECTION-TITLE-02-RIGHT .section-title
{
	text-align: right;
}
.SECTION-TITLE-02-LEFT .section-title  > .main,
.SECTION-TITLE-02-CENTER .section-title  > .main,
.SECTION-TITLE-02-RIGHT .section-title  > .main
{
	grid-area: section-title-main;
	color: var(--contents-font-main-color);
}
.SECTION-TITLE-02-LEFT .section-title  > .sub,
.SECTION-TITLE-02-CENTER .section-title  > .sub,
.SECTION-TITLE-02-RIGHT .section-title  > .sub
{
	grid-area: section-title-sub;
	color: var(--contents-icon-color);
}

/* 段落タイトル 帯*/
.SECTION-TITLE-03-LEFT .section-title,
.SECTION-TITLE-03-CENTER .section-title,
.SECTION-TITLE-03-RIGHT .section-title
{
	display: grid;
	grid-template-rows:auto auto auto;
	grid-template-columns:100%;
	grid-template-areas:
		"section-title-main"
		"section-title-accent"
		"section-title-sub";

	padding:0.5em 0.5em 0.8em 1.0em;
	background-color: var(--accent-background-color);
	border:1px solid var(--accent-border-color);
	border-radius: var(--border-radius);
}
.SECTION-TITLE-03-LEFT .section-title
{
	text-align: left;
}
.SECTION-TITLE-03-CENTER .section-title
{
	text-align: center;
}
.SECTION-TITLE-03-RIGHT .section-title
{
	text-align: right;
}
.SECTION-TITLE-03-LEFT .section-title  > .main,
.SECTION-TITLE-03-CENTER .section-title  > .main,
.SECTION-TITLE-03-RIGHT .section-title  > .main
{
	grid-area: section-title-main;
	color: var(--accent-font-main-color);
}
.SECTION-TITLE-03-LEFT .section-title  > .sub,
.SECTION-TITLE-03-CENTER .section-title  > .sub,
.SECTION-TITLE-03-RIGHT .section-title  > .sub
{
	grid-area: section-title-sub;
	color: var(--accent-font-sub-color);
}

/*
***************************************************************
検索結果テーブル
***************************************************************
*/
.search-result
{
	overflow-x: auto;
	overflow-y: hidden;
}
.search-result > table
{
	width:100%;
	border-spacing:0px;
	border-collapse:separate;
	border:0px solid transparent;
	border-top:1px solid var(--contents-border-color);
}
.search-result > table th,
.search-result > table td
{
	width:10px;
	white-space:nowrap;
	padding:0.5em;
	border:0px solid transparent;
	background-color: var(--contents-background-color);
	border-bottom:1px solid var(--contents-border-color);
}
.search-result > table thead tr th
{
	font-size: 0.8em;
}
.search-result > table tr th.check,
.search-result > table tr td.check
{
	width:1px;
}
.search-result > table tr th.flex,
.search-result > table tr td.flex
{
	width:auto;
	max-width:80%;
}
.search-result > table tr th.prop,
.search-result > table tr td.prop
{
	font-size: 0.8em;
}
.search-result > table tr th.ope,
.search-result > table tr td.ope
{
	position: sticky;
	right:0px;
}
.search-result > table tbody tr:hover th,
.search-result > table tbody tr:hover td
{
	background-color: var(--secondary-background-color);
}
.search-result .result-main
{
	display: grid;

	-ms-grid-rows: auto auto 1fr; /* 行区切り */
	-ms-grid-columns: auto 1fr; /* 列区切り */
	
	grid-template-rows: auto auto 1fr; /* 行区切り */
	grid-template-columns: auto 1fr; /* 列区切り */
}
.search-result .result-main .eyecatch
{
	-ms-grid-row: 1/4;
	-ms-grid-column: 1;

	grid-row: 1/4;
	grid-column: 1;

	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;

}
.search-result .result-main .eyecatch > *
{
	padding-right:0.5em;
}
.search-result .result-main .eyecatch > img
{
	width:8em;
}
.search-result .result-main .status
{
	-ms-grid-row: 1;
	-ms-grid-column: 2;

	grid-row: 1;
	grid-column: 2;

	display: flex;
	align-items: center;
	align-content: space-between;

	margin:0.0em -0.25em;
}
.search-result .result-main .status > .tag
{
	background-color: var(--secondary-background-color);
	color: var(--secondary-font-color);
	font-size: 0.8em;
	padding: 0.10em 0.5em;
	line-height: 1.5;
	margin:0.25em;
}
.search-result .result-main .main-label
{
	-ms-grid-row: 2;
	-ms-grid-column: 2;

	grid-row: 2;
	grid-column: 2;

	font-weight:bold;
}
.search-result .result-main .description
{
	-ms-grid-row: 3;
	-ms-grid-column: 2;

	grid-row: 3;
	grid-column: 2;

	font-size: 0.8em;
	color: var(--contents-font-sub-color);
}

/*
***************************************************************
ページネーション
***************************************************************
*/
.paginate
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	margin:-0.25em;
}
.paginate > *
{
	flex:0 0 auto;
	width: auto;
	margin:0.25em;
}
.paginate > select
{
	font-size:0.8em;
}


/*
***************************************************************
ブロック-見出し
***************************************************************
*/
.block-title
{
	padding: 0.25em 0.5em;
	border-left:0.5em solid var(--contents-icon-color);

	margin-bottom: -1.5em !important;
}
.block-title > .main
{
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.4;
}

/*
***************************************************************
ブロック-文章
***************************************************************
*/

/*
***************************************************************
ブロック-画像
***************************************************************
*/
.tile
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;

	margin:calc(var(--grid-margin) * -1);
}

.tile > .tile-item
{
	margin:var(--grid-margin);
	flex: 0 0 calc(50% - (var(--grid-margin) * 2));
	min-width: 0;
}
.tile .tile-item-1{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
.tile .tile-item-2{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
.tile .tile-item-3{flex: 0 0 calc( 33.33333% - (var(--grid-margin) * 2));}
.tile .tile-item-4{flex: 0 0 calc( 25.00000% - (var(--grid-margin) * 2));}
.tile .tile-item-5{flex: 0 0 calc( 20.00000% - (var(--grid-margin) * 2));}

.tile .tile-item .tile-item-thumbnail,
.tile .tile-item .tile-item-title,
.tile .tile-item .tile-item-status,
.tile .tile-item .tile-item-caption,
.tile .tile-item .tile-item-description
{
	display: block;
	margin-top:0.25em;
}
.tile .tile-item .tile-item-title
{
}
.tile .tile-item .tile-item-caption
{
	font-size: 0.8em;
	color: var(--contents-font-sub-color);
}
.tile .tile-item .tile-item-description
{
	font-size: 0.8em;
	color: var(--contents-font-sub-color);
	text-align: justify;
}
.tile .tile-item .tile-item-status
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-end;
	margin:-0.25em;
	margin-top: 0.0em;
}
.tile .tile-item .tile-item-status > .date
{
	font-size:0.8em;
	color: var(--contents-font-sub-color);
	margin:0.25em;
}
.tile .tile-item .tile-item-status > .category
{
	font-size:0.8em;
	color: var(--contents-font-sub-color);
	margin:0.25em;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	.tile .tile-item-1{flex: 0 0 calc(100.00000% - (var(--grid-margin) * 2));}
	.tile .tile-item-2{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.tile .tile-item-3{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.tile .tile-item-4{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.tile .tile-item-5{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
}

/*
***************************************************************
ブロック-ハイライト、ポイント
***************************************************************
*/
.point
{
	display: flex;
	flex-wrap: wrap;

	--point-margin:2.0em;
	margin:calc(var(--point-margin) * -1);
}
.point > .point-item
{
	margin:var(--point-margin);
	flex: 0 0 calc(100% - (var(--point-margin) * 2));
	min-width: 0;
	display: grid;

	-ms-grid-rows: 1fr auto auto 1fr; /* 行区切り */
	-ms-grid-columns: auto 1fr; /* 列区切り */
	
	grid-template-rows: 1fr auto auto 1fr; /* 行区切り */
	grid-template-columns: auto 1fr; /* 列区切り */

	grid-template-areas:
		"eyecatch h-space"
		"eyecatch title"
		"eyecatch body"
		"eyecatch f-space";
}
.point > .point-item > .eyecatch
{
	grid-area: eyecatch;
	margin-right:var(--point-margin);
}
.point > .point-item > .eyecatch > img
{
	width:320px;
	height:auto;
}
.point > .point-item > .title
{
	grid-area: title;
	margin-bottom: 1.0em;
}
.SECTION-TITLE-01-LEFT .point > .point-item > .title > .label,
.SECTION-TITLE-01-CENTER .point > .point-item > .title > .label,
.SECTION-TITLE-01-RIGHT .point > .point-item > .title > .label
{
	display: inline-block;
	color: var(--contents-font-sub-color);
	border-bottom: 1px solid var(--contents-icon-color);
}
.SECTION-TITLE-02-LEFT .point > .point-item > .title > .label,
.SECTION-TITLE-02-CENTER .point > .point-item > .title > .label,
.SECTION-TITLE-02-RIGHT .point > .point-item > .title > .label
{
	display: inline-block;
	color: var(--contents-icon-color);
	border: 1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	padding:0.5em;
	line-height:1;
	box-shadow: 2px 2px 2px 0px #00000022;
}
.SECTION-TITLE-03-LEFT .point > .point-item > .title > .label,
.SECTION-TITLE-03-CENTER .point > .point-item > .title > .label,
.SECTION-TITLE-03-RIGHT .point > .point-item > .title > .label
{
	display: inline-block;
	color: var(--accent-font-main-color);
	background-color: var(--accent-background-color);
	border: 1px solid var(--accent-border-color);
	border-radius: var(--border-radius);
	padding:0.5em;
	line-height:1;
}
.point > .point-item > .title > .main
{
	display: block;
	font-weight: bold;
	font-size: 1.4em;
	line-height: 1.4;
}
.point > .point-item > .body
{
	grid-area: body;
	text-align: justify;
}
.point > .point-item:nth-child(even)
{
	-ms-grid-rows: 1fr auto auto 1fr; /* 行区切り */
	-ms-grid-columns: 1fr auto ; /* 列区切り */
	
	grid-template-rows: 1fr auto auto 1fr; /* 行区切り */
	grid-template-columns: 1fr auto ; /* 列区切り */

	grid-template-areas:
		"h-space eyecatch"
		"title   eyecatch"
		"body    eyecatch"
		"f-space eyecatch";
}
.point > .point-item:nth-child(even) > .eyecatch
{
	margin-right:0;
	margin-left:var(--point-margin);
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	.point
	{
		--point-margin:1.0em;
	}
	.point > .point-item:nth-child(odd),
	.point > .point-item:nth-child(even)
	{
		-ms-grid-rows: auto auto auto; /* 行区切り */
		-ms-grid-columns: auto ; /* 列区切り */
		
		grid-template-rows: auto auto auto; /* 行区切り */
		grid-template-columns: auto ; /* 列区切り */
	
		grid-template-areas:
			"title"
			"eyecatch"
			"body";
	}
	.point > .point-item:nth-child(odd) > .eyecatch,
	.point > .point-item:nth-child(even) > .eyecatch
	{
		margin-right:0;
		margin-left:0;
	}
	.point > .point-item > .eyecatch > img
	{
		width:100%;
	}
	.point > .point-item > .body
	{
		margin-top:1.0em;
	}
}


/*
***************************************************************
ブロック-手続き・フロー
***************************************************************
*/
.flow
{
	display: flex;
	flex-wrap: wrap;

	--flow-margin:2.0em;
	/*margin:calc(var(--flow-margin) * -1);*/
}
.flow > .flow-item
{
	flex: 0 0 calc(100%);
	min-width: 0;
	display: grid;

	-ms-grid-rows: auto auto auto; /* 行区切り */
	-ms-grid-columns: auto auto 1fr; /* 列区切り */
	
	grid-template-rows: auto auto auto; /* 行区切り */
	grid-template-columns: auto auto 1fr; /* 列区切り */

	grid-template-areas:
		"title title title"
		"line eyecatch body"
}
.flow > .flow-item::before
{
	grid-area: line;
	content:"";
	width: 0;
	border-left: 1px solid var(--contents-border-color);
	margin-left: 1.0em;
}
.flow > .flow-item > .title
{
	grid-area: title;
}
.SECTION-TITLE-01-LEFT .flow > .flow-item > .title > .label,
.SECTION-TITLE-01-CENTER .flow > .flow-item > .title > .label,
.SECTION-TITLE-01-RIGHT .flow > .flow-item > .title > .label
{
	display: inline-block;
	color: var(--contents-font-sub-color);
	border-bottom: 1px solid var(--contents-icon-color);
}
.SECTION-TITLE-02-LEFT .flow > .flow-item > .title > .label,
.SECTION-TITLE-02-CENTER .flow > .flow-item > .title > .label,
.SECTION-TITLE-02-RIGHT .flow > .flow-item > .title > .label
{
	display: inline-block;
	color: var(--contents-icon-color);
	border: 1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	padding:0.5em;
	line-height:1;
	box-shadow: 2px 2px 2px 0px #00000022;
}
.SECTION-TITLE-03-LEFT .flow > .flow-item > .title > .label,
.SECTION-TITLE-03-CENTER .flow > .flow-item > .title > .label,
.SECTION-TITLE-03-RIGHT .flow > .flow-item > .title > .label
{
	display: inline-block;
	color: var(--accent-font-main-color);
	background-color: var(--accent-background-color);
	border: 1px solid var(--accent-border-color);
	border-radius: var(--border-radius);
	padding:0.5em;
	line-height:1;
}
.flow > .flow-item > .title > .main
{
	display: block;
	font-weight: bold;
	font-size: 1.4em;
	line-height: 1.4;
}
.flow > .flow-item > .eyecatch
{
	grid-area: eyecatch;
	padding: var(--flow-margin);
	padding-right:0;
}
.flow > .flow-item > .eyecatch > img
{
	width:320px;
	height:auto;
}
.flow > .flow-item > .body
{
	grid-area: body;
	text-align: justify;
	padding: var(--flow-margin);
	padding-right:0;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	.flow > .flow-item
	{
		-ms-grid-rows: auto auto auto; /* 行区切り */
		-ms-grid-columns: auto 1fr; /* 列区切り */
		
		grid-template-rows: auto auto auto; /* 行区切り */
		grid-template-columns: auto 1fr; /* 列区切り */
	
		grid-template-areas:
			"title title"
			"line eyecatch"
			"line body";
	}
}

/*
***************************************************************
ブロック-仕様表
***************************************************************
*/
.spec-table
{
	
}
.spec-table > table
{
	width:100%;
	border-spacing:0px;
	border-collapse:separate;
	border:0px solid transparent;
	border-top:1px solid var(--contents-border-color);
}
.spec-table > table th,
.spec-table > table td
{
	padding:0.5em 1.0em;
	border:0px solid transparent;
	border-bottom:1px solid var(--contents-border-color);
}
.spec-table > table tr th
{
	width:10px;
	white-space:nowrap;
	padding:1.0em 1.0em 1.0em 1.0em;
	font-weight: bold;
	vertical-align: top;
	background-color: var(--contents-sub-background-color);
	color: var(--contents-sub-font-main-color);
}
.spec-table > table tr td
{
	width:auto;
	padding:1.0em 0.5em 1.0em 1.0em;
	text-align: justify;
}

/*
***************************************************************
注釈・注意書き
***************************************************************
*/
.notice-block
{
	padding: 1.0em;
	background-color: var(--contents-sub-background-color);
	color: var(--contents-sub-font-main-color);
	border:1px solid var(--contents-border-color);
	border-left:0.25em solid var(--contents-sub-icon-color);

	border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
.notice-block > ul
{
	font-size:0.8em;
}
.notice-block > .notice-item
{
	font-size:0.8em;
	margin-bottom:0.8em;
}
.notice-block > .notice-item:last-child
{
	margin-bottom:0.0em;
}

/*
***************************************************************
アクセス
***************************************************************
*/
.access > .google-map > iframe
{
	width:100%;
	height:480px;
	max-height: 100vw;
}
.access > .profile > .title
{
	font-size: 1.4em;
	font-weight: bold;
	border-bottom: 1px solid var(--contents-border-color);
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
.access > .profile > .address
{
	margin-top: 0.25em;
}
.access > .profile > .notice-block
{
	margin-top: 1.0em;
}

/*
***************************************************************
署名
***************************************************************
*/
.sign
{
	border: 1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	background-color: var(--contents-background-color);
	padding:1.5em 1.5em;
}
.sign .sign-tag
{
	display: inline-block;
	font-size: 0.8em;

	background-color: var(--accent-background-color);
	color: var(--accent-font-main-color);

	line-height: 1.5;
	padding:0.5em 1.0em;
	margin-bottom: 0.5em;
	border-radius: var(--border-radius);
}
.sign .sign-title
{
	font-size: 1.4em;
	font-weight: bold;
	border-bottom: 1px solid var(--contents-border-color);
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
.sign .sign-address
{
	margin-top: 0.25em;
} 
.sign .sign-notice
{
	font-size: 0.8em;
	margin-top: 0.25em;
	color: var(--contents-font-sub-color);
}
.sign .sign-link
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;

	margin:-0.25em;
}
.sign .sign-link > *
{
	margin:0.25em;
}
.sign .sign-link a
{
	line-height: 1;
}
.sign .sign-link a:hover
{
	opacity: 0.7;
}
.sign .sign-link > .sign-link-large
{
	flex:0 0 calc(100% - 0.5em);
	width:calc(100% - 0.5em);
}
.sign .sign-link > .sign-link-large a
{
	font-size: 1.8em;
	font-weight: bold;
}
.sign .sign-link a > i
{
	color: var(--contents-icon-color);
	margin-right: 0.25em;
}

/*
***************************************************************
投稿一覧
***************************************************************
*/
ul.post-list
{
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--contents-border-color);
}
ul.post-list > li
{
	margin: 0;
	padding:1.0em 0.5em;
	list-style: none;
	border-bottom: 1px solid var(--contents-border-color);
}
ul.post-list > li > .status
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	margin:-0.25em;
	margin-bottom: 0.25em;
}
ul.post-list > li > .status > .date
{
	font-size:0.8em;
	color: var(--contents-font-sub-color);
	margin:0.25em;
}
ul.post-list > li > .status > .category
{
	font-size:0.8em;
	color: var(--contents-font-sub-color);
	margin:0.25em;
}
ul.post-list > li > .title
{
	border-bottom: 1px solid transparent;
}
ul.post-list > li > .title:hover
{
	border-bottom: 1px dashed;
}
ul.post-list > li > .title > i
{
	color: var(--contents-icon-color);
}
ul.post-list > li > .description
{
	display: block;
	font-size: 0.8em;
	color: var(--contents-font-sub-color);
	margin-top: 0.25em;
	text-align: justify;
}

/*
***************************************************************
カルーセル
***************************************************************
*/
.carousel
{

}
.carousel .carousel-parent
{
	padding-bottom:0.5em;
}
.carousel .carousel-parent .slick-track
{
}
.carousel .carousel-item
{
	width:calc(333px - 0.5em);
}
.carousel .slick-prev
{
	left:calc(50% - 500px);
	transform:translate(-50%, -50%);
}
.carousel .slick-next
{
	right:calc(50% - 500px);;
	transform:translate(50%, -50%);
}
@media screen and (max-width:640px) {
	.carousel .carousel-item
	{
		width:70vw;
	}
	.carousel .slick-prev
	{
		left:calc(50% - 40vw);
		transform:translate(-50%, -50%);
	}
	.carousel .slick-next
	{
		right:calc(50% - 40vw);;
		transform:translate(50%, -50%);
	}
}

/*
***************************************************************
投稿一覧画面
***************************************************************
*/
.articles-wrapper
{
	display: grid;

	-ms-grid-rows: auto; /* 行区切り */
	-ms-grid-columns: calc(100% - 300px) 300px; /* 列区切り */
	
	grid-template-rows: auto; /* 行区切り */
	grid-template-columns: calc(100% - 300px) 300px; /* 列区切り */

	grid-template-areas: "list navi";
}
.articles-wrapper > .articles-list
{
	grid-area: list;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	margin:-0.5em;
}
.articles-wrapper > .articles-navi
{
	grid-area: navi;
	margin-left:2em;
}
.articles-wrapper > .articles-list > .articles-list-title
{
	margin:0.5em;
	flex:0 0 calc(100% - 1em);

	padding-left: 0.5em;
	border-left: 0.25em solid var(--contents-icon-color);
	font-size: 1.5em;
	font-weight: bold;
}
.articles-wrapper > .articles-list > .articles-list-item
{
	margin:0.5em;
	flex:0 0 calc(100% - 1em);

	display: grid;

	grid-template-rows: auto auto auto; /* 行区切り */
	grid-template-columns: 10em 1fr ; /* 列区切り */

	grid-template-areas: 
		"eyecatch title"
		"eyecatch description"
		"eyecatch status";

	padding:1.0em;
	border: 1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	background-color: var(--contents-background-color);
}
.articles-wrapper > .articles-list > .articles-list-item:hover
{
	box-shadow: 2px 2px 3px 0px #00000032;
}
.articles-wrapper > .articles-list > .articles-list-item .eyecatch
{
	grid-area: eyecatch;
	margin-right:0.5em;
}
.articles-wrapper > .articles-list > .articles-list-item .title
{
	grid-area: title;
	font-weight: bold;
	font-size: 1.2em;
}
.articles-wrapper > .articles-list > .articles-list-item .description
{
	grid-area: description;
	font-size: 0.8em;
	color: var(--contents-font-sub-color);
}
.articles-wrapper > .articles-list > .articles-list-item .status
{
	grid-area: status;
	font-size: 0.8em;
	color: var(--contents-font-sub-color);

	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	align-content: center;
}
.articles-wrapper > .articles-list > .articles-list-item .status > *
{
	margin-left: 0.25em;
}
.articles-wrapper > .articles-list > .paginate
{
	margin:0.5em;
	flex:0 0 calc(100% - 1em);
	justify-content: center;
}
.articles-wrapper > .articles-navi .articles-navi-title
{
	padding-left: 0.5em;
	border-left: 0.25em solid var(--contents-icon-color);
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom:0.5em;
}
.articles-wrapper > .articles-navi ul
{
	margin-bottom:1.0em;
	overflow: hidden;
}
.articles-wrapper > .articles-contents
{
	grid-area: list;
}
.articles-wrapper > .articles-contents .articles-contents-title
{
	padding:1.0em;
	border: 1px solid var(--contents-border-color);
	border-radius: var(--border-radius);
	background-color: var(--contents-background-color);
}
.articles-wrapper > .articles-contents .articles-contents-title > .title
{
	font-size: 1.5em;
	font-weight: bold;
}
.articles-wrapper > .articles-contents .articles-contents-title > .status
{
	color: var(--contents-font-sub-color);
	font-size: 0.8em;

	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-content: flex-start;
}
.articles-wrapper > .articles-contents .articles-contents-title > .status > *
{
	margin-left:0.5em;
}
.articles-wrapper > .articles-contents .articles-contents-title > .description
{
	font-size: 0.8em;
	color: var(--contents-font-sub-color);
	margin-top:0.5em;
	text-align: justify;
}
.articles-wrapper > .articles-contents .articles-contents-body
{
	
}
@media screen and (max-width:640px) {
	.articles-wrapper
	{
		-ms-grid-rows: auto auto; /* 行区切り */
		-ms-grid-columns: 100%; /* 列区切り */
		
		grid-template-rows: auto auto; /* 行区切り */
		grid-template-columns: 100%; /* 列区切り */
	
		grid-template-areas:
		"list"
		"navi";
	}
	.articles-wrapper > .articles-navi
	{
		margin-top:2em;
		margin-left:0em;
	}
}


/*
***************************************************************
ブロック-キャスト
***************************************************************
*/
.cast
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;

	margin:calc(var(--grid-margin) * -1);
}

.cast > .cast-item
{
	margin:var(--grid-margin);
	flex: 0 0 calc(50% - (var(--grid-margin) * 2));
	min-width: 0;
}
.cast .cast-item-1{flex: 0 0 calc( 55.00000% - (var(--grid-margin) * 2));}
.cast .cast-item-2{flex: 0 0 calc( 45.00000% - (var(--grid-margin) * 2));}
.cast .cast-item-3{flex: 0 0 calc( 33.33333% - (var(--grid-margin) * 2));}
.cast .cast-item-4{flex: 0 0 calc( 25.00000% - (var(--grid-margin) * 2));}
.cast .cast-item-5{flex: 0 0 calc( 20.00000% - (var(--grid-margin) * 2));}

.cast .cast-item .cast-item-thumbnail,
.cast .cast-item .cast-item-role,
.cast .cast-item .cast-item-actor
{
	display: block;
	margin-top:0.25em;
}
.cast .cast-item .cast-item-role
{
	display: block;
	color:var(--contents-icon-color);
	font-size: 0.8em;
	text-align: center;
}
.cast .cast-item .cast-item-actor
{
	display: block;
	text-align: center;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
	.cast .cast-item-1{flex: 0 0 calc( 80.00000% - (var(--grid-margin) * 2));}
	.cast .cast-item-2{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.cast .cast-item-3{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.cast .cast-item-4{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
	.cast .cast-item-5{flex: 0 0 calc( 50.00000% - (var(--grid-margin) * 2));}
}

/*
***************************************************************
ブロック-スタッフ
***************************************************************
*/
.staff
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;

	margin:calc(var(--grid-margin) * -1);
}

.staff > .staff-item
{
	margin:var(--grid-margin);
	flex: 0 0 auto;
	min-width: 0;
}
.staff .staff-item .staff-item-role,
.staff .staff-item .staff-item-name
{
	display: block;
	margin-top:0.25em;
}
.staff .staff-item .staff-item-role
{
	color:var(--contents-icon-color);
	font-size: 0.8em;
	text-align: center;
}
.staff .staff-item .staff-item-name
{
	text-align: center;
}
/* 小(スマートフォン) */
@media screen and (max-width:640px) {
}

/*
***************************************************************
ブロック-スポンサー
***************************************************************
*/
.sponsor
{
	display: grid;
	grid-template:
	" label list " auto
	/ 100px calc(100% - 100px);

	margin-bottom: 1.0em;
}

.sponsor > .sponsor-label
{
	grid-area: label;
	padding-right: 2.0em;
	font-weight: bold;
}
.sponsor > .sponsor-label-large
{
	font-size: 1.2em;
}
.sponsor > .sponsor-list
{
	margin-right: -0.8em;
}
.sponsor > .sponsor-list > .sponsor-name
{
	display: inline-block;
	margin-right:0.8em;
}


/*
***************************************************************
ブロック-スケジュール
***************************************************************
*/
.schedule
{
	overflow-x: auto;
}
.schedule table
{
	width:100%;
	border-spacing:0px;
	border-collapse:separate;
	border:0px solid transparent;
	border-top:1px solid var(--contents-border-color);
}
.schedule table thead tr th
{
	text-align: center;
	padding:0.5em;
	border-bottom:1px solid var(--contents-border-color);
}
.schedule table tbody tr td
{
	text-align: center;
	padding:0.8em;
	border-bottom:1px solid var(--contents-border-color);
}

/*
***************************************************************
ブロック-チケット
***************************************************************
*/
.ticket
{
}
.ticket .ticket-item
{
	display: grid;
	grid-template:
	" name        " auto
	" ........... " 0.5em
	" price       " auto
	" ........... " 0.5em
	" description " auto
	/ 100%;

	margin-bottom: 1.0em;
	padding:1.0em;

	border-radius:0  var(--border-radius) var(--border-radius) 0;
	border: 1px solid var(--contents-border-color);
	border-left: 0.25em solid var(--contents-icon-color);
	background-color: var(--contents-background-color);
}
.ticket .ticket-item:last-child
{
	margin-bottom: 0;
}
.ticket .ticket-item .ticket-item-name
{
	grid-area: name;
	font-weight: bold;
	font-size: 1.2em;
	border-bottom: 1px solid var(--contents-border-color);
}
.ticket .ticket-item .ticket-item-price
{
	grid-area: price;
	text-align: right;
	font-weight: bold;
	font-size: 1.5em;
}
.ticket .ticket-item .ticket-item-price .tax-label
{
	font-size: 0.5em;
}
.ticket .ticket-item .ticket-item-description
{
	grid-area: description;
	font-size: 0.9em;
}
