@charset "utf-8";

.outline {
	font-size: 16px;
	font-size: 1.6rem;
	padding: 30px 0;
}

.inr {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}

.inr::after {
	content: "";
	clear: both;
	display: block;
}

/* breadcrumb */
#breadcrumb {
	position: absolute;
	top: 156px;
	left: 0;
	z-index: 5;
	width: 100%;
	padding: 15px 0;
}

#breadcrumb ul {
	position: relative;
	width: 1200px;
	margin: 0 auto;
	text-align: left;
	font-size: 12px;
	font-size: 1.2rem;
}

#breadcrumb li {
	position: relative;
	display: inline-block;
	margin-right: 15px;
}

#breadcrumb li::before {
	content: "> ";
	display: inline-block;
	position: relative;
	top: 0;
	left: -0.5em;
}

#breadcrumb li:first-child::before {
	display: none;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	.outline {
		font-size: 14px;
		padding: 20px 0;
	}

	#breadcrumb {
		display: none;
	}
}

/* ---SP--- */

/* ec */
#ec_main {
	padding: 30px 0 20px;
	margin-bottom: 40px;
	height: 213px;
	background-image: url(../img/bg_check.jpg);
}

#ec_main.large {
	height: 320px;
}

#ec_main .inr {
	position: relative;
	height: 100%;
	text-align: center;
}

#ec_main h1 {
	position: relative;
	display: inline-block;
	color: #282828;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}

#ec_main h1 .subh {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-top: 10px;
}

#ec_main .ec_lead {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	color: #7f7f7f;
}

#ec_main.large .ec_lead {
	font-size: 30px;
	font-size: 3rem;
	color: #333;
	bottom: 20px;
	line-height: 1.5;
}

#ec_main h1::before {
	content: "";
	display: block;
	position: relative;
	background-size: 100%;
	width: 60px;
	height: 60px;
	margin: 0 auto 10px;
}

.fl_lft {
	float: left;
	margin-right: 40px;
	margin-bottom: 40px;
}

.fl_rgt {
	float: right;
	margin-left: 40px;
	margin-bottom: 40px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#breadcrumb {
		display: none;
	}

	#ec_main {
		padding: 10px 0;
		height: auto;
	}

	#ec_main.large {
		height: auto;
	}

	#ec_main h1 {
		font-size: 16px;
		margin-bottom: 10px;
	}

	#ec_main h1::before {
		width: 30px;
		height: 30px;
	}

	#ec_main h1 .subh {
		font-size: 12px;
	}

	#ec_main .ec_lead {
		position: relative;
		font-size: 11px;
		padding: 0 20px;
	}

	#ec_main.large .ec_lead {
		font-size: 18px;
		font-size: 1.8rem;
		bottom: 0;

	}
}

/* ---/SP--- */

/*------------------------------
--------------------------------
 Page of 商品紹介
--------------------------------
------------------------------*/
/******************************
 eyecatch
******************************/
.product #ec_main h1::before {
	background-image: url(../img/ic_ec_product.svg);
}

/******************************
 content
******************************/
#companyprof_area figure {
	width: 450px;
}

#companyprof_area figure img {
	width: 100%;
}

#companyprof_area .txtarea {
	width: 720px;
	margin-bottom: 100px;
}

.product .localnav ul li {
	width: 33.33%;
}

/* product_area */
.product_box::after {
	content: "";
	clear: both;
	display: block;
}

.product_box li {
	float: left;
	width: 580px;
	margin-left: 40px;
	margin-bottom: 40px;
}

.product_box li:nth-child(odd) {
	margin-left: 0;
}

.product_box li a {
	position: relative;
	display: block;
	background-color: #FFF;
	border: solid 1px #e5e3e3;
	border-radius: 5px;
	padding: 30px 40px 30px 30px;
	color: #282828;
	box-shadow: 2px 2px 0 #dddddd;
}

.product_box li a::before {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -10px;
	content: "";
	width: 20px;
	height: 20px;
	border-top: 1px solid #c6c6c6;
	border-right: 1px solid #c6c6c6;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.product_box li a::after {
	content: "";
	clear: both;
	display: block;
}

.product_box li a:hover {
	color: #d80012;
	border: solid 1px #d80012;
}

.product_box li a:hover::before {
	border-top: 1px solid #d80012;
	border-right: 1px solid #d80012;
}

.product_box figure {
	float: left;
	position: relative;
	overflow: hidden;
	width: 200px;
	height: 200px;
	margin-right: 20px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.product_box figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	border-radius: 4px 4px 0 0;
}

.product_box li a:hover figure img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	-ms-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}

.product_box .txtarea {
	float: left;
	width: 280px;
	min-height: 200px;
	padding-left: 30px;
	font-size: 14px;
	font-size: 1.4rem;
	border-left: solid 1px #c6c6c6;
	line-height: 1.6;
}

.product_box h2 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}

.product_box h2::after {
	display: none;
}

/* product_item_box */
.product_item_box::after {
	content: "";
	clear: both;
	display: block;
}

.product_item_box li {
	float: left;
	margin-left: 20px;
	margin-bottom: 20px;
}

.product_item_box li:nth-child(4n+1) {
	margin-left: 0;
}

.product_item_box a {
	display: block;
	width: 285px;
	background-color: #fcf9f8;
	color: #282828;
	border: solid 1px #e5e3e3;
}

.product_item_box a:hover {
	color: #d80012;
	border: solid 1px #d80012;
}

.product_item_box li .pixarea {
	background-color: #FFF;
	padding: 20px;
}

.product_item_box figure {
	position: relative;
	overflow: hidden;
	width: 245px;
	height: 245px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.product_item_box figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.product_item_box li a:hover figure img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	-ms-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}

.product_item_box .txtarea {
	padding: 30px;
	border: solid 1px #FFF;
}

.product_item_box h3 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	line-height: 1.4;
	color: #282828;
	margin-top: 0;
	background-color: transparent;
	padding: 0;
	border-radius: 0px;
}

.product_item_box .txt {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}

/******************************
 product_detail_area
******************************/
#product_detail_area {
	padding: 80px 0;
}

#product_detail_area .inr::after {
	content: "";
	clear: both;
	display: block;
}

#product_detail_area .inrhead {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 55px;
	border-bottom: solid 1px #c6c6c6;
}

#product_detail_area .inrhead::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 60px;
	height: 2px;
	background-color: #d60d12;
	transform: translateX(-50%);
}

#product_detail_area h1 {
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.6;
	padding: 25px 0;
}

#product_detail_area .product_pix {
	background-color: #FFF;
	padding: 40px 0;
	margin-bottom: 40px;
}

#product_detail_area .product_pix img {
	width: 420px;
}

#product_detail_area .txt {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 80px;
	line-height: 1.6;
}

#product_detail_area p {
	line-height: 1.6;
}

#product_detail_area .material {
	background-color: #FFF;
	border: dashed 2px #c6c6c6;
	padding: 40px;
	line-height: 1.6;
	margin-bottom: 80px;
}

#product_detail_area .allergy_box {
	background-color: #fcfaf8;
	border: dashed 2px #c6c6c6;
	padding: 40px;
	line-height: 1.6;
	margin-bottom: 20px;
	color: #d60d12;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}

#product_detail_area .annotation {
	clear: both;
	margin-bottom: 80px;
}

#product_detail_area .btn {
	margin-bottom: 80px;
}

#product_detail_area .btn {
	width: 400px;
}

/* product_detail_box */
#product_detail_area .product_detail_box {
	float: left;
	width: 50%;
	padding: 0 20px;
}

/* product_btn_box */
.product_btn_box {
	padding: 40px 0;
	margin-bottom: 60px;
	border-top: solid 1px #d8d8d8;
	border-bottom: solid 1px #d8d8d8;
	background-color: #fcfaf8;
}

.product_btn_box::after {
	content: "";
	clear: both;
	display: block;
}

.product_btn_box li {
	float: left;
	width: 50%;
	padding: 0 20px;
	text-align: center;
}

.product_btn_box a {
	position: relative;
	display: inline-block;
	width: 360px;
	border: solid 1px #d8d8d8;
	background-color: #FFF;
	text-align: center;
	padding: 14px 5px;
	border-radius: 5px;
	color: #282828;
}

.product_btn_box a:hover {
	color: #D70D12;
	border: solid 1px #D70D12;
}

.product_btn_box a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

.product_btn_box li.btn_recipe a::before {
	background-image: url(../img/ic_recipe_pro.svg);
}

.product_btn_box li.btn_cart a::before {
	background-image: url(../img/ic_cart_pro.svg);
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	.product .localnav ul li {
		width: 33.33%;
	}

	#product_area .inr {
		padding: 0 20px;
	}

	.product_box li {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.product_box li a {
		padding: 20px 30px 20px 20px;
	}

	.product_box figure {
		float: none;
		width: 200px;
		height: 200px;
		margin-right: 0;
		margin: 0 auto;
	}

	.product_box h2 {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.product_box .txtarea {
		float: none;
		width: 100%;
		min-height: auto;
		padding-left: 0;
		padding-top: 20px;
		font-size: 12px;
		border-left: none;
		border-top: solid 1px #c6c6c6;
	}

	.product_box li a::before {
		right: 10px;
		margin-top: -5px;
		width: 10px;
		height: 10px;
	}

	.product_item_box {
		margin-bottom: 60px;
	}

	.product_item_box li {
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
	}

	.product_item_box li:nth-child(4n+1) {
		margin-left: 2%;
	}

	.product_item_box li:nth-child(odd) {
		margin-left: 0;
	}

	.product_item_box a {
		width: 100%;
	}

	.product_item_box figure {
		width: 100%;
		height: 140px;
		background-color: #FFF;
	}

	.product_item_box h3 {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.product_item_box .txtarea {
		padding: 20px;
		font-size: 12px;
	}

	#product_detail_area {
		padding: 40px 0;
	}

	#product_detail_area .inrhead {
		margin: 0 auto 20px;
	}

	#product_detail_area h1 {
		font-size: 18px;
		padding: 10px 0;
	}

	#product_detail_area .product_pix img {
		width: 100%;
	}

	#product_detail_area .product_pix {
		padding: 20px;
		margin-bottom: 20px;
	}

	#product_detail_area .inr {
		padding: 20px;
	}

	#product_detail_area .material {
		padding: 20px;
		margin-bottom: 40px;
	}

	#product_detail_area .allergy_box {
		padding: 20px;
		margin-bottom: 10px;
		font-size: 16px;
	}

	#product_detail_area .btn {
		width: 90%;
	}

	#product_detail_area .product_detail_box {
		float: none;
		width: 100%;
		padding: 0;
	}

	.product_btn_box {
		padding: 20px 0;
		margin-bottom: 30px;
	}

	.product_btn_box li {
		float: none;
		width: 100%;
		padding: 0 10px;
	}

	.product_btn_box a {
		display: block;
		width: 100%;
		padding: 14px 30px;
	}

	.product_btn_box li.btn_recipe {
		margin-bottom: 10px;
	}
}

/* ---/SP--- */

/*------------------------------
--------------------------------
 Page of レシピ大辞典
--------------------------------
------------------------------*/
/******************************
 eyecatch
******************************/
.recipe #ec_main h1::before {
	background-image: url(../img/ic_ec_recipe.svg);
}

/******************************
 content
******************************/
#recipe_search_area .recipe_search_box {
	margin: 50px 0;
	padding: 40px;
	background-image: url(../img/bg_check.jpg);
}

.recipe_search_box h2 {
	font-size: 22px;
	font-size: 2.2rem;
	text-align: center;
}

.recipe_search_box h2::after {
	display: none;
}

.recipe_search_box form {
	display: block;
}

.recipe_search_box form>div {
	width: 540px;
	padding: 30px 40px;
	margin-bottom: 30px;
	background-color: #f2f2f2;
	text-align: left;
}

.recipe_search_box h3 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 40px;
	color: #282828;
	margin-top: 0;
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	line-height: 1.0;
}

.recipe_search_box form::after {
	content: "";
	clear: both;
	display: block;
}

.recipe_search_box .recipe_search_box_l {
	float: left;
}

#recipe_search_area .recipe_search_box_r {
	position: relative;
	float: right;
}

#recipe_search_area .recipe_search_box_r::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -60px;
	width: 80px;
	border-bottom: solid 3px #DA0012;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

#recipe_search_area .recipe_search_box_r::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -60px;
	width: 80px;
	border-bottom: solid 3px #DA0012;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}

.recipe_search_box ul::after {
	content: "";
	clear: both;
	display: block;
}

.recipe_search_box li {
	float: left;
	width: 220px;
	margin-left: 20px;
	margin-bottom: 20px;
}

.recipe_search_box li:nth-child(odd) {
	margin-left: 0;
}

.recipe_search_box .select-wrap,
.recipe_search_box .select-wrap select {
	width: 100%;
}

/* radio */
.recipe_search_box input[type="radio"] {
	display: none;
}

.recipe_search_box label.radiolabel {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	float: left;
	cursor: pointer;
	width: 100%;
	margin: 0 0 0 10px;
	padding: 14px 5px;
	border: 2px solid #FFF;
	border-radius: 5px;
	background: #FFF;
	text-align: center;
	line-height: 1;
	transition: .2s;
}

.recipe_search_box input[type="radio"]:checked+label {
	border: solid 2px #D70D12;
	color: #D70D12;
}

#recipe_search_area .inputbtn {
	clear: both;
}

/* recipe_select_area 
#recipe_select_area h2#recipe_select_area__ganre,
#recipe_select_area h2#recipe_select_area__ingredients {
    padding-top: 150px;
    margin-top: -150px;
}
*/

#recipe_select_area ul {
	margin-bottom: 50px;
}

#recipe_select_area ul::after {
	content: "";
	clear: both;
	display: block;
}

#recipe_select_area ul li {
	float: left;
	margin-left: 20px;
	margin-bottom: 20px;
}

#recipe_select_area ul li:nth-child(5n+1) {
	margin-left: 0;
}

#recipe_select_area ul a {
	position: relative;
	width: 220px;
	border: solid 1px #d8d8d8;
	background-color: #FFF;
	/*  padding: 14px 5px;*/
	border-radius: 5px;
	color: #282828;

	line-height: 1.4;
	text-align: left;
	padding: 14px 5px 14px 30px;
	display: flex;
	align-items: center;
}


#recipe_select_area ul a:hover {
	color: #D70D12;
	border: solid 1px #D70D12;
}

#recipe_select_area ul a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 15px;
	height: 15px;
	background-image: url(../img/ic_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

/*
@media screen and (min-width: 769px) {
    #recipe_select_area ul a {
    line-height: 1.4;
    text-align: left;
    padding: 14px 5px 14px 30px;
    display: flex;
    align-items: center;
}
}
*/




/******************************
 recipe_result_box
******************************/
.recipe_result_box ul::after {
	content: "";
	clear: both;
	display: block;
}

.recipe_result_box>ul>li {
	float: left;
	margin-left: 20px;
	margin-bottom: 20px;
}

.recipe_result_box>ul>li:nth-child(4n+1) {
	margin-left: 0;
}

.recipe_result_box a {
	display: block;
	width: 285px;
	padding: 20px;
	background-color: #FFF;
	color: #282828;
	border: solid 1px #FFF;
	box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
}

.recipe_result_box a:hover {
	color: #d90312;
	border: solid 1px #d90312;
}

.recipe_result_box figure {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 160px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	border-radius: 5px;
	margin-bottom: 20px;
}

.recipe_result_box figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.recipe_result_box a:hover figure img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	-ms-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}

.recipe_result_box .title {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 20px;
}

/******************************
 recipe_detail_area
******************************/
#recipe_detail_area .inr::after {
	content: "";
	clear: both;
	display: block;
}

#recipe_detail_area .inr h2 {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	background-color: #d60d12;
	color: #FFF;
	padding: 6px 20px;
	margin-bottom: 30px;
	border-radius: 4px;
}

#recipe_detail_area .inr h2::after {
	display: none;
}

#recipe_detail_area .inr>h2 {
	clear: both;
}

#recipe_detail_area .inrhead {
	background-color: #FFF;
	padding: 40px 0;
	margin: 20px 0 40px;
}

#recipe_detail_area .inrhead h1 {
	position: relative;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 40px;
}

#recipe_detail_area .inrhead h1::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 80px;
	height: 2px;
	background-color: #d70e12;
	transform: translateX(-50%);
}

#recipe_detail_area .recipe_pix,
#recipe_detail_area .recipe_material {
	float: left;
	margin-bottom: 50px;
}

#recipe_detail_area .recipe_pix {
	display: block;
	position: relative;
	overflow: hidden;
	width: 600px;
	height: 392px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	margin-right: 40px;
}

#recipe_detail_area .recipe_pix img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
}

#recipe_detail_area .recipe_material {
	width: 560px;
}

/* material_ul */
.material_ul li {
	border-bottom: dashed 1px #c9c9c9;
}

.material_ul dl {
	display: table;
	width: 100%;
}

.material_ul dl dt,
.material_ul dl dd {
	line-height: 1.6;
}

.material_ul dl dt {
	display: table-cell;
	width: 60%;
	padding: 12px 5px;
	vertical-align: top;
}

.material_ul dl dd {
	display: table-cell;
	width: 40%;
	padding: 12px 5px;
	vertical-align: top;
	text-align: right;
}

/* product_item_box (detail) */
#recipe_detail_area .product_item_box {
	margin-bottom: 60px;
}

#recipe_detail_area .product_item_box a {
	width: 224px;
}

#recipe_detail_area .product_item_box figure {
	width: 184px;
	height: 184px;
}

#recipe_detail_area .product_item_box .txtarea {
	padding: 30px 20px;
}

#recipe_detail_area .product_item_box h3 {
	font-size: 16px;
	margin-bottom: 0;
}

#recipe_detail_area .product_item_box li:nth-child(4n+1) {
	margin-left: 20px;
}

#recipe_detail_area .product_item_box li:nth-child(5n+1) {
	margin-left: 0;
}

.recipe.detail .btn {
	width: 300px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#recipe_search_area .inr {
		padding: 0 20px;
	}

	#recipe_search_area .recipe_search_box {
		margin: 20px 0;
		padding: 20px;
	}

	.recipe_search_box form>div {
		width: 100%;
		padding: 15px;
		margin-bottom: 15px;
	}

	.recipe_search_box .recipe_search_box_l,
	.recipe_search_box .recipe_search_box_r {
		float: none;
	}

	.recipe_search_box li {
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
	}

	.recipe_search_box label.radiolabel {
		margin: 0;
		padding: 7px 2px;
		font-size: 13px;
		line-height: 1.5;
	}

	#recipe_search_area .recipe_search_box_r::before {
		top: -10px;
		left: 50%;
		width: 40px;
		border-bottom: solid 2px #DA0012;
		-webkit-transform: translateX(-50%) rotate(45deg);
		-moz-transform: translateX(-50%) rotate(45deg);
		transform: translateX(-50%) rotate(45deg);
	}

	#recipe_search_area .recipe_search_box_r::after {
		top: -10px;
		left: 50%;
		width: 40px;
		border-bottom: solid 2px #DA0012;
		-webkit-transform: translateX(-50%) rotate(135deg);
		-moz-transform: translateX(-50%) rotate(135deg);
		transform: translateX(-50%) rotate(135deg);
	}

	#recipe_select_area .inr {
		padding: 0 20px;
	}

	/*
    #recipe_select_area h2#recipe_select_area__ganre,
    #recipe_select_area h2#recipe_select_area__ingredients {
        padding-top: 70px;
        margin-top: -70px;
    }
*/

	#recipe_select_area ul li {
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
		font-size: 13px;
	}

	#recipe_select_area ul li:nth-child(5n+1) {
		margin-left: 2%;
	}

	#recipe_select_area ul li:nth-child(odd) {
		margin-left: 0;
	}

	#recipe_select_area ul a {
		width: 100%;
		padding: 7px 5px 7px 20px;
		line-height: 1.5;
		display: block;
		text-align: center;
	}

	#recipe_select_area ul a::before {
		left: 5px;
		width: 10px;
		height: 10px;
	}

	.recipe_result_box>ul>li {
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
	}

	.recipe_result_box>ul>li:nth-child(4n+1) {
		margin-left: 2%;
	}

	.recipe_result_box>ul>li:nth-child(odd) {
		margin-left: 0;
	}

	.recipe_result_box a {
		width: 100%;
		padding: 10px;
		box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.2);
	}

	.recipe_result_box figure {
		height: 110px;
		margin-bottom: 10px;
	}

	.recipe_result_box .title {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.recipe_search_box h2 {
		font-size: 16px;
	}

	#recipe_detail_area .inr {
		padding: 0 20px;
	}

	#recipe_detail_area .inrhead {
		padding: 20px 0;
		margin: 10px 0 20px;
	}

	#recipe_detail_area .inrhead h1 {
		font-size: 18px;
		margin-bottom: 20px;
	}

	#recipe_detail_area .inrhead h1::after {
		bottom: -5px;
		width: 60px;
		height: 2px;
	}

	#recipe_detail_area .recipe_pix,
	#recipe_detail_area .recipe_material {
		float: none;
		margin-bottom: 20px;
	}

	#recipe_detail_area .recipe_pix {
		width: 91.6vw;
		height: 60vw;
		margin-right: 0;
	}

	#recipe_detail_area .recipe_material {
		width: 100%;
	}

	#recipe_detail_area .inr h2 {
		font-size: 18px;
		padding: 3px 15px;
		margin-bottom: 20px;
	}

	.material_ul dl dt,
	.material_ul dl dd {
		padding: 6px 2px;
	}

	#recipe_detail_area .product_item_box {
		margin-bottom: 30px;
	}

	#recipe_detail_area .product_item_box li {
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
	}

	#recipe_detail_area .product_item_box li:nth-child(5n+1) {
		margin-left: 2%;
	}

	#recipe_detail_area .product_item_box li:nth-child(odd) {
		margin-left: 0;
	}

	#recipe_detail_area .product_item_box a {
		width: 100%;
	}

	#recipe_detail_area .product_item_box figure {
		width: 100%;
		height: 140px;
		background-color: #FFF;
	}

	#recipe_detail_area .product_item_box h3 {
		font-size: 14px;
	}

	#recipe_detail_area .product_item_box .txtarea {
		padding: 20px 5px;
		font-size: 12px;
	}
}

/* ---/SP--- */

/*------------------------------
--------------------------------
 Page of 学ぶ・知る
--------------------------------
------------------------------*/
/******************************
 eyecatch
******************************/
.learn #ec_main h1::before {
	background-image: url(../img/ic_ec_learn.svg);
}

.learn #ec_main {
	margin-bottom: 0;
}

#learn_area.outline {
	padding: 0 0 30px 0;
}

/******************************
 content
******************************/
/* parallax */
#pl_learn {
	min-height: 400px;
	background-image: url(../img/learn/bg_ec.jpg);
	background-repeat: no-repeat;
	background-size: 120%;
	margin-bottom: 60px;
}

/* learnbn_box */
.learnbn_box::after {
	content: "";
	clear: both;
	display: block;
}

.learnbn_box li {
	float: left;
	margin-left: 30px;
	margin-bottom: 30px;
}

.learnbn_box li:nth-child(2n+1) {
	margin-left: 0;
}

.learnbn_box a {
	width: 585px;
	display: block;
	color: #282828;
	border: solid 1px #d5d5d5;
	border-radius: 4px;
	background-color: #FFF;
}

.learnbn_box a:hover {
	color: #d80012;
	border: solid 1px #d80012;
}

.learnbn_box a::after {
	content: "";
	clear: both;
	display: block;
}

.learnbn_box figure {
	float: left;
	position: relative;
	overflow: hidden;
	width: 230px;
	height: 200px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.learnbn_box figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.learnbn_box li a:hover figure img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	-ms-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}

.learnbn_box h2 {
	position: relative;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 30px;
	margin-bottom: 10px;
	text-align: left;
}

.learnbn_box h2::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	background-image: url(../img/ic_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

.learnbn_box h2::after {
	display: none;
}

.learnbn_box .txt {
	float: left;
	width: 350px;
	padding: 20px 30px 10px;
}

.learnbn_box .txt p {
	line-height: 1.4;
	margin-bottom: 0;
}

/* safety_area */
#safety_area .ec {
	position: relative;
	margin-bottom: 60px;
}

#safety_area .ec figure {
	position: relative;
	width: 100%;
}

#safety_area .ec img {
	width: 100%;
}

#safety_area .ec .heading {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border-left: solid 4px #d40d12;
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.9);
	padding: 45px 30px;
}

#safety_area .ec h2 {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	color: #d40d12;
	margin-bottom: 20px;
}

#safety_area .ec h2::after {
	display: none;
}

#safety_area .ec .lead {
	margin-bottom: 0;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#pl_learn {
		background-size: 140%;
		min-height: 160px;
		margin-bottom: 30px;
	}

	#learn_area .inr,
	#safety_area .inr {
		padding: 0 20px;
	}

	.learnbn_box li {
		float: none;
		margin-left: 0;
		margin-bottom: 10px;
		width: 100%;
	}

	.learnbn_box a {
		width: 100%;
	}

	.learnbn_box figure {
		width: 38vw;
		height: 33vw;
	}

	.learnbn_box .txt {
		width: calc(100% - 38vw);
		padding: 10px 10px 5px;
	}

	.learnbn_box h2 {
		font-size: 16px;
		padding-left: 15px;
		margin-bottom: 5px;
	}

	.learnbn_box .txt p {
		font-size: 12px;
	}

	.learnbn_box h2::before {
		width: 12px;
		height: 12px;
		top: 0.3em;
	}

	#safety_area .ec {
		margin-bottom: 30px;
	}

	#safety_area .ec .heading {
		position: relative;
		top: auto;
		transform: translateY(0%);
		padding: 25px 15px;
		background-color: rgba(255, 255, 255, 1.0);
	}

	#safety_area .ec h2 {
		font-size: 14px;
		margin-bottom: 10px;
	}

	#safety_area .ec .lead {
		font-size: 12px;
	}
}

/* ---/SP--- */

/*------------------------------
--------------------------------
 Page of ベルの食育
--------------------------------
------------------------------*/
/******************************
 content
******************************/
#education_area h2 {
	line-height: 1.0;
}

#education_area h2::after {
	display: none;
}

#education_area h2 img {
	width: 100%;
}

.movie {
	position: relative;
	/*  width:100%; */
	/*  padding-top:56.25%; */
	width: 70%;
	padding-top: 39.37%;
	margin: 0 auto;
}

.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

#education_area .inr>p {
	margin-bottom: 30px;
}

/* emina_box */
.emina_box {
	padding: 20px;
	border-top: solid 1px #CCC;
	line-height: 1.6;
	text-align: center;
}

.emina_box h4 {
	color: #d60d12;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}

/* education_box */
#education_area .education_box {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 70px;
}

#education_area .education_box::after {
	content: "";
	clear: both;
	display: block;
}

.education_box li {
	position: relative;
	float: left;
	width: 260px;
}

.education_box li:nth-child(2) {
	margin-left: 90px;
}

.education_box li:nth-child(3) {
	margin-left: 230px;
}

.education_box li:nth-child(3)::before,
.education_box li:nth-child(3)::after {
	z-index: -1;
}

.education_box li:nth-child(3)::before {
	position: absolute;
	right: 270px;
	top: 130px;
	display: block;
	content: "";
	width: 600px;
	height: 10px;
	background: #e0e0e0;
}

#education_area .education_box li:nth-child(3)::after {
	content: "";
	display: block;
	position: absolute;
	right: 282px;
	top: 80px;
	width: 100px;
	height: 100px;
	border-right: 10px solid #e0e0e0;
	border-top: 10px solid #e0e0e0;
	transform: rotate(45deg);
}

.education_box li figure {
	width: 260px;
	height: 260px;
	border-radius: 50%;
	overflow: hidden;
	border: solid 10px #ffd983;
	margin-bottom: 20px;
}

.education_box li img {
	width: 100%;
}

.education_box li h4 {
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 20px;
}

.education_box li p {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}

.education_box .txt {
	border: solid 1px #dbdbdb;
	padding: 20px;
	border-radius: 10px;
}

#education_area .pix_box figure {
	width: 580px;
	margin: 0;
	margin-bottom: 40px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	.movie {
		width: 100%;
		padding-top: 56.25%;
	}

	#education_area .inr {
		padding: 0 20px;
	}

	.education_box li {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	.education_box li figure {
		border: solid 5px #ffd983;
		margin: 0 auto 10px;
	}

	.education_box li:nth-child(2),
	.education_box li:nth-child(3) {
		margin-left: 0;
	}

	.education_box li:nth-child(3)::before {
		left: 50%;
		right: auto;
		top: -610px;
		width: 5px;
		height: 600px;
		background: #e0e0e0;
		transform: translateX(-50%);
	}

	#education_area .education_box li:nth-child(3)::after {
		left: 50%;
		right: auto;
		top: -130px;
		width: 100px;
		height: 100px;
		border-right: 5px solid #e0e0e0;
		border-top: 5px solid #e0e0e0;
		transform: translateX(-50%) rotate(135deg);
	}

	#education_area .pix_box figure {
		width: 100%;
		margin-bottom: 20px;
	}

	.emina_box h4 {
		font-size: 14px;
	}
}

/* ---/SP--- */


/*------------------------------
--------------------------------
 Page of ジンギスカンの知識
--------------------------------
------------------------------*/
/******************************
 genghiskhan_area
******************************/
.learn.genghiskhan #ec_main {
	margin-bottom: 40px;
}

#genghiskhan_area h2 {
	position: relative;
	text-align: center;
}

#genghiskhan_area h2::after {
	left: 50%;
	width: 60px;
	height: 2px;
	background-color: #d90312;
	margin-top: 10px;
	transform: translateX(-50%);
}

#genghiskhan_area figure {
	overflow: hidden;
}

#genghiskhan_area figure figcaption {
	font-size: 12px;
	font-size: 1.2rem;
}

#genghiskhan_area figure img {
	border-radius: 4px;
	width: 100%;
	margin-bottom: 10px;
}

#genghiskhan_area figure.w150 {
	width: 150px;
}

#genghiskhan_area figure.w240 {
	width: 240px;
	margin-bottom: 0px;
}

#genghiskhan_area figure.w270 {
	width: 270px;
}

#genghiskhan_area figure.w280 {
	width: 280px;
}

#genghiskhan_area figure.w370 {
	width: 370px;
}

#genghiskhan_area figure.w580 {
	width: 580px;
}

.point_box {
	float: left;
	width: 800px;
	padding: 40px;
	background-color: #FFF;
	border-radius: 10px;
}

.point_box h3 {
	position: relative;
	font-size: 18px;
	font-size: 1.8rem;
	color: #282828;
	margin-top: 0;
	margin-bottom: 40px;
	padding: 0;
	border-radius: 0px;
	line-height: 1.4;
	background-color: transparent;
}

.point_box h3::before {
	content: "";
	display: inline-block;
	position: relative;
	width: 43px;
	height: 47px;
	background-image: url(../img/ic_point.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 20px;
}

#genghiskhan_area .point_box p {
	margin-bottom: 0;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#genghiskhan_area .inr {
		padding: 0 20px;
	}

	#genghiskhan_area h2::after {
		width: 30px;
		height: 2px;
		margin-top: 5px;
	}

	#genghiskhan_area figure figcaption {
		font-size: 10px;
	}

	#genghiskhan_area figure.w240 {
		width: 40vw;
		float: right;
		margin-left: 20px;
		margin-bottom: 20px;
	}

	#genghiskhan_area figure.w580 {
		width: 100%;
	}

	#genghiskhan_area figure.w270 {
		width: 100%;
		text-align: center;
		margin-right: 20px;
		margin-bottom: 20px;
	}

	#genghiskhan_area figure.w270 img {
		width: 40%;
	}

	.point_box {
		float: none;
		width: 100%;
		padding: 20px;
		border-radius: 5px;
	}

	#genghiskhan_area figure.w280 {
		width: 40vw;
		float: right;
		margin-left: 20px;
		margin-bottom: 20px;
	}

	#genghiskhan_area figure.w150 {
		width: 20vw;
		float: right;
		margin-left: 20px;
		margin-bottom: 20px;
	}

	#genghiskhan_area figure.w370 {
		width: 40vw;
		float: right;
		margin-left: 20px;
		margin-bottom: 20px;
	}
}

/* ---/SP--- */

/*------------------------------
--------------------------------
 Page of 安全への取り組み
--------------------------------
------------------------------*/
/******************************
 safety_area
******************************/
.learn.safety #ec_main {
	margin-bottom: 40px;
}

.learn.safety .localnav ul li {
	width: 25%;
	letter-spacing: normal;
}

.learn.safety #safety_area h2 {
	position: relative;
	text-align: center;
}

.learn.safety #safety_area h2::after {
	left: 50%;
	width: 60px;
	height: 2px;
	background-color: #d90312;
	margin-top: 10px;
	transform: translateX(-50%);
}

.learn.safety .btn_w {
	width: 300px;
}

.learn.safety #safety_area figure {
	overflow: hidden;
}

.learn.safety #safety_area figure.w660 {
	width: 660px;
	margin: 0 auto 40px;
}

.learn.safety #safety_area figure img {
	width: 100%;
}

/* management_box */
.management_box {
	width: 1090px;
	margin: 0 auto;
}

.management_box::after {
	content: "";
	clear: both;
	display: block;
}

.management_box li {
	position: relative;
	float: left;
	display: block;
	width: 250px;
	background-color: #FFF;
	border-radius: 5px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
	margin-left: 30px;
}

.management_box li:nth-child(4n+1) {
	margin-left: 0;
}

.management_box li::after {
	content: "";
	display: block;
	position: absolute;
	right: -20px;
	top: 50%;
	width: 15px;
	height: 15px;
	border-top: 1px solid #ADADAD;
	border-right: 1px solid #ADADAD;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}

.management_box li:last-child::after {
	display: none;
}

.management_box .txt {
	display: block;
	padding: 10px 20px;
}

.management_box figure {
	width: 100%;
	border-radius: 5px 5px 0px 0px;
}

.management_box figure img {
	width: 100%;
}

/* structure_box */
.structure_box {
	text-align: center;
	margin-bottom: 30px;
}

.structure_box li {
	display: inline-block;
	margin-left: 5px;
}

.structure_box li:nth-child(1) {
	margin-left: 0;
}

.structure_box figure {
	width: 390px;
	border-radius: 5px;
}

.structure_box figure img {
	width: 100%;
}

/* factory_box */
.factory_box {
	margin-bottom: 50px;
}

.factory_box::after {
	content: "";
	clear: both;
	display: block;
}

.factory_box li {
	float: left;
	width: 360px;
	margin-left: 60px;
}

.factory_box li:nth-child(3n+1) {
	margin-left: 0;
}

.factory_box h3 {
	border-bottom: solid 1px #C6C6C6;
	background-color: transparent;
	color: #282828;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 20px;
	border-radius: 0;
}

.factory_box figure img {
	width: 100%;
	margin-bottom: 20px;
	border-radius: 5px;
}

.factory_box figure figcaption {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
}

/* check_box */
.check_box {
	margin-bottom: 50px;
}

.check_box::after {
	content: "";
	clear: both;
	display: block;
}

.check_box li {
	float: left;
	width: 360px;
	margin-left: 60px;
	counter-increment: dnum-cnt2;
}

.check_box li:nth-child(3n+1) {
	margin-left: 0;
}

.check_box h3 {
	border-bottom: solid 1px #C6C6C6;
	background-color: transparent;
	color: #282828;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 20px;
	border-radius: 0;
}

.learn.safety #safety_area .check_box figure {
	overflow: visible;
}

.check_box figure {
	position: relative;
}

.check_box figure::before {
	content: counter(dnum-cnt2) "";
	position: absolute;
	top: -10px;
	left: -10px;
	height: 40px;
	width: 40px;
	background-color: #d80012;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	line-height: 40px;
}

.check_box figure img {
	width: 100%;
	margin-bottom: 20px;
	border-radius: 5px;
}

.check_box figure figcaption {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#safety_area .inr {
		padding: 0 20px;
	}

	#safety_area h2::after {
		width: 30px;
		height: 2px;
		margin-top: 5px;
	}

	.learn.safety .localnav ul li {
		width: 50%;
		height: 60px;
		margin-bottom: 20px;
		line-height: 1.4;
	}

	.learn.safety .localnav ul li a {
		height: 100%;
	}

	.learn.safety #safety_area figure.w660 {
		width: 100%;
		margin: 0 auto 20px;
	}

	.learn.safety .btn_w {
		width: 240px;
	}

	.management_box {
		width: 100%;
	}

	.management_box li {
		width: 100%;
		font-size: 14px;
		margin-left: 0;
		margin-bottom: 30px;
	}

	.management_box li::after {
		right: auto;
		left: 50%;
		top: auto;
		bottom: -20px;
		-webkit-transform: translateY(-50%) rotate(135deg);
		transform: translateX(-50%) rotate(135deg);
	}

	.structure_box::after {
		content: "";
		clear: both;
		display: block;
	}

	.structure_box li {
		width: 31%;
		display: inline-block;
		margin-left: 1%;
	}

	.structure_box figure {
		width: 100%;
		border-radius: 2px;
	}

	.factory_box li {
		float: left;
		width: 46%;
		margin-left: 8%;
	}

	.factory_box li:nth-child(3n+1) {
		margin-left: 8%;
	}

	.factory_box li:nth-child(2n+1) {
		margin-left: 0;
	}

	.factory_box h3 {
		font-size: 14px;
		margin-bottom: 20px;
		padding: 10px 0;
	}

	.check_box li {
		float: left;
		width: 46%;
		margin-left: 8%;
	}

	.check_box li:nth-child(3n+1) {
		margin-left: 8%;
	}

	.check_box li:nth-child(2n+1) {
		margin-left: 0;
	}

	.check_box h3 {
		font-size: 14px;
		margin-bottom: 20px;
		padding: 10px 0;
	}
}

/* ---/SP--- */


/*------------------------------
--------------------------------
 Page of ベルヒストリー
--------------------------------
------------------------------*/
#history_area .inr {
	position: relative;
	padding: 30px 0;
}

#history_area .inr::after {
	content: "";
	position: absolute;
	top: 400px;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	width: 10px;
	height: calc(100% - 450px);
	background-color: #E5E5E5;
}

#history_area .main_ec {
	margin-bottom: 50px;
	width: 100%;
	max-width: 1200px;
}

#history_area .main_ec img {
	width: 100%;
}

/* history_box */
.history_box h2 {
	color: #FFF;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: normal;
	width: 735px;
	padding: 20px;
	margin: 0 auto 50px;
	border-radius: 10px;
	text-align: center;
	background: #ff5f27;
}

.history_box h2::after {
	display: none;
}

.history_box .small {
	font-size: 16px;
	font-size: 1.6rem;
}

.history_box ol {
	position: relative;
}

.history_box ol::after {
	content: "";
	clear: both;
	display: block;
}

.history_box li {
	position: relative;
	width: 50%;
}

.history_box li:nth-child(odd) {
	left: 0;
}

.history_box li:nth-child(even) {
	left: 50%;
}

.history_box li:nth-child(odd)::before {
	content: "";
	display: block;
	position: absolute;
	top: 60px;
	right: 0;
	width: 90px;
	height: 2px;
	background-color: #E5E5E5;
}

.history_box li:nth-child(even)::before {
	content: "";
	display: block;
	position: absolute;
	top: 60px;
	left: 0;
	width: 90px;
	height: 2px;
	background-color: #E5E5E5;
}

.history_box li::after {
	content: "";
	clear: both;
	display: block;
}

.history_box .year {
	width: 120px;
	border-radius: 10px;
	text-align: center;
	font-size: 36px;
	font-size: 3.6rem;
	background-color: #FF5F27;
	color: #FFF;
	padding: 30px 5px;
}

.history_box .year .wareki {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 10px;
}

.history_box .cont {
	width: 340px;
	line-height: 1.6;
}

.history_box li:nth-child(odd) .year {
	float: left;
	margin-right: 40px;
}

.history_box li:nth-child(odd) .cont {
	float: left;
}

.history_box li:nth-child(even) .year {
	float: right;
	margin-left: 40px;
}

.history_box li:nth-child(even) .cont {
	float: right;
}

/* 調整箇所 */
.history_box.sec01 h2 {
	background: #ff5f27;
	background: linear-gradient(to right, #ff5f27 0%, #ffe02c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5f27', endColorstr='#ffe02c', GradientType=1);
}

.history_box.sec01 li:nth-child(1) .year {
	background-color: #FF5F27;
}

.history_box.sec01 li:nth-child(2) .year {
	background-color: #FF8D27;
}

.history_box.sec01 li:nth-child(3) .year {
	background-color: #FFB229;
}

.history_box.sec01 li:nth-child(4) .year {
	background-color: #FFC82E;
}

.history_box.sec01 li:nth-child(5) .year {
	background-color: #FFE02C;
}

.history_box.sec01 li:nth-child(1) {
	top: 0;
}

.history_box.sec01 li:nth-child(2) {
	top: -50px;
}

.history_box.sec01 li:nth-child(3) {
	top: -100px;
}

.history_box.sec01 li:nth-child(4) {
	top: -100px;
}

.history_box.sec01 li:nth-child(5) {
	top: -100px;
}

.history_box.sec02 h2 {
	background: #65d133;
	background: linear-gradient(to right, #65d133 0%, #29b7ac 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#65d133', endColorstr='#29b7ac', GradientType=1);
}

.history_box.sec02 li:nth-child(1) .year {
	background-color: #65D133;
}

.history_box.sec02 li:nth-child(2) .year {
	background-color: #25C125;
}

.history_box.sec02 li:nth-child(3) .year {
	background-color: #26BF5D;
}

.history_box.sec02 li:nth-child(4) .year {
	background-color: #26BC77;
}

.history_box.sec02 li:nth-child(5) .year {
	background-color: #27BA93;
}

.history_box.sec02 li:nth-child(6) .year {
	background-color: #29B7AC;
}

.history_box.sec02 li:nth-child(1) {
	top: 0;
}

.history_box.sec02 li:nth-child(2) {
	top: -50px;
}

.history_box.sec02 li:nth-child(3) {
	top: -100px;
}

.history_box.sec02 li:nth-child(4) {
	top: -150px;
}

.history_box.sec02 li:nth-child(5) {
	top: -200px;
}

.history_box.sec02 li:nth-child(6) {
	top: -250px;
}

.history_box.sec03 h2 {
	background: #56cad6;
	background: linear-gradient(to right, #56cad6 0%, #cc71b9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#56cad6', endColorstr='#cc71b9', GradientType=1);
}

.history_box.sec03 li:nth-child(1) .year {
	background-color: #56CAD6;
}

.history_box.sec03 li:nth-child(2) .year {
	background-color: #57B6D3;
}

.history_box.sec03 li:nth-child(3) .year {
	background-color: #59ACD1;
}

.history_box.sec03 li:nth-child(4) .year {
	background-color: #599ECE;
}

.history_box.sec03 li:nth-child(5) .year {
	background-color: #5A91CC;
}

.history_box.sec03 li:nth-child(6) .year {
	background-color: #5C82CC;
}

.history_box.sec03 li:nth-child(7) .year {
	background-color: #5C82CC;
}

.history_box.sec03 li:nth-child(8) .year {
	background-color: #5E73CC;
}

.history_box.sec03 li:nth-child(9) .year {
	background-color: #6060CC;
}

.history_box.sec03 li:nth-child(10) .year {
	background-color: #7962CC;
}

.history_box.sec03 li:nth-child(11) .year {
	background-color: #8764CC;
}

.history_box.sec03 li:nth-child(12) .year {
	background-color: #9866CC;
}

.history_box.sec03 li:nth-child(13) .year {
	background-color: #A569CC;
}

.history_box.sec03 li:nth-child(14) .year {
	background-color: #BE6DCC;
}

.history_box.sec03 li:nth-child(15) .year {
	background-color: #CC6ECC;
}

.history_box.sec03 li:nth-child(16) .year {
	background-color: #CC71B9;
}

.history_box.sec03 li:nth-child(1) {
	top: 0;
}

.history_box.sec03 li:nth-child(2) {
	top: -50px;
}

.history_box.sec03 li:nth-child(3) {
	top: -100px;
}

.history_box.sec03 li:nth-child(4) {
	top: -150px;
}

.history_box.sec03 li:nth-child(5) {
	top: -200px;
}

.history_box.sec03 li:nth-child(6) {
	top: -250px;
}

.history_box.sec03 li:nth-child(7) {
	top: -250px;
}

.history_box.sec03 li:nth-child(8) {
	top: -250px;
}

.history_box.sec03 li:nth-child(9) {
	top: -250px;
}

.history_box.sec03 li:nth-child(10) {
	top: -250px;
}

.history_box.sec03 li:nth-child(11) {
	top: -250px;
}

.history_box.sec03 li:nth-child(12) {
	top: -250px;
}

.history_box.sec03 li:nth-child(13) {
	top: -250px;
}

.history_box.sec03 li:nth-child(14) {
	top: -250px;
}

.history_box.sec03 li:nth-child(15) {
	top: -250px;
}

.history_box.sec03 li:nth-child(16) {
	top: -250px;
}


/* ---SP--- */
@media screen and (max-width: 768px) {
	#history_area .inr {
		padding: 0 20px;
	}

	#history_area .inr::after {
		top: 200px;
		width: 5px;
		height: calc(100% - 250px);
	}

	#history_area .main_ec {
		margin-bottom: 50px;
		width: 100%;
		max-width: 1200px;
	}

	.history_box h2 {
		font-size: 18px;
		width: 100%;
		padding: 10px;
		margin: 0 auto 20px;
		border-radius: 5px;
	}

	.history_box .small {
		display: block;
		font-size: 12px;
	}

	.history_box .year {
		width: 80px;
		border-radius: 5px;
		font-size: 18px;
		padding: 20px 5px;
	}

	.history_box .year .wareki {
		font-size: 12px;
		margin-top: 5px;
	}

	.history_box li {
		width: 100%;
		top: 0 !important;
		margin-bottom: 20px;
	}

	.history_box li:nth-child(even) {
		left: 0;
	}

	.history_box li .year {
		margin-bottom: 10px;
	}

	.history_box li:nth-child(odd)::before {
		top: 30px;
		right: auto;
		left: 80px;
		width: 26%;
	}

	.history_box li:nth-child(odd) .year {
		float: none;
		margin-right: 0;
	}

	.history_box li:nth-child(even)::before {
		top: 30px;
		left: auto;
		right: 80px;
		width: 26%;
	}

	.history_box li:nth-child(even) .cont {
		text-align: right;
	}

	.history_box li:nth-child(even) .year {
		float: right;
		margin-left: 0;
	}
}

/* ---SP--- */

/*------------------------------
--------------------------------
 Page of 動画ギャラリー
--------------------------------
------------------------------*/
/* ---SP--- */
@media screen and (max-width: 768px) {
	#movie_area .inr {
		padding: 0 20px;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of 経営理念
--------------------------------
------------------------------*/
.about #ec_main h1::before {
	background-image: url(../img/ic_ec_about.svg);
}

#outline_area .num {
	width: 800px;
	background-color: #FFF;
	padding: 40px 50px;
	margin: 0 auto 60px;
	border-top: solid 1px #E5E3E3;
	border-bottom: solid 1px #E5E3E3;
}

#outline_area .num li {
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 10px;
}

#outline_area .num li:last-child {
	margin-bottom: 0;
}

#outline_area figure.w400 {
	width: 400px;
}

#outline_area figure.w580 {
	width: 580px;
}

#outline_area figure img {
	width: 100%;
	border-radius: 10px;
}

#outline_area figcaption {
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 10px;
}

/* ---2024.4.15 追加--- */
#outline_area p {
	margin-bottom: 20px;
}
#outline_area p.w800 {
	max-width: 800px;
	margin: 0 auto 40px;
}
#outline_area p.small {
	font-size: 0.8em;
}
#outline_area h2 {
	margin: 60px 0 40px;
}

#outline_area h2.center {
	text-align: center;
}
#outline_area h2.center::after {
    display: none;
}
#outline_area img.center {
	max-width: 800px;
	width: 90%;
	margin: 0 auto;
	display: block;
}
#outline_area dl {
	max-width: 800px;
	background-color: #FFF;
	padding: 40px 50px;
	margin: 0 auto 60px;
	border-top: solid 1px #E5E3E3;
	border-bottom: solid 1px #E5E3E3;
}
#outline_area dt {
	text-align: center;
	font-weight: bold;
	padding-bottom: 20px;
	font-size: 28px;
	font-size: 2.8rem;
	border-bottom: solid 1px #E5E3E3;
}
#outline_area dd {
	padding: 20px 10px 0;
	line-height: 180%;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#outline_area .inr {
		padding: 0 20px;
	}

	#outline_area .num {
		width: 100%;
		padding: 20px 25px;
		margin: 0 auto 30px;
	}

	#outline_area .num li {
		font-size: 15px;
	}

/* ---2024.4.15 追加--- */
	#outline_area dl {
		padding: 20px 25px;
	}
	#outline_area dt {
		font-size: 16px;
		font-size: 1.6rem;
	}
	#outline_area dd {
		padding: 20px 10px 0;
		line-height: 180%;
	}
	#outline_area dd {
		font-size: 14px;
		font-size: 1.4rem;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of 部門紹介
--------------------------------
------------------------------*/
.section_area figure {
	border-radius: 5px;
	overflow: hidden;
}

.section_area figure img {
	width: 100%;
}

.section_area .inr>figure {
	max-width: 500px;
}

.section_area .heading {
	position: relative;
	margin-bottom: 40px;
}

.section_area .heading figure {
	max-width: 1200px;
}

.section_area h2 {
	position: absolute;
	bottom: 0;
	display: inline-block;
	font-size: 22px;
	font-size: 2.2rem;
	background-color: #FFF;
	margin-bottom: 0;
}

.section_area h2 .en {
	font-size: 50px;
	font-size: 5.0rem;
}

.section_area h2.hlft {
	padding: 30px 200px 30px 0;
	border-radius: 0 5px 0 5px;
	left: 0;
	text-align: left;
}

.section_area h2.hrgt {
	padding: 30px 0 30px 200px;
	border-radius: 5px 0 5px 0;
	right: 0;
	text-align: right;
}

.section_area h3 {
	margin-top: 0;
	margin-bottom: 30px;
}

.section_area .base_box {
	max-width: 660px;
	width: 100%;
}

.section_area .base_box.txt_lft {
	float: left;
}

.section_area .base_box.txt_rgt {
	float: right;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	.section_area .inr {
		padding: 0 20px;
	}

	.section_area .heading {
		margin-bottom: 20px;
	}

	.section_area h2 {
		font-size: 12px;
	}

	.section_area h2.hlft {
		padding: 10px 50px 10px 0;
	}

	.section_area h2.hrgt {
		padding: 10px 0 10px 50px;
	}

	.section_area h2 .en {
		font-size: 25px;
	}

	.section_area .base_box.txt_lft {
		float: none;
		margin-bottom: 0;
	}

	.section_area .base_box.txt_rgt {
		float: none;
		margin-bottom: 0;
	}
}

/* ---SP--- */

/*------------------------------
--------------------------------
 Page of 海外事業
--------------------------------
------------------------------*/
#foreign_area figure {
	border-radius: 5px;
	overflow: hidden;
}

#foreign_area figure img {
	width: 100%;
}

#foreign_area h3 {
	margin: 0 0 40px;
}

#foreign_area .inr::after {
	content: "";
	clear: both;
	display: block;
}

/* foreign_box */
#foreign_area .foreign_box {
	margin-bottom: 50px;
}

#foreign_area .foreign_box::after {
	content: "";
	clear: both;
	display: block;
}

#foreign_area .foreign_box li {
	float: left;
	background-color: #FFF;
	border: solid 1px #D7D7D7;
	margin-left: 30px;
	margin-bottom: 30px;
	border-radius: 5px;
}

#foreign_area .foreign_box.wvm li {
	width: 380px;
}

#foreign_area .foreign_box.wvn li {
	width: 585px;
}

#foreign_area .foreign_box li:nth-child(3n+1) {
	margin-left: 0;
}

#foreign_area .foreign_box figure {
	width: 100%;
	border-radius: 5px 5px 0 0;
}

#foreign_area .foreign_box h3 {
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	font-size: 20px;
	font-size: 2.0rem;
	color: #282828;
	background-color: transparent;
}

#foreign_area .foreign_box .txt {
	padding: 30px;
}

#foreign_area .inr .base_box.txt_lft {
	float: left;
}

#foreign_area .inr .base_box.txt_rgt {
	float: right;
}

#foreign_area .inr .base_box {
	width: 100%;
	max-width: 820px;
}

/* ad_box */
#foreign_area .ad_box {
	background-color: #FFF;
	padding: 30px;
	margin-top: 60px;
}

#foreign_area .inr .base_box dt {
	font-weight: bold;
	border-bottom: solid 1px #D7D7D7;
	padding-bottom: 20px;
	margin-bottom: 30px;
}

#foreign_area .inr .base_box dd {
	font-family: 'Asap Condensed', YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	line-height: 1.6;
}

/* foreign_gallery */
#foreign_area .foreign_gallery {
	clear: both;
	margin-bottom: 60px;
}

#foreign_area .foreign_gallery::after {
	content: "";
	clear: both;
	display: block;
}

#foreign_area .foreign_gallery li {
	float: left;
	margin-left: 5px;
}

#foreign_area .foreign_gallery.wvm li {
	width: 236px;
}

#foreign_area .foreign_gallery.wvn li {
	width: 597px;
}

#foreign_area .foreign_gallery li:nth-child(5n+1) {
	margin-left: 0;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#foreign_area .inr {
		padding: 0 20px;
	}

	#foreign_area .foreign_box li {
		float: none;
		margin-bottom: 20px;
		margin-left: 0;
	}

	#foreign_area .foreign_box.wvm li,
	#foreign_area .foreign_box.wvn li {
		width: 100%;
	}

	#foreign_area .foreign_box .txt {
		padding: 15px;
	}

	#foreign_area .foreign_box h3 {
		margin: 0 0 10px;
		font-size: 14px;
	}

	#foreign_area .foreign_gallery li {
		margin-left: 1%;
		margin-bottom: 10px;
	}

	#foreign_area .foreign_gallery li:nth-child(5n+1) {
		margin-left: 1%;
	}

	#foreign_area .foreign_gallery li:nth-child(odd) {
		margin-left: 0;
	}

	#foreign_area .foreign_gallery.wvm li {
		width: 49%;
	}

	#foreign_area .foreign_gallery.wvn li {
		width: 100%;
		margin-left: 0;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of CSR
--------------------------------
------------------------------*/
#csr_area figure {
	border-radius: 5px;
	overflow: hidden;
}

#csr_area figure img {
	width: 100%;
}

#csr_area dl {
	line-height: 1.6;
}

#csr_area dl::after {
	content: "";
	clear: both;
	display: block;
}

#csr_area dl dt {
	float: left;
}

#csr_area dl dd {
	padding-left: 5.0em;
}

/* csr_box */
.csr_box {
	margin-bottom: 40px;
}

.csr_box::after {
	content: "";
	clear: both;
	display: block;
}

.csr_box li {
	float: left;
	width: 396px;
	margin-left: 6px;
	margin-bottom: 10px;
}

.csr_box li:nth-child(3n+1) {
	margin-left: 0;
}

.box_lft,
.box_rgt {
	width: 580px;
}

.box_lft {
	float: left;
}

.box_rgt {
	float: right;
}

.box_lft figure,
.box_rgt figure {
	margin-bottom: 20px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#csr_area .inr {
		padding: 0 20px;
	}

	.csr_box li {
		float: none;
		width: 100%;
		margin-left: 0;
	}

	.box_lft,
	.box_rgt {
		width: 100%;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of ISO22000について
--------------------------------
------------------------------*/
#iso_area figure {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 40px;
}

#iso_area figure img {
	width: 100%;
}

/* iso_box */
.iso_box {
	background-color: #FFF;
	padding: 40px;
	margin-bottom: 60px;
	border-radius: 5px;
}

.iso_box h3 {
	margin: 0 0 30px;
}

.iso_box p {
	margin-bottom: 30px;
}

.iso_box ol {
	padding: 0 50px;
	margin-bottom: 0;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#iso_area .inr {
		padding: 0 20px;
	}

	.iso_box {
		padding: 20px;
		margin-bottom: 30px;
	}

	.iso_box ol {
		padding: 0 25px;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of 会社概要
--------------------------------
------------------------------*/
#info_area figure {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 40px;
}

#info_area figure img {
	width: 100%;
}

#info_area dt {
	font-weight: bold;
}

#info_area dd {
	margin-bottom: 10px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#info_area .inr {
		padding: 0 20px;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of お知らせ
--------------------------------
------------------------------*/
/******************************
 eyecatch
******************************/
.news #ec_main h1::before {
	background-image: url(../img/ic_ec_news.svg);
}

/******************************
 お知らせ一覧
******************************/
.news #news_area dt,
.news #news_area dd {
	margin-bottom: 20px;
}

.news #news_area dt {
	float: left;
}

.news #news_area dd {
	padding-left: 12em;
}

/* news_list_area */
#news_list_area {
	background-color: #FFEDD5;
	padding: 60px 0;
}

#news_list_area .inr {
	max-width: 1100px;
}

#news_list_area h2 {
	font-size: 21px;
	font-size: 2.1rem;
	text-align: center;
	margin: 0 0 30px;
}

#news_list_area h2::after {
	display: none;
}

/* tab_area */
.tab_area {
	text-align: center;
	border-bottom: solid 1px #C9C9C9;
}

.tab_area li {
	position: relative;
	display: inline-block;
	margin-left: 5px;
	margin-bottom: 10px;
	padding: 10px 1.5em;
	cursor: pointer;
}

.tab_area li::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	background-image: url(../img/ic_arrow01.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 15px;
	height: 15px;
	transform: translateY(-50%);
}

.panel_area {
	text-align: center;
	margin-bottom: 30px;
}

.panel_area ol {
	width: 100%;
	padding: 20px 0;
	display: none;
}

.panel_area ol li {
	display: inline-block;
	margin-bottom: 10px;
}

.panel_area ol li a {
	display: block;
	border: solid 1px #D80012;
	background-color: #FFF;
	padding: 5px 25px;
	border-radius: 5px;
}

.panel_area ol li a:hover {
	color: #FFF;
	background-color: #D80012;
}

.tab_area li.active {
	color: #D80012;
}

.panel_area ol.active {
	display: block;
}

/* cat_area */
.cat_area {
	background-color: #FCF1E3;
	padding: 40px;
}

.cat_area ul {
	text-align: center;
}

.cat_area li {
	display: inline-block;
	margin-bottom: 10px;
}

.cat_area li a {
	display: block;
	border: solid 1px #D80012;
	background-color: #FFF;
	padding: 5px 15px;
	border-radius: 5px;
}

.cat_area li a:hover {
	color: #FFF;
	background-color: #D80012;
}

/******************************
 お知らせ詳細
******************************/
#news_detail_area {
	padding: 80px 0;
}

#news_detail_area .inrhead {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 55px;
}

#news_detail_area h1 {
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.6;
	padding: 25px 0;
	margin-bottom: 20px;
	border-bottom: solid 1px #c6c6c6;
}

#news_detail_area .op {
	text-align: right;
}

#news_detail_area .op::after {
	content: "";
	clear: both;
	display: block;
}

#news_detail_area .news_cat {
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #FFF;
	background-color: #d80012;
	border-radius: 3px;
	padding: 3px 5px;
	margin-right: 10px;
}

#news_detail_area .news_data {
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
}

#news_detail_area .news_pix {
	background-color: #FFF;
	padding: 40px 0;
	margin-bottom: 40px;
}

#news_detail_area .news_pix img {
	width: 540px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	.news #news_area dt {
		float: none;
	}

	.news #news_area dd {
		padding-left: 0;
	}

	#news_list_area h2 {
		font-size: 14px;
		margin: 0 0 20px;
	}

	#news_list_area {
		padding: 20px 0;
	}

	.tab_area li {
		margin-bottom: 5px;
	}

	.tab_area li::before {
		width: 10px;
		height: 10px;
	}

	.panel_area {
		margin-bottom: 20px;
	}

	.cat_area {
		padding: 20px;
		width: calc(100% - 40px);
		margin: 0 auto;
	}

	#news_detail_area {
		padding: 40px 0;
	}

	#news_detail_area h1 {
		font-size: 18px;
		padding: 10px 0;
	}

	#news_detail_area .op {
		text-align: center;
	}

	#news_detail_area .news_cat {
		font-size: 12px;
	}

	#news_detail_area .news_data {
		font-size: 12px;
	}

	#news_detail_area .inrhead {
		margin: 0 auto 20px;
	}

	#news_detail_area .news_pix {
		padding: 20px;
		margin-bottom: 20px;
	}

	#news_detail_area .news_pix img {
		width: 100%;
	}

	#news_detail_area .inr {
		padding: 20px;
	}

}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of スペシャルコンテンツ
--------------------------------
------------------------------*/
.special #ec_main h1::before {
	height: 50px;
}

/******************************
 special_area
******************************/
#special_area {
	padding: 60px 0;
}

/* special_box */
.special_box::after {
	content: "";
	clear: both;
	display: block;
}

.special_box li {
	float: left;
	margin-left: 30px;
	margin-bottom: 30px;
}

.special_box li:nth-child(2n+1) {
	margin-left: 0;
}

.special_box a {
	width: 585px;
	display: block;
	color: #282828;
	border: solid 1px #d5d5d5;
	border-radius: 4px;
	background-color: #FFF;
}

.special_box a:hover {
	color: #d80012;
	border: solid 1px #d80012;
}

.special_box a::after {
	content: "";
	clear: both;
	display: block;
}

.special_box figure {
	float: left;
	position: relative;
	overflow: hidden;
	width: 230px;
	height: 200px;
	background-color: #F7F2F2;
	background-image: url(../img/img_dummy.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.special_box figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.special_box li a:hover figure img {
	-webkit-transform: translate(-50%, -50%) scale(1.2);
	-ms-transform: translate(-50%, -50%) scale(1.2);
	transform: translate(-50%, -50%) scale(1.2);
}

.special_box li:nth-child(2n+1) {
	margin-left: 0;
}

.special_box h2 {
	position: relative;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 30px;
	margin-bottom: 10px;
	text-align: left;
}

.special_box h2::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	background-image: url(../img/ic_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

.special_box h2::after {
	display: none;
}

.special_box .txt {
	float: left;
	width: 350px;
	padding: 20px 30px 10px;
}

.special_box .txt p {
	line-height: 1.4;
	margin-bottom: 0;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#special_area {
		padding: 30px 0;
	}

	#special_area .inr {
		padding: 0 20px;
	}

	.special_box li {
		float: none;
		margin-left: 0;
		margin-bottom: 10px;
		width: 100%;
	}

	.special_box a {
		width: 100%;
	}

	.special_box figure {
		width: 38vw;
		height: 33vw;
	}

	.special_box .txt {
		width: calc(100% - 38vw);
		padding: 10px 10px 5px;
	}

	.special_box h2 {
		font-size: 16px;
		padding-left: 15px;
		margin-bottom: 5px;
	}

	.special_box .txt p {
		font-size: 12px;
	}

	.special_box h2::before {
		width: 12px;
		height: 12px;
		top: 0.3em;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of お客様相談室
--------------------------------
------------------------------*/
.customer #ec_main h1::before {
	background-image: url(../img/ic_ec_customer.svg);
}

/******************************
 customer_area
******************************/
/* customer_tab */
#customer_area nav {
	background-color: #F7F5F0;
	padding: 50px;
	margin-top: 50px;
	border-bottom: solid 1px #FFF;
	box-shadow: 0px 1px 0px #DDDBD7;

}

.customer_tab::after {
	content: "";
	clear: both;
	display: block;
}

.customer_tab li {
	float: left;
	width: 260px;
	background-color: #FFF;
	border: solid 1px #D80012;
	border-radius: 5px;
	text-align: center;
	color: #D80012;
	margin-left: 20px;
	margin-top: 20px;
	padding: 10px 1.0em;
	cursor: pointer;
}

.customer_tab li:nth-child(4n+1) {
	margin-left: 0;
}

.customer_tab li:nth-child(-n+4) {
	margin-top: 0;
}

.customer_tab li:hover,
.customer_tab li.active {
	background-color: #D80012;
	color: #FFF;
}

/* customer_panel */
.customer_panel {
	margin-bottom: 60px;
}

.customer_panel article {
	width: 100%;
	padding: 20px 0;
	display: none;
}

.customer_panel article.active {
	display: block;
}

.customer_panel article li {
	position: relative;
	border-bottom: solid 1px #C9C9C9;
	padding: 10px 0;
}

.customer_panel article li::after {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	right: 0;
	width: 30px;
	height: 30px;
	background-color: #D60D12;
	border-radius: 4px;
	z-index: -1;
}

.customer_panel dl,
.customer_panel dt,
.customer_panel dd {
	position: relative;
}

.customer_panel dt,
.customer_panel dd {
	padding: 20px 60px 0 50px;
	line-height: 1.4;
}

.customer_panel dt {
	font-size: 18px;
	font-size: 1.8rem;
	cursor: pointer;
}

.customer_panel dt.open,
.customer_panel dt:hover {
	color: #D60D12;
}

.customer_panel dl::after,
.customer_panel dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 23px;
	right: 5px;
	width: 20px;
	height: 1px;
	background-color: #FFF;
}

.customer_panel dl::after {
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.customer_panel dt::after {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.customer_panel dt.open::after {
	display: none;
}

.customer_panel dd {
	display: none;
	margin-top: 20px;
	margin-left: 40px;
}

.customer_panel dt::before,
.customer_panel dd::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	font-family: 'Asap Condensed', YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	font-size: 36px;
	font-size: 3.6rem;
}

.customer_panel dt::before {
	content: "Q.";
	color: #7C7C7C;
}

.customer_panel dd::before {
	content: "A.";
	color: #D60D12;
}

/* contact_box */
.contact_box {
	background-color: #FFF;
	margin-bottom: 60px;
	padding: 50px;
	text-align: center;
}

.contact_box .btn {
	max-width: 340px;
	margin-bottom: 40px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#customer_area .inr {
		padding: 0 20px;
	}

	#customer_area nav {
		padding: 20px;
		margin-top: 20px;
	}

	.customer_tab li {
		width: 48%;
		margin-left: 2%;
		margin-top: 10px;
		padding: 5px 0.5em;
		line-height: 1.4;
	}

	.customer_tab li:nth-child(-n+4) {
		margin-top: 10px;
	}

	.customer_tab li:nth-child(-n+2) {
		margin-top: 0;
	}

	.customer_tab li:nth-child(4n+1) {
		margin-left: 2%;
	}

	.customer_tab li:nth-child(odd) {
		margin-left: 0;
	}

	.customer_panel {
		margin-bottom: 30px;
	}

	.customer_panel h3 {
		margin-top: 20px;
	}

	.customer_panel article li {
		padding: 10px 0;
	}

	.customer_panel article li::after {
		top: 15px;
		width: 20px;
		height: 20px;
	}

	.customer_panel dt::before,
	.customer_panel dd::before {
		font-size: 18px;
	}

	.customer_panel dt,
	.customer_panel dd {
		padding: 5px 30px 0 30px;
	}

	.customer_panel dt {
		font-size: 14px;
	}

	.customer_panel dd {
		margin-top: 10px;
		margin-left: 0;
	}

	.customer_panel dl::after,
	.customer_panel dt::after {
		top: 14px;
		right: 5px;
		width: 10px;
	}

	.contact_box {
		margin-bottom: 30px;
		padding: 20px;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of お問い合わせ
--------------------------------
------------------------------*/
/******************************
 contact_area
******************************/
#contact_area .inr>p {
	margin-bottom: 20px;
	line-height: 1.6;
}

#contact_area .inr>ul {
	margin-bottom: 60px;
	line-height: 1.6;
}

#contact_area .inr>ul li {
	position: relative;
	text-indent: -1.0em;
	padding-left: 1.0em;
}

#contact_area .inr>ul li::before {
	content: "・";
}

.thanks #contact_area h2 {
	text-align: center;
}

.thanks #contact_area h2::after {
	display: none;
}

.thanks .mobile_box {
	margin: 0 auto 40px;
}

#contact_area .btn {
	width: 240px;
	margin-bottom: 60px;
}

/* form_box */
.form_box form {
	display: block;
	text-align: left;
}

.form_box th {
	position: relative;
}

.form_box td::after {
	content: "";
	clear: both;
	display: block;
}

.form_box .must {
	position: absolute;
	right: 0;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	background-color: #D60D12;
	color: #FFF;
	padding: 0 10px;
	border-radius: 4px;
}

.form_box .ex {
	display: block;
	margin: 5px 0;
}

.form_box .small {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
}

.form_box .ziptoaddress a {
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	background-color: #D60D12;
	color: #FFF;
	padding: 10px 20px;
	border-radius: 4px;
}

.form_box .input20 {
	width: 20%;
}

.form_box .input30 {
	width: 30%;
}

.form_box .input60 {
	width: 60%;
}

.form_box .input80 {
	width: 80%;
}

.form_box textarea {
	width: 80%;
	height: 200px;
}

/* agree_box */
.agree_box {
	background-color: #F7F5F0;
	border-top: dotted 1px #C9C9C9;
	border-bottom: dotted 1px #C9C9C9;
	padding: 30px;
	text-align: center;
}

.agree_box .agree {
	display: inline-block;
	text-align: center;
	margin: 20px auto 0;
}

/* enter_box */
.enter_box {
	padding: 50px 0;
	text-align: center;
}

.enter_box ol::after {
	content: "";
	clear: both;
	display: block;
}

.enter_box li {
	display: inline-block;
	margin-left: 10px;
}

.enter_box li:first-child {
	margin-left: 0;
}

.enter_box button {
	color: #FFF;
	font-size: 18px;
	font-size: 1.8rem;
	width: 240px;
	height: 50px;
	border-radius: 10px;
	margin: 0;
}

#btnback,
#btnreset {
	background-color: #A5A5A5;
}

#btnsubmit {
	background-color: #D70D12;
}

#btnsubmit[disabled] {
	background: #E4E4E4;
	cursor: default;
}

#btnsubmitentry {
	background-color: #D70D12;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#contact_area .inr {
		padding: 0 20px;
	}

	.form_box .must {
		font-size: 12px;
	}

	.form_box .input20,
	.form_box .input30,
	.form_box .input60,
	.form_box .input80,
	.form_box textarea {
		width: 100%;
	}

	.form_box .select-wrap,
	.form_box .select-wrap select {
		width: 100%;
	}

	.form_box .ziptoaddress {
		display: block;
	}

	.form_box .ziptoaddress a {
		font-size: 12px;
		padding: 5px 10px;
	}

	.enter_box li {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.enter_box button {
		font-size: 14px;
		width: 100%;
		height: 50px;
		border-radius: 5px;
	}
}

/* ---SP--- */




/*------------------------------
--------------------------------
 Page of サイトマップ
--------------------------------
------------------------------*/
/******************************
 sitmap_area
******************************/
.sitmap #ec_main h1::before {
	height: 50px;
}

#sitmap_area h2 {
	display: inline-block;
	width: 220px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	margin-bottom: 0;
}

#sitmap_area h2 a {
	position: relative;
	display: block;
	width: 100%;
	line-height: 50px;
	background-color: #FFF;
	color: #282828;
	text-align: center;
	text-decoration: none;
	border: 1px solid #D8D8D8;
	transition: .3s;
	border-radius: 5px;
}

#sitmap_area h2 a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	width: 15px;
	height: 15px;
	background-image: url(../img/ic_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

#sitmap_area h2 a:hover,
#sitmap_area li a:hover {
	color: #DA0012;
	border: 1px solid #DA0012;
}

#sitmap_area h2::after {
	display: none;
}

#sitmap_area h3 {
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: transparent;
	color: #282828;
	padding: 0;
	margin: 40px 0 30px;
}

#sitmap_area h4 {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0;
	padding-left: 120px;
	margin-bottom: 30px;
}

#sitmap_area ul::after {
	content: "";
	clear: both;
	display: block;
}

#sitmap_area li {
	float: left;
	width: 220px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	margin-left: 20px;
	margin-bottom: 20px;
}

#sitmap_area li:nth-child(5n+1) {
	margin-left: 0;
}

#sitmap_area li.w100p {
	width: 100%;
}

#sitmap_area li a {
	position: relative;
	display: block;
	width: 100%;
	line-height: 50px;
	background-color: #FFF;
	color: #282828;
	text-align: center;
	text-decoration: none;
	border: 1px solid #D8D8D8;
	transition: .3s;
	border-radius: 5px;
}

#sitmap_area li.w100p>a {
	width: 220px;
	margin-bottom: 30px;
}

#sitmap_area li a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	width: 15px;
	height: 15px;
	background-image: url(../img/ic_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

#sitmap_area li ul {
	padding-left: 120px;
	margin-bottom: 30px;
}

#sitmap_area li ul li:nth-child(5n+1) {
	margin-left: 20px;
}

#sitmap_area li ul li:nth-child(4n+1) {
	margin-left: 0;
}

#sitmap_area .etc {
	margin: 50px 0;
	padding-top: 50px;
	border-top: solid 1px #D8D8D8;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#sitmap_area .inr {
		padding: 0 20px;
	}

	#sitmap_area h2 {
		width: 49%;
		font-size: 13px;
	}

	#sitmap_area h2 a {
		width: 100%;
		padding: 7px 5px 7px 20px;
		line-height: 1.5;
	}

	#sitmap_area h2 a::before {
		left: 5px;
		width: 10px;
		height: 10px;
	}

	#sitmap_area h3 {
		font-size: 16px;
		margin: 30px 0 20px;
	}

	#sitmap_area li {
		float: left;
		width: 49%;
		margin-left: 2%;
		margin-bottom: 10px;
		font-size: 13px;
	}

	#sitmap_area li:nth-child(5n+1) {
		margin-left: 2%;
	}

	#sitmap_area li:nth-child(odd) {
		margin-left: 0;
	}

	#sitmap_area li a {
		width: 100%;
		padding: 7px 5px 7px 20px;
		line-height: 1.5;
	}

	#sitmap_area li a::before {
		left: 5px;
		width: 10px;
		height: 10px;
	}

	#sitmap_area li.w100p>a {
		width: 49%;
		margin-bottom: 20px;
	}

	#sitmap_area h4 {
		font-size: 14px;
		padding-left: 20px;
		margin-bottom: 20px;
	}

	#sitmap_area li ul {
		padding-left: 20px;
		margin-bottom: 10px;
	}

	#sitmap_area li ul li:nth-child(5n+1) {
		margin-left: 2%;
	}

	#sitmap_area li ul li:nth-child(odd) {
		margin-left: 0;
	}

	#sitmap_area #ec_main h1::before {
		height: 30px;
	}
}

/* ---SP--- */
/*------------------------------
--------------------------------
 Page of プライバシーポリシー
--------------------------------
------------------------------*/
/******************************
 privacy_area
******************************/
.privacy #ec_main h1::before {
	height: 50px;
}

#privacy_area h3 {
	counter-increment: dnum-cnth3;
	position: relative;
}

#privacy_area h3::before {
	content: counter(dnum-cnth3) ". ";
	display: inline-block;
	position: relative;
	margin-right: 5px;
}

/* ---SP--- */
@media screen and (max-width: 768px) {
	#privacy_area .inr {
		padding: 0 20px;
	}

	.privacy #ec_main h1::before {
		height: 30px;
	}

	.special #ec_main h1::before {
		height: 30px;
	}
}

/* ---SP--- */

/* 20221014 add learn origin */

#origin_area .inr {
	color: #000;
}

#origin_area .sec01 {
	padding-top: 30px;
}

#origin_area .sec01-title,
#origin_area .sec01-lead {
	text-align: center;
}

#origin_area .sec01-title {
	position: relative;
	padding-bottom: 28px;
	font-weight: 500;
	font-size: 22px;
	font-size: 2.2rem;
	letter-spacing: 0.06em;
}

#origin_area .sec01-title::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	max-width: 800px;
	height: 1px;
	margin: 0 auto;
	background-color: #CCC;
	content: "";
}

#origin_area .sec01-lead {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	margin-top: 28px;
	font-weight: 600;
	font-size: 34px;
	font-size: 3.4rem;
	font-family: "Yu Mincho", "游明朝", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	letter-spacing: 0.1em;
}

#origin_area .sec01-images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 800px;
	margin: 28px auto 0;
}

#origin_area .sec01-images figure {
	width: 50%;
}

#origin_area .sec01-images figure img {
	width: 100%;
	height: auto;
}

#origin_area .sec02 {
	max-width: 800px;
	margin: 42px auto 0;
	padding-bottom: 80px;
}

#origin_area .sec02-head {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	margin-bottom: 42px;
	font-weight: 400;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
	font-family: "Yu Mincho", "游明朝", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	letter-spacing: 0.08em;
	text-align: center;
}

#origin_area .sec02-head::after {
	content: none;
}

#origin_area .sec02 p {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0;
}

#origin_area .sec02 p+p {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	#origin_area .inr {
		padding: 0 20px;
	}

	#origin_area .sec01 {
		padding-top: 20px;
	}

	#origin_area .sec01-title {
		padding-bottom: 18px;
		font-size: 18px;
		font-size: 1.8rem;
	}

	#origin_area .sec01-lead {
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 1.4;
	}

	#origin_area .sec01-images {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 24px;
	}

	#origin_area .sec01-images figure {
		width: 100%;
	}

	#origin_area .sec02 {
		margin-top: 32px auto 0;
		padding-bottom: 36px;
	}

	#origin_area .sec02-head {
		margin-bottom: 40px;
		font-size: 20px;
		font-size: 2rem;
		line-height: 1.5;
	}

	#origin_area .sec02 p {
		font-size: 1.6rem;
		font-size: 16px;
	}

	#origin_area .sec02 p+p {
		margin-top: 20px;
	}
}