@charset "utf-8";

:root {
	--main-font: 'Shuei MaruGo B', 'Hiragino UD Sans F W3 JIS2004', 'UD Shin Go Light', 'ヒラギノ角ゴ Pro W2', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

/*------------------------------*/
html,body {
	font-family: var(--main-font);
	margin:0px;
	padding:0px;
	word-break:break-all;
}
/*------------------------------*/
h1,h2,h3 {
	font-size:15px;
	font-weight:normal;
	margin:0px;
	padding:0px;
}
/*------------------------------*/
/* ボタンのフォーマット (クロスブラウザ対策 明示的に指定) */
input[type="submit"],button {
	font-family: 'ヒラギノ角ゴ Pro W2', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-size:14px;
	cursor:pointer;
}
/*------------------------------*/
/* FORMに親要素の値を引き継ぐ */
textarea {
	font-family: inherit !important;
	font-size: 100%;
}

/*------------------------------*/
/* フォームの autocomplete 無効 */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px white inset !important; /* オフにする */
}
/*------------------------------*/
/* リストタグ */
ul, ol {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

li::before {
  position: absolute;
  left: 0;
  content: "";
}

li {
	margin-top: 10px;
	position: relative;
	padding-left: 10px;
}
/*------------------------------*/
/* コンテンツの要素 (common.js) */
#header,#main_contents,#footer {
	box-sizing:border-box;
}
/*------------------------------*/
/* 隙間調整 */
*,*::before,*::after {
	box-sizing:border-box;
}
/*------------------------------*/
@-ms-viewport {
	width:device-width;
}
/*------------------------------*/
/* ロード後に表示 */
.js_load_visibility {
	visibility:hidden;
}
/*------------------------------*/
/* 選択不可能にする */
.user_select_none {
	-webkit-user-select: none; /* Chrome or Safari */
	-webkit-touch-callout: none; /* Android and iOS*/
	-moz-user-select: none; /* FireFox */
	-ms-user-select: none; /* IE */
	-o-user-select: none; /* Opera */
	user-select: none;
}
/* 全ポインターイベントOFF */
.pointer_events_none {
	pointer-events: none; 
}
/*------------------------------*/
/* テキストの隙間調整 */
p {
	margin:0px 0px 10px 0px;
}
/*------------------------------*/
/* 画像 */
img, svg {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: middle;
	image-rendering: auto;
	image-rendering: high-quality;
	image-rendering: -webkit-optimize-contrast;
}
/*------------------------------*/
/* Aリンク */
a {
	color:#000000;
	text-decoration:none;
}
/*------------------------------*/
/* アンダーラインリンク */
.underline {
	text-decoration:underline;
}
.hover_underline {
	text-decoration:none;
	transition:1s;
}
.hover_underline:hover {
	text-decoration:underline;
}
/*------------------------------*/
/* 100％幅の正円マスク */
.circle_mask {
	width: 100%;
	padding-top: 100%;
	border-radius: 50%;
	position: relative;
	overflow: hidden;
}
.circle_mask img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}
/*------------------------------*/
/* 枠内に広げる画像枠 (親:高さが必要) */
.image_box_frame {
	overflow: hidden;
	position: relative;
}
/* 上付け画像スタイル (子) 背景画像を追加 */
.cover_box_top {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
/* 中央付け画像スタイル (子) 背景画像を追加 */
.cover_box_center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/*------------------------------*/
/* 固定背景枠 (サファリ対応 / 高さが必要) */
.background_frame {
	position: relative;
	overflow: hidden;
}
/* 固定背景 */
.background_frame_bg {
	height:100%;
	width:100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
/* 未対応の Safari 対策 */
@supports (-webkit-touch-callout: none) {
	.background_frame_bg {
		background-attachment: scroll;
	}
}

/*------------------------------*/
/* ホバーリサイズ */
.hover_scale, .hover_scale_center, .hover_shadow {
	transition:0.5s;
	cursor:pointer;
	transform-origin: center;
}
/* ホバーリサイズ */
.hover_scale:hover {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}
/* ホバーリサイズ [センタリング用] */
.hover_scale_center:hover {
	transform:translate(-50%, -50%) scale(1.1) ;
	-webkit-transform: translate(-50%, -50%) scale(1.1) ;
}
/* ホバーテキストシャドウ */
.hover_shadow:hover {
	text-shadow: 1px 3px 3px rgba(0, 0, 0, 0.3);
}
.hover_f0f0f0, .hover_000000, .hover_999999 {
	transition: 0.3s;
}
.hover_f0f0f0:hover {
	background-color: #f0f0f0;
}
.hover_000000:hover {
	background-color: #000000;
}
.hover_999999:hover {
	background-color: #999999;
}
/*------------------------------*/
/* 画像リンク */
.a_hover:hover {
	transition: 0.3s;
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha(opacity=80)";
}
/*------------------------------*/
/* 改行しない */
.white_space_nowrap {
	white-space:nowrap;
}
/* 文字数制限 */
.character_limit {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* ------------------------------ */
/* テーブル */
table {
	border-collapse:collapse;
	border-spacing:0;
}
/* ------------------------------ */
/* ラベル */
label {
	cursor:pointer;
}
/*------------------------------*/
/* 回り込み解除 */
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
/* ------------------------------ */
/* 回り込み設定 */
.float_left { float:left; }
.float_right { float:right; }
.clear_both { clear:both; }
/*------------------------------*/
/* 位置揃え */
.text_align_center { 
	text-align:center; 
}
.text_align_left { 
	text-align:left; 
}
.text_align_right { 
	text-align:right; 
}
/*------------------------------*/
/* フラットテキスト */
.font_weight_bold,strong,b { font-weight:bold; }
.font_weight_normal { font-weight:normal; }
/*------------------------------*/
/* margin調整 */
.margin_all_01 { margin:1px; }
.margin_all_05 { margin:5px; }
.margin_all_10 { margin:10px; }
.margin_top_02 { margin-top:2px; }
.margin_top_05 { margin-top:5px; }
.margin_top_10 { margin-top:10px; }
.margin_top_20 { margin-top:20px; }
.margin_top_30 { margin-top:30px; }
.margin_top_40 { margin-top:40px; }
.margin_top_50 { margin-top:50px; }
.margin_top_60 { margin-top:60px; }
.margin_top_70 { margin-top:70px; }
.margin_top_80 { margin-top:80px; }
.margin_top_90 { margin-top:90px; }
.margin_top_100 { margin-top:100px; }
.margin_top_150 { margin-top:150px; }
.margin_top_200 { margin-top:200px; }
.margin_top_300 { margin-top:300px; }

.margin_bottom_01 { margin-bottom:1px; }
.margin_bottom_05 { margin-bottom:5px; }
.margin_bottom_10 { margin-bottom:10px; }
.margin_bottom_20 { margin-bottom:20px; }
.margin_bottom_30 { margin-bottom:30px; }
.margin_bottom_40 { margin-bottom:40px; }
.margin_bottom_50 { margin-bottom:50px; }
.margin_bottom_70 { margin-bottom:70px; }
.margin_bottom_100 { margin-bottom:100px; }
.margin_bottom_200 { margin-bottom:200px; }

.margin_left_01 { margin-left:1px; }
.margin_left_05 { margin-left:5px; }
.margin_left_10 { margin-left:10px; }
.margin_left_20 { margin-left:20px; }

.margin_right_05 { margin-right:5px; }
.margin_right_10 { margin-right:10px; }
.margin_right_20 { margin-right:20px; }

.margin_up_02 { margin-top:2px; margin-bottom:2px; }
.margin_up_05 { margin-top:5px; margin-bottom:5px; }
.margin_up_10 { margin-top:10px; margin-bottom:10px; }
.margin_up_20 { margin-top:20px; margin-bottom:20px; }
.margin_up_30 { margin-top:30px; margin-bottom:30px; }
.margin_up_40 { margin-top:40px; margin-bottom:40px; }
.margin_up_50 { margin-top:50px; margin-bottom:50px; }
.margin_up_70 { margin-top:70px; margin-bottom:70px; }
.margin_up_150 { margin-top:150px; margin-bottom:150px; }

.margin_side_05 { margin-right:5px; margin-left:5px; }
/*------------------------------*/
/* 動的に隙間を調整するスタイル */
.resp_padding {
	--padding-ratio: calc((var(--max-padding-value) - var(--min-padding-value)) / (1000 - 330));
	padding: calc(var(--min-padding-size) + (100vw - 330px) * var(--padding-ratio));
}
.mnp_0 { --min-padding-size: 0px; --min-padding-value: 0; }
.mnp_1 { --min-padding-size: 1px; --min-padding-value: 1; }
.mnp_2 { --min-padding-size: 2px; --min-padding-value: 2; }
.mnp_5 { --min-padding-size: 5px; --min-padding-value: 5; }
.mnp_10 { --min-padding-size: 10px; --min-padding-value: 10; }
.mnp_20 { --min-padding-size: 20px; --min-padding-value: 20; }
.mnp_30 { --min-padding-size: 30px; --min-padding-value: 30; }

.mxp_1 { --max-padding-size: 1px; --max-padding-value: 1; }
.mxp_2 { --max-padding-size: 2px; --max-padding-value: 2; }
.mxp_5 { --max-padding-size: 5px; --max-padding-value: 5; }
.mxp_10 { --max-padding-size: 10px; --max-padding-value: 10; }
.mxp_20 { --max-padding-size: 20px; --max-padding-value: 20; }
.mxp_25 { --max-padding-size: 25px; --max-padding-value: 25; }
.mxp_30 { --max-padding-size: 30px; --max-padding-value: 30; }

@media (max-width: 330px) {
	.resp_padding {
		padding: var(--min-padding-size);
	}
}
@media (min-width: 1000px) {
	.resp_padding {
		padding: var(--max-padding-size);
	}
}
/*------------------------------*/
/* 動的に上下の隙間を調整するスタイル */
.resp_p_u {
	--padding-ratio_up: calc((var(--resp-max-padding-up_value) - var(--resp-min-padding-up_value)) / (1000 - 330));
	padding-top: calc(var(--resp-min-padding-up) + (100vw - 330px) * var(--padding-ratio_up));
	padding-bottom: calc(var(--resp-min-padding-up) + (100vw - 330px) * var(--padding-ratio_up));
}
.mnp_u_1 { --resp-min-padding-up: 1px; --resp-min-padding-up_value: 1; }
.mnp_u_2 { --resp-min-padding-up: 2px; --resp-min-padding-up_value: 2; }
.mnp_u_5 { --resp-min-padding-up: 5px; --resp-min-padding-up_value: 5; }
.mnp_u_10 { --resp-min-padding-up: 10px; --resp-min-padding-up_value: 10; }
.mnp_u_20 { --resp-min-padding-up: 20px; --resp-min-padding-up_value: 20; }
.mnp_u_30 { --resp-min-padding-up: 30px; --resp-min-padding-up_value: 30; }

.mxp_u_5 { --resp-max-padding-up: 5px; --resp-max-padding-up_value: 5; }
.mxp_u_10 { --resp-max-padding-up: 10px; --resp-max-padding-up_value: 10; }
.mxp_u_20 { --resp-max-padding-up: 20px; --resp-max-padding-up_value: 20; }
.mxp_u_25 { --resp-max-padding-up: 25px; --resp-max-padding-up_value: 25; }
.mxp_u_30 { --resp-max-padding-up: 30px; --resp-max-padding-up_value: 30; }
.mxp_u_50 { --resp-max-padding-up: 50px; --resp-max-padding-up_value: 50; }
.mxp_u_70 { --resp-max-padding-up: 70px; --resp-max-padding-up_value: 70; }
.mxp_u_100 { --resp-max-padding-up: 100px; --resp-max-padding-up_value: 100; }

@media (max-width: 330px) {
	.resp_p_u {
		padding-top: var(--resp-min-padding-up);
		padding-bottom: var(--resp-min-padding-up);
	}
}
@media (min-width: 1000px) {
	.resp_p_u {
		padding-top: var(--resp-max-padding-up);
		padding-bottom: var(--resp-max-padding-up);
	}
}
/*------------------------------*/
/* 動的に上の隙間を調整するスタイル */
.resp_p_t {
	--padding-ratio_top: calc((var(--resp-max-padding-top_value) - var(--resp-min-padding-top_value)) / (1000 - 330));
	padding-top: calc(var(--resp-min-padding-top) + (100vw - 330px) * var(--padding-ratio_top));
}

.mnp_t_1 { --resp-min-padding-top: 1px; --resp-min-padding-top_value: 1; }
.mnp_t_2 { --resp-min-padding-top: 2px; --resp-min-padding-top_value: 2; }
.mnp_t_5 { --resp-min-padding-top: 5px; --resp-min-padding-top_value: 5; }
.mnp_t_10 { --resp-min-padding-top: 10px; --resp-min-padding-top_value: 10; }
.mnp_t_15 { --resp-min-padding-top: 15px; --resp-min-padding-top_value: 15; }
.mnp_t_20 { --resp-min-padding-top: 20px; --resp-min-padding-top_value: 20; }
.mnp_t_30 { --resp-min-padding-top: 30px; --resp-min-padding-top_value: 30; }
.mnp_t_40 { --resp-min-padding-top: 40px; --resp-min-padding-top_value: 40; }
.mnp_t_50 { --resp-min-padding-top: 50px; --resp-min-padding-top_value: 50; }

.mxp_t_5 { --resp-max-padding-top: 5px; --resp-max-padding-top_value: 5; }
.mxp_t_10 { --resp-max-padding-top: 10px; --resp-max-padding-top_value: 10; }
.mxp_t_20 { --resp-max-padding-top: 20px; --resp-max-padding-top_value: 20; }
.mxp_t_25 { --resp-max-padding-top: 25px; --resp-max-padding-top_value: 25; }
.mxp_t_30 { --resp-max-padding-top: 30px; --resp-max-padding-top_value: 30; }
.mxp_t_40 { --resp-max-padding-top: 40px; --resp-max-padding-top_value: 40; }
.mxp_t_50 { --resp-max-padding-top: 50px; --resp-max-padding-top_value: 50; }
.mxp_t_70 { --resp-max-padding-top: 70px; --resp-max-padding-top_value: 70; }
.mxp_t_100 { --resp-max-padding-top: 100px; --resp-max-padding-top_value: 100; }
.mxp_t_150 { --resp-max-padding-top: 150px; --resp-max-padding-top_value: 150; }

@media (max-width: 330px) {
	.resp_p_t {
		padding-top: var(--resp-min-padding-top);
	}
}

@media (min-width: 1000px) {
	.resp_p_t {
		padding-top: var(--resp-max-padding-top);
	}
}
/*------------------------------*/
/* 動的に下の隙間を調整するスタイル */
.resp_p_b {
	--padding-ratio_bottom: calc((var(--resp-max-padding-bottom_value) - var(--resp-min-padding-bottom_value)) / (1000 - 330));
	padding-bottom: calc(var(--resp-min-padding-bottom) + (100vw - 330px) * var(--padding-ratio_bottom));
}

.mnp_b_1 { --resp-min-padding-bottom: 1px; --resp-min-padding-bottom_value: 1; }
.mnp_b_2 { --resp-min-padding-bottom: 2px; --resp-min-padding-bottom_value: 2; }
.mnp_b_5 { --resp-min-padding-bottom: 5px; --resp-min-padding-bottom_value: 5; }
.mnp_b_10 { --resp-min-padding-bottom: 10px; --resp-min-padding-bottom_value: 10; }
.mnp_b_20 { --resp-min-padding-bottom: 20px; --resp-min-padding-bottom_value: 20; }
.mnp_b_30 { --resp-min-padding-bottom: 30px; --resp-min-padding-bottom_value: 30; }
.mnp_b_40 { --resp-min-padding-bottom: 40px; --resp-min-padding-bottom_value: 40; }
.mnp_b_50 { --resp-min-padding-bottom: 50px; --resp-min-padding-bottom_value: 50; }

.mxp_b_5 { --resp-max-padding-bottom: 5px; --resp-max-padding-bottom_value: 3; }
.mxp_b_10 { --resp-max-padding-bottom: 10px; --resp-max-padding-bottom_value: 10; }
.mxp_b_20 { --resp-max-padding-bottom: 20px; --resp-max-padding-bottom_value: 20; }
.mxp_b_25 { --resp-max-padding-bottom: 25px; --resp-max-padding-bottom_value: 25; }
.mxp_b_30 { --resp-max-padding-bottom: 30px; --resp-max-padding-bottom_value: 30; }
.mxp_b_50 { --resp-max-padding-bottom: 50px; --resp-max-padding-bottom_value: 50; }
.mxp_b_70 { --resp-max-padding-bottom: 70px; --resp-max-padding-bottom_value: 70; }
.mxp_b_100 { --resp-max-padding-bottom: 100px; --resp-max-padding-bottom_value: 100; }
.mxp_b_150 { --resp-max-padding-bottom: 150px; --resp-max-padding-bottom_value: 150; }

@media (max-width: 330px) {
	.resp_p_b {
		padding-bottom: var(--resp-min-padding-bottom);
	}
}

@media (min-width: 1000px) {
	.resp_p_b {
		padding-bottom: var(--resp-max-padding-bottom);
	}
}
/*------------------------------*/
/* 動的に左右の隙間を調整するスタイル */
.resp_p_s {
	--padding-ratio_side: calc((var(--resp-max-padding-side_value) - var(--resp-min-padding-side_value)) / (1000 - 330));
	padding-left: calc(var(--resp-min-padding-side) + (100vw - 330px) * var(--padding-ratio_side));
	padding-right: calc(var(--resp-min-padding-side) + (100vw - 330px) * var(--padding-ratio_side));
}
.mnp_s_1 { --resp-min-padding-side: 1px; --resp-min-padding-side_value: 1; }
.mnp_s_2 { --resp-min-padding-side: 2px; --resp-min-padding-side_value: 2; }
.mnp_s_5 { --resp-min-padding-side: 5px; --resp-min-padding-side_value: 5; }
.mnp_s_10 { --resp-min-padding-side: 10px; --resp-min-padding-side_value: 10; }
.mnp_s_20 { --resp-min-padding-side: 20px; --resp-min-padding-side_value: 20; }
.mnp_s_30 { --resp-min-padding-side: 30px; --resp-min-padding-side_value: 30; }

.mxp_s_5 { --resp-max-padding-side: 5px; --resp-max-padding-side_value: 5; }
.mxp_s_10 { --resp-max-padding-side: 10px; --resp-max-padding-side_value: 10; }
.mxp_s_20 { --resp-max-padding-side: 20px; --resp-max-padding-side_value: 20; }
.mxp_s_25 { --resp-max-padding-side: 25px; --resp-max-padding-side_value: 25; }
.mxp_s_30 { --resp-max-padding-side: 30px; --resp-max-padding-side_value: 30; }
.mxp_s_40 { --resp-max-padding-side: 40px; --resp-max-padding-side_value: 40; }
.mxp_s_50 { --resp-max-padding-side: 50px; --resp-max-padding-side_value: 50; }

@media (max-width: 330px) {
	.resp_p_s {
		padding-left: var(--resp-min-padding-side);
		padding-right: var(--resp-min-padding-side);
	}

}
@media (min-width: 1000px) {
	.resp_p_s {
		padding-left: var(--resp-max-padding-side);
		padding-right: var(--resp-max-padding-side);
	}
}

/*------------------------------*/
/* 動的に横幅を調整するスタイル */
.resp_width {
	max-width: clamp(var(--min-width), calc(var(--min-width) + (var(--max-width-value) - var(--min-width-value)) * (100vw - 330px) / (1000 - 330)), var(--max-width));
}
.mnw_100 { --min-width: 100px; --min-width-value: 100; }
.mnw_200 { --min-width: 200px; --min-width-value: 200; }
.mnw_250 { --min-width: 250px; --min-width-value: 250; }
.mnw_300 { --min-width: 300px; --min-width-value: 300; }
.mnw_400 { --min-width: 400px; --min-width-value: 400; }
.mnw_500 { --min-width: 500px; --min-width-value: 500; }

.mxw_500 { --max-width: 500px; --max-width-value: 500; }
.mxw_600 { --max-width: 600px; --max-width-value: 600; }
.mxw_700 { --max-width: 700px; --max-width-value: 700; }
.mxw_800 { --max-width: 800px; --max-width-value: 800; }
.mxw_900 { --max-width: 900px; --max-width-value: 900; }

/*------------------------------*/
/* 静的なpadding */
.padding_none { padding:0px; }
.padding_all_01 { padding:1px; }
.padding_all_02 { padding:2px; }
.padding_all_05 { padding:5px; }
.padding_all_10 { padding:10px; }
.padding_all_20 { padding:20px; }
.padding_all_30 { padding:30px; }

.padding_up_05 { padding-top:5px; padding-bottom:5px; }
.padding_up_10 { padding-top:10px; padding-bottom:10px; }
.padding_up_20 { padding-top:20px; padding-bottom:20px; }
.padding_up_30 { padding-top:30px; padding-bottom:30px; }
.padding_up_50 { padding-top:50px; padding-bottom:50px; }
.padding_up_60 { padding-top:60px; padding-bottom:60px; }
.padding_up_70 { padding-top:70px; padding-bottom:70px; }
.padding_up_100 { padding-top:100px; padding-bottom:100px; }
.padding_side_05 { padding-right:5px; padding-left:5px; }
.padding_side_10 { padding-right:10px; padding-left:10px; }
.padding_side_20 { padding-right:20px; padding-left:20px; }
.padding_side_30 { padding-right:30px; padding-left:30px; }
.padding_side_40 { padding-right:40px; padding-left:40px; }
.padding_side_50 { padding-right:50px; padding-left:50px; }

.padding_left_05 { padding-left:5px; }
.padding_left_10 { padding-left:10px; }
.padding_left_20 { padding-left:20px; }
.padding_right_05 { padding-right:5px; }
.padding_right_10 { padding-right:10px; }
.padding_right_20 { padding-right:20px; }

.padding_top_10 { padding-top:10px; }
.padding_top_20 { padding-top:20px; }
.padding_top_30 { padding-top:30px; }
.padding_top_40 { padding-top:40px; }
.padding_top_50 { padding-top:50px; }
.padding_top_100 { padding-top:100px; }
.padding_top_150 { padding-top:150px; }
.padding_top_200 { padding-top:200px; }

.padding_bottom_10 { padding-bottom:10px; }
.padding_bottom_20 { padding-bottom:20px; }
.padding_bottom_30 { padding-bottom:30px; }
.padding_bottom_40 { padding-bottom:40px; }
.padding_bottom_50 { padding-bottom:50px; }
.padding_bottom_100 { padding-bottom:100px; }
.padding_bottom_150 { padding-bottom:150px; }
.padding_bottom_200 { padding-bottom:200px; }
/*------------------------------*/
/* 隠し要素 */
.display_none {
	display:none;
}
.display_block {
	display:block;
}
/*------------------------------*/
/* paddingとborderを含める */
.box_sizing {
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
/*------------------------------*/
/* 左右反転表示 */
.reversal_display {
	transform: scale(-1, 1);
	-webkit-transform: scale(-1, 1);
}
/*------------------------------*/
/* 枠の幅 */
.width_10 { width:10%; height:auto; }
.width_20 { width:20%; height:auto; }
.width_30 { width:30%; height:auto; }
.width_40 { width:40%; height:auto; }
.width_50 { width:50%; height:auto; }
.width_60 { width:60%; height:auto; }
.width_70 { width:70%; height:auto; }
.width_80 { width:80%; height:auto; }
.width_90 { width:90%; height:auto; }
.width_100 { width:100%; height:auto; }
.max_width_100 { max-width:100px; height:auto; }
.max_width_200 { max-width:200px; height:auto; }
.max_width_300 { max-width:300px; height:auto; }
.max_width_400 { max-width:400px; height:auto; }
.max_width_500 { max-width:500px; height:auto; }
.max_width_600 { max-width:600px; height:auto; }
.max_width_700 { max-width:700px; height:auto; }
.max_width_800 { max-width:800px; height:auto; }
.max_width_900 { max-width:900px; height:auto; }
/*------------------------------*/
/* 可変テキスト */
.resp_font {
	font-size: clamp(var(--min-font-size), calc(var(--min-font-size) + (var(--max-font-value) - var(--min-font-value)) * (100vw - 330px) / (1000 - 330)), var(--max-font-size));
}
.minf_6 { --min-font-size: 6px; --min-font-value: 6; }
.minf_7 { --min-font-size: 7px; --min-font-value: 7; }
.minf_8 { --min-font-size: 8px; --min-font-value: 8; }
.minf_9 { --min-font-size: 9px; --min-font-value: 9; }
.minf_10 { --min-font-size: 10px; --min-font-value: 10; }
.minf_11 { --min-font-size: 11px; --min-font-value: 11; }
.minf_12 { --min-font-size: 12px; --min-font-value: 12; }
.minf_13 { --min-font-size: 13px; --min-font-value: 13; }
.minf_14 { --min-font-size: 14px; --min-font-value: 14; }
.minf_15 { --min-font-size: 15px; --min-font-value: 15; }
.minf_16 { --min-font-size: 16px; --min-font-value: 16; }
.minf_18 { --min-font-size: 18px; --min-font-value: 18; }
.minf_20 { --min-font-size: 20px; --min-font-value: 20; }
.minf_22 { --min-font-size: 22px; --min-font-value: 22; }
.minf_25 { --min-font-size: 25px; --min-font-value: 25; }
.minf_30 { --min-font-size: 30px; --min-font-value: 30; }

.maxf_10 { --max-font-size: 10px; --max-font-value: 10; }
.maxf_11 { --max-font-size: 11px; --max-font-value: 11; }
.maxf_12 { --max-font-size: 12px; --max-font-value: 12; }
.maxf_13 { --max-font-size: 13px; --max-font-value: 13; }
.maxf_14 { --max-font-size: 14px; --max-font-value: 14; }
.maxf_15 { --max-font-size: 15px; --max-font-value: 15; }
.maxf_16 { --max-font-size: 16px; --max-font-value: 16; }
.maxf_18 { --max-font-size: 18px; --max-font-value: 18; }
.maxf_20 { --max-font-size: 20px; --max-font-value: 20; }
.maxf_22 { --max-font-size: 22px; --max-font-value: 22; }
.maxf_25 { --max-font-size: 25px; --max-font-value: 25; }
.maxf_30 { --max-font-size: 30px; --max-font-value: 30; }
.maxf_35 { --max-font-size: 35px; --max-font-value: 35; }
.maxf_40 { --max-font-size: 40px; --max-font-value: 40; }
.maxf_45 { --max-font-size: 45px; --max-font-value: 45; }
.maxf_50 { --max-font-size: 50px; --max-font-value: 50; }
.maxf_55 { --max-font-size: 55px; --max-font-value: 55; }
.maxf_60 { --max-font-size: 60px; --max-font-value: 60; }
.maxf_65 { --max-font-size: 65px; --max-font-value: 65; }
.maxf_70 { --max-font-size: 70px; --max-font-value: 70; }
.maxf_80 { --max-font-size: 80px; --max-font-value: 80; }
/*------------------------------*/
/* 固定サイズテキスト */
.font_size_09 { font-size: 9px; }
.font_size_10 { font-size: 10px; }
.font_size_11 { font-size: 11px; }
.font_size_12 { font-size: 12px; }
.font_size_13 { font-size: 13px; }
.font_size_14 { font-size: 14px; }
.font_size_15 { font-size: 15px; }
.font_size_16 { font-size: 16px; }
.font_size_18 { font-size: 18px; }
.font_size_20 { font-size: 20px; }
.font_size_22 { font-size: 22px; }
.font_size_25 { font-size: 25px; }
.font_size_26 { font-size: 26px; }
.font_size_30 { font-size: 30px; }
.font_size_35 { font-size: 35px; }
.font_size_40 { font-size: 40px; }
.font_size_45 { font-size: 45px; }
.font_size_50 { font-size: 50px; }
.font_size_55 { font-size: 55px; }
.font_size_60 { font-size: 60px; }
.font_size_65 { font-size: 65px; }
.font_size_70 { font-size: 70px; }
/*------------------------------*/
/* 文字の高さを調整 */
.line_height_09px { line-height:9px; }
.line_height_10px { line-height:10px; }
.line_height_11px { line-height:11px; }
.line_height_12px { line-height:12px; }
.line_height_13px { line-height:13px; }
.line_height_14px { line-height:14px; }
.line_height_15px { line-height:15px; }
.line_height_16px { line-height:16px; }
.line_height_18px { line-height:18px; }
.line_height_20px { line-height:20px; }
.line_height_25px { line-height:25px; }
.line_height_30px { line-height:30px; }
.line_height_40px { line-height:40px; }
.line_height_50px { line-height:50px; }

.line_height_08 { line-height: 0.8; }
.line_height_10 { line-height: 1; }
.line_height_12 { line-height: 1.2; }
.line_height_15 { line-height: 1.5; }
.line_height_18 { line-height: 1.8; }
.line_height_20 { line-height: 2; }
.line_height_25 { line-height: 2.5; }
.line_height_30 { line-height: 3; }
/*------------------------------*/
/* 角丸 */
.border_radius_02 { border-radius:2px; }
.border_radius_05 { border-radius:5px; }
.border_radius_07 { border-radius:7px; }
.border_radius_10 { border-radius:10px; }
.border_radius_20 { border-radius:20px; }
.border_radius_50 { border-radius:50px; }

.border_top_radius_05 { border-top-left-radius:5px; border-top-right-radius:5px; }
.border_bottom_radius_05 { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }

/*------------------------------*/
/* 上下中央に配置 (親要素に「 position_relative 」が必要) */
.vertical_middle_absolute {
	position:absolute;
	top:50%;
	-webkit-transform:translateY(-50%); /* Safari用 */
	transform:translateY(-50%);
}
/* 上下中央に配置 (親要素に高さが必要) */
.vertical_middle_relative {
	position:relative;
	top:50%;
	-webkit-transform:translateY(-50%); /* Safari用 */
	transform:translateY(-50%);
}
/* flexboxを使って上下中央に配置 */
.parent_element {
	display: flex;
	align-items: center;
	justify-content: center; 
	height: 100%;
	flex-direction: column; /* 子要素の縦並び */
}

/* 下付け (親要素に「 position_relative 」が必須) */
.vertical_bottom {
	position:absolute;
	bottom:0px;
}
/* 左右中央配置 */
.margin_center {
	margin-left:auto;
	margin-right:auto;
}
.margin_transform_center {
	left:50%;
	-webkit-transform:translateX(-50%); /* Safari用 */
	transform:translateX(-50%);
}
/* 右配置 */
.margin_left {
	margin-left:auto;
}
/* 左配置 */
.margin_right {
	margin-right:auto;
}
/* スクエア枠 (縦横比を統一) */
.square_box {
	width: 100%;
	height:0;
	padding-bottom: 100%;
}
/*------------------------------*/
/* 子要素の高さを揃える */
.display_flex {
	display:flex;
}
/*------------------------------*/
/* フレックスボックス-縦並配置[1/2] */
.flex_column {
	display:flex;
	flex-direction: column;
	height:100%;
}
/* フレックス縦列内でボックスを-上下中央配置[2/2] */
.flex_vertical_middle_absolute {
	margin-top: auto;
	margin-bottom: auto;
}
/* フレックス縦列内でボックスを-下付け[2/2] */
.flex_vertical_bottom {
	margin-top: auto;
}
/*------------------------------*/
/* 縦書きフォント */
.vertical_rl {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
/*------------------------------*/
/* 均等割付 */
.text_justify_auto {
	text-align-last: justify; /* Chrome・Firefox */
	text-justify: inter-ideograph; /* IE・Edge */
	/* safari 不可 */
	text-align: justify;
	text-justify: inter-ideograph;
}
/*------------------------------*/
/* はみ出る要素の処理 */
.overflow_auto { overflow:auto; }
.overflow_hidden { overflow:hidden; }
.overflow_text_hidden {
	white-space: nowrap; /* 折り返し無効 */
	text-overflow: ellipsis; /* [...]表示 */
	overflow: hidden;
}
/*------------------------------*/
/* 開閉ボックス */
.js_hidden_box { display:none; }
.js_hidden_button:hover { cursor:pointer; }
/*------------------------------*/
/* カーソルの種類 */
.cursor_pointer {
	cursor:pointer;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.cursor_move {
	cursor:move;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.cursor_move:hover {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
/*------------------------------*/
/* ポジション */
.position_relative {
	position:relative;
}
.position_absolute {
	position:absolute;
}
/*------------------------------*/
/* プレースホルダのスタイル */
::-webkit-input-placeholder {
	color:#d6d6d6;
	font-size:12px;
}
::-moz-placeholder {
	color:#d6d6d6;
	opacity:1;
	font-size:12px;
}
:-ms-input-placeholder {
	color:#d6d6d6;
	font-size:12px;
}
::placeholder {
	color:#d6d6d6;
	font-size:12px;
}
/* ------------------------------ */
/* 最初の要素の margin-top を0にする枠 */
.first_child_top_0 > div:first-child {
	margin-top: 0;
}
/* ------------------------------ */
/* レイアウト */
.in_box_1400 {
	max-width:1400px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_1200 {
	max-width:1200px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_1100 {
	max-width:1100px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_1000 {
	max-width:1000px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_900 {
	max-width:900px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_800 {
	max-width:800px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_700 {
	max-width:700px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_600 {
	max-width:600px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_500 {
	max-width:500px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_400 {
	max-width:400px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}
.in_box_300 {
	max-width:300px;
	margin-right:auto;
	margin-left:auto;
	padding-left:5px;
	padding-right:5px;
}

/*--------------------*/
/* 左側フリータイプ枠 */
.left_free_box  {
	width: calc(50% + 500px);
	max-width: calc(100vw - 65px);
	margin-right:auto;
}
/* 左側フリータイプ枠内要素 */
.left_free_box_in  {
	max-width:1000px;
	padding-left:5px;
	padding-right:5px;
	margin-left:auto;
}
/* 右側フリータイプ枠 */
.rightt_free_box {
	width: calc(50% + 500px);
	max-width: calc(100vw - 65px);
	margin-left:auto;
}
/* 右側フリータイプ枠内要素 */
.rightt_free_box_in  {
	max-width:1000px;
	padding-left:5px;
	padding-right:5px;
	margin-right:auto;
}
/*------------------------------*/
/* 高さの確保 */
.min_height_30 { min-height:30px; }
.min_height_50 { min-height:50px; }
.min_height_100 { min-height:100px; }
.min_height_150 { min-height:150px; }
.min_height_200 { min-height:200px; }
.min_height_250 { min-height:250px; }
.min_height_300 { min-height:300px; }
.min_height_350 { min-height:350px; }
.min_height_400 { min-height:400px; }
.min_height_500 { min-height:500px; }
.min_height_100vh { min-height:100vh; }

.height_30 { height:30px; }
.height_50 { height:50px; }
.height_100 { height:100px; }
.height_150 { height:150px; }
.height_200 { height:200px; }
.height_300 { height:300px; }
.height_400 { height:400px; }
.height_500 { height:500px; }
.height_600 { height:600px; }
.height_700 { height:700px; }
.height_800 { height:800px; }
.height_100vh { height:100vh; }
/* ------------------------------ */
/* テーブルのスタイル (flexbox) */
.col {
	display:flex; 
	flex-wrap:wrap;
	width:100%;
}

.pc_24{margin-top: -1px; margin-left: -1px; width: calc(100% + 1px);}.pc_23{margin-top: -1px; margin-left: -1px; width: calc(95.8333333% + 1px);}.pc_22{margin-top: -1px; margin-left: -1px; width: calc(91.6666666% + 1px);}.pc_21{margin-top: -1px; margin-left: -1px; width: calc(87.4999999% + 1px);}.pc_20{margin-top: -1px; margin-left: -1px; width: calc(83.3333333% + 1px);}.pc_19{margin-top: -1px; margin-left: -1px; width: calc(79.1666666% + 1px);}
.pc_18{margin-top: -1px; margin-left: -1px; width: calc(74.9999999% + 1px);}.pc_17{margin-top: -1px; margin-left: -1px; width: calc(70.8333333% + 1px);}.pc_16{margin-top: -1px; margin-left: -1px; width: calc(66.6666666% + 1px);}.pc_15{margin-top: -1px; margin-left: -1px; width: calc(62.4999999% + 1px);}.pc_14{margin-top: -1px; margin-left: -1px; width: calc(58.3333333% + 1px);}.pc_13{margin-top: -1px; margin-left: -1px; width: calc(54.1666666% + 1px);}
.pc_12{margin-top: -1px; margin-left: -1px; width: calc(49.9999999% + 1px);}.pc_11{margin-top: -1px; margin-left: -1px; width: calc(45.8333333% + 1px);}.pc_10{margin-top: -1px; margin-left: -1px; width: calc(41.6666666% + 1px);}.pc_9{margin-top: -1px; margin-left: -1px; width: calc(37.4999999% + 1px);}.pc_8{margin-top: -1px; margin-left: -1px; width: calc(33.3333333% + 1px);}.pc_7{margin-top: -1px; margin-left: -1px; width: calc(29.1666666% + 1px);}
.pc_6{margin-top: -1px; margin-left: -1px; width: calc(24.9999999% + 1px);}.pc_5{margin-top: -1px; margin-left: -1px; width: calc(20.8333333% + 1px);}.pc_4{margin-top: -1px; margin-left: -1px; width: calc(16.6666666% + 1px);}.pc_3{margin-top: -1px; margin-left: -1px; width: calc(12.4999999% + 1px);}.pc_2{margin-top: -1px; margin-left: -1px; width: calc(8.3333333% + 1px);}.pc_1{margin-top: -1px; margin-left: -1px; width: calc(4.1666666% + 1px);}
.split_5{margin-top: -1px; margin-left: -1px; width: calc(20% + 1px);}.split_7{margin-top: -1px; margin-left: -1px; width: calc(14.2857142% + 1px);}.split_8{margin-top: -1px; margin-left: -1px; width: calc(12.5% + 1px);}
.tb_block { display:none; } .sp_block { display:none; }
.tb_visible { visibility: visible; } .sp_visible { visibility: visible; }

/* タブレット */
@media only screen and (max-width:1024px) {
	.tb_24{margin-top: -1px; margin-left: -1px; width: calc(100% + 1px);}.tb_23{margin-top: -1px; margin-left: -1px; width: calc(95.8333333% + 1px);}.tb_22{margin-top: -1px; margin-left: -1px; width: calc(91.6666666% + 1px);}.tb_21{margin-top: -1px; margin-left: -1px; width: calc(87.4999999% + 1px);}.tb_20{margin-top: -1px; margin-left: -1px; width: calc(83.3333333% + 1px);}.tb_19{margin-top: -1px; margin-left: -1px; width: calc(79.1666666% + 1px);}
	.tb_18{margin-top: -1px; margin-left: -1px; width: calc(74.9999999% + 1px);}.tb_17{margin-top: -1px; margin-left: -1px; width: calc(70.8333333% + 1px);}.tb_16{margin-top: -1px; margin-left: -1px; width: calc(66.6666666% + 1px);}.tb_15{margin-top: -1px; margin-left: -1px; width: calc(62.4999999% + 1px);}.tb_14{margin-top: -1px; margin-left: -1px; width: calc(58.3333333% + 1px);}.tb_13{margin-top: -1px; margin-left: -1px; width: calc(54.1666666% + 1px);}
	.tb_12{margin-top: -1px; margin-left: -1px; width: calc(49.9999999% + 1px);}.tb_11{margin-top: -1px; margin-left: -1px; width: calc(45.8333333% + 1px);}.tb_10{margin-top: -1px; margin-left: -1px; width: calc(41.6666666% + 1px);}.tb_9{margin-top: -1px; margin-left: -1px; width: calc(37.4999999% + 1px);}.tb_8{margin-top: -1px; margin-left: -1px; width: calc(33.3333333% + 1px);}.tb_7{margin-top: -1px; margin-left: -1px; width: calc(29.1666666% + 1px);}
	.tb_6{margin-top: -1px; margin-left: -1px; width: calc(24.9999999% + 1px);}.tb_5{margin-top: -1px; margin-left: -1px; width: calc(20.8333333% + 1px);}.tb_4{margin-top: -1px; margin-left: -1px; width: calc(16.6666666% + 1px);}.tb_3{margin-top: -1px; margin-left: -1px; width: calc(12.4999999% + 1px);}.tb_2{margin-top: -1px; margin-left: -1px; width: calc(8.3333333% + 1px);}.tb_1{margin-top: -1px; margin-left: -1px; width: calc(4.1666666% + 1px);}
	.tb_none { display:none; } .tb_block { display:block; } .tb_left { text-align:left; } .tb_right { text-align:right; } .tb_center { text-align:center; } .tb_float_left { float:left; } .tb_float_right { float:right; } .tb_float_none { float:none; }
	.tb_hidden { visibility:hidden; } .tb_visible { visibility: visible; }
	.tb_font_size_09 { font-size:9px; } .tb_font_size_10 { font-size:10px; } .tb_font_size_11 { font-size:11px; } .tb_font_size_12 { font-size:12px; } .tb_font_size_13 { font-size:13px; } .tb_font_size_14 { font-size:14px; } .tb_font_size_15 { font-size:15px; } .tb_font_size_16 { font-size:16px; } .tb_font_size_18 { font-size:18px; } .tb_font_size_20 { font-size:20px; } .tb_font_size_22 { font-size:22px; } .tb_font_size_23 { font-size:23px; } .tb_font_size_25 { font-size:25px; } .tb_font_size_30 { font-size:30px; } .tb_font_size_35 { font-size:35px; } .tb_font_size_40 { font-size:40px; } .tb_font_size_45 { font-size:45px; } .tb_font_size_50 { font-size:50px; }
	.tb_margin_none { margin:0px; } .tb_margin_side_none { margin-right:0px; margin-left:0px; }
	.tb_margin_top_0 { margin-top:0px; } .tb_margin_top_10 { margin-top:10px; } .tb_margin_top_20 { margin-top:20px; } .tb_margin_top_30 { margin-top:30px; } .tb_margin_top_40 { margin-top:40px; } .tb_margin_top_50 { margin-top:50px; }
	.tb_margin_bottom_0 { margin-bottom:0px; } .tb_margin_bottom_10 { margin-bottom:10px; } .tb_margin_bottom_20 { margin-bottom:20px; } .tb_margin_bottom_30 { margin-bottom:30px; } .tb_margin_bottom_40 { margin-bottom:40px; } .tb_margin_bottom_50 { margin-bottom:50px; }
	.tb_padding_none { padding:0px; } .tb_padding_all_01 { padding:1px; } .tb_padding_all_02 { padding:2px; } .tb_padding_all_05 { padding:5px; } .tb_padding_all_10 { padding:10px; }
	.tb_padding_up_05 { padding-top:5px; padding-bottom:5px; } .tb_padding_up_10 { padding-top:10px; padding-bottom:10px; } .tb_padding_up_20 { padding-top:20px; padding-bottom:20px; }
	.tb_padding_left_20 { padding-left:20px; } .tb_padding_left_10 { padding-left:10px; } .tb_padding_left_5 { padding-left:5px; } .tb_padding_right_20 { padding-right:20px; } .tb_padding_right_10 { padding-right:10px; } .tb_padding_right_5 { padding-right:5px; }
	.tb_width_10 { width:10% } .tb_width_20 { width:20% } .tb_width_30 { width:30% } .tb_width_40 { width:40% } .tb_width_50 { width:50% } .tb_width_60 { width:60% } .tb_width_70 { width:70% } .tb_width_80 { width:80% } .tb_width_90 { width:90% } .tb_width_100 { width:100% }
	.tb_height_30 { height:30px; } .tb_height_50 { height:50px; } .tb_height_100 { height:100px; } .tb_height_150 { height:150px; } .tb_height_200 { height:200px; } .tb_height_250 { height:250px; } .tb_height_300 { height:300px; } .tb_height_350 { height:350px; } .tb_height_400 { height:400px; } .tb_height_450 { height:450px; } .tb_height_500 { height:500px; } .tb_height_550 { height:550px; } .tb_height_600 { height:600px; } .tb_height_650 { height:650px; } .tb_height_700 { height:700px; }
	.tb_text_justify_none { text-align-last: auto; text-justify:none; } /* 均等割解除 */
	.tb_flex_reverse { flex-flow: column-reverse nowrap; } /* フレックスボックス 縦方向だけ逆順 */
	.tb_flex_wrap_reverse { flex-flow: column wrap-reverse; } /* フレックスボックス 折り返し時に逆順 */
	.tb_margin_center { margin-left:auto; margin-right:auto; } .tb_margin_left { margin-left:auto; margin-right:0; } .tb_margin_right { margin-left:0; margin-right:auto; }
	.tb_vertical_middle_reset {	position: static; top: auto; -webkit-transform: none; transform: none; } /* 上下中央表示を解除*/
	.tb_align_items_left { align-items: flex-start; } .tb_align_items_right { align-items: flex-end; }
	.tb_vertical_reset { -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; } /* 縦書き解除 */
	.tb_position_static { position:static; }
}

/* スマホ */
@media only screen and (max-width:599px) {
	.sp_24{margin-top: -1px; margin-left: -1px; width: calc(100% + 1px);}.sp_23{margin-top: -1px; margin-left: -1px; width: calc(95.8333333% + 1px);}.sp_22{margin-top: -1px; margin-left: -1px; width: calc(91.6666666% + 1px);}.sp_21{margin-top: -1px; margin-left: -1px; width: calc(87.4999999% + 1px);}.sp_20{margin-top: -1px; margin-left: -1px; width: calc(83.3333333% + 1px);}.sp_19{margin-top: -1px; margin-left: -1px; width: calc(79.1666666% + 1px);}
	.sp_18{margin-top: -1px; margin-left: -1px; width: calc(74.9999999% + 1px);}.sp_17{margin-top: -1px; margin-left: -1px; width: calc(70.8333333% + 1px);}.sp_16{margin-top: -1px; margin-left: -1px; width: calc(66.6666666% + 1px);}.sp_15{margin-top: -1px; margin-left: -1px; width: calc(62.4999999% + 1px);}.sp_14{margin-top: -1px; margin-left: -1px; width: calc(58.3333333% + 1px);}.sp_13{margin-top: -1px; margin-left: -1px; width: calc(54.1666666% + 1px);}
	.sp_12{margin-top: -1px; margin-left: -1px; width: calc(49.9999999% + 1px);}.sp_11{margin-top: -1px; margin-left: -1px; width: calc(45.8333333% + 1px);}.sp_10{margin-top: -1px; margin-left: -1px; width: calc(41.6666666% + 1px);}.sp_9{margin-top: -1px; margin-left: -1px; width: calc(37.4999999% + 1px);}.sp_8{margin-top: -1px; margin-left: -1px; width: calc(33.3333333% + 1px);}.sp_7{margin-top: -1px; margin-left: -1px; width: calc(29.1666666% + 1px);}
	.sp_6{margin-top: -1px; margin-left: -1px; width: calc(24.9999999% + 1px);}.sp_5{margin-top: -1px; margin-left: -1px; width: calc(20.8333333% + 1px);}.sp_4{margin-top: -1px; margin-left: -1px; width: calc(16.6666666% + 1px);}.sp_3{margin-top: -1px; margin-left: -1px; width: calc(12.4999999% + 1px);}.sp_2{margin-top: -1px; margin-left: -1px; width: calc(8.3333333% + 1px);}.sp_1{margin-top: -1px; margin-left: -1px; width: calc(4.1666666% + 1px);}
	.sp_none { display:none; } .sp_block { display:block; } .sp_left { text-align:left; } .sp_right { text-align:right; } .sp_center { text-align:center; } .sp_float_left { float:left; } .sp_float_right { float:right; } .sp_float_none { float:none; }
	.sp_hidden { visibility:hidden; } .sp_visible { visibility: visible; }
	.sp_font_size_09 { font-size:9px; } .sp_font_size_10 { font-size:10px; } .sp_font_size_11 { font-size:11px; } .sp_font_size_12 { font-size:12px; } .sp_font_size_13 { font-size:13px; } .sp_font_size_14 { font-size:14px; } .sp_font_size_15 { font-size:15px; } .sp_font_size_16 { font-size:16px; } .sp_font_size_18 { font-size:18px; } .sp_font_size_20 { font-size:20px; } .sp_font_size_22 { font-size:22px; } .sp_font_size_23 { font-size:23px; } .sp_font_size_25 { font-size:25px; } .sp_font_size_30 { font-size:30px; } .sp_font_size_35 { font-size:35px; } .sp_font_size_40 { font-size:40px; }
	.sp_margin_none { margin:0px; } .sp_margin_side_none { margin-right:0px; margin-left:0px; }
	.sp_margin_top_0 { margin-top:0px; } .sp_margin_top_10 { margin-top:10px; } .sp_margin_top_20 { margin-top:20px; } .sp_margin_top_30 { margin-top:30px; } .sp_margin_top_40 { margin-top:40px; } .sp_margin_top_50 { margin-top:50px; }
	.sp_margin_bottom_0 { margin-bottom:0px; } .sp_margin_bottom_10 { margin-bottom:10px; } .sp_margin_bottom_20 { margin-bottom:20px; } .sp_margin_bottom_30 { margin-bottom:30px; } .sp_margin_bottom_40 { margin-bottom:40px; } .sp_margin_bottom_50 { margin-bottom:50px; }
	.sp_padding_none { padding:0px; } .sp_padding_all_01 { padding:1px; } .sp_padding_all_02 { padding:2px; } .sp_padding_all_05 { padding:5px; } .sp_padding_all_10 { padding:10px; }
	.sp_padding_up_05 { padding-top:5px; padding-bottom:5px; } .sp_padding_up_10 { padding-top:10px; padding-bottom:10px; } .sp_padding_up_20 { padding-top:20px; padding-bottom:20px; }
	.sp_padding_left_20 { padding-left:20px; } .sp_padding_left_10 { padding-left:10px; } .sp_padding_left_5 { padding-left:5px; } .sp_padding_right_20 { padding-right:20px; } .sp_padding_right_10 { padding-right:10px; } .sp_padding_right_5 { padding-right:5px; }
	.sp_width_10 { width:10% } .sp_width_20 { width:20% } .sp_width_30 { width:30% } .sp_width_40 { width:40% } .sp_width_50 { width:50% } .sp_width_60 { width:60% } .sp_width_70 { width:70% } .sp_width_80 { width:80% } .sp_width_90 { width:90% } .sp_width_100 { width:100% }
	.sp_height_30 { height:30px; } .sp_height_50 { height:50px; } .sp_height_100 { height:100px; } .sp_height_150 { height:150px; } .sp_height_200 { height:200px; } .sp_height_250 { height:250px; } .sp_height_300 { height:300px; } .sp_height_400 { height:400px; } .sp_height_500 { height:500px; } .sp_height_600 { height:600px; }
	.sp_text_justify_none { text-align-last: auto; text-justify:none; } /* 均等割解除 */
	.sp_flex_reverse { flex-flow: column-reverse nowrap; } /* フレックスボックス 縦方向だけ逆順 */
	.sp_flex_wrap_reverse { flex-flow: column wrap-reverse; } /* フレックスボックス 折り返し時に逆順 */
	.sp_margin_center { margin-left:auto; margin-right:auto; } .sp_margin_left { margin-left:auto; margin-right:0; } .sp_margin_right { margin-left:0; margin-right:auto; }
	.sp_vertical_middle_reset {	position: static; top: auto; -webkit-transform: none; transform: none; } /* 上下中央表示を解除*/
	.sp_align_items_left { align-items: flex-start; } .sp_align_items_right { align-items: flex-end; }
	.sp_vertical_reset { -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; } /* 縦書き解除 */
	.sp_position_static { position:static; }
}

/*------------------------------*/
/* スクロール中のhoverを無効化 */
.disable_hover {
	pointer-events: none;
}
/*------------------------------*/
/* 背景色 (デフォルト) */
.background_color_000000 { background-color:#000000 !important; }
.background_color_666666 { background-color:#666666 !important; }
.background_color_cccccc { background-color:#cccccc !important; }
.background_color_f0f0f0 { background-color:#f0f0f0 !important; }
.background_color_ffffff { background-color:#ffffff !important; }
.background_color_ff0000 { background-color:#ff0000 !important; }
.background_color_ee8800 { background-color:#ee8800 !important; }
.background_color_ffff00 { background-color:#ffff00 !important; }
.background_color_99ff88 { background-color:#229900 !important; }
/*------------------------------*/
/* フォントカラー (デフォルト) */
.color_ffffff { color:#ffffff !important; }
.color_000000 { color:#000000 !important; }
.color_ff0000 { color:#ff0000 !important; }
.color_cccccc { color:#cccccc !important; }
.color_999999 { color:#999999 !important; }
.color_666666 { color:#666666 !important; }
.color_0000ff { color:#0000ff !important; }
.color_ee8800 { color:#ee8800 !important; }
.color_ffff00 { color:#ffff00 !important; }
/*------------------------------*/
/* ローディング中 (時間差消去) */
#js_lock_id {
	z-index:9999;
	position:absolute;
	background-color:rgba(0,0,0,0.6);
	width:100%;
	height:100vh;
	min-height:10000px;
	top:0px;
}

