/* mixins
--------------------------------------------------------*/

/* main_contents
--------------------------------------------------------*/
.main_contents {
	width: 100%;
}

.main_contents .contblock {
	width: 1000px;
}

.main_contents h3 span {
	border-left: 4px solid #e23337;
	padding-left: 10px;
	display: block;
	line-height: 1.4;
}

@media only screen and (max-width: 736px) {
	.main_contents {
		margin-top: 30px;
		padding: 0;
	}
	
	.main_contents img {
		width: 100%;
	}
	
	.main_contents .contblock {
		width: 100%;
		padding: 0 15px;
	}
	
	
	.read_block p.align_c,
	.system_block p.align_c,
	.manual_block p.align_c {
		text-align: left !important;
	}
	
}


/* manual_block
--------------------------------------------------------*/
.manual_block {
	background-image: url(../img/common/bg-dot.png);
	background-position: 0% 0%;
	background-repeat: repeat;
	padding: 55px 0 0;
}

.manual_block p.align_c {
	margin-bottom: 40px;
}

.manual_block .col2_block .col_box:last-child {
	border-left: 1px solid #cfcfcf;
}

.manual_block .col2_block .col_box .sttl {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin: 15px 0;
}

.manual_block .col2_block .col_box .sttl + p {
	width: 60%;
	margin: 0 auto;
	letter-spacing: 0;
}

@media only screen and (max-width: 736px) {
	.manual_block img {
		width: auto;
	}
	
	.manual_block p.align_c {
		margin-bottom: 30px;
	}
	.manual_block .col2_block .col_box:nth-child(odd) {
		margin-bottom: 20px;
	}
	
	.manual_block .col2_block .col_box:last-child {
		border-left: none;
	}
	
	.manual_block .col2_block .col_box .sttl + p {
		width: 100%;
	}
}

/* system_block
--------------------------------------------------------*/
.main_contents .system_block + .contblock {
	margin-bottom: 100px;
}

.system_block img {
	margin-top: 45px;
}

.system_block + .contblock h2 {
	margin-bottom: 25px;
}

.system_block + .contblock h2 + p {
	font-size: 1.6rem;
}

@media only screen and (max-width: 736px) {
	.main_contents .system_block + .contblock {
		margin-bottom: 0;
	}
	
	.system_block + .contblock h2 + p {
		font-size: 1.4rem;
	}
}



/* flow_block
--------------------------------------------------------*/
.flow_block {
	background: #eeeeee;
	display: flex;
	margin-bottom: 100px;
}

.flow_block .contblock {
	width: 1025px;
	margin-bottom: 0;
}

.main_contents .flow_block .col2_block,
.main_contents .flow_block .col3_block,
.main_contents .flow_block .col2_block .col_box,
.main_contents .flow_block .col3_block .col_box {
	margin-bottom: 0;
}

.main_contents .flow_block .col2_block {
	margin-top: -70px;
}

.flow_block .col2_block .col_box .col3_block .col_box p.step span {
	display: inline-block;
	width: 87px;
	text-align: center;
	font-weight: bold;
	color: #ffffff;
	background: #e23337;
	margin: 25px 0 0;
	padding: 2px;
}

.flow_block .col2_block .col_box .col3_block .col_box p.step::after {
	content: "";
	height: 2px;
	width: 100%;
	margin: 0 auto;
	border-bottom: dotted 5px #ccc;
	top: 65%;
	position: absolute;
}

.flow_block .col2_block .col_box:last-child .col3_block .col_box:last-child p.step::after {
	border-bottom: none;
}

.flow_block .col2_block .col_box .col3_block .col_box p.step + p {
	font-weight: bold;
	height: 50px;
	font-size: 1.4rem;
	letter-spacing: 0;
}

.flow_block .col2_block .col_box .col3_block .col_box .txt_box {
	margin-left: 20px;
	width: 100%;
}

.flow_block .col2_block .col_box .col3_block .col_box .txt_box a {
	text-decoration: underline;
}

.flow_block .col2_block .col_box .col3_block .col_box .txt_box a:hover {
	text-decoration: none;
}

.flow_block .col2_block .col_box .col3_block .col_box .txt_box ul li:before {
	content: "▶︎";
	display: block;
	width: 9px;
	height: 9px;
	position: absolute;
	top: 0;
	left: 0;
	color: #e23337;
	background: none;
}

@media only screen and (max-width: 736px) {
	.flow_block {
		margin-bottom: 50px;
		display: block;
		padding: 25px 0;
	}
	
	.flow_block .contblock {
		width: 100%;
	}
	
	.main_contents .flow_block .col2_block {
    margin-top: 0;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box {
		margin: 0 0 15px;
    border-bottom: 2px dotted #d2d2d2;
    padding-bottom: 15px;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box .img {
		float: left;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box .txt_box {
		width: auto;
		overflow: hidden;
		padding-left: 30px;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box p.step::after {
		display: none;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box p.step span {
		margin: 10px 0 0;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box p.step + p {
		height: auto;
	}
	
	.flow_block .col2_block .col_box .col3_block .col_box .txt_box ul li {
		font-weight: 400;
	}
	
	.flow_block .asterisk.align_r {
		text-align: left !important;
	}
}


/* flow_list_block
--------------------------------------------------------*/
.flow_list_block {
	
}

.flow_list_block .step_main {
	margin-bottom: 80px;
}

.flow_list_block .step_main img {
	position: relative;
}

.flow_list_block .step_main .txt_box {
	position: absolute;
	width: 42.5%;
	height: 420px;
	background: rgba(0,0,0,0.7);
	color: #ffffff;
	padding: 85px 35px 0;
	top: 30px;
	left: 30px;
}

.flow_list_block .step_main .txt_box::after {
	content: "";
	background: url(../img/freadia_brand/quality/icon_arrow.png) no-repeat;
	width: 9px;
	height: 9px;
	position: absolute;
	bottom: 7px;
	right: 7px;
}

.flow_list_block .step01,
.flow_list_block .step02,
.flow_list_block .step03,
.flow_list_block .step04 {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 50px;
	margin-bottom: 70px;
}
.flow_list_block .step05 {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 40px;
	margin-bottom: 70px;
}

.flow_list_block .step_main .txt_box p.step span {
	display: inline-block;
	width: 87px;
	text-align: center;
	font-weight: bold;
	color: #ffffff;
	background: #e23337;
	margin: 0;
	padding: 2px;
}

.flow_list_block .step_main .txt_box p.ttl {
	font-size: 2.0rem;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
	margin-bottom: 30px;
	padding-bottom: 25px;
}

.flow_list_block .float_l,
.flow_list_block .float_r {
	margin-bottom: 20px;
}

.flow_list_block .float_l + .over_h,
.flow_list_block .float_r + .over_h {
 overflow: hidden;
	height: 250px;
}

.flow_list_block .float_l + .over_h::after,
.flow_list_block .float_r + .over_h::after {
 	content: "";
	position: absolute;
	bottom: 0;
	background: #a0a0a0;
	width: 100%;
	height: 1px;
}

.flow_list_block .float_l + .over_h::before,
.flow_list_block .float_r + .over_h::before {
 	content: "";
	position: absolute;
	top: 0;
	background: #a0a0a0;
	width: 100%;
	height: 1px;
}

.flow_list_block .float_l + .over_h p,
.flow_list_block .float_r + .over_h p {
	padding: 0 30px;
}

.flow_list_block .float_l + .over_h p.sttl,
.flow_list_block .float_r + .over_h p.sttl {
	font-size: 1.4rem;
	font-weight: bold;
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: dotted 2px #eeeeee;
	margin: 0 30px 20px;
	padding: 40px 0 15px; 
}

.flow_list_block .float_l {
	margin-right: 15px;
}

.flow_list_block .float_r {
	margin-left: 15px;
}

.main_contents .flow_list_block .step05 .col3_block {
	margin: 0;
	position: relative;
}

.main_contents .flow_list_block .step05 .col3_block .col_box {
	width: 37.7%;
	margin-right: 12px;
	padding: 0;
}
.main_contents .flow_list_block .step05 .col3_block .col_box:first-child {
	width: 29.8%;
}
.main_contents .flow_list_block .step05 .col3_block .col_box:last-child {
	width: 29.8%;
	margin-right: 0;
}

.main_contents .flow_list_block .step05 .col3_block .col_box p.sttl {
	font-size: 1.4rem;
	font-weight: bold;
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: dotted 2px #eeeeee;
	margin: 0 10px 20px;
	padding: 65px 0 15px; 
}

.main_contents .flow_list_block .step05 .col3_block .col_box p.sttl + p {
	padding: 0 10px; 
}

.main_contents .flow_list_block .step05 .col3_block .col_box:nth-child(2) p.sttl {
	font-size: 1.4rem;
	font-weight: bold;
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: dotted 2px #eeeeee;
	margin: 0 40px 20px;
	padding: 65px 0 15px; 
}

.main_contents .flow_list_block .step05 .col3_block .col_box:nth-child(2) p.sttl + p {
	padding: 0 40px; 
}

.main_contents .flow_list_block .step05 .col3_block::before {
	content: "";
	border-top: 1px solid #d2d2d2;
	width: 100%;
	display: inline-table;
	position: absolute;
	top: 65%;
}

@media only screen and (max-width: 736px) {
	.flow_list_block .step_main {
    margin-bottom: 40px;
	}
	
	.flow_list_block .step_main .txt_box {
		position: relative;
    width: 100%;
    height: auto;
    background: rgba(0,0,0,0.7);
    color: #ffffff;
    padding: 20px 20px;
    top: 0;
    left: 0;
	}
	
	.flow_list_block .step_main .txt_box p.ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
    padding-bottom: 10px;
	}
	
	.flow_list_block .step01, 
	.flow_list_block .step02, 
	.flow_list_block .step03, 
	.flow_list_block .step04 {
    padding-bottom: 0;
    margin-bottom: 35px;
	}
	
	.flow_list_block .step05 {
    padding-bottom: 0;
    margin-bottom: 40px;
	}
	
	.flow_list_block .float_l {
    margin-right: 0;
    float: none;
		margin-bottom: 0;
	}
	.flow_list_block .float_r {
    margin-left: 0;
    float: none;
		margin-bottom: 0;
	}
	
	.flow_list_block .float_l + .over_h, 
	.flow_list_block .float_r + .over_h {
    overflow: inherit;
    height: auto;
    margin-bottom: 15px;
		padding: 10px 0;
	}
	
	.flow_list_block .float_l + .over_h::after,
	.flow_list_block .float_r + .over_h::after,
	.flow_list_block .float_l + .over_h::before,
	.flow_list_block .float_r + .over_h::before {
		display: none;
	}
	
	.flow_list_block .float_l + .over_h p.sttl, 
	.flow_list_block .float_r + .over_h p.sttl,
	.main_contents .flow_list_block .step05 .col3_block .col_box p.sttl,
	.main_contents .flow_list_block .step05 .col3_block .col_box:nth-child(2) p.sttl  {
		padding: 0 0 5px;
		margin: 0 0 5px;
	}
	
	.main_contents .flow_list_block .step05 .col3_block .col_box p.sttl,
	.main_contents .flow_list_block .step05 .col3_block .col_box:nth-child(2) p.sttl {
		margin-top: 10px;
	}
	.main_contents .flow_list_block .step05 .col3_block .col_box p.sttl + p,
	.main_contents .flow_list_block .step05 .col3_block .col_box:nth-child(2) p.sttl + p{
		margin-bottom: 30px;
		padding: 0;
	}
	
	
	.flow_list_block .float_l + .over_h p,
	.flow_list_block .float_r + .over_h p {
    padding: 0;
	}
	
	.main_contents .flow_list_block .step05 .col3_block .col_box {
		width: 100%;
		margin-right: 0;
		padding: 0;
	}
	.main_contents .flow_list_block .step05 .col3_block .col_box:first-child {
		width: 100%;
	}
	.main_contents .flow_list_block .step05 .col3_block .col_box:last-child {
		width: 100%;
	}
	
	.main_contents .flow_list_block .step05 .col3_block::before {
		display: none;
	}
	
}


/* concept_block
--------------------------------------------------------*/
.concept_block {
	
}

.concept_block .concept_main {
	background: url(../img/freadia_brand/quality/bg_concept.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	height: 440px;
	padding-top: 85px;
	margin-bottom: 60px;
} 

.concept_block .concept_main .txt {
	text-align: center;
	margin: 0 auto;
	width: 277px;
	color: #ffffff;
	border: 10px solid #ffffff;
}

.concept_block .concept_main .txt p {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 2.5;
	padding: 60px 0;
	margin-bottom: 0;
}

.concept_block .concept_list ul li {
	float: left;
	margin-right: 28px;
}

.concept_block .concept_list ul li:last-child {
	margin-right: 0;
}

.concept_block .concept_list ul li::before {
	display: none;
}
    
@media only screen and (max-width: 736px) {
	.concept_block .concept_main {
    height: auto;
    padding: 40px 0;
    margin-bottom: 30px;
	}	
	
	.concept_block .concept_main .txt {
    width: 60%;
    border: 5px solid #ffffff;
	}
	
	.concept_block .concept_main .txt p {
		font-size: 1.6rem;
		line-height: 2;
		padding: 30px 0;
	}
	
	.concept_block .align_c img {
		width: 70%;
	}
	
	.concept_block .concept_list {
		padding: 25px 0;
	}
	
	.concept_block .concept_list ul li {
    float: left;
    margin-right: 0;
    margin-bottom: 15px;
	}
}




