/* CSS Document */
/* 全体
---------------------------------------------------------- */
body {
	padding: 0 !important;
}

a:hover {
	text-decoration: none;
	opacity: 0.5;
}

.k-haccp {
	color: #333;
	font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.k-haccp .content {
	text-align: center;
	padding: 4rem 20px;
}

.green {
	background: #EBF8F6;
}

.blue {
	background: #F2FAFF;
}

.k-haccp p {
	font-size: 1.1rem;
}

.k-haccp .sp_br,
.k-haccp .sp_img {
	display: none;
}

.k-haccp .comments {
	padding-left: 1em;
	text-indent: -1.1em;
}

.message_b {
	background: #10559F;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
	line-height: 1.3;
}

.message_b::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #10559F transparent transparent transparent;
	border-width: 40px 60px 0;
}

@media screen and (max-width: 767px) {
	.k-haccp p {
		font-size: 100%;
		text-align: left;
	}

	.k-haccp .pc_br {
		display: none;
	}

	.k-haccp .sp_br {
		display: block;
	}

	.message_b {
		font-size: 2rem;
		padding: 1.5rem;
	}
}

/* ヘッダー
---------------------------------------------------------- */
#header #headerIn {
	padding: 0;
}

#header .header-contact_inner {
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	max-width: 650px;
}

#header .header-contact_inner div {
	padding: 10px;
	box-sizing: border-box;
}

#header .header-contact_inner span {
	font-size: 13px;
	color: #10559F;
}

#header .header-contact_inner .tel {
	min-width: 280px;
	margin-top: 24px;
}

#header .header-contact_inner .tel span,
#header .header-contact_inner .tel a {
	display: block;
}

#header .header-contact_inner .tel a span {
	font-family: 'Lato', sans-serif;
	font-size: 2.2rem;
	font-weight: 900;
	color: #10559F;
	margin-top: -14px;
}

#header .header-contact_inner .tel .time {
	font-size: 1rem;
	border-bottom: none;
}

#header .header-contact_inner .document a img {
	max-width: 208px;
	margin-top: 1.5rem;
}

#header .header-contact_inner .mail a img {
	max-width: 168px;
	margin-top: 1.5rem;
}

#header .header-contact_inner .mail .sp_btn {
	display: none;
}

#header .header_sp_icon {
	display: none;
}

@media screen and (max-width: 959px) {
	#header #headerLogo {
		position: absolute;
		left: 0;
		top: 24px;
		z-index: 44;
	}

	#header .header-contact_inner div {
		padding: 10px 3px;
	}

	#header .header-contact_inner .tel {
		margin-top: 2rem;
		margin-right: -78px;
	}

	#header .header-contact_inner span {
		font-size: 11px;
	}

	#header .header-contact_inner .tel a span {
		font-size: 1.6rem;
	}

	#header .header-contact_inner .document a img,
	#header .header-contact_inner .mail a img {
		width: auto;
		height: 45px;
		margin-top: 2rem;
	}
}

@media screen and (max-width: 767px) {
	#headerIn {
		padding: 0;
	}

	#header #headerLogo {
		position: absolute;
		top: 0;
	}

	#header .header-contact_inner div {
		padding: 0;
	}

	#header .header-contact_inner .tel,
	#header .header-contact_inner .document,
	#header .header-contact_inner .mail {
		min-width: inherit;
		margin-top: 0;
		width: 66px;
	}

	#header .header-contact_inner .tel {
		background: #10559F;
		margin-right: 0;
	}

	#header .header-contact_inner .document {
		background: #F89A37;
	}

	#header .header-contact_inner .mail {
		background: #1F8BEA;
	}

	#header .header-contact_inner .tel a,
	#header .header-contact_inner .document a,
	#header .header-contact_inner .mail a {
		display: block;
		height: 100%;
		margin-top: 0;
		padding: 3px 10px 2px;
	}

	#header .header-contact_inner .tel span,
	#header .header-contact_inner .document a img,
	#header .header-contact_inner .mail a img {
		display: none;
	}

	#header #headerLogo {
		padding: 10px;
	}

	#headerLogo img {
		height: 37px;
	}

	#header .header-contact_inner div .header_sp_icon {
		display: block !important;
		height: 20px !important;
		margin: 6px auto 0 !important;
		font-size: 11px;
		color: #fff;
	}

	#header .header-contact_inner div .header_sp_icon:last-child {
		width: inherit;
		text-align: center;
	}
}

/* メインビジュアル
---------------------------------------------------------- */
#main {
	background: url(../img/k-haccp/main_bg.png) no-repeat;
	background-size: cover;
	position: relative;
	background-position: 80% 20%;
	height: 600px;
}

#main .mainimg {
	max-width: 600px;
	position: absolute;
	top: 3rem;
	left: 10%;
}

#main .mainimg .cc h1 {
	font-size: 1.6rem;
	font-weight: 900;
	color: #333;
	margin-left: 1.5rem;
}

#main .mainimg .cc h1 span {
	color: #D51414;
}

#main .mainimg .cc img {
	margin-top: -1rem;
}

#main .main_sp {
	display: none;
}

@media screen and (max-width: 1180px) {
	#main {
		height: 500px;
	}

	#main .mainimg {
		max-width: 450px;
		top: 3rem;
		left: 5%;
	}

	#main .mainimg .cc h1 {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 767px) {
	#main {
		height: inherit;
	}

	#main .mainimg {
		display: none;
	}

	#main .main_sp {
		display: block;
	}

	#main .main_pc {
		display: none;
	}
}

/* HACCP認証取得から継続まで 専門家がすべてサポート致します！
---------------------------------------------------------- */
#support {
	background: #019D6D;
	padding: 1rem 20px 1.8rem;
}

.support_inner {
	display: flex;
	max-width: 880px;
	position: relative;
}

#support img {
	position: absolute;
	top: -60px;
	left: 0;
}

#support h2 {
	color: #fff;
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.3;
	padding-left: 13rem;
}

#support h2 span {
	font-size: 1.8rem;
}

#support h2 span:last-child {
	color: #FFFF33;
	font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
	#support img {
		max-width: 100px;
		position: absolute;
		top: 0;
		left: 0;
	}

	#support h2 {
		font-size: 2rem;
		padding-left: 7rem;
	}

	#support h2 span {
		font-size: 1.3rem;
	}

	#support h2 span:last-child {
		font-size: 2rem;
	}
}

@media screen and (max-width: 479px) {
	#support img {
		display: none;
	}

	#support h2 {
		padding-left: 0;
	}
}

/* 電話番号＆ボタン
---------------------------------------------------------- */
.tel-mail .tel-mail_inner {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1180px;
}

.tel-mail .tel-mail_inner div {
	padding: 10px;
	box-sizing: border-box;
}

.tel-mail span {
	font-size: 1.3rem;
	border-bottom: 2px solid #888;
	font-weight: bold;
}

.tel-mail .tel {
	min-width: 320px;
}

.tel-mail .tel span,
.tel-mail .tel a {
	display: inline-block;
	font-weight: bold;
}

.tel-mail .tel a {
	font-family: 'Lato', sans-serif;
	font-size: 2.8rem;
	font-weight: 900;
	color: #10559F;
}

.tel-mail .tel .time {
	font-size: 1rem;
	border-bottom: none;
	font-weight: normal;
}

.tel-mail .document a img {
	max-width: 415px;
	margin-top: 1rem;
}

.tel-mail .mail a img {
	max-width: 330px;
	margin-top: 1rem;
}

.tel-mail .mail .sp_btn {
	display: none;
}

@media screen and (max-width: 1180px) {
	.tel-mail.content {
		padding: 2rem 20px;
	}

	.tel-mail .tel-mail_inner {
		width: 100%;
	}

	.tel-mail .tel-mail_inner,
	.tel-mail span,
	.tel-mail .tel span {
		display: inline-block;
		font-size: 1rem;
	}

	.tel-mail .tel {
		min-width: inherit;
	}

	.tel-mail .tel a {
		display: block;
		font-size: 2rem;
	}

	.tel-mail .document a img,
	.tel-mail .mail a img {
		max-width: 350px;
		margin: 1rem auto 0;
		width: 100%;
		display: block;
	}

	.tel-mail .mail .pc_btn {
		display: none;
	}

	.tel-mail .mail .sp_btn {
		display: block;
	}
}

/* 2018年6月13日 HACCP義務化を含めた改正食品衛生法が交付。
---------------------------------------------------------- */
#worries {
	background: url(../img/k-haccp/worries_bg.png) no-repeat;
	background-size: cover;
	position: relative;
}

#worries::after {
	content: "";
	position: absolute;
	bottom: -39px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #535C65 transparent transparent transparent;
	border-width: 40px 60px 0;
	z-index: -1
}

#worries h2 {
	color: #fff;
	font-weight: 900;
	font-size: 3.2rem;
	display: inline-block;
	margin-bottom: 1.8rem;
	line-height: 1.5;
}

#worries h2 span {
	font-size: 2.4rem;
}

#worries img {
	width: 100%;
	max-width: 1125px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	#worries h2 {
		font-size: 1.4rem;
	}

	#worries h2 span {
		font-size: 1.4rem;
	}
}

/* K-HACCPで解決!
---------------------------------------------------------- */
#resolution1 h2 {
	color: #019D6D;
	font-weight: 900;
	font-size: 5.2rem;
	margin: 3rem 0 1.4rem;
	line-height: 1.2;
}

#resolution1 h2 span {
	color: #333;
}

#resolution1 h2 span:first-child {
	font-size: 3.15rem;
}

#resolution1 [data-ruby] {
	position: relative;
}

#resolution1 [data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	font-size: 0.2em;
}

#resolution1 rt {
	display: none;
}

#resolution1 p {
	margin-bottom: 4rem;
	font-size: 1.2rem;
}

#resolution1 p span {
	color: #D51414;
}

#resolution1 .resolution1_detail {
	background: #fff;
	padding: 2rem 3rem;
	box-sizing: border-box;
	border: 1px solid #019D6D;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}

#resolution1 .resolution1_detail h3 {
	color: #3CB98F;
	background: #fff;
	font-weight: 900;
	font-size: 2rem;
	display: inline-block;
	padding: 5px 20px;
	width: 100%;
	max-width: 600px;
	box-sizing: border-box;
	position: absolute;
	top: -34px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#resolution1 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1080px;
	margin: 2rem auto 0;
}

#resolution1 ul li {
	width: calc((100% - 180px)/ 4);
}

#resolution1 ul li img {
	width: 100%;
	margin-bottom: 1rem;
}

#resolution1 ul li p {
	font-size: 1.2rem;
	margin-bottom: 0;
	font-weight: bold;
}

#resolution1 ul li p span {
	color: #D51414;
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	#resolution1 h2 {
		font-size: 2rem;
	}

	#resolution1 h2 span:first-child {
		font-size: 1.35rem;
	}

	#resolution1 .resolution1_detail h3 {
		font-size: 1.6rem;
		line-height: 1.5;
		width: 94%;
	}

	#resolution1 ul li {
		width: calc((100% - 30px)/ 2);
		margin-bottom: 2rem;
	}

	#resolution1 ul li:nth-last-child(-n+2) {
		margin-bottom: 0;
	}

	#resolution1 ul li img {
		max-width: 130px;
		margin-bottom: 0;
	}

	#resolution1 ul li p {
		text-align: center;
	}
}

/* K-HACCPで解決!
---------------------------------------------------------- */
#resolution2 h2 {
	color: #019D6D;
	font-weight: 900;
	font-size: 3.2rem;
	margin: 0 0 1.4rem;
	line-height: 1.2;
}

#resolution2 h2 span {
	color: #333;
}

#resolution2 h2 span:first-child {
	font-size: 2.15rem;
}

#resolution2 [data-ruby] {
	position: relative;
}

#resolution2 [data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	font-size: 0.2em;
}

#resolution2 rt {
	display: none;
}

#resolution2 p {
	margin-bottom: 4rem;
}

#resolution2 p span {
	color: #D51414;
}

#resolution2 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1080px;
	margin: 2rem auto 0;
}

#resolution2 ul li {
	width: calc((100% - 240px)/ 3);
}

#resolution2 ul li img {
	width: 100%;
	margin-bottom: 1rem;
}

#resolution2 ul li p {
	font-size: 1.2rem;
	margin-bottom: 0;
	font-weight: bold;
}

#resolution2 ul li p span {
	color: #D51414;
	margin-bottom: 0;
}

@media screen and (max-width: 1079px) {
	#resolution2 ul li {
		width: calc((100% - 138px)/ 3);
	}

	#resolution2 ul li p {
		font-size: 1rem;
	}
}

@media screen and (max-width: 767px) {
	#resolution2 h2 {
		font-size: 2rem;
	}

	#resolution2 h2 span:first-child {
		font-size: 1.35rem;
	}

	#resolution2 p {
		margin-bottom: 2rem;
	}

	#resolution2 ul {
		display: block;
	}

	#resolution2 ul li {
		width: 100%;
		margin-bottom: 2rem;
	}

	#resolution2 ul li:last-child {
		margin-bottom: 0;
	}

	#resolution2 ul li img {
		max-width: 180px;
	}

	#resolution2 ul li p {
		text-align: center;
	}
}

/* 認証･継続をすべてサポートします
---------------------------------------------------------- */
#resolution_point1 .message_resolution1 {
	background: #3CB98F;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
}

#resolution_point1 .message_resolution1::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #3CB98F transparent transparent transparent;
	border-width: 40px 60px 0;
}

#resolution_point1 .message_resolution1 span {
	margin-top: 17px;
	display: inline-block;
}

#resolution_point1 p span {
	color: #D51414;
}

#resolution_point1 .flow {
	margin-bottom: 2rem;
}

#resolution_point1 .flow.pc_img {
	max-width: 1080px;
	display: block;
	margin: 0 auto 2rem;
	width: 100%;
}

@media screen and (max-width: 767px) {
	#resolution_point1 .message_resolution1 {
		font-size: 1.6rem;
	}

	#resolution_point1 .message_resolution1 img {
		max-width: 150px;
	}

	#resolution_point1 .message_resolution1 span {
		display: block;
	}
}

/* 一元化によるコストダウンを実現
---------------------------------------------------------- */
#resolution_point2 p span {
	color: #D51414;
}

#resolution_point2 .message_resolution2 {
	background: #F8A021;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
}

#resolution_point2 .message_resolution2::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #F8A021 transparent transparent transparent;
	border-width: 40px 60px 0;
}

#resolution_point2 .message_resolution2 span {
	margin-top: 17px;
	display: inline-block;
}

#resolution_point2 .cost {
	background: #F2F2F2;
	position: relative;
}

#resolution_point2 .cost::after {
	content: "";
	position: absolute;
	bottom: -39px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #F2F2F2 transparent transparent transparent;
	border-width: 40px 60px 0;
	z-index: -1;
}

#resolution_point2 .cost img {
	max-width: 814px;
	width: 100%;
}

#resolution_point2 .cost p {
	color: #00508F;
	font-size: 2rem;
	font-weight: bold;
	margin: 2rem auto 0;
}

#resolution_point2 .cost p:first-child {
	color: #333;
	font-size: 1.6rem;
	margin: 0 auto 2rem;
}

#resolution_point2 .lowcost h3 {
	color: #F8A021;
	font-weight: 900;
	font-size: 3.2rem;
	display: inline-block;
	margin-bottom: 1.8rem;
	line-height: 1.5;
}

#resolution_point2 .lowcost h3 span {
	color: #019D6D;
}

#resolution_point2 .lowcost h3 span span {
	font-size: 2.4rem;
	color: #333;
}

#resolution_point2 .lowcost img {
	margin: 0 auto;
	display: block;
	max-width: 450px;
	width: 100%;
}

#resolution_point2 .lowcost_detail {
	display: flex;
	max-width: 880px;
	text-align: left;
	margin: 3rem auto 0;
}

#resolution_point2 .lowcost_detail .lowcost_detail_img {
	width: 472px;
}

#resolution_point2 .lowcost_detail .lowcost_detail_img img {
	max-width: inherit;
}

#resolution_point2 .lowcost_detail .lowcost_detail_text {
	background: #EFF8F5;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 4px;
	width: 100%;
	max-width: 376px;
	margin-left: 2rem;
}

#resolution_point2 .lowcost_detail .lowcost_detail_text h4 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #019D6D;
}

#resolution_point2 .lowcost_detail .lowcost_detail_text p {
	margin-bottom: 0.5rem;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#resolution_point2 .message_resolution2 {
		font-size: 1.6rem;
	}

	#resolution_point2 .message_resolution2 img {
		max-width: 150px;
	}

	#resolution_point2 .message_resolution2 span {
		display: block;
	}

	#resolution_point2 .cost {
		padding: 2rem 20px;
	}

	#resolution_point2 .cost p {
		text-align: center;
		font-size: 1.6rem;
	}

	#resolution_point2 .lowcost h3 {
		font-size: 2rem;
	}

	#resolution_point2 .lowcost h3 span {
		color: #019D6D;
	}

	#resolution_point2 .lowcost h3 span span {
		font-size: 1.6rem;
	}

	#resolution_point2 .lowcost_detail {
		display: block;
	}

	#resolution_point2 .lowcost_detail .lowcost_detail_img {
		margin: 0 auto;
		width: 300px;
	}

	#resolution_point2 .lowcost_detail .lowcost_detail_img img {
		max-width: 100%;
	}

	#resolution_point2 .lowcost_detail .lowcost_detail_text {
		width: 100%;
		max-width: inherit;
		margin-left: 0;
		padding: 20px;
		margin-top: 2rem;
		text-align: center;
	}

	#resolution_point2 .lowcost_detail .lowcost_detail_text h4 {
		font-size: 1.2rem;
	}

	#resolution_point2 .lowcost_detail .lowcost_detail_text p {
		text-align: center;
	}
}

/* 確立した衛生水準を確実に維持
---------------------------------------------------------- */
#resolution_point3 .message_resolution3 {
	background: #3093E8;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
}

#resolution_point3 .message_resolution3::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #3093E8 transparent transparent transparent;
	border-width: 40px 60px 0;
}

#resolution_point3 .message_resolution3 span {
	margin-top: 17px;
	display: inline-block;
}

#resolution_point3 p span {
	color: #D51414;
}

#resolution_point3 .flowlinewrap1 {
	position: relative;
	margin-bottom: 5rem;
}

#resolution_point3 .flowlinewrap2 {
	position: relative;
}

#resolution_point3 .flowlinewrap1 h3 {
	background: #019D6D;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	max-width: 202px;
	margin: 0 auto 0.2rem;
}

#resolution_point3 .flowlinewrap2 h3 {
	background: #3093E8;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	max-width: 202px;
	margin: 0 auto 0.2rem;
}

#resolution_point3 .flow {
	margin-bottom: 2rem;
}

#resolution_point3 .flow.pc_img {
	max-width: 1083px;
	display: block;
	margin: 0 auto 2rem;
	width: 100%;
}

#resolution_point3 .flowlinewrap1 .flowline {
	background: #E9F3FC;
	height: 99px;
	width: 100%;
	position: absolute;
	top: 132px;
	left: 0;
	z-index: -11;
}

#resolution_point3 .flowlinewrap1 .flowline_l {
	width: 50%;
	height: 99px;
	background: #fff;
}

#resolution_point3 .flowlinewrap2 .flowline {
	background: #E9F3FC;
	height: 98px;
	width: 100%;
	position: absolute;
	top: 129px;
	left: 0;
	z-index: -11;
}

#resolution_point3 .flow_text {
	font-size: 80%;
	text-align: center;
	width: 94%;
	margin: 0 auto 2rem;
}

#resolution_point3 .service {
	display: flex;
	text-align: left;
	max-width: 1080px;
	margin: 0 auto 6rem;
	padding: 2rem;
	border: 1px solid #00508F;
	box-sizing: border-box;
	position: relative;
	width: 90%;
}

#resolution_point3 .service::before {
	content: url(../img/k-haccp/resolution_point1_corner1.png);
	top: -32px;
	left: -30px;
	position: absolute;
	z-index: 100;
}

#resolution_point3 .service::after {
	content: url(../img/k-haccp/resolution_point1_corner2.png);
	bottom: -36px;
	right: -32px;
	position: absolute;
	z-index: 100;
}

#resolution_point3 .service h3 {
	font-size: 2rem;
	color: #00508F;
	font-weight: bold;
	margin-bottom: 1rem;
}

#resolution_point3 .service h3 span {
	font-size: 1.6rem;
}

#resolution_point3 .service div {
	padding-right: 1.5rem;
	box-sizing: border-box;
}

#resolution_point3 .service .serviceimg {
	max-width: 369px;
	width: 100%;
	padding: 0;
}

#resolution_point3 .service img {
	max-width: inherit;
}

#resolution_point3 .service .comments {
	font-size: 80%;
	margin-top: 1rem;
}

#resolution_point3 .resolution_point3_detail {
	background: #fff;
	padding: 2rem 3rem;
	box-sizing: border-box;
	border: 3px solid #3093E8;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}

#resolution_point3 .resolution_point3_detail h3 {
	color: #3093E8;
	background: #fff;
	font-weight: 900;
	font-size: 2rem;
	display: inline-block;
	padding: 5px 20px;
	width: 100%;
	max-width: 520px;
	box-sizing: border-box;
	position: absolute;
	top: -34px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#resolution_point3 .resolution_point3_detail .comments {
	font-size: 80%;
	margin-bottom: 2rem;
}

@media screen and (max-width: 1079px) {
	#resolution_point3 .flowline {
		display: none;
	}

	#resolution_point3 .flow.pc_img {
		display: none;
	}

	#resolution_point3 .sp_img {
		display: block;
	}

	#resolution_point3 .service {
		display: block;
		max-width: 90%;
	}

	#resolution_point3 .service div {
		padding-right: 0;
	}

	#resolution_point3 .service .serviceimg {
		max-width: 400px;
		margin: 2rem auto 0;
	}

	#resolution_point3 .service img {
		max-width: 100%;
	}
}

@media screen and (max-width: 767px) {
	#resolution_point3 .message_resolution3 {
		font-size: 1.6rem;
	}

	#resolution_point3 .message_resolution3 img {
		max-width: 150px;
	}

	#resolution_point3 .message_resolution3 span {
		display: block;
	}

	#resolution_point3 .resolution_point3_detail {
		padding: 4rem 3rem 2rem;
	}

	#resolution_point3 .resolution_point3_detail h3 {
		font-size: 1.6rem;
		max-width: 320px;
		position: absolute;
		top: -52px;
	}

	#resolution_point3 .service {
		display: block;
	}

	#resolution_point3 .service .serviceimg {
		max-width: 400px;
		margin: 2rem auto 0;
	}

	#resolution_point3 .service h3 {
		font-size: 1.6rem;
	}

	#resolution_point3 .flow_text {
		text-align: left;
	}

	#resolution_point3 .flowlinewrap1 {
		margin-bottom: 3rem;
	}

	#resolution_point3 .flowlinewrap1 h3,
	#resolution_point3 .flowlinewrap2 h3 {
		font-size: 3vw;
		max-width: 100px;
	}
}

/* K-HACCPの料金
---------------------------------------------------------- */
#price .price_message {
	background: #019C6C;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
	line-height: 1.3;
}

#price .price_message::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #019C6C transparent transparent transparent;
	border-width: 40px 60px 0;
}

/*
#price h2 {
	color: #019D6D;
	font-weight: 900;
	font-size: 3.2rem;
	display: inline-block;
	margin-bottom: 1.8rem;
	line-height: 1.5;
}
#price h2 span {
	color: #333;
}
#price h2 span span {
	font-size: 2.4rem;
}
*/
#price .flexbox {
	display: flex;
	justify-content: space-between;
	margin: 2rem auto;
	max-width: 1080px;
}

#price .flexbox div {
	width: 46%;
	padding: 20px;
	box-sizing: border-box;
}

#price .flexbox .left {
	background: #019D6D;
}

#price .flexbox .right {
	background: #10559F;
}

#price .flexbox .icon {
	border: none;
	width: 8%;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}

#price .flexbox .icon img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

#price .flexbox div h3 {
	color: #fff;
	font-weight: 900;
	font-size: 2rem;
	margin: 0.5rem 0;
}

#price .flexbox div h3 span {
	font-size: 1.4rem;
}

#price p span {
	color: #D51414;
}

#price h4 {
	font-weight: bold;
	font-size: 2.4rem;
	position: relative;
	z-index: 1;
	max-width: 1080px;
	margin: 3rem auto;
}

#price h4:before {
	border-top: 3px solid #019D6D;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	z-index: -1;
}

#price h4 span {
	background: #EBF8F6;
	display: inline-block;
	padding: 0 3rem;
}

#price ul {
	display: flex;
	justify-content: space-between;
	max-width: 1080px;
	margin: 0 auto;
}

#price ul li {
	width: 22%;
}

#price ul li img {
	margin-bottom: 1rem;
}

#price ul li p {
	text-align: left;
	font-size: 0.9rem;
}

#price ul div {
	width: 2%;
	position: relative;
}

#price ul div img {
	position: absolute;
	top: 36%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
	#price .price_message {
		font-size: 1.6rem;
	}

	/*
	#price h2 {
		font-size: 2rem;
	}
	#price h2 span span {
		font-size: 1.6rem;
	}
	*/
	#price .flexbox,
	#price ul {
		display: block;
	}

	#price .flexbox div,
	#price ul li {
		width: 100%;
	}

	#price .flexbox .icon {
		width: inherit;
		padding: 15px 0;
		position: static;
	}

	#price .flexbox .icon img {
		position: static;
		transform: none;
	}

	#price .flexbox div {
		padding: 10px;
	}

	#price .flexbox div h3 {
		font-size: 1.6rem;
	}

	#price h4 {
		font-size: 1.6rem;
	}

	#price ul li img {
		max-width: 180px;
	}

	#price ul div {
		width: 100%;
		position: relative;
		margin: 0.8rem 0;
	}

	#price ul div img {
		position: static;
		transform: rotate(90deg);
		max-width: 13px;
	}
}

/* 確立した衛生レベルを継続的に維持し続けることが目標です
---------------------------------------------------------- */
#about {
	background: url(../img/k-haccp/about_bg.png) no-repeat;
	background-size: cover;
	background-position: 0 -400px;
}

#about h2 {
	color: #00508F;
	font-weight: 900;
	font-size: 3.2rem;
	display: inline-block;
	margin-bottom: 1.8rem;
	line-height: 1.5;
}

#about h2 span {
	color: #333;
	font-weight: 900;
	font-size: 2.4rem;
}

#about h3 {
	color: #fff;
	font-weight: 900;
	font-size: 1.6rem;
	background: #00508F;
	border-radius: 30px;
	display: inline-block;
	padding: 5px 20px;
	width: 100%;
	max-width: 410px;
	box-sizing: border-box;
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#about h4 {
	color: #00508F;
	font-weight: 900;
	font-size: 2.4rem;
	display: inline-block;
	line-height: 1.5;
}

#about h5 {
	text-align: left;
	font-size: 2rem;
	margin-bottom: 1rem;
	font-weight: bold;
}

#about p {
	margin-bottom: 2rem;
}

#about p span {
	color: #00508F;
}

#about .about_detail {
	background: #fff;
	padding: 4rem;
	box-sizing: border-box;
	border: 8px solid #D5E9FB;
	max-width: 1080px;
	margin: 6rem auto 0;
	position: relative;
}

#about .about_detail .about_detail_inner {
	overflow: hidden;
	border-bottom: 1px solid #00508F;
	padding: 2rem 0;
}

#about .about_detail .about_detail_inner img {
	float: left;
	width: 25%;
	max-width: 235px;
}

#about .about_detail .about_detail_inner div {
	float: right;
	padding-left: 40px;
	text-align: left;
	box-sizing: border-box;
	width: 75%;
}

#about table {
	width: 100%;
	text-align: left;
	margin: 2rem auto 0;
}

#about table tbody tr th {
	width: 150px;
	font-weight: bold;
	padding: 15px;
	box-sizing: border-box;
	vertical-align: top;
	color: #00508F;
}

#about table tbody tr td {
	padding: 15px;
}

#about table tbody tr td p {
	margin-bottom: 0;
	font-size: 1rem;
}

@media screen and (max-width: 767px) {
	#about h2 {
		font-size: 2rem;
	}

	#about h2 span {
		font-size: 1.6rem;
	}

	#about h4 {
		font-size: 1.6rem;
	}

	#about h5 {
		font-size: 1.6rem;
	}

	#about .about_detail {
		padding: 2rem;
	}

	#about .about_detail .about_detail_inner img {
		float: none;
		width: inherit;
	}

	#about .about_detail .about_detail_inner div {
		float: none;
		padding-left: 0;
		margin-top: 1rem;
		width: 100%;
	}

	#about .about_detail .about_detail_inner div p {
		margin-bottom: 0;
	}

	#about table tbody tr th,
	#about table tbody tr td {
		width: 100%;
		display: block;
		padding: 0;
	}

	#about table tbody tr th {
		padding-bottom: 10px;
	}

	#about table tbody tr td p {
		font-size: 100%;
	}
}

/* フォーム
---------------------------------------------------------- */
#contact .contact_message {
	background: #019C6C;
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	text-align: center;
	padding: 2.4rem 1.5rem 2.8rem;
	position: relative;
	line-height: 1.3;
}

#contact .contact_message::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-color: #019C6C transparent transparent transparent;
	border-width: 40px 60px 0;
}

#contact .goq-ma-form {
	font-size: 1.1rem;
	max-width: 1080px;
	margin: 0 auto;
}

#contact .goq-ma-form>tbody>tr>th {
	background: #EBF8F6;
	border-bottom: 1px solid #E2E2E2;
	padding: 22px;
	max-width: 250px;
	font-weight: bold;
}

#contact .goq-ma-form>tbody>tr:first-child>th {
	border-top: 1px solid #E2E2E2;
}

#contact .goq-ma-form>tbody>tr>td {
	background: #fff;
	border-bottom: 1px solid #E2E2E2;
	padding: 22px;
}

#contact .goq-ma-form>tbody>tr:first-child>td {
	text-align: left;
	border-top: 1px solid #E2E2E2;
}

#contact .goq-ma-form>tbody>tr:last-child>td {
	border-bottom: none;
}

#contact .goq-ma-form>tbody>tr>td label {
	margin-right: 20px;
}

#contact .goq-ma-form>tbody>tr>td input,
#contact .goq-ma-form>tbody>tr>td textarea {
	font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#contact .goq-ma-btn {
	background: none;
	background: url(../img/k-haccp/contact_btn.png) no-repeat;
	background-size: cover;
	overflow: hidden;
	text-indent: -100%;
	text-align: left;
	width: 400px;
	height: 85px;
	transition: 0.3s;
}

#contact .confirm .goq-ma-form .goq-ma-btn[onclick="generate_form.back_to_step1()"] {
	background: none;
	background: url(../img/k-haccp/return_btn.png) no-repeat;
	background-size: cover;
	overflow: hidden;
	text-indent: -100%;
	text-align: left;
	width: 250px;
	height: 53px;
	transition: 0.3s;
}

#contact .confirm .goq-ma-form .goq-ma-btn[onclick="generate_form.form_send_ma()"] {
	background: none;
	background: url(../img/k-haccp/transmission_btn.png) no-repeat;
	background-size: cover;
	overflow: hidden;
	text-indent: -100%;
	text-align: left;
	width: 400px;
	height: 85px;
	transition: 0.3s;
	margin-left: 13px;
}

#contact .goq-ma-btn:hover {
	opacity: 0.7;
}

::-webkit-input-placeholder {
	color: #ccc;
}

::-moz-placeholder {
	color: #ccc;
}

:-ms-input-placeholder {
	color: #ccc;
}

@media screen and (max-width: 767px) {
	#contact {
		margin-top: -57px;
		padding-top: 57px;
	}

	#contact .contact_message {
		font-size: 1.6rem;
	}

	#contact .goq-ma-form>tbody>tr>th,
	#contact .goq-ma-form>tbody>tr>td {
		width: 100%;
		display: block;
		background: none;
	}

	#contact .goq-ma-form>tbody>tr>th {
		padding: 12px 0 5px;
		max-width: inherit;
		font-size: 1rem
	}

	#contact .goq-ma-form>tbody>tr>td {
		padding: 0 0 20px;
		max-width: inherit;
	}

	#contact .goq-ma-form>tbody>tr>th,
	#contact .goq-ma-form>tbody>tr:first-child>th {
		border: none;
	}

	#contact .goq-ma-form>tbody>tr:first-child>td {
		border-top: none;
	}

	#contact .goq-ma-btn {
		width: 300px;
		height: 64px;
	}

	#contact .button-area {
		padding: 22px !important;
	}

	#contact .confirm .goq-ma-form .goq-ma-btn[onclick="generate_form.form_send_ma()"] {
		margin: 20px auto 0;
		display: block;
		width: 300px;
		height: 64px;
	}
}

/* 「次世代の食品衛生セミナー」ボタン
---------------------------------------------------------- */
.app {
	position: fixed;
	bottom: 0;
	right: 0;
	max-width: 265px;
	z-index: 9999;
}

.app:hover {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	.app {
		max-width: 133px;
		position: fixed;
		bottom: 20px;
		right: 20px;
		max-width: 133px;
	}
}

/*------  k-haccp サンクスページレイアウト ------*/
.thanks-page {
	text-align: center;
	margin: 10em 0;
	padding: 0 1em;
}

.thanks-page_title {
	font-size: 2rem;
	margin-bottom: 2em;
}

.thanks-page_btn {
	margin-top: 4.5em;
}

@media screen and (max-width: 576px) {
	.thanks-page {
		margin: 6em 0;
	}

	.thanks-page_title {
		font-size: 1.5rem;
	}

	.thanks-page_btn {
		margin-top: 3.5em;
	}
}