*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, figure, figcaption, small {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align:baseline;
	-webkit-font-smoothing: antialiased;
	outline:none;
}
em {
	font-style: normal;
}
h1,h2,h3,h4,h5,h6,table,tr,th,td {
	font-weight: normal;
}
table, tr, th, td {
	vertical-align: middle;
	text-align: justify;
	text-justify: inter-ideograph;
}
table {
	border-collapse: collapse;
}
main,article, header, footer, aside, figure, figcaption, nav, section {
	display:block;
}
ol, ul, li {
	list-style: none;
	list-style-type: none;
}
button,
input,
optgroup,
select,
textarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	font: inherit; 
	margin: 0;
	vertical-align:middle; 
	position:relative;
}
button {
	overflow: visible;
}
select::-ms-expand {
	display: none;
}
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="url"],
input[type="text"],
input[type="submit"],
input[type="button"],
input[type="password"],
input[type="search"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius:0;
	line-height: normal;
}
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="url"],
input[type="text"],
input[type="submit"],
input[type="button"],
input[type="password"],
input[type="search"]{
	line-height: normal; /*placeholderズレ用*/
}


/*type=numberの増減ボタンを消す*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type="number"] {
	-moz-appearance:textfield;
}


/*margin*/
.marginBottom05em{
	margin-bottom: 0.5em!important;
}
.marginBottom1em{
	margin-bottom: 1em!important;
}
.marginBottom105em{
	margin-bottom: 1.5em!important;
}
.marginBottom2em{
	margin-bottom: 2em!important;
}
.marginBottom205em{
	margin-bottom: 2.5em!important;
}
.marginBottom3em{
	margin-bottom: 3em!important;
}


.marginTop05em{
	margin-top: 0.5em!important;
}
.marginTop1em{
	margin-top: 1em!important;
}
.marginTop105em{
	margin-top: 1.5em!important;
}
.marginTop2em{
	margin-top: 2em!important;
}
.marginTop205em{
	margin-top: 2.5em!important;
}
.marginTop3em{
	margin-top: 3em!important;
}



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

.mg-lr05 {
	margin-left: -0.5em!important;
	margin-right: -0.5em!important;
}
.mg-l05 {
	margin-left: -0.5em!important;
}
.mg-r05 {
	margin-right: -0.5em!important;
}



/*margin-block*/
.mb_m {
	margin-block: -0.25em!important;
}
.mb_l {
	margin-block: -0.375em!important;
}
.mb_ll {
	margin-block: -0.5em!important;
}


/*clearfix*/
.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}



/*================================================
 *  文字サイズ・行間設定
 ================================================*/
.lineHeight1 {
	line-height: 1;
}
.lineHeight_s {
	line-height: 1.25;
}
.lineHeight_m {
	line-height: 1.5;
}
.lineHeight_l {
	line-height: 1.75;
}
.lineHeight_ll {
	line-height: 2;
}
.lineHeight_xl {
	line-height: 2.25;
}
.lineHeight_xxl {
	line-height: 2.5;
}
.lineHeight3 {
	line-height: 3;
}





/*******10px*******/
.f10s {
	font-size: 10px;
	line-height: 1.25;
}
.f10m {
	font-size: 10px;
	line-height: 1.5;
}
.f10l {
	font-size: 10px;
	line-height: 1.75;
}
.f10ll {
	font-size: 10px;
	line-height: 2;
}

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

.f10s,
.f10m,
.f10l,
.f10ll {
	font-size: 2.8vw;
}
	
}

/*******12px*******/
.f12s {
	font-size: 12px;
	line-height: 1.25;
}
.f12m {
	font-size: 12px;
	line-height: 1.5;
}
.f12l {
	font-size: 12px;
	line-height: 1.75;
}
.f12ll {
	font-size: 12px;
	line-height: 2;
}

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

.f12s,
.f12m,
.f12l,
.f12ll {
	font-size: 2.8vw;
}
	
}

/*******14px*******/
.f14s_s,
.f14s_l {
	font-size: 14px;
	line-height: 1.25;
}
.f14m_s,
.f14m_l {
	font-size: 14px;
	line-height: 1.5;
}
.f14l_s,
.f14l_l {
	font-size: 14px;
	line-height: 1.75;
}
.f14ll_s,
.f14ll_l {
	font-size: 14px;
	line-height: 2;
}

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

.f14s_s,
.f14m_s,
.f14l_s,
.f14ll_s {
	font-size: 3.7vw;
}
.f14s_l,
.f14m_l,
.f14l_l,
.f14ll_l {
	font-size: 4vw;
}
	
}

/*******16px*******/
.f16s_s,
.f16s_l {
	font-size: 16px;
	line-height: 1.25;
}
.f16m_s,
.f16m_l {
	font-size: 16px;
	line-height: 1.5;
}
.f16l_s,
.f16l_l {
	font-size: 16px;
	line-height: 1.75;
}
.f16ll_s,
.f16ll_l {
	font-size: 16px;
	line-height: 2;
}
@media screen and (min-width:800.1px) {
	.f16_rem {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 800px) {

.f16s_s,
.f16m_s,
.f16l_s,
.f16ll_s {
	font-size: 3.7vw;
}
.f16s_l,
.f16m_l,
.f16l_l,
.f16ll_l {
	font-size: 4vw;
}
	
}

/*******18px*******/
.f18s_s,
.f18s_l {
	font-size: 18px;
	line-height: 1.25;
}
.f18m_s,
.f18m_l {
	font-size: 18px;
	line-height: 1.5;
}
.f18l_s,
.f18l_l {
	font-size: 18px;
	line-height: 1.75;
}
.f18ll_s,
.f18ll_l {
	font-size: 18px;
	line-height: 2;
}
@media screen and (min-width:800.1px) {
	.f18_rem {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 800px) {

.f18s_s,
.f18m_s,
.f18l_s,
.f18ll_s {
	font-size: 3.7vw;
}
.f18s_l,
.f18m_l,
.f18l_l,
.f18ll_l {
	font-size: 4vw;
}

}

/*******20px*******/
.f20s_s,
.f20s_l {
	font-size: 20px;
	line-height: 1.25;
}
.f20m_s,
.f20m_l {
	font-size: 20px;
	line-height: 1.5;
}
.f20l_s,
.f20l_l {
	font-size: 20px;
	line-height: 1.75;
}
.f20ll_s,
.f20ll_l {
	font-size: 20px;
	line-height: 2;
}
.f20xl_s,
.f20xl_l {
	font-size: 20px;
	line-height: 2.25;
}
.f20xxl_s,
.f20xxl_l {
	font-size: 20px;
	line-height: 2.5;
}
@media screen and (min-width:800.1px) {
	.f20_rem {
		font-size: 2rem;
	}
}
@media screen and (max-width:800px) {

.f20s_s,
.f20m_s,
.f20l_s,
.f20ll_s,
.f20xl_s,
.f20xxl_s {
	font-size: 3.7vw;
}
.f20s_l,
.f20m_l,
.f20l_l,
.f20ll_l,
.f20xl_l,
.f20xxl_l {
	font-size: 4vw;
}
	
}

/*******22px*******/
.f22s_s,
.f22s_l {
	font-size: 22px;
	line-height: 1.25;
}
.f22m_s,
.f22m_l {
	font-size: 22px;
	line-height: 1.5;
}
.f22l_s,
.f22l_l {
	font-size: 22px;
	line-height: 1.75;
}
.f22ll_s,
.f22ll_l {
	font-size: 22px;
	line-height: 2;
}
.f22xl_s,
.f22xl_l {
	font-size: 22px;
	line-height: 2.25;
}
.f22xxl_s,
.f22xxl_l {
	font-size: 22px;
	line-height: 2.5;
}
.f22_3_s,
.f22_3_l {
	font-size: 22px;
	line-height: 3;
}
@media screen and (min-width:800.1px) {
	.f22_rem {
		font-size: 2.2rem;
	}
}
@media screen and (max-width:800px) {

.f22s_s,
.f22m_s,
.f22l_s,
.f22ll_s,
.f22xl_s,
.f22xxl_s,
.f22_3_s {
	font-size: 3.7vw;
}
.f22s_l,
.f22m_l,
.f22l_l,
.f22ll_l,
.f22xl_l,
.f22xxl_l,
.f22_3_l {
	font-size: 4vw;
}
	
}

/*******24px*******/
.f24s_s,
.f24s_l {
	font-size: 24px;
	line-height: 1.25;
}
.f24m_s,
.f24m_l {
	font-size: 24px;
	line-height: 1.5;
}
.f24l_s,
.f24l_l {
	font-size: 24px;
	line-height: 1.75;
}
.f24ll_s,
.f24ll_l {
	font-size: 24px;
	line-height: 2;
}
.f24xl_s,
.f24xl_l {
	font-size: 24px;
	line-height: 2.25;
}
.f24xxl_s,
.f24xxl_l {
	font-size: 24px;
	line-height: 2.5;
}

@media screen and (min-width:800.1px) {
	.f24_rem {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:800px) {

.f24s_s,
.f24m_s,
.f24l_s,
.f24ll_s,
.f24xl_s,
.f24xxl_s {
	font-size: 3.7vw;
}
.f24s_l,
.f24m_l,
.f24l_l,
.f24ll_l,
.f24xl_l,
.f24xxl_l {
	font-size: 4vw;
}
	
}


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

.sp_lh_s {
	line-height: 1.25!important;
}
.sp_lh_m {
	line-height: 1.5!important;
}
.sp_lh_l {
	line-height: 1.75!important;
}
.sp_lh_ll {
	line-height: 2!important;
}
.sp_lh_xl {
	line-height: 2.25!important;
}
.sp_lh_xxl {
	line-height: 2.5!important;
}

}