@charset "utf-8";

/*
***********************************************************************************************
カスタムプロパティ
***********************************************************************************************
*/

:root {
	/* フォント */
	--font-family-1: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS P Gothic","Osaka",Verdana,Arial, Helvetica, sans-serif;
	--font-family-2: 'YDWbananaslipplus';
	
	/* 色 */
	--color-1: #8ce0ff;
	--color-2: #faef5a;
	--color-3: #e1decf;
}


/*
***********************************************************************************************

***********************************************************************************************
*/

@viewport {
	width: device-width;
	initial-scale: 1;
}

* {
	box-sizing: border-box;
	-webkit-text-size-adjust: none; /* iOSでのレイアウト崩れを避ける */
}

html,
body {
	overflow-x: hidden;
}

/* .overflow-x{
	overflow-x: hidden;
} */

html {
	font-size: 62.5%;
	overflow: auto;	/* iOSでbodyにoverflow: hiddenが効かないとき */
}

body {
	background-color: #fff;
	/*
	background-image: url(../img/bg_body.jpg);
	background-repeat: repeat-x;
	border-top: 6px solid #0082CE;
	*/
	color: #000;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS P Gothic","Osaka",Verdana,Arial, Helvetica, sans-serif;
	font-feature-settings: 'palt';
	font-size: 1.7rem;
	letter-spacing: .05em;
	line-break: strict;
	line-height: 2;
	margin: 0;
	min-width: 1200px;
	overflow-wrap: break-word;
	padding: 0;
	text-justify: inter-character;
	word-break: break-all;
}

	.viewmode-mobile {
		font-size: 1.3rem;
		min-width: 0;
		/*
		padding-top: 54px;
		*/
	}

h1 {
	/*
	background-image: url(../img/bg_h1.jpg);
	*/
	background-repeat: no-repeat;
	background-position: 0px 0px;
	color: #111;
	font-size: 180%;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin: 0px 0px 35px 0px;
	padding: 5px 5px 5px 5px;
	position: relative;
}

h2 {
	/*
	background-image: url(../img/bg_h2.jpg);
	background-color: #EFF1F3;
	background-repeat: no-repeat;
	background-position: 0px 0px;
	border-top:2px solid #BDC6CE;
	border-left:1px solid #BDC6CE;
	border-right:1px solid #BDC6CE;
	border-bottom: 1px solid #BDC6CE;
	*/
	/* text-align: left; */
	/* font-weight: bold;
	font-size: 160%;
	letter-spacing: .05em;
	line-height: 1.4;
	margin: 10px 0px 30px 0px;
	padding: 0px 0px 0px 0px; */
	/* position: relative; */
	/* text-align: center; */
}

	/* .viewmode-mobile h2 {
		font-size: 160%;
		margin: 10px 0px 20px 0px;
	} */

	/* 罫線の飾り */
	/* h2::after {
		background-color: #c11c29;
		display: block;
		content: "";
		margin: 15px auto 0 auto;
		position: relative;
		height: 5px;
		width: 65px;
	}

		.viewmode-mobile h2::after {
			height: 3px;
			margin-top: 10px;
			width: 40px;
		} */

h3 {
	/*
	background-image: url(../img/bg_h3.jpg);
	background-repeat: repeat-x;
	background-position: bottom;
	background-color: #f5f5f5;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	clear: both;
	*/
	font-size: 150%;
	font-weight: bold;
	line-height: 1.4;
	margin: 10px 0px 20px 0px;
	padding: 5px 0px 5px 0px;
	text-align: center;
}

	.viewmode-mobile h3 {
		font-size: 130%;
		margin: 10px 0px 10px 0px;
	}

h4 {
	/*
	border-left: 5px solid #00a3d8;
	*/
	clear: both;
	font-weight: bold;
	font-size: 130%;
	line-height: 1.4;
	margin: 5px 0px 15px 0px;
	text-align: center;
	padding: 3px 5px 3px 7px;
}

h5 {
	font-size: 110%;
	font-weight: bold;
	margin: 5px 0px 15px 0px;
	text-align: center;
}

p {
	margin: 0 0 0 0;
}

section + section {
	margin-top: 100px;
}

	.viewmode-mobile section + section {
		margin-top: 50px;
	}

strong {
	font-weight: bold;
}

img {
}

	.viewmode-mobile img {
		max-width: 100%
	}

a {
	color: #c11c29;

	/* FireFox リンク選択時の点線を消す　*/
	overflow: hidden;
	outline: none;

	-webkit-tap-highlight-color: #c11c29;
}

	a:link {
	}

	a:visited {
		/*
		color: #7FAAE5;
		*/
	}

	a:hover {
		text-decoration: none;
	}

	a:active {
		color: #ccc;
	}

	a[name] {
		display: block;
		/* ヘッダーを固定した分、アンカーの表示位置をずらす */
		margin-top: -100px;
		padding-top: 100px;
	}

		.viewmode-mobile a[name] {
			margin-top: 0px;
			padding-top: 0px;
		}

	.viewmode-pc a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}

	.viewmode-pc a img {
		transition: all .2s ease;

		-webkit-backface-visibility: hidden;
	}

		.viewmode-pc a:hover img {
			opacity: 0.7;
		}

figure {
	display: block;
	margin: 0;
	padding: 0;
}


div {}
	div > h1:first-child,
	div > h2:first-child,
	div > h3:first-child,
	div > h4:first-child,
	div > h5:first-child {
		margin-top: 0;
	}

section {}

	section > h1:first-child,
	section > h2:first-child,
	section > h3:first-child,
	section > h4:first-child,
	section > h5:first-child {
		margin-top: 0;
	}

main {
	display: block;
}

aside {
	display: block;
}

table {
	/* border-collapse: collapse; */
	}

		/* スマホ表示の際、1カラムに可変 */
		.screen-xxs table.responsive {
			display: block;
			height: auto !important;
			max-width: 100%;
		}

		thead {
		}

			.screen-xxs table.responsive > thead {
				display: block;
				width: 100%;
			}

		tbody {
		}

			.screen-xxs table.responsive > tbody {
				display: block;
				width: 100%;
			}

		tr {
		}

			.screen-xxs table.responsive > thead > tr,
			.screen-xxs table.responsive > tbody > tr {
				display: block;
				height: auto !important;
			}

		th {
		}

		td {
		}

			.screen-xxs table.responsive > caption,
			.screen-xxs table.responsive > thead > tr > th,
			.screen-xxs table.responsive > thead > tr > td,
			.screen-xxs table.responsive > tbody > tr > th,
			.screen-xxs table.responsive > tbody > tr > td {
				display: block;
				height: auto !important;
				width: auto !important;
			}

			.screen-xxs table.responsive > tbody > tr > th {
				line-height: 1.4;
			}

			td > h1:first-child,
			td > h2:first-child,
			td > h3:first-child,
			td > h4:first-child,
			td > h5:first-child{
				margin-top:0;
			}

ol {
	margin: 0px;
	padding-left: 28px;
}

	ol > li {
		margin: 0px;
		padding: 0px;
		list-style-type: decimal;
	}

		ol > li + li {
			margin-top: 0.3em;
		}

ul {
	margin: 0px;
	padding-left: 1.5em;
	list-style: none;
	padding-left: 0;
}

	ul > li {
		margin: 0px;
		padding: 0px;
	}

		ul > li + li {
			margin-top: 0.3em;
		}


/*
***********************************************************************************************
aの汎用クラス（リンクボタン）
***********************************************************************************************
*/

/* スタイル1 角 */
.btn {
	background-color: transparent;
	border: 2px solid #000;
	color: #000;
	display: inline-block;
	/*
	font-family: 'Century Gothic', 'Questrial', sans-serif;
	*/
	/*
	font-size: 90%;
	*/
	min-width: 200px;
	line-height: 1.8;
	overflow: visible;
	padding: 0.3em 1.5em 0.3em 1.5em;
	position: relative;
	text-align: center;
	text-decoration: none;

	transition: all .2s ease;
	transition-property: background-color, border, color;
	border-radius: 0px;
	vertical-align: top;
	z-index: 1;
}

	.viewmode-mobile .btn {
		font-size: 100%;
	}

	.btn:link {
		color: #000;
	}

	.btn:hover {
		/*
		background-color: #000;
		*/
		border: 2px solid #000;
		color: #fff;
	}

	/*
	@keyframes hover-in {
		0% {
			transform: scale(0, 1);
		}
		100% {
			transform: scale(1, 1);
		}
	}
	*/

	/* マウスオーバーの背景 */
	.btn::before {
		background-color: #000;
		content: "";
		display: block;
		top: 0;
		height: 100%;
		left: 0;
		position: absolute;
		width: 100%;
		z-index: -1;

		transform: scale(0, 1);
		transform-origin: left;
		transition: all .2s ease;
	}

		.btn:hover::before {
			/*
			animation: hover-in .2s ease-out forwards;
			*/
			transform: scale(1, 1);
		}

	.btn + .icon_external {
		display: none;
	}

/* スタイル2 角・白 */
.btn.type02 {
	border-color: #fff;
	color: #fff;
}

	.btn.type02:hover {
		/*
		background-color: #fff !important;
		*/
		color: #000;
	}

	.btn.type02::before {
		background-color: #fff;
		/*
		background-color: rgba(255,255,255,0.8);
		*/
	}


/* スタイル3 色つき */
.btn.type03 {
	background-color: transparent;
	border: 2px solid #c11c29;
	color: #fff;
}

	.btn.type03:hover {
		color: #000;
	}

	.btn.type03::before {
		background-color: #c11c29;
		transform: scale(1, 1.1);
		transform-origin: right;
	}

		.btn.type03:hover::before {
			transform: scale(0, 1.1);
		}


/* スタイル4 色つき・丸 */
.btn.type04 {
	background-color: transparent;
	border: 2px solid #c11c29;
	color: #fff;

	border-radius: 1.5em;
}

	.btn.type04:hover {
		color: #000;
	}

	.btn.type04::before {
		background-color: #c11c29;
		transform: scale(1, 1.03);
		border-radius: 1.5em;
	}

		.btn.type04:hover::before {
			background-color: transparent;
			transform: scale(1, 1.03);
		}


/* スタイル5 色つき枠 */
.btn.type05 {
	background-color: transparent;
	border: 2px solid #c11c29;
	color: #000;
}

	.btn.type05:hover {
		background-color: #c11c29;
		border: 2px solid #c11c29;
		color: #fff;
	}

	.btn.type05::before {
		background-color: #c11c29;
	}


/* スタイル6 枠のみ・丸 */
.btn.type06 {
	background-color: transparent;
	border: 2px solid #c11c29;
	color: #000;

	border-radius: 1.5em;
}

	.btn.type06:hover {
		border: 2px solid #c11c29;
		color: #fff;
	}

	.btn.type06::before {
		background-color: transparent;
		border-radius: 1.5em;
		transform: scale(1, 1.03);
	}

		.btn.type06:hover::before {
			background-color: #c11c29;
			transform: scale(1, 1.03);
		}

/* スタイル7 背景あり */
.btn.type07 {
	background-image: url(../../img/title-bk02.png);
	/* background-size: 5%; */
	border-radius: 10px;
	color: #fff;
	/* font-family: 'YDWbananaslipplus'; */
	font-size: 27px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1.2;
	margin: 0 auto 20px auto;
	padding: 0.2em 0.1em 0.65em 0.1em;
	position: relative;
	z-index: 0;
	border: none;
	width: 500px;
}

.btn.type07::before {
	content: none;
}

.btn.type07::after {
	background-color: #d7000f;
	bottom: 6px;
	border-radius: 10px;
	content: "";
	height: 100%;
	position: absolute;
	right: 3px;
	width: 100%;
	z-index: -1;
}

.btn.type07:hover {
	opacity: .7;
}

	.viewmode-mobile .btn.type07::after {
		bottom: 5px;
		right: 5px;
	}


/*
***********************************************************************************************
h1の汎用クラス
***********************************************************************************************
*/

/* 画像用 */
h1.img {
	padding: 0px;
	border-top-style: none;
	background-image: none;
	margin-bottom: 25px;
}


/*
***********************************************************************************************
h2の汎用クラス
***********************************************************************************************
*/

/* 画像用 */
h2.img {
	background-image: none;
	border: 0px solid #fff;
	margin: 0px 0px 15px 0px;
	padding: 0px;
}

/* 角丸型 */
h2.type01 {
	background-image: url(../img/bg_dot_02.png);
	background-size: 13px;
	border-radius: 100vh;
	color: #fff;
	font-family: 'YDWbananaslipplus';
	font-size: 180%;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 auto 20px auto;
	padding: .1em .1em .55em .1em;
	position: relative;
	z-index: 0;
}

	h2.type01::after {
		background-color: #000;
		bottom: 8px;
		border-radius: 100vh;
		content: '';
		height: 100%;
		position: absolute;
		right: 8px;
		width: 100%;
		z-index: -1;
	}

		.viewmode-mobile h2.type01::after {
			bottom: 5px;
			right: 5px;
		}

/* 別バージョン */
/* 角丸型 */
h2.type01-02 {
	/* background-image: url(../img/bg_dot_02.png); */
	background-size: 13px;
	border-radius: 100vh;
	color: #fff;
	/* font-family: 'YDWbananaslipplus'; */
	font-size: 40px;
	font-weight: bold;
	letter-spacing: -.05em;
	line-height: 1.1;
	margin: 0 auto 1em auto;
	padding: .1em .1em .55em .1em;
	position: relative;
	text-align: center;
	width: 98%;
	z-index: 0;
}

	h2.type01-02::after {
		background-color: #000;
		border-radius: 100vh;
		bottom: 8px;
		content: '';
		height: 100%;
		position: absolute;
		/* text-align: center; */
		right: 8px;
		width: 100%;
		z-index: -1;
	}

	.viewmode-mobile h2.type01-02 {
		font-size: 20px;
		line-height: 1.5;
		margin: 0 auto 1em auto;
		padding: .25em .1em .5em .1em;
		/*
		width: 90%;
		*/
	}

		.viewmode-mobile h2.type01-02::after {
			bottom: 5px;
			right: 5px;
		}


/* 吹き出し型 */
h2.type02 {
	text-align: center;
}

	h2.type02::after {
		content: none;
	}

	h2.type02 small {
		background-color: #fff;
		border-top: 3px solid #000;
		border-bottom: 3px solid #000;
		color: #000;
		display: table;
		font-family: 'YDWbananaslipplus';
		font-size: 33px;
		font-weight: normal;
		letter-spacing: -.05em;
		line-height: 1.5;
		margin: 0 auto 20px auto;
		padding: 0em .25em .1em .25em;
		position: relative;
		z-index: 2;
	}

		.viewmode-mobile h2.type02 small {
			font-size: 26px;
		}

	/* フキダシの飾り */
	h2.type02 small::after {
		background-color: #fff;
		border-bottom: 3px solid #000;
		border-left: 3px solid #000;
		bottom: -12px;
		box-sizing: border-box;
		content: '';
		display: block;
		height: 20px;
		left: 50%;
		margin-left: -10px;
		position: absolute;
		width: 20px;
		z-index: 1;
		transform: rotate(-45deg);
	}

		.viewmode-mobile h2.type02 small::after {

		}


/*
***********************************************************************************************
h3の汎用クラス
***********************************************************************************************
*/

h3.type01 {
	background-color: #fff;
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
	color: #000;
	display: block;
	font-family: 'YDWbananaslipplus';
	font-size: 48px;
	font-weight: normal;
	letter-spacing: -.05em;
	margin: 0 auto 20px auto;
	padding: 0em .25em .1em .25em;
	position: relative;
	z-index: 2;
	width: fit-content;
}

	.viewmode-mobile h3.type01 {
		border-top: 2px solid #000;
		border-bottom: 2px solid #000;
		font-size: 26px;
	}

	/* フキダシの飾り */
	h3.type01::after {
		background-color: inherit;
		border-bottom: 3px solid #000;
		border-left: 3px solid #000;
		bottom: -12px;
		box-sizing: border-box;
		content: "";
		display: block;
		height: 20px;
		left: 50%;
		margin-left: -10px;
		position: absolute;
		width: 20px;
		z-index: 1;
		transform: rotate(-45deg);
	}

		.viewmode-mobile h3.type01::after {
			border-bottom: 2px solid #000;
			border-left: 2px solid #000;
		}


/* 吹き出し型 */
h3.type02 {
	border-bottom: 3px solid #000;
	color: #ed1c24;
	display: block;
	font-family: 'YDWbananaslipplus';
	font-size: 44px;
	font-weight: normal;
	letter-spacing: -.05em;
	margin: 0 auto 25px auto;
	padding: 0em .25em .25em .25em;
	position: relative;
	width: fit-content;
}

	/* 罫線の飾り */
	h3.type02::after {
		border-bottom: 3px solid #000;
		box-sizing: border-box;
		content: "";
		display: block;
		left: 32%;
		position: absolute;
		width: 20px;
		bottom: -12px;
		transform: rotate(50deg);
	}

	.viewmode-mobile h3.type02 {
		font-size: 27px;
		width: 173px;
		padding: 0px 0px 5px 0px;
	}

/* スタイル3 */
h3.type03 {
	background-color: transparent;
	background-image: none;
	border: none;
	border-bottom: 4px solid #e4e8eb;
	/*
	font-size: 28px;
	*/
	margin-top: 0;
	padding: 0px 0px 10px 5px;
	position: relative;
}

	h3.type03::before {
		content: none;
	}

	/* 罫線の飾り（未使用） */
	/*
	h3.type03::after {
		border-bottom: 4px solid #c11c29;
		box-sizing: border-box;
		content: "";
		display: block;
		left: 0px;
		position: absolute;
		width: 200px;
		bottom: -4px;
	}
	*/

	.viewmode-mobile h3.type03 {
		padding: 0px 0px 5px 0px;
	}


/*
***********************************************************************************************
h4の汎用クラス
***********************************************************************************************
*/

/* 吹き出し型 */
h4.type01 {
	background-color: #fff;
	border: 2px solid #000;
	border-radius: 50px;
	color: #000;
	display: table;
	font-size: 24px;
	letter-spacing: 0;
	margin: 0 auto 50px auto;
	padding: .5em 1em .5em 1em;
	position: relative;
	filter: drop-shadow(5px 5px 0 #000);
}

	/* 罫線の飾り */
	h4.type01::after {
		background-color: #fff;
		border-bottom: 2px solid #000;
		border-right: 2px solid #000;
		bottom: -12px;
		box-sizing: border-box;
		content: "";
		display: block;
		height: 20px;
		left: 50%;
		margin-left: -10px;
		position: absolute;
		width: 20px;
		z-index: 1;
		transform: rotate(90deg) skewX(45deg);
	}

	.viewmode-mobile h4.type01 {
	}


/*
***********************************************************************************************
emの汎用クラス
***********************************************************************************************
*/

/* マーカー */
em.type01 {
	background: linear-gradient(transparent 60%, #ff0 0%);
	font-style: normal;
	/*
	font-size: 33px;
	*/
}

	.viewmode-mobile  em.type01 {
		/*
		font-size: 17px;
		line-height: 1.6;
		*/
	}


/*
***********************************************************************************************
pの汎用クラス
***********************************************************************************************
*/

/* 吹き出し風 */
p.type05 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 46px;
	text-align: center;
	color: #d7000f;
}

	p.type05::before,
	p.type05::after {
		content: '';
		width: 4px;
		height: 40px;
		background-color: #d7000f;
	}

	p.type05::before {
		margin-right: 30px;
		transform: rotate(-35deg)
	}

	p.type05::after {
		margin-left: 30px;
		transform: rotate(35deg)
	}

	.viewmode-mobile p.type05 {
		font-size: 17px;
	}

		.viewmode-mobile p.type05::before,
		.viewmode-mobile p.type05::after {
			width: 3px;
			height: 24px;
		}

		.viewmode-mobile p.type05::before {
			margin-right: 12px;
		}

		.viewmode-mobile p.type05::after {
			margin-left: 12px;
		}


/*
***********************************************************************************************
円クラス
***********************************************************************************************
*/

div.circle {
	position: relative;
	width: 181px;
	height: 181px;
	border-radius: 50%;
	background: #FFF;
	border: solid 3px #534741;
}

	div.circle p {
		text-align:center;
		line-height: 30px;
	}


/*
***********************************************************************************************
画像の汎用クラス
***********************************************************************************************
*/

/* スタイル2 枠つき */
img.type02 {
	border: 1px solid #ccc;
	padding: 5px;
}


/*
***********************************************************************************************
リストの汎用クラス
***********************************************************************************************
*/

/* スタイル1 矢印 */
ul.type01 {
	list-style-type: none;
}

	ul.type01 > li {
		list-style-type: none;
		position: relative;
	}

		ul.type01 > li::before {
			color: #c11c29;
			content: "\f054";	/* fa-chevron-right */
			display: block;
			font-family: 'Font Awesome 5 Free';
			font-size: .8em;
			font-weight: 900;
			line-height: 1.5;
			top: .45em;
			left: -1.3em;
			position: absolute;
		}

/* スタイル1B 矢印（下向き） */
ul.type01.down {

}

	ul.type01.down > li {

	}

		/* 矢印の飾り */
		ul.type01.down > li::before {
			content: "\f078";	/* fa-chevron-down */
		}


/* スタイル2 米印 */
ul.type02 {
	list-style-type: none;
}

	ul.type02 > li {
		list-style-type: none;
		position: relative;
	}

		ul.type02 > li::before {
			content: "※";
			display: block;
			font-size: 1em;
			left: -1.35em;
			position: absolute;
			top: -.05em;
		}

/* スタイル3 横並び（未使用） */
ul.type03 {
	list-style-type: none;
	padding: 0px;
}

	ul.type03 > li {
		border-left: 1px solid #ccc;
		display: inline;	/* ie11でのバグのため、inline-blockでなくinlineにすること */
		margin: 0 -0.4em 0 0;
		padding: 0 1em;
		vertical-align: top;
	}

		ul.type03 > li:first-child {
			border-left: 0px solid #fff;
		}

/* スタイル4 横並び・矢印 */
ul.type04 {
	padding: 0px;
}

	ul.type04 > li {
		display: inline;	/* ie11でのバグのため、inline-blockでなくinlineにすること */
		line-height: 1.5;
		margin: 0 0 0 0;
		padding: 0 0 0 1em;
		position: relative;
		vertical-align: top;
	}

		/* 矢印の飾り */
		ul.type04 > li::before {
			color: #c11c29;
			content: "\f054";	/* fa-chevron-right */
			display: block;
			font-family: 'Font Awesome 5 Free';
			font-size: 0.8em;
			font-weight: 900;
			line-height: 1;
			top: .3em;
			left: 0em;
			position: absolute;
		}

			.ios .viewmode-mobile ul.type04 > li::before {
				top: .8em;
			}

		ul.type04 > li + li {
			margin-left: 1.5em;
		}


/* スタイル4B 横並び・矢印（下向き） */
ul.type04.down {

}

	ul.type04.down > li {

	}

		/* 矢印の飾り */
		ul.type04.down > li::before {
			content: "\f078";	/* fa-chevron-down */
		}

			.ie ul.type04.down > li::before {
				top: -.1em;
			}

		ul.type04 > li + li {
		}


ul.none {
	list-style-type: none;
}


/*
***********************************************************************************************
imgの汎用クラス
***********************************************************************************************
*/

/* 写真の黒縁 */
img.photo {
	border: 1px solid #9CA7A9;
}


/*
***********************************************************************************************
tableの汎用クラス
***********************************************************************************************
*/

/* スタイル1 */
table.type01 {
	border: 1px solid #ccc;
	border-collapse: collapse;
}

	.viewmode-mobile table.type01.responsive {
		border: 0px solid #fff;
		border-top: 1px solid #ccc;
	}

	table.type01 > thead > tr > th {
		background-color: #e8ebee;
		border: 1px solid #ccc;
	}

	table.type01 > tbody > tr > th {
		background-color: #e4e8eb;
		border: 1px solid #ccc;
	}

		.viewmode-mobile table.type01.responsive > tbody > tr > th {
			margin-top: -1px;
		}

	table.type01 > tbody > tr > td {
		border: 1px solid #ccc;
	}

		.viewmode-mobile table.type01.responsive > tbody > tr > td {
			margin-top: -1px;
		}


/* スタイル2 */
table.type02 {
	/*
	border-collapse: collapse;
	*/
	border-spacing: 0;
}

	.viewmode-mobile table.type02.responsive {
		border-top: 0px solid #fff;
		border-bottom: 0px solid #fff;
	}

	table.type02 tr {
		border-top: 1px solid #000;
	}

	table.type02 th {
		/*
		background-color: #cfcdc1;
		*/

		font-weight: bold;
		padding: 1em;
		position: relative;
	}

		table.type02 th::after {
		}

		table.type02 > thead > tr > th {
		}

			/* 背景の塗り */
			table.type02 > thead > tr > th::after {
				background-color: rgba(0,0,0,.1);
				box-sizing: border-box;
				content: '';
				display: block;
				position: absolute;
				left: .5em;
				top: .5em;
				width: calc(100% - 1em);
				height: calc(100% - 1em);
			}

		table.type02 > tbody > tr > th {
			border-top: 1px solid #000;
		}

			.viewmode-mobile table.type02.responsive > tbody > tr > th {
				margin-top: -1px;
			}

			table.type02 > tbody > tr > th::after {
				border: 1px solid #000;
				box-sizing: border-box;
				content: '';
				display: block;
				position: absolute;
				left: .5em;
				top: .5em;
				width: calc(100% - 1em);
				height: calc(100% - 1em);
			}


			table.type02 > tbody > tr:first-child > th {
				border-top: 0 solid #000;
			}

	table.type02 td {
		padding: 1em;
	}

		table.type02 > tbody > tr > td {
			border-top: 1px solid #000;
			border-right: 1px solid #000;
		}

			table.type02 > tbody > tr > td:last-child {
				border-right: 0 solid #000;
			}

			table.type02 > tbody > tr:first-child > td {
				border-top: 0 solid #000;
			}

		.viewmode-mobile table.type02.responsive > tbody > tr > td {
			margin-top: -1px;
		}


/* スタイル3 */
table.type03 {
}
	table.type03 > tbody > tr > th {
		background-color: #999;
		color: #fff;
	}

	table.type03 > tbody > tr > td {
	}

		table.type03 > tbody > tr.odd > td {
			background-color: #e4e8eb;
		}

			.viewmode-mobile table.type03 > tbody > tr.odd > td {
				background-color: #fff;
			}


/*
***********************************************************************************************
hrの汎用クラス
***********************************************************************************************
*/

/* テキストブラウザ用 */
hr.none {
	display: none;
}


/*
***********************************************************************************************
asideの汎用クラス
***********************************************************************************************
*/

/* 欄外の注意書き用 */
aside .remark {
	font-size: 110%;
	background-image: none;
	border-top-style: none;
	border-left-style: none;
	border-right-style: none;
	background-color: transparent;
	margin-top: 0px;
	padding-left: 0px;
	padding-top: 0px;
	padding-bottom: 3px;
	border-bottom: 1px solid #8A93AA;
}


/*
***********************************************************************************************
margin,paddingの汎用クラス
***********************************************************************************************
*/

.mt0 { margin-top: 0px !important; }
.mt3 { margin-top: 3px !important; }
.mt5 { margin-top: 5px !important; }
.mt6 { margin-top: 6px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt50 { margin-top: 50px !important; }

.mt-40 { margin-top: -40px !important; }

.mra { margin-right: auto !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }

.mla { margin-left: auto !important; }
.ml0 { margin-left: 0px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.ml50 { margin-left: 50px !important; }
.ml100 { margin-left: 100px !important; }
.ml115 { margin-left: 115px !important; }

.mb0 { margin-bottom: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }

.pt0 { padding-top: 0px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }

.pra { padding-right: auto !important; }
.pr0 { padding-right: 0px !important; }
.pr5 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr40 { padding-right: 40px !important; }

.pda { padding-bottom: auto !important; }
.pd0 { padding-bottom: 0px !important; }
.pd5 { padding-bottom: 5px !important; }
.pd10 { padding-bottom: 10px !important; }
.pd15 { padding-bottom: 15px !important; }
.pd20 { padding-bottom: 20px !important; }
.pd25 { padding-bottom: 25px !important; }
.pd30 { padding-bottom: 30px !important; }
.pd40 { padding-bottom: 40px !important; }

.pl0 { padding-left: 0px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl65 { padding-left: 65px !important; }


/*
***********************************************************************************************
その他汎用クラス
***********************************************************************************************
*/

/* 文字サイズ ━━━━━━━━━━━━━━━━━━ */

.fontsize_xxl { font-size: 140%;}
.fontsize_xl { font-size: 130%;}
.fontsize_l { font-size: 120%;}
.fontsize_m { font-size: 110%;}
.fontsize_ms { font-size: 110%;}
.fontsize_s { font-size: 80%;}
.fontsize_xs { font-size: 60%;}


/* 色 ━━━━━━━━━━━━━━━━━━━━━━━ */

.color01 { color: #e33b3f; }
.color02 { color: #0055cc; }
.color03 {  }
.color99 { color: #fff; }


/* 警告 ━━━━━━━━━━━━━━━━━━━━━━━ */

.note{ color: #ee0000;}
.note a{ color: ee0000;}


/* float ━━━━━━━━━━━━━━━━━━━━━━━ */

.right { float: right;}
.left { float: left;}
.clear { clear: both;}


/* 必須項目 ━━━━━━━━━━━━━━━━━━━━━━━ */

.require {
	color: #ee0000;
}


/* ペンディング部分 ━━━━━━━━━━━━━━━━━━━━━━━ */

.pending {
	color: #ee0000;
}
