@charset "utf-8";
/********************************************************************************************
 要素の初期化
********************************************************************************************/
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html,
body,
address,
blockquote,
div,
dl,
form,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
table,
ul,
dd,
dt,
li,
tbody,
td,
tfoot,
th,
thead,
tr,
button,
del,
ins,
map,
object,
a,
abbr,
acronym,
b,
bdo,
big,
br,
cite,
code,
dfn,
em,
i,
img,
kbd,
q,
samp,
small,
span,
strong,
sub,
sup,
tt,
var,
legend,
fieldset {
	margin: 0;
	padding: 0;
}
img,
fieldset {
	border: 0;
	-ms-interpolation-mode: bicubic;
}
figure {
	margin: 0;
}
/*===========================================================================================
 主なセクショニング・コンテンツ要素の初期化 
===========================================================================================*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
section,
footer {
	display: block;
}
/*===========================================================================================
 インライン等要素の初期化 
===========================================================================================*/
a {
	text-decoration: none;
}
table {
	border-spacing: 0;
}
fieldset,
img {
	border: 0;
}
address,
caption,
cite,
code,
dfn,
th,
var {
	font-style: normal;
}
ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
caption {
	text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	font-size: 100%;
	margin: 0;
	padding: 0;
}
q:before,
q:after {
	content: '';
}
abbr,
acronym {
	border: 0;
}
/********************************************************************************************
 汎用クラス
********************************************************************************************/
/*===========================================================================================
 テキスト装飾 
===========================================================================================*/
.bold {
	font-weight: bold;
}
.block {
	display: block;
}
.txt-green {
	color: #339900;
}
.txt-blue {
	color: #0099CC;
}
.txt-red {
	color: #FF0000;
}
.txt-brown {
	color: #5A4336;
}
.txt-cyan {
	color: #469EE6;
}
.txt-orange {
	color: #D97200;
}
.txt-pink {
	color: #FF6699;
}
.txt-purple {
	color: #330099;
}
.txt-black {
	color: #333333;
}
.bg-green {
	background-color: #ECF9EF;
}
.bg-blue {
	background-color: #ECF0F9;
}
.bg-red {
	background-color: #F9ECEC;
}
.bg-brown {
	background-color: #FAF1EB;
}
.bg-yellow {
	background-color: #FAFAEB;
}
/*===========================================================================================
 flexbox 
===========================================================================================*/
.theme_wrapper .flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	align-items: stretch;
	-webkit-align-items: stretch;
	margin-left: -10px;
	margin-right: -10px;
}
.theme_wrapper ul.flex,
.theme_wrapper ol.flex {
	margin-left: 0;
}
/********** 子要素 **********/
.theme_wrapper .flex > * {
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
}
.theme_wrapper .flex *[class*="width"] img {
	float: left;
}
/********** オプションクラス **********/
/* 垂直方向の揃え方（デフォルト：stretch） */
.theme_wrapper .flex.align-start {
	align-items: flex-start;
	-webkit-align-items: flex-start;
}
/* 子要素間の余白（デフォルト：margin:0 10px 20px） */
.theme_wrapper .flex.no-margin,
.theme_wrapper .flex.no-margin > *,
.theme_wrapper .flex *[class*="width"].no-margin,
.theme_wrapper .flex *[class*="width"].no-margin > * {
	margin-left: 0;
	margin-right: 0;
}
/* 子要素の折り返し設定（デフォルト：nowrap） */
.theme_wrapper *[class*="wrap"] {
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
}
.theme_wrapper .flex.wrap-2 > * {
	width: calc(50% - 20px);
	max-width: 50%;
}
.theme_wrapper .flex.wrap-3 > * {
	width: calc(33.3% - 20px);
	max-width: 33.3%;
}
.theme_wrapper .flex.wrap-4 > * {
	width: calc(25% - 20px);
	max-width: 25%;
}
.theme_wrapper .flex.wrap-5 > * {
	width: calc(20% - 20px);
	max-width: 20%;
}
.theme_wrapper .flex.wrap-2.no-margin > * {
	width: 50%;
}
.theme_wrapper .flex.wrap-3.no-margin > * {
	width: 33.3%;
}
.theme_wrapper .flex.wrap-4.no-margin > * {
	width: 25%;
}
.theme_wrapper .flex.wrap-5.no-margin > * {
	width: 20%;
}
/*===========================================================================================
 幅指定クラス 
===========================================================================================*/
.theme_wrapper .width-1 {
	width: 10% !important;
	max-width: 10% !important;
}
.theme_wrapper .width-2 {
	width: 20% !important;
	max-width: 20% !important;
}
.theme_wrapper .width-3 {
	width: 30% !important;
	max-width: 30% !important;
}
.theme_wrapper .width-4 {
	width: 40% !important;
	max-width: 40% !important;
}
.theme_wrapper .width-5 {
	width: 50% !important;
	max-width: 50% !important;
}
.theme_wrapper .width-6 {
	width: 60% !important;
	max-width: 60% !important;
}
.theme_wrapper .width-7 {
	width: 70% !important;
	max-width: 70% !important;
}
.theme_wrapper .width-8 {
	width: 80% !important;
	max-width: 80% !important;
}
.theme_wrapper .width-9 {
	width: 90% !important;
	max-width: 90% !important;
}
/*===========================================================================================
 マージン 
===========================================================================================*/
.margin-left0 {
	margin-left: 0px !important;
}
.margin-left10px {
	margin-left: 10px !important;
}
.margin-left15px {
	margin-left: 15px !important;
}
.margin-left20px {
	margin-left: 20px !important;
}
.margin-left30px {
	margin-left: 30px !important;
}
.margin-left40px {
	margin-left: 40px !important;
}
.margin-left50px {
	margin-left: 50px !important;
}
.margin-right0 {
	margin-right: 0px !important;
}
.margin-right10px {
	margin-right: 10px !important;
}
.margin-right20px {
	margin-right: 20px !important;
}
.margin-right30px {
	margin-right: 30px !important;
}
.margin-right40px {
	margin-right: 40px !important;
}
.margin-right50px {
	margin-right: 50px !important;
}
.margin-top0 {
	margin-top: 0px !important;
}
.margin-top10px {
	margin-top: 10px !important;
}
.margin-top20px {
	margin-top: 20px !important;
}
.margin-top30px {
	margin-top: 30px !important;
}
.margin-top40px {
	margin-top: 40px !important;
}
.margin-top50px {
	margin-top: 50px !important;
}
.margin-bottom0 {
	margin-bottom: 0 !important;
}
.margin-bottom10px {
	margin-bottom: 10px !important;
}
.margin-bottom20px {
	margin-bottom: 20px !important;
}
.margin-bottom30px {
	margin-bottom: 30px !important;
}
.margin-bottom40px {
	margin-bottom: 40px !important;
}
.margin-bottom50px {
	margin-bottom: 50px !important;
}
/*===========================================================================================
 余白 
===========================================================================================*/
.padding-left1 {
	padding-left: 1em !important;
}
.padding-left10px {
	padding-left: 10px !important;
}
.padding-left20px {
	padding-left: 20px !important;
}
.padding-left30px {
	padding-left: 30px !important;
}
.padding-left40px {
	padding-left: 40px !important;
}
.padding-left50px {
	padding-left: 50px !important;
}
.padding-right1 {
	padding-right: 1em !important;
}
.padding-right10px {
	padding-right: 10px !important;
}
.padding-right20px {
	padding-right: 20px !important;
}
.padding-right30px {
	padding-right: 30px !important;
}
.padding-right40px {
	padding-right: 40px !important;
}
.padding-right50px {
	padding-right: 50px !important;
}
.padding-top10px {
	padding-top: 10px !important;
}
.padding-top20px {
	padding-top: 20px !important;
}
.padding-top30px {
	padding-top: 30px !important;
}
.padding-top40px {
	padding-top: 40px !important;
}
.padding-top50px {
	padding-top: 50px !important;
}
.padding-bottom10px {
	padding-bottom: 10px !important;
}
.padding-bottom20px {
	padding-bottom: 20px !important;
}
.padding-bottom30px {
	padding-bottom: 30px !important;
}
.padding-bottom40px {
	padding-bottom: 40px !important;
}
.padding-bottom50px {
	padding-bottom: 50px !important;
}
.padding-all10px {
	padding: 10px !important;
}
/*===========================================================================================
 行の高さ 
===========================================================================================*/
.line-height150 {
	line-height: 150% !important;
}
.line-height160 {
	line-height: 160% !important;
}
.line-height170 {
	line-height: 170% !important;
}
.height10em {
	height: 10em !important;
}
.height12em {
	height: 12em !important;
}
.height15em {
	height: 15em !important;
}
/*===========================================================================================
 揃え方（水平・垂直） 
===========================================================================================*/
.l-spacing1 {
 letter-spacing !important: 0.1em;
}
.l-spacing2 {
 letter-spacing !important: 0.2em;
}
.text-indent1 {
 text-indent !important: 1em;
}
.align-center {
	text-align: center !important;
	clear: both !important;
}
.align-left {
	text-align: left !important;
	clear: both !important;
}
.align-right {
	text-align: right !important;
	clear: both !important;
}
.valign-top {
	vertical-align: top !important;
}
.valign-middle {
	vertical-align: middle !important;
}
.valign-bottom {
	vertical-align: bottom !important;
}
/*===========================================================================================
 displayプロパティ 
===========================================================================================*/
.display-none {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;

	padding: 0 !important;
}
.inline-block {
	vertical-align: top !important;
	display: inline-block !important;
}
.table-cell {
	display: table-cell !important;
	vertical-align: middle !important;
}
/*===========================================================================================
 floatプロパティ 
===========================================================================================*/
.float-left {
	float: left !important;
}
.float-right {
	float: right !important;
}
.clear {
	clear: both !important;
}
/********************************************************************************************
 メディア・クエリ　ブレークポイント：1600,1280,1024,800,640,510,480,400
********************************************************************************************/
@media screen and (max-width:480px) {
/*===========================================================================================
 flexbox 
===========================================================================================*/
.theme_wrapper .flex {
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
}
/*===========================================================================================
 幅指定クラス 
===========================================================================================*/
.theme_wrapper .width-1,
.theme_wrapper .width-2,
.theme_wrapper .width-3,
.theme_wrapper .width-4,
.theme_wrapper .width-5,
.theme_wrapper .width-6,
.theme_wrapper .width-7,
.theme_wrapper .width-8,
.theme_wrapper .width-9 {
	width: 100% !important;
	max-width: 100% !important;
}
.theme_wrapper .wrap-2 > *,
.theme_wrapper .wrap-3 > *,
.theme_wrapper .wrap-4 > *,
.theme_wrapper .wrap-5 > * {
	width: 100% !important;
	max-width: 100% !important;
}
}