/*
Theme Name: -kajima-
Theme URI: http://www.state-of-nature.com/
Author: State Of Nature Design
Author URI: http://www.state-of-nature.com/
Description: BB4 BASIC.
Version: 1R7
*/
@charset "UTF-8";
@import url("./css/uni.css");


/* -------------------------
 extra deco
---------------------------- */

.fixnav {
display:block;
width:60px;
height:442px;
z-index:9999;
position: fixed;
right: 0;
top: 180px;
}

.fixnav.fixed {
right:60px;
}

.fixnav a.fnr {
display:block;
width: 60px;
position: absolute;
left:0;
}

.fixnav a.fnr#fnr1 {
background:url(./img/element/sidenav.png) no-repeat top 0 left 0 #1E7FC4;
height:242px;
top: 0px;
}

.fixnav a.fnr#fnr2 {
background:url(./img/element/sidenav.png) no-repeat top -268px left 0 BB8E52;
height:174px;
top: 268px;
}


/* ------------------------------
  SPC
-------------------------------- */

.br_sp,
.btn_sp,
.sp_only {
display: none!important;
}

a.opabtn:hover {
opacity: 0.88;
}

a.imgbtn:hover {
box-shadow: 0 0 2px rgba(33,33,33,0.66);
}

a.drpbtn:hover{
-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.4));
-moz-filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.4));
-ms-filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.4));
filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.4));
}

a.txtbtn:hover{
text-decoration: underline;
}

li.break {
width: 100%!important;
height: 0!important;
padding:0!important;
margin:0!important;
}

/* ------------------------------
  SPC
-------------------------------- */

#anchor{
background:url(./img/element/anchor_logo.png) no-repeat center center;
width:180px;
height:190px;
position: fixed;
top: 0;
left: 0;
z-index:9999;
}

/* ------------------------------
  BASE
-------------------------------- */

body {
font-size: 15px;
}

header {
position: relative;
max-width: 1920px!important;
min-width:1280px!important;
}

header .row_inner{
position: relative;
max-width: 1920px!important;
min-width:1280px!important;
}

/* ------------------------------
  BX O/W
-------------------------------- */
.slider_inner {
position: relative;
left: 50%;
width: 3040px;
margin-left: -1520px;
}

.bx-wrapper {
position: relative;
margin: 0 auto;
-moz-box-shadow: none!important;
-webkit-box-shadow: none!important;
box-shadow: none!important;
border: none!important;
background: none!important;
}

/* -------------------------------
 uni
-------------------------------- */

.rows{
position: relative;
width:100%;
min-width:1280px;
max-width:1920px;
margin:0 auto;
}

.row_inner{
position:relative;
width: 1280px;
margin:0 auto;
line-height:2;
}

/* this
-------------------------------- */

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

.cattag{
display: inline-block;
width:80px;
height:28px;
line-height: 28px;
text-align: center;
color:#fff;
font-size:13px;
font-weight: normal;
letter-spacing: 0.03em;
}

/* header deco for uni
-------------------------------- */

h1, h2, h3{
font-size:22px;
font-weight: bold;
letter-spacing: 0.1em;
}

/* -------------------------------
 inner page header
-------------------------------- */

header{
position:relative;
width:100%;
height:150px;
margin:0 auto;
}

header .row_inner{
position: relative;
width:1280px;
height:690px;
margin:0 auto;
}

/* -------------------------------
 topnav
-------------------------------- */

#topnav {
display: block;
position: fixed;

top:0;

left: 0;
width:100%;
height:120px;
min-width:1280px;
margin:0 auto;
z-index:9999!important;
transition:0.4s;
opacity:1;
}

#topnav:hover{
/*
background-color:rgba(255, 255, 255, 0.94);
*/
}

#topnav.is-hide {
transform: translateY(-100%);
}

#topnav.is-fixed {
display: block;
position: fixed;
top: 0;
left: 0;
background-color:rgba(255,255,255,1);
}

/* topnav_inner
-----------------*/

#topnav .topnav_inner{
position: relative;
min-width: 1280px;
max-width:1920px;
height:120px;
margin:0 auto;
/*
background-color:#fff;
*/
}

#topnav .topnav_inner .gnav{
position: relative;
height:120px;
margin: 0 auto;
}


#topnav .topnav_inner h1{

display:none;
/*
letter-spacing: 0.08em;
font-size:14px;
font-weight: normal;
color:#111;
line-height:1.4em;
vertical-align: center;
z-index:99999;
display: block;
width:570px;
height:40px;
position: absolute;
top:15px;
right:420px;
*/
}

#topnav .topnav_inner .topnav_contact {
z-index:99998;
background:url(./img/element/header_tel.jpg) no-repeat center center;
display: block;
width:340px;
height:30px;
position: absolute;
top:10px;
right:90px;
}
#topnav .topnav_inner .topnav_contact a{
display: block;
width:200px;
height:24px;
position: absolute;
top:4px;
left:140px;
}


/* gnav ul
 (@ top and footer)
-----------------*/

#topnav .topnav_inner .gnav ul{
/*
position: relative;
float: right;
margin-right:20px;
margin-top:40px;
*/
position: absolute;
top:35px;
right:60px;
background:url(./img/element/gnav_menu_all.png) no-repeat left top;
width:970px;
height:50px;
}
#topnav.is-fixed .topnav_inner .gnav  ul{
background:url(./img/element/gnav_menu_all.png) no-repeat left top;
}

.gnav ul li{
position: relative;
display: block;
vertical-align: baseline;
color:#fff;
text-align: center;
padding:0;
margin: 0;
}

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

.gnav ul li a{
display:block;
height:50px;
position: absolute;
top:0;
cursor:pointer;
transition: 0.2s;
}

.gnav ul li a em{
display:block;
text-indent:200%;
white-space:nowrap;
overflow:hidden;
}

.gnav ul li.a1 a{ width:  68px; left:      0;}
.gnav ul li.a2 a{ width: 120px; left:  102px;}
.gnav ul li.a3 a{ width:  92px; left:  258px;}
.gnav ul li.a4 a{ width: 128px; left:  382px;}
.gnav ul li.a5 a{ width:  92px; left:  540px;}

.gnav ul li.a6 a{ width: 224px; left:  662px;}
.gnav ul li.a7 a{ width:  46px; left:  924px;}


.gnav ul li a::before {
background-color: rgba(200,160,99,0.8);
position: absolute;
bottom: -6px;
content: '';
display: block;
height: 2px;
width: 0;
transition: 0.1s all;
}

.gnav ul li a::before,
.gnav ul li a.current::before {
left: 0;
border-radius:0 3px 3px 0 / 0 3px 3px 0;
}

.gnav ul li a:hover::before,
.gnav ul li a.current::before {
width: 100%;
}


/* ------------------------------
 footer
-------------------------------- */

footer {
position:relative;
overflow: hidden;
background:url(./img/element/footer_bg.jpg) repeat-y center top #A28961;
}
@media screen and (max-width:1280px){
	footer {
		background-image:none;
		background-color:#A28961;
	}
}


footer .row_inner{
padding:20px 0;
}

/* footer infobox coinf
---------------------- */

footer .coinf{
position: relative;
overflow: hidden;
vertical-align: top;
display: inline-block;
width:350px;
padding-top:60px;
text-align: center;
/* background-color:rgba(1,1,200,.1); */
}

footer .coinf ul.uc01 {
display: block;
width:260px;
margin:0 auto;
}

footer .coinf ul.uc01 li {
display: block;
margin:0 auto;
color:#111;
text-align: center;
}

footer .coinf li p{
color:#fff;
}

footer .coinf li p.logo{
background:url(./img/element/footer_logo.png) no-repeat center center;
display: block;
width:200px;
height:120px;
margin:0 auto 10px;
}

footer .coinf li p.address{
font-size: 13px;
letter-spacing:0.07em;
font-weight: bold;
}

footer .coinf li a.to_map{
color:#fff;
font-size: 13px;
letter-spacing: 0.02em;
}

footer .coinf li ul.socs{
position: relative;
display: block;
width:164px;
height:33px;
margin:25px 30px;
}

footer .coinf li .socs a.ig{
background:url(./img/element/footer_sns.png) no-repeat left 0 top 0;
display: block;
width:33px;
height:33px;
position:absolute;
top:0;
left:56px; /* left:0; */

}

footer .coinf li .socs a.fb{
background:url(./img/element/footer_sns.png) no-repeat left -78px top 0;
display: block;
width:33px;
height:33px;
position:absolute;
top:0;
left:106px; /* left:78px; */
}

/*
footer .coinf li .socs a.tw{
background:url(./img/element/footer_sns.png) no-repeat left -152px top 0;
display: block;
width:42px;
height:33px;
position:absolute;
left:152px;
top:0;
}
*/

/* footer infobox poinf
---------------------- */

footer .plinf{
overflow: hidden;
display: inline-block;
vertical-align: top;
width:920px;
padding: 60px 0 60px 70px;
margin:0 auto;
border-left:2px solid rgba(255,255,255,0.2);
/* background-color:rgba(200,1,200,.1); */
}

footer .plinf ul{
overflow: hidden;
display: inline-block;
vertical-align: top;
width:200px;
}
footer .plinf ul.ul01{ width:290px; }
footer .plinf ul.ul02{ width:220px; }
footer .plinf ul.ul03{ width:310px; }

footer .plinf ul li{
position: relative;
padding-left:0;
line-height:2.2em;
list-style-type: none;
color:#fff;
list-style-position: inside;
}

footer .plinf li.main{
text-indent: 0;
}

footer .plinf li.sub{
text-indent: 22px;
}

footer .plinf li.tit{
list-style-type: none;
margin-bottom:10px;
}

footer .plinf li h3{
font-size:24px;
letter-spacing: 0.02em;
font-family: Arial, sans-serif;
font-weight: normal;
color:#fff;
list-style-type: none;
}

footer .plinf li a{
position: relative;
color:#fff;
}

footer .plinf li a:hover{
text-decoration: underline;
}

footer .plinf li.main::before{
content:"＞";
letter-spacing: 0.2em;
}
footer .plinf li.sub::before{
content:"＞";
}

footer .plinf li.tel {
margin-bottom:10px;
}

footer .plinf li.tel a{
background:url(./img/element/footer_tel.png) no-repeat left center;
display: block;
width:267px;
height:30px;
margin-top:6px;
}

footer .plinf li.mail a{
background:url(./img/element/footer_mail.png) no-repeat left center;
display: block;
width:304px;
height:53px;
margin-top:6px;
}

/* footer copy
---------------------- */

footer .copy {
background-color:#F7F7F7;
height:60px;
}

footer .copy .row_inner{
padding: 0!important;
}

footer .copy .row_inner p{
font-size:12px;
color:#0F0F0F;
line-height:60px;
letter-spacing: 0.02em;
text-align: center;
}

footer .ftspc {
background-color:#F7F7F7;
height:0;
}


/* -------------------------------
 Stcky
-------------------------------- */

#sticky {
background-color:rgba(255, 255, 255, 0.5);
width:100%;
height:128px;
position:fixed;
bottom:0;
margin:auto;
z-index:99999;
}

#sticky ul {
position: relative;
display:block;
height:128px;
width:1218px;
margin: 0 auto;
z-index:99999;
}

#sticky .row_inner ul li a {
position:absolute;
top:0;
height:128px;
display:block;
transition: 0.2s;
}

#sticky .row_inner ul li a:hover {
opacity:0.77;
}

#sticky .row_inner ul li a.sticky_inq{
background:url(./img/element/btn_sticky.png) left -200px top 0;
left:200px;
width:500px;
}

#sticky .row_inner ul li a.sticky_tel{
background:url(./img/element/btn_sticky.png) left -720px top 0;
left:720px;
top:0;
width:500px;
height:128px;
}

#sticky .row_inner ul li span.sticky_logo{
background:url(./img/element/btn_sticky.png) left 0 top 0;
position:absolute;
left:0;
top:0;
display:block;
width:210px;
height:128px;
}

/*--------------------------------
ScrollToTop
(2)180x180
-------------------------------- */

#pagetop {
position: fixed;
bottom: 160px;
right: 40px;
font-size: 1em;
opacity: 0.8;
z-index:9999;
}

#pagetop a {
background:url(./img/element/btn_pagetop_square.png) no-repeat center center;
background-size:73px 73px;
width: 73px;
height: 73px;
display: block;
}

#pagetop a:hover {
opacity: 1;
}

/*------------------------
 drawer
-------------------------*/

.drawer {
margin:0;
padding:0;
outline:none;
border:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
text-align:left;
text-decoration:none;
list-style:none;
}

.drawer .drawer_bg {
width:600px;
height:100%;
position:fixed;
z-index:999;
background-color:rgba(0,0,0,0);
display:none;
top:0;
left:0;
}

.drawer a.drawer_tab {
display: block;
position:fixed;
overflow: hidden;
right:0;
top:0;
padding:8px 12px;
border:none;
outline:none;
color:#fff;
background:#111;
z-index:99999;
cursor:pointer;
}

.drawer a.drawer_tab .drawer_button{
display:block;
background:0 0;
width:40px;
height:44px;
letter-spacing:0.1em;
text-align:center;
color:#fff;
}

.drawer a.drawer_tab .drawer_button p{
display:block;
font-size: 12px;
letter-spacing:0.06em;
line-height: 1.1em;
text-align:center;
color:#fff;
}

.drawer a.drawer_tab .drawer_button .drawer_bar{
display:block;
height:2px;
margin:7px 0;
transition:all .2s;
transform-origin:0 0;
background-color:#fff;
}

.drawer a.drawer_tab.active .drawer_button .drawer_bar{
width:40px;
}

.drawer a.drawer_tab .drawer_button .drawer_bar1{
background-color:#888;
}

.drawer a.drawer_tab .drawer_button .drawer_bar2{
background-color:#bbb;
}

.drawer a.drawer_tab .drawer_button .drawer_bar3{
background-color:#fff;
}

.drawer a.drawer_tab.active .drawer_button .drawer_bar1{
transform:rotate(28deg);
background-color:#fff;
}
.drawer a.drawer_tab.active .drawer_button .drawer_bar2{
opacity:0
}
.drawer a.drawer_tab.active .drawer_button .drawer_bar3{
transform:rotate(-28deg);
}

.drawer a.drawer_tab .drawer_text{
display: block;
font-size: 12px;
font-weight: bold;
line-height: 1.6em;
letter-spacing: 0.2em;
-webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
margin-top:20px;
height:130px;/*ie*/
}

.drawer a.drawer_tab .drawer_text_open{
display:block;
}

.drawer a.drawer_tab.active .drawer_text_open{
display:none;
}

.drawer a.drawer_tab .drawer_text_close{
display:none;
}

.drawer a.drawer_tab.active .drawer_text_close{
display:block;
}

.drawer .drawer_wrap{
width:100%;
height:100%;
transition:all .2s;
position:fixed;
top:0;
left:0;
z-index:9999;
background:rgba(1,1,1,0.98);
}

.drawer .drawer_wrap .inner{
width:680px;
height:700px;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
z-index:1000;
background:rgba(1,1,30,0);
}

.drawer .drawer_wrap{
transform:translate(-100%);
right:0;
opacity:1;
}

.drawer .drawer_wrap.open{
transform:translate(0);
display:block;
opacity:1;
}

.drawer_wrap a.drawer_logo{
background:url(./img/element/logo_small.png) no-repeat center center;
position: relative;
display:block;
width:60px;
height:60px;
margin:0 auto 20px;
opacity: 1;
cursor:pointer;
transition: 0.2s;
}

.drawer_wrap ul.drawer_nav{
display:block;
position: relative;
font-size:16px;
line-height: 60px;
overflow: hidden;
}
.drawer_wrap ul.drawer_nav.nav_one{
position: relative;
padding-bottom: 30px;
margin:0 auto;
}
.drawer_wrap ul.drawer_nav.nav_one:after{
content:"";
display: block;
width:60px;
height:1px;
position: absolute;
left:0;
right:0;
bottom:0;
margin:auto;
background-color:#0F7C39;
}

.drawer_wrap ul.drawer_nav.nav_two{
padding-top:30px;
margin:0 auto 70px;
}

.drawer_wrap ul.drawer_nav li{
position: relative;
overflow: hidden;
display:block;
padding:12px 0;
}

.drawer_wrap ul.drawer_nav li a{
display: block;
text-decoration: none;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size:18px;
color:#fff;
text-align: center;
line-height:1.5em;
cursor:pointer;
}

.drawer_wrap ul.drawer_nav li a:hover{
text-decoration: underline;
}

.drawer_wrap ul.drawer_nav li a em{
display:block;
font-size:14px;
color:#C9BC9C;
}

.drawer_wrap ul.drawer_nav li a:hover {
opacity: 1;
}

.drawer_wrap ul.drawer_nav li a.closebtn span{
position: relative;
display:block;
font-size:10px;
color:#C9BC9C;
text-indent: 24px;
}
.drawer_wrap ul.drawer_nav li a.closebtn span::before{
content:"";
background:url(./img/element/drawer_btn_wrap_close.png) no-repeat center center;
display:block;
width:24px;
height:24px;
position: absolute;
left:80px;
top:0;
}

.drawer_wrap .drawer_link{
position: relative;
display:block;
width:680px;
height:60px;
margin:0 auto;
}

.drawer_wrap .drawer_link a.tel{
background:url(./img/element/drawer_links.png) left 0 top 0;
display:block;
width:290px;
height:59px;
position: absolute;
top:0;
left:0;
}

.drawer_wrap .drawer_link a.form{
background:url(./img/element/drawer_links.png) left -384px top 0;
width:297px;
height:59px;
position: absolute;
top:0;
left:384px;
}

.drawer_wrap .drawer_link a:hover{
opacity: 0.77;
}


/* for uni blog list unit
-------------------------------- */

.works2list{
position:relative;
overflow:hidden;
margin:0 auto;
}

.works2ul{
position:relative;
overflow:hidden;
}

.works2list  .works2li{
position: relative;
display:block;
float:left;
width:390px;
margin:20px 22px;
box-shadow: 0 2px 6px rgba(60, 60, 60, 0.2);
}

.works2list  .works2li a{
display: block;
overflow: hidden;
padding:0;
}

.works2list  .works2li a:hover{
opacity: 0.8;
transition: 0.3s;
}

@media screen and (max-width:1770px){
	.works2list{
	width:1280px;
	}

	.works2list  .works2li{
	margin:20px 18px;
	}
}

@media screen and (min-width:1771px){
	.works2list{
	width:1740px;
	}
	.works2list  .works2li{
	margin:20px 22px;
	}
}

.works2list .works2li a img{
display: block;
position: relative;
}

.works2list .works2li a img.fitimg{
width: 390px;
height:260px;
object-fit: cover;
}

.works2list .works2li .rectimg{
position: relative;
}

.works2list .works2li .rectimg .cattag{
position: absolute;
bottom:4px;
left:4px;
}

.works2list .works2li .desc{
overflow: hidden;
display: block;
height:60px;
padding:10px;
background-color: #fff;
}

.works2list .works2li h3,
.works2list .works2li h4 {
overflow: hidden;
display:block;
height:70px;
font-size:15px;
line-height:40px;
font-weight:bold;
text-align: center;
padding:0;
margin:0;
}


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


.blog2list  .blog2li{
position: relative;
display:block;
width:100%;
overflow:hidden;
padding:30px 10px;
background-color: #F9F8F4;
border-bottom:1px solid #eee;
}

.blog2list .blog2li a{
display: block;
padding:0;
}

.blog2list .blog2li a:hover{
opacity: 0.8;
transition: 0.3s;
}


/* ---// for rect and cut img-- */

.blog2list .blog2li .rectimg {
position: relative;
}

.blog2list .blog2li a:hover img{
opacity:0.74;
transition:0.3s;
text-decoration: none;
}

.blog2list .blog2li img.fitimg{
display: block;
position: absolute;
width: 270px;
height:180px;
}

.blog2list .blog2li .rectimg .cattag{
position: absolute;
top:-4px;
left:-4px;
}

/* ---for rect and cut img //-- */

.blog2list .blog2li .desc{
overflow: hidden;
position: relative;
float: right;
width:560px;
height:180px;
padding:10px 20px 10px 20px;
margin:0;
text-align: left;
}

.blog2list .blog2li .desc h3{
overflow: hidden;
display:block;
height:55px;
font-size:18px;
font-weight: bold!important;
line-height:1.6em;
font-weight:normal;
text-align: left;
padding:0;
margin:0;
margin-bottom: 15px;
}

.blog2list .blog2li .desc span.cont{
overflow: hidden;
position: relative;
display: block;
height:54px;
font-size:14px;
color:#666;
line-height:1.8em;
text-align: left;
padding:0;
margin-bottom:10px;
}

.blog2list .blog2li .desc span.date{
font-size:13px;
font-weight: normal;
color:#666;
line-height:1.8em;
letter-spacing: 0.02em;
text-align: left;
display: block;
padding:0;
margin-bottom: 10px;
}

.blog2list .blog2li .desc::after{
background:url(./img/element/list_readmore.png) no-repeat center center;
width:126px;
height:20px;
content:"";
position: absolute;
bottom:10px;
right:25px;
}

/*------------------------
$ >> PAGE UNI
-------------------------*/

/* intro_uni
-------------------------------- */

.intro_uni{
overflow: hidden;
margin:0 auto 20px;
}

.intro_uni h3{
display: block;
margin:20px auto 20px;
text-align: center;
font-size: 22px;
}

.intro_uni h4{
display: block;
margin:20px auto 20px;
text-align: center;
font-size: 11px;
font-weight: bold;
color:#A38A61;
}

.intro_uni p.greet {
display: block;
width:780px;
position: relative;
text-align: center;
font-weight: normal;
letter-spacing: 0.02em;
line-height: 2em;
margin:30px auto 20px;
}

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

/*------------------------
 ast_link(UNIT)
-------------------------*/

#ast_link {
overflow: hidden;
margin:0 auto;
}

#ast_link ul{
position: relative;
overflow: hidden;
display: block;
width:1240px;
text-align: justify;
margin:100px auto 20px;

}

#ast_link ul li {
position: relative;
overflow: hidden;
display: inline-block;
vertical-align: top;
}

#ast_link ul li a{
display: block;
width:589px;
height:106px;
}
#ast_link ul li.link1 a{ background: url(./img/element/ast_link_works.png) no-repeat center center #ffa; }
#ast_link ul li.link2 a{ background: url(./img/element/ast_link_reform.png) no-repeat center center #ffc;}


/*--------------------------------
 ast_contact(UNIT) with uni class
---------------------------------*/

#ast_contact {
overflow: hidden;
margin:0 auto;
}

#ast_contact h3 {
background:url(./img/element/ast_contact_tit.png) no-repeat center center;
width:200px;
height:100px;
margin:80px auto 30px;
}

ul.contact_bin {
overflow: hidden;
position: relative;
width:400px;
margin:20px auto 50px;
text-align: center;
}

ul.contact_bin li {
position: relative;
display: block;
}

ul.contact_bin li a{
overflow: hidden;
display: block;
margin:10px auto 30px;
}

ul.contact_bin li.link1 a{
position: relative;
background: url(./img/element/ast_contact_tel.png) no-repeat center center;
width:304px;
height:70px;
}

ul.contact_bin li.link2 a{
background: url(./img/element/ast_contact_mail.png) no-repeat center center;
width:304px;
height:53px;
}
