@charset "utf-8";
/* CSS Document */

/* ************************************************ 
 *	
 *	common
 *	
 * ************************************************ */
/* -------------------------body------------------------- */
body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 180%;
	color: #39302c;
	width:100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	height:100%;
	position: relative;
	word-wrap: break-word;
	letter-spacing:0.1em;
	background:#f5f5f5 url(images/common/bg.jpg);
	/* font-family: "Noto Sans CJK JP", "Noto Sans JP",  "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
}
@media only screen and  ( max-width : 900px ) {
	body {
		font-size: 14px;
	}
}
@media only screen and  ( max-width : 768px ) {
	body {
		padding-top:60px;
	}
}
/* -------------------------img------------------------- */
img{
	vertical-align: bottom;
	max-width:100%;
	height:auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
/* -------------------------link------------------------- */
a{
	color:#006837;
	text-decoration: none;
}
@media print, screen and ( min-width : 768px ) {
	a:hover{
		text-decoration: underline;
	}
}
.bt{
	background:#d87d21;
	-moz-background-size:10px 10px;
	background-size:10px 10px;
	color: #ffffff;
	padding:0em 3em;
	line-height:50px;
	display:inline-block;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	font-weight:bold;
}
.bt:hover{
	text-decoration: none;
}

.bt img{
	vertical-align: middle;
	max-width:2em;
	margin-right:0.5em;
}
@media only screen and  ( max-width : 768px ) {
	.bt{
		display:block;
	}
}
.block_link{
	display:block;
	color:#000;
}
.block_link:hover{
	text-decoration: none !mportant;
}
/* -------------------------br------------------------- */

@media only screen and ( max-width : 768px ) {
	br.pc_br{
		display:none;
	}
}
@media only screen and (min-width: 768px){
	br.smp_br{
		display:none;
	}
}
/* -------------------------form------------------------- */
select,
input,
textarea{
     font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
}
select,
input[type="email"],
input[type="text"],
textarea{
	padding:1%;
	border:1px solid #aaa;
	background:#f5f5f5;
	line-height:160%;
	width:98%;
	font-size:110%;
}
.form_tel input{
	width:25% !important;
}


textarea{
	width:98%;
}
input[type="submit"] {
	background:#f7931e;
	color: #ffffff;
	text-decoration: none;
	font-weight:bold;
	padding:1em 0em;
	display:inline-block;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	border:none;
	cursor: pointer;
	cursor: hand;
	width:30%;
	font-weight:bold;
	font-size:100%;
	background: #f7931e; /* Old browsers */
	background: -moz-linear-gradient(top, #f7931e 0%, #ff4d21 98%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f7931e 0%,#ff4d21 98%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f7931e 0%,#ff4d21 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7931e', endColorstr='#ff4d21',GradientType=0 ); /* IE6-9 */
}

/* -------------------------table------------------------- */
caption{
	background:#008A45;
	color:#fff;
	padding:1em;
	font-weight:bold;
	text-align:center;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
	width:100%;
	text-align:left;
	border-top:1px solid #cec9a7;
	background:#fff;
}
table tr{
}
table th,
table td{
	border:1px solid #cec9a7;
	padding:1em;
	font-size:90%;
	line-height:150%;
	position: relative;
}
table th{
	background:#ede9d3 !important;
	text-align:center;
}

/* -------------------------text------------------------- */
.eng{
	font-family: arial;
}
/* wrap以外は自由に揃える*/
#wrap p{
	text-align: justify;
	text-justify: inter-ideograph;
}
h2,h3,h4,h5{
	font-weight:bold;
	line-height:160%;
}
h2{
	font-size:210%;
	line-height:150%;
	letter-spacing:0.5em;
}
@media only screen and  ( max-width : 768px ) {
	h2{
		font-size:140%;
		line-height:150%;
	}
}
h3{
	font-size:140%;
	line-height:150%;
}
@media only screen and  ( max-width : 768px ) {
	h3{
		font-size:120%;
		line-height:150%;
	}
}
h4{
	font-size:120%;
	line-height:150%;
}

small, .small{
	font-size:70%; line-height:150%;
}
.bold{
	font-weight:bold;
}
.red{
	color:red;
}
.big{
	font-size:150%;
	line-height:160%;
}
.text_center{
	text-align:center !important;
}
.text_right{
	text-align:right;
}
.mb05{
	margin-bottom:0em;
}
.mb05{
	margin-bottom:0.5em;
}
.mb1{
	margin-bottom:1em;
	}
.mb2{
	margin-bottom:2em;
	}
.mb3{
	margin-bottom:3em;
	}
.mb4{
	margin-bottom:4em;
	}
.mb5{
	margin-bottom:5em;
	}
.indent1em{
	padding-left:1em;
	text-indent:-1em;
}
ul.both_height{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.list_inline li{
  display:inline-block;
}

/* ************************************************ 
 *	
 *	スマホ・PCでの表示切り替え
 *	
 * ************************************************ */
@media only screen and ( max-width : 768px ) {
	.pc_only{
		display:none;
	}
}
@media print, screen and ( min-width : 768px ) {
	.smp_only{
		display:none;
	}
}












/* ************************************************ 
 *	
 *	layout
 *	
 * ************************************************ */


#wrap{
	overflow:hidden;
	line-height:200%;
	max-width:2500px;
	margin:0 auto;
}
#wrap{
	font-size:100%;
}


.inner_block{
	margin-left:auto;
	margin-right:auto;
}
@media print, screen and ( min-width : 1000px ) {
	.inner_block{
		width:980px;
	}
}
@media ( max-width : 1000px ) and  ( min-width : 768px ) {
	.inner_block{
		width:90%;
	}
}
@media only screen and  ( max-width : 768px ) {
	.inner_block{
		width:95%;
	}
}


/* --------------------2カラムデザイン-------------------- */
.blog_contents{
	background:#fff;
}
#sidebar{
	font-size:90%;
}
@media print, screen and ( min-width : 900px ) {
	.blog_contents{
		width:70%;
		float:left;
		border:1px solid #cec9a7;
		padding:2%;
	}
	.blog_sidebar{
		width:23%;
		float:right;
	}
	.page_contents{
		width:75%;
		float:right;
	}
	.page_sidebar{
		width:23%;
		float:left;
	}

}
@media only screen and  ( max-width : 900px ) {
	.blog_contents{
		margin-bottom:2em;
		padding:5%;
	}
	.page_sidebar,
	.blog_sidebar{
		padding:5%;
	}
	.page_contents{
		margin-bottom:2em;
	}
}
@media print, screen and ( min-width : 800px ) {
}


/* ************************************************ 
 *	
 *	FOOTER
 *	
 * ************************************************ */
/* -------------------footer_infomation-------------------- */
#footer_infomation{
	background:#fff;
	position: relative;
}
ul.foot_info_block li{
	font-size:90%;
	line-height:160%;
}
.foot_info_block li table th,
.foot_info_block li table td{
	padding:0.5em 0em;
	font-size:90%;
	text-align:center;
}
@media print, screen and ( min-width : 768px ) {
	ul.foot_info_block li{
		width:48%;
		float:left;
		margin-right:4%;
	}
	ul.foot_info_block li:nth-child(2n) {
		margin-right:0%;
	}
}
@media only screen and  ( max-width : 768px ) {
	ul.foot_info_block li{
		margin-bottom:2em;
		padding:0em 5%;
		font-size:90%;
	}
	ul.foot_info_block li:nth-child(3n) {
		margin-bottom:0em;
	}
}

#footer_infomation:after{
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 0;
	width:100%;
	height:13px;
	background:url(images/common/foot_info_top.png);
	z-index:3;
}
/* -------------------営業日カレンダー-------------------- */

.holiday_text{
	color:red;
	font-size:90%;
}
.holiday_text span{
	background-color:#fee8d4;
	display:inline-block;
	width:2em;
	margin-right:0.5em;
}
@media print, screen and ( min-width : 768px ) {
	.top_calendar{
		width:600px;
		margin:0 auto;
	}
}
@media only screen and  ( max-width : 768px ) {
	.top_calendar{
		width:60%;
		margin:0 auto;
	}
}
#bizCallendar01{
	width:48%;
	float:left;
}
#bizCallendar02{
	width:48%;
	float:right;
}
.bizcalTitle{
	width:100% !important;
}
.top_calendar table th,
.top_calendar table td{
	padding:0.3em 0em;
	font-size:90%;
}


/* -------------------pagetop-------------------- */
.pagetop{
	position: fixed;
	bottom: -5em;
	right: 1em;
	z-index:4;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
@media only screen and  ( max-width : 768px ) {
	.pagetop{
		zoom:0.6;
	}
}
.head_fix .pagetop{
	position: fixed;
	bottom: 5.5em;
	right: 1em;
}
@media only screen and  ( max-width : 768px ) {
	.head_fix .pagetop{
		position: fixed;
		bottom: 9.5em;
		right: 1em;
	}
}
footer{
	overflow:hidden;
	max-width:2500px;
	margin:0 auto;
}
/* -------------------footer_block-------------------- */
.footer_block{
	background:#ccc url(images/common/foot_bg.jpg) center top no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	color:#fff;
	font-size:90%;
	padding:5em 0em 4em 0em;
}
.mail_address .at:before{
	content: "@";
}
.footer_block .mail_icon{
	margin-bottom:0.5em;
	display:inline-block;
}
.footer_block a{
	color:#fff;
}
@media only screen and  ( max-width : 768px ) {
	.foot_logo img{
		width:140px;
	}
}
.foot_sns{
	text-align:center;
}
.foot_sns li{
	padding:0.5em;
}
@media only screen and  ( max-width : 768px ) {
	.foot_sns li img{
		width:25px;
	}
}
.foot_copyright{
	text-align:center;
	padding:1em 3em;
}

/* ************************************************ 
 *	
 *	clearfix
 *	
 * ************************************************ */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height:0;
}
* html .clearfix { zoom:1; } /*for IE6*/
*:first-child+html .clearfix { zoom:1; } /*for IE7*/
.cb {
	clear: both;
}
@media print{
	.pagetop{
		display:none;
		text-indent:-200%;
		
	}
}





/* ************************************************ 
 *	
 *	アニメーション
 *	
 * ************************************************ */
@media only screen and  ( min-width : 768px ) {
	.page_contents a img,
	#post_css a img,
	.fade{
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		opacity: 1;
	}
	.page_contents a img:hover,
	#post_css a img:hover,
	.fade:hover{
		opacity: 0.6;
		text-decoration: none !important;
	}
}
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 1s ease;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/* ************************************************ 
 *	
 *	header
 *	
 * ************************************************ */

.head_description{
	font-size:70%;
}
header,
.header_main{
	position: relative;
}
/* ///-------------- header MAIN ---------------/// */
@media print, screen and ( min-width : 768px ) {
	.contents_top .header_main{
		position: absolute;
		top: 0em;
		left: 0%;
		width:100%;
		padding-top:1.4em;
		z-index:3;
	}
	.contents_page .header_main{
		padding-top:0.5em;
	}


}
@media only screen and  ( max-width : 768px ) {
	#header{
		width:100%;
	}
	.head_description{
		display:none;
	}
	.header_main{
		position: fixed;
		top: 0em;
		left: 0em;
		height:60px;
		width:100%;
		background:#fff;
		z-index:6;
	}
	.header_main .logo{
		position: absolute;
		top: 10px;
		left: 2.5%;
		width:160px;
	}
	/* ナビゲーションボタン */
	.smp_nav_buttom{
		position: absolute;
		top: 6px;
		right: 1%;
		width:50px;
		height:50px;
	}
	.smp_nav_buttom span{
		display:block;
		text-indent:-300%;
		overflow:hidden;
		width:50px;
		height:50px;
		background:url(images/common/smp_nav_buttom.png);
		-moz-background-size:50px 50px;
		background-size:50px 50px;
		cursor: pointer;
		cursor: hand;
	}
	/* open */
	.smp_nav_buttom span.active{
		background:url(images/common/smp_nav_buttom_hover.png);
		-moz-background-size:50px 50px;
		background-size:50px 50px;
	}
}






/* ///-------------- header NAVi ---------------/// */
/* 共通 */
#nav_block li a,
.nav_ac_bt,
.nav_ac_bt_sp{
	display:block;
	text-align:center;
	font-weight:bold;
	padding:0.7em 1em 0.5em 1em;
	cursor: pointer;
	cursor: hand;
}
#nav_block .child{
}
@media print, screen and ( min-width : 768px ) {
	.contents_top  #global-nav{
		padding:1em 0em 3em 0em;
	}
	.contents_page  #global-nav{
		padding:1em 0em;
	}
	#nav_block li.nav_pearent{
		position: relative;
		margin:0.1em;
		display:inline-block;
		border-bottom:2px solid #006837;
	}
	#nav_block li.nav_ac{
		min-width:9em;
	}
	#nav_block li a,
	#nav_block li .nav_ac_bt{
		color: #39302c;
		transition: .3s;
		position:relative;
		letter-spacing:0.2em;
		font-size:110%;
	}
	#nav_block li .nav_ac_bt{
		padding:0.7em 3.5em 0.5em 3.5em;
	}
	#nav_block li.nav_open_ac a,
	#nav_block li.nav_open_ac .nav_ac_bt{
		text-decoration: none;
		color:#fff;
	}
	#nav_block li a::before{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1;
		content: '';
		background:url(images/common/nav_on.png);
		transform-origin: left bottom;
		transform: scale(1, 0);
		transition: transform .3s;
	}
	#nav_block li.nav_open_ac a::before{
		background:url(images/common/nav_on.png);
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#nav_block li.nav_open_ac .nav_ac_bt:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#nav_block .child{
		position: absolute;
		top: 100%;
		left: 0%;
		width:100%;
		z-index:10;
		height:0px;
		overflow:hidden;
		-webkit-transition: all .6s;
		transition: all .6s;
	}
	.nav_open_ac .child{
	}
	#nav_block .child li{
		width:100%;
		border-top:1px solid #ccc;
	}
	#nav_block .child li a{
		color:#fff;
		font-size:8%;
		padding:0.5em;
		background:#006837;
	}
	#nav_block .child li a:hover{
		background:#029650;
	}
	#nav_block .child li a::before {
		display:none;
	}
	.nav_ac_bt_sp{
		display:none;
	}
	.sp_only{
		display:none;
	}
}
@media only screen and  ( max-width : 768px ) {
	#global-nav{
		background:#006837;
		position: fixed;
		top: -100%;
		left: 0em;
		width:100%;
		z-index:5;
		height:100%;
		-webkit-transition: all .6s;
		transition: all .6s;
		overflow:auto;
	}
	/* nav open action */
	.headnavi-open #global-nav{
		top: 60px;
	}
	#global-nav .inner_block{
		height:100%;
		max-width:300px;
		padding:5%;
	}
	#nav_block li:first-child{
		border-top:1px solid #339966;
	}
	#nav_block li{
		border-bottom:1px solid #339966;
		width:100%;
	}
	#nav_block li a,
	#nav_block li .nav_ac_bt_sp{
		padding:1em;
		color:#fff;
	}
	.nav_ac_bt_sp{
		background:#028547;
	}
	.nav_ac_bt_sp:after{
		content: ' ▼';
	}
	.nav_ac .child {
		display:none;
	}
	.nav_ac .child li a:after{
		display:none;
	}
	.nav_ac .child li a{
		background:#00522b;
	}
	.nav_ac .child li{
		border-bottom:1px solid #006837;
	}
	.nav_ac .child li:last-child{
		border-bottom:none !important;
	}
	.nav_ac_bt{
		display:none !important;
	}
	.pc_only{
		display:none;
	}

}

/* ************************************************ 
 *	
 *	PANKUZU
 *	
 * ************************************************ */
.pankuzu{
	font-weight:normal;
	font-size:70%;
	margin-bottom:3em;
	padding:10px 0px;
	background:#fff;
	position: relative;
}
.pankuzu:before{
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0px;
	border-top:1px solid #ccc;
	width:100%;
}
.pankuzu:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 3px;
	left: 0px;
	border-top:1px solid #ccc;
	width:100%;
}
@media only screen and  ( max-width : 1000px ) {
	.pankuzu .inner_block{
		width:100%;
	}
}
.pankuzu_list li{
	display:inline-block;
	position: relative;
	white-space: nowrap
}
.pankuzu_list li{
	position: relative;
	height: 30px;
	line-height: 30px;
	padding:0px 10px 0px 20px;
}

.pankuzu_list li:first-child{
	background:#9f9b89;
}
.pankuzu_list li:first-child a{
	color:#fff;

}
.pankuzu_list li:before,
.pankuzu_list li:after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	border-top: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 15px solid transparent;
}

.pankuzu_list li:before{
	right: -30px;
	border-left: 15px solid #9f9b89;
}
.pankuzu_list li:after{
	right: -29px;
	border-left: 15px solid #fff;
}

.pankuzu_list li:first-child:before{
	right: -30px;
	border-left: 15px solid #9f9b89;
}
.pankuzu_list li:first-child:after{
	border:none;
}
.pankuzu_list li:last-child,
.pankuzu_list li:last-child:before,
.pankuzu_list li:last-child:after{
 border:none;

}



/* ******************************************************************************** 
 *	
 *	ページ共通CSS
 *	
 * ******************************************************************************** */
.contents_css section {
	margin-bottom:3em;
}
@media only screen and  ( max-width : 768px ) {
	.contents_css section {
		margin-bottom:2em;
	}
}

.contents_css p{
	margin-bottom:1em;
	letter-spacing:0em;
	line-height:180%;
}

.contents_css h2{
	position: relative;
	text-align: center;
	padding:0em 0em 0.5em 0em;
	margin-bottom:0.5em;
	color:#006837;
}
.contents_css h2:before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 45%;
	width: 10%;
	border-top: 4px solid #006837;
}
.contents_css h3,
.single_box .entry-title h3{
	background: url(images/common/h3_bg.png) left bottom repeat-x;
	color:#036535;
	position: relative;
	padding:1em 1em 1em 70px;
	margin-bottom:1em;
}

.contents_css h3:before,
.single_box .entry-title h3:before{
	content: " ";
	display:block;
	position: absolute;
	left: 0px;
	top: 50%;
	width: 60px;
	height: 54px;
	background: url(images/common/h3_bg_l.png) 0 0 no-repeat;
	-moz-background-size:60px 54px;
	background-size:60px 54px;
	margin-top:-27px;
}
@media only screen and  ( max-width : 768px ) {
	.contents_css h3,
	.single_box .entry-title h3{
		padding:0.5em 1em 0.5em 55px;
	}
	.contents_css h3:before,
	.single_box .entry-title h3:before{
		width: 40px;
		height: 36px;
		background: url(images/common/h3_bg_l.png) 0 0 no-repeat;
		-moz-background-size:40px 36px;
		background-size:40px 36px;
		margin-top:-17px;
	}
}
.contents_css h4{
	background: url(images/common/h4_bg.png) left bottom repeat-x;
	color:#c46023;
	position: relative;
	padding:0.5em 0em;
	margin-bottom:1em;
}
.contents_css h5{
	border-bottom: 1px solid #ccc;
	margin-bottom:1em;
	padding-bottom:0.5em;
	color:#333;
}

.icon_list li{
	background:#fff url(images/common/icon.png) 0% 0.5em no-repeat;
	-moz-background-size:10px 10px;
	background-size:10px 10px;
	padding-left:1em;
}


/* ************************************************ 
 *	
 *	youtube
 *	
 * ************************************************ */
#youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
#youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/* ************************************************ 
 *	
 *	ページタイトル
 *	
 * ************************************************ */

#page_title{
	position: relative;
}
#page_title:after{
	content: "";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	width:100%;
	height:13px;
	background:url(images/slide/slide_bg.png);
	z-index:3;
}
#page_title:before{
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
	width:100%;
	height:13px;
	background:url(images/slide/slide_bg2.png);
	z-index:3;
}
#page_title .inner_block{
	padding:5em 0em 4em 0em;
}
#page_title .inner_block h2{
	color:#fff;
}
.pagetitle-about,
.pagetitle-contact,
.pagetitle-rice,
.pagetitle-form,
.pagetitle-privacy-policy{
	background:url(images/pagetitle/pagetitle-about.jpg) top center no-repeat;
	-moz-background-size:cover;
	background-size:cover;
}
.pagetitle-product{
	background:url(images/pagetitle/pagetitle-product.jpg) top center no-repeat;
	-moz-background-size:cover;
	background-size:cover;
}
.pagetitle-blog{
	background:url(images/pagetitle/pagetitle-blog.jpg) top center no-repeat;
	-moz-background-size:cover;
	background-size:cover;
}

/* ************************************************ 
 *	
 *  table
 *	
 * ************************************************ */
table{
	width:100%;
}
.scroll{
	overflow: auto;　
	white-space: nowrap;
}
.scroll::-webkit-scrollbar{
	 height: 5px;
}
.scroll::-webkit-scrollbar-track{
	 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
	 background: #BCBCBC;
}