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


/* ---------------------------------------------------------------------------------------------

   header

--------------------------------------------------------------------------------------------- */
header{
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right:0;
    top: 0;
	z-index:100;
	width:100%;
	background:#000;
	padding:0 2% 0 2%;
	height:60px;
}

.logo a{
	font-size:24px;
	color:#fff;
	float:left;
	line-height:60px;
	margin-right:50px;
}


/* g-nav
-----------------------------------------------------------*/
.g-nav{
	width:100%;
}
.g-nav ul li{
	float:left;
	line-height:60px;
	font-size:14px;
}
.g-nav ul li a{
	color:#fff;
	display:block;
	padding:0 10px 0 10px;
}
.g-nav ul li a:hover{
	background:#fff;
	color:#000;
}


.nav-tel{
    position: fixed;/* bodyに対しての絶対位置指定 */
    right:150px;
    top: 0;
	line-height:60px;
	font-size:18px;
	font-weight:bold;
}
.nav-tel a{
	color:#fff;
	display:block;
	padding:0 10px 0 10px;
}
.nav-tel a:hover{
	color:#F00;
}

.nav-entry{
    position: fixed;/* bodyに対しての絶対位置指定 */
    right:0;
    top: 0;
	line-height:60px;
	font-size:14px;
	font-weight:bold;
}

.nav-entry a{
	background:#FF0;
	color:#000;
	display:block;
	padding:0 20px 0 20px;
	font-size:16px;
}
.nav-entry a:hover{
	background:#F00;
	color:#fff;
}

nav.globalMenuSp,.navToggle{
	display:none;
}

@media screen and (max-width:1200px) {
	
.nav-tel{
	display:none;
}

.g-nav{
	display:none;
}

}

@media screen and (max-width:1200px) {
	
	
.nav-entry{
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right:60px;
    top: 0;
	line-height:60px;
}
	
nav.globalMenuSp,.navToggle{
	display:block;
}

nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #fff;
    color: #fff;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
}

nav.globalMenuSp ul {
	background:#fff;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px dotted #ccc;
}

nav.globalMenuSp ul li.last-spnav {
    border-bottom:0;
}


/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 1em 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}

.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 10px;
    top: 5px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 3;
	background:#000;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}

.navToggle span:nth-child(2) {
    top: 18px;
}

.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #fff;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}


/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

}

@media screen and (max-width:500px) {

.logo a{
	font-size:18px;
}

}



/* ---------------------------------------------------------------------------------------------

   メインビジュアル

--------------------------------------------------------------------------------------------- */
.main video{ /*画面サイズに応じてサイズを可変するように設定*/
	background-size: cover;
	background-repeat:no-repeat;
	position:fixed;
    min-width:100%;
}
.centerBox { 
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width:100%;
	height:300px;
}

.centerBox img{
	margin:0 auto; 
}


/* moreボタン
-----------------------------------------------------------*/
.more a{/*二ヶ所 共通*/
	color:#333;
	background:#fff;
	opacity:0.8;
	text-align:center;
	display:block;
	margin:50px auto 0 auto;
	border:1px solid #ccc;
	padding:5px 0 5px 0;
	width:200px;
	font-weight:bold;
}
.more a:hover{/*二ヶ所 共通*/
	background:#333;
	color:#fff;
}

@media screen and (max-width:1000px) {
	
.centerBox{
	width:94%;
	margin:auto;
}

}

@media screen and (max-width:500px) {
	
.main video{
	height:750px;
}
.centerBox { 
	height:300px;
}

}
	
	
/* ---------------------------------------------------------------------------------------------

   コンテンツ（ベース）

--------------------------------------------------------------------------------------------- */
#wrapp{
	width:100%;
	position:absolute;
	z-index:30;
	overflow:hidden;
}

.content-wrapp{
	width:100%;
	padding:100px 0 130px 0;
}

.white-back{/*コンテンツ背景色*/
	background:#fff;
	opacity:0.97;
}
.black-back{/*コンテンツ背景色*/
	/*background:#48545e;*/
	background:#2f4f4f;
	background:#262a33;
	opacity:0.97;
}
.gray-back{/*コンテンツ背景色*/
	background:#f5f5f5;
	opacity:0.97;
}

.contents{
	width:1000px;
	margin:0 auto;
}

.contents700{
	width:700px;
	margin:0 auto;
}

@media screen and (max-width:1000px) {
	
.contents{
	width:92%;
}

}

@media screen and (max-width:700px) {
	
.contents700{
	width:100%;
}

}



/* ---------------------------------------------------------------------------------------------

   カテゴリー（ベース）

--------------------------------------------------------------------------------------------- */
ul.category{
	margin-bottom:50px;
}

ul.category li{
	text-align:center;
	font-size:24px;
	border-bottom:1px solid #ccc;
}

ul.category li.category-blue{
	color:#09F;
}
ul.category li.category-green{
	color:#390;
}
ul.category li.category-orange{
	color:#F60;
}
ul.category li.category-pink{
	color:#F6C;
}


h1{
	font-size:30px;
	font-weight:normal;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	margin-bottom: 25px;
	line-height:1.75;
}

.regular-h2{
	text-align:center;
	line-height: 1.5;
	font-size:20px;
	font-weight:normal;
}
.regular-h2 span{
	font-size:60px;
	line-height:1.5;
	font-family: Arial, Helvetica, sans-serif;
	font-weight:normal;
}

p{
	font-size:17px;
}

h3{
	text-align:center;
	font-size:30px;
	margin-bottom:30px;
	font-weight:normal;
	border-bottom:1px solid #999;
	line-height:1.5;
	padding-bottom: 15px;
}

.br-700{
	display: none;
}

@media screen and (max-width:700px) {

.br-700{
	display: block;
}

}

.br-500{
	display: none;
}

@media screen and (max-width:500px) {

.contents h1{
	font-size:24px;
}

.regular-h2 span{
	font-size:40px;
}

h3{
	font-size:24px;
}

p{
	font-size:15px;
}

.br-500{
	display: block;
}

}

.br-500{
	display: none;
}


/* 背景色に応じたテキストカラー指定
-----------------------------------------------------------*/
.gray-back,
.gray-back h2,
.gray-back p{
	color:#333;
}
.gray-back h2 span{
	color:#666;
}

.black-back h2,
.black-back h2 span,
.black-back h3,
.black-back p{
	color:#fff;
}

.white-back,
.white-back h2,
.white-back h3,
.white-back p{
	color:#333;
}
.white-back h2 span{
	color:#666;
}



/* ---------------------------------------------------------------------------------------------

   サービス紹介リンク

--------------------------------------------------------------------------------------------- */
nav.inside-link{
	width:100%;
}

nav.inside-link ul{
	width:100%;
	margin: 0 auto;
}

nav.inside-link ul li{
	float:left;
	width:25%;
	margin-right:12.5%;
	text-align:center;
	font-size: clamp(12px, 3vw, 16px);
	margin-top:30px;
	line-height: 1.5;
}

nav.inside-link ul li.art-object,
nav.inside-link ul li.event{
	margin-right:0;
}

nav.inside-link ul li a img{
	width:100%;
	height:auto;
}
nav.inside-link ul li a:hover img{
	opacity: 0.75;
}

nav.inside-link ul li span{/*画像下英文字*/
	font-size: clamp(16px, 3vw, 22px);
	color:#666;
}

@media screen and (max-width:650px) {
	
nav.inside-link ul{
	width:90%;
}
	
nav.inside-link ul li{
	width:45%;
	margin-right:10%;
}
	
nav.inside-link ul li.art-object{
	margin-right:10%;
}
nav.inside-link ul li.sign-board,
nav.inside-link ul li.decoration,
nav.inside-link ul li.event,
nav.inside-link ul li.pest-control{
	margin-right:0;
}

}




/* ---------------------------------------------------------------------------------------------

   各事業コンテンツ

--------------------------------------------------------------------------------------------- */

/* 使用のポイント
-----------------------------------------------------------*/
ul.point{
	width:100%;
	margin-bottom:50px;
}

ul.point li{
	float:left;
	width:49%;
	margin-right:2%;
}

ul.point li.last{
	margin-right:0;
}

ul.point li .point_table{
	width:100%;
	margin-bottom:4%;
	background:#fff;
}

ul.point li .point_table th{
	padding:0 3% 0 3%;
	text-align:center;
	font-size:24px;
	background:#fff;
}

ul.point li .point_table td{
	padding:3%;
	font-weight:bold;
	height:65px;/*--------------------可変に応じて変更する-----------------------*/
	vertical-align:middle;
	font-size:22px;
	color:#fff;
	line-height:1.5em;
}


@media screen and (max-width:1000px) {

ul.point li{
	float:none;
	width:100%;
	margin-right:0;
}

}

@media screen and (max-width:500px) {

ul.point li .point_table th{
	font-size:20px;
}

ul.point li .point_table td{
	font-size:18px;
}

}


ul.green li .point_table{
	border:5px solid #9acd32;
}
ul.green li .point_table td{
	background:#9acd32;
}

ul.blue li .point_table{
	border:5px solid #6CF;
}
ul.blue li .point_table td{
	background:#6CF;
}

ul.orange li .point_table{
	border:5px solid #ffa500;
}
ul.orange li .point_table td{
	background:#ffa500;
}

ul.pink li .point_table{
	border:5px solid #f9c;
}
ul.pink li .point_table td{
	background:#f9c;
	/*background:#ff69b4;*/
}


/* 制作の流れ
-----------------------------------------------------------*/
ul.flow{
	width:100%;
	margin-bottom:50px;
}

ul.flow li{
	padding:5px 3% 5px 3%;
	margin-bottom:15px;
}
ul.flow li span{
	font-weight:bold;
	color:#fff;
}

@media screen and (max-width:500px) {

ul.flow li{
	font-size:15px;
}
ul.flow li span{
	font-size:15px;
}

}

ul.flow.blue li{
	background:#6CF;
}
ul.flow.green li{
	background:#9acd32;
}
ul.flow.orange li{
	background:#ffa500;
}
ul.flow.pink li{
	background:#f9c;
	/*background:#ff69b4;*/
}


/* エントリーボタン
-----------------------------------------------------------*/
.entry{
	width:350px;
	text-align:center;
	line-height:1;
	font-size:24px;
	font-weight:bold;
	margin:70px auto 0 auto;
}
.entry a{
	display:block;
	background:#FF0;
	padding:20px;
	border-radius:10em;
}
.entry a:hover{
	background:#fff;
}

.black-back	.entry a{
	box-shadow:10px 10px 30px #000;
}
.white-back	.entry a{
	box-shadow:10px 10px 30px #666;
}
	
@media screen and (max-width:500px) {
	
.entry{
	width:100%;
}

}




/* ---------------------------------------------------------------------------------------------

   その他の事業紹介

--------------------------------------------------------------------------------------------- */
ul.other{
	width:100%;
	margin-top:30px;
}

ul.other li{
	float:left;
	width:49%;
	margin-right:2%;
}

ul.other li.last{
	margin-right:0;
}

ul.other li table.other_table{
	width:100%;
	margin-bottom:4%;
	background:#eee !important;
}

ul.other li table.other_table th{
	padding:30px 5% 25px 5%;
	text-align:center;
	font-size:20px;
	font-weight:normal;
	border-bottom:0;
	color:#333;
}

ul.other li table.other_table th span{
	font-size:48px;
	line-height:1.25;
	font-weight:normal;
}
	
ul.other li table.other_table td.img_td{
	padding: 0;
}

ul.other li table.other_table td.img_td img{
	width:100%;
	height:auto;
}

ul.other li table.other_table td.text_td{
	padding:25px 5% 30px 5%;
	height: 275px;
}



@media screen and (max-width:1000px) {
	
ul.other li table.other_table th{
	font-size:17px;
}

ul.other li table.other_table th span{
	font-size:36px;
}

}

@media screen and (max-width:800px) {
	
ul.other li table.other_table td.text_td{
	height: auto;
}
	
ul.other li{
	float:none;
	width:100%;
	margin-right:0;
}
	
}



/* ---------------------------------------------------------------------------------------------

   会社概要

--------------------------------------------------------------------------------------------- */
table.company_table{
	width:100%;
	margin-bottom: 25px;
}

table.company_table th,table.company_table td{
	padding:2%;
	border-bottom:1px solid #CCC;
	color:#666;
}

table.company_table th{
	border-right:1px solid #ccc;
	width:25%;
	font-weight:normal;
}

table.company_table td a{
	text-decoration:underline;
	color:#F60;
}
table.company_table td a:hover{
	color:#F00;
}

table.company_table th.last,table.company_table td.last{
	border-bottom:0;
}

@media screen and (max-width:500px) {
	
table.company_table th,table.company_table td{
	font-size:15px;
}
	
}



/* ---------------------------------------------------------------------------------------------

   フッター

--------------------------------------------------------------------------------------------- */
footer{
	width:100%;
	margin-top:10px;
	background:#000;
}

footer .foot-wrap{
	width:100%;
	padding:30px 4%;
}

footer .foot-wrap h2{
	text-align:center;
	font-size:12px;
	color:#fff;
	font-weight:normal;
}

footer .foot-wrap .foot_logo img{
	margin:0 auto;
}

footer .foot-wrap .sns_area a{
	display:block;
	width:40px;
	height:40px;
	margin:10px auto 0 auto;
	background:url(../images/f_logo.png) no-repeat 0 0;
	/*transition: all 0.3s ease-in-out 0s;*/
	background-size: 40px auto;
}
footer .foot-wrap .sns_area a:hover{
	opacity:0.5;
}

footer .foot-wrap .effort{
	width: 100%;
	margin: 25px auto 0 auto;
}

footer .foot-wrap .effort td{
	border: 2px solid #000;
	padding: 15px 4%;
	vertical-align: middle;
	background: #fff;
}

footer .foot-wrap .effort td.ondanka{
	width: 29%;
}
footer .foot-wrap .effort td.ondanka img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

footer .foot-wrap .effort td.sdgs{
	width: 42%;
}
footer .foot-wrap .effort td.sdgs img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

footer .foot-wrap .effort td.nintei{
	width: 29%;
}
footer .foot-wrap .effort td.nintei img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

footer .foot-wrap .effort td a:hover img{
	opacity: 0.75;
}


footer p.copy{
	width:100%;
	background:#333;
	padding:10px 0 10px 0;
	text-align:center;
	font-size:12px;
	color:#fff;
}

@media screen and (max-width:500px) {
	
footer .foot-wrap .effort td{
	display: block;
	width: 100% !important;
	border: 1px solid #000;
}

footer .foot-wrap .effort td.ondanka img{
	width: 150px;
}
footer .foot-wrap .effort td.sdgs img{
	width: 250px;
}
footer .foot-wrap .effort td.nintei img{
	width: 150px;
}

footer p.copy{
	font-size:10px;
}

}



/* ページトップリンク
-------------------------*/
#go-top{
	width:60px;
	height:60px;
	font-size:24px;
	position: fixed;
	bottom:25px;
	right:1%;
	z-index:50;
}
#go-top a{
	border-radius:10em;
	background:#666;
	color:#fff;
	text-align:center;
	line-height:60px;
	display:block;
	text-decoration:none;
}
#go-top a:hover{
	opacity:0.5;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}






