@charset "utf-8";

@import url(//use.fontawesome.com/releases/v5.0.12/css/all.css);

.block{
	display: block;
}
.inline{
	display: inline;
}
.inlineblock{
	display: inline-block;
}
.flex{
	display: flex;
}
.flexCC{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flexCB{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.flexCA{
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.flexSC{
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.flexSB{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.flexSA{
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
}
.flexEC{
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.flexEB{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.flexEA{
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
}
.flexwrap{
	flex-wrap: wrap;
}
.clearfix:after{
	content: "";
	display: block;
	clear: both;
}

/*-------------------------------
	横幅設定
-------------------------------*/
.fullwidth{
	width: 100%;
}
.w50{
	width: 50%;
}
.w25{
	width: 25%;
}

/*-------------------------------
	テキスト設定
-------------------------------*/

/*----- 文字の色設定 -----*/
.font_a{
	color: #aaa;
}
.font_b{
	color: #bbb;
}
.font_c{
	color: #ccc;
}
.font_d{
	color: #ddd;
}
.font_e{
	color: #eee;
}
.font_0{
	color: #000;
}
.font_f{
	color: #fff;
}

/*----- 文字の太さ設定 -----*/
.weightNormal{
	font-weight: normal;
}
.weightBold{
	font-weight: bold;
}

/*----- 文字位置 -----*/
.alignCenter{
	text-align: center;
}
.alignLeft{
	text-align: left;
}
.alignRight{
	text-align: right;
}

/*文字装飾*/
.underline{
	text-decoration: underline;
}
.linethrough{
	text-decoration: line-through;
}

/*-------------------------------
	マウスオーバー設定
-------------------------------*/
/*----- 薄い背景*/
/*.hover,
.hover_white{
	overflow: hidden;
	position: relative;
}
.hover:before,
.hover_white:before{
	content: "";
	position: absolute;
	left: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	transition: 0.2s;
	z-index: 1;
	opacity: 0;
}
.hover:before{
	background: rgba(255,255,255,.25);
}
.hover_white:before{
	background: rgba(17,17,17,1);
}
.hover_white:hover{
	opacity: 1;
}
.hover:hover:before,
.hover_white:hover:before{
	left: 0;
	opacity: 1;
}*/

/*----- ボーダー用*/
/* .hover_border{
	overflow: hidden;
	position: relative;
}
.hover_border > *{
	position: relative;
	z-index: 2;
}
.hover_border:before{
	content: "";
	position: absolute;
	left: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	transition: 0.2s;
	z-index: 1;
	background: #222;
	opacity: 0;
}
.hover_border:hover:before{
	left: 0;
	opacity: 1;
}
.hover_border:hover *{
	color: #fff;
} */

/*-------------------------------
	アイコンフォント設定
-------------------------------*/
.icon:before,
.icon:after{
	font-family: 'Font Awesome 5 free';
}
.icon_arrow:after{
	content: "\f138";
	font-weight: bold;
}
.icon_arrow2:after{
	content: "\f137";
	font-weight: bold;
}
.icon_tel:after{
	content: "\f098";
	font-weight: bold;
	display: inline-block;
	transform: rotate(90deg);
}

/*-------------------------------
	背景設定
-------------------------------*/

/*----- 文字位置 -----*/
.bg_a{
	background: #aaa;
}
.bg_b{
	background: #bbb;
}
.bg_c{
	background: #ccc;
}
.bg_d{
	background: #ddd;
}
.bg_e{
	background: #eee;
}
.bg_0{
	background: #000;
}
.bg_f{
	background: #fff;
}

/*----- 背景画像 -----*/
.bgOptionCC{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.bgOption100C{
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
}

/*-------------------------------
	リスト設定
-------------------------------*/
.list-dot li,
.list-circle li,
.list-circle2 li,
.list-square li,
.list-no li,
.list-ast{
	text-indent: -1em;
	padding-left: 1em;
}
.list-dot li:before{
	content: "・";
}
.list-ast li:before{
	content: "※";
}
.list-circle li:before{
	content: "●";
}
.list-circle2 li:before{
	content: "○";
}
.list-square li:before{
	content: "■";
}
.list-no > li:nth-of-type(1):before{
	content: "\002460";
}
.list-no > li:nth-of-type(2):before{
	content: "\002461";
}
.list-no > li:nth-of-type(3):before{
	content: "\002462";
}
.list-no > li:nth-of-type(4):before{
	content: "\002463";
}
.list-no > li:nth-of-type(5):before{
	content: "\002464";
}
.list-no > li:nth-of-type(6):before{
	content: "\002465";
}
.list-no > li:nth-of-type(7):before{
	content: "\002466";
}
.list-no > li:nth-of-type(8):before{
	content: "\002467";
}
.list-no > li:nth-of-type(9):before{
	content: "\002468";
}
.list-no > li:nth-of-type(10):before{
	content: "\002469";
}
.list-no > li:nth-of-type(11):before{
	content: "\00246a";
}
.list-no > li:nth-of-type(12):before{
	content: "\00246b";
}
.list-no > li:nth-of-type(13):before{
	content: "\00246c";
}
.list-no > li:nth-of-type(14):before{
	content: "\00246d";
}
.list-no > li:nth-of-type(15):before{
	content: "\00246e";
}
.list-no > li:nth-of-type(16):before{
	content: "\00246f";
}
.list-no > li:nth-of-type(17):before{
	content: "\002470";
}
.list-no > li:nth-of-type(18):before{
	content: "\002471";
}
.list-no > li:nth-of-type(19):before{
	content: "\002472";
}
.list-no > li:nth-of-type(20):before{
	content: "\002473";
}


/*最後の要素のみmargin無し*/
.interval05em > *:not(:last-child){
	margin-bottom: 0.5em;
}
.interval1em > *:not(:last-child){
	margin-bottom: 1em;
}
.interval15em > *:not(:last-child){
	margin-bottom: 1.5em;
}
.interval2em > *:not(:last-child){
	margin-bottom: 2em;
}
.interval25em > *:not(:last-child){
	margin-bottom: 2.5em;
}
.interval3em > *:not(:last-child){
	margin-bottom: 3em;
}
.interval35em > *:not(:last-child){
	margin-bottom: 3.5em;
}
.interval4em > *:not(:last-child){
	margin-bottom: 4em;
}
.interval45em > *:not(:last-child){
	margin-bottom: 4.5em;
}
.interval5em > *:not(:last-child){
	margin-bottom: 5em;
}

/*-------------------------------
	ポジション設定
-------------------------------*/
.relative{
	position: relative;
}
.absolute{
	position: absolute;
}
.fixed{
	position: fixed;
}
/*重なり順*/
.z9999{
	z-index: 9999;
}
.z9{
	z-index: 9000;
}
.z8{
	z-index: 8000;
}
.z7{
	z-index: 7000;
}
.z6{
	z-index: 6000;
}
.z5{
	z-index: 5000;
}
.z4{
	z-index: 4000;
}
.z3{
	z-index: 3000;
}
.z2{
	z-index: 2000;
}
.z1{
	z-index: 1000;
}
.z05{
	z-index: 500;
}
.z-1{
	z-index: -1;
}



/*radius設定*/
.radius5{
	border-radius: 5px;
}
.radius10{
	border-radius: 10px;
}
.radius15{
	border-radius: 15px;
}
.radius25{
	border-radius: 25px;
}
.radius30{
	border-radius: 30px;
}
.radius35{
	border-radius: 35px;
}
.radius45{
	border-radius: 45px;
}
.radius50{
	border-radius: 50%;
}





/*-------------------------------
	PC専用
-------------------------------*/
@media screen and (min-width:769px) , print{

	.sp,
	.spi,
	.spf,
	.spt,
	.spib{
		display: none !important;
	}
	.pc{
		display: block !important;
	}
	.pci{
		display: inline !important;
	}
	.pcf{
		display: flex !important;
	}
	.pct{
		display: table !important;
	}
	.pcib{
		display: inline-block !important;
	}

	/*-------------------------------
		横幅設定
	-------------------------------*/
	.pcw100{
		width: 100px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw200{
		width: 200px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw300{
		width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw400{
		width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw500{
		width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw600{
		width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw700{
		width: 700px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw800{
		width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw900{
		width: 900px;
		margin-left: auto;
		margin-right: auto;
	}
	.pcw1000{
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}

	/*-------------------------------
		余白
	-------------------------------*/
	/*マージン設定*/
	.mb5{
		margin-bottom: 5px;
	}
	.mb10{
		margin-bottom: 10px;
	}
	.mb15{
		margin-bottom: 15px;
	}
	.mb20{
		margin-bottom: 20px;
	}
	.mb25{
		margin-bottom: 25px;
	}
	.mb30{
		margin-bottom: 30px;
	}
	.mb35{
		margin-bottom: 35px;
	}
	.mb40{
		margin-bottom: 40px;
	}
	.mb45{
		margin-bottom: 45px;
	}
	.mb50{
		margin-bottom: 50px;
	}
	.mb60{
		margin-bottom: 60px;
	}
	.mb70{
		margin-bottom: 70px;
	}
	.mb80{
		margin-bottom: 80px;
	}
	.mb90{
		margin-bottom: 90px;
	}
	.mb100{
		margin-bottom: 100px;
	}
	.mb150{
		margin-bottom: 150px;
	}
	.mb200{
		margin-bottom: 200px;
	}

	/*padding設定*/
	.pd5{
		padding: 5px;
	}
	.pd10{
		padding: 10px;
	}
	.pd25{
		padding: 25px;
	}
	.pd50{
		padding: 50px;
	}
	.pd75{
		padding: 75px;
	}
	.pd100{
		padding: 100px;
	}
	.pdlr5{
		padding-left: 5px;
		padding-right: 5px;
	}
	.pdlr10{
		padding-left: 10px;
		padding-right: 10px;
	}
	.pdlr25{
		padding-left: 25px;
		padding-right: 25px;
	}
	.pdlr50{
		padding-left: 50px;
		padding-right: 50px;
	}
	.pdlr75{
		padding-left: 75px;
		padding-right: 75px;
	}
	.pdlr100{
		padding-left: 100px;
		padding-right: 100px;
	}

	.pcflexCC{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.pcflexCB{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.pcflexCA{
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.pcflexSC{
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}
	.pcflexSB{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.pcflexSA{
		display: flex;
		align-items: flex-start;
		justify-content: space-around;
	}
	.pcflexEC{
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.pcflexEB{
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	.pcflexEA{
		display: flex;
		align-items: flex-end;
		justify-content: space-around;
	}

}





/*-------------------------------
	SP専用
-------------------------------*/
@media screen and (max-width:768px) , print{

	.pc,
	.pci,
	.pcf,
	.pct,
	.pcib{
		display: none !important;
	}
	.sp{
		display: block !important;
	}
	.spi{
		display: inline !important;
	}
	.spf{
		display: flex !important;
	}
	.spt{
		display: table !important;
	}
	.spib{
		display: inline-block !important;
	}

	/*-------------------------------
		余白
	-------------------------------*/
	/*マージン設定*/
	.mb5{
		margin-bottom: 1vw;
	}
	.mb10{
		margin-bottom: 2vw;
	}
	.mb15{
		margin-bottom: 3vw;
	}
	.mb20{
		margin-bottom: 4vw;
	}
	.mb25{
		margin-bottom: 5vw;
	}
	.mb30{
		margin-bottom: 6vw;
	}
	.mb35{
		margin-bottom: 7vw;
	}
	.mb40{
		margin-bottom: 8vw;
	}
	.mb45{
		margin-bottom: 9vw;
	}
	.mb50{
		margin-bottom: 10vw;
	}
	.mb60{
		margin-bottom: 12vw;
	}
	.mb70{
		margin-bottom: 14vw;
	}
	.mb80{
		margin-bottom: 16vw;
	}
	.mb90{
		margin-bottom: 18vw;
	}
	.mb100{
		margin-bottom: 20vw;
	}
	.mb150{
		margin-bottom: 30vw;
	}
	.mb200{
		margin-bottom: 40vw;
	}

	.spmb1{
		margin-bottom: 1vw;
	}
	.spmb2{
		margin-bottom: 2vw;
	}
	.spmb3{
		margin-bottom: 3vw;
	}
	.spmb4{
		margin-bottom: 4vw;
	}
	.spmb5{
		margin-bottom: 5vw;
	}
	.spmb6{
		margin-bottom: 6vw;
	}
	.spmb7{
		margin-bottom: 7vw;
	}
	.spmb8{
		margin-bottom: 8vw;
	}
	.spmb9{
		margin-bottom: 9vw;
	}
	.spmb10{
		margin-bottom: 10vw;
	}
	.spmb12{
		margin-bottom: 12vw;
	}
	.spmb15{
		margin-bottom: 15vw;
	}
	.spmb20{
		margin-bottom: 20vw;
	}
	.spmb25{
		margin-bottom: 25vw;
	}
	.spmb50{
		margin-bottom: 50vw;
	}

	/*padding設定*/
	.pd5{
		padding: 1vw;
	}
	.pd10{
		padding: 2vw;
	}
	.pd25{
		padding: 5vw;
	}
	.pd50{
		padding: 10vw;
	}
	.pd75{
		padding: 15vw;
	}
	.pd100{
		padding: 20vw;
	}
	.pdlr5{
		padding-left: 1vw;
		padding-right: 1vw;
	}
	.pdlr10{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.pdlr25{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.pdlr50{
		padding-left: 10vw;
		padding-right: 10vw;
	}
	.pdlr75{
		padding-left: 15vw;
		padding-right: 15vw;
	}
	.pdlr100{
		padding-left: 20vw;
		padding-right: 20vw;
	}

	.spflexCC{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.spflexCB{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.spflexCA{
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.spflexSC{
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}
	.spflexSB{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.spflexSA{
		display: flex;
		align-items: flex-start;
		justify-content: space-around;
	}
	.spflexEC{
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.spflexEB{
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	.spflexEA{
		display: flex;
		align-items: flex-end;
		justify-content: space-around;
	}


	/*radius設定*/
	.radius5{
		border-radius: 1vw;
	}
	.radius10{
		border-radius: 2vw;
	}
	.radius15{
		border-radius: 3vw;
	}
	.radius25{
		border-radius: 5vw;
	}
	.radius30{
		border-radius: 6vw;
	}
	.radius35{
		border-radius: 7vw;
	}
	.radius45{
		border-radius: 9vw;
	}
	.radius50{
		border-radius: 50%;
	}

}