/*
font-family: 'Noto Serif JP', serif;
font-family: 'Open Sans', sans-serif;
*/

.pc{
    display: block;
}

.sp{
    display: none;
}


/* index.html */
.navbar-brand{
	padding: 10px;
}
.navbar-brand>img{
	display: inline;
}

.navbar-brand img{
	margin-top: -5px;
	padding-right: 5px;
}

.top-concept,.top-ser{
	max-width: 1400px;
	margin: 0 auto;
}

.top-concept{
	width: 100%;
	height: 0;
	padding-top: calc(1080 / 1920 *100%);
	background: url("../img/index/concept-bg.jpg") center center / cover no-repeat;
	position: relative;
	z-index: 999;
}

.top-concept .col-md-7{
	position: absolute;
	top: 5%;
	left: 5%;
	text-align: left;
	z-index: 1;
}

.top-concept h3,.top-concept p{
	color:white;
}

.top-concept h3{
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	font-size: 28px;
	margin-bottom: 20px;
}

.top-concept p{
	line-height: 3em;
}

.top-ser-l,.top-ser-c,.top-ser-r{
	width:33.333%;
}

.top-ser-l img,.top-ser-c img,.top-ser-r img{
	width: 100%;
	position: absolute;
}

.top-ser{
	position: relative;
	display: flex;
	list-style: none;
	text-align: left;
	width: 100%;
	padding: 0;
}

/* Common style */
.top-ser figure {
	position: relative;
	overflow: hidden;
	background: black;
	text-align: center;
	cursor: pointer;
}

.top-ser figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	transition: .35s;
}

.top-ser figure figcaption {
	padding: 2em;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.top-ser figure figcaption::before,
.top-ser figure figcaption::after {
	pointer-events: none;
}

.top-ser figure figcaption,
.top-ser figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.top-ser figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}

.top-ser figure h2 {
	word-spacing: -0.15em;
	font-weight: 300;
}

.top-ser figure h2 span {
	font-weight: 800;
}

.top-ser figure h2,
.top-ser figure p {
	margin: 0;
}

.top-ser figure p {
	letter-spacing: 1px;
	font-size: 14px;
}

figure.top-ser-btn figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 75%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 75%);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}

figure.top-ser-btn h2 {
	position: absolute;
	top: 90%;
	left: 5%;
	text-align: left;
	width: 100%;
	color: black;
	text-shadow:   2px  2px 1px #ffffff,
				  -2px  2px 1px #ffffff,
				   2px -2px 1px #ffffff,
				  -2px -2px 1px #ffffff,
				   2px  0px 1px #ffffff,
				   0px  2px 1px #ffffff,
				  -2px  0px 1px #ffffff,
				   0px -2px 1px #ffffff;
	-webkit-transition: -webkit-transform 0.35s, color 0.35s;
	transition: transform 0.35s, color 0.35s;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
}

figure.top-ser-btn figcaption::before,
figure.top-ser-btn p {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.top-ser-btn p {
	position: absolute;
	bottom: 0;
	left: 5%;
	text-align: left;
	padding: 0 2em 2em 0;
	color:white;
	width: 100%;
	opacity: 0;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
}

figure.top-ser-btn:hover img{
	opacity: .6;
}

figure.top-ser-btn:hover h2 {
	color: #fff;
	text-shadow: none;
	-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}

figure.top-ser-btn:hover figcaption::before ,
figure.top-ser-btn:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.top-com,.top-contact{
	text-align: center;
}

.top-com-title{
	font-size:30px;
	text-align: left;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}

.top-com-title span{
	display: flex;
	align-items: center;
	color:#006837;
	font-size:14px;
	font-family: 'Open Sans', sans-serif;
	font-weight: normal;
}

.top-com-title span::before{
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #006837;
}

.top-com-content,.top-conta-content{
	display: flex;
	justify-content: space-between;
}

.top-com-content a,.top-conta-content a{
	padding:30px;
	background-color:white;
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
	transition: .3s;
}

.top-com-content a:hover,.top-conta-content a:hover{
	box-shadow: 0 10px 50px 10px rgba(0,0,0,.1);
    color: #006837;
}

.top-conta-content a{
	padding:10px 30px;
}

.top-com-content img,.top-conta-content img{
	width: 50%;
	margin-top: 10px;
}

.top-com-content p,.top-conta-content p{
	margin-top: 10px;
}

.top-com-content{
	padding-bottom: 0;
}

.top-conta-content{
	padding-bottom: 80px;
}

footer{
	text-align: center;
	background-color:#006837;
}

footer h2{
	margin-top: 0;
}

footer h2 img{
	padding-right: 5px;
}

footer p{
	color:white;
}

.top-sitemap{
	display: flex;
	justify-content: center;
}

.top-sitemap{
    padding: 0;
}

.top-sitemap li{
	list-style-type: none;
}

.top-sitemap a{
	color:white;
	margin:0 10px;
}

/* 共通 */
.etc-head{
	min-height: 10vh!important;
}

/* company.html */
.company h3{
	text-align: center;
	color:#006837;
	border-bottom: 1px solid #006837;
	margin:100px 0 20px;
	padding-bottom: 5px;
	font-size:28px;
	font-weight: bold;
}

.greeting h4{
	font-size:30px;
	color:#006837;
	font-family: 'Noto Serif JP', serif;
}

.greeting p{
	line-height: 2em;
}

.greeting img{
	float: right;
}

.profile table{
	margin:0 auto;
	width: 70%;
}

.profile th,.profile td{
	padding:20px;
}

.profile th{
	background-color:#009145;
	border: 1px solid #006837;
	text-align: center;
	color:white;
}

.profile td{
	border: 1px solid #006837;
}

.access p{
	text-align: center;
	font-size:20px;
	margin:10px 0;
}

/* service.html */
.ser1,.ser2,.ser3{
	display: flex;
	align-items: flex-end;
	margin:100px 0;
}

.ser1 ul,.ser2 ul,.ser3 ul{
	list-style-type: none;
	padding:0
}

.ser1 li,.ser2 li,.ser3 li{
	margin: 5px 0;
	font-size: 14px;
}

.service h3{
	font-size:30px;
	margin-bottom: 10px;
	color: #006837;
	font-weight: bold;
}

.service p{
	line-height: 3em;
}

/* products.html */
.products-list ul{
	display: flex;
	justify-content: center;
	background-color:white;
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
	height: 50px;
	line-height: 50px;
	margin:100px 0 50px;
}
.products-list li{
	list-style-type: none;
	padding: 0 30px;
	border-right: 1px solid black;
}

.products-list li:last-of-type{
	border-right: none;
}

.products-list a{
	font-size:20px;
}

.products-content{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.pro-img{
	position: relative;
	margin:20px 0;
}

.pro-img::before{
	content: "";
	width: 90%;
	height: 100%;
	background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%);
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%);
	background-repeat: no-repeat;
	display: block;
	position: absolute;
	z-index: 2;
	opacity: 0;
	transition: .3s;
	border-radius: 50%;
	margin:0 auto;
}

.pro-img:hover::before{
	opacity: 1;
}

.pro-name{
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-40%);
	margin: 0;
	padding: 0;
	color:white;
	font-size: 26px;
	transition: all .3s ease;
	z-index: 3;
}

.pro-img:hover .pro-name{
	opacity: 1;
	transform: translate(-50%,-50%);
}

/* contact.html */
.contact .col-md-10,.pripoli .col-md-10{
	margin:0 auto;
	float: none;
}

.contact ul,.pripoli ul{
	padding:0;
}

.contact li,.pripoli li{
	list-style-type: none;
}

.contact h3{
	font-size: 20px;
	color:#006837;
	border-bottom: 1px solid #006837;
	padding-bottom: 5px;
	margin:20px 0;
}

.tel{
	font-size: 50px;
	font-weight: bold;
}

.label{
	color: black;
	font-size: 16px;
	padding:0;
}

.label span{
	color: white;
	background-color: red;
	font-size:12px;
	border-radius: 5px;
	padding:2px 5px;
	margin-left: 5px;
}

.form-control{
	margin-top: 10px;
}

.btn-contact{
	display: block;
	width: 200px;
	height: 50px;
	margin: 10px auto;
	font-size: 18px;
	background-color: #006837;
	color: white;
	border: 1px solid #006837;
	border-radius: 40px;
	transition: .3s;
}

.btn-contact:hover{
	background-color: white;
	color: #006837;
}

/* privacypolicy.html */
.pripoli h3{
	margin: 10px 0;
	padding-left: 10px;
	border-left: 3px solid #006837;
	color:#006837;
}

.pripoli li{
	line-height: 1.6em;
}

/* sitemap.html */
.sitemap ul{
    padding:0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.sitemap li{
    list-style-type: none;
}

.sitemap a{
    display: block;
    width: 200px;
    height: 40px;
    line-height: 40px;
    border: 1px solid #006837;
    text-align: center;
    margin:20px;
    color: #006837;
    transition: .3s;
}

.sitemap a:hover{
    background-color:#006837;
    color:white;
}