@charset "UTF-8";
/************************************
	module
************************************/
/****** マルチカラム ******/
.col-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
/************************************
	Object
************************************/
/****** hover ******/
.elem-hover-op {
	transition: opacity .2s ease;
}
@media only screen and (min-width: 769px) {
	.elem-hover-op:hover {
		opacity: .8;
	}
}
.elem-hover-br {
	transition: filter .2s ease;
}
@media only screen and (min-width: 769px) {
	.elem-hover-br:hover {
		-webkit-filter: brightness(1.25);
		filter: brightness(1.25);
	}
}
/****** 表示 ******/
@media screen and (max-width: 768px) {
	.hide-sp {
		display: none
	}
}
@media screen and (min-width: 769px)and (max-width: 1023px) {
	.hide-tb {
		display: none
	}
}
@media screen and (min-width: 769px) {
	.hide-pc {
		display: none
	}
}
/****** Flexbox ******/
.fl-ctr {
	display: flex;
	flex-wrap: warp;
}
.fl-al-t {
	align-items: flex-start;
}
.fl-al-c {
	align-items: center;
}
.fl-al-b {
	align-items: flex-end;
}
.fl-jc-l {
	justify-content: flex-start;
}
.fl-jc-c {
	justify-content: center;
}
.fl-jc-r {
	justify-content: flex-end;
}
.fl-jc-sb {
	justify-content: space-between;
}
.fl-jc-ar {
	justify-content: space-around;
}
/****** テキスト ******/
/*----- サイズ -----*/
.fw-500 {
	font-weight: 500;
}
.fs-l {
	font-size: 1.2em;
	font-weight: 900;
}
.fs-s {
	font-size: 0.8em;
}
/*----- 表記 -----*/
.t-upper {
	text-transform: uppercase;
}
/*----- 字間 -----*/
.t-kerning {
	margin-right: -0.5em;
	margin-left: -0.5em;
	position: relative;
}
.t-mark {
	margin-right: -0.5em;
	margin-left: -0.16667em;
	position: relative;
}
.t-comma {
	margin-right: -0.5em;
	position: relative;
}
/*----- 位置 -----*/
.t-bracket {
	margin: 0 .2em;
	position: relative;
	top: -.05em;
}
.ta-l {
	text-align: left;
}
.ta-c {
	text-align: center;
}
.ta-r {
	text-align: right;
}
@media only screen and (min-width: 769px) {
	.ta-l-pc {
		text-align: left;
	}
}
@media only screen and (min-width: 769px) {
	.ta-c-pc {
		text-align: center;
	}
}
@media only screen and (min-width: 769px) {
	.ta-r-pc {
		text-align: right;
	}
}
/*----- 配色 -----*/
.fc-r {
	color: #F00;
}
/****** 余白 ******/
/*----- margin -----*/
.mg-0 {
	margin: 0 !important;
}
.mg-b-0 {
	margin-bottom: 0 !important;
}
.mg-b-10 {
	margin-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.mg-b-10 {
		margin-bottom: 0.52vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-b-10 {
		margin-bottom: 10px;
	}
}
.mg-b-20 {
	margin-bottom: 5.33vw;
}
@media screen and (min-width: 769px) {
	.mg-b-20 {
		margin-bottom: 1.04vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-b-20 {
		margin-bottom: 20px;
	}
}
.mg-b-30 {
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.mg-b-30 {
		margin-bottom: 1.56vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-b-30 {
		margin-bottom: 30px;
	}
}
.mg-b-40 {
	margin-bottom: 10.66vw;
}
@media screen and (min-width: 769px) {
	.mg-b-40 {
		margin-bottom: 2.08vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-b-40 {
		margin-bottom: 40px;
	}
}
.mg-t-10 {
	margin-top: 2.66vw;
}
@media screen and (min-width: 769px) {
	.mg-t-10 {
		margin-top: 0.52vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-t-10 {
		margin-top: 10px;
	}
}
.mg-t-20 {
	margin-top: 5.33vw;
}
@media screen and (min-width: 769px) {
	.mg-t-20 {
		margin-top: 1.04vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-t-20 {
		margin-top: 20px;
	}
}
.mg-t-30 {
	margin-top: 8vw;
}
@media screen and (min-width: 769px) {
	.mg-t-30 {
		margin-top: 1.56vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-t-30 {
		margin-top: 30px;
	}
}
.mg-t-40 {
	margin-top: 10.66vw;
}
@media screen and (min-width: 769px) {
	.mg-t-40 {
		margin-top: 2.08vw;
	}
}
@media screen and (min-width: 1024px) {
	.mg-t-40 {
		margin-top: 40px;
	}
}
/*----- padding -----*/
.pd-0 {
	padding: 0 !important;
}
.pd-b-0 {
	padding-bottom: 0 !important;
}
.pd-b-10 {
	padding-bottom: 1.33vw;
}
@media screen and (min-width: 769px) {
	.pd-b-10 {
		padding-bottom: 0.52vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-b-10 {
		padding-bottom: 10px;
	}
}
.pd-b-20 {
	padding-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.pd-b-20 {
		padding-bottom: 1.04vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-b-20 {
		padding-bottom: 20px;
	}
}
.pd-b-30 {
	padding-bottom: 4vw;
}
@media screen and (min-width: 769px) {
	.pd-b-30 {
		padding-bottom: 1.56vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-b-30 {
		padding-bottom: 30px;
	}
}
.pd-b-40 {
	padding-top: 5.33vw;
}
@media screen and (min-width: 769px) {
	.pd-b-40 {
		padding-top: 2.08vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-b-40 {
		padding-bottom: 40px;
	}
}
.pd-t-10 {
	padding-top: 1.33vw;
}
@media screen and (min-width: 769px) {
	.pd-t-10 {
		padding-top: 0.52vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-t-10 {
		padding-top: 10px;
	}
}
.pd-t-20 {
	padding-top: 2.66vw;
}
@media screen and (min-width: 769px) {
	.pd-t-20 {
		padding-top: 1.04vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-t-20 {
		padding-top: 20px;
	}
}
.pd-t-30 {
	padding-top: 4vw;
}
@media screen and (min-width: 769px) {
	.pd-t-30 {
		padding-top: 1.56vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-t-30 {
		padding-top: 30px;
	}
}
.pd-t-40 {
	padding-top: 5.33vw;
}
@media screen and (min-width: 769px) {
	.pd-t-40 {
		padding-top: 2.08vw;
	}
}
@media screen and (min-width: 1024px) {
	.pd-t-40 {
		padding-top: 40px;
	}
}
/****** Clearfix ******/
.cf::before, .cf::after {
	content: "";
	display: table;
}
.cf::after {
	clear: both;
}