/**/
*{box-sizing:border-box;}

html{
height:100%;
width:100%;
font-size:10px;
overflow:auto;
position:relative;
}
body{
font-family: 'M PLUS 1p', 'YakuHanJP', 'Noto Sans JP', 'Meiryo', 'メイリオ', sans-serif;
font-style: normal;
font-weight: 400;
font-feature-settings:'palt';
height:100%;
width:100%;
background:#fff;
color:#303030;
line-height:1.5;
letter-spacing:0.03em;
position:relative;
}

.wrapper{position:relative;}

/*IEフォント調整*/
@media all and (-ms-high-contrast: none) {
	body{font-family: 'Meiryo', 'メイリオ', sans-serif;}
}

h1, .h1{font-size:2.4rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:25px;font-weight:normal;}
h2, .h2{font-size:2rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:25px;font-weight:normal;}
h3, .h3{font-size:1.6rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:25px;font-weight:normal;}
h4, .h4{font-size:1.5rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:15px;font-weight:normal;}
h5, .h5{font-size:1.4rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:15px;font-weight:normal;}
h6, .h6{font-size:1.4rem;padding-top:2em;padding-bottom:0em;margin-top:0;margin-bottom:15px;font-weight:normal;}
h3 + h4{padding-top:0;}

.title_font{font-family: 'Poppins', sans-serif;}
	
p{font-size:1.4rem;margin:0 0 1.5em;}
p.text_s{font-size:1.5rem;}
p.nomargin, ul.nomargin, ol.nomargin{margin-bottom:0;}
table{font-size:1.4rem;margin:0 0 2em;width:100%;border-collapse: collapse;}
table.basic th{background:#eee;font-weight: normal;}
table.basic th, table.basic td{
	vertical-align:top;
    border:1px solid #ccc;
    padding:0.5em 0.75em;
}

img{max-width:100%;}
img.wide{width:100%;}
img.image_noppading{vertical-align:top;}
.line_height0{line-height:0;}
.line_height1{line-height:1;}
ul,dl,dt,dd{margin:0;padding:0;}
ul li{font-size:1.4rem;list-style-type:none;}
ol{padding-left:3em;}
ol ol{padding-left:1em;padding-bottom:0.1em;}
ol li{font-size:1.4rem;margin-bottom:0.5em;}
button{cursor:pointer;}
ul.basic{padding-left:2.5em;padding-bottom:0.25em;}
ul.basic li{list-style-type:disc;margin-bottom:0.5em;}
ul.kome{padding-left:0.5em;padding-bottom:0.25em;}
ul.kome li{padding-left:1.5em;margin-bottom:0.5em;}
ul.kome li:before{
	content:'※';
	margin-left:-1.5em;
	margin-right:0.5em;
}
ol.kakko{margin-left: 3.5em; padding-left:0;}
ol ol.kakko{margin-left:1.5em;}

ol.kakko li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}

ol.kakko li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em;
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
ol.kakko ol li:before{
	content: "";
	counter-increment : section;
}
ol.iroha li{
	list-style-type: katakana-iroha;
	counter-increment : section;
}

a{
	text-decoration:none;
	color:#0000cd;
}
a.current{
	color:#333;
}
a:hover{color:#E74F17;}
.text_white a{color:#fff;}
a.underline{text-decoration:underline;}

.hidden{display:none;}
.fixed{
	position:fixed;
	top:0;left:0;
	width:100%;
	-webkit-transition: .0s;
	transition: .0s;
}

.fixed_content{padding-top:90px;}

.text_center{text-align:center;}
.text_left{text-align:left;}
.text_right{text-align:right;}
.alignright{text-align:right;}
.indent{padding-left:1em;text-indent: -1em;}
.all_indent{padding-left:1em;}
.head_indent{text-indent: 1em;}
.small{font-size:0.85em;}
.big{font-size:1.2em;}
.alert{color:#E74F17;}
.text_white{color:#fff;}
.text_black{color:#000;}
.text_blue{color:#0000fe;}

.bg_black{background:#272829;}
.bg_lightgray{background:#EFEFEF;}
.bg_gray{background:#e6e6e6;}
.bg_darkgray{background:#c9c9c9;}
.bg_orange{background:#e95504;}
.bg_white{background:#fff;}
.bg_lightblue{background:#a6cce3;}

hr.white{background:#fff;height:1px;border:none;margin:0;}

/* ページトップ */
#lz_pagetop {
    position: fixed;
    bottom: 10px;
    right: 0;
    font-size: 1.1rem;
	z-index:1;
	letter-spacing:0.01em;
	width:45px;
}
#lz_pagetop ul li{margin-bottom:5px;}
#lz_pagetop ul li img{width:45px;}
#lz_pagetop a{display:block;}
#lz_pagetop a.pagetop {
    background: rgba(0,0,0,0.3);
    text-decoration: none;
    color: #fff;
    width: 45px;
	height:45px;
    padding: 6px 0 7px 5px;
    text-align: center;
    display: block;
    border-radius: 25px 0 0 25px;
	font-size:2rem;
}
#lz_pagetop a.pagetop:hover {
    text-decoration: none;
    background: #999;
}


/* LZ Spacing class add */
.mt-0	{ margin-top: 0;}
.mt-xs	{ margin-top: 20px;}
.mt-md	{ margin-top: 40px;}
.mt-lg	{ margin-top: 80px;}
.mt-xl	{ margin-top: 160px;}
.mr-0	{ margin-right: 0;}
.mr-xs	{ margin-right: 5px;}
.mr-md	{ margin-right: 20px;}
.mr-lg	{ margin-right: 40px;}
.mr-xl	{ margin-right: 80px;}
.mb-0	{ margin-bottom: 0;}
.mb-1em	{ margin-bottom: 1em;}
.mb-xs	{ margin-bottom: 10px;}
.mb-s	{ margin-bottom: 20px;}
.mb-md	{ margin-bottom: 40px;}
.mb-lg	{ margin-bottom: 80px;}
.mb-xl	{ margin-bottom: 160px;}
.ml-0	{ margin-left: 0;}
.ml-xs	{ margin-left: 10px;}
.ml-md	{ margin-left: 20px;}
.ml-lg	{ margin-left: 40px;}
.ml-xl	{ margin-left: 80px;}

.pt-0	{padding-top:0;}
.pt-xs10	{padding-top:10px;}
.pt-xs	{padding-top:20px;}
.pt-md	{padding-top:40px;}
.pt-lg	{padding-top:60px;}
.pt-xl	{padding-top:80px;}
.pb-0	{padding-bottom:0px;}
.pb-xs10	{padding-bottom:10px;}
.pb-xs	{padding-bottom:20px;}
.pb-md	{padding-bottom:40px;}
.pb-lg	{padding-bottom:60px;}
.pb-xl	{padding-bottom:80px;}

.letter-space-xs{letter-spacing:-0.01em;}

	
/*layout*/
.row{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
.row.reverse{flex-flow: row-reverse;}
.row.itemcenter{align-items:center;}
.row.start{justify-content:flex-start;}
.row.end{justify-content:flex-end;}
.row.center{justify-content:center;}
.row.flexend{align-items:flex-end;}
.row.wrap{flex-wrap:wrap;}

.block_center{
	display:flex;
	justify-content: center;
	align-items: center;
}


/*header*/
header{
	z-index:3;
	position:relative;
	background-color:#272829
	/* border-bottom:1px solid #ccc; */
}
header.header_home{
    border:none;
}
header h1{margin:0;padding:0;}
#header_logo a{line-height:0;}
.nav_float.fixed{
    position: fixed;
	top:0;
	left:0;
    width: auto;
    min-width: 100%;
	min-height:45px;
    -webkit-animation: .4s slideIn ease-in 1;
    animation: .4s slideIn ease-in 1;
	z-index:5;
}
.nav_float.fixed h1{display: block;}
@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}
@keyframes slideIn {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

    /*sp effect*/
header{z-index:4;height:60px;padding:0px 0px 0;}
#header_logo{padding:15px 0 0 10px;}
#header_logo img {width:90px;}
header h1 {margin:0;padding:0;}
header a{color:#595757;}
header.fixed{}

	/*menu*/
.sp_nav_main{
	margin:0;
	padding:0;
}
.header_btn{
	position:relative;
	width:100%;
	z-index:2;
}
.header_btn .sp_btn_menu_oc{
	position:absolute;
	right:0px;
	top:0px;
	width:60px;
	height:60px;
	display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#header_menu_bg{
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    z-index:2;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.6);
}
#header_menu{
    position: fixed;
    display: block;
    top: 60px;
    right: -100%;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: #272829;
    transition: all .5s;
    transform: translateX(40%);
    opacity: 0;
	border-bottom:none;
}
#header_menu.active{
	right:0;
	opacity:1;
}
#header_menu ul li{
	position:relative;
	border-bottom: 1px dotted #ccc;
}
#header_menu ul li.last_sp{
	padding-bottom:90px;
}
#header_menu a{
	font-size:1.5rem;
	display:block;
	padding:12px 0px 12px 20px;
	position:relative;
	color:#D5D5D5;
}
#header_menu a:hover{color:#fff;}


	/*menu*/
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 24px;
  height: 24px;
  display:block;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #D5D5D5;
  border-radius: 1.5px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 8px;
}
.menu-trigger span:nth-of-type(3) {
  top: 16px;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}




/*footer*/
.footer_banner{padding:20px 15px 10px;}
.footer_banner .footer_banner_image{
	line-height:0;
	width:49%;
	margin-bottom:10px;
}

footer{
    background:#535353;
}
footer .footer_inner{
	padding:20px 0 10px;
}
footer ul{margin:0;padding:0;}
footer .footer_menu{
	padding:10px 0px 10px;
}
footer .footer_menu ul{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
}
footer .footer_menu ul li{
    width:45%;
    margin:0 1%;
    font-size:1.2rem;
	text-align:center;
}
footer .footer_menu ul li, footer .footer_menu ul li a{
    color:#E8E8E8;
}
footer .footer_menu ul li a{
    display: block;
    padding:5px 5px 5px;
}
footer .footer_menu ul li a:hover{text-decoration:underline;}

#footer_copyright{
	padding:10px 0 10px;
	font-size:1.2rem;
	color:#E8E8E8;
	text-align:center;
}


/*form*/
button{border:none;}
.hissu, span.hissu{color:#004B6C;font-weight:bold;margin-left:0px;font-size:1.2rem;}
.error{margin:5px 0 0 0;padding:0;line-height:1;display:none;}


form input[type="text"],
form input[type="tel"],
form input[type="email"],
form select,
form textarea{
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
max-width:100%;
font-size:1.4rem;
line-height: 1;
padding: .4em .8em .3em .8em;
border:none;
border-radius:5px;
}


form input[type="text"]:disabled,
form input[type="tel"]:disabled,
form input[type="email"]:disabled,
form select:disabled,
form textarea:disabled{
	background:#999
}


form .noedit {
readOnly:true;
border:0px white solid ;
background:transparent;
}

form textarea{
height:10em;
}



form input{vertical-align:middle;}


/* NGなら赤くする */
form input:focus:invalid {
  border : tomato 2px solid;
}
form input:focus:invalid + .error {
  display:block;
}
/* 操作中、入力値が正しい場合は、不正エラーを消す */
form input:focus:valid + .error .invalid {
  display : none;
}
/* OKなら、その他のテキストボックス以外を緑にする */
form input:valid:not(:last-child) {

}



.button {
    display: block;
    width: 60%;
    height:auto;
    font-size:1.4rem;
    padding:8px 0px 7px;
    text-align:center;
    border:#000 1px solid;
    border-radius: 20px;
    position: relative;
    z-index: 2;
    color: #000;
    overflow: hidden;
}
.button.white{
    border:#fff 1px solid;
    color: #fff;
}

.button.square{
	border-radius:0px;
}
.button.text_small{font-size:0.8em;}
.button:hover {
    color:#fff;
}
.button::after {
    top:0;
    left: -100%;
    width: 100%;
    height: 100%;
}
.button::before,
.button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button,
.button::before,
.button::after {
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button:hover::after,
.button.current {
    left: 0;
    background-color:#000;
    color:#fff;
}
a.button:hover{color:#fff;}

.button.white:hover::after,
.button.white.current {
    left: 0;
    background-color:#fff;
    color:#000;
}
a.button.white:hover{color:#000;}

.button.center{margin-left:auto;margin-right: auto;}

.submenu .button {
	width:100%;
	border-radius:0;
}



/*youtube*/
.youtube_bg{
  padding:40px 0 40px;
}
.youtube{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}



/*slick slide*/
.slide_descript{
    opacity: 0;
    transition: 3s;
}
.slick-initialized{
    opacity: 1
}
.slide_thumb{
	display:flex;
	flex-wrap:wrap;
}
.slide_thumb .slide_thumb_item {
	width:25%;
	line-height:0;
	position: relative;
}
.slide_thumb .slide_thumb_item::after {
  content: '';
  background-color: rgba(0, 0, 0, 0.0);
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition:all .3s;
}
.slide_thumb .slide_thumb_item.thumbnail-current::after{
	opacity:0;
}
.slide_thumb .slide_thumb_item.thumbnail-current{
}

.top_kv_block .slick-dots {bottom:-35px;}


/*top*/

section.nopadding{padding-bottom:0px;}
h2.title{
  font-size:3rem;
  position: relative;
  padding: 1.5rem;
  text-align: center;
  color:#707070;
}
h2.title:before {
  position: absolute;
  bottom: 0px;
  left: calc(50% - 30px);
  width: 60px;
  height: 10px;
  content: '';
  border-radius: 5px;
  background: #535353;
  opacity: 0.1;
}

/*
.top_kv_block{
	background-image:url(../images/top/kv_sp.png);
	background-repeat:no-repeat;
	background-size:cover;
    background-position:center;
    margin-top:-60px;
}
*/

.top_kv_block{
	margin-top:-60px;
	position:relative;
	margin-bottom:40px;
}

.news_box{
    position: relative;
    border-bottom:1px solid #bababa;
    padding:11px 0 0px 0px;
}
.news_box.border_bottom{
    border-bottom:1px solid #bababa;
    padding:11px 0 0px 0px;
}
.news_box h3{
    font-size:1.6rem;
    margin:0em 0 0em;
    padding:0;
    color:#303030;
}

.news_box p{
    color:#303030;
	margin-bottom:0.8em;
}
.news_box a:hover{display:block; opacity:.6;}

.news_box.hightlight p{
    font-size:1.6rem;
	font-weight:bold;
}


.top_eco_block{
	background:url(../images/environment/kv_pc.png) no-repeat;
	background-size:cover;
    background-position:center;
}

.google_map{
	width:100%;
	height:50vh;
}

/*prodct*/
.product_box_outer{
	display:flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}
.product_box_outer.halign_center{
	justify-content:center;
}
.product_box{
    position: relative;
    padding:11px 0 0px 0px;
	transition: all .4s;
	width:48%;
	margin-bottom:10px;
	margin-right:4%;
}
.product_box_outer .product_box:nth-child(2n){margin-right:0;}

.product_box h3{
    font-size:1.6rem;
    margin:0.5em 0 0em;
    padding:0;
    color:#303030;
}

.product_box p{
    color:#303030;
	margin-bottom:0.8em;
}
.product_box a:hover{display:block; opacity:.6; transition: all .4s;}

	/*product detail*/
.product_comment_box{
	margin-bottom:40px;
}
.product_comment_box h3{
    font-size:2rem;
    margin:0.5em 0 0.5em;
    padding:0;
    color:#303030;
}
.product_comment_box p{
    color:#303030;
	margin-bottom:0.8em;
}

.product_gallery{
	display:flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}
.product_gallery .image{
	width:48%;
	margin-bottom:10px;
	margin-right:4%;
}
.product_gallery .image:nth-child(2n){margin-right:0;}

.table_spec table tbody tr{border-bottom:1px solid #E8E8E8}
.table_spec table tbody tr td{
	padding:1.2em 1.5em 0.8em;
	width:100%;
	display:block;
}
.table_spec table tbody tr td:nth-child(2){padding-top:0;}

/*information*/
.info_box{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
	align-items:start;
    position: relative;
	transition: all .4s;
}
.info_box.center{align-items:center;}
.info_box_l{width:30%;}
.info_box_l.image{padding-top:5px;}
.info_box_r{width:65%;}

.info_box h3{
    font-size:1.6rem;
    margin:0 0 0.2em 0;
    padding:0;
    color:#303030;
}

.info_box p{
	font-size:1.4rem;
    color:#303030;
	margin-bottom:0.8em;
}
.info_box a{
	position:absolute;
	width:100%;
	height:100%;
	z-index:2;
	display:block;
}
.info_box a:hover{ opacity:.3; transition: all .4s; background-color:#fff;}


/*2nd page common*/
#second_kv_block_common{background-image:url(../images/common/kv_common.png);}

.second_kv_block{
	position:relative;
	height:50vh;
	background-repeat:no-repeat;
	background-size:cover;
    background-position:center;
}

.second_kv_block_title{
	position:absolute;
	bottom:0;left:0;
	width:100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.6) 100%);
}
.second_kv_block_title h1{
	margin-top:0;
	margin-bottom:0;
	padding:30px 15px 15px;
	color:#fff;
}
.second_kv_block h1 span{
	display:block;
	font-size:0.6em;
}
.second_kv_block h1.black{color:#000;}

.submenu{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:20px 0 15px;
}
.submenu h1{
	font-size:2rem;
	padding:0;
	margin:0 0 0 10px;
}
.submenu h1 span{
	display:block;
	font-size:0.8rem;
	line-height:1;
}
.submenu ul{
	display:flex;
	flex-wrap:wrap;
}
.submenu ul li a{
	display:block;
	border:1px solid #535353;
	padding:0.5em 1em;
	color:#303030;
	margin:0 0.5em;
	transition: all .4s;
}
.submenu ul li a:hover{
	background:#535353;
	color:#ccc;
}

div.hr{padding:60px 0;}
div.hr span{
	background-color:#bababa;
	height:1px;
	display:block;
}
