@charset "utf-8";

/*---- 共通 ----------------------------------------------------------------------------*/
.inner { margin:0 auto; width:100%; max-width:1000px; }

.green { color:#46af32; }
.en { font-family: 'Abel', sans-serif; }

.moreBtn a { display: inline-block; min-width: 200px; padding: 8px 34px 8px; font-size: 18px; color: #fff; text-align: center; background: #46af32; line-height: 1; position: relative; }
.moreBtn a:hover { color: #46af32; background: #fff; }
.moreBtn a:before, .moreBtn a:after {  content: ""; position: absolute; right: 10px; height: 1px; background: #fff; -webkit-transition: all .3s; transition: all .3s; }
.moreBtn a:before { bottom: 0.82em; width: 7px;
  -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.moreBtn a:after { bottom: 0.65em; width: 18px; }
.moreBtn a:hover:after, .moreBtn a:hover:before { background: #46af32; }

.map_more { display:inline-block; margin-top:10px; padding:4px 10px; color:#fff; background:#46af32;  border: 1px solid #fff; }
.map_more:hover { color:#46af32; background:#fff; border: 1px solid #46af32; }

/*---- header ----------------------------------------------------------------------------*/
header { border-top:3px solid #46af32; padding-top:10px; }
header .h_logo { display:block; float:left; padding-bottom:10px; }
header .h_logo img { display:inline-block; }
header .infobox { float:right; }
header .infobox .supported { margin-top: 5px; text-align:right; }
header .infobox .tel { margin-top: 8px; font-size:26px; line-height: 1; }
header .infobox .tel a { display: inline-block; padding-left: 1.4em; color:#46af32; position:relative; }
header .infobox .tel a:before { content:""; position:absolute; top:0; left:0; width:1.25em; height:100%; background:url("../img/icon_tel.png") no-repeat center left / 100% auto; }

/*---- gnav ----------------------------------------------------------------------------*/
.menuBtn { display: none; }
#gnav { border-bottom:1px solid #fff; background:#ccc; }
#gnav > ul > li { float:left; text-align:center; width:20%; height:47px; 
font-size:16px; border-left:1px solid #fff; }
#gnav > ul > li:last-child { border-right:1px solid #fff; }
#gnav > ul > li > a { display:block; width:100%; padding:5% 0; position:relative; }
#gnav > ul > li > a:after { content: ""; position: absolute; top: 48px; left: 0; width: 100%; height: 3px; z-index: 19; }
#gnav > ul > li > a:before { content:""; position:absolute; top:11px; left:20px; width:26px; height:26px; background-color:#666; background-repeat:no-repeat; background-position:center; }
#gnav > ul > li.realestate > a:before { background-image:url(../img/gnav_realestate.png); }
#gnav > ul > li.construction > a:before { background-image:url(../img/gnav_construction.png); }
#gnav > ul > li.management > a:before { background-image:url(../img/gnav_management.png); }
#gnav > ul > li.information > a:before { background-image:url(../img/gnav_information.png); }
#gnav > ul > li.contact > a:before { background-image:url(../img/gnav_contact.png); }

#gnav > ul > li > a:hover { background:rgba(255,255,255,0.3);  }
#gnav > ul > li > a:hover:before {background-color:#46af32; background-repeat:no-repeat; }

/*---- お問い合わせ ----------------------------------------------------------------------------*/
.Contact_box { padding:60px 0 65px; text-align:center; background:#46af32; color:#fff; }
.Contact_box .ttl { display:inline-block; margin-bottom:25px; font-size:40px; line-height:1.3; }
.Contact_box .ttl span { display:block; font-size:16px; color:#fff110; }
.Contact_box h2+p { font-size:14px; }
.Contact_box .btn {  margin-top:40px; }
.Contact_box .btn a { display:inline-block; position:relative; padding:18px 135px 15px 180px; font-size:28px; color:#fff; border:1px solid #fff; }
.Contact_box .btn a:before { content:""; position:absolute; background:url(../img/deco_door2.png) no-repeat; width:24px; height:36px; bottom:-2px; left:15px;  }
.Contact_box .btn a:hover { background-color:#40a12e; }
.Contact_box .btn a:after { content:""; position:absolute; width:48px; height:8px; top:48%; right:50px; background-image:url(../img/deco_yajirusi.png); background-repeat:no-repeat; opacity: 0; visibility: hidden; -webkit-transition: all .3s; transition: all .3s; }
.Contact_box .btn a:hover:after { right: 40px; opacity: 1; visibility: inherit; }


/*---- footer ----------------------------------------------------------------------------*/
footer { background:#444; position: relative; }
#pagetop { position: fixed; bottom: 25px; right: 0; width: 50px; z-index: 999; }

footer .fnav { padding:60px 0 52px; }
footer .fnav .footLogo { width: 100%; margin-bottom:62px; text-align:center; }
footer .fnav_list:nth-of-type(1) { width: 60%; }
footer .fnav_list:nth-of-type(2) { width: 30%; margin-left: 10%; }
footer .fnav_list > ul > li { margin-bottom:10px; }
footer .fnav_list > ul > li a { color:#46af32; font-weight:bold; }
footer .fnav_list > ul > li ul.sub { margin-top: 8px; }
footer .fnav_list > ul > li ul.sub li { margin-bottom:10px; padding-left: 1em; position: relative; }
footer .fnav_list > ul > li ul.sub li:before { content:"";position: absolute; top: 9px; left: 0; width: 8px; height: 8px; background:#46af32; }
footer .fnav_list > ul > li ul.sub li a { font-size:14px; color:#fff; }
footer .fnav_list a { display:inline-block; padding: 0 15px 0 0; position:relative; }
footer .fnav_list a:before { content: ""; position: absolute; bottom: 0; left: 0; width: 0%; height: 1px; background:#46af32; -webkit-transition: all .3s; transition: all .3s; }
footer .fnav_list a:after { content:""; position:absolute; width:10px; height:1px; bottom:0.3em; right:0; background:#46af32; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: all .8s; transition: all .8s; opacity: 0; visibility: hidden; }
footer .fnav_list a:hover:before { width: 100%; }
footer .fnav_list a:hover:after { opacity: 1; visibility: inherit; }

footer .fnav_list > ul > li ul.sub.flex { max-width: 200px; }
footer .fnav_list > ul > li ul.sub.flex li { width: 50%; }

footer .infoBox { position:relative; padding:50px 0 45px; text-align:center; background:#fff; }
footer .infoBox:before { content:""; position:absolute; top:0; left:50%; width:0; height:0; margin-left: -15px; border-style: solid; border-width: 15px 15px 0 15px; border-color: #444 transparent transparent transparent; }

footer .infoBox .ttl { margin-bottom: 10px; font-size:24px; font-weight:bold; color:#46af32; }
footer .infoBox p { font-size:14px; }
footer .infoBox p span { display: inline-block; margin: 0 0.5em; }
footer .infoBox p span a, footer .infoBox p span em { font-size:18px; font-weight: normal; }

#copyright { text-align:center; font-size:14px; color:#fff; background:#46af32; }


/*----------------------------------------------------
タブレット
-----------------------------------------------------*/
@media screen and (max-width: 999px) {
  .inner { padding-left: 15px; padding-right: 15px; }

  /*---- header ----------------------------------------------------------------------------
  header .h_logo { max-width: 305px; }
  header .infobox { padding-right: 55px; }
  header .infobox .supported { margin-top: 0; width: 110px; line-height: 1; }
  header .infobox .tel { margin-top: .35em; font-size:20px; }
  .menuBtn { position: absolute; top: 15px; right: 15px; width: 48px; height: 48px; padding: 5px; border: none; background: #46af32; }
  .menuBtn p { position: absolute; top: 4px; left: 0; width: 100%; margin: 0; font-size: 13px; text-align: center; letter-spacing: 1px; line-height: 1; }
  .menuBtn span { position: absolute; left: 10%; display: block; width: 80%; height: 3px; background: #fff; -webkit-transition: all .3s; transition: all .3s; }
  .menuBtn span:nth-of-type(1) { top: 22px; }
  .menuBtn span:nth-of-type(2) { top: 30px; }
  .menuBtn span:nth-of-type(3) { bottom: 6px; }
  header #gnav ul, header #gnav ul li a { display: block; padding: 0; background: #46af32; }
  header #gnav ul li { float: none; width: 100%; height: inherit; text-align: left; border-bottom: 1px solid #fff; }
  header #gnav ul li a { padding: 10px 10px 10px 50px; color: #fff; }
  #gnav > ul > li > a::before { left: 10px; }
  header #gnav ul li.toggle a + .sub { position: static; padding-left: 50px; }
  header #gnav ul li.toggle a + .sub li:first-child { border-top: 1px solid #fff; }
  header #gnav ul li .sub li:last-child { border-bottom: none; }
  #gnav > ul > li .sub li a { padding: 10px; }*/

  /*---- contactBox -----------------------------------------------------------------------*/
  .Contact_box .btn a { padding: 18px 80px 15px 80px; }
  .Contact_box .btn a:after { right:20px; }
  .Contact_box .btn a:hover:after { right:10px; }

  /*---- footer -----------------------------------------------------------------------*/
  footer .fnav_list:nth-of-type(1) { display: block; width: 34%; max-width: 205px; margin-left: 4%; }
  footer .fnav_list:nth-of-type(2) { width: 54%; max-width: 325px; margin-left: 4%; }
  footer .fnav_list:nth-of-type(1) > ul { width: 100%; }
  footer .fnav_list > ul { margin-bottom: 20px; }


}

/*----------------------------------------------------
スマホ
-----------------------------------------------------*/
@media screen and (max-width: 599px) {
  /*---- header ----------------------------------------------------------------------------
  header .inner { padding: 0 10px; }
  header .h_logo { float: none; max-width: 240px; padding: 4px 0 15px; }
  header .infobox.sp_only { float: none; width: 100%; padding: 15px; text-align: right; background: #fff; }
  header .infobox.sp_only .supported { display: block; width: auto; text-align: right; }
  header .infobox.sp_only .tel { font-size: 22px; }

  .menuBtn { top: 13px; right: 10px; }*/

  /*---- contactBox -----------------------------------------------------------------------*/
  .Contact_box { padding: 35px 0 55px; }
  .Contact_box .btn a { display: block; padding: 15px 15px 13px 45px; font-size: 4.5vw; background: rgba(255,255,255,.1); }
  .Contact_box .btn a:after { display: none; }

  /*---- footer -----------------------------------------------------------------------*/
  footer .fnav { padding:50px 15px 30px; }
  footer .fnav .footLogo { margin-bottom: 30px; }
  footer .fnav_list:nth-of-type(1), footer .fnav_list:nth-of-type(2) { display: inline-block; margin-left: 0; width: auto; max-width: 48%; }

  footer .infoBox { padding: 40px 15px 25px; }
  #copyright { padding: 2px 0; font-size: 12px; }
  
}

@media screen and (min-width: 600px) {
}

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