@charset "UTF-8";
/* CSS Document */
.page_img {
	background-image: url("../img/safety/bg_head_safety.jpg");
}
section{
	margin-bottom: 70px;
}

.caption_txt{
	margin-bottom: 50px;
}
/*食品安全方針*/
.policy_wrap .txt{
	padding-left: 2em;
	text-indent: -2em;
	margin-bottom: 5px;
}
/*認証取得*/
.text_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.text_flex .txt {
    width: 47%;
}
.text_flex .img {
    width: 50%;
	margin: 0 auto 10px;
}

/*クオリティファーストの一貫した品質管理体制*/
.organization_wrap{
	padding: 30px 0;
	border: 1px solid #b2b2b2;
	width: 94%;
	margin: 0 auto 20px;
	position: relative;
}
.organization_wrap.green{border-color: #74a92d;}
.organization_wrap.pink{border-color: #e07594;}
.organization_wrap.blue{border-color: #74c1cd;}
.organization_wrap.pink::before,
.organization_wrap.pink::after{
    content: url(../img/safety/organization_arrows.svg);
    display: block;
    width: 5vw;
    max-width: 30px;
    height: 25vw;
    max-height: 150px;
    position: absolute;
    z-index: 2;
    right: calc(5% + 7% - 15px);
    top: calc(-20px - 30px);
}
.organization_wrap.pink::after{
    content: url(../img/safety/organization_arrows.svg);
	right: auto;
    left: calc(5% + 7% - 15px);
	transform: rotate(180deg);
}
h3.o_ttl {
    text-align: center;
    line-height: 140%;
    font-size: 1.6em;
    font-feature-settings: "palt"1;
    letter-spacing: 1.5px;
    padding: 0 0 10px 0;
    width: 92%;
    margin: 0 auto 25px;
}
.green h3.o_ttl{color: #74a92d; background: url("../img/safety/dotted_g.png") repeat-x left bottom;}
.pink h3.o_ttl{color: #e07594; background: url("../img/safety/dotted_p.png") repeat-x left bottom;}
.blue h3.o_ttl{color: #74c1cd; background: url("../img/safety/dotted_b.png") repeat-x left bottom;}

.org_list{
	display: flex;
    justify-content: space-between;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
.org_list li{
		width: 18%;
    margin: 0 auto;
		text-align: center;
	position: relative;
}
.pink .org_list li{width: 30%;}
.pink .org_list li:first-child {width: 64%;}
.blue .org_list li{width: 45%;}
.org_list li a{
	width: 100%;
    height: 100%;
    padding: 15px 5px 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    background: #ecf3e2;
    border: 1px solid #74a92d;
    border-radius: 10px;
}
.pink .org_list li a{
    background: #fff0f0;
	border-color:#e07594;
    padding-top: 10px;
}
.blue .org_list li a{
    background: #f1f9fa;
	border-color:#74c1cd;
}
.org_list li a:hover{
	background: #fff;
}
.org_list li::before{
    color: #ffe866;
    display: block;
    position: absolute;	
    z-index: 2;
    font-size: 1.5em;
    height: 1em;
    line-height: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
}
.green .org_list li:not(:last-child)::before{
    content: "▼";
    width: 1em;
    right: -0.9em;
    transform: rotate(-90deg);
}
.pink .org_list li::before{
    content: "▼";
    width: 3em;
    left: -2em;
    transform: rotate(90deg);
}
.pink .org_list li:first-child::before{
	display: none;
}
.org_list .txt{
		color: #000000;
		font-size: 1.15em;
		font-weight:bold;
		line-height: 140%;
    	width: 100%;
	}
.org_list .img {
    width: 90%;
	max-width: 86px;
    margin: 0 0 5px;
}
.pink .org_list .img{max-width: 120px;}
.blue .org_list .img{max-width: 130px;}
.blue .org_list .long .img{max-width: 250px;}

/*アコーディオン*/
.acd_wrap {
    width: 94%;
    margin: 0 auto 30px;
}
.acd-label {
    font-size: 1.15em;
    padding: 15px;
    padding-right: 45px;
}
.acd-label ::before{
	display: none;
}
.acd-content,
.acd-check:checked + .acd-label + .acd-content{
    padding: 10px 0 0 0;
    border: none;
}

.green .acd-label{
	color: #74a92d;
	background: #f1f6ea;
	border: 1px solid;
}
.pink .acd-label{
	color: #e07594;
	background: #fff0f0;
	border: 1px solid;
}
/*基盤*/
.kiban_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	width: 94%;
	margin: 0 auto;
}
.kiban_flex .flex_l,
.kiban_flex .flex_r {
    width: 47%;
	margin-bottom: 20px;
}
.kiban_flex h4.ttl{
	margin-bottom: 15px;
	color: #74c1cd;
	border-color: #74c1cd;
	background: #f1f9fa;
}
.kiban_list li {
    text-indent: -1.25em;
    padding-left: 1.25em;
}
@media screen and (max-width:600px) {
section{
	margin-bottom: 30px;
}
	.caption_txt{
		margin-bottom: 25px;
	}
/*認証取得*/
.text_flex{
	flex-direction: column-reverse;
}
.text_flex .txt {
    width: 100%;
}
.text_flex .img {
    width: 100%;
	max-width: 250px;
}
/*クオリティファーストの一貫した品質管理体制*/
.safety .organization_wrap h3.o_ttl {
    font-size: 1.2em;
    margin-bottom: 10px;
    background-size: auto 4px;
    padding-bottom: 5px;
}
.organization_wrap {
    width: 96%;
    padding: 15px 0;
    margin-bottom: 10px;
}
.organization_wrap.pink::before,
.organization_wrap.pink::after{
    max-width: 15px;
    max-height: 75px;
    top: calc(-10px - 15px);
}
.org_list li a {
    padding-top: 10px;
}
.org_list .txt {
    font-size: 0.9em;
}
.org_list .img {
    width: auto;
    height: 40px;
}
.pink .org_list li::before{left: -1.9em;}
.pink .org_list li:first-child::before{right: -1.9em;}
/*アコーディオン*/
	.acd-label{
		font-size: 1.1em;
		padding-top: 12px;
		padding-bottom: 12px;
	}
/*基盤*/
.kiban_flex .flex_l,
.kiban_flex .flex_r{
    width: 100%;
}
}