@charset "utf-8";

/*****************************************************************

	SP 共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */

body{
}

img{
	max-width: 100%;
}

.tel_dis{ cursor: pointer; }

.sp_i{ display: inline; }
.sp_b{ display: block; }

.pc_i{ display: none; }
.pc_b{ display: none; }

.pc_ib{ display: none; }
.sp_ib{ display: inline-block; *display: inline; zoom: 1; }

#sub ul a,
.link{
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

#sub ul a::after,
.link::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
}

/*============================================================
	Page / column
============================================================*/
#page{
	min-width: 320px;
	overflow: hidden;
}

.inner{
}


/*============================================================
	TopContentsStyle
============================================================*/
#page{
	padding-top: 70px;
}

/*============================================================
	Header
============================================================*/
#page_header{
	text-align: center;
	padding:  5px 0;
}

#page_header .inner{
	justify-content:space-between;
}
#page_header h1{
	width: 60px;
	margin-right: 0;
}
#page_header .main_menu{
	display: none;
}
#page_header .sub_menu{
	display: none;
}
.sp_menu{
	display: block;
	position: fixed;
	width: 100%;
	top: 70px;
	left: 100%;
	bottom: 0;
	overflow: auto;
	background: rgba(255,255,255,0.70);
	z-index: 99;
	transition: 0.5s opacity;
	opacity: 0;
}
.sp_menu li{
	height: 100%;
	width: 100%;
	line-height: 1;
}
.sp_menu li img{
	height: 40px;
	display: block;
	margin:  auto;
}
.sp_menu a{
	text-align: center;
	display: block;
	text-decoration: none;
	padding:  20px 0;
}
.sp_menu small{
	display: block;
	text-align: center;
	margin-top: 5px;
	font-size: 12px;	
}
.menu_on .sp_menu{
	opacity: 1;
	left: 0;
}
.sp_menu .sub_menu{
	text-align: center;
	padding: 2em 0;
}
.sp_menu .sub_menu li{
	display: inline-block;
	height: auto;
	width: 30px;
	line-height: 1;
	margin:  0 2px;
}
.sp_menu .sub_menu li img{
	height: auto;
	display: inline-block;
}
.sp_menu .sub_menu a{
	padding: 0;
}
/*============================================================
	Nav
============================================================*/
 
.menu_on{
	overflow: hidden;
}

 .btn_sp_menu{
	display: block;
	width: 40px;
	height: 40px;
	background: url("../images/btn_menu.png") no-repeat center center;
	-moz-background-size: 100% auto;
	-webkit-background-size: 100% auto;
	-o-background-size: 100% auto;
	background-size: 100% auto;

}

.menu_on  .btn_sp_menu{
	background-image: url(../images/btn_menu_on.png)
}
#menu ul{
	overflow: hidden;
	max-height: 0;
	-moz-transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
	transition: 0.5s ease;
}
.menu_on #menu ul{
max-height: 1000px;
}

/*============================================================
	TOP
============================================================*/

#main p, #main ul, #main dl, #main ol, #main blockquote, #main pre, #main td, #main th{
	font-size: 88%;
}

/* ===== news_list ===== */
#main .sec_news{
	margin: 35px 0;
}

#main .head_l img{
	height: 55px;
}

/* ===== about ===== */
#main .head_m{
	text-align: center;
	margin-bottom: 30px;
}
#main .head_m img{
	height: 40px;
}
#main .head_m .v{
	height: 55px;
}
#main .sec_story,
#main .sec_about{
	padding: 35px 0 40px 0;
	background-position: center top;
	background-size: 150% 100%;
}
#main .sec_story{
	background-position: center top;
	background-size: 200% 100%;
	margin-top: 10px;
	padding-bottom: 75px;
}
#main .sec_hana h3,
#main .sec_about h3{
	font-size: 125%;
}
#main .sec_story ul{
	display: flex;
	flex-wrap: wrap;
	justify-content:  center;
	font-size: 88%;
}
#main .sec_story ul img{
	margin-bottom: 10px;
}
#main .sec_story li{
	width: 50%;
	margin-bottom: 2em;
}
/* ===== sec_product ===== */
#main .sec_product{
	padding: 30px 0 50px 0;
}
#main .sec_product_1{
	margin-top: 20px;
	padding: 20px 0 20px 0;
}
#main .sec_product_2{
	padding: 20px 0 20px 0;
}
#main .head_s{
	text-align: center;
	margin-bottom: 15px;
}
#main .head_s img{
	height: 75px;
}
#main .grp{
	position: relative;
	padding: 0 10px;
}
#main .grp h4,
#main .grp p{
	text-align: center;
	max-width: 800px;
	width: 100%;
	margin: auto;
}
#main .grp h4{
	font-size: 125%;
	margin: 1.5em auto;
	color: #5c6e1c;
}
#main .grp::after{
	display: none;
	content: "";
	position: absolute;
	top:  0;
	left:  0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: no-repeat center top;
	background-size:  auto 100%;
}

#main .sec_product_1 .grp::after{
}
#main .sec_product_2 .grp.grp::after{
}
/* ===== sec_items ===== */
#main .sec_items{
	padding: 30px 0;
}
#main .sec_items ul{
}
#main .sec_items li{
	margin: 0;
	width: 50%;
}
/* ===== sec_hana ===== */
#main .sec_hana{
	padding: 30px 0;
}
#main .sec_hana h2{
	text-align: center;
	margin-bottom: 20px;
}
#main .sec_hana h2 img{
	height: 50px;
}
#main .sec_hana ul{
	display: block;
}
#main .sec_hana li{
	width: 100%;
	margin-top:  2em;
}
#main .sec_hana ul img{
	width: 100%;
	margin-bottom: 20px;
}

#main .sec_video{
	padding: 30px 0;
}
#main .mov_list {
	display: block;
	
}
#main .mov_list li{
	width: 100%;
	margin-bottom: 2em;
	
}
/*============================================================
	Footer
============================================================*/
#page_footer{
	width: 100%;
	position: relative;
	text-align: center;
	padding: 10px 0 50px 0;
}
#page_footer p{
	margin-bottom: 15px;
	text-align: center
}
#page_footer img{
	height: 20px;
	margin-right: 10px;
}
.pagetop{
	width: 100px;
	bottom: 10px;
	right: 10px;
}
