@charset "utf-8";
/* CSS Document */

@import url("webfontsupport.css");

/***********
   common
***********/

html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
	-webkit-text-size-adjust: 100%;
	line-height: 1.6;
	width: 100%;
	position: relative;
	font-family: Shin Go Regular;
	
	/* webfont アンチエイリアス調整 mac only */
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
	/*transform: rotate(0.03deg);*//* webfont win調整 */
}

body.active{
	overflow: hidden;
}
.clearfix:after {  
	content: ".";   
	display: block;   
	height: 0;   
	clear: both;   
	visibility: hidden;  
}
.viewPC {
	display: none !important;
}
.viewSP {
	display: block !important;
}
img {
	vertical-align: bottom;
}
a {
	text-decoration: none;
}
.unity,
.aks,
.dib{
	display: inline-block;
}
/* font */
.shingoM{ font-family: Shin Go Medium; }
.midashi{ font-family: Midashi Go MB31; }
.gothic101{ font-family: Gothic MB101 Bold;}


@media screen and (min-width:480px) {
	.flex{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
}


#wrapper {
	background-color: #99CBD0;
	background-color: #CCE5E7;
}

#contents {
	max-width: 1120px;
	margin: 0 auto;
}
#contents section {
	position: relative;
}
.invisible {
	transition: opacity 0.5s ease;
	opacity: 0.0;
}

.visible {
	transition: opacity 0.5s ease;
	opacity: 1.0;
}

/* header */
nav {
	position: fixed;
	top: 0;
	left: 0;
	height: 0;
	z-index: 10;
}
nav.active {
	height: 100vh;
	-webkit-transform: rotate(-0.03deg);
	   -moz-transform: rotate(-0.03deg);
	    -ms-transform: rotate(-0.03deg);
	     -o-transform: rotate(-0.03deg);
	        transform: rotate(-0.03deg);
}
header {
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
header.active {
}
header #lower {
	display: none;
}
nav #menu_btn {
	position: fixed;
	right: 20px;
	top: 14px;
	width: 42px;
	height: 42px;
	background-color: #FFF;
	border-radius: 50%;
	box-shadow: none;
	padding: 15px 11px 0;
	z-index: 10;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}
nav #menu_btn:hover {
	background-color: #fff;
	cursor: pointer;
}
nav #menu_btn .bar {
	display: block;
	width: 20px;
	height: 2px;
	background-color: #000;
	margin-bottom: 4px;
	position: relative;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}
nav #menu_btn.active{
	box-shadow: none;
	background-color: #FFB400;
}
nav #menu_btn.active .bar{
	background-color: #FFF;
}
nav #menu_btn.active .bar-top {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	top: 6px;
}
nav #menu_btn.active .bar-center {
	display: none;
}
nav #menu_btn.active .bar-bottom {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}
nav{
	width: 100%;
}
nav .menu_list.active{
	display: block;
}
nav .menu_list{
	display: none;
	position: relative;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	/*width: calc(100% - 140px);*/
	z-index: 5;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
nav .menu_list > li{
	/*width: 50%;*/
	height: 70px;
	/*float: left;*/
	-webkit-transition: .5s ease;
	transition: .5s ease;
}

nav .menu_list > li.menu_list--two {
	height: 140px;
}

nav .menu_list > li.menu_list--two li:nth-child(even) a {
	background-color: #FFBC00;
}

nav .menu_list > li.menu_list--two li:nth-child(odd) a {
	background-color: #FCAD00;
}

nav .menu_list > li:nth-child(odd) a {
	background-color: #FFBC00;
}
nav .menu_list > li:nth-child(even) a {
	background-color: #FCAD00;
}
/* nav .menu_list > li:nth-child(8) a  {
	background-color: #FFBC00;
} */

/* 
nav .menu_list > li:nth-child(2n + 5) a {
	background-color: #FCAD00;
}
nav .menu_list > li:nth-child(2n + 6) a {
	background-color: #FFBC00; 
}
*/
nav .menu_list > li a:hover {
	background-color: #fff !important;
}
nav .menu_list > li:last-child a:hover {
	background-color: #FFB400 !important;
}

nav .menu_list > li > a{
	display: block;
	height: 100%;
	text-decoration: none;
	color: #000;
	padding: 25px;
	transition: .3s ease;
}
nav .menu_list > li .en{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .1em;
	margin-right: 15px;
	line-height: 1;
	font-family: Gothic MB101 Bold;
}
nav .menu_list > li .ja{
	font-size: 12px;
	letter-spacing: 2px;
	font-family: Midashi Go MB31;
}
nav .menu_list > li .ja:before,
nav .menu_list > li .ja:after{
	content: "-";
}
nav .menu_list > li:last-child {
	background-color: #FFB400;
	padding: 14px 0 100px;
}
nav .menu_list > li img {
	width: 100%;
	height: auto;
}


nav .menu_innerList > li a {
	display: block;
	width: 100%;
	padding: 25px;
	color: #000;
	line-height: 1;
	transition: .3s ease;
}


#sns_btn {
	display: none;
	/*position: fixed;
	right: 48px;
	bottom: 48px;
	z-index: 5;*/
	border: 1px solid #FFF;
	/* width: 212px; */
	width: 254px;
	margin: 0 auto;
}
#sns_btn p {
	width: 42px;
	border: 1px solid #FFF;
	float: left;
}
#sns_btn a {
	padding: 0;
	display: block;
	height: inherit;
}


#sns_home,
#sns_fb,
#sns_tw,
#sns_insta,
#sns_blog,
#sns_link{
	    transform: rotate(0);
}
body #sns_link a{	
	height: 38px;
	line-height: 38px;
	font-size: 11px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
@media(min-width: 768px){
	body #sns_link a:hover{	
		color: #fcad00;
		background-color: #fff;
	}
}



#sns_btn.active {
	display: block;
}
nav .overlay {
	position: fixed;
	left: auto;
	right: 21px;
	top: 15px;
	width: 40px;
	height: 40px;
	background-color: #FFB400;
	border-radius: 50%;
	z-index: 4;
	display: block;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}
.overlay.active{
    -webkit-transform: scale(100);
    transform: scale(100);
}

/* パンくず */
#breadcrumbs {
	max-width: 1120px;
	margin: 1em auto;
	padding: 0 2%;
	box-sizing: border-box;
}
#breadcrumbs li {
	display: inline;
	font-size: 12px;
}
#breadcrumbs li#home:before {
	content: "";
    background: url(../images/common/icon_home.png) no-repeat center;
    -webkit-background-size: 15px 15px;
    background-size: 12px auto;
    min-width: 16px;
    min-height: 16px;
    display: inline-block;
    vertical-align: sub;
}
#breadcrumbs li:after { 
	content: "\003e";
	display: inline-block;
}
#breadcrumbs li:last-child:after { 
	content: none; 
}
#breadcrumbs li a {
	text-decoration: underline;
	color: #000;
	padding: 0 0.5em;
	box-sizing: border-box;
}
#breadcrumbs li#home a {
	padding-left: 0;

}
#breadcrumbs li a span {
	
}
@media(min-width: 768px){
	#breadcrumbs li {
		font-size: 13px;
	}
	nav .menu_list > li:nth-child(8) a  {
		background-color: #FFBC00;
	}
}
@media screen and (max-width:1120px){
	#breadcrumbs li#home {
		background-position: 0 center;
		padding-left: 0;
		box-sizing: border-box;
	}
}


/* footer */
footer {
	text-align: center;
	color: #333;
}
footer a {
	color: #333;
}
footer #contact_intro {
	width: 85%;
	margin: 0 auto;
}
footer #contact_intro p#more_works {
	margin-bottom: 18px;
	font-size: 20px;
}
footer #contact_intro p#please {
	margin-bottom: 18px;
	font-size: 13px;
}
footer #contact_button {
	width: 100%;
	margin: 0 auto 40px;
}
footer #contact_button li {
	width: 100%;
	margin-bottom: 4%;
	box-shadow: 0 0 3px 0 #5C7A7D;
	text-align: center;
	background-color: #5DA5D2;
	position: relative;
}
footer #contact_button li dt {
	position: relative;
	font-family: Midashi Go MB31;
	font-size: 6.6vw;
	font-weight: bold;
}
footer #contact_button li dt img {
	vertical-align: sub;
	margin-right: 10px;
}

footer #contact_button li:first-child img {
	width: 19px;
	height: auto;
}
footer #contact_button li:first-child dt:before {
	content: "";
	position: absolute;
	top: 7px;
	width: 19px;
	height: 30px;
	background: url(../images/common/icon_tel_on.png) no-repeat;
	background-size: contain;
	z-index: -50
}
footer #contact_button li:first-child .tel_link:hover dt:before {
	z-index: 500;
}
footer #contact_button li:nth-child(2) img {
	width: 30px;
	height: auto;
}
footer #contact_button li:nth-child(2) dt:before {
	content: "";
	position: absolute;
	top: 11px;
	width: 30px;
	height: 20px;
	background: url(../images/common/icon_mail_on.png) no-repeat;
	background-size: contain;
	z-index: -50
}
footer #contact_button li:nth-child(2) .contact_link:hover dt:before {
	z-index: 500;
}
footer #contact_button li:nth-child(2) dt img {
	vertical-align: baseline;
}
footer #contact_button li dd {
	font-size: 12px;
}
footer #contact_button li:after {
	content: "";
	background: url(../images/common/icon_arrow.png) no-repeat right 5px bottom 5px;
	background-size: 15px 15px;
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: 0;
	right: 0;
}
footer #contact_button li:first-child:after {
	content: none;
}
footer #contact_button li a {
	display: block;
	color: #FFF;
	padding: 10px 20px;
	height: 100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
footer #contact_button li a:hover {
	color: #5DA5D2;
}
footer #contact_button li a:after {
	content: "";
	background-color: #fff;
	border: 3px solid #5DA5D2;
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}
footer #contact_button li a:hover:after {
	width: 100%;
	height: 100%;
}
footer #contact_button li a dl{
	position: relative;
	z-index: 5;
}

footer #information {
	width: 85%;
	border-top: 1px solid #fff;
	padding-top: 40px;
	margin: 0 auto 40px;
}
footer #information li {
	box-shadow: 0 0 3px 0 #5C7A7D;
	margin-bottom: 4%;
	text-align: center;
	background-color: #FFB401;
	position: relative;
}
footer #information li:after {
	content: "";
	background: url(../images/common/icon_arrow.png) no-repeat right 5px bottom 5px;
	background-size: 15px 15px;
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: 0;
	right: 0;
}

footer #information li a {
	display: block;
	color: #FFF;
	padding: 10px 20px;
	height: 100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
footer #information li a:after {
	content: "";
	background-color: #000;
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}
footer #information li a:hover:after {
	width: 100%;
	height: 100%;
}
footer #information li h4,
footer #information li p {
	position: relative;
	z-index: 5;
}
footer #information li h4 {
	font-size: 17px;
	font-family: Midashi Go MB31;
	letter-spacing: 0.1em;
}
footer #information li p {
	font-size: 11px;
}

footer .wrap_shinbunkoukoku{
	width: 85%;
	max-width: 1120px;
	margin: 0 auto 40px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
    padding: 40px 0;
}
footer .wrap_shinbunkoukoku.wrap_sdg{
	margin-bottom: 0;
	border-bottom: none;
}

footer .wrap_shinbunkoukoku .btn_bnr{
	max-width: 340px;
	margin: 0 .5em;
}

footer .wrap_expo {
	width: 90%;
    max-width: 1120px;
    margin: 0 auto;
    border-top: 1px solid #fff;
    padding: 40px 0;
}

footer .wrap_expo .btn_bnr{
    max-width: 450px;
    margin: 0 .5em;
}

footer .wrap_expo .caption {
	display: block;
	font-size: 10px;
	text-align: right;
	width: 90%;
	max-width: 450px;
	margin: 0 auto
}

footer .wrap_expo_txt {
	font-weight: bold;
	margin-top: 5px;
} 

footer .wrap_partner{
	width: 85%;
	max-width: 1120px;
	padding: 20px 0 40px;
	margin: auto;
	border-top: 1px solid #fff;
}

footer .wrap_partner .partner_ttl{
	margin-bottom: 20px;
	font-size: 1.2em;
}
footer .wrap_partner .partner_ttl .text{
	position: relative;
	display: inline-block;
}
footer .wrap_partner .partner_ttl .text:before,
footer .wrap_partner .partner_ttl .text:after{
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	width: .7em;
	height: 1px;
	background-color: #333;
}
footer .wrap_partner .partner_ttl .text:before{
	left: -1.3em;
}
footer .wrap_partner .partner_ttl .text:after{
	right: -1.3em;
}

footer .wrap_partner .footer_bnr{
	width: 100%;
}

footer .footer_bnr{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 85%;
	max-width: 720px;
	margin: 0 auto;
}
footer .footer_bnr li{
	max-width: 340px;
	margin: 0 0 2em;
}
footer .btn_bnr{
	position: relative;
	display: inline-block;
	box-shadow: 0 0 3px 0 #5C7A7D;
}
footer .btn_bnr:before{
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: white;
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s ease;
}
footer .btn_bnr:hover:before{
	opacity: .4;
}
footer .btn_bnr img{
	width: 100%;
}
footer .company_name {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 1.3;
}
footer .catch {
	width: 90%;
	margin: 0 auto 15px;
	font-size: 13px;
}
footer address {
	font-size: 13px;
	margin-bottom: 15px;
}
footer .footer_security_text {
	text-align: center;
	margin-bottom: 15px;
}
footer .footer_security_link {
	font-size: 13px;
	text-decoration: underline;
}
footer .footer_security_link:hover {
	text-decoration: none;
}
footer .copyright {
	color: #FFF;
	font-size: 10px;
	background-color: #000;
	padding: 12px 0;
	position: relative;
}
footer #footer_sns_btn_wrap {
	width: 100%;
}
footer #footer_sns_btn_wrap li {
	display: inline-block;
	padding: 0 2%;
}
footer #footer_sns_btn_wrap li a {
	color: #fff;
	/*font-size: 22px;*/
}

footer #footer_sns_btn_wrap li a img {
	width: 22px;
	height: auto;
	/*vertical-align: sub;*/
}
footer #footer_sns_btn_wrap li a:hover img {
	opacity: 0.8;
}


/*工事中*/
nav .menu_list > li.nav_construction {
	background-color: #ccc !important;
	position: relative;
	cursor: default;
}
nav .menu_list > li.nav_construction a {
	color: #fff !important;
	cursor: default;
}
nav .menu_list > li.nav_construction:hover {
	background-color: #ccc !important;
}
nav .menu_list > li.nav_construction:before {
	content: "";
	-webkit-transition: .3s ease;
	transition: .3s ease;
	width: 80%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1;
	color: #fff;
}
nav .menu_list > li.nav_construction:after {
	-webkit-transition: .3s ease;
	transition: .3s ease;
	content: "";
	display: block;
	width: 50%;
	height: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

nav .menu_list > li.nav_construction a {
	color: #fff !important;
}


@media screen and (min-width:480px) {
	
	/* nav */
	nav .menu_list > li:last-child {
		position: fixed;
		width: 84px;
		height: 100%;
		bottom: 0;
		right: 0;
	}
	nav #sns_btn {
		width: 44px;
		
		margin: 0 auto;
		position: fixed;
		right: 19px;
		bottom: 19px;
	}
	nav #sns_btn a {
		display: block;
	}
	nav #sns_btn a:hover {
/*		background-color: white;*/
	}
	
	nav #sns_btn p{
		position: relative;
	}
	
	nav #sns_btn p:not(#sns_home) a:hover img{
		opacity: 0;
	}
		
	nav #sns_btn p#sns_fb a:hover{
		background:url(../images/common/icon_facebook_on.png) no-repeat;
		background-size: contain;
	}
	
	nav #sns_btn p#sns_tw a:hover{
		background:url(../images/common/icon_twitter_on.png) no-repeat;
		background-size: contain;
	}
	
	nav #sns_btn p#sns_insta a:hover{
		background:url(../images/common/icon_instagram_on.png) no-repeat;
		background-size: contain;
	}
	
	nav #sns_btn p#sns_blog a:hover{
		background:url(../images/common/icon_blog_on.png) no-repeat;
		background-size: contain;
	}

		
	
	/* footer */
	footer #contact_intro {
		width: 100%;
	}
	footer #contact_button {
		display: flex;
		justify-content: space-between;
		width: 90%;
		max-width: 810px;
	}

	footer #contact_button li {
		width: 49%;
		max-width: 394px;
		height: 100%;
		margin-bottom: 0;
	}
	footer #contact_button li dt {
		font-size: 15px;
	}

	footer #contact_button li:first-child img {
		width: 14px;
	}
	footer #contact_button li:first-child dt:before {
		top: 0;
		width: 14px;
		height: calc( 30px * 19/14 );
	}
	footer #contact_button li:nth-child(2) img {
		width: 20px;
	}
	footer #contact_button li:nth-child(2) dt:before {
		top: 5px;
		width: 20px;
		height: calc( 20px * 30/13 );
	}

	@media screen and (min-width:600px) {
		footer #contact_button li dt {
			font-size: 19px;
		}
		footer #contact_button li:first-child dt:before {
			top: 5px;
		}
		footer #contact_button li:nth-child(2) dt:before {
			top: 10px;
		}
		@media screen and (min-width:680px) {
			footer #contact_button li dt {
				font-size: 23px;
			}
			footer #contact_button li:first-child dt:before {
				top: 10px;
			}
			footer #contact_button li:nth-child(2) dt:before {
				top: 14px;
			}
		}
	}
	footer #contact_button li dt img {
		width: 20px;
		height: auto;
		margin-right: 5px;
	}
	footer #contact_button li dd {
		font-size: 11px;
	}
	footer #information {
		width: 90%;
	}
	footer #information li {
		width: 48%;
	}
	footer #information li:nth-child(odd) {
		float: left;
		clear: both;
	}
	footer #information li:nth-child(even) {
		float: right;
	}
	footer #information li h4 {
		font-size: 15px;
	}
    
}

@media screen and (min-width:768px) {

	.viewPC {
		display: block !important;
	}
	.viewSP {
		display: none !important;
	}
	
	nav #menu_btn:hover {
		background-color: #FFB400;
	}
	nav .hi-icon-wrap {
		position: absolute;
		text-align: center;
		margin: 0 auto;
		padding: 2em 0 3em;
	}
	
	nav .hi-icon {
		display: inline-block;
		font-size: 0px;
		cursor: pointer;
		width: 90px;
		height: 90px;
		border-radius: 50%;
		text-align: center;
		position: relative;
		z-index: 1;
		color: #fff;
	}
	
	nav .hi-icon:after {
		pointer-events: none;
		position: absolute;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		content: '';
		-webkit-box-sizing: content-box; 
		-moz-box-sizing: content-box; 
		box-sizing: content-box;
	}
	
	nav .hi-icon:before {
		font-family: 'ecoicon';
		speak: none;
		font-size: 48px;
		line-height: 90px;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		display: block;
		-webkit-font-smoothing: antialiased;
	}
	
	nav .hi-icon-effect-option .hi-icon {
		background: rgba(255,255,255,0.1);
		-webkit-transition: -webkit-transform ease-out 0.1s, background 0.2s;
		-moz-transition: -moz-transform ease-out 0.1s, background 0.2s;
		transition: transform ease-out 0.1s, background 0.2s;
	}
	
	nav .hi-icon-effect-option .hi-icon:after {
		top: 0;
		left: 0;
		padding: 0;
		z-index: -1;
		box-shadow: 0 0 0 2px rgba(255,255,255,0.1);
		opacity: 0;
		-webkit-transform: scale(0.9);
		-moz-transform: scale(0.9);
		-ms-transform: scale(0.9);
		transform: scale(0.9);
	}
	
	nav .hi-icon-effect-option .hi-icon:hover {
		background: rgba(255,255,255,0.05);
		/*-webkit-transform: scale(1.2);
		-moz-transform: scale(1.2);
		-ms-transform: scale(1.2);
		transform: scale(1.2);*/
		color: #fff;
	}
	
	nav .hi-icon-effect-option .hi-icon:hover:after {
		-webkit-animation: sonarEffect 1.3s ease-out 75ms;
		-moz-animation: sonarEffect 1.3s ease-out 75ms;
		animation: sonarEffect 1.3s ease-out 75ms;
		animation-iteration-count: infinite;

	}
	
	@-webkit-keyframes sonarEffect {
		0% {
			opacity: 0.3;
		}
		40% {
			opacity: 0.5;
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
		}
		100% {
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
			-webkit-transform: scale(1.5);
			opacity: 0;
		}
	}
	@-moz-keyframes sonarEffect {
		0% {
			opacity: 0.3;
		}
		40% {
			opacity: 0.5;
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
		}
		100% {
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
			-moz-transform: scale(1.5);
			opacity: 0;
		}
	}
	@keyframes sonarEffect {
		0% {
			opacity: 0.3;
		}
		40% {
			opacity: 0.5;
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
		}
		100% {
			box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #FFB400, 0 0 0 10px rgba(255,255,255,0.5);
			transform: scale(1.5);
			opacity: 0;
		}
	}
	nav .menu_list {
		width: calc(100% - 84px);
		overflow-y: inherit;
	}
	nav .menu_list > li {
		width: 50%;
		height: calc(100% / 4);
		float: left;
		text-align: center;
	}
	nav .menu_list > li:nth-child(1) a,
	nav .menu_list > li:nth-child(4) a,
	nav .menu_list > li:nth-child(5) a{
		background-color: #FFBC00;
	}
	nav .menu_list > li:nth-child(2) a,
	nav .menu_list > li:nth-child(3) a,
	nav .menu_list > li:nth-child(7) a{
		background-color: #FCAD00;
	}
	nav .menu_list > li > a {
		/* padding-top: calc(16vh - 30px); */
		padding-top:8vh;
	}
	nav .menu_list > li span {
		display: block;
	}
	nav .menu_list > li .en {
		font-size: 30px;
		width: 50%;
		margin: 0 auto 10px;
		border-bottom: 2px solid #000;
		line-height: 1.4;
	}
	nav .menu_list > li.nav_construction:hover:before {
		content: "工事中";
		font-size: 3vw;
	}
	nav .menu_list > li.nav_construction:hover:after {
		background-color: rgba(0,0,0,0.7);
		width: 70%;
		height: 60%;
	}

	nav .menu_list > li.nav_construction .en {
		border-bottom: 2px solid #fff !important;
	}
	nav .menu_list > li .ja:before,
	nav .menu_list > li .ja:after{
		content: none;
	}
	nav .menu_list > li .ja {
		line-height: 1;
	}

	nav .menu_innerList {
		height: 100%;
	}

	nav .menu_innerList > li {
		height: 50%;
	}
	nav .menu_innerList > li:not(:last-child) {
		border-bottom: 2px solid #FCAD00;
	}
	
	nav .menu_innerList > li a {
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
		flex-wrap: wrap;
		width: 100%;
		height: 100%;
		padding: 0;
		text-decoration: none;
		color: #000;
		transition: .3s ease;
	}
	
	nav .menu_innerList > li .en {
		width: 50%;
	}
	nav .menu_innerList > li .ja {
		width: 100%;
	}
	
	nav .menu_list > li.menu_list--two {
		height: calc(100% / 3);
	}
	
	nav .menu_list > li.menu_list--two li:nth-child(even) a {
		background-color: #FFBC00;
	}
	
	nav .menu_list > li.menu_list--two li:nth-child(odd) a {
		background-color: #FFBC00;
	}
	
		
	/* footer */
	footer #contact_intro p#more_works:before {
		content: "＼";
		font-size: 120%;
		vertical-align: top;
	}
	footer #contact_intro p#more_works:after {
		content: "／";
		font-size: 120%;
		vertical-align: top;
	}
	footer #contact_button li dt {
		font-size: 26px;
	}
	footer #contact_button li:first-child dt img {
		width: 19px;
	}
	footer #contact_button li:first-child dt:before {
		width: 19px;
		top: 7px;
	}
	footer #contact_button li:nth-child(2) dt img {
		width: 30px;
	}
	footer #contact_button li:nth-child(2) dt:before {
		width: 30px;
		top: 11px;
	}
	footer #information li {
		width: 31%;
		margin: 1%;
	}
	footer #information li:nth-child(odd) {
		clear: inherit;
	}
	footer #information li:nth-child(even) {
		float: left;
	}
	footer #information li:last-child {
		margin-right: 0;
	}
	footer #information li h4 {
		letter-spacing: 0;
	}
	footer .catch {
		width: 90%;
		margin-bottom: 0;
	}
	footer #footer_sns_btn_wrap {
		position: absolute;
		right: 0;
		top: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(0, -50%);
		width: 20%;
	}
	
	footer .footer_bnr{
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	footer .footer_bnr li{
		width: 48%;
	}

	footer .wrap_expo {
		width: 85%;
	}
}
@media screen and (min-width:1200px) {
	
	/* nav */
	nav #menu_btn {
		right: 49px;
		top: 49px;
	}
	nav .overlay {
		right: 50px;
		top: 50px;
	}
	nav #menu_btn:hover .bar {
		background-color: #FFF;
	}
	nav .menu_list {
		width: calc(100% - 140px);
	}
	nav .menu_list > li {
	}
	nav .menu_list > li:last-child {
		width: 140px;
	}
	nav .menu_list > li:hover {
		background-color: #FFF;
	}
	nav .menu_list > li:last-child:hover {
		background-color: inherit;
	}
	nav .menu_list > li > a {
	}
	nav .menu_list > li .en {
		font-size: 42px;
	}
	nav #sns_btn {
		right: 48px;
		bottom: 48px;
	}
	
	/* footer */
	footer #information {
		width: 1120px;
		margin: 0 auto;
        padding: 40px 0;
	}
	footer #information li {
		width: 19%;
		margin: .5%;
	}
	footer #information li a {
		padding: 20px 10px;
	}
	footer #information li h4 {
		font-size: 17px;
		letter-spacing: 0.1em;
	}
	footer #information li p {
		font-size: 12px;
	}
	footer .company_name {
		margin-bottom: 10px;
		font-size: 16px;
	}
	footer .catch {
		font-size: 12px;
	}
	footer address {
		margin-bottom: 10px;
		font-size: 12px;
	}
	
}












/* 診断いたしますボタン追加。 */
footer #contact_consul{
	margin:0 auto 40px;
	width: 85%;
	max-width: 810px;
	font-size: 3.5vw
}
footer #contact_consul .bg{	
	position: relative;
	background-color: #ffb401;	
}
footer #contact_consul .bg:before{
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border: 3px solid #ffb401;
	background-color: #fff;
	transition: .3s ease
}

footer #contact_consul a{
	position: relative;
	display: block;
	margin-bottom: 10px;
	padding: 20px 0;
	padding-left: 30px;
	font-size: 4.8vw;
	font-weight: bold;
	font-family: Midashi Go MB31;
    letter-spacing: 0.025em;
	line-height: 1.1;
	
	background: url(../images/common/icon_glass.png) no-repeat left center;
	background-size: contain;
	box-shadow: 0 0 3px 0 #5C7A7D;
}


footer #contact_consul span{
	display: inline-block;
}


@media screen and (min-width:480px) {
	footer #contact_consul{
		font-size: 16px;
	}
	footer #contact_consul{
		width: 90%;
	}
	footer #contact_consul .bg:hover:before{	
		width: 100%;
		height: 100%
	}
	footer #contact_consul a{
		font-size: 28px;
		background-position: 5% center;
	}
	
}