@charset "UTF-8";



.main_image{
	width: 100%;
	height: calc(100vh - 40px);
	margin: 0 auto;
	text-align: center;
	position: relative;
	background-color:#000000;
}
	
* {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
}

:root {
     --nav-height: 10vh;
     --nav-background: #ccc;
}

nav {
     display: flex;
     padding: 0 20px;
     align-items: center;
     width: 100%;
     height: var(--nav-height);
     background: #000756;
     color: #ffffff;
     position: fixed;
     z-index: 99999;
}

.logo h1 {
     font-size: 20px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 3px;
}



.menu {
     cursor: pointer;
     background: #000756;
     border: none;
     outline: none;
     display: none;
     color: #ffffff;
}

.menu .bar {
     width: 20px;
     height: 2px;
     background: #fff;
     border-radius: 5px;
     opacity: 1;
     visibility: visible;
     transition: 0.5s ease;
     transform-origin: left;
}

.menu .bar1 {
     margin-bottom: 5px;
}

.menu .bar3 {
     margin-top: 5px;
}

.menu.toggle .bar1 {
     transform-origin: left;
     transform: rotate(45deg);
}

.menu.toggle .bar2 {
     opacity: 0;
     visibility: hidden;
}

.menu.toggle .bar3 {
     transform-origin: left;
     transform: rotate(-45deg);
}


/* nav-links */

.nav-links {
     display: flex;
     height: var(--nav-height);
     align-items: center;
     margin-left: auto;
}



/* menu */

     .nav-links {
          flex-direction: column;
          position: fixed;
          top: 0;
          left: 100%;
          width: 300px;
          height: 100%;
          background: #000756;
          margin-top: var(--nav-height);
          transition: 0.5s ease-out;
     }
     .nav-links li {
          height: 5.1vh;
          line-height: 5.1vh;
          text-align: center;
          width: 100%;
          display: block;
          list-style: none;
          margin: 0 15px;
          display: inline-block;
     }
.nav-links li a {
     text-decoration: none;
     color: #d0d1df;
     position: relative;
		 font-weight:400;
}
#s{border-bottom:solid 1px #d0d1df;width: calc(100% - 80px);}


.nav-links_adress{
	width: calc(100% - 24px);
    text-align: center;
    margin: auto;
    /* line-height: 30px; */
    margin-top: 28px;
    padding: 20px;
    background-color: #ffffff;
    color: #2d2d2d;
    font-size: 3.2vw;
    line-height: 5.4vw;
	}
/*.nav-links li:nth-child(1) a{
	color:#ff0000;
	}*/

input[type="text"]:focus {
  outline: 0;
}
     .menu {
          display: block;
          margin-left: auto;
     }

     .menu.toggle + .nav-links {
          transform: translateX(-100%);
     }




.neve-main{
    position: relative;
}

.space_80{
	height: 88px;
	width:100%;
	height: var(--nav-height);
	}
#concept{
	width:100%;
	height:40vw;
	text-align: center;
	display: table;
	margin: 0 auto;
}
.concept_container{
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 87vh;
	background-color: #ffffff;
}
.concept_container p{
  margin: 16px 24px 0px 24px;
  font-size: 3.2vw;
  line-height: 5vw;
}
#concept-r{
   position: absolute;
   bottom: 17vh;
}
.pc{display:none;}






.section_title{
	
}

#product{
	width:100%;
	padding: 20px 8px 17vh 8px;
	background-color: #f3f3f3;
	color: #5e5e5e;
	overflow: hidden;
}
.product_container{
	width:100％;
  margin: 0 auto;
}
.section_title{
	text-align:center;
	font-size: 4.6vw;
	line-height: 7.6vh;
	font-weight: bold;
}
.section_subtitle{
	text-align:center;
	font-size: 1.9vw;
	position: relative;
	top: -5px;
	}
.section_detail{position: relative;overflow: hidden;padding-top: 20px;}
.product_list{
    width: 100%;
    display: inline-block;
}
.product_list li{
	width: calc((100% / 2) - 6px);
	float:left;
	margin: 10px 2px 14px 2px;
	margin-bottom: 8px;
	display: inline-block;
	}

.product_list li:nth-child(4n){
	padding-right: 0px;
}
.product_list li:nth-child(4n-3){
	margin-left: 0px;
}

.osusume_container p{
  font-size: 2.3vw;
  height: 14vw;
}
.osusume_title{
	width:100%;
	line-height: 7.6vw;
	font-size: 3.3vw;
}


/*===========
inview
===========*/
 .fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}



#quality{
  background-color: #000000;
  padding: 0px;
  width: 100%;
  padding: 20px 8px 12vh 8px;
  display: inline-block;
}

.quality_detail{
	width:100%;
	height:80vh;
	margin:0 auto;
	position: relative;
	}


.quality_left{
  width:100%;
  float:left;
  position: absolute;
 }
.quality_right{
	position: relative;
	float:right;
	width: 100%;
	height: 70vh;
	}
.quality_txt{
	position: relative;
	/* top: 50%; */
	/* bottom: 50%; */
	/* width: 600px; */
	height: 70vh;
	/* text-align: left; */
	display: table-cell;
	vertical-align: middle;
	/* font-size: 1.0vw; */
	/* line-height: 1.7vw; */
	padding: 24px;
	color: #ffffff;
	text-shadow: 1px 2px 2px #000000;
	font-size: 3.2vw;
	line-height: 5vw;
}


.p2{
   width: 208px;
   position: absolute;
   bottom: 7%;
   right: 19%;
   opacity: 0.5;
}
.p1{
   width: 82%;
   position:absolute;
   left: -5%;
   top: 2%;
   opacity: 0.6;
}
.p3{
   width: 86%;
   position:absolute;
   right: -24%;
   top: 33%;
   opacity: 0.5;
}











#news{
	width:100%;
	margin:auto;
	/* height: 600px; */
	text-align: center;
	display: table;
	margin: 0 auto;
	/*	background-image: url(http://localhost/wordpress/wp-content/uploads/2021/11/top_1_new.jpg);  
	background-size:  cover;             
	background-position: center center;*/
	/* width: calc(100% - 0px); */
	padding: 21px 8px 17vh 8px;
	background-color: #010010b5;
}

#news:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../img/top_1_sp.jpg)center no-repeat;
  background-size:cover;
/*  background-position: center 0px;*/
  background-position: center center;

}

.main_image_container{/*	display:inline-block;*//*	display: table-cell;*//*  vertical-align: middle;*/position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: calc(100% - 8px);max-width: 378px;}
.main_image_container img{
    width: 100%;
    margin-top: -2px;
    max-width: 300px;
}
.main_image_container h1{
    font-size: 4.8vw;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 1px 2px 11px #000000;
    line-height: 10.3vw;
}
@media screen and (min-width: 520px){
.main_image_container h1{
    font-size: 3.2vw;
}
	}
.main_image_container p{
    font-size: 1.8vw;
    color: #ffffff;
    line-height: 4.7vw;
    text-shadow: 1px 2px 2px #000000;
    border-top: solid 1px #ff0000;
}

.main_image a {
  padding-top: 70px;
  position: absolute;
  bottom: 30px;
  color: #ffffff;
  /* font-weight: bold; */
  font-size: 3.7vw;
  text-align: center;
  left: 0;
  right: 0;
}
.main_image a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}


.news_container{
	width: 100％;
  margin: 0 auto;
	}
.news_title{
	width:100%;
	text-align:center;
	font-size: 4.6vw;
	line-height: 7.6vh;
	font-weight: bold;
	color: #ffffff;
	}
#r_news {
	margin-top: 5px;
	height: 470px;/*スクロールの高さ*/
	width:calc(100% - 36px);
	overflow-y: scroll;
	margin: 0 auto;
	background-color: rgb(255 255 255 / 11%);
	padding: 14px;
}
.news_frame{
	position: relative;
	top:20px;
	width: calc(100% - 0px);
	padding: 0;
	margin: 0;
	color: #ffffff;
	}
.news_frame dt{
    font-size: 3.8vw;
}
.news_frame dd{
    margin-bottom: 14px;
    margin-top: 4px;
    font-size: 2.3vw;
    border-bottom: solid 1px #dfdfdf;
    padding-bottom: 8px;
}


#company{
	background-color: #ffffff;
	padding: 30px 0px;
	}
.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
.adress{
	width: calc(100% - 24px);
	text-align:center;
	margin:auto;
	line-height:30px;
	margin-top:30px;
	padding-bottom: 60px;
}

.call--red,
a.call--red {
  color: #fff;
  background-color: #bd0000;
  padding: 3px 9px;
}
.call--res:hover,
a.call--red:hover {
  color: #fff;
  background: #010010;
}
a.call--radius {
   border-radius: 1vh;
   position: relative;
   left: 8px;
}

.mail--blue,
a.mail--blue {
  color: #fff;
  background-color: #000424;
  padding: 3px 9px;
}
.mail--res:hover,
a.mail--blue:hover {
  color: #fff;
  background: #010010;
}
a.mail--radius {
   border-radius: 1vh;
   position: relative;
   left: 8px;
}

footer{
background-color: #000000;
} 
.footer{
    line-height: 4vw;
    font-size: 2.8vw;
    width: 100%;
}
.footer_container{
	width:100%;
	padding: 24px 0px 16px 0px;
	margin: auto;
	height: auto;
	display: table;
	}
.footer_container ul{
  width:100%;
}

.footer_container ul li{
 width: calc(50% - 6px);
 float:left;
 margin: 3px 3px;
}

.footer_container ul li img{
 	width:100%;
}


#page-top {
    position: fixed;
    bottom: 30px;
    right: 15px;
}
#page-top a {
    display: block;
    background-color:#030235;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding: 14px 16px;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
#page-top a:hover {
    display: block;
    background-color: #000000;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding:14px 16px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

.faq{
	position:fixed;
	right:0;
	bottom:-110px;
}