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

/*------------------------------------------------------------------------
共通
------------------------------------------------------------------------*/
.desktop {
    display: none !important;
}
strong{
	font-weight: bold;
}
p.menu{
    width:40px;
    height: 40px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background:url(../img/menu2.svg) no-repeat;
    background-size:40px;
    position: absolute;
    top:10px;
    right: 10px;
}
p.menu a{
    display: block;
    width:100%;
    height: 100%;
    border: none;
}
a img:hover{
    opacity: 0.75;
}
body {
    background: #fff;
}
div.wideWrapper {
    width: 100%;
}
div.productBg{
    height: 100px;
    background-repeat: no-repeat;
    background-size:cover;
    background-position: center center
}
div.wrapper {
    margin: auto;
}
div.flex{
    margin:auto;
    /*display: flex;
    justify-content: space-between;*/
}
div.wrap{
    flex-wrap: wrap;
}
div.separate{
    margin:auto;
    /*background:url(../img/product4Bg.png) center top repeat-x;
    height: 400px;*/
}
div#headerWrapper{
    width:100%;
    height: 60px;
    background: #fff;
    z-index: 2;
}
div#header {
    height: 60px;
    margin: 0 auto;
    /*overflow: hidden;*/
    background: #fff;
}
div.position-fixed{
    position: fixed;
    top:0;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.4);
}
div#header h1 {
    width: 150px;
    height: 39px;
    padding: 15px 0 10px 24px;
}
ul#nav {
    width:100%;
    position: absolute;
    top:60px;
    display: none;
    z-index: 1000;
}
ul#nav li {
    /*height: 40px;*/
    line-height: 40px;
    text-align: left;
    position: relative;
    background:#fff;
    border-bottom:1px solid #45babd;
	padding-left:10px;
}
ul#nav li.plus{
	background:url("../img/iconPlus.svg") right 10px top 12.5px no-repeat #fff;
	background-size:15px;
}
ul#nav li.minus{
	background:url("../img/iconMinus.svg") right 10px top 12.5px no-repeat #fff;
	background-size:15px;
}
ul#nav li a:hover, ul#nav li.active a {
}
ul#nav li.close{
	text-align: center;
	padding:0;
}
ul#nav li a {
    display: block;
    width: 100%;
    height: 100%;
}
ul.child{
    display: none;
    position: static !important;
    border-top:1px solid #45babd;
	font-size:14px;
}
ul.child li{
	line-height: 30px !important;
}
ul.child li a{
    background-image:none !important;
}
ul.child li:hover,
ul.child li a:hover{
    background-color:#45babd;
    background-image: none !important;
}
ul.child li a{
    display: block;
    width:100%;
    height: 100%;
    color:#535151;
}
div.sliderWrapper {
    width: 100%;
    height: calc(100vh - 60px);
    overflow: hidden;
    position: relative;
}
div.sliderWrapper div {
    width: 100%;
    height: 100%;
}
div.sliderWrapper div img {
    object-fit: cover !important;
}
div.slideChild{
    width:50vw;
    height: 100% !important;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
    overflow: hidden;
}
div.slideChild h2{
    color:#fff;
    font-size:24px;
    text-align: center;
    font-weight: bold;
    margin-top:50px;
    text-shadow: 2px 2px 2px #000;
}
div.slideChild p.sub{
    color:#fff;
    font-size: 18px;
    text-align: center;
    text-shadow: 2px 2px 2px #000;
}
div.slideChild p.productMore{
    background:#66bec6;
    width:150px;
    height: 45px;
    text-align: center;
    line-height: 45px;
    position: absolute;
    left:0;
    right: 0;
    bottom:60px;
    margin:auto;
    border-radius: 4px;
}
div.slideChild p.productMore a{
    color:#fff;
    display: block;
    width:100%;
    height: 100%;
    border: none;
}
div.slideChild p.productMore:hover{
    background:#24656b;
}
div.slideChild img{
    height: 150px;
    width: auto;
    position: absolute;
    top:0;
    right:0;
    left:0;
    bottom:0;
    margin:auto;
}
div.slide{
    background-position: center center;
    background-size: cover;
    position: relative;
}
.slide1 {
    background-image: url(../img/slider001.jpg);
}
.slide2 {
    background-image: url(../img/slider002.jpg);
}
.slide3 {
    background-image: url(../img/slider003.jpg);
}
.slide4 {
    background-image: url(../img/slider004.jpg);
}
.slide5 {
    background-image: url(../img/slider005.jpg);
}
.slide6 {
    background-image: url(http://dummyimage.com/1950x1195/ed1e79);
}
button.slick-prev {
    background: url(../img/icon_arrow01_prev_1.svg) no-repeat;
    background-size: 64px;
    left: 0;
}
button.slick-prev:hover {
    background-image: url(../img/icon_arrow01_prev_0.svg) !important;
}
button.slick-next {
    background: url(../img/icon_arrow01_next_1.svg) no-repeat;
    background-size: 64px;
    right: 0;
}
button.slick-next:hover {
    background-image: url(../img/icon_arrow01_next_0.svg) !important;
}
button.slick-arrow {
    text-indent: -9999px;
    position: absolute;
    width: 64px;
    height: 64px;
    top: calc((100vh - 78px) / 2);
    z-index: 1;
    border: none;
    cursor: pointer;
}
ul.slick-dots {
    width: 100%;
    height: 20px;
    padding: 0;
    text-align: center;
    overflow: hidden;
    position: absolute;
    bottom: 20px;
}
ul.slick-dots li {
    text-indent: -9999px;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #666;
    border-radius: 10px;
    margin: 5px;
}
li.slick-active {
    background-color: #fff !important;
}
div.productBox4{
    text-align: center;
    width:calc(100% - 20px);
    /*height: 310px;*/
    position: relative;
    background:#dfdfdf;
    margin:10px;
    overflow: hidden;
}
div.productBox4 img{
    margin:auto;
}
div.productBox4 h3{
    text-align: center;
    margin-top:10px;
    font-size: 18px;
}
div.newsTitle{
    padding-top:10px;
    position: relative;
    border-top: 1px solid #9d9c9c;
}
div.newsTitle h2{
    font-size:20px;
    text-indent: 10px;
}
div.newsTitle p.subTitle{
    font-size:14px;
    color:#45babd;
    text-indent: 10px;
}
div.newsTitle p.newsMore{
    position: absolute;
    width:100px;
    background:url(../img/list01.png) right center no-repeat;
    right:20px;
}
ul.news{
    margin:10px;
    margin-top:30px;
    border-top:1px solid #c9c6c6;
}
ul.news li{
    padding-top:1em;
    padding-bottom:1em;
    border-bottom:1px solid #c9c6c6;
    overflow: hidden;
}
ul.news li span.date{
    color:#45babd;
    font-size: 14px;
    display: inline-block;
    padding-left:10px;
    width:90px;
    float: left;
}
ul.news li a{
    width:calc(100% - 100px);
    float: right;
}
div.narrow{
    width:100%;
    margin:auto;
    overflow: hidden
}
div.about{
    margin:auto 10px;
    overflow: hidden
}
div.about p{
	margin-bottom: 20px;
}
div.about p.aboutImg{
	margin-bottom:30px;
}
div.about p.aboutImg img{
	width:100%;
}
div.about p.strong{
	font-size:24px;
	
}

div.gray{
    background:#d8d7d7;
    padding-top:20px;
    padding-bottom: 20px;
    margin-bottom:20px;
}
div.mobileFlex{
    display: flex;
    justify-content: space-around;
}
div.product3{
    width:calc((100% - 20px) / 2);
    border:1px solid #c9c6c6;
    margin:auto auto 5px;
    text-align: center;
    background:#fff;
    position: relative;
}
div.product3 img{
    width:100%;
}
div.product3 h3{
    position: absolute;
    color:#44babd;
    font-size:14px;
    height: 3em;
    right:0;
    left:0;
    bottom:0.5em;
}
p.product3More{
	margin:10px;
	background:#44babd;
	text-align: center;
}
p.product3More a{
	display: block;
	width:100%;
	height: 100%;
    color:#fff;
}
img.imgLeft{
    width:calc(100% - 20px);
    margin:10px;
}
img.imgRightTop,
img.imgRightBottom{
    width:calc(100% - 20px);
    margin:10px;
}
img.imgRightBottom{
    margin-top:20px;
}
div.productNavi{
}
div.productNavi div{
    margin:0 auto;
    position: relative;
}
div.productNavi h3{
    color:#2c2b2b;
    font-size:18px;
    line-height: 60px;
    margin-left:25px;
}
div.productNavi ul{
    width:100%;
	display: flex;
	justify-content: space-around;
	margin-top:10px;
}
div.productNavi ul li{
    line-height: 45px;
	background:#44babd;
	border-radius: 4px;
}
div.productNavi ul li a{
	background:#44babd;
	color:#fff;
	padding:0 5px;
}
div.productNavi p.pankuzu{
    background-color: #d8dcdb;
    line-height: 60px;
    padding-left:10px;
}
p.pankuzu span.title{
    display: inline-block;
}
p.pankuzu span.arrow{
    display: inline-block;
    width:15px;
    height: 10px;
    background:url(../img/pankuzuArrow.svg) center center no-repeat; 
    margin:0 10px;
}
p.pankuzu a{
    color:#373737;
}
p.pankuzu a:hover{
    color:#39bcc4;
}
ul.pankuzuYear{
    width:100%;
    background:none !important;
    display: flex;
    justify-content: space-around;
}
ul.pankuzuYear li{
    display: inline-block;
    background:none;
}

div.productBg h2{
    line-height: 100px;
    margin: 0 auto;
    font-size:24px;
    color:#fff;
    font-weight: bold;
    text-shadow: 2px 2px 2px #000;
    text-align: center;
}

div.productSlide{
    width:300px;
    height: 300px;
    margin:10px auto;
}
div.productSlide img{
    width:300px;
    height: 300px;
}
div.productSlideThumb{
    width:calc(100% - 10px);
    height: 80px;
    margin:10px 5px;
    display: flex !important;
    justify-content: space-around !important;
}
div.productSlideThumb img{
	width:50px !important;
	height: 50px !important;
    border:1px solid #ccc;
    margin:0 5px;
    cursor: pointer;
}
div.productSlideThumb img.slick-current,
div.productSlideThumb img:hover{
    border-color:#00a99d;
    border-color:#333;
}
div.productH3{
    border-bottom:1px solid #00a99d;
    margin-bottom:40px;
    margin-top:40px;
}
h3.product{
    font-size:20px;
    color:#323434;
    margin:auto;
    text-indent: 10px;
}
p.productDesc{
	margin:10px;
    padding:10px;
    background:#c9edef;
    text-align: justify;
    border-radius: 4px;
    line-height: 2em;
}
div.productTable table{
    margin:calc(100% - 20px);
	margin:10px;
    border-bottom:1px solid #c9c6c6;
}
div.productTable table tr td{
    border-top:1px solid #c9c6c6;
	padding:5px;
	width:calc(50% - 10px);
}
div.productTable table tr td:first-child{
	width:calc(50% - 10px);
}
div.productTable table tr td:last-child{
	width:calc(50% - 10px);
}

dl.product{
    margin:10px;
    overflow: hidden;
    border-bottom:1px solid #c9c6c6;
    background:url(../img/productDlBg.png) left top repeat-y;
}
dl.product dt{
    width:200px;
    padding-left:80px;
    padding-top:20px;
    padding-bottom: 20px;
    border-top:1px solid #c9c6c6;
    /*background:#f4f4f4;*/
    float: left;
    clear: both;
}
dl.product dd{
    width:540px;
    padding:20px 0 20px 80px;
    float: right;
    border-top:1px solid #c9c6c6;
}
div.photoSample{
    margin:10px;
}
div.photoSample img{
    width:calc(100% - 10px);
    height: auto;
    border:5px solid #fff;
    box-shadow:2px 2px 2px rgba(0,0,0,0.3);
    margin-bottom:10px;
}
p.toShop{
	margin: 10px;
    height: 45px;
    font-size: 18px;
    background:#55babd;
    border:1px solid #7a7878;
    border-radius: 4px;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    line-height: 45px;
    text-align: center;
}
p.toShop:hover{
    background:#24656b;
}
p.toShop a{
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
    color:#fff;
}
/*------------------------------------------------------------------------
main
------------------------------------------------------------------------*/
h3.newsYear{
    /*width:100%;*/
    /*height: 75px;*/
    /*line-height: 75px;*/
    border-bottom:1px solid #39bcc4;
    margin-bottom:20px;
    font-size:24px;
    color:#323434;
    font-weight: bold;
	padding:20px 10px;
}
h3.newsYear span{
    /*display: block;
    height: 75px;
    line-height: 75px;
    margin:0 auto;
    text-indent: 10px;*/
}
div.newsWrapper{
    width:calc(100% - 20px);
    margin:0 auto;
}
h4.newsMonth{
    width:100%;
    height: 40px;
    line-height: 40px;
    background:#c9edef;
    border-radius: 4px;
    text-indent: 15px;
    font-size: 18px;
    color:#323434;
    font-weight: bold;
    margin-bottom:10px;
}
p.newsDate{
    font-size: 16px;
    color:#323434;
    text-indent: 20px;
}
h5.newsTitle{
    color:#106365;
    font-size: 20px;
    font-weight: bold;
    padding-left:20px;
    border-bottom: 1px solid #e5e5e5;
}
div.newsBody{
    margin:10px;
}
div.newsBody img{
    display: block;
    width:100%;
    margin:10px auto;
}
div.prevnext{
    margin:10px auto;
    overflow: hidden;
}
div.prevnext p.prev{
    width:calc(50% - 15px);
    background:url(../img/arrowPrev.svg) left center no-repeat;
    background-size: 7px;
    padding-left:15px;
    float: left;
}
div.prevnext p.next{
    width:calc(50% - 15px);
    background:url(../img/arrowNext.svg) right center no-repeat;
    background-size: 7px;
    padding-right:15px;
    float: right;
    text-align: right;
}
div.youtube{
	width:calc(100% - 20px);
	margin:10px;
}
div.youtube iframe{
	width:100%;
}

dl.company{
	margin: 10px;
	line-height: 2em;
}
dl.company dt{
	padding:10px 0 5px;
	font-weight: bold;
}
dl.company dd{
	padding:5px 0 10px;
	margin-left:30px;
	border-bottom:1px solid #ccc;
}
div.mapWrapper{
	width:calc(100% - 20px);
	margin:10px;
	height: 250px;
}
div.mapWrapper iframe{
	width:100% !important;
	height: 250px;
}
/*------------------------------------------------------------------------
footer
------------------------------------------------------------------------*/
div.footer {
    background:#363839;
    border-bottom:1px solid #6f6969;
    padding-top:20px;
}
p.copy {
    width: 100%;
    font-size: 10px;
    color:#cbcbcc;
    line-height: 53px;
    text-align: center;
    border-top:5px solid #45babd;
    background:#282a2b;
}
p.footerCmt{
    margin-top:25px;
    font-size: 14px;
    color:#807d7d;
    text-align: center;
    margin-bottom: 15px;
}
ul.footer{
    width:100%;
    margin:30px auto;
    display: none;
}
ul.footer a{
    color:#b5afaf;
}
ul.footer li{
    border-right: 1px solid #b5afaf;
    line-height: 1em;
    padding:0 10px;
}
ul.footer li:last-child{
    border:none;
}
ul.footer a:hover{
    color:#44babd;
}
div.footer h2.logo{
    text-align: center;
}
div.footer h2.logo img{
    margin:auto;
}
p#totop {
    background: url(../img/totop.svg) center top no-repeat;
    background-size: 50px;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    position: fixed;
    bottom: 20px;
    right: 20px;
}
p#totop:hover {
    background: url(../img/totop2.svg) center top no-repeat;
    background-position: center bottom;
}
p#totop a {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}
