@charset "utf-8";

/*----------------------------------------------------------------------

コンテンツエリア

----------------------------------------------------------------------*/
.border_container {
	box-sizing: border-box;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	width: 500px;
	margin: 0 auto 153px auto;
	padding: 30px 0;
}

.contents_area {
	width: 335px;
	margin: 0 auto;
}



/*----------------------------------------------------------------------

見出し、本文、キャプション

----------------------------------------------------------------------*/
.headline {
	font-size: 20px;
	font-weight: bold;
	color: #333;
	line-height: 1.2;
}

.sub_headline {
	font-size: 17px;
	font-weight: bold;
	color: #333;
	padding-left: 6px;
	border-left: 6px solid #dedede;
	line-height: 1.2;
}

.area_txt {
	font-size: 16px;
	color: #333;
	line-height: 26px;
}

.caption_txt {
	font-size: 14px;
	color: #757575;
	line-height: 23px;
}



/*----------------------------------------------------------------------

エラーメッセージ

----------------------------------------------------------------------*/
.error_msg {
	border: 1px solid #ff0000;
	padding: 12px;
	font-size: 16px;
	line-height: 26px;
	color: #ff0000;
}



/*----------------------------------------------------------------------

右寄せ、左寄せ、中央寄せ

----------------------------------------------------------------------*/
.txt_l {
	text-align: left !important;
}
.txt_r {
	text-align: right !important;
}
.txt_c {
	text-align: center !important;
}



/*----------------------------------------------------------------------

Flex

----------------------------------------------------------------------*/
.flex_box {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.flex_box.zip_code_area {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.flex_box .no_shrink {
	flex-shrink: 0;
}

.flex_box .col_2 {
	width: 50%;
	box-sizing: border-box;
}
.flex_box .col_2:first-child {
	padding-right: 10px;
}
.flex_box .col_2:last-child {
	padding-left: 10px;
}

.flex_box .col_3 {
	width: 50%;
	box-sizing: border-box;
	padding-left: 5px;
	padding-right: 5px;
}
.flex_box .col_3:first-child {
	padding-left: 0;
	padding-right: 10px;
}
.flex_box .col_3:last-child {
	padding-left: 10px;
	padding-right: 0;
}



/*----------------------------------------------------------------------

float

----------------------------------------------------------------------*/
.float_box::after {
	content: "";
	display: block;
	clear: both;
}
.float_box .fl {
	float: left;
}
.float_box .fr {
	float: right;
}