@charset "UTF-8";

/* --------------------------------------------------
 Base
-------------------------------------------------- */
body,ol,ul,dl,li,dt,dd,table,th,td,input,textarea,select,h1,h2,h3,h4,h5,h6,input,textarea,submit,reset{
color:#222;
font-weight:normal;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
-webkit-text-size-adjust: none;
}

body{
background-color:#fff;
min-width:320px;
font-size:85%;
line-height:1.5;
text-align:center;
word-wrap:break-word;
}

input,
textarea,
select{
color:#222;
}

ol{
margin:0 0 0 2em;
}

ol > li{
list-style:decimal outside;
margin:0 0 5px;
}

a:link,
a:visited{
color:#222;
text-decoration:underline;
}

a:hover,
a:active{
color:#222;
text-decoration:none;
}

em{
font-style:normal;
font-weight:bold;
color:#d30;
}

strong{
font-style:normal;
font-weight:bold;
}


/* --------------------------------------------------
 Wrapper
-------------------------------------------------- */
#wrapper{
max-width:640px;
min-width:320px;
margin:0 auto;
}


/* --------------------------------------------------
 Header
-------------------------------------------------- */
header{
width:100%;
max-width:640px;
background:#2b5807;
z-index:10;
}

/* ロゴ --------------- */
header .logo{
display:block;
float:left;
width:40%;
padding:5% 2% 0;
}

/* アイコン --------------- */
header .tel{
display:block;
float:right;
width:43%;
padding:2%;
}


/* --------------------------------------------------
 Contents
-------------------------------------------------- */
#contents{
clear:both;
position:relative;
padding-top:0;
text-align:left;
}


/* --------------------------------------------------
 Box
-------------------------------------------------- */
.blcComm{
margin:0 4% 4%;
}


/* --------------------------------------------------
 Other Classes
-------------------------------------------------- */
/* クリアーフィックス --------------- */
.clearFix:after{
content: "";
clear: both;
display: block;
}

/* クリアー --------------- */
.clear{
clear:both;
}

/* 非表示 --------------- */
.hidden{
position:absolute;
text-indent:-9999px;
overflow:hidden;
}


/* --------------------------------------------------
 catchBlc
-------------------------------------------------- */
#catchBlc section{
box-shadow:rgba(0,0,0,0.2) 0 2px 5px;
}

#catchBlc section h1{
padding:1%;
background:#2b5807;
border-top-left-radius:3px;
border-top-right-radius:3px;
text-align:center;
font-size:140%;
font-weight:bold;
color:#fff;
}

#catchBlc section dl{
padding:2% 5%;
}

#catchBlc section dt{
float:left;
font-weight:bold;
}

#catchBlc section dd{
padding:0 0 2% 4.5em;
}

/* --------------------------------------------------
 followBlc
-------------------------------------------------- */
#followBlc section{
box-shadow:rgba(0,0,0,0.2) 0 2px 5px;
text-align:center;
}

#followBlc h1.office{
margin:0 0 3%;
padding:1%;
background:#0b354f;
border-top-left-radius:3px;
border-top-right-radius:3px;
text-align:center;
font-size:140%;
font-weight:bold;
color:#fff;
}

#followBlc section p{
padding:0 3%;
}

#followBlc section dl{
padding:2% 5%;
}

#followBlc section dt{
float:left;
font-weight:bold;
text-align:left;
}

#followBlc section dd{
padding:0 0 2% 4.5em;
text-align:left;
}



/* --------------------------------------------------
 contactBlc
-------------------------------------------------- */
.contactBlc{
margin:4%;
}

.contactBlc p{
display:block;
position:relative;
padding-top:58.6206%;
background:url(../img/contact_base.png) no-repeat;
background-size:100%;
}

.contactBlc img{
display:block;
position:absolute;
left:50%;
bottom:6%;
margin-left:-45%;
}


/* --------------------------------------------------
 attentionBlc
-------------------------------------------------- */
#attentionBlc{
background-image:url(../img/attention_bg.jpg), url(../img/attention_bg2.jpg);
background-repeat:no-repeat, repeat-y;
background-position:left top, left top;
background-size:100%, 100%;
}

#attentionBlc h1{
padding-top:5%;
text-align:center;
}

#attentionBlc .catch{
margin-top:1%;
text-align:center;
}

#attentionBlc .txt{
width:85%;
margin:4% auto 0;
}

#attentionBlc .img{
padding:4% 0;
text-align:center;
}

#attentionBlc .img img:first-child{
margin-bottom:1em;
}


/* --------------------------------------------------
 ownerBlc
-------------------------------------------------- */
#ownerBlc{
background:url(../img/owner_bg.jpg) no-repeat 100% 110px;
}

#ownerBlc > h1{
position:relative;
padding:10px 0;
background:#2b5807;
text-align:center;
box-shadow:rgba(0,0,0,0.18) 0 5px 6px;
}

#ownerBlc > h1:after{
position:absolute;
width:0;
height:0;
left:50%;
bottom:-33px;
margin-left:-20px;
content:"";
border:solid 20px transparent;
border-top:#2b5807 solid 15px;
}

#ownerBlc .inner{
margin:4%;
padding:4%;
background:rgba(255,255,255,0.8);
box-shadow:rgba(0,0,0,0.18) 0 5px 6px;
border-radius:5px;
font-size:90%;
}

#ownerBlc .inner p{
margin-bottom:1em;
}

#ownerBlc .em{
font-size:120%;
font-weight:bold;
color:#eb6100;
}

#ownerBlc .inner ul{
margin-bottom:1em;
padding:2% 1%;
border:#eee solid 5px;
border-radius:5px;
}

#ownerBlc > p{
margin:4% 0;
text-align:center;
}


/* --------------------------------------------------
 pointBlc
-------------------------------------------------- */
#pointBlc{
background:url(../img/point_bg.jpg) no-repeat center 10%;
background-size:100%;
}

#pointBlc > h1{
position:relative;
padding:10px 0;
background:#407c0a;
text-align:center;
}

#pointBlc > h1:after{
position:absolute;
width:0;
height:0;
left:50%;
bottom:-33px;
margin-left:-20px;
content:"";
border:solid 20px transparent;
border-top:#407c0a solid 15px;
}

#pointBlc > .catch{
padding:20px 0 10px;
background:#2b5807;
text-align:center;
}

#pointBlc section{
margin:4%;
padding:4% 5%;
background-image:url(../img/frm.png), url(../img/frm.png), url(../img/frm_bg.png);
background-repeat:no-repeat, no-repeat, repeat-y;
background-position:left top, left bottom, left top;
background-size:100%, 100%, 100%;
box-shadow:rgba(0,0,0,0.2) 0 10px 8px -4px;
}

#pointBlc section h1{
margin:-2.5% 0 0 -8%;
}

#pointBlc section .txt{
margin:4% 0;
}

#pointBlc section .img{
padding:2% 0;
text-align:center;
}

#pointBlc section:nth-of-type(1) .img img{
max-width:332px;
}

#pointBlc section:nth-of-type(2) .img img{
max-width:345px;
}

#pointBlc section:nth-of-type(3) .img img{
max-width:356px;
}

#pointBlc+.contactBlc{
margin-top:-4%;
}


/* --------------------------------------------------
 methodBlc
-------------------------------------------------- */
#methodBlc{
position:relative;
background:url(../../img/method_bg.gif);
z-index:-2;
}

#methodBlc > h1{
padding:10px 0;
background:#2b5807;
text-align:center;
}

#methodBlc > section{
position:relative;
margin:4% 4% 40px;
padding:4%;
background:#fff;
box-shadow:rgba(0,0,0,0.2) 0 0 5px;
}

#methodBlc > section:before, #methodBlc > section:after{
position:absolute;
width:49%;
height:10px;
left:10px;
bottom:17px;
content:"";
box-shadow:rgba(0,0,0,0.3) 0 20px 15px;
transform: rotate(-0.5deg);
z-index:-1;
}

#methodBlc > section:after{
left:auto;
right:10px;
transform:rotate(0.5deg);
}

#methodBlc > section > div:last-of-type:after{
position:absolute;
width:0;
height:0;
left:50%;
bottom:-90px;
margin-left:-60px;
content:"";
border:solid 60px transparent;
border-top:#2b5807 solid 30px;
}

#methodBlc .img{
width:90%;
max-width:290px;
margin:15px auto;
text-align:center;
}

#methodBlc .img img{
border:#fff solid 3px;
box-shadow:rgba(0,0,0,0.3) 0 0 5px;
}

#methodBlc .img li:nth-of-type(2){
position:relative;
float:left;
width:33%;
margin:-20px 0 0 15%;
}

#methodBlc .img li:nth-of-type(3){
position:relative;
float:right;
width:33%;
margin:-20px 15% 0 0;
}

#methodBlc .img li:nth-of-type(2) img:first-child,
#methodBlc .img li:nth-of-type(3) img:first-child{
max-width:177px;
}

#methodBlc .img li:nth-of-type(2) img:last-child,
#methodBlc .img li:nth-of-type(3) img:last-child{
margin-top:5px;
border:none;
box-shadow:none;
}

#methodBlc > section .txt p{
margin-bottom:20px;
}

#methodBlc > section .txt p:last-of-type{
margin-bottom:0;
}

#methodBlc > :last-child{
margin:35px 0 0;
padding:15px 4% 0;
background:#fff;
text-align:center;
}


/* --------------------------------------------------
 gainaBlc
-------------------------------------------------- */
#gainaBlc{
padding-bottom:6%;
background-color:#061e32;
background-image:url(../img/gaina_bg.jpg), url(../img/gaina_bg2.jpg);
background-repeat:no-repeat, no-repeat;
background-position:center top, center bottom;
background-size:100%, 100%;
box-shadow:rgba(0,0,0,0.2) 0 3px 7px;
text-align:center;
}

#gainaBlc > h1+p{
margin:4% 0 5%;
}

#gainaBlc .catch{
position:relative;
display:inline-block;
margin-top:5%;
padding:0 5px;
font-size:120%;
font-weight:bold;
color:#fff;
background:#061e32;
z-index:1;
}

#gainaBlc .img{
margin:-15px auto 5%;
padding-top:5%;
border-top:#fff solid 1px;
}

#gainaBlc .img img{
border:#fff solid 2px;
}

#gainaBlc .img{
letter-spacing:-0.4em;
}

#gainaBlc .img li{
display:inline-block;
width:30%;
margin-right:2.3%;
}

#gainaBlc .img li:last-child{
margin-right:0;
}

#gainaBlc .txt li{
margin-top:4%;
color:#fff;
}

#gainaBlc .txt li:first-child{
padding:0 4%;
}


/* --------------------------------------------------
 managerBlc
-------------------------------------------------- */
#managerBlc{
margin-bottom:4%;
padding-bottom:4%;
background:url(../img/manager_bg.jpg);
}

#managerBlc section{
position:relative;
margin:-6.5% 4% 0;
padding:5%;
background-image:url(../img/manager_frm.png), url(../img/manager_frm.png), url(../img/manager_frm_bg.png);
background-repeat:no-repeat, no-repeat, repeat-y;
background-position:left top, left bottom, left top;
background-size:100%, 100%, 100%;
box-shadow:rgba(0,0,0,0.2) 0 3px 7px;
}

#managerBlc section h1{
text-align:center;
}

#managerBlc section p{
padding:4% 1% 0;
}

#managerBlc :last-child{
position:relative;
margin-top:-2%;
}


/* --------------------------------------------------
 greetingBlc
-------------------------------------------------- */
#greetingBlc .blcComm{
margin-left:0;
margin-right:0;
padding:5%;
box-shadow:rgba(0,0,0,0.2) 0 8px 8px -4px;
}


/* --------------------------------------------------
 endorseBlc
-------------------------------------------------- */
#endorseBlc h1{
text-align:center;
}

#endorseBlc ul{
margin-top:-8%;
}

#endorseBlc .frm{
margin:4%;
padding:4% 0;
background:url(../img/endorse_frm_top.png), url(../img/endorse_frm_btm.png);
background-repeat:no-repeat, no-repeat;
background-position:center top, center bottom;
background-size:100%, 100%;
}

#endorseBlc .inner{
padding:0 4%;
background:url(../img/endorse_frm_bg.png) repeat-y;
background-size:100%;
text-align:center;
}

#endorseBlc .frm img{
display:block;
width:90%;
max-width:350px;
margin:0 auto 3%;
border:#fff solid 5px;
box-shadow:rgba(0,0,0,0.2) 1px 2px 5px;
}

#endorseBlc .frm+p{
margin-left:2%;
}

#endorseBlc .txt{
margin:3% 4% 4%;
padding:4%;
background:#f3f3f3;
border-radius:8px;
text-align:left;
}


/* --------------------------------------------------
 introBlc
-------------------------------------------------- */
#introBlc h1{
width:95%;
margin-left:1%;
}

#introBlc > div{
margin-top:-15%;
padding:5%;
background:url(../img/intro_bg.jpg);
}

/* お客様の声 --------------- */
#introBlc .voice li{
position:relative;
margin-bottom:3%;
padding:3% 0;
background-image:url(../img/frm.png), url(../img/frm.png), url(../img/frm_bg.png);
background-repeat:no-repeat, no-repeat, repeat-y;
background-position:left top, left bottom, left top;
background-size:100%, 100%, 100%;
box-shadow:rgba(0,0,0,0.2) 0 8px 8px -4px;
}

#introBlc .voice li > img{
display:block;
margin:0 auto 3%;
border:#fff solid 5px;
box-shadow:rgba(0,0,0,0.2) 0 2px 5px;
}

#introBlc .voice p{
padding:0 5%;
}

#introBlc .voice .name{
text-align:right;
}

/* 工事事例 --------------- */
#introBlc .case h1{
width:107.6388%;
margin-left:-3.7%;
}

#introBlc .case ul{
margin:-3% auto 0;
padding:5%;
background:url(../img/case_bg.gif);
box-shadow:rgba(0,0,0,0.2) 0 0 7px;
}

#introBlc .case li{
text-align:center;
}

#introBlc .case li:first-child:after{
content:url(../img/case_arrow.png);
}

#introBlc .case li img:nth-child(1){
display:block;
margin:0 auto;
}

#introBlc .case li img:nth-child(2){
display:block;
width:68%;
margin:2% auto;
border:#fff solid 5px;
box-shadow:rgba(0,0,0,0.2) 0 2px 5px;
}

#introBlc .case .before{
width:25%;
max-width:96px;
}

#introBlc .case .after{
width:25%;
max-width:79px;
}

/* 防水工事手順 --------------- */
#introBlc .flow h1{
width:107.6388%;
margin-left:-3.7%;
}

#introBlc .flow .inner{
margin:-3% auto 3%;
padding:5%;
background:url(../img/case_bg.gif);
box-shadow:rgba(0,0,0,0.2) 0 0 7px;
}

#introBlc .flow .list{
margin-top:3%;
padding:5px;
background:#fff;
box-shadow:rgba(0,0,0,0.2) 0 0 7px;
}

#introBlc .flow table{
width:100%;
}

#introBlc .flow tr:nth-child(even){
background:#e7eddc;
}

#introBlc .flow th{
width:6%;
padding:3px;
background:#f39d22;
border-bottom:#fff solid 1px;
text-align:center;
vertical-align:middle;
font-size:90%;
font-weight:bold;
color:#fff;
white-space:nowrap;
}

#introBlc .flow td{
width:44%;
}

#introBlc .flow td a{
display:block;
padding:4px 8px;
font-size:90%;
text-decoration:none;
}

/* 推薦 --------------- */
#introBlc .recommend{
padding:1% 5% 5%;
background-image:url(../img/frm.png), url(../img/frm.png), url(../img/frm_bg.png);
background-repeat:no-repeat, no-repeat, repeat-y;
background-position:left top, left bottom, left top;
background-size:100%, 100%, 100%;
box-shadow:rgba(0,0,0,0.2) 0 8px 8px -4px;
}

#introBlc .recommend > img{
display:block;
width:60%;
max-width:240px;
margin:0 auto;
}

#introBlc .recommend h1{
width:100%;
margin:3% 0 0;
}

#introBlc .recommend .name{
margin:2% 0;
font-weight:bold;
color:#2b5807;
}


/* --------------------------------------------------
 discountBlc
-------------------------------------------------- */
#discountBlc{
padding:5% 0;
background:url(../img/discount_bg.jpg) no-repeat center top;
background-size:100%;
text-align:center;
}

#discountBlc > img{
margin-top:3%;
}

#discountBlc h1{
width:85%;
margin:0 auto;
}

#discountBlc h1+img{
width:30%;
max-width:179px;
}


/* --------------------------------------------------
 formBlc
-------------------------------------------------- */
#formBlc{
margin:0 5% 5%;
padding:3% 5% 5%;
border:#6f8d56 solid 5px;
border-radius:8px;
background:url(../img/form_bg.jpg) no-repeat center top #274f06;
background-size:100%;
text-align:center;
}

#formBlc h1{
width:110%;
margin:-1% 0 3% -5%;
}

#formBlc .txt img{
margin-bottom:4%;
}

#formBlc .att{
color:#fff;
}

#formBlc .att img{
padding-right:1%;
vertical-align:middle;
}

#formBlc table{
margin-top:3%;
}

#formBlc th{
display:block;
padding:3% 3% 3% 4.5em;
border-top:#ccc solid 1px;
vertical-align:middle;
}

#formBlc .required{
background:url(../img/form_icon_required.png) no-repeat 3% center #ededed;
}

#formBlc .option{
background:url(../img/form_icon_option.png) no-repeat 3% center #ededed;
}

#formBlc td{
display:block;
padding:3%;
background:#fff;
border-top:#ccc solid 1px;
vertical-align:middle;
}

#formBlc td li{
float:left;
margin-right:2%;
}

#formBlc td p{
margin-top:1%;
color:#999;
}

/* テキストボックス */
#formBlc .name,
#formBlc .mail,
#formBlc .add,
#formBlc .message{
width:95%;
}

#formBlc .tel{
width:25%;
}

#formBlc .postcode{
width:40%;
}

#formBlc select{
margin-bottom:8px;
padding:3px;
}

#formBlc .rule{
margin:5% auto;
text-align:left;
color:#fff;
}

#formBlc .rule a{
color:#fff;
}

#formBlc #formSubmit{
text-align:center;
}

#formBlc #formSubmit input[type="image"]{
width:90%;
max-width:360px;
}


/* --------------------------------------------------
 companyBlc
-------------------------------------------------- */
#companyBlc h1{
width:26%;
max-width:169px;
margin:0 auto 5%;
}

#companyBlc table{
border:#ccc solid 1px;
border-top:none;
}

#companyBlc th{
display:block;
padding:3%;
background:#ededed;
border-top:#ccc solid 1px;
vertical-align:middle;
}

#companyBlc td{
display:block;
padding:3%;
border-top:#ccc solid 1px;
vertical-align:middle;
}


/* --------------------------------------------------
 anchorToPcInSp
-------------------------------------------------- */
#anchorToPcInSp{
display:block;
margin:5%;
padding:3%;
background:#fff;
border-radius:3px;
box-shadow:rgba(0, 0, 0, 0.3) 0 0 7px 0;
text-align:center;
text-decoration:none;
color:#6e6e6e;
}

#anchorToPcInSp img{
padding-right:3%;
}


/* --------------------------------------------------
 Footer
-------------------------------------------------- */
footer{
clear:both;
margin-top:5%;
padding-top:3%;
background:#000;
font-size:85%;
color:#fff;
}

#btmPageTop{
display:block;
text-align:center;
text-decoration:none;
color:#999;
}

#btmPageTop span{
display:block;
padding:5%;
background:#444;
}


/* --------------------------------------------------
 confirmBlc
-------------------------------------------------- */
#confirmBlc{
margin:5%;
}

#confirmBlc h1{
text-align:center;
font-size:140%;
font-weight:bold;
color:#2b5807;
}

#confirmBlc .txt{
margin:3% 0;
text-align:center;
}

#confirmBlc table{
margin-top:3%;
border:#ccc solid 1px;
border-top:none;
}

#confirmBlc th{
display:block;
padding:3% 3% 3% 4.5em;
border-top:#ccc solid 1px;
vertical-align:middle;
}

#confirmBlc .required{
background:url(../img/form_icon_required.png) no-repeat 3% center #ededed;
}

#confirmBlc .option{
background:url(../img/form_icon_option.png) no-repeat 3% center #ededed;
}

#confirmBlc td{
display:block;
padding:3%;
background:#fff;
border-top:#ccc solid 1px;
vertical-align:middle;
}

#confirmBlc #formSubmit{
margin:5% auto;
text-align:center;
}

#confirmBlc #formSubmit input[type="image"],
#confirmBlc #formSubmit img{
width:90%;
max-width:360px;
}

#confirmBlc .error{
padding:3%;
box-shadow:rgba(0, 0, 0, 0.3) 0 0 7px 0;
border-radius:3px;
text-align:left;
}

#confirmBlc .error li{
margin-left:20px;
list-style-type:disc;
}

#confirmBlc .tel{
padding:5%;
box-shadow:rgba(0, 0, 0, 0.3) 0 0 7px 0;
border-radius:3px;
text-align:center;
}

#confirmBlc .tel img{
width:67%;
max-width:362px;
}

#confirmBlc > ol{
margin-top:5%;
}
