@charset "utf-8";
/*--------------------------------------------
	HEADER
--------------------------------------------*/
.header {
  position: relative;
  width: 100%;
  background: #fff;
  padding: 31px 0;
}
.header .logo {
  float: left;
}
.header .gNavi {
  float: right;
}
/*--------------------------------------------
	FIXED HEADER
--------------------------------------------*/
#fixed_header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  transform: translateY(-110px);
  z-index: 10;
  min-width: 1350px;
  transition: .4s;
  padding: 15px 0;
  background: rgba(255,255,255,0.9);
}
#fixed_header.fixed {
  transform: translateY(0);
}
/*--------------------------------------------
	GROBAL NAVIGATION
--------------------------------------------*/
.gNavi li {
  float: left;
}
.gNavi li:nth-child(n+2) {
  margin-left: 32px;
}
.gNavi li a {
  font-size: 14px;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  color: #222;
  padding: 9px 5px;
  position: relative;
}
.gNavi li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: inherit;
  right: 0;
  width: 0;
  height: 1px;
  background: #222;
  transition: .4s;
}
.gNavi li a:hover:after {
  width: 100%;
  left: 0;
}
/*--------------------------------------------
	BACKGROUND
--------------------------------------------*/
#bg_container {
  position: absolute;
  background: #eee;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: translate3d(0, 0, -5px);
}
#bg_container .bg_inner {
  width: 40%;
  height: 100%;
  position: relative;
  margin: 0 auto;
}
#bg_container .bg_inner span {
  height: 100%;
  position: absolute;
}
#bg_container .bg_inner span:first-child {
  border-left: solid 1px #e2e2e2;
  left: 0;
}
#bg_container .bg_inner span:last-child {
  border-right: solid 1px #e2e2e2;
  right: 0;
}
/*--------------------------------------------
	CONTACT AREA
--------------------------------------------*/
#contactArea {
  background: #A57A49;
  color: #fff;
  text-align: center;
  padding: 100px 0;
}
#contactArea .lead {
  margin-bottom: 40px;
}
/*--------------------------------------------
	FOOTER
--------------------------------------------*/
.totop {
  height: 43px;
  text-align: center;
  padding: 25px 0;
}
.totop span {
  width: 43px;
  height: 43px;
  position: relative;
  display: inline-block;
}
.totop span:before {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  width: 30px;
  height: 30px;
  border-right: solid 1px #222;
  border-top: solid 1px #222;
  transform: rotate(-45deg);
}
.totop:hover span {
}
#footer {
  position: relative;
  padding: 26px 0;
}
#footer #ftrLink {
  float: left;
  line-height: 1;
}
#footer #ftrLink a {
  color: #222;
}
#footer #copyright {
  float: right;
}
#footer #ftrLink a, #footer #copyright {
  line-height: 1;
  font-size: 14px;
}
#footer #ftrLink a:hover {
  color: #a57a44;
}
/*--------------------------------------------
	FRAMEWORK
--------------------------------------------*/
.for_sp {
  display: none;
}
/* ------ FRAMEWORK ------ */
#wrapper {
  position: relative;
  overflow: hidden;
}
#wrapper>#header, #wrapper>#contents, #wrapper>#contactArea, #wrapper>.totop, #wrapper>#footer {
  position: relative;
  z-index: 2;
}
.gInner {
  width: 1200px;
  margin: 0 auto;
}
#contents {
  padding: 3% 0 9%;
}
/* ------ TITLE ------ */
.ttl_01 {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  font-size: 36px;
  line-height: 1;
  margin-bottom: 20px;
  ;
  text-align: center;
}
.ttl_02 {
  font-weight: 400;
  font-size: 30px;
  line-height: 1.4;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.ttl_02:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 10%;
  height: 1px;
  background: #222;
}
/* ------ BUTTON ------ */
.btn_01 {
  line-height: 1;
}
.btn_01 .arrow {
  color: #fff;
  font-size: 14px;
  position: relative;
  padding: 0 1.5em 0.6em 0;
  line-height: 1;
  transition: .4s;
  display: inline-block;
}
.btn_01 .arrow:before, .btn_01 .arrow:after {
  content: "";
}
.btn_01 .arrow:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  height: 1px;
}
.btn_01 .arrow:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1px;
  background: #fff;
  height: 12px;
  transform: rotate(-45deg) translate3d(-3px, -0.5px, 0);
}
.btn_01 .arrow:hover {
  padding: 0 2.5em 0.6em 1em;
}
.mfp_buttons,.btn_02 {
  text-align: center;
  line-height: 1;
}
.btn_02 a {
  width: 300px;
  background: #a57a44;
  color: #fff;
  font-size: 14px;
  line-height: 4;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
*{box-sizing: border-box;}
#contact #sec_01 .mfp_buttons button.mfp_element_submit:hover ,#contact #sec_01 .mfp_buttons button.mfp_element_button:hover,.btn_02 a:hover {
  transform: scale(0.9);
}

.bnr_works{
  display: block;
}
.bnr_works img{
  width: 100%;
  transition: .4s;
}
.bnr_works:hover img{
  transform: scale(0.9);
}

/* ------ WORKS ------ */
.workBox ul {
  margin-bottom: 5%;
}
.workBox li {
  float: left;
  width: 400px;
}
.workBox li:nth-child(n+4) {
  margin-top: 3%;
}
.workBox .imgBox {
  width: 100%;
  height: 300px;
  position: relative;
}
.workBox .imgBox:before {
  content: "詳しく見る";
  text-align: center;
  color: #fff;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background: url(../Image/common/arrow.png) no-repeat center top 122px;
  background-color: rgba(0,0,0,0.6);
  padding-top: 178px;
  line-height: 1;
  font-size: 14px;
  font-weight: 300;
  transform: scale(0);
  transition: .4s;
}
.workBox .txtBox {
  padding: 18px;
  background: #fff;
  line-height: 1;
}
.workBox .txtBox span {
  line-height: 1;
  font-size: 14px;
  display: inline-block;
}
.workBox .txtBox .badge {
  background: #222;
  color: #fff;
  padding: 6px 12px 7px;
  margin-right: 15px;
}
.workBox .txtBox .ttl {
  line-height: 27px;
  color: #222
}
@media screen and (min-width : 768px ) {
  .workBox li a:hover .imgBox:before {
    transform: scale(1);
  }
}
/*--------------------------------------------
	UNDER FRAMEWORK
--------------------------------------------*/
.under #mainvisual {
width: 90%;
    height: 500px;
    margin: 0 0 0 auto;
    overflow: hidden;
    text-align: center;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.under .ttlBox {
  width: 50%;
  padding: 4% 0;
  margin: -4% auto 6%;
  position: relative;
  z-index: 3;
}
.under .ttlBox .pageTtl {
  font-weight: 400;
  text-align: center;
  font-size: 16px;
}
.under .ttlBox .pageTtl , .under .ttlBox div{
  position: relative;
  top: 30px;
  transition: all 1.5s 0s ease;
  opacity: 0;
}
.under .ttlBox.true .pageTtl , .under .ttlBox.true div{
  top: 0px;
  transition: all 1s 1s ease;
  opacity: 1;
}
.under .ttlBox:before {
  content: "";
  position: absolute;
  right:0;
  top:0;
  height: 100%;
  width: 0%;
  background: #fff;
  opacity: 0;
  transition: all 1.5s 0s ease;
}
.under .ttlBox.true:before {
  width: 100%;
  opacity: 1;
  z-index: -1;
  transition: all 1.5s 0s ease;
}



@media screen and (max-width : 767px ) {
/*--------------------------------------------
  sp
--------------------------------------------*/
body {
  min-width: 100%;
  font-size: 14px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;

}
.for_pc {
  display: none;
}
.for_sp {
  display: block;
}
#wrapper #header {
  padding: 12px 4%;
  position: relative;
  z-index: 5;
}
#header .hdr_logo {
  width: 100px;
}
#header .hdr_logo img {
  width: 200px;
  height: auto;
}
.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  position: absolute;
  top: 16px;
  right: 4%;
  width: auto;
  padding: 0;
  outline: 0;
  z-index: 9999;
}
#header #menu_btn .b1,
#header #menu_btn .b2,
#header #menu_btn .b3 {
  width: 26px;
  height: 3px;
  margin: 0 auto;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  transition-property: all;
  background-color: #A57A49;
}
#header #menu_btn .b2,
#header #menu_btn .b3 {
  margin: 5px auto 0;
}
.drawer-open #header #hdr_sp #menu_btn .b1,
.drawer-open #header #hdr_sp #menu_btn .b2,
.drawer-open #header #hdr_sp #menu_btn .b3 {
  background-color: #fff;
}
.drawer-open #header #menu_btn .b1 {
  -webkit-transform: rotate(225deg) translate3d(-6px, -6px, 0);
  -moz-transform: rotate(225deg) translate3d(-6px, -6px, 0);
  -ms-transform: rotate(225deg) translate3d(-6px, -6px, 0);
  transform: rotate(225deg) translate3d(-6px, -6px, 0)
}
.drawer-open #header #menu_btn  .b2 {
  opacity: 0;
  -moz-opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
}
.drawer-open #header #menu_btn .b3 {
  -webkit-transform: rotate(-225deg) translate3d(-5px, 5px, 0);
  -moz-transform: rotate(-225deg) translate3d(-5px, 5px, 0);
  -ms-transform: rotate(-225deg) translate3d(-5px, 5px, 0);
  transform: rotate(-225deg) translate3d(-5px, 5px, 0)
}
.drawer-nav {
  background: #A57A49;
  z-index: 999;
}
.drawer-nav li {
  border-bottom: 1px dashed #fff;
}
.drawer-nav li a {
  display: block;
  color: #fff;
  font-size: 16px;
  padding: 12px;
}
.drawer-menu {
  padding: 10%;
}
#fixed_header.fixed {
  display: none;
}
.ttl_01 {
  font-size: 26px;
  margin-bottom: 15px;
}
#contactArea {
  padding: 35px 0;
}
.gInner {
    width: 92%;
}
#footer #ftrLink {
  text-align: center;
  margin-bottom: 20px;
  float: none;
}
#footer #copyright {
  text-align: center;
}
.ttl_02 {
  font-size: 22px;
}
}