/************************************************************
 *	汎用クラス
 ************************************************************/
/* position関連 */
.clearfix:after	{ display: block; content: ""; clear: both; }
.fl_r			{ float: right; }
.fl_l			{ float: left; }
.d_b		{ display: block; }
.d_ib		{ display: inline-block; letter-spacing: 0; }
.d_n		{ display: none; }
.of_s		{ overflow: scroll; }
.of_h		{ overflow: hidden; }
.ofx_s		{ overflow-x: scroll; }
.ofy_s		{ overflow-y: scroll; }
.ofx_h		{ overflow-x: hidden; }
.ofy_h		{ overflow-y: hidden; }

/* block関連 */
.bg_none	{ background: none !important; }
.bg_white	{ background: #fff !important; }
.bg_red		{ background: #d31515; }
.bg_winered	{ background: #a60100; }
.bg_yellow	{ background: #fa971f; }
.bg_green	{ background: #6fbe32!important;}
.bg_gray	{ background: #4a4a4a; }

.w20p		{ width: 20%; }
.w25p		{ width: 25%; }
.w30p		{ width: 30%; }
.w35p		{ width: 35%; }
.w50p		{ width: 50%; }
.w60p		{ width: 60%; }
.w100p		{ width: 100%; }
.w25px		{ width: 25px; }
.w35px		{ width: 35px; }
.w120px		{ width: 120px; }
.w150px		{ width: 150px; }
.w360px		{ width: 360px; }
.w960px		{ width: 960px; }
.w1080px	{ width: 1080px; }
.w1200px	{ width: 1200px; }
.w1280px	{ width: 1280px; }
.w1920px	{ width: 1920px; }
.w_inherit	{ width: inherit; }

.h10px		{ height: 10px; }
.h25px		{ height: 25px; }
.h35px		{ height: 35px; }
.h40px		{ height: 40px; }
.h50px		{ height: 50px; }
.h75px		{ height: 75px; }
.h100px		{ height: 100px; }
.h150px		{ height: 150px; }
.h200px		{ height: 200px; }
.h250px		{ height: 250px; }
.h400px		{ height: 400px; }
.h_inherit	{ height: inherit; }

hr { border: none; width: auto; height: 1px; } /* borderの代わりとしても使用可 */

.mg5px		{ margin: 5px; }
.mg10px		{ margin: 10px; }
.mg15px		{ margin: 15px; }
.mg25px		{ margin: 25px; }
.mgt2point5p{ margin: 2.5%; }
.mgt5px     { margin-top: 5px; }
.mgt10px	{ margin-top: 10px; }
.mgt15px	{ margin-top: 15px; }
.mgt25px	{ margin-top: 25px; }
.mgt35px	{ margin-top: 35px; }
.mgt45px	{ margin-top: 45px; }
.mgt55px	{ margin-top: 55px; }
.mgr10px	{ margin-right: 10px; }
.mgr15px	{ margin-right: 15px; }
.mgr25px	{ margin-right: 25px; }
.mgr35px	{ margin-right: 35px; }
.mgr45px	{ margin-right: 45px; }
.mgr55px	{ margin-right: 55px; }
.mgb10px	{ margin-bottom: 10px; }
.mgb15px	{ margin-bottom: 15px; }
.mgb25px	{ margin-bottom: 25px; }
.mgb30px	{ margin-bottom: 30px; }
.mgb35px	{ margin-bottom: 35px; }
.mgb45px	{ margin-bottom: 45px; }
.mgb55px	{ margin-bottom: 55px; }
.mgl10px	{ margin-left: 10px; }
.mgl15px	{ margin-left: 15px; }
.mgl25px	{ margin-left: 25px; }
.mgl35px	{ margin-left: 35px; }
.mgl45px	{ margin-left: 45px; }
.mgl55px	{ margin-left: 55px; }
.mg_center	{ margin: 0 auto; }

.pd5px		{ padding: 5px; }
.pd10px		{ padding: 10px; }
.pd15px		{ padding: 15px; }
.pd20px		{ padding: 20px; }
.pd25px		{ padding: 25px; }
.pd45px		{ padding: 45px; }
.pdt10px	{ padding-top: 10px; }
.pdt15px	{ padding-top: 15px; }
.pdt25px	{ padding-top: 25px; }
.pdt45px	{ padding-top: 45px; }
.pdr10px	{ padding-right: 10px; }
.pdr15px	{ padding-right: 15px; }
.pdr25px	{ padding-right: 25px; }
.pdr45px	{ padding-right: 45px; }
.pdb10px	{ padding-bottom: 10px; }
.pdb15px	{ padding-bottom: 15px; }
.pdb25px	{ padding-bottom: 25px; }
.pdb45px	{ padding-bottom: 45px; }
.pdl10px	{ padding-left: 10px; }
.pdl15px	{ padding-left: 15px; }
.pdl25px	{ padding-left: 25px; }
.pdl45px	{ padding-left: 45px; }

.bd_gray { border: 1px solid #ccc; }
.bd_green { border: 1px solid #6ebf22; }
.bd_dotted { border-style: dotted; }
.bd_noside { border-width: 1px 0; }

/* inline操作関連 */
.c_red		{ color: #f33 !important }
.c_green	{ color: #6ebf22 !important }
.c_gray		{ color: #4a4a4a !important }
.c_white	{ color: #fff !important }
.c_black	{ color: #2a2a2a }
.fs_smaller		{ font-size: .75em; }
.fs_verysmaller	{ font-size: .55em; }
.fs_bigger		{ font-size: 1.1em; }
.fs_verybigger	{ font-size: 2.0em; }
.fw_lighter		{ font-weight: lighter; }
.fw_normal		{ font-weight: normal; }
.fw_bold		{ font-weight: bold; }
.lh_1point5em	{ line-height: 1.5em; }

.italic { font-style: italic; }
.ta_l { text-align: left; }
.ta_c { text-align: center; }
.ta_r { text-align: right; }
.ta_j { text-align: justify; line-height: 0; /* 改行に伴い、1行分の空きが生じるため */ }
.ta_j > * { line-height: 2.5em; }	/* ここで、親要素のline-heightを戻す */
.ta_j:before { display: block; content: ""; width: 100%; }
.ta_j:after { display: inline-block; content: ""; width: 100%; }

.va_t { vertical-align: top; }
.va_m { vertical-align: middle; }
.va_b { vertical-align: bottom; }
.va_preset:after {
display: inline-block;
height: inherit;
content: "";
vertical-align: middle;
width: 0;
line-height: 0;
letter-spacing: 0;
}

.wb_ba { word-break: break-all; }

.wm_tl {
writing-mode: tb-rl;
-moz-writing-mode: vertical-rl;
-o-writing-mode: vertical-rl;
-webkit-writing-mode: vertical-rl;
}

.english {
display: inline-block;	/* 変更の可能性あり */
font-weight: 100;
letter-spacing: 0.2em;
font-family:
/* 1st prior */ "Noto Sans Japanese",
/* 2nd prior */ sans-serif;
}
.underline {
border-bottom: 1px solid;
padding-bottom: 0px;	/* 適宜変更 */
text-decoration: none;
}
.bold {
font-weight:bold;
font-size:120%;
}

.nowrap {
white-space: nowrap;
word-break: normal;
word-wrap: normal;
}

.ls_disc { list-style: disc !important; }
.ls_decimal { list-style: decimal !important; }

.fade {
transition: opacity .25s ease-in-out 0s;
-moz-transition: opacity .25s ease-in-out 0s;
-ms-transition: opacity .25s ease-in-out 0s;
-o-transition: opacity .25s ease-in-out 0s;
-webkit-transition: opacity .25s ease-in-out 0s;
}
.fade:hover {
opacity: .8;
filter: alpha('opacity=80');
}

/*
.fade_bg {
transition: background-color .25s linear 0s;
-o-transition: background-color .25s linear 0s;
-moz-transition: background-color .25s linear 0s;
-ms-transition: background-color .25s linear 0s;
-webkit-transition: background-color .25s linear 0s;
}
.fade_bg:hover { background-color: #70bf27; }
*/

/* hover関連 */
.hover_bg_gray:hover { background-color: #dadada; color: #000 !important; }
.hover_bg_black:hover { background-color: #2a2a2a; color: #fff !important; }
.hover_text_detail { z-index: 1; } 
.hover_text_detail:hover::after{
	content: "詳細はこちら";
	display: block;
	position: absolute;
	bottom: 120px;
	left: 10%;
	background: #3c3c3c;
	padding: .2em;
	width: 80%;
	height: auto;
	color: #fff;
	font-size: .8em;
	text-align: center;
	z-index: 0;
}

/* checked関連 */
.checked_bg_gray:checked + label { background-color: #dadada; color: #000 !important; }
.checked_bg_black:checked + label { background-color: #2a2a2a; color: #fff !important; }
.checked_bg_white:checked + label { background-color: #fff; color: #000 !important; }

.checked_blue_checkbox + label::before {
	display: inline-block; 
	content: ""; 
	position: absolute;
	/* top: -30%; */
	left: 0; 
	-moz-box-sizing: border-box; 
	box-sizing: border-box;
	width: 20px; 
	height: 20px; 
	background: #fff;
	border: 1px solid #dadada; 
	border-radius: 4px;
} 
.checked_blue_checkbox:checked + label::after {
	content: ""; 
	position: absolute;
	top: 55%; 
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	left: 3px; 
	width: 16px;
	height: 8px; 
	margin-top: -8px; 
	border-left: 3px solid #003792;
	border-bottom: 3px solid #003792; 
	-webkit-transform:rorate(-45deg); 
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/************************************************************
 *	レスポンシブ用クラス
 ************************************************************/
.sp_d_n {  }
.pc_d_n { display: none; }
@media screen and (max-width: 768px) {
	.sp_w50p		{ width: 50%; }
	.sp_w100p		{ width: 100%; }
	.sp_d_n			{ display: none; }
	.pc_d_n			{ display: block; }
}
