@charset "UTF-8";

/*==================================================================
	Utility.css
	- visual / layout / text font / other

===================================================================*/

/* ------------------------------------------------------------------
	Visual
-------------------------------------------------------------------*/
/*  display
---------------------------------------------*/
.u-noDisplay {
	display: none;
}
.u-block {
	display: block;
}
.u-inline {
	display: inline;
}
.u-inlineBlock {
	display: inline-block;
}
.u-static {
	position: static;
}
.u-op0 {
	opacity: 0;
}

/*  hover
---------------------------------------------*/
a.u-hover:hover,
input.u-hover:hover {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
	opacity: 0.7;
}

/*  border
---------------------------------------------*/
.u-bt0,
.u-ba0 {
	border-top: none;
}
.u-br0,
.u-ba0 {
	border-right: none;
}
.u-bb0,
.u-ba0 {
	border-bottom: none;
}
.u-bl0,
.u-ba0 {
	border-left: none;
}

/* ------------------------------------------------------------------
	Layout
-------------------------------------------------------------------*/

/*  position float text-align
---------------------------------------------*/
.u-relative {
	position: relative;
}
.u-absolute {
	position: absolute;
}
.u-fixed {
	position: fixed;
}

.u-leftBox {
	float: left;
}
.u-rightBox {
	float: right;
}
.u-nofloat {
	float: none;
}
.u-clearfix {
	zoom: 1;
}
.u-clearfix:after {
	display: block;
	clear: both;
	content: '';
}
.u-clear {
	clear: both;
}

.u-middle {
	vertical-align: middle;
}
.u-center {
	text-align: center;
}
.u-left {
	text-align: left;
}
.u-right {
	text-align: right;
}

/*  margin padding
---------------------------------------------*/
.u-auto {
	margin-right: auto;
	margin-left: auto;
}
.u-mt0,
.u-mv0,
.u-ma0 {
	margin-top: 0;
}
.u-mr0,
.u-mh0,
.u-ma0 {
	margin-right: 0;
}
.u-mb0,
.u-mv0,
.u-ma0 {
	margin-bottom: 0;
}
.u-ml0,
.u-mh0,
.u-ma0 {
	margin-left: 0;
}
.u-pt0,
.u-pv0,
.u-pa0 {
	padding-top: 0;
}
.u-pr0,
.u-ph0,
.u-pa0 {
	padding-right: 0;
}
.u-pb0,
.u-pv0,
.u-pa0 {
	padding-bottom: 0;
}
.u-pl0,
.u-ph0,
.u-pa0 {
	padding-left: 0;
}
.u-mt5,
.u-mv5,
.u-ma5 {
	margin-top: 5px;
}
.u-mr5,
.u-mh5,
.u-ma5 {
	margin-right: 5px;
}
.u-mb5,
.u-mv5,
.u-ma5 {
	margin-bottom: 5px;
}
.u-ml5,
.u-mh5,
.u-ma5 {
	margin-left: 5px;
}
.u-pt5,
.u-pv5,
.u-pa5 {
	padding-top: 5px;
}
.u-pr5,
.u-ph5,
.u-pa5 {
	padding-right: 5px;
}
.u-pb5,
.u-pv5,
.u-pa5 {
	padding-bottom: 5px;
}
.u-pl5,
.u-ph5,
.u-pa5 {
	padding-left: 5px;
}
.u-mt10,
.u-mv10,
.u-ma10 {
	margin-top: 10px;
}
.u-mr10,
.u-mh10,
.u-ma10 {
	margin-right: 10px;
}
.u-mb10,
.u-mv10,
.u-ma10 {
	margin-bottom: 10px;
}
.u-ml10,
.u-mh10,
.u-ma10 {
	margin-left: 10px;
}
.u-pt10,
.u-pv10,
.u-pa10 {
	padding-top: 10px;
}
.u-pr10,
.u-ph10,
.u-pa10 {
	padding-right: 10px;
}
.u-pb10,
.u-pv10,
.u-pa10 {
	padding-bottom: 10px;
}
.u-pl10,
.u-ph10,
.u-pa10 {
	padding-left: 10px;
}
.u-mt20,
.u-mv20,
.u-ma20 {
	margin-top: 20px;
}
.u-mr20,
.u-mh20,
.u-ma20 {
	margin-right: 20px;
}
.u-mb20,
.u-mv20,
.u-ma20 {
	margin-bottom: 20px;
}
.u-ml20,
.u-mh20,
.u-ma20 {
	margin-left: 20px;
}
.u-pt20,
.u-pv20,
.u-pa20 {
	padding-top: 20px;
}
.u-pr20,
.u-ph20,
.u-pa20 {
	padding-right: 20px;
}
.u-pb20,
.u-pv20,
.u-pa20 {
	padding-bottom: 20px;
}
.u-pl20,
.u-ph20,
.u-pa20 {
	padding-left: 20px;
}
.u-mt30,
.u-mv30,
.u-ma30 {
	margin-top: 30px;
}
.u-mr30,
.u-mh30,
.u-ma30 {
	margin-right: 30px;
}
.u-mb30,
.u-mv30,
.u-ma30 {
	margin-bottom: 30px;
}
.u-ml30,
.u-mh30,
.u-ma30 {
	margin-left: 30px;
}
.u-pt30,
.u-pv30,
.u-pa30 {
	padding-top: 30px;
}
.u-pr30,
.u-ph30,
.u-pa30 {
	padding-right: 30px;
}
.u-pb30,
.u-pv30,
.u-pa30 {
	padding-bottom: 30px;
}
.u-pl30,
.u-ph30,
.u-pa30 {
	padding-left: 30px;
}
.u-mt40,
.u-mv40,
.u-ma40 {
	margin-top: 40px;
}
.u-mr40,
.u-mh40,
.u-ma40 {
	margin-right: 40px;
}
.u-mb40,
.u-mv40,
.u-ma40 {
	margin-bottom: 40px;
}
.u-ml40,
.u-mh40,
.u-ma40 {
	margin-left: 40px;
}
.u-pt40,
.u-pv40,
.u-pa40 {
	padding-top: 40px;
}
.u-pr40,
.u-ph40,
.u-pa40 {
	padding-right: 40px;
}
.u-pb40,
.u-pv40,
.u-pa40 {
	padding-bottom: 40px;
}
.u-pl40,
.u-ph40,
.u-pa40 {
	padding-left: 40px;
}

/* negative margin */

/* ------------------------------------------------------------------
	Text Font
-------------------------------------------------------------------*/

/*  font-family
---------------------------------------------*/
.u-mont {
	font-family: 'Montserrat', sans-serif;
}

/*  font-size
---------------------------------------------*/
strong,
.u-bold {
	font-weight: bold;
}
.u-italic {
	font-style: italic;
}
.u-note {
	margin-left: 1em;
	text-indent: -1em;
}
.u-underline {
	text-decoration: underline;
}

/*  font-size ( basesize : 14px )
---------------------------------------------*/
.u-f10 {
	font-size: 77%;
}
.u-f11 {
	font-size: 85%;
}
.u-f12 {
	font-size: 93%;
}
.u-f14 {
	font-size: 108%;
}
.u-f15 {
	font-size: 116%;
}
.u-f16 {
	font-size: 123.1%;
}
.u-f17 {
	font-size: 131%;
}
.u-f18 {
	font-size: 138.5%;
}
.u-f19 {
	font-size: 146.5%;
}
.u-f20 {
	font-size: 153.9%;
}
.u-f21 {
	font-size: 161.6%;
}
.u-f22 {
	font-size: 167%;
}
.u-f23 {
	font-size: 174%;
}
.u-f24 {
	font-size: 182%;
}
.u-f25 {
	font-size: 189%;
}
.u-f26 {
	font-size: 197%;
}

/*  color
---------------------------------------------*/

.u-c-333 {
	color: #333;
}
.u-c-white {
	color: #fff;
}
.u-c-blue {
	color: #8ddcdd;
}

.u-must {
	color: red;
	vertical-align: super;
	font-size: 0.5em;
}

/* ------------------------------------------------------------------
	Other
-------------------------------------------------------------------*/

/*  box-shadow
---------------------------------------------*/
.u-box-shadow {
	-webkit-box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.2);
}
.u-box-under-shadow {
	/*下側のみ*/
	-webkit-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
}
.u-box-inset-over-shadow {
	/*内-上側のみ*/
	-webkit-box-shadow: 0px 15px 10px 0 rgba(0, 0, 0, 0.2) inset;
	-moz-box-shadow: 0px 15px 10px 0 rgba(0, 0, 0, 0.2) inset;
	box-shadow: 0px 15px 10px 0 rgba(0, 0, 0, 0.2) inset;
}
.u-sp-none {
	display: inline-block !important;
}
.u-pc-none {
	display: none !important;
}
@media only screen and (max-width: 768px) {
	.u-sp-none {
		display: none !important;
	}
	.u-pc-none {
		display: inline-block !important;
	}
}
.u-sp-none-block {
	display: block !important;
}
.u-pc-none-block {
	display: none !important;
}
@media only screen and (max-width: 768px) {
	.u-sp-none-block {
		display: none !important;
	}
	.u-pc-none-block {
		display: block !important;
	}
}

.u-bdb-none {
	border-bottom: 0 !important;
}
