@charset "UTF-8";


/*
* smartphone
*/

br.SP { display: block; }
br.PC { display: none; }

#header #navWrap {
background-color: #fff;
    max-height: calc(100vh - 18vw);
    overflow: scroll;
position: absolute;
left: -100vw;
top: 100%;
transition: all .5s;
width: 100%;
z-index: -1; }
#header #navWrap.open {
left: 0; }
#header .inner {
padding: 2vw 5vw;
	 min-width: auto;} 

#logo {
max-width: 82%;
position: relative;
z-index: 100; } 
.menuSP {
display: block;
position: absolute;
right: 5vw;
top: 5vw;
width: 8vw;
height: 7vw; }
.menuSP i, .menuSP::before, .menuSP::after {
content: '';
display: block;
width: 100%;
height: 1.25vw;
background-color: #5b8834;
border-radius: 1.25vw;
position: absolute;
transition: all .4s; }
.menuSP::before {
top: 0; }
.menuSP i {
margin-top: -2px;
top: 50%; }
.menuSP::after {
bottom: 0; }
.menuSP.open::before {
transform: translateY(2.9vw) rotate(-45deg); }
.menuSP.open i {
opacity: 0; }
.menuSP.open::after {
transform: translateY(-2.9vw) rotate(45deg); }

#gnav {
right: auto;
bottom: auto;
position: relative; }
#gnav li {
display: block;
font-weight: normal;
margin-bottom: 3px; }

#gnav li.parent {
    position: relative;
}
#gnav li.parent.open::before {
    display: none;
}
#gnav li.parent::after {
}
#gnav li.open {
margin-bottom: 0; }
#gnav li.parent.open::after {
}
#gnav a {
background-color: #5b8834;
display: block;
line-height: 3;
margin-right: 0;
padding-left: 5vw; }
#gnav a:link, #gnav a:visited, #gnav a:hover, #gnav a:active {
color: #fff; }
#gnav a::before {
content: '>';
display: inline-block;
margin-right: .5em;
font-size: 1.25rem;}
#gnav span {
display: none; }
#gnav li.parent > span {
    display: block;
    position: absolute;
    right: 5%;
    top: .5em;
}
#gnav li.parent > span::before {
    background-color: #fff;
    border-radius: 100%;
    color: #5b8834;
    content: '+';
    display: block;
    line-height: 1.1;
    height: 1.2em;
    width: 1.2em;
    text-align: center; font-size: 2.5rem;
}
#gnav li.parent.open > span::before {
    content: '-';font-size: 2.5rem;
}



#gnav li.open > a {
    display: block;
    padding-bottom: 0;
    margin-bottom: 0;
}

#gnav li ul {
    display: none;
  padding: 0;
  position: relative;
  right: auto;
  top: auto;
}
#gnav li.business ul::before,
#gnav li.quality ul::before,
#gnav li.corporate ul::before {
    content: '';
}

#gnav li ul:before {padding-bottom: 0;}
#gnav li ul.img_menu li,#gnav li.quality ul.img_menu li { display: block; width: auto; margin: 0; text-align: left; letter-spacing: normal;}
#gnav li ul.img_menu li span img {display: none;}
#gnav li ul.txt_menu li {display: block; width: auto; margin: 0; text-align: left; letter-spacing: normal; border: none; padding: 0;
    border-bottom-color: #5b8834;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    margin-bottom: 0;
	 font-size: .9375rem;}
#gnav li ul.txt_menu li a {font-style: normal;   background-attachment: scroll;background-image: none ;background-position: left center;background-repeat: no-repeat;    padding-left: 5vw;}



#gnav li li {
    border-bottom-color: #5b8834;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    margin-bottom: 0;
	 font-size: .9375rem;
}
#gnav li li a {
    background-color: #fff;
}
#gnav li li a:link, #gnav li li a:visited, #gnav li li a:hover, #gnav li li a:active {
color: #5b8834; }

#headInquiry {
right: auto;
top: auto;
position: relative; }
#headInquiry li {
display: block;
margin-left: 0;
margin-bottom: 3px; }
#headInquiry a {
background-color: #5b8834;
display: block;
line-height: 3;
margin-right: 0;
padding-left: 5vw; }
#headInquiry a:link, #headInquiry a:visited, #headInquiry a:hover, #headInquiry a:active {
color: #fff; }
#headInquiry a::before {
content: '>';
display: inline-block;
margin-right: .5em; }

#footerNav {
display: none; } 

#bottomNav {display: block; width: 90%; margin: 0 auto;padding: 10px 5%; background-color: #e6e6e6;}
#bottomNav li {
    border-right:none;
    display: block;
    width: 90%; text-align: left; margin-bottom: .3em;}
#bottomNav li:first-child {border-left : none;}
#bottomNav li:last-child { display: none;}
#bottomNav li br { display: none;}
#bottomNav li a::before { content: '▶︎'; color: #5c8934; display: inline-block; padding-right: .4em;font-size: 75%; vertical-align:middle;}


#copyright small {
font-size: 3.125vw;
line-height: 1.3;
padding: .6em 0;
width: 90%; }

#topMain {
padding-top: 18vw; } 

#topMain ul {
height: auto;
padding-bottom: 42vw; }

#topMain li p {
font-size: 5vw;
left: 5%;
margin-left: auto; } 

#topService {
padding: 50px 5vw; }
#topService h2 {
font-size: 5.625vw; }
#topService p {
font-size: 4.375vw; }
#topService .col {
margin-right: 0;
width: auto; }

#topBuilding a,
#topExample a,
#topCorporate a,
#topRecruit a{ background-size: 150% auto; height: 200px;}

.bgContent#topBusiness {
height: 200vw; }

.bgContent#topQuality {
height: 250vw; }

.bgContent ul {
flex-wrap: wrap;
justify-content: space-around; } 

.bgContent li {
margin-bottom: 5vw; }

.col2 {
display: block; }
.col2 > section {
width: auto; }

#newsArea {
width: 90%; }
#newsArea.secound { margin: 0 auto 35px auto;}

#newsArea dt strong {
display: block;
font-size: 9.375vw;
margin-right: auto; }

#newsArea dt a {
font-size: 3.75vw;
top: auto;
margin-top: auto;
bottom: 5%; }

.breadcrumb li {
font-size: 3.125vw; padding: 0 .6em;}
.breadcrumb .home {
background-size: cover;
height: 5vw;
width: 5vw; }
.breadcrumb li:nth-child(4n) { display: none;}

#contents {
padding-top: 18vw;
min-width: auto;}

#mainTitle {
height: auto;
padding-top: 0;
padding-bottom: 36vw;
position: relative; }
#mainTitle span {
font-size: 4vw;
padding-left: 0;
position: absolute;
left: 5vw;
top: 2vw; }
#mainTitle strong {
font-size: 6vw;
padding-left: 0;
position: absolute;
left: 5vw;
top: 10vw; }

.content h2 {
font-size: 5vw; }
.content h3 {
font-size: 5vw; }
.content {
margin:15px auto 30px auto;
width: 90%;
min-width: auto;}


.imgList {
margin-bottom: 40px; }
.imgList li {
display: block;
font-size: 3.75vw;
margin-bottom: 20px;}
.imgList .contentInfo {
margin-left: 0; }

.etcList {
display: block; }
.etcList li {
margin-bottom: 36px;
width: auto;
font-size: 3.75vw;} 

.menuList li {font-size: 3.75vw;}
.menuList li em {font-size: 4.6875vw;}
.ph_box_profile .txtbox em.name {}
.ph_box_profile .txtbox h2.leadtxt { margin-bottom: 0;font-size: 150%;}
h2.leadtxt.profile { margin-bottom: 1.5em;font-size: 150%;}

/*
 * 　テキスト設定
 */
.content p{ font-size: 3.75vw;}
.content p.lead{ font-size: 3.75vw;line-height: 1.7;}
table{ font-size: 3.75vw;}
dl {font-size: 3.75vw;}

.content p.txtSS,.txtSS {font-size: 3.125vw !important;}
.content p.txtS,.txtS {font-size: 3.4375vw !important;}
.content p.txtM {font-size: 4.0625vw !important;}
.content p.txtL {font-size: 4.6875vw !important;}
.content p.txtLL {font-size: 5vw !important; margin-bottom: .5em;}
.content h2 { }
.content h3 { }
.content h4 { font-size: 4.6875vw;}
.content h5 { font-size: 4.6875vw;}
.border-box h6 {font-size: 5vw;}
.content h4.list_ttl {font-size: 4.6875vw;}
.content h1.title {font-size: 6.25vw;}
.content h1.title span { display: block;}
ul li {font-size: 3.75vw;}

#newsArea dd .date { display: block; padding-left: 0; width: 100%;}
#newsArea dd a { margin-top: 0;}


.fLeft { float: none; margin-right: auto;}
.fRight { float: none; margin-left: auto;}
.fLeft img { display: block; text-align: center; margin: 0 auto 10px auto;}
.fRight img { display: block; text-align: center; margin: 0 auto 10px auto;}

.phR { position: relative; right: auto; top: auto; text-align: center;}
.phR_box .txtbox { width: 100%; padding-right: 0;}
.phR_box .txtbox.onestop { min-height: auto;}
.phR_boxS .txtbox { width: 100%; padding-right: 0;}

.phL_box,.phL_boxS,.phL_boxSS { padding-bottom: 10px;}
.phL_box .txtbox {display: block; width: 100%; padding-left: 0%; }
.phL_box .phL { display: block; width: 100%; margin-bottom: 10px;}
.phL_boxS .txtbox {display: block; width: 100%; padding-left: 0%;}
.phL_boxS .phL { display: block; width: 100%; margin-bottom: 10px;}
.phL_boxSS .txtbox {display: block; width: 100%; padding-left: 0%; }
.phL_boxSS .phL { display: block; width: 100%; margin-bottom: 10px;}

ul.ph_3col li { display: block; width: 90%; margin:0 auto 25px auto;}
ul.ph_3col li.wph { width:90%;}
ul.ph_3col li img {max-width: 100%;}
ul.ph_3col li.right { margin-right: auto;}

.txt_2col .txtbox {display: block; width:90%; padding:0 0 0 0;}
.txt_4col li { display: block; width: 90%; padding-right: 0;}
.menuList li { display:  block; width: 90%; margin-right: 0; margin: 0 auto;}
.menuList li:nth-child(even) {margin-right: auto;}

.ph_box_profile { display: block; margin-bottom: 40px;}
.ph_box_profile .phL { display: block; vertical-align: top; width: 100%; padding-right: 0;}
.ph_box_profile .txtbox { display: block; vertical-align: bottom;} 


/*
 * 　btn
 */ 

.btnC {width: 90%;}
.btnC a {  width: 96%;}
.btnC.sizeS { width: 90%;}

.btnL { display: block; width: 90%; margin: 0  auto ;}
.btnL a { display: block;width: 100%; font-size: 4.0625vw; }
.btnL.sizeL {width: 100%;} .btnL.sizeL a { white-space: normal;}

.btn_box { display: block; margin: 0 0; width: 100%;}
.btn_box span { display:  block; padding: 0 0 0 0; max-width: 90%; vertical-align: middle; text-align: left;}
ul.btn_list { margin-bottom: 1em;}
ul.btn_list.col_3 li { width:90%; display: block; margin: 10px auto;}
ul.btn_list.col_2 li { width:90%; display: block; margin: 1% auto;}

h5.btn_ttl { display: block; margin:0 auto .5em auto; font-weight: bold; text-align: center; border: none;}
h5.btn_ttl::before { content: ' ' ; background-attachment: scroll; background-image: url(/img/ico_circle.png); background-position: left center; background-repeat: no-repeat; padding-left: 1.3em;}

.txtboxL,.txtboxL2 { display: block; width: 100%; float: none; margin-bottom: 1em;}
.btnbox_r { display: block; float: none; width: 80%; padding: 0 5%;}
.btn_box_s { display: block; width: 100%;}
.btn_box_s h5.btn_ttl {display: block; width: 90%; padding-right: 2%; text-align: center;}
.btn_box_s .btnbox_in { display: block; width: 90%; text-align: left; margin: 0 auto}
.btn_box_s .btnbox_in ul.btn_list { max-width: 240px; margin: 0 auto;}

/*
 * 　tabel
 */ 
.defTd { margin: 0 auto 25px auto; width: 100%;font-size: 3.75vw;}
.defTd th,.defTd td {}
.defTd.history th { display: inline-block;width: 9em; white-space: nowrap; -moz-text-align-last: left; text-align-last: left;padding-right: 0;}
.defTd.history td { display: block; width: 100%;}
.defTd.history td.month { display: inline-block;-moz-text-align-last: left; text-align-last: left;width: 20%; white-space: nowrap;}

.table_box .left_box,.table_box .right_box {width: 100%;display: block; margin-bottom: 15px;}

.listTd th { display: block; width: 100%;}
.listTd th span { display: inline-block; background-color: #5c8934; padding: .2em .6em; color: #fff; min-height: 3em; vertical-align: middle;}
.listTd td { display: block; width: 100%; padding: 18px 0; border-bottom: 2px #5c8934 dotted; }
.listTd tr:last-child td { border-bottom: none;}

.box_list span { display: block; width: 94%;margin-right:auto;}
.box_list span:nth-child(2n) { margin-right: auto;}

.herf_box { display: block; width: 90%; padding: 0 1.5%; margin: 0 auto;}

table.formTd th { display: block;width:90%;vertical-align: top;font-weight:normal;text-align:left;padding:12px 5%;border-top:1px #aaa solid;background-color:#ebebeb;}
table.formTd td {display: block;width:90%;padding:12px 5%;border-top:1px #aaa solid;background-color:#fff;}
table.formTd td.error {background-color:#fff0f0;}
table.formTd td.error span.astRed { display: block;}

.exmple_box { display: block; position: relative;  margin-bottom: 30px;}
.exmple_inner {background-color: #f5efe7; border-radius: 0 12px 12px 12px; padding: 2% 6% 4% 6%;}
.exmple_box .case_num { display: block; color: #fff; padding:0.5em .8em; line-height: 1em; background-attachment: scroll;
background-image: url(/img/renovation_example/case_bg.png); background-position: left top;
background-repeat: no-repeat;}
.content .exmple_box h2 { display: block; color: #8f671e; font-size: 137.5%; border-bottom: 2px #8f671e dotted; padding-bottom: .3em; margin-bottom: .5em;}

.exmple_ph { display: block; width: 94%; margin: 0 auto 15px auto;}
.exmple_ph li { display: block ; vertical-align: top; width: 90%; margin: 0 auto 15px auto;}
.exmple_ph li:first-child { background:none; padding-right: 0%; }
.exmple_ph li.before div { display: block; width: 100%; background-color: #fff;}
.exmple_ph li.after div { display: block; width: 100%; background-color: #fff;}
.exmple_ph li.before div img{ display: block;width: 100%; max-width: 100%;max-height: 100%;  margin: 0 auto; text-align: center; vertical-align: middle;}
.exmple_ph li.after div img{ display: block;width: 100%; max-width: 100%; max-height: 100%;  margin: 0 auto; text-align: center; vertical-align: middle;}

.bgcol {display: block; width: 90%; padding: 3%; margin: 15px auto;}

/*
 * 　アクセスページ
 */
.access_box .txtbox { display: block; letter-spacing: normal; width: 100%;min-height: auto;}
.access_box .txtbox .access_list { position: relative; bottom: auto; width: 100%;}
.access_box .mapbox { display: block; letter-spacing: normal; width: 90%; margin:10px auto;}
.access_box .mapbox iframe { width:100%;}


/*
 * カラー設置　recruit
 */
 
 .recruit_menuL li img { display: block;}
 .recruit_menuL li span { position: relative; display: block; margin: 10px auto; padding-bottom: 10px; right: auto; top: 0;-webkit-transform: translate(-0%,-0%);
-moz-transform: translate(-0%,-0%);
-ms-transform: translate(-0%,-0%);
-o-transform: translate(-0%,-0%);
transform: translate(-0%,-0%); }
 .recruit_menuS li { display: block; width: 90%; margin: 0 auto;}
 .recruit_menuS li:first-child { margin-left: auto;}
 
 
.interview_linkbox { display: block; position: relative;background-attachment: scroll; background-position: center center; background-repeat: repeat; padding: 10px 3% 10px 3%; margin-top: 30px;}
.interview_linkbox img { position: relative; left: auto; top: auto; display: block; margin-bottom: 10px; width: 100%;}
 .interview_linkbox h3.int_ttl { font-size: 7.5vw;}
 .interview_linkbox h3.int_ttl span { display: block; padding: 0;}
 .recruitTd iframe {max-width:100%;}
.int_imgttl { padding-top: 0;}
.int_imgttl img { position: relative; right: auto; top: auto;}
.int_imgttl em { margin-bottom: .5em;}
.int_imgttl p.name { font-size: 6.25vw;}
.int_imgttl p.name span { display: inline-block;}
dl.q_a dt { font-size: 4.0625vw;}
.recruit.cleaning dl.q_a dt span { display: block;margin-bottom: 10px;}
.w630 { max-width: 100%; }


#contents input[type="button"]{font-size: 3.75vw;}

.col2box {display: block; }
.col2box div.col {display: block; width: 100%; font-style: normal;}
.col2box div.col .btnL { min-width: auto;}
.col2box div.col:first-child {width: auto; }
.col2box div.col:nth-child(2) { width: auto; }


