@charset "utf-8";

/* Box Sizing */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* Text align */
.text-center {
    text-align:center;
}

.text-right {
    text-align:right;
}

.text-left {
    text-align:left;
}

/* Width */
.width-100per {
    width:100%;
}

/* float */
.float-right {
    float:right;
}
.float-left {
    float:left;
}

/* Border */
.border-top-none {
    border-top:none!important;
}

/* flex */
.flex {
    display: flex;
}
.inline-flex{
    display:inline-flex;
}
.flex-wrap-wrap {
    flex-wrap:wrap;
}
ul.flex,
ul.inline-flex {
    list-style: none;
    padding-left:0px;
}

/* flex direction */
.flex-direction-column {
    flex-direction:column;
}
.flex-direction-row {
    flex-direction:row;
}
.flex-direction-row-rev {
    flex-direction:row-reverse;
}


/* flex justfy content  */
.flex-justify-content-space-between {
    justify-content: space-between;    
}

/* clear float */
.clearboth {
    clear: both;
}
.clearfix::after{
    content: "";
    display: block;
    clear: both;
}

/* Display */
.inline-block {
    display: inline-block;
}
.disp-block {
    display:block;
}

/* Position */
.position-fixed {
    position:fixed;
}
.position-relative {
    position: relative;;
}
/* Centering */
.center-block {
    top: 50%;
    left: 50%;
    position: relative;
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.horizontal-center-block {
    left: 50%;
    position: relative;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.vertical-center-block {
    top: 50%;
    position: relative;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* Overflow */
.overflow-hidden {
    overflow: hidden;
}

/* Font Weight */
.font-weight-normal {
    font-weight:normal;
}
.font-weight-bold {
    font-weight:bold;
}


html {
	height:100%;
}

body {
    width: 100%;
	height:100%;
	color: #333;
	font-family: "Sawarabi Mincho";
    font-size:14px;
	line-height:2;
    margin: 0 auto;
    background:#fff;
    overflow-x:hidden;
}

a:link,
a:visited,
a:hover {
	/* color: #D02927; */
    color:rgb(24, 179, 88);
}
a:link {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}

h2 {
    position: relative;
    font-family: "Sawarabi Mincho";
    font-size: 35px;
    line-height: .9em;
    font-weight: normal;
    margin-top: 1.8em;
    margin-bottom: 45px;
    text-align: center;
}
h2 > span {
    font-size: 20px;
}
/*
h2:after {
    position: absolute;
    content: '';
    width: 40px;
    height: 3px;
    left: 50%;
    margin: 10px 0 0 -20px;
    display: block;
    background: #AD0B0B;
    background:rgb(24, 179, 88);
}
*/

h3{
	font-size:28px;
    /* color:#D02927; */
    color:rgb(24, 179, 88);
}

h3 span{
	font-size:20px;
}

h4 {
    position: relative;
    border-bottom: 2px solid #DDDDDD;
    margin-bottom: 10px;
    font-family: "Sawarabi Mincho";
    font-size: 18px;
    text-align:left;
}
h4 span {
    float: right;
    font-size: 14px;
    color: #aaa;
    padding-top: 10px;
}
h4::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 2px;
    /* background-color: #AD0B0B; */
    background-color:rgb(24, 179, 88);
}

h5 {
	color: #333;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.3;
    padding: 0 0 3px 0px;
    margin-top:0.5em;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
	_zoom: 1;
	overflow: hidden;
}

.maxWidth800 {
    max-width:800px;
}

.maxWidth960 {
    max-width:960px;
}

.maxWidth1024 {
    max-width:1024px;
}

/* margin */
.margin-top-3_5em {
    margin-top:3.5em;
}

/* Header Navi */
nav > ul > li > a {
    padding : 0.5em 1.5em;
    color: #333!important;
    font-weight: 400;
    display: block;
    transition: opacity 0.5s;
    -webkit-transition: opacity 0.5s;
    line-height: 1em;
    text-align: center;
    border-left: lightgray 1px solid;
}
nav > ul > li:last-child > a {
    border-right: lightgray 1px solid;
}
nav > ul > li > a > span {
    display: block;
    /* color: #D02927; */
    color:rgb(24, 179, 88);
    font-size: 10px;
}


header {
    padding-left:5px;
    position: relative;
}
/* header > #navDiv {
    z-index: -1;
} */

header > nav {
    float: right;
    margin-right:5px;
    margin-top:0.8em;
    padding-bottom:0em;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

header > nav > a {
    width: 118px;
    /* min-height:3em; */
    padding:0.1em 0.4em;
    margin-right:0.3em;
    /* display: inline-block; */
    color:#4d4d4d;
    font-weight: bold;
    border:solid darkgray 1px;
}

header > nav > a.current-menu {
	background-color: #F5F5F5;
	border: solid 1px #D5D5D5;
	text-decoration: none;
	cursor: default;
}
#header-log-img {
    margin-top: 5px;
}


nav a:hover{
    /*
    background-color: lightgreen;
    color:black;
    */
    opacity: 0.55;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

/* Toggle(Button) */
#navToggleDiv {
    /* background: black; */
    right: 0;
    height: 100%;
    position: absolute;
    top: 0;    
}

#navToggle {
	display: none;
	position:relative;
	/* right:13px; */
    top:50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 50px;
    height: 45px;
    cursor:pointer;
    padding: 10px;
}
#navToggle div {position:relative}
#navToggle span {
	display:block;
	position:absolute;/*to div*/
	width:100%;
	/* border-bottom:solid 3px #999; */
	border-bottom:solid 3px #FFFFFF;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#navToggle span:nth-child(1) {top:0}
#navToggle span:nth-child(2) {top:11px}
#navToggle span:nth-child(3) {top:22px}

#page {
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}

/* Side Menu for Smart Phone */
#sideMenuDiv {
    display:none;
}
#sideMenu > li {
    list-style-image:url(../img/side-menu-list-type.svg);
    margin-right:30px;
}

/* footer  */
footer {
    /* background: #222;     */
    color: #fff;
    font-size: 0.8em;
    padding-bottom:13px;
}
footer > div {
    width:100%;
    max-width:1024px;
}

footer #footer-menu {
    border-bottom: 1px #fff solid;    
    padding: 20px 0 15px 25px;
    margin-bottom: 25px;
}
footer #footer-menu > li {
    list-style-image:url(../img/footer/footer-menu-list-type.svg);
    margin-right:30px;
}
footer #footer-menu > li:last-child {
    margin-right:10px;
}
footer #footer-menu > li > a {
    color: #fff;
}

#footer-contact {
    height: 330px;
    margin-top: 25px;
}
#footer-contact > .overflow-hidden {
    position: absolute;
    height: 330px;
    width: 100%;
}
#footer-contact > .overflow-hidden > div {
    background:url(../img/footer/contact_bg.png) no-repeat 50% 50%;
    background-size:cover;
    display:block;
    padding-bottom: 10px;
    transition: all 0.4s;
    height:100%;
}
#footer-contact:hover > .overflow-hidden > div {
    opacity: 0.8;
    transform: scale(1.04);
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}

.img-phone-number {
    max-width: 100%;
    width: 350px;
}

#page-title {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    -moz-background-size: cover;
    padding: 50px 25px 50px 25px;
    height: 230px;
}

#page-title h2 {
    float: left;
    font-size: 28px;
    margin:0;
    /* color: #D02927; */
    color:rgb(24, 179, 88);
    /* border-left: #D02927 solid 4px; */
    border-left: rgb(24, 179, 88) solid 4px;
    padding-left: 10px;
    height: 30px;
    line-height: 30px;
    font-weight:bold;
    text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
    /* -webkit-text-stroke: 2px #fff;     */
}

#page-title h2:after {
    content:none;
}

#pankuzu {
    /*
    float: right;
    margin: 8px 0 0;
    padding: 0 8px;
    font-size: 11px;
    color: #555;
    background-color: rgba(255,255,255,0.6);
    */
    display:none;
}

#pankuzu li {
    display: inline;
}

#pankuzu li a {
    display: inline;
    padding: 0;
}

/* ページトップへスクロールボタン  */
#btn-pagetop {
    position: fixed;
    right: 5px;
    bottom: 5px;
    height: 45px;
    width: 45px;
    font-weight: bold;
    z-index: 9999;
    /* background:#D02927; */
    background:rgb(24, 179, 88);
    color:#fff;
}

#btn-pagetop:hover {
    opacity:0.5;
}

#btn-pagetop > i {
    font-size: 45px;
}

.left0{
    position:relative;
    left:0;
}

.right0{
    position:relative;
    right:0;
}

.line-height-1-0 {
    line-height:1.0;
}
.line-height-1-8 {
    line-height: 1.8em;
}

/* Color  */
.color-white {
    color:#fff;
}
/*
.color-red {
    color: #D02927;
}
*/
.color-green {
    color: rgb(24, 179, 88);
}
.color-darkgreen {
    color: #047534;
}

/* Background color */
.bg-color-black {
    background-color:#222;
}
.bg-color-gray {
    background-color:#eee;
}
.bg-color-cream {
    background-color:#faf4ed;
}

/* Background Position */
.bg-position-right {
    background-position-x:right!important;
}
.bg-position-center {
    background-position-x:center!important;
}

.bg-size-cover {
    background-size:cover!important;
}

/* Table */
table.border-gray {
    border-collapse: collapse;
    border-spacing: 0;    
}

table.border-gray th,
table.border-gray td
{
    border: #ddd 1px solid;
}

/* Buttons */
.btn-hover-opacity:hover {
    opacity: 0.7;
    -moz-transition: 0.25s;
    -ms-transition: 0.25s;
    -o-transition: 0.25s;
    transition: 0.25s;
}

a.btn-red {
    position: relative;
    z-index: 2;
    /* background-color: #D02927;
    border: 2px solid #D02927; */
    background-color: rgb(24, 179, 88);
    border: 2px solid rgb(24, 179, 88);
    font-size: 13px;
    display: block;
    width: 200px;
    margin: 15px auto;
    text-align: center;
    font-weight: normal;
    padding: 5px 0;
    color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
a.btn-red:hover {
    /* color: #D02927; */
    color:rgb(24, 179, 88);
    background-color: #fff;
    /* border-color: #D02927; */
    border-color: rgb(24, 179, 88);
}

/* Pc */
@media screen and (min-width:992px) {
}
/* Tablet */
@media screen and (min-width:768px) and (max-width:991px) {
}


/* mail form */
#mailform dt span {
    color: #fff;
    background: #FF4F4F;
    padding: 0 5px 0;
    margin-right: 5px;
    font-size: 11px;
    border-radius: 2px;
    position: relative;
    top: -2px;
}

#mailform {
	margin:10px 0 10px;
}
#mailform dl {
	margin:10px 0;
	font-size:16px;
}

#mailform dt {
    display:inline-block;
	width:280px;
	padding-top: 20px;
    border-top:1px solid #eee;
}
#mailform dt span {
	color:#fff;
	background:#FF4F4F;
	padding: 0 5px 0;
	margin-right:5px;
	font-size:11px;
	border-radius:2px;
	position:relative;
	top:-2px;
}

#mailform dd {
    display:inline-block;
    width: calc(100% - 290px);
    margin-left: 0;
    padding-bottom: 20px;
	padding-top: 23px;
	line-height:1.5;
    border-top:1px solid #eee;
    vertical-align: top;
}
#mailform dd input[type=text],
#mailform dd textarea {
    width: 100%;
}

#mailform dd p {
	font-size:14px;
	padding-top:5px;
	color:#888;
}

/*
#mailform dt:first-child,
#mailform dd:first-child
{
	border-top:0px;
}
*/

/* #mailform dd:last-child {
	border-bottom:0px;
	margin-bottom:0px;
} */
#mailform button {
	cursor:pointer;
	display: block;
	margin: 0 auto 5px;
	padding: 10px 0 10px;
	color: #fff;
	text-align: center;
	width: 250px;
	border-radius: 5px;
	font-size: 16px;
	font-weight: bold;
    /* background: #D02927;
	border:2px solid #D02927; */
    background: rgb(24, 179, 88);
	border:2px solid rgb(24, 179, 88);
}
#mailform button:hover {
	background: #fff;
	/* color: #D02927; */
    color:rgb(24, 179, 88);
}
#mailform button *,
.form-button * {
	-moz-transition: 0.2s;
	-ms-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}

/********************
 * Tablet
 ********************/
@media screen and (min-width:768px) and (max-width:991px) {
    /* flex direction */
    .flex-direction-column-on-tablet {
        flex-direction:column;
    }
}

/********************
 * Smart Phone
 ********************/
@media only screen and (max-width: 767px) {

    header > nav {
        display: none;
    }

    h2 {
        font-size: 20px;
    }
    h2 > span {
        font-size: 14px;
    }

    h3 {
        font-size: 14px;
    }
    h3 span{
        font-size: 12px;
    }
    
    .disp-none-on-sphone {
        display: none;
    }

    .text-left-on-sphone {
        text-align:left;
    }

    #page-title {
        height: 180px;
    }
    
    /* Page  */
    #page.slide-left {
        /* left: -250px;
        position: relative; */
        -moz-transform: translateX(-250px);
        -webkit-transform: translateX(-250px);
        transform: translateX(-250px);

    }

    #page #navToggleDiv{
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    #page.slide-left #navToggleDiv {
        /* right: -250px; */
        -moz-transform: translateX(250px);
        -webkit-transform: translateX(250px);
        transform: translateX(250px);
    }

    /* Side Menu */
    #sideMenuDiv {
        display: block;
        position: fixed;
        top:0;
        right: 0;
        height:100%;
        width:240px;
        overflow: hidden;
        z-index: -1;
        -moz-transform: translateX(250px);
        -webkit-transform: translateX(250px);
        transform: translateX(250px);
    }
    #sideMenuDiv > ul {
        margin-top:80px;
        margin-bottom:30px;
        /* color:white; */
    }
    #sideMenu > li {
        margin-bottom: 1.3em;
    }

    #sideMenu > li > a {
        display:block;
    }

    #sideMenu > li > a:link,
    #sideMenu > li > a:visited,
    #sideMenu > li > a:hover {
        /* color: #D02927; */
        color:white;
    }
    #sideMenuPhone > a {
        display: block;
        padding: 5px 10px;
        text-decoration: none;
        border: 1px solid #333;
        border-radius: 10px;
        margin: 10px auto;
        width: 200px;
        text-align: center;
        font-size: 15px;
        color: #333;
        background: #fff;
        font-weight: bold;
    }
    #sideMenuPhone > a > span {
        border-radius: 3px;
        margin-right:3px;
    }
    #sideMenuPhone > a > span > i {
        font-size: 10px;
        width: 18px;
        height: 18px;
    }

    /* Header Navi */
	header > #navDiv {
		position: absolute;
		right: 0;
		min-width:250px;
		overflow: hidden;
    }

    header > #navDiv > nav > ul{
        flex-direction: column;
        /* right: 0;
        position: absolute; */
    }

    header > #navDiv > nav > ul > li > a {
        /* min-width: 150px; */
        width:100%;
        padding:0.5em;
        background-color: #F0F0F0;
        font-size: 120%;
    }
    
	nav {

		-moz-transform: translateX(100%);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);

		-webkit-transition: transform 150ms ease-out;
		-webkit-transition: -webkit-transform 150ms ease-out;
		-moz-transition: transform 150ms ease-out;
		-ms-transition: transform 150ms ease-out;
		-o-transition: transform 150ms ease-out;
		transition: transform 150ms ease-out;
	}
	.global-nav {
		display: -webkit-flex;
		display:flex;
		-webkit-flex-direction:column;
		flex-direction:column;
		}
	.global-nav li {
		width: 100%;
		list-style-type: none;

	}
	#global-nav-prdct-sub {
		display:none;
	}
	#global-nav-prdct-sub-sp {
		display: block;
	}
	
	/* Toggle(Button) */
    #navToggle {display: block}
    
    .openNav #navDiv {
        z-index: 1024;
    }

    /* Click Toggle(Button) */
	.openNav #navToggle span:nth-child(1) {
		top: 11px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg)
	}
	.openNav #navToggle span:nth-child(2),
	.openNav #navToggle span:nth-child(3) {
		top: 11px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg)
	}

	/*header menu*/
	.openNav nav {
		-moz-transform: translateX(0%);
		-webkit-transform: translateX(0%);
        transform: translateX(0%);
	}

	/* top button */
	#btn-top > img{
		/*
		height: 80%;
		width:80%;
		*/
		-moz-transform: translateX(20%);
		-webkit-transform: translateX(20%);
		transform: translateX(20%);
	}
	
	.information {
		padding: 10px 20px;
		margin: 30px auto;
		border: #009FE8 solid 1px;
	}
		
	.company, .product, .contact {
		padding: 20px 20px;
	}
	.discription {
		display: flex;
		flex-wrap: wrap;
	}
	.discription img {
	max-width: 100%;
    }
    
    /* Footer for Conatact */
    #footer-contact h3 {
        font-size: 24px;
    }
    #footer-contact h3 > span {
        font-size: 18px;
    }

    /* Footer */
    footer > div {
        text-align:center;
    }
    footer #footer-logo {
        float:none;
        display: block;
        margin-top: 10px;
    }
    footer #footer-menu {
        display:none;
    }

    #mailform dt {
        display:block;
        width:100%;
    }
    #mailform dd {
        display:block;
        width:100%;
        padding-top:0;
        border-top: none;
    }

    /* flex direction */
    .flex-direction-column-on-smartphone {
        flex-direction:column;
    }
    /* width */
    .sp-width-100per {
        width:100%!important;
    }

    .horizontal-center-block-on-smartphone {
        left: 50%;
        position: relative;
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

}