/* top */
#top_main_img{
	position: relative;
	background: url("../img/img_main_top01.jpg") no-repeat;
	width: 1250px;
	height: 400px;
}
#non_content{
	position: absolute;
	top: 30px;
	right: 30px;
}
#non_base{
	position: relative;
}
#non_elephant{
	position: absolute;
	animation: non_elephant 2.5s linear 0s infinite;
	left: 0;
	margin: 0 auto;
	max-width: 150px;
	right: 0;
	top: 43%;
}

/* column */
.column_2a_content{
	width: 100%;
}
.column_2a_content .column_left{
	float: left;
	width: 50%;
}
.column_2a_content .column_right{
	float: right;
	width: 50%;
}

.column_2b_content{
	width: 100%;
}
.column_2b_content .column_left{
	float: left;
	width: 50%;
}
.column_2b_content .column_right{
	float: right;
	width: 50%;
}

.column_2c_content{
	width: 100%;
}
.column_2c_content .column_left{
	float: left;
	width: 60%;
}
.column_2c_content .column_right{
	float: right;
	width: 40%;
}

/* h1 */
#main_content h1{
	background: url("../img/h1_icn.png") no-repeat;
	font-size: 28px;
	height: 60px;
	line-height: 1em;
	padding: 15px 0 5px 78px;
}
#main_content h1 span{
	display: block;
	border-bottom: 7px solid #2d7c42;
	padding-bottom: 4px;
}

/* h2 */
section h2{
	background: url("../img/h1_icn.png") no-repeat;
	font-size: 28px;
	height: 60px;
	line-height: 1em;
	padding: 15px 0 5px 78px;
}
section h2 span{
	display: block;
	border-bottom: 7px solid #2d7c42;
	padding-bottom: 4px;
}

/* h3 */
section h3{
	background: url("../img/h3_icn.png") no-repeat;
	background-position: left top;
	border-bottom: 6px solid #ccc;
    font-size: 28px;
    line-height: 50px;
    margin: 0 0 20px;
    padding: 8px 0 0 36px;
}

section div h3.consept{
	text-align: center;
	color: #2d7c42;
    background: none;
    border-bottom: medium none;
    line-height: 40px;
}

section div h3.consept span{
	color: #CC0000;
}

div.left img{
	float: left;
}
div.right img{
	float: right;
}
/* fontsize */
div#main_content div.column_2a_content.clearfix div.column_left article div p,
div#main_content section div p{
    font-size: 125%;
    line-height: 1.2em;
}

/* shop */
#photo_thb ul li{
	float: left;
	width: 32%;
	padding-right: 1.3%;
}
#photo_thb ul li img{
	max-width: 100%;
	cursor: pointer;
}
#photo_thb ul li:last-child{
	padding-right: 0;
}

section.shop_content{
/*	border-bottom: 10px solid #2D7C42;*/
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
}
#photo_main{
	position: relative;
}
#photo_main img{
	max-width: 100%;
}
#photo_main p{
	background: #000;
	bottom: 0;
    color: #fff;
    left: 0;
    line-height: 30px;
    padding: 0;
    position: absolute;
    text-align: right;
    width: 100%;
}


/* dl */

.shop div.column_left dl{
background: #339966 none repeat scroll 0 0;
}



dl.dl_2a dt,
dl.dl_2a dd{
	border-top: 1px solid #2d7c42;
}

dl.dl_2a dt:first-child,
dl.dl_2a dd:nth-child(2){
	border-top: 0px solid #2d7c42;
}



dl.dl_2a dt:last-child,
dl.dl_2a dd:last-child{
	border-bottom: 1px solid #2d7c42;
}


dl.dl_2a dt{
	color: #fff;

    padding: 18px 15px;
	clear: both;
	float: left;
	width: 120px;

}
dl.dl_2a dt:after{
	content: ":";
}
dl.dl_2a dd{
	margin-left: 130px;
    padding: 18px 15px;
background: #FFF;
}



/*
div.column_left dl.dl_2a dt{

    font-weight: normal;

    text-align: left;
    vertical-align: top;
    white-space: nowrap;

}
*/

dl.dl_menu_a{
	margin: 0 0 15px 0;
}
dl.dl_menu_a dd{
	background: url("../img/img_menu_bg.png") no-repeat;
	width: 365px;
	height: 40px;
	line-height: 40px;
	padding: 0 0 5px 15px;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}
dl.dl_menu_a em{
	display: block;
    font-style: normal;
    position: absolute;
    right: 26px;
    bottom: 6px;
}

dl.dl_menu_b{
}
dl.dl_menu_b dt{
	background: url("../img/img_menu_bg.png") no-repeat;
	width: 365px;
	height: 40px;
	line-height: 40px;
	padding: 0 0 5px 15px;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}
dl.dl_menu_b dd{
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5em;
	width: 365px;
}
dl.dl_menu_b em{
	display: block;
    font-style: normal;
    position: absolute;
    right: 26px;
    bottom: 6px;
}

dl.dl_menu_c{
	width: 365px;
	min-height: 180px;
	background: url("../img/img_menu_bg.png");
	font-weight: bold;
}
dl.dl_menu_c dt{
	font-size: 20px;
	line-height: 40px;
	padding: 5px 0 0 20px;
	position: relative;
}
dl.dl_menu_c dd{
	font-size: 16px;
	line-height: 1.5em;
	padding-left: 30px;
}
dl.dl_menu_c em{
	display: block;
    font-style: normal;
    position: absolute;
    right: 26px;
    bottom: 0;
}
dl.dl_menu_c small{
	font-size: 12px;
}
/* menu */
ul#menu_navi li{
	float: left;
	width: 30%;
	padding: 0 1% 10px 0;
}
ul#menu_navi li img{
	max-width: 100%;
}
ul#menu_navi li:nth-child(3n){
	padding-right: 0;
}

ul.menu_item li{
	background: url("../img/img_menu_bg.png") no-repeat;
	width: 365px;
	height: 40px;
	line-height: 40px;
	padding: 0 0 5px 15px;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}
ul.menu_item li em{
	display: block;
    font-style: normal;
    position: absolute;
    right: 26px;
    bottom: 6px;
}
ul.menu_item li small{
	font-size: 14px;
}

ul.menu_item_b li{
	background: url("../img/img_menu_bg2.png") no-repeat;
	width: 365px;
	height: 40px;
	line-height: 40px;
	padding: 0 0 5px 15px;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}
ul.menu_item_b li em{
	display: block;
    font-style: normal;
    position: absolute;
    right: 26px;
    bottom: 6px;
}

ul.menu_item li.bg_none,
ul.menu_item_b li.bg_none{
	background: none;
	height: auto;
	line-height: 1em;
	position: static;
	padding: 0 0 5px 0;
}

.p_menu{
	width: 365px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5em;
}

/* contact */
dl.mailform{
	border-radius: 10px;
	border: 1px solid #2d7c42;
	background: #fff;
}
form#mailformpro dl dt{
	border-top: none;
	font-size: 14px;
	padding: 10px;
}
form#mailformpro dl dd{
	border-top: none;
	font-size: 14px;
}
.mfp_colored,
.mfp_achroma{
	background-color: transparent;
}

section div p em{
	font-weight: bold;
	color: #cc0000;
}

/* table */
div table {
    border: medium none;
    margin: 0 0 1em;
    width: 100%;
}

div table tr{
	border-bottom: 1px solid #2d7c42;
}
div table th{
	background: #339966 none repeat scroll 0 0;
    font-weight: normal;
    padding: 18px 15px;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
	color: #fff;
}
div table td{
	padding: 18px 15px;
}




/* keyframe */
@keyframes non_elephant {
  0%   { transform: translate(0%, 0%) scale(0.8)scale(1.8); }
  5%   { transform: translate(10%, 0%) rotate(10deg)scale(1.3); }
  25%  { transform: translate(20%, 0%) rotate(20deg)scale(1.2); }
  30%  { transform: translate(-10%, 0%) rotate(-10deg)scale(1.1); }
  35%  { transform: translate(-15%, 0%) rotate(-15deg)scale(1.0); }
  45%  { transform: translate(10%, 0%) rotate(10deg)scale(0.9); }
  50%  { transform: translate(15%, 0%) rotate(15deg)scale(1.0); }
  60%  { transform: translate(-5%, 0%) rotate(-5deg)scale(1.1); }
  65%  { transform: translate(-7%, 0%) rotate(-7deg)scale(1.2); }
  75%  { transform: translate(0%, 0%) rotate(0deg) scale(1.3); }
  100% { transform: translate(0%, 0%) rotate(0deg) scale(1.4); }
}


@media screen and (max-width:768px) {
	#top_main_img{
		width: 100%;
	}
	#non_content{
		left: 0;
		margin: 0 auto;
		right: 0;
		top: 85px;
		width: 260px;
	}
	img#non_base{

	}
	#non_elephant{
		max-width: 100px !important;
	}

	.column_2a_content .column_left,
	.column_2a_content .column_right{
		float: none;
		width: 100%;
	}

	ul#menu_navi li,
	ul#menu_navi li:nth-child(3n){
		width: 48%;
		padding: 0 1%;
		text-align: center;
	}

	ul.menu_item li,
	ul.menu_item_b li{
		display: block;
		margin: 0 auto;
		max-width: 95%;
		background-size: 100% auto;
		background-repeat: no-repeat;
		font-size: 17px;
	}

	section h2{
		background-size: 40px auto;
		padding: 5px 0 5px 46px;
		font-size: 23px;
		height: 40px;
	}
	section h2 span {
    	border-bottom: 3px solid #2d7c42;
	}

	section h3{
		background-size: 20px auto;
		padding: 8px 0 0 26px;
		line-height: 32px;
	    margin: 0 0 10px;
		border-bottom: 3px solid #ccc;
		font-size: 20px;
	}

	dl.dl_menu_a,
	dl.dl_menu_b{
		margin: 0 auto 15px;
		width: 380px;
		max-width: 95%;
	}


	dl.dl_menu_a dd,
	dl.dl_menu_b dt{
		max-width: 100%;
		background-size: 100% auto;
		background-repeat: no-repeat;
		font-size: 17px;
	}

	dl.dl_menu_b dd{
		max-width: 100%;
		font-size: 14px;
	}

	.column_2a_content .column_left img{
		margin: 0 auto;
		width: 100%;
		max-width: 365px;
		display: block;
	}

	dl.dl_menu_a dt img {
	    display: block;
	    margin: 0 auto;
	    max-width: 365px;
	    width: 100%;
	}

	dl.dl_menu_c{
		margin: 0 auto;
		max-width: 100%;
		background-size: 100% auto;
		font-size: 17px;
	}

	div#main_content div.column_2a_content.clearfix div.column_left article div p,
	div#main_content section div p{
		font-size: 14px;
	}
	.p_menu{
		font-size: 14px;
		margin: 0 auto;
		max-width: 100%;
	}


	.column_2b_content .column_left,
	.column_2b_content .column_right{
		float: none;
		width: 100%;
	}

	dl.dl_2a dt{
		float: none;
	}
	dl.dl_2a dd{
		margin-left: 0;
	}

	.column_2c_content .column_left,
	.column_2c_content .column_right{
		float: none;
		width: 100%;
	}

	div.left img,
	div.right img{
		float: none;
		padding-bottom: 10px;
		max-width: 360px;
		display: block;
		margin: 0 auto;
	}

	div.left p,
	div.right p{
		padding: 0 10px;
	}

	section div h3.consept{
		line-height: 1.3em;
		padding: 0;
	}

	#top_shop_link .column_left,
	#top_shop_link .column_right{
		display: block;
		margin: 0 auto 10px;
		max-width: 365px;
		width: 100%;
	}
iframe.snapwidget-widget{
	height: 9rem!important;
}
}