@charset "utf-8";
/* ===================================================================
CSS information
 file name  :sp.css
 author     :pcbrain
 style info :スマートフォン用
=================================================================== */

/*縦向き・横向きの文字サイズ自動調整機能を停止*/

* {
    -webkit-text-size-adjust: 100%;
}

:target {
    scroll-padding-top: 0;
    /* ヘッダーの高さや適切な値に調整 */
}

/*入力エリアフォーカス時の自動ズームを停止*/

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    font-size: 16px;
    -webkit-appearance: none;
}

input[type="submit"],
input[type="image"] {
    -webkit-appearance: none;
}

.spcut {
    display: none !important;
}

.spblock {
    display: block !important;
}

.spinline {
    display: inline;
}

.sptr {
    display: table-row;
}

img {
    max-width: 100%;
    height: auto;
}

.imgL {
    float: none;
    margin: 0 0 15px;
}

body {
    min-width: 0px;
}

.tel span {
    font-weight: bold !important;
}

.tel span a {
    color: #ee0000 !important;
    text-decoration: none !important;
}

/* -----------------------------------------------------------
#header
ヘッダー
----------------------------------------------------------- */

header {
    position: relative;
    margin-bottom: 10px;
}

header .htxt {
    padding: 2px 0;
    margin-bottom: 10px;
}

header .htxt .btn {
    display: none;
}

header .htxt h1,
header .htxt p {}

header .floatL {
    float: none;
    display: block;
}

header .floatR {
    display: none;
}

header .inner {
    display: block;
    margin: 0 10px;
    width: auto;
}

header .hdrLogo {
    display: block;
    float: none;
    margin: 0;
    overflow: hidden;
}

header .hdrLogo>a {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    margin: 0;
}

header .hdrLogo>img {
    display: none;
}

header img.logo01 {
    /* margin-top: 20px;*/
}

header .hdrMenu {
    display: none;
}

header .logoTxt {}

header .btn a {
    background-image: none;
    background-size: auto;
}

header .telBtn,
header .mailBtn {
    color: #fff;
    /*font-size: 90%;*/
    font-weight: bold;
    display: block;
    z-index: 100;
    position: absolute;
    top: 30px;
    right: 50px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 0;
}

header .telBtn {}

header .mailBtn {
    right: 105px;
}

header .telBtn a,
header .mailBtn a {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;
    /*--- IE10 ---*/
    -webkit-justify-content: center;
    /*--- safari（PC）用 ---*/
    justify-content: center;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
    width: 49px;
    height: 49px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    color: #ffffff;
    margin-top: 0;
    text-decoration: none;
    padding: 0;
}

header .telBtn a {
    background: #1277c4;
    border: #1277c4 solid 3px;
}

header .mailBtn a {
    background-image: none;
    background-size: auto;
    border: #21a937 solid 3px;
}

header .telBtn a:before,
header .telBtn a:after,
header .mailBtn a:before,
header .mailBtn a:after {
    content: none;
}

header .telBtn img,
header .mailBtn img {
    height: 30px;
    width: auto;
}

.hdrBnr {
    float: none;
    margin: 20px 10px 0;
}

.hdrBnr li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 48%;
    width: calc(50% - 5px);
    font-weight: bold;
    line-height: 1.3;
    margin: 0;
}

.hdrBnr li:nth-child(2n) {
    float: right;
}

.hdrBnr li span {
    font-size: 16px;
    font-size: 4vmin;
    padding: 5px 5px;
}

.hdrBnr li a {
    background-position: 110% top !important;
    background-size: 45% auto !important;
    display: block;
}

.hdrBnr li a img {
    width: 100%;
}

#top .mainCatch,
.area .mainCatch {
    padding: 0px;
    margin: 0 0 20px;
    width: auto;
}

#top .mainCatch p,
.area .mainCatch p {
    font-size: 20px;
    font-size: 5vmin;
    width: auto;
    padding: 0 5px;
}

#mainv {}

#mainv .stage {
    width: auto;
    margin: 0 auto;
    z-index: 0;
    height: 110vmin;
}

#pageTitle {
    height: auto;
    border-radius: 0;
    background-size: cover !important;
}

#pageTitle .inner {
    background-size: cover !important;
    background-position: right top !important;
}

#pagePath {
    margin: 0 0 10px;
}

#pageTitle h1 {
    /*background: rgba(0, 36, 113, 0.41);*/
    margin: 10px;
    padding: 5px;
    font-size: 17px;
    font-size: 4.7vmin;
    font-weight: bold;
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#pageTitle h1 span {
    font-size: 12px;
    font-weight: normal;
}

header .corpNumber {
    padding: 3px 5px 0;
    font-size: 10px;
    font-size: 2.6vmin;
}

/*------------------------------------------------------------
フッター
------------------------------------------------------------*/

#footer {
    padding-bottom: 100px;
    position: relative;
    overflow: hidden;
}

footer {
    padding-bottom: 70px;
}

footer .ftrScroll {
    padding: 0;
    background-color: transparent;
}

footer .ftrScroll .ftrCampaign {
    float: none;
    width: auto;
    position: relative;
    bottom: initial;
    right: initial;
    /* margin-right: 0; */
    max-width: 100%;
    margin-bottom: 2px;
    text-align: right;
}

footer .ftrScroll .inner {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: auto;
}

footer .ftrScroll .ftrCont {
    display: block;
    margin-right: 0px;
    float: none;
    background-color: transparent;
    padding: 0;
    width: 100%;
    height: auto;
}

footer .ftrScroll .ftrCont h3 {
    display: none;
}


footer .ftrScroll .ftrCont .freeTxt {
    display: none;
}

footer .ftrScroll .tel {
    display: none;
}

footer .ftrScroll .tel span {
    font-size: 20px;
}

footer .ftrScroll .ftrCont ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-align-items: stretch;
    align-items: stretch;
}

footer .ftrScroll .ftrCont ul li {
    float: none;
    width: auto;
    margin: 0 1px 0px 0;
    font-size: 15px;
    /* font-size: 5vmin; */
    width: 25%;
    /*border: rgba(0, 0, 0, 0.3) solid 3px;*/
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 5px;
    background-position: center 10px;
}

footer .ftrScroll .ftrCont ul li:last-child {
    margin-right: 0;
}

footer .ftrScroll .ftrCont ul li.ftrContact {
    background: #ee0000 url(../img/common/ico_mail01.png) no-repeat center 10px;
}

footer .ftrScroll .ftrCont ul li.ftrShowroom {
    background: #1277c4 url(../img/common/ico_showroomflow02.png) no-repeat center 10px;
    background-size: 22px auto;
}

footer .ftrScroll .ftrCont ul li.ftrRainleaking {
    background: #21a937 url(../img/common/ico_rain01.png) no-repeat center 10px;
}

footer .ftrScroll .ftrCont ul li.ftrDiagnosis {
    background: #e26a0f url(../img/common/ico_loupe01.png) no-repeat center 10px;
}

footer .ftrScroll .ftrCont ul li.ftrTel {
    display: block;
    background: #21a937 url(../img/common/ico_tel02.png) no-repeat center 10px;
    background-size: 18px;
}

footer .ftrScroll .ftrCont ul li span {
    /* font-size: 10px;
    font-size: 3.3vmin;
    font-weight: normal; */
}

footer .ftrScroll .ftrCont ul li.ftrTel a {
    /*
    -moz-box-shadow: 0px 0px 6px 3px #3669e6 inset;
    -webkit-box-shadow: 0px 0px 6px 3px #3669e6 inset;
    box-shadow: 0 -4px 0 #3669e6 inset;*/
    /* padding: 27px 5px 5px; */
}

footer .ftrScroll .ftrCont ul li a {
    padding: 35px 10px 10px;
    font-size: 16px;
    font-size: 4vmin;
}

footer .ftrScroll .ftrCont ul li.pageTop {}

footer .ftrScroll .ftrCont ul li.pageTop a {
    padding-top: 0px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    box-shadow: 0 -4px 0 #e26a0f inset;
}

footer .inner {
    padding: 20px 10px;
    width: auto;
}

footer .footerCom .floatL {
    float: none;
}

footer .hvFtrBnr {
    padding-bottom: 200px;
}

footer .footerCom {
    text-align: center;
}

footer .footerCom .tel-link a {
    color: #2d2d2d;
    text-decoration: none;
}

footer .footerCom .copyRight {
    text-align: center;
    padding-top: 10px;
}

footer .totop {
    margin-bottom: 20px;
}

footer .totop a {
    background: #21a937;
    display: block;
    font-size: 4.5vmin;
    font-weight: bold;
    text-align: center;
    padding: 5px;
    color: #fff;
}

footer .totop a span {
    background: url(../img/common/arrow_totop.png) no-repeat left center;
    display: inline-block;
    padding-left: 35px;
}

footer .sp-menu {
    margin: 0 10px 0;
}

#snavi select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    margin: 0 auto;
    display: block;
    padding: 10px;
    border: solid 3px rgba(255, 255, 255, 0.38);
    border-radius: 8px;
    width: 100%;
    font-size: 16px;
    cursor: pointer;
    font-weight: bold;
    background: #673a1c url(../img/common/arrow_white_down.png) no-repeat 95% center !important;
    background-size: 18px !important;
    color: #FFFFFF;
}

footer .ftrConBox {
    padding: 0 10px !important;
    text-align: center;
}

footer .ftrConBox .inner {
    padding: 20px 0 !important;
    width: auto;
}

footer .ftrConBox .imgLayer {
    display: none;
}

footer .ftrConBox h2 {
    /* margin-top: -10px;
    z-index: 1; */
}

footer .ftrConBox h2 span {
    float: none;
    margin-right: 0;
}

footer .ftrConBox h2 span img {
    width: auto;
}


footer .ftrConBox h3 {
    padding: 5px 5px 5px 50px !important;
}

footer .ftrConBox .tel {
    float: none;
    margin-right: 0;
    font-size: 14px;
}

footer .ftrConBox .tel .bHours {}

footer .ftrConBox .tel span {
    /* display: block;
    font-size: 40px;
    font-size: 13vmin;
    padding-left: 35px !important;
    background-size: 40px auto !important; */
}

footer .ftrConBox a {
    display: inline-block;
}

footer .ftrConBox .catchTxt {
    color: #fff;
    font-size: 16px;
    font-size: 5vmin;
    line-height: 1.4;
    margin: 10px -10px -10px;
    clear: both;
    padding: 5px;
    font-weight: bold;
}

footer .ftrConBox .hdrBnr {
    margin: 0;
}

footer .ftrConBox .hdrBnr li {
    text-align: left;
}

footer .ftrConBox .hdrBnr li p {
    font-size: 14px;
    font-size: 3.5vmin;
}

footer .ftrConBox .hdrBnr li span {
    text-align: left;
    font-size: 15px;
    font-size: 3.5vmin;
}


footer .ftrLogo span {
    margin: 10px 0 0;
    display: block;
}

/* -----------------------------------------------------------
#gNavSp
----------------------------------------------------------- */

header nav {
    position: absolute;
    top: 30px;
    left: -100%;
    width: 85%;
    z-index: 101;
    padding-top: 0;
    background: none;
    height: 80vh;
}

html.is-fixed,
html.is-fixed body {
    height: 100%;
    overflow: hidden;
}

nav #gNavSp {
    font-weight: bold;
    /*margin-left: 1px;*/
    box-shadow: 5px 0px 3px 1px rgba(0, 49, 104, 0.39);
    height: 100%;
    overflow: auto;
}

nav #gNavSp li {
    background: #fff;
    color: #673a1c;
    border-bottom: #673a1c dotted 1px;
    /*margin: 0 1px 0 0;*/
    font-size: 16px;
    font-size: 4.2vmin;
    width: 50%;
    float: left;
}

nav #gNavSp li.sizeL {
    width: 100%;
    /*width: calc(100% - 1px);*/
    clear: both;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /*margin-right: 1px;*/
}

nav #gNavSp>li:last-child {
    border: none;
}

nav #gNavSp li a {
    color: #673a1c;
    padding: 10px 2px 10px 25px;
    display: block;
    position: relative;
    box-sizing: border-box;
    text-decoration: none !important;
}

nav #gNavSp li a:link,
nav #gNavSp li a:visited {}

nav #gNavSp li a:before,
nav #gNavSp li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    margin: auto;
    content: "";
}

nav #gNavSp li a:before {
    width: 18px;
    height: 18px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #673a1c;
}

nav #gNavSp li a:after {
    left: 9px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

nav #gNavSp li.close {
    text-align: center;
    padding: 10px;
}

nav #gNavSp li.close a {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    padding: 10px;
}

nav #gNavSp li.close a:after {
    left: 14px;
    width: 10px;
    height: 10px;
    background: url(../img/common/ico_close.png) no-repeat center center;
    background-size: contain;
    border-top: none;
    border-right: none;
    -webkit-transform: none;
    transform: none;
}

nav #gNavSp li ul {
    border-top: #673a1c dotted 1px;
    background: rgba(218, 204, 177, 0.9);
    position: relative;
    overflow: hidden;
}

nav #gNavSp>li>ul>li {
    font-size: 13px;
    font-size: 3.5vmin;
    background: none;
}

nav #gNavSp li ul li a {
    height: auto;
    border-bottom: none;
    display: block;
    padding: 10px 10px 10px 15px;
}

nav #gNavSp li ul li a:after {
    border-top: 2px solid #673a1c;
    border-right: 2px solid #673a1c;
    left: 5px;
}

nav #gNavSp li ul li a:before {
    content: none;
}

nav #gNavSp>li>a:before {
    width: 18px;
    height: 18px;
    border: none;
    left: 5px;
    top: 0;
    bottom: 0;
}

nav #gNavSp>li>a:after {
    width: 5px;
    height: 5px;
    border: none;
    left: 9px;
    top: 0;
    bottom: 0;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.spmenubtn {
    width: auto;
    position: fixed;
    right: -3px;
    top: 30px;
    z-index: 99999;
    text-align: center;
    font-weight: bold;
    margin-bottom: 14px;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    background: #e26a0f;
    display: inline-block;
    height: 49px;
    width: 48px;
    vertical-align: middle;
    border-radius: 5px 0 0 5px;
    line-height: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: #e26a0f solid 3px;
    box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -moz-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -webkit-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
}

/*.spmenubtn a {
    display: block;
    padding: 4px 6px 8px 0px;
    text-decoration: none !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 49px;
    width: 48px;
    border-radius: 5px 0 0 5px;
}

.spmenubtn a:hover {
    text-decoration: none;
    opacity: 0.75;
}

.spmenubtn span {
    display: block;
    height: 5px;
    width: auto;
    background-color: #fff;
    margin: 3px 4px 3px 6px;
}

.spmenubtn span:last-child {
    display: block;
    height: auto;
    width: auto;
    background: none;
    border-radius: 0;
    margin: 0;
    color: #fff;
}*/
/*   ハンバーガーボタン3本線   */
.spmenubtn span.bar {
    display: block;
    height: 3px;
    background-color: #fff;

    margin: 5px 4px 6px 2px;
    transition: all 0.2s;
    transform-origin: 0 0;
}

.spmenubtn .close {
    letter-spacing: 0.08em;
    display: none;
}

.spmenubtn .menu {
    display: block;
    color: #fff;
}

/*  メニューアクティブ時  */
.spmenubtn.open {
    right: -3px;
}

.spmenubtn.open .bar {
    width: 37px;
    position: absolute;
    top: 0;
    left: 60%;

    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    z-index: 1;
    display: block;
}

.spmenubtn.open .bar1 {}

.spmenubtn.open .bar2 {
    opacity: 0;
}

.spmenubtn.open .bar3 {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 60%;
    left: 55%;
}

.spmenubtn.open .menu {
    display: none;
}

.spmenubtn.open .close {
    display: block;
    position: absolute;
    bottom: 0;
    left: 2px;
    color: #fff;
}



nav #gNavSp li.sizeLL {
    width: 100%;
    /*width: calc(100% - 1px);*/
    clear: both;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /*margin-right: 1px;*/
}

nav #gNavSp li.sizeLL a {
    color: #FFF;
    background: #673a1c;
    margin: 10px;
    padding: 5px 4vmin;
    font-size: 7.5vmin;
    text-align: center;
    letter-spacing: 1px;
    font-weight: 700;
    border-radius: 5px;
}

nav #gNavSp li.sizeLL a:before {
    display: none;
}

nav #gNavSp li.sizeLL a:after {
    background-color: #fff;
    content: " ";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: -180px;
    transform: rotate(45deg);
    width: 30px;
    pointer-events: none;
}




nav #gNavSp li.gNavSpContact {
    background: #e2d1ad;
    text-align: center;
    padding: 15px 10px 10px;
}

nav #gNavSp li.gNavSpContact img {
    margin-bottom: 5px;
}

nav #gNavSp li.gNavSpContact a:before,
nav #gNavSp li.gNavSpContact a:after {
    content: none;
}

nav #gNavSp li a.gNavSpTel {
    display: block;
    color: #fff !important;
    font-size: 7vmin;
    font-weight: bold;
    position: relative;
    padding: 6px 4% 0 12%;
    text-decoration: none !important;
    border-radius: 4px;
    box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -moz-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -webkit-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    background: url(../img/common/ico_tel02.png) no-repeat left 15px center #21a937;
    border: 3px solid #21a937;
    margin: 5px;
}

nav #gNavSp li a.gNavSpContact {
    display: inline-block;
    width: 47%;
    color: #fff !important;
    font-size: 4.2vmin;
    font-weight: bold;
    position: relative;
    padding: 10px 1% 4px 11%;
    text-decoration: none !important;
    border-radius: 4px;
    box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -moz-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -webkit-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    background: url(../img/common/ico_mail01.png) no-repeat left 7px center #ee0000;
    border: 3px solid #ee0000;
    margin: 5px 1% 0 0;
}

nav #gNavSp li a.gNavSpShowroom {
    display: inline-block;
    width: 47%;
    color: #fff !important;
    font-size: 4.2vmin;
    font-weight: bold;
    position: relative;
    padding: 10px 1% 4px 11%;
    text-decoration: none !important;
    border-radius: 4px;
    box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -moz-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    -webkit-box-shadow: 0px 5px 0px 0px rgba(255, 255, 255, 0.3) inset;
    background: url(../img/common/ico_showroomflow02.png) no-repeat left 7px center #1277c4;
    background-size: 18%;
    border: 3px solid #1277c4;
    margin: 5px 0 0 1%;
}






/* -----------------------------------------------------------
#side
サイドバー、サブ
----------------------------------------------------------- */

#side {
    width: auto;
    float: none;
    margin: 0 10px !important;
}

#side article h3 {
    /*    background: #e26a0f;
    color: #FFF;
    border-top: #b8750f solid 3px;*/
    font-size: 20px;
    font-size: 5.6vmin;
    padding: 5px 15px;
    margin: 0 auto 0;
    position: relative;
}

#side .bnrBox {
    text-align: center;
}

#side .bnrBox a {
    display: inline-block;
}

#side .sideBnr img {
    width: auto !important;
    height: auto;
}

#side .inBox img {
    display: block;
    margin: 0 auto 10px;
}

#side .sideCategory {
    /*    border: #ccc solid 1px;
    background: #fffeee;
    padding: 10px;*/
}

#side .sideCategory ul li {
    border-bottom: #333 dotted 1px;
}

#side .sideCategory ul li:last-child {}

#side .sideGuide ul li a img {}

/* -----------------------------------------------------------
    contents
----------------------------------------------------------- */

#contents {
    margin: 20px auto 25px;
    position: relative;
    width: auto;
}

#contents section {}

#main article section {
    margin-bottom: 0 !important;
    padding-bottom: 0;
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */

#main {
    width: auto;
    float: none;
    margin: 0 10px !important;
}

#main article {
    margin: 0 0 20px;
    overflow: inherit;
}

#main article.bg03 {
    /*padding: 0 10px 20px;*/
}



#main article.whiteBox,
#main article.spFull,
#main article.tmp.bg01,
#main article.singleWorks,
#main article.singleVoice {
    margin: 0 0 20px !important;
}

#main article.singleVoice>article {
    margin: 0 10px !important;
}

#main article.dotLine {}

#main article.dotLine p {
    margin: 0 10px 15px;
}

#main article.dotLine p:last-child {
    margin-bottom: 0;
}

#main iframe {
    /*    width: 100%;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;height: 300px;*/
}

#menu #main section {
    padding-bottom: 0;
    margin-bottom: 0 !important;
}

.nocolumn #main {
    margin: 0 !important;
}

.nocolumn #main .inner {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.nocolumn #main .inner .inner {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

#main article.bg03 .inner {
    margin: 0 !important;
}



#siding .mb30,
#apartment .mb30,
#colorsimulation .mb30 {
    margin-bottom: 0 !important;
}

#main h2 {
    width: auto;
    line-height: 1.3;
    font-size: 19px;
    font-size: 5.6vmin;
    margin-bottom: 20px;
    padding: 5px;
}

#main h2 span {
    font-size: 14px;
    display: block;
    margin: 0;
}

#main h2.fullWidth {
    font-size: 24px !important;
    font-size: 6.3vmin !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: auto !important;
    /*    margin: 0 -10px 20px;*/
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main h2.fullWidth:after {
    /*
    border: 150px solid transparent;
    border-top: 45px solid #e26a0f;*/
}

#main h2.fullWidth {
    margin-bottom: 20px;
}

#main h3 {
    font-size: 18px;
    font-size: 5vmin;
}

#main h4,
#main h4.normal {
    padding-left: 40px;
}

#main h4:before,
#main h4:after,
#main h4.normal:before,
#main h4.normal:after {
    top: 4px;
    width: 16px;
    height: 16px;
}

#main h4:before,
#main h4.normal:before {}

#main h4:after,
#main h4.normal:after {
    left: 18px;
}

#main h4 a {
    color: #333;
    text-decoration: underline;
}

#main ul li {
    line-height: 1.6;
    margin-bottom: 8px;
}

/* -----------------------------------------------------------
#common
共通
----------------------------------------------------------- */

.inner {
    width: auto;
}

#main .inner {}

.tmp.bg01 {
    padding: 0;
}

.btn {
    display: block;
    float: none !important;
}

.btn a {
    padding: 5px 20px 5px 5px;
    text-decoration: none !important;
    font-size: 16px;
    font-size: 4.5vmin;
}

.btn a::after {
    right: 10px;
}

/*.btn a:before {
    left: 8px;
    width: 18px;
    height: 18px;
}
.btn a:after {
    left: 12px;
    width: 5px;
    height: 5px;
}*/

/*--コンタクトエリア--*/

#main .contactBox {
    position: relative;
    width: auto;
    display: block;
    padding: 10px 10px 0;
    margin: 0 -10px 0;
}



#main .contactBox .imgLayer {
    display: none;
}

#main .contactBox .contactCatch {
    font-size: 16px;
    font-size: 5vmin;
    margin: 0 -10px 0;
    padding: 5px 10px;
}

#main .contactBox .floatL {
    float: none;
}

#main .contactBox .floatL img {
    position: inherit;
    top: inherit;
    left: inherit;
    display: block;
    float: left;
    margin: -10px 10px 0 -5px;
    width: 40%;
}

#main .contactBox h3 {
    color: #fff;
    /*    font-size: 20px;
    font-size: 10vmin;*/
    text-align: center;
    padding: 0 !important;

}

#main .contactBox .telBox h6 {
    line-height: 1.4;
}

#main .contactBox p {
    font-size: 20px;
    font-size: 6vmin;
    padding-left: 0;
}

#main .contactBox .freeTxt {
    text-align: center
}

#main .contactBox .freeTxt li {
    display: inline-block;
    width: 48%;
    width: calc(50% - 25px);
    text-align: center;
}

#main .contactBox .telBox {
    overflow: hidden;
    margin: 0 0 10px;
    float: none;
    padding: 10px;
    text-align: center;
}

#main .contactBox .telBox .tel,
.nocolumn #main .contactBox .telBox .tel {
    text-align: center;
    font-size: 14px;
    font-size: 3.5vmin;
    line-height: 1.5;
    margin-right: 0 !important;
    float: none;
}

.nocolumn #main .contactBox h3 {
    float: none;
}

#main .contactBox .telBox .contactLogo {
    margin: 0 0 10px;
    width: auto;
    float: none;
}

.nocolumn #main .contactBox .telBox {
    margin-right: 0;
}

#main .contactBox .telBox .tel span,
.nocolumn #main .contactBox .telBox .tel span {
    font-size: 38px;
    font-size: 10.5vmin;
    display: inline-block;
    float: none;
    margin: 0 auto;
}


#main .contactBox .telBox .bHours {
    display: none !important;
}

#main .contactBox .telBox .tel span a {
    display: inline-block;
    color: #e26a0f;
    text-decoration: none;
}

#main .contactBox .telBox .catchTxt {
    font-size: 18px;
    font-size: 4.6vmin;
    padding: 0 5px;
}

#main .contactBox .btn {
    margin: 10px 0 0;
    display: block;
    text-align: center;
}

#main .contactBox .btn img {
    display: inline;
    margin: 0 0 0 10px;
    width: 30px;
    height: auto;
}

#main .contactBox .btn :hover {}

#main .contactBox .btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    font-size: 20px;
    font-size: 6vmin;
    width: 100%;
}

#main .contactBox ul li {
    width: 27%;
    width: calc(33% - 17px);
    margin-right: 5px;
    font-size: 18px;
    font-size: 5vmin;
    display: inline-block;
}

.nocolumn #main .contactBox {
    margin: 20px 0;
}

.nocolumn #main .contactBox .inner {
    width: auto;
    padding: 10px !important;
}

.nocolumn #main .contactBox h2 {
    line-height: 1.8;
    margin-top: -10px;
}

.nocolumn #main .contactBox .floatL {
    position: relative;
    margin: 5px 0;
    padding: 0;
}



.nocolumn #main .contactBox .floatL p {
    font-size: 18px;
    font-size: 5vmin;
}

.nocolumn #main .contactBox .tel {
    float: none;
    margin: 0 0 5px;
    text-align: center;
    display: block;
}

.nocolumn #main .contactBox .tel span {
    display: inline-block;
    font-size: 40px;
    font-size: 12vmin;
    padding-left: 50px !important;
    background-size: 50px auto !important;
}

.nocolumn #main .contactBox .btn a {
    width: auto;
    display: block;
    font-size: 20px;
    font-size: 6vmin;
}

.nocolumn #main .contactBox .catchTxt {
    font-size: 16px;
    font-size: 5vmin;
    line-height: 1.4;
    margin: 10px -10px -10px;
    padding: 5px;
}

#showroom #main .contactBox .floatL img {
    width: 45%;
    margin: 0;
    top: -20px;
}

#showroom #main .contactBox .floatL p {
    font-size: 18px;
    font-size: 5vmin;
    padding-left: 40%;
    margin-bottom: 10px;
}

#showroom #main .contactBox .floatL p strong {
    font-size: 30px;
    font-size: 8vmin;
}

#apartment #main .contactBox .floatL p br,
#siding #main .contactBox .floatL p br,
#colorsimulation #main .contactBox .floatL p br,
#menu #main .contactBox .floatL p br {
    display: none;
}

#showroom #main .contactBox ul {
    margin: 0;
    text-align: center;
}

#showroom #main .contactBox ul li {
    padding: 0;
    text-align: center;
    width: 30%;
    width: calc(33% - 6px);
    line-height: 1.4;
    float: none;
    display: inline-block;
}

#showroom #main .contactBox .telBox {
    padding: 10px 10px 10px 10px;
    border-radius: 3px;
}

#showroom #main .contactBox .telBox .tel span {
    font-size: 40px;
    font-size: 12vmin;
}


#diagnosis #main .contactBox h4,
#rainleaking #main .contactBox h4 {
    padding: 0;
    font-size: 24px;
    font-size: 8vmin;
    text-align: center;
}


#main .contactTel {
    width: 100%;
    text-align: center;
}

#main .contactTel .imgLayer {
    display: none;
}

#main .contactTel .inBox {
    padding: 10px;
}

#main .contactTel .telBox {
    margin: 0 0 10px;
}

#main .contactTel .tel,
#main .contactTel .telBox .tel {
    text-align: center;
    margin-top: 10px;
    display: block;
}

#main .contactTel .tel span,
#main .contactTel .telBox .tel span {
    font-size: 40px;
    font-size: 10vmin;
    background-size: 45px auto;
    padding-left: 45px;
    margin: 0 0 5px;
    display: inline-block;
}

#main .contactTel .overflowH {
    width: 100%;
    text-align: left;
}

#main .contactTel p.catchTxt {
    line-height: 1.8;
    font-size: 25px;
    font-size: 6vmin;
}

#main .contactTel p.catchTxt span {
    font-size: 18px;
    font-size: 5vmin;
}

#main .contactFree .telBox .tel span {
    font-size: 40px !important;
    font-size: 10.8vmin !important;
    display: block !important;
    background-size: contain;
}

#main .contactFree .telBox .tel br.bHours {
    display: none !important;
}

#main .contactFree h3,
#main .contactFree .btn {
    display: block;
    padding: 0 !important;
}

#main .contactFree .btn {
    margin: 0 10px 10px;
}

#main .contactFree .btn a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
}

#main .contactFree .btn span {
    float: none;
}

#main .msgContact {
    padding: 10px !important;
    margin: 20px 0 !important;
    width: auto;
    clear: both;
}

#main .msgContact img {
    float: none;
    position: relative;
    left: inherit;
    margin: -10px auto 0;
    display: block;
}

#main .msgContact .telBox {
    margin-top: -10px;
    text-align: center;
}

#main .msgContact .telBox h4 {
    text-align: left !important;
    padding-left: 15px !important;
}

#main .msgContact .telBox .tel {
    float: none;
}

#main .msgContact .telBox .tel br.bHours {
    display: none !important;
}


.shopInfo ul {
    float: none;
}

.shopInfo ul li {
    float: none;
    margin: 0 0px 30px 0;
    width: auto;
    text-align: center;
}

.shopInfo ul li h4 {
    position: relative;
    padding: 10px 0 0;
    text-align: center;
}

.shopInfo ul li .tel span {
    display: inline-block;
    font-family: "Verdana-Bold", "HiraKakuProN-W6", sans-serif;
}

.shopInfo ul li .tel span a {
    color: #fff;
}

/*.shopInfo .groupPhoto {
    background: url(../img/common/group_photo02.png) no-repeat center bottom;
    background-size: contain;
    height: auto;
    width: auto;
    position: static;
    padding: 50vmin 0 0 0;
}

.shopInfo .groupPhoto p {
    margin-top: -50vmin;
    font-size: 4.5vmin;
}

#main .profileBox ul li a {
    padding: 10px 10px 10px 30px;
}

#main .profileBox ul li:before {
    left: 5px;
}

#main .profileBox ul li:after {
    left: 9px;
}*/

#main table {
    margin: 0 0 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}

#main table th,
#main table td {
    display: block;
    width: auto;
    padding: 10px 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main table th {
    font-weight: bold;
    border: none;
    padding-bottom: 0;
}

#main table td {
    border-top: none !important;
}

#main table td .staffBox {
    display: block;
}

/*--共通パーツ--*/

#main .photoUL {}

#main .photoUL li {
    width: auto;
    float: none;
    line-height: 1.4;
    margin: 0 auto 20px;
}

#main .photoUL li:nth-child(2n) {
    float: none;
}

#main .photoUL li span {
    width: auto;
    height: auto;
}

#main .photoUL li img {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    width: 100%;
    height: auto;
}

#main .photoUL li h5 {
    font-size: 15px;
    display: block;
    margin: 0;
    padding: 0;
    background: none;
    color: #8dc220;
}

.nocolumn #main .photoUL li {
    float: none;
    margin: 0 auto 10px !important;
}

#main .exMenu li {
    width: auto;
    float: none;
    font-size: 26px;
    font-size: 6vmin;
    margin-bottom: 10px;
}

#main .exMenu li:nth-child(2n) {
    float: none;
}

#main .exMenu li h5 {
    width: 50%;
    font-size: 24px;
    font-size: 6vmin;
}

#main .exMenu li p {
    font-size: 24px;
    font-size: 6vmin;
}

#rainleaking #main .exMenu li h5 {

    width: 60%;
}



/*-----------.targetArea--------*/

#main .targetArea {
    width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .targetArea h3 {}

#main .targetArea .area {
    top: 30px;
    width: 70px;
}

#main .targetArea .satisfied {
    position: relative;
    top: inherit;
    left: inherit;
    margin: -10px 0 14px;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

#main .targetArea .satisfied img {
    width: auto;
    float: none;
}

#main .targetArea .satisfied span {
    font-size: 18px;
    font-size: 5vmin;
    display: block;
    width: 100%;
    bottom: 15%;
}

#main .targetArea .satisfied strong {}

#main .targetArea .btn {
    width: auto;
    height: auto;
    line-height: 1;
    position: inherit;
    right: inherit;
    bottom: inherit;
    font-size: 16px;
    font-size: 5vmin;
}

#main .targetArea .btn a {}

/*--吹き出し大テキスト--*/

#main .balloonBox {
    padding: 10px;
    width: auto !important;
}

#main .balloonBox:after {}

#main .balloonBox p {
    font-size: 20px !important;
    font-size: 6vmin !important;
    line-height: 1.4;
}

#rainleaking #main .balloonBox {
    margin: 0 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#rainleaking #main .balloonBox p {
    font-size: 24px !important;
    font-size: 6vmin !important;
    text-align: left;
}

#rainleaking #main .balloonBox img {
    display: none;
}

#showroom #main .balloonBox p {
    font-size: 18px !important;
    font-size: 6vmin !important;
}

#diagnosis #main .balloonBox p {
    text-align: left;
}

/*--basicKnow--*/

#main .basicKnow {
    margin: 0;
}

#main .basicKnow>img,
#main .voiceBox>img {
    top: 10px;
}

#main .basicKnow h2,
#main .factorySuggest h2 {
    overflow: inherit;
    font-size: 20px;
    font-size: 6vmin;
    margin-bottom: 15px;
    display: block;
}

#main .basicKnow h2 span,
#main .factorySuggest h2 span {
    display: block;
    margin: 0 0 5px;
    font-size: 17px;
    font-size: 5.4vmin;
}

#main .basicKnow h2 span.txtL,
#main .factorySuggest h2 span.txtL {
    clear: both;
    font-size: 30px;
    font-size: 7.9vmin;
}

#main .basicKnow .catchTtl {
    font-size: 40px;
    font-size: 10vmin;
    font-family: sans-serif;
}

#main .basicKnow .pointList {
    position: relative;
    overflow: hidden;
    counter-reset: point;
    padding: 0;
}

.nocolumn #main .basicKnow .pointList li,
#main .basicKnow .pointList li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto 20px !important;
    width: 100%;
    position: relative;
    overflow: hidden;
}

#main .basicKnow .pointList li:before {
    transform: rotate(0deg);
    left: inherit;
    top: 0;
    position: relative;
    width: 100%;
    display: block;
    text-align: center;
    padding: 0;
    margin-bottom: 10px;
    font-size: 19px;
    font-size: 5vmin;
}

.nocolumn #main .basicKnow .pointList li .pointImg,
#main .basicKnow .pointList li .pointImg {
    display: block;
    margin: 0 0 10px;
    text-align: center;
    width: 100%;
    float: left;
}

#main .basicKnow .pointList li img {
    display: block;
    margin: 0 auto;
}

#main .basicKnow .pointList li .imgLayer {}

.nocolumn #main .basicKnow .pointList li .imgLayer {
    width: 25%;
    bottom: 0;
    top: inherit;
}


.nocolumn #main .basicKnow .pointList li h6,
#main .basicKnow .pointList li h6 {
    /* background: none;
    font-size: 18px;
    padding: 0 0  0 20px;
    margin-top: 10px; */
    display: none;
}

#main .basicKnow .pointList li h6:before,
#main .basicKnow .pointList li h6:after {
    content: '';
}

#main .basicKnow .pointList li h6 strong {
    color: #ee0000;
    display: block;
}

#main .basicKnow .pointList li p {
    font-size: 15px;
    line-height: 1.5;
}

#main .basicKnow .pointList li ul li {
    width: auto;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

#main .basicKnow .pointList li ul li strong {
    font-weight: normal;
    background: #fcff00;
    line-height: 0.6;
    display: inline-block;
}

#main .basicKnow .pointTxt .imgL20 {
    margin-top: 20px;
}

/*----comLawpriceWhy-----*/

#main .lawpriceWhy {}

#main .lawpriceWhy .catchTtl {
    font-size: 23px !important;
    text-align: left !important;
}

#main .lawpriceWhy .catchTtl br {
    display: none;
}

#main .lawpriceWhy .highCost {
    padding: 15px;
}

#main .lawpriceWhy .highCost h3 {
    font-size: 29px;
    font-size: 8.5vmin;
    margin-bottom: 15px;
}

#main .lawpriceWhy .highCost h3 strong {
    font-weight: normal;
}

#main .lawpriceWhy .highCost ul {
    position: relative;
}

#main .lawpriceWhy .highCost ul li {
    padding: 10px;
    width: auto;
    float: none;
    margin: 0 0 20px;
    position: relative;
}

#main .lawpriceWhy .highCost ul li:last-child {
    margin-bottom: 0;
}

#main .lawpriceWhy .highCost ul li img {
    display: block;
    margin: 0 auto;
}

#main .lawpriceWhy .highCost ul li p {
    margin-top: 10px;
    font-size: 18px;
    font-size: 5vmin;
}

/*----comLawpriceReason-----*/

#main .lowpriceReason .lowcost ul {}

#main .lowpriceReason .lowcost ul li {
    padding: 15px;
    width: auto;
    float: none;
    margin: 0 0 20px 0;
}

#main .lowpriceReason .lowcost ul li.fullW {
    margin-bottom: 0;
}

#main .lowpriceReason .lowcost ul li h4 {
    font-size: 22px;
    font-size: 5.7vmin;
    margin: 0 0 30px;
}

#main .lowpriceReason .lowcost ul li h4:before {
    display: none;
}

#main .lowpriceReason .lowcost ul li.fullW h4 {
    padding: 10px;
}

#main .lowpriceReason .lowcost ul li.fullW span {
    display: block;
}

#main .lowpriceReason .lowcost ul li h4>span {}

#main .lowpriceReason .lowcost ul li h4 span.reasonIco {
    background-size: contain;
    color: #fff;
    width: 80px;
    height: 80px;
    font-size: 20px;
    padding: 10px 0 0;
    margin: -10px 10px 5px -5px;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .lowpriceReason .lowcost ul li.fullW span.reasonIco {
    margin: -5px 10px 5px -5px;
}

#main .lowpriceReason .lowcost ul li h4 span strong {
    display: block;
    font-size: 11px;
    font-size: 3.5vmin;
}

#main .lowpriceReason .lowcost ul li p {
    font-size: 24px;
    font-size: 6vmin;
}

#main .lowpriceReason .lowcost ul li .compareBox {
    padding: 10px;
}

#main .lowpriceReason .lowcost ul li .compareBox h6 {
    margin: 0 0 10px;
}

/*----comQuality-----*/

#main .qualityBox .catchTtl {
    font-size: 20px !important;
    font-size: 6vmin !important;
    line-height: 1.2 !important;
    padding-top: 10px;
    margin-top: 0;
}

#main .qualityBox .catchTtl img.catchIco {
    width: 27%;
    height: auto;
    float: left;
    margin-top: -10px;
}

#main .qualityBox .catchTtl .txtL {
    font-size: 34px;
    font-size: 9.5vmin;
    line-height: 1.2;
    text-align: center;
    display: block;
}

#main .qualityBox .catchTtl .imgLayer {
    right: 0;
    top: 100%;
    width: 110px;
}

#main .qualityBox .medalIco {
    width: 110px;
    float: right;
    margin-top: -20px;
}

#main .qualityBox h3 {
    font-size: 20px;
    font-size: 6vmin;
    display: block;
    padding: 0 10px 5px;
    line-height: 1.4;
    margin-top: 0 !important;
}

#main .qualityBox h3 span {
    display: table;
    margin: 10px 0;
}

#main .qualityBox h3 span.commitment {
    font-size: 18px;
    float: none;
    display: block;
    margin: 15px 0 5px;
    padding: 3px 10px;
}

#main .qualityBox .qualityCommitment li .imgL30 {
    float: none;
    margin: 0 auto 10px;
}

#main .qualityBox .qualityCommitment li img {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#main .qualityBox .catchTxt {
    font-size: 20px;
    line-height: 1.5;
}

#main .qualityBox .flowList ul li.here {
    background: #e26a0f;
    color: #fff;
}

#main .qualityBox .imgR20 {
    float: none;
    margin: 0 auto 20px;
    display: block;
}

#main .qualityBox .photoUL li {
    margin: 0 auto 10px !important;
}

#main .commitFlow li {
    width: auto;
    margin: 0 0 20px;
    float: none;
    padding: 0;
}

#main .commitFlow li img {
    display: block;
    margin: 0 auto;
}

#main .commitFlow li h4 {}

#main .commitFlow li:nth-child(2) {
    width: auto;
    margin: 0 0 70px;
}

#main .commitFlow li:nth-child(3) {
    width: auto;
}

#main .commitFlow li:nth-child(2):before,
#main .commitFlow li:nth-child(2):after {
    left: 0;
    right: 0;
    margin: auto;
}

#main .commitFlow li:nth-child(2):before {
    border: 60px solid transparent;
    border-top: #e26a0f solid 48px;
    top: 108%;
}

#main .commitFlow li:nth-child(2):after {
    top: 100%;
    width: 80px;
    padding: 0 0;
    text-align: center;
    border: none;
}

#main .commitPoint .flowList li:nth-child(5) {
    background: #e26a0f;
    color: #fff;
}

/*---バナーエリア--*/

#main .bnrArea {
    padding-top: 0;
    margin: 0;
    text-align: center;
}

#main .bnrArea li {
    float: none !important;
    margin-bottom: 20px;
}

#main .bnrArea li:before,
#main .bnrArea li:after {
    content: none;
}

#main .bnrArea li:nth-child(2) {
    margin-top: -5px;
}

.bnrArea {}

.bnrArea .consultationBox,
.bnrArea .estimatesBox {
    float: none;
    margin: 0 0 20px 0;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.bnrArea .consultationBox {
    margin-right: 0 !important;
}

.ftrConBox h3 img {
    top: -16px;
    left: 2px;
    width: 56px;
    z-index: 20;
}

.ftrBnr .consultationBox,
.ftrBnr .estimatesBox {
    float: none;
    margin-right: 0;
    width: auto;
    background-color: #673a1c;
}

.consultationBox {
    margin-bottom: 20px;
}

.consultationBox .inBox img {
    margin-top: -34px;
    position: relative;
}

.consultationBox .imgLayer,
.estimatesBox .imgLayer {
    width: 25%;
}

footer .consultationBox h3,
footer .estimatesBox h3 {
    font-size: 16px !important;
    font-size: 4.6vmin !important;
    padding: 5px 5px 5px 68px !important;
    text-align: left;
    background-color: initial !important;
    z-index: 1;
}

.ftrBnr .consultationBox .inBox,
.ftrBnr .estimatesBox .inBox {
    /* padding-right: 25%; */
    z-index: 0;
    height: auto;
}

.estimatesBox .inBox .number {
    /* margin-top: 0; */
}

.consultationBox .inBox .tel,
.estimatesBox .inBox .tel {
    font-size: 11px !important;
    font-size: 3vmin !important;
    text-align: center;
    display: block;
}

.consultationBox .inBox .tel span,
.estimatesBox .inBox .tel span {
    font-size: 40px;
    font-size: 12vmin;
    padding-left: 50px !important;
    background-position: bottom 5px left;
    background-size: 50px auto !important;
    display: inline-block;
    line-height: 1;
}

.consultationBox .inBox .tel span a,
.estimatesBox .inBox .tel span a {
    color: #ee0000;
}

.consultationBox .btn span,
.estimatesBox .btn span,
.bnrDiagnosis .btn span {
    font-size: 16px;
    font-size: 4.5vmin;
    padding: 5px 10px 5px 30px;
}

.consultationBox .btn span:before,
.estimatesBox .btn span:before,
.consultationBox .btn span:after,
.estimatesBox .btn span:after,
.bnrDiagnosis .btn span:before,
.bnrDiagnosis .btn span:after {
    left: 8px;
}

.consultationBox .btn span:before,
.estimatesBox .btn span:before,
.bnrDiagnosis .btn span:before {
    width: 18px;
    height: 18px;
}

.consultationBox .btn span:after,
.estimatesBox .btn span:after,
.bnrDiagnosis .btn span:after {
    left: 12px;
    width: 6px;
    height: 6px;
}

.bnrDiagnosis {
    background: #7d5102 url(../img/common/photo_report01.png) no-repeat right top;
}

.bnrDiagnosis h3 {
    margin: 0 !important;
    float: none;
    width: 65%;
}

/*-----0円リフォーム-----*/

/*
.freeReform {
    position: relative;
    overflow: hidden;
    background: url(../img/common/photo_hoken.png) no-repeat center top;
    padding: 150px 0 0;
    margin: 0 10px;
}
.freeReform h3 {
    background: none !important;
    border-top: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.freeReform p {}
.freeReform strong {}
.freeReform br {}
*/

/*--------.profileBox-----------*/

#main .profileBox h2 {
    margin: 10px;
    text-align: center;
}

#main .profileBox h2 img {}

#main .profileBox .imgR {
    float: none;
    margin: 0 0 10px;
}

#main .profileBox .plofInfo {
    padding: 0 10px 10px;
}

#main .profileBox .plofInfo .imgL20 {
    margin: 0 10px 0 0;
    width: 40%;
}

#main .profileBox h3 {
    display: block;
    clear: none;
    font-size: 14px;
}

#main .profileBox .plofInfo p {
    font-size: 13px;
}


#main .profileBox .groupPhoto {
    float: none;
    margin: 0 0 10px;
    text-align: center;
}

#main .profileBox .groupPhoto p {
    font-size: 20px;
    font-size: 6vmin;
    background-size: contain;
}

#main .profileBox .overflowH p {
    font-size: 15px;
}

#main .profileBox .btn {
    width: 100%;
}


/*---外壁診断 雨漏り診断--*/

#main .comBnr {}

#main .combnrList {
    text-align: center;
    margin-bottom: 0;
}

#blog #main .combnrList,
#works #main .combnrList,
#voice #main .combnrList {
    margin: 30px 0;
}

#main .combnrList li {
    display: inline-block;
    float: none;
    margin: 20px 0 0;
    width: 100%;
    max-width: 370px;
    font-size: 14px;
    font-size: 4vmin;
}

#main .combnrList li a span {
    display: block;
}

#main .combnrList li:nth-child(2n) {
    float: none;
}

#main .combnrList li:first-child {
    margin-top: 0;
}

/*---外壁塗装工事パック商品--*/

#main .packItem {
    margin: 0 0 30px;
}

#menu #main .packItem:last-of-type {
    margin-bottom: 30px;
}

#menu #main .packWpack {
    background: #21a937;
}

#main .packOther article {
    width: 100%;
    height: auto;
    float: none !important;
    margin: 0 0 10px !important;
}

#main .packOther article:last-child {
    margin-bottom: 0 !important;
}

#main .packOther article.layout02 {}

#main .packOther article.layout02 .mt30 {
    margin: 0 !important;
}

#main .packItem ul {}

#main .packItem ul li {
    width: 100%;
    float: none;
    padding: 10px;
    margin-bottom: 10px !important;
}

#menu #main .packItem ul li {
    width: 100%;
    margin-bottom: 10px !important;
}

#main .packItem ul li:nth-child(2n) {
    float: none;
}

#main .packItem h2 {
    background: none !important;
    border-top: none;
    padding: 0;
    font-size: 26px;
    font-size: 6.2vmin;
    margin: 0 0 0;
    line-height: 1.2;
}

#main .packItem h2 img {
    margin-top: -10px;
}

#main .packItem h2 span {
    font-size: 16px;
    font-size: 4.5vmin;
}

#main .packItem h2 strong {}

#main .packTtl h3,
#menu #main .packTtl h3 {
    font-size: 40px;
    font-size: 10vmin;
    width: 48%;
    width: calc(50% - 5px);
    float: left;
    background: none;
    margin-bottom: 0;
    border-top: none;
    padding: 0;
    line-height: 1.5;
}

#main .packTtl .imgLayer,
#menu #main .packTtl .imgLayer {
    width: 80px;
    height: auto;
    top: -5px;
    left: 45%;
}

#main .packImg,
#menu #main .packImg {

    width: 48%;
    width: calc(50% - 5px);
    height: auto;
    overflow: hidden;
    position: relative;
    float: right;
    margin-right: 0;
}

#main .packImg img {
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

#main .packItem h4,
#menu #main .packItem h4 {
    font-size: 22px;
    font-size: 6vmin;
    padding: 0;
    margin-bottom: 0;
    line-height: 1;
}

#menu #main .packItem h4 span {
    font-size: 14px;
}

#main .packSummary {
    width: auto;
    float: none;
    position: relative;
}

#main .packSummary h3 {
    font-size: 21px;
    font-size: 5.5vmin;
    line-height: 1.5;
    background: #fff;
}

#main .packSummary .imgIco {
    position: absolute;
    bottom: 101%;
    top: inherit;
    left: -10px;
}

#main .packSummary .priceTxt {
    font-size: 60px;
    font-size: 17vmin;
    text-align: right;
    position: relative;
    overflow: hidden;
}

#main .packSummary .priceTxt span.unitTxt {
    font-size: 20px;
    font-size: 6vmin;
    width: 1em;
    display: block;
    float: right;
    margin-top: 10px;
}

#main .packSummary .floatL {
    width: 50%;
    float: none !important;
}

#main .packSummary .packCatch,
#main .packSummary .enduranceTxt {
    font-size: 14px;
    width: 100%;
}

#main .packSummary .priceTxt span.priceB {
    display: table;
    text-align: left;
}

#main .packSummary .priceTxt span.priceB br {
    display: none;
}

#main .packItem .txts {
    font-size: 10px;
}

#main .packItem .menuMi {
    font-size: 12px;
    font-size: 3.7vmin;
    line-height: 1.4;
    padding: 5px;
}

#menu #main .packSummary .enduranceTxt span {
    /*    width: 47.5%;
font-size: 12px;*/
}




#main .serviceContents h2 {
    font-size: 22px;
    font-size: 5.8vmin;
    line-height: 1.4;
    padding: 0;
}

#menu #main .serviceContents .inner {
    margin: 30px auto 30px;
}

#menu #main .serviceContents article {
    width: 100%;
    float: none !important;
    margin: 0 0 30px !important;
}

#menu #main .serviceContents article:nth-child(2n) {}

#menu #main .serviceContents article:last-child {
    margin-bottom: 0 !important;
}

#menu #main .serviceContents .packOther .layout02 p {
    margin-bottom: 0;
}

/*
#menu #main .packTtl h3 {
    font-size: 40px;
    font-size: 10vmin;
    width: 48%;
    width: calc(50% - 5px);
}*/

#main .packTtl h3 span,
#menu #main .packRoof .packTtl h3 span.wall {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 2px 2px 0 0;
    padding: 8px 0 7px;
}

#main .packTtl h3 span:nth-child(2n),
#menu #main .packRoof .packTtl h3 span.wall:nth-child(2n) {
    margin-right: 0;
}

/*#menu #main .packImg {
    width: 49%;
    width: calc(50% - 5px);
    height: auto;
}
#menu #main .serviceContents .imgIco {
    width: 50%;
}
#menu #main .serviceContents h4 {
    font-size: 30px;
    font-size: 8vmin;
    margin: 5px 0 0 0;
    line-height: 1.3;
}
#menu #main .packsummary {
    display: block;
}
#menu #main .packsummary .overflowH {
    width: auto;
}
#menu #main .packCatch {
    font-size: 16px;
    font-size: 5vmin;
    line-height: 1.2;
    padding: 5px;
}
#menu #main .priceTxt {
    font-size: 90px;
    font-size: 24vmin;
    margin-top: -60px;
    font-weight: bold;
}
#menu #main .priceTxt span {
    font-size: 70px;
    font-size: 20vmin;
}
#menu #main .priceTxt span.unitTxt {
    font-size: 20px;
    width: 20px;
    display: inline-block;
}
*/

#main .packWall .btnDetail,
#main .packRoof .btnDetail,
#main .packapartment .btnDetail {
    margin-top: 0 !important;
}

#main .packWall {
    background: #e26a0f !important;
}

#main .packRoof {
    background: #1277c4 !important;
}

/*----お任せください-----*/

#main .chooseForMe {}

#main .chooseForMe .imgR20 {
    float: none;
    margin: 0 auto 10px;
    display: block;
}

#main .onayamiImg {
    margin: 0 auto 10px;
    display: block;
    float: none;
}

#main .warryBox,
#main .meritBox {}

#main .warryBox p,
#main .meritBox p {}

#main .warryBox img {
    float: none;
    position: relative;
    display: block;
    margin: 0 auto 10px;
}

#main .meritBox img {
    position: inherit;
    display: block;
    margin: 0 auto 10px;
    float: none;
}

#main .meritBox .meritTxt {
    margin: 0;
}

#main .warryBox h2 {
    font-size: 30px;
    font-size: 10vmin;
}

#main .warryBox h2 span {
    font-size: 20px;
    font-size: 6vmin;
}

#main .warryList {}

#main .warryList,
#main .meritList {}

#main .warryList {
    margin-right: 0;
}

#main .meritList {
    margin-bottom: 20px;
    padding-top: 5px;
}

#main .warryList li,
#main .meritList li,
#apartment #main .warryList li {
    line-height: 1.4;
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-size: 20px;
    font-size: 6vmin;
}

#main .meritList li {}

#main .warryList li:last-child,
#main .meritList li:last-child {}

#main .warryList li strong,
#main .meritList li strong,
#apartment #main .warryList li strong {
    /*background: linear-gradient(transparent 50%, #ffc501 40%);*/
    display: inline;
}

#main .meritList li span {
    font-size: 14px;
}

#main .meritBox .diagnosisList {
    display: block;
}

#main .meritBox .diagnosisList li {
    width: 48%;
    width: calc(50% - 5px);
    display: inline-block;
    font-size: 24px;
    font-size: 6vmin;
    margin-bottom: 10px;
}

/*--comComparePaint--*/

#main .comparePaint {
    padding: 0 !important;
    margin: 0 auto !important;
}

#main .comparePaint h2 {
    font-size: 26px;
    padding: 10px;
}

#main .compareTable {
    width: 100%;
    table-layout: fixed;
}

#main .compareTable thead {
    display: none;
}

#main .compareTable tr {
    margin-bottom: 20px;
    display: block;
}

#main .compareTable tr:last-child {
    margin-bottom: 0;
}

#main .compareTable tbody th,
#menu #main .compareTable tbody th:first-of-type {
    display: block;
    width: 100% !important;
    text-align: left;
    background: none;
    position: relative;
    color: #333;
    padding: 0 10px 0 40px;
    font-size: 18px;
    border: none !important;
    border-bottom: #ccc solid 1px !important;
}

#main .compareTable th:before,
#main .compareTable th:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 1;
    background: #e26a0f;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

#main .compareTable th:before {
    left: 0px;
    opacity: 0.5;
}

#main .compareTable th:after {
    left: 18px;
}

#main .compareTable th br {
    display: none;
}

#main .compareTable td,
#main .compareTable tr:last-child td {
    display: block;
    position: relative;
    padding: 5px 10px 5px 45%;
    font-size: 15px;
    text-align: left;
    border-bottom: #ccc solid 1px;
    border-right: #ccc solid 1px;
    height: auto;
    /*display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;*/
    min-height: 55px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .compareTable td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    background: #1277c4;
    color: #fff;
    border-left: rgba(255, 255, 255, 0.3) solid 1px;
    padding: 10px 3px;
    position: absolute;
    left: 0;
    top: 0;
    width: 27%;
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .compareTable td span {
    font-size: 28px;
    display: block;
    left: 27%;
    padding-right: 5px;
}

/*----劣化度チェック-----*/

#main .deteriorationChk {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.nocolumn #main .deteriorationChk .checkPoint,
#main .deteriorationChk .checkPoint {
    width: auto;
    float: none;
}

#main .deteriorationChk .checkPoint ul {
    position: relative;
    overflow: hidden;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: none;
    margin: 0 0 20px;
}

#main .deteriorationChk .checkPoint ul li {
    width: 100%;
    margin: 0 0 20px 0;
    box-sizing: border-box;
    float: none;
    position: relative;
    overflow: hidden;
}

#main .deteriorationChk .checkPoint ul li:nth-child(2n) {
    margin-right: 0;
    float: right;
}

#main .deteriorationChk .checkPoint ul li:nth-child(2n + 1) {
    clear: left;
}

#main .deteriorationChk .checkPoint ul li:last-child {
    margin-bottom: 0;
}

#main .deteriorationChk .checkPoint ul li .checkpointThumb {
    width: 45%;
    float: left;
    margin: 0 5px 0 0;
    padding: 0;
    height: auto;
}

#main .deteriorationChk .checkPoint ul li .checkpointThumb img {
    margin-bottom: 0;
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    left: 0;
    right: 0;
}

#main .deteriorationChk .checkPoint ul li .checkTtl {
    padding: 0;
    bottom: 0;
    background: none;
    top: inherit;
    position: absolute;
    width: 45%;
    margin-bottom: 0;
}

#main .deteriorationChk .checkPoint ul li h4 {
    background: #673a1c !important;
    color: #fff !important;
    display: block !important;
    padding: 5px !important;
    font-size: 14px !important;
    margin: 0 0 10px;
    text-align: center;
}

#main .deteriorationChk .checkPoint ul li h4:before,
#main .deteriorationChk .checkPoint ul li h4:after {
    content: none;
}

#main .deteriorationChk .checkPoint ul li .checkTtl p {
    border-radius: 0;
    background: rgba(255, 255, 255, 0.4);
    font-size: 16px;
}

#main .deteriorationChk .checkPoint ul li p {
    display: block;
    font-size: 12px;
    margin-bottom: 0;
    overflow: hidden;
}

.nocolumn #main .deteriorationChk .checkLegend,
#main .deteriorationChk .checkLegend {
    width: auto;
    float: none;
    text-align: center;
    margin-top: 0px;
    display: block;
    padding: 0;
}


#main .deteriorationChk .checkLegend ul {
    background: url(../img/common/checkLegend_arw02.png) no-repeat center bottom;
    padding: 0 15px 50px 0;
}

#main .deteriorationChk .checkLegend h3,
#diagnosis #main .deteriorationChk .checkLegend h3 {
    width: 100%;
    height: auto;
    border-radius: 5px;
    display: block;
    margin: 15px 0 15px !important;
    padding: 10px 0 !important;
    font-size: 20px !important;
    font-size: 6vmin !important;
}

#diagnosis #main .deteriorationChk .checkLegend h3 {
    margin: 0 !important;
}

#main .deteriorationChk .checkLegend h3 .imgLayer,
#diagnosis #main .deteriorationChk .checkLegend h3 .imgLayer {
    bottom: inherit;
    top: 5px;
    right: 5px;
    width: 35px;
    left: inherit;
}

#main .deteriorationChk .checkLegend h3 br {
    display: none;
}

#main .deteriorationChk .checkLegend ul li,
#main .deteriorationChk .checkPoint .checkLegend li {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: none !important;
    display: inline-block;
    margin-bottom: 20px;
}

#main .deteriorationChk .checkLegend ul li h4 {
    margin-bottom: 0;
    background: #333 !important;
}

#main .deteriorationChk .checkLegend p {}

#main .deteriorationChk .checkLegend span {}



#diagnosis #main .deteriorationChk h2 {

    font-size: 30px;
    font-size: 7.9vmin;
}

#diagnosis #main .deteriorationChk h2 span {
    display: block;
    margin: 0 0 5px;
    font-size: 17px;
    font-size: 5.4vmin;
}



#diagnosis #main .deteriorationChk .checkPoint>ul {
    float: none;
    width: 100%;
    margin-bottom: 20px;
}


#diagnosis #main .deteriorationChk .checkLegend {
    float: none;
    width: 100%;
}

#main .checkTxt {
    font-size: 16px;
    font-size: 4.2vmin;
    padding: 10px 5px;
    margin: 0 0 15px;
    border-radius: 15px;
}

#main .checkTxt:after {
    border-width: 15px 35px;
}

/*----comMessage-----*/

#main .msgTxt {
    width: auto;
    float: none;
    display: block;
}

#main .msgTxt h2 {
    font-size: 24px;
    font-size: 6.5vmin;
}

#main .msgTxt h2 span {}

#main .msgTxt h3 {
    font-size: 17px;
    margin: 0 0 15px;
    padding: 0 !important;
}

#main .msgTxt h3 br {
    display: none;
}

#main .msgPhoto {
    width: auto !important;
    float: none !important;
    text-align: center !important;
    margin: 0 auto 20px !important;
}

#main .msgPhoto .ceoPict {
    margin: 0 auto 10px;
}

#main .msgPhoto img {
    display: block;
}

#main .msgPhoto h5 {
    font-size: 15px;
    display: inline-block;
    margin: 0;
    padding: 0 10px;
}

#main .msgPhoto p {
    font-size: 21px;
    font-weight: bold;
    margin-top: 0;
    line-height: 1.2;
}

#main .msgPhoto p span {
    font-size: 13px;
    margin-right: 20px;
}

/*--comEnquete--*/

#main .enqueteBox {}

#main .enqueteBox ul {}

#main .enqueteBox ul li {}

#main .enqueteBox ul li a {}

#main .enqueteBox ul li img {}

#main .enqueteBox ul li h3 {
    font-size: 15px;
}

#main .enqueteBox ul li .contTxt {
    font-size: 15px;
}

/*---店舗案内マップ付--*/

#main .shopAccess ul {
    margin: 0 0 10px;
}

#main .shopAccess ul li img,
#corporate #main .shopAccess ul li img,
#blog #main .shopAccess ul li img,
#works #main .shopAccess ul li img,
#voice #main .shopAccess ul li img {
    float: none;
    display: block;
    margin: 0 auto 10px;
    width: 100%;
}

#corporate figure ul li {
    width: 100%;
}

#corporate figure ul li img {
    width: 100%;
}

#corporate figure ul li:nth-child(2n) {
    float: none;
}

#corporate figure ul.yokoList li {
    width: 100%;
    margin: 0;
}

#corporate figure ul.yokoList li:nth-of-type(2n),
#corporate figure ul.tateList li:nth-of-type(4n),
#corporate figure ul.tateList li:nth-of-type(2n) {
    margin-right: 0;
}

#corporate figure ul.yokoList li:nth-of-type(n + 2),
#corporate figure ul.tateList li:nth-of-type(n + 3) {
    margin-top: 10px;
}

#corporate figure ul.tateList li {
    width: 49%;
}

#main .shopAccess ul li:before,
#main .shopAccess ul li:after {
    display: none !important;
}


#main .shopAccess ul li .shopSummery h5 {
    font-size: 22px;
    font-size: 6vmin;
    padding: 15px 0 0
}


#main .shopAccess ul li .shopMain li {
    width: 100%;
    overflow: hidden;
    position: relative;
    float: none;
    margin-bottom: 10px;
    height: auto;
}

#main .shopAccess ul li .shopMain li:nth-child(2n) {
    float: none;
}

#main .shopAccess ul li .shopMain li img {
    position: relative;
    width: auto;
    height: auto;
    top: inherit;
    left: inherit;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

#main .shopAccess ul li h4 {
    font-size: 16px !important;
    font-size: 4.5vmin !important;
    text-align: left;
}

#main .shopAccess ul li iframe {
    width: 100%;
    height: 200px;
}

#main .shopAccess ul li .shopSummery p {
    margin-bottom: 0 !important;
}

#main .showroomRecommend .catchTxt {
    font-size: 20px;
    font-size: 5vmin;
    text-align: center;
}

#main .showroomRecommend li {
    font-size: 20px;
    font-size: 6vmin;
    line-height: 1.4;
    padding-bottom: 10px;
    margin: 0 0 10px;
}

#main .showroomRecommend li:first-child {}


#main .showroomRecommend li:before {
    display: table;
}

#main .showroomRecommend li strong {
    display: inline;
}

/*----comArea-----*/

#main .comAreaBox img {
    float: none;
    display: block;
    margin: 0 auto 0px;
}

#main .comAreaBox img.imgLayer {
    position: relative;
    top: inherit;
    right: inherit;
    display: block;
    margin: 0 auto;
}

#main .comAreaBox p.areaTxt {
    padding: 10px;
}

#main .comAreaBox ul {
    margin: 0 10px;
}

#main .comAreaBox ul li {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 10px 0 0;
}

#main .comAreaBox ul li:nth-child(-n+3) {
    margin-top: 10px !important;
}

#main .comAreaBox ul li:first-child {
    margin-top: 0 !important;
}

#main .areaInfo img {
    float: none;
    display: block;
    margin: 0 auto 10px;
    width: 100%;
}

#main .areaInfo p {
    border-bottom: none !important;
    padding-bottom: 0;
}

/* -----------------------------------------------------------
#top
トップページ
----------------------------------------------------------- */
#main .newsBoxN h3 {
    margin-bottom: 5px;
}

#main .newsBoxN .inBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    position: relative;
    margin-bottom: 0;
}

#main .newsBoxN .inBox li {
    position: relative;
    overflow: hidden;
    border-bottom: #333 dashed 1px;
    padding: 0 0 15px;
    margin: 0 0 15px;
}

#main .newsBoxN .inBox li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

#main .newsBoxN .inBox li:before,
#main .newsBoxN .inBox li:after {
    content: none;
}

#main .newsBoxN .inBox li a {
    color: #333;
    text-decoration: none !important;
    display: block;
}

#main .newsBoxN .inBox li .price {
    color: #d73d33 !important;
}

#main .newsBoxN .inBox p {
    font-size: 14px;
    font-size: 3.8vmin;
    margin-bottom: 0 !important;
}

#main .newsBoxN .inBox .newsCont {
    overflow: hidden;
}

#main .newsBoxN .inBox li .newsCont {
    overflow: hidden;
}

#main .newsBoxN .voiceL li .newsCont {
    padding-top: 0;
}

#main .newsBoxN .inBox li .newsCont h5 {
    background: none !important;
    color: #ee0000 !important;
    font-size: 18px;
    font-size: 4.6vmin;
    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}


#main .newsBoxN .inBox p.time {
    color: #21a937;
    font-size: 12px !important;
}

#main .newsBoxN .inBox .contTxt {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#main .newsBoxN .inBox p strong {
    color: #ee0000;
}

#main .newsBoxN .inBox .cat {
    position: absolute;
    left: 90px;
    top: 0;
    width: 300px;
    height: 2em;
    overflow: hidden;
}

#main .newsBoxN .inBox li .cat a {}

#main .newsBoxN .inBox li .newsTumb {
    width: 80px;
    height: 80px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    float: left;
    margin-right: 10px;
}

#main .newsBoxN .inBox li img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .worksBox,
#main .reasonBox {}

#main .diagnosisBox {}

#main .diagnosisBox .floatR {
    width: auto;
    margin: 0 10px 15px;
    float: none;
}

#main .diagnosisBox h2 {
    text-align: center;
}

#main .diagnosisBox .floatR img {
    display: block;
    margin: 0 auto 5px;
}

#main .diagnosisBox .overflowH {
    margin: 0 10px 20px;
}

#main .diagnosisBox .catchTtl {}

#main .reasonBox {
    margin: 0;
    overflow: inherit;
}

#main .reasonBox h2 {
    z-index: 10;
    overflow: inherit;
    font-size: 24px;
    font-size: 6.3vmin;
    margin-bottom: 15px;
    display: block;
}

#main .reasonBox h2:after {
    border: 150px solid transparent;
    border-top: 45px solid #e26a0f;
}

#main .reasonBox h2 span {
    display: block;
    margin: 0;
}

#main .reasonBox h2 span.txtL {}

#main .reasonBox h2 img {}

#main .reasonBox .floatL {
    float: none;
    margin: 0;
}

#main .reasonBox canvas {
    width: 100% !important;
    height: auto !important;
    padding-top: 55px;
}

#main .reasonBox .graphBox h3 {
    top: 27%;
    top: calc(50% - 87px);
    right: 0;
    left: 0;
    margin: auto;
    width: 120px;
    height: 120px;
    margin-top: 55px;
    border: rgba(0, 0, 0, 0.14) solid 10px;
    padding: 10px 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .reasonBox .graphBox h3 img {
    position: relative;
    z-index: 10;
}

#main .reasonBox .graphBox ul li a span {
    display: block;
}

#main .reasonBox .graphBox ul.graphLabel {
    width: 100%;
}

#main .reasonBox .graphBox ul.graphLabel li {
    font-size: 11px;
    font-size: 3vmin;

}

#main .reasonBox .graphBox ul.graphLabel li a {}



#main .reasonBox .graphBox ul.graphLabel li span {
    font-size: 45px;
    font-size: 10vmin;
}

#main .reasonSystem .catchTtl {
    font-size: 24px;
    font-size: 6vmin;
}

#main .reasonList {
    padding: 0;
}

#main .reasonList.col3 {
    flex-flow: row wrap;
}

#main .reasonList h3 {
    font-size: 20px;
    font-size: 5.6vmin;
    margin-bottom: 20px;
}

#main .reasonList p {
    font-size: 16px;
}

#main .reasonList li {
    width: 100%;
    margin: 0 0 20px 0;
    padding-top: 5px;
}

#main .reasonList li:before,
#main .reasonList li:after {
    content: none;
}

#main .reasonList li.listL {
    width: 100%;
    margin: 0 0 20px;
    padding-right: 7px;
}

#main .reasonList li:last-child {
    margin: 0;
}

#main .reasonList li h4 {
    padding-left: 0;
    font-size: 18px;
    font-size: 5vmin;
    float: left;
    margin: 14px 0 5px !important;
    clear: none;
    text-align: left;
}


#main .reasonList li h4:before,
#main .reasonList li h4:after {}

#main .reasonList li h4 strong {
    font-size: 26px;
    font-size: 7.5vmin;
    display: inline;
}

#main .reasonList li img {
    float: right;
    width: 45px;
}

#main .reasonList li p {
    font-size: 15px;
    margin: 10px 0 0;
    line-height: 1.5;
    clear: both;
}

#main .reasonList li.listL p {
    position: relative;
    overflow: hidden;
}

#main .reasonList li p.catchTxt {
    margin: 0 0 5px !important;
    font-size: 14px;
    font-size: 4vmin;
}

#main .reasonList li .imgLayer {
    display: none;
}

#main .reasonList li .imgR {
    width: 35%;
    margin: 0 0 0 10px;
}

#main .worksBox,
#main .voiceBox {}

#main .voiceBox {
    padding-top: 30px;
}

#main .worksBox h2,
#main .voiceBox h2,
#main .blogBox h2,
#main .topReasonBox h2,
#top #main .worksBox h2,
.area #main .worksBox h2,
#main .topContactBox h2 {
    overflow: inherit;
    font-size: 20px;
    font-size: 6vmin;
    margin-bottom: 15px;
    display: block;
}

#main .topReasonBox h2 br,
#main .topContactBox h2 br {
    display: none;
}

#main .topReasonBox h2 img {
    width: 14vmin;
    height: auto;
}

#main .reasonBox h2 span,
#main .basicKnow h2 span,
#main .voiceBox h2 span,
#main .topReasonBox h2 span,
#top #main .worksBox h2 span,
.area #main .worksBox h2 span,
#main .topContactBox h2 span {
    display: block;
    margin: 0 0 5px;
    font-size: 17px;
    font-size: 5.4vmin;
}

#main .topReasonBox h2 span {
    display: inline-block;
}

#main .reasonBox h2 span.txtL,
#main .basicKnow h2 span.txtL,
#main .voiceBox h2 span.txtL,
#main .topReasonBox h2 span.txtL,
#top #main .worksBox h2 span.txtL,
.area #main .worksBox h2 span.txtL,
#main .topContactBox h2 span.txtL {
    clear: both;
    font-size: 28px;
    font-size: 7.8vmin;
}

#main .topReasonBox h2 span.txtL {
    font-size: 6.8vmin;
    clear: none;
}

#main .topReasonBox h3 {
    margin-bottom: 0;
}

#main .topReasonGraphs .floatR,
#main .topReasonGraphs .floatL {
    float: none;
    text-align: center;
}

#main .voiceBox h2 img {
    display: none;
}

#main .worksBox h3 {
    font-size: 18px;
    font-size: 5vmin;
    padding: 5px 7px;
}

#main .worksBox .btn,
#main .voiceBox .btn {}

#main .worksList,
#main .blogList,
#main .eventList,
#main .voiceList {
    padding: 0;
}

#main .worksList article,
#main .voiceList article,
#main .blogList article,
#main .eventList article,
#main .topicsBox ul li {
    width: 48%;
    width: calc(50% - 5px);
    margin: 0 0 20px 0 !important;
}

#main .worksList article:nth-child(2n),
#main .voiceList article:nth-child(2n),
#main .blogList article:nth-child(2n),
#main .eventList article:nth-child(2n),
#main .topicsBox ul li:nth-child(2n) {
    float: right;
}

#main .worksList article:nth-child(3n + 1),
#main .voiceList article:nth-child(3n + 1),
#main .blogList article:nth-child(3n + 1),
#main .eventList article:nth-child(3n + 1) {
    clear: none;
}

#main .voiceList article:nth-child(2n + 1),
#main .blogList article:nth-child(2n + 1),
#main .eventList article:nth-child(2n + 1),
#main .worksList article:nth-child(2n + 1) {
    clear: both;
}

#main .worksList .time,
#main .voiceList .time,
#main .blogList .time,
#main .eventList .time {
    font-size: 12px;
}

#main .worksList a,
#main .voiceList a,
#main .blogList a,
#main .eventList a {
    display: block;
    text-decoration: none !important;
}

#main .worksList .worksImg,
#main .voiceList .voiceImg,
#main .blogList .blogImg,
#main .eventList .blogImg,
#main .topicsBox ul li .mainThum {
    width: 100%;
    height: 110px;
    position: relative;
    overflow: hidden;
    margin: 0;
    border: #ccc solid 1px;
}

#main .worksList .worksImg img,
#main .voiceList .voiceImg img,
#main .blogList .blogImg img,
#main .eventList .blogImg img,
#main .topicsBox ul li .mainThum img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    bottom: inherit;
}

#main .worksList .worksSummary,
#main .voiceList .voiceSummary,
#main .blogList .blogSummary,
#main .eventList .blogSummary {
    overflow: hidden;
}

#main .worksList h3,
#main .worksList .contTxt,
#main .worksList .price,
#main .voiceList h3,
#main .voiceList .contTxt,
#main .blogList h3,
#main .blogList .contTxt {}

#main .worksList h3,
#main .voiceList h3,
#main .blogList h3,
#main .eventList h3 {
    margin: 0 0 5px;
}

#main .worksList .price {
    margin-bottom: 5px;
}

#main .worksList .price span {}

#main .worksList .time,
#main .voiceList .time,
#main .blogList .time {}

#main .voiceList h3,
#main .worksList h3,
#main .blogList h3,
#main .eventList h3 {
    font-size: 14px;
    font-size: 4vmin;
    /*overflow: visible;
    text-overflow: inherit;
    white-space: inherit;
    height: 38px;*/
}

#main ul.topBlog {
    margin-top: -25px;
}

#main .topBlog li {
    font-size: 12px;
    margin-bottom: 5px;
    padding: 7px 0;
    position: relative;
    line-height: 1.4;
    border-bottom: #ccc solid 1px;
    font-weight: bold;
    overflow: hidden;
}

#main .topBlog li .blogImg {
    float: left;
    width: 100px;
    height: 100px;
    overflow: hidden;
    margin-right: 10px;
    position: relative;
}

#main .topBlog li .blogImg img {
    position: absolute;
    /* content: ""; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    width: auto;
}

#main ul li::before,
#main ul li::after {
    content: none;
}

#main .topBlog li a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    color: #333;
    text-decoration: none;
}

#main .topBlog li:last-child {
    margin-bottom: 0;
}

#main .topBlog li span {
    color: #fff;
    font-size: 10px;
    background: #ee0000;
    padding: 0 4px;
    margin-right: 5px;
    display: inline-block;
}

#main .topBlog li p {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

#main .topBlog li span.time {
    color: #21a937;
    font-weight: bold;
    display: block;
    background: none;
    padding: 0;
    position: inherit;
}

/* -----------------------------------------------------------
#corporate
----------------------------------------------------------- */

#main .comAreaBox img {}

/* -----------------------------------------------------------
#showroom
----------------------------------------------------------- */

#main .featureBox ul {
    float: auto;
    width: auto;
    box-sizing: border-box;
}

#main .featureBox ul li h4 {
    margin: 0 10px 0 0 !important;
}

#main .featureBox ul li p {
    font-size: 15px;
    font-size: 4vmin;
    line-height: 1.4;
    display: inline;
}

#showroom #main ul.showroomDetail li {
    width: auto;
    float: none;
    margin-bottom: 20px;
}

#main ol.showroomMerit li {
    width: auto;
    margin: 0 0 20px;
    float: none;
}

#main ol.showroomMerit li:last-child {
    margin-bottom: 0;
}

#main ol.showroomMerit li h4 {
    padding-left: 32%;
    font-size: 24px;
    font-size: 6vmin;
    line-height: 1.4;
}

#main ol.showroomMerit li h4 img {
    width: 35%;
}

#main h5 {
    display: block;
}

#main ol.showroomStep li {
    float: none;
    width: auto;
    margin: 0 0 15px;
}

#main ol.showroomStep li:first-child {
    width: auto;
}

#main ol.showroomStep li:last-child {
    width: auto;
    margin: 0;
}

#main ol.showroomStep li h4 {
    margin: 0 0px 10px 0 !important;
    padding: 0 10px 0 10px;
}

#main ol.showroomStep li p {
    padding-left: 0px;
    height: auto;
    font-size: 20px;
    font-size: 5.5vmin;
}

#main .formBox {
    margin-bottom: 20px;
}

#main .formBox table {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .formBox th,
#main .formBox td {
    padding: 10px 10px;
    width: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .formBox td {
    padding: 5px;
}

#main .formBox td input[type="text"],
#main .formBox td input[type="tel"],
#main .formBox td input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
}

#main .formBox td input[type="file"] {
    width: 100%;
    font-size: 14px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .formBox td select,
#main .formBox td input[type="date"] {
    width: 100%;
    box-sizing: border-box;
    vertical-align: middle;
    font-size: 16px;
    box-sizing: border-box;
}

#main .formBox .submit input {
    width: 100%;
    box-sizing: border-box;
    padding: 15px 5px 15px;
}

#main .formBox td textarea {
    width: 100%;
}

#main .formBox .submit input[type="button"] {
    margin-right: 0px;
    margin-bottom: 15px;
}

/* -----------------------------------------------------------
#menu
----------------------------------------------------------- */

#main .flowList {
    border-radius: 18px;
    display: block;
    height: auto;
    padding: 10px;
}

#main .flowList h3 {
    float: none;
    margin: 0 0 5px 0;
    text-align: center;
}

#main .flowList ul {
    display: block;
    margin-bottom: -5px;
}

.nocolumn #main .flowList ul li,
#main .flowList ul li {
    font-size: 18px;
    width: 18.5%;
    width: calc(33.3333% - 4px);
    margin: 5px 5px 0 0;
    padding: 0;
    box-sizing: border-box;
    height: 50px;
    float: left;
}

#main .flowList ul li.stxt,
.nocolumn #main .flowList ul li.stxt {
    font-size: 13px;
    line-height: 1.2;
}

#main .flowList ul li:nth-child(-n+3) {
    margin-top: 0;
}

#main .flowList ul li:nth-child(3n) {
    margin-right: 0;
}

.nocolumn #main .flowList.flowRoof ul li {

    margin: 5px 5px 0 0;
    width: 24%;
    width: calc(33.3333% - 4px);
}

#main .flowList.flowRoof ul li:nth-child(-n+3) {
    margin-top: 0;
}

#main .flowList.flowRoof ul li:nth-child(3n) {
    margin-right: 0;
}

#main .flowWall-notice {
    line-height: 1.4;
    font-size: 14px;
    font-size: 3.8vmin;
}

#main .notice-txt {
    font-size: 14px;
    font-size: 3.8vmin;
}

#main .wallPartsBox {
    margin-top: 0;
}

#main .wallPartsBox .floatL {
    width: auto;
    float: none;
}

#main .wallPartsBox .floatR {
    width: auto;
}

#main .wallPartsBox .catchTtl {
    font-size: 20px;
}

#main .wallPartsBox h2.catchTtl span {
    font-size: 22px;
    font-size: 6vmin;
}

#main .wallPartsBox h2.catchTtl .txtL {

    font-size: 55px;
    font-size: 16vmin;
    display: block;
}

#main .wallPartsBox h2.catchTtl .txtL span {
    width: 75px;
    height: 75px;
    width: 20vmin;
    height: 20vmin;
    font-size: 50px;
    font-size: 14vmin;
    padding-top: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

/*#main .wallPartsBox .flowList {
    height: auto;
}
#main .wallPartsBox .flowList ul li {
    font-size: 20px;
    width: 24%;
    margin: 0 0 5px 0;
    padding: 0;
    box-sizing: border-box;
    height: 50px;
}*/

#menu #main .floatL {
    float: none;
}

#menu #main img.floatL {
    display: block;
    margin: 0 auto;
}

#main .scrollBox {
    overflow: auto;
}

.scrollBox::-webkit-scrollbar {
    height: 5px;
}

.scrollBox::-webkit-scrollbar-track {
    background: #F1F1F1;
}

.scrollBox::-webkit-scrollbar-thumb {
    background: #BCBCBC;
}

#main .scrollBox table {
    width: 1000px;
}

.scrollMsg {
    margin-bottom: -10px;
    color: #ee0000;
    font-size: 12px;
    font-weight: bold;
}

#main .scrollBox th {
    white-space: nowrap;
    display: table-cell;
}

#main .scrollBox td {
    display: table-cell;
}

#main .wallPartsBox h4 {
    margin: 0 0 10px;
}

#main .comFamilyBox .imgLayer {
    display: none !important;
}

#main .comFamilyBox p {
    color: #fff;
    font-size: 20px;
    margin: 10px 10px 5px;
}

.comFamilyBox img {
    display: block;
    text-align: center;
    width: 217px;
    margin: 0 auto 5px;
}

#main .comFamilyBox p.catchTtl {
    font-size: 22px !important;
    padding: 5px;
}

#main .comFamilyBox p span.txtM {
    font-size: 5vmin;
}

/* -----------------------------------------------------------
#first
----------------------------------------------------------- */

#first #main .firstPoint h3 {
    font-size: 18px;
    font-size: 5vmin;
    position: relative;
    padding: 30px 7px 5px;
}

#first #main .firstPoint h3 span {
    font-size: 16px;
    font-size: 4vmin;
    float: none;
    position: absolute;
    top: 0;
}

#main .firstPoint img,
#main .firstPoint .imgL20 {
    float: none !important;
    margin: 0 auto 5px !important;
    display: block;
}

/*
#first #main .firstNeed {
    margin: 0 10px;
}*/

#first #main .catchTtl {
    font-size: 30px;
    font-size: 9vmin;
}

#first #main .catchTtl span {
    display: block;
    font-size: 18px;
    font-size: 4.8vmin;
}

#first #main .catchTtl br {
    display: none;
}


#first #main .firstContents {
    position: relative;
    overflow: hidden;
    display: block;
}

#first #main .firstContents .alignleft {
    float: none;
    margin: 0 auto 10px;
    text-align: center;
}

#first #main .firstContents table {
    width: 100%;
    float: none;
    display: table;
}

#first #main .firstContents table th,
#first #main .firstContents table td {
    display: table-cell;
    padding: 5px;
    vertical-align: middle;
    font-size: 14px;
}


#first #main .firstContents li {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

#first #main .firstContents li br {
    display: none;
}

#first #main .choicePoint li img {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#first #main .flowWorks img {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#first #main .floatR {
    float: none;
}

/*--ブログ形式ページ--*/

#main .taxList li {}

#main .areaList li {
    /*
    display: inline-block;
    margin-right: 20px;*/
}

#main .infoBox {
    margin: 0 0 5px;
    padding: 0;
}

#main .infoBox p.cat {
    margin-bottom: 10px !important;
}

#main #archiveList {
    overflow: hidden;
    padding-bottom: 20px;
}

#main #archiveList article {
    width: 100%;
    float: none;
    margin: 0 0 10px 0;
}

#main #archiveList a {
    display: block;
    position: relative;
    overflow: hidden;
}

#main #archiveList h3 {
    margin: 0 0 10px;
}

#main #archiveList .mainPict {
    width: 35%;
    height: 100px;
    position: relative;
    overflow: hidden;
    margin: 0 10px 0 0;
    border: #ccc solid 1px;
    float: left;
}

#main #archiveList .mainPict img {
    /*    height: 100%;
    width: auto;*/
    max-width: inherit;
}

#main #archiveList .archiveSummary {
    overflow: hidden;
}

#main .singleDetail {
    margin: 0 0;
}

#main .singleDetail table {
    margin: 0 0 20px;
    width: 100%;
}

#main #archiveList .time {
    font-size: 10px;
}

#main #archiveList .cat {
    position: inherit;
    top: inherit;
    bottom: inherit;
    right: inherit;
    height: auto;
}



#main .singleWorks .singleDetail .cst_link td a {
    float: none;
    margin: 5px 0 0 0;
    padding: 4px 8px 2px;
    text-align: center;
}



#blog #main #archiveList .archiveSummary {
    margin-top: 20px;
    text-align: left;
}

#blog #main #archiveList .cat {
    position: absolute;
    top: 0;
    left: 38%;
    height: 24px;
}

#main #archiveList .archiveBlog .time {
    /*margin-top: 30px;*/
}

#main #archiveList .archiveBlog .btn {
    width: 100%;
}

#voice #main .enq ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}

#voice #main .enq li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1.3;
}

#voice #main h3 {
    font-size: 18px;
    font-size: 5vmin;
}

#blog #main #archiveList article {
    border-bottom: #333 dashed 1px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

#main .singleBlog .contactBox {
    margin-bottom: 20px;
}

#main .singleBlog .singleDetail table th,
#main .singleBlog .singleDetail table td {
    width: auto !important;
    display: table-cell;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*--施工事例・お客様の声--*/

#works #main #archiveList article,
#voice #main #archiveList article {
    width: 48%;
    width: calc(50% - 5px);
    margin: 0 10px 15px 0 !important;
    float: left;
    clear: none !important;
}

#works #main #archiveList article:nth-child(2n),
#voice #main #archiveList article:nth-child(2n) {
    margin-right: 0 !important;
}

#main #archiveList article:nth-child(2n + 1) {
    clear: left !important;
}

#works #main #archiveList .mainPict,
#voice #main #archiveList .mainPict {
    width: 100%;
    height: auto;
    float: none;
    margin-bottom: 5px;
}

#works #main #archiveList .mainPict img,
#voice #main #archiveList .mainPict img {
    position: relative;
    width: 100%;
    height: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#works #main #archiveList h3,
#voice #main #archiveList h3 {
    margin-bottom: 0;
}

#main #archiveList ul {
    margin: 0 10px;
}

#main #archiveList .archiveWorks li {
    width: 100%;
    float: none;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    background: #fffeee;
    border: #ccc solid 1px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main #archiveList .archiveWorks li:nth-child(2n) {
    float: none;
}

#main #archiveList li:before,
#main #archiveList li:after {}

#main #archiveList .archiveWorks li a {}

#main #archiveList .archiveWorks li .worksMain {
    width: 50%;
    height: auto;
    float: left;
    margin-right: 10px;
}

#main #archiveList .archiveWorks li .worksMain img {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

#main #archiveList .archiveWorks h4 {}

#main #archiveList .archiveWorks h4:before,
#main #archiveList .archiveWorks h4:after {}

#main #archiveList .archiveWorks .summary {
    border: none;
    background: none;
    overflow: hidden;
    padding: 0;
    padding: 10px 10px 10px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main #archiveList .archiveWorks .summary p {
    font-size: 12px;
    font-size: 3.5vmin;
    line-height: 1.5;
    margin-bottom: 5px;
}

#main #archiveList .archiveWorks .summary .btn {
    width: auto;
    padding: 5px 0;
}

#main #archiveList .selectarea .imgL {
    float: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px;
}

#main #archiveList .taxonomyWorks,
#main #archiveList .archiveVoice,
#main .archiveBox {
    margin: 0;
}

#main .archiveBox {}

#main #archiveList .taxonomyWorks h3,
#main #archiveList .archiveVoice h3 {
    margin: 0 0 10px;
    font-size: 15px;
    overflow: visible;
    text-overflow: inherit;
    white-space: normal !important;
    height: 45px;
}

#main .singleWorks p,
#main .singleVoice p {
    font-size: 14px;
}

#main .singleWorks h4,
#main .singleVoice h4 {
    margin: 0 0 10px;
}

#main .singleWorks .singleDetail table.jirei-data td {
    margin-bottom: 10px;
}

#main .singleWorks .singleDetail .table-style01 table,
#main .singleWorks .singleDetail .table-style01 table td {
    margin-bottom: 0 !important;
}

#main .singleWorks .singleDetail .table-style01 table th,
#main .singleWorks .singleDetail .table-style01 table td {
    padding: 10px !important;
}

#main .singleWorks .singleDetail .uc {
    table-layout: fixed !important;
}

#main .singleWorks .singleDetail .uc th,
#main .singleWorks .singleDetail .uc td {
    display: table-cell;
    font-size: 14px;
    padding: 5px;
}


#main .singleVoice .enqImg {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .singleVoice .enqImg img {
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


#main .picBox {
    margin: 30px 0;
}

#main .picBox .photo,
#main .picBox .btmPhoto .bImg {
    float: none;
    width: 100%;
    height: auto;
    position: relative;
    margin-bottom: 10px;
}

#main .picBox .photo img,
#main .picBox .btmPhoto img {
    position: relative;
    top: inherit;
    left: inherit;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    width: 100%;
    height: auto;
}

#main .picBox .btmPhoto:before,
#main .picBox .btmPhoto:after {
    content: none;
}

#voice #main .picBox .photo {
    border: solid 1px #ccc;
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
}

#voice #main .picBox .photo img {
    position: inherit;
    transform: none;
    width: 100%;
    height: auto;
}

#main .picBox .btmPhoto {
    float: none;
    width: auto;
    height: auto;
    position: relative;
    margin-bottom: 10px;
}

z #main .picBox .btmPhoto img {
    margin-bottom: 0;
}

#main .picBox .arrowImg {
    display: none;
}

#main .picBox02 {
    margin-top: 40px;
}

#main .picBox02 .photo {}

#main .picBox02 .btmPhoto {}

#main .picBox02 .arrowImg {
    margin: 15px 0 0 100px;
}

#main .picBox03 .btmPhoto {
    display: none;
}

#main .picBox03 {}

#main .picBox03 .photo {
    margin: 0 auto;
    float: none;
    position: relative;
    overflow: hidden;
}

#main .picBox span.after,
#main .picBox span.before {
    /*    position: absolute;
    top: 5px;
    left: 5px;
    background: #009ce9;
    display: inline-block;
    z-index: 10;
    font-size: 15px;
    font-weight: bold;
    color: #FFF;
    padding: 2px 5px;
    line-height: 1.4;*/
}

#main .picBox span span {
    opacity: 0.5;
    margin-left: 5px;
}

#voice #main .voicephotList {
    margin: 0 auto 10px;
    float: none;
    width: auto;
    text-align: center;
}

#main .voicephotList li {
    text-align: center;
    width: auto;
}

#main .voicephotList li img {}

#voice #main .singleDetail {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: none;
    margin: 0;
}

#voice #main .singleDetail table th,
#voice #main .singleDetail table td {
    display: table-cell;
    border-top: #fff solid 1px !important;
    padding: 10px;
}

#voice #main .singleDetail table th {
    border-bottom: #fff solid 1px !important;
    width: 28%;
    text-align: center;
}

#voice #main .enq h5 {}

#voice #main .enq ul {
    margin-top: 0px;
}

#voice #main .enq li {}

#voice #main .enq li.on {
    color: #FFF;
}

#main .otherPhoto {}

#main .otherPhoto li {
    width: 48%;
    width: calc(50% - 5px);
}

#main .otherPhoto li a {
    width: 100%;
    height: auto;
}

#main .otherPhoto li a img {
    position: relative;
    top: inherit;
    left: inherit;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    width: 100%;
    height: auto;
}

/*pagenavi*/

.pagenavi {
    height: auto;
}

.pagenavi li {
    width: 35%;
    margin-bottom: 10px !important;
    display: inline-block;
    font-size: 15px;
    font-size: 4vmin;
}

.pagenavi li:before {
    right: 5px;
}

.pagenavi li:after {
    right: 10px;
}

.pagenavi .prev {}

.pagenavi a {
    display: block;
    width: auto;
}

.pagenavi li.list {
    left: 0;
    right: 0;
    margin: auto !important;
    width: 20%;
}

.pagenavi .next {}

.pagenavi li.next:before {
    left: 5px;
}

.pagenavi li.next:after {
    left: 10px;
}

/*--TOPバナー、ぱんくずエリア--*/

#topBnr,
#pagePath {
    padding: 3px 0;
}

#topBnr {
    padding: 15px 0;
}

#topBnr ul,
#pagePath p {
    margin: 0 auto;
    color: #fff;
    font-size: 11px;
    width: 100%;
}

#pagePath p {
    padding: 0 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#pagePath p a {
    /*    color: #333;*/
}

/*--お問い合わせ件数--*/

#main .topWorksBnr {
    margin-bottom: 20px;
}

#main .topWorksBnr,
#main .inqCount {
    width: auto;
    float: none;
}

#main .inqCount {
    padding: 0;
    margin-bottom: 20px;
}

#main .inqCount h3 {
    border-top: none;
    padding: 5px 7px 0;
    margin: 0;
    font-size: 6.2vmin;
}

#main .inqCount p {
    font-size: 2.8vmin;
    margin: 0 7px;
}

#main .inqCount dl {
    padding: 10px 10px 0;
    display: flex;
    align-items: center;
    flex-flow: row wrap;
}

#main .inqCount dt,
#main .inqCount dd {
    height: 34px;
}

#main .inqCount dt {
    width: 70%;
    margin-bottom: 10px;
    float: none;
    padding: 0;
}

#main .inqCount dd {
    /* padding: 2px 10px 3px 200px; */
    padding: 0;
    font-size: 26px;
    text-align: center;
    width: 30%;
    box-sizing: border-box;
    margin-bottom: 10px;
    border-radius: 0 5px 5px 0;
}

#main .inqCount dd:last-of-type {
    margin-bottom: 10px;
}

/*--TOPバナー--*/

#topBnr {
    padding: 0;
    margin-bottom: 20px;
    float: none;
}

#topBnr ul {
    position: relative;
    overflow: hidden;
    margin: 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: auto;
}

#topBnr ul li {
    /*width: 48%;
    width: calc( 50% - 5px);
    font-size: 16px;
    font-size: 4.5vmin;*/
    line-height: 1.4;
    margin: 10px 0 0;
}

#topBnr ul li:nth-child(2n) {
    /*float: right;*/
}

#topBnr ul li:nth-child(-n+2) {}

#topBnr ul li:hover {}

#topBnr ul li a span {
    display: block;
}

#topBnr ul li img {
    margin-right: 5px;
}

#main .topContactBox {
    width: auto;
    float: none;
    margin-bottom: 0;
}


#main .topContactBox .floatL,
#main .topContactBox .floatR {
    width: auto;
    float: none;
    margin-bottom: 20px;
}

#main .topContactBox img {
    width: 100%;
}

#main .topContactBox h3,
#main .topContactBox ul {
    margin-bottom: 5px;
}

#main .topContactBox ul li {
    width: 48%;
    width: calc(50% - 5px);
}

/* #main .topContactBox ul li img {
    width: 100%;
} */

#main .topContactBox .catchTxt {
    margin-bottom: 5px;
}

#main .topContactBox .tel {
    text-align: center;
    display: block;
}

#main .topContactBox .tel span {
    font-size: 50px;
    font-size: 12.5vmin;
    background-size: 45px auto;
    padding-left: 50px;
    display: inline-block;
}

#main .topFormBox h3 {
    float: none;
    display: block;
    text-align: center;
    margin: 0 0 10px;
}

#main .topFormBox .overflowH {
    text-align: center;
}

/* -----------------------------------------------------------
#contact
----------------------------------------------------------- */

#form {
    margin: 0 10px !important;
    width: auto;
}

#form>div {
    margin: 0 0;
}

#form table {
    margin: 0 0 20px;
}

#form ul.formStep li {
    width: auto;
    float: none;
    height: auto;
    min-height: 50px;
    padding: 0 10px 0 70px !important;
    margin-bottom: 15px !important;
}

#form ul.formStep li:before,
#form ul.formStep li:after {
    content: none;
}

#form ul.formStep li span {
    left: 2px;
}

#main .formBox td span {
    display: block;
}
#main .formBox td span.wpcf7-list-item {
    display: inline-block;
    margin-right: 1em;
}

#main .formBox td span.wpcf7-list-item-label {
    width: auto;
    display: inline-block;
}

#main .formBox td span.your-order span span {
    display: inline-block;
}

#main .formBox td span a:before,
#main .formBox td span a:after {
    content: none;
}

.formBox td a:before,
.formBox td a:after {
    top: 3px;
    bottom: inherit;
}

.formBox td a:before {}

.formBox td a:after {
    top: 8px;
    width: 4px;
    height: 4px;
}

#top .topFormBox,
.area .topFormBox {
    width: auto;
    float: none;
}

#top #main .formBox,
.area #main .formBox {
    margin-bottom: 0;
}

#top #main .formBox table,
.area #main .formBox table {}

#top #main .formBox table tr th,
.area #main .formBox table tr th {
    /* border: none!important; */
    width: 100%;
    padding: 10px;
    border: #d5d5d5 solid 1px;
}

#top #main .formBox table tr td,
.area #main .formBox table tr td {
    padding: 10px;
    border: #d5d5d5 solid 1px;
}

#top #main .formBox table tr:last-child td,
.area #main .formBox table tr:last-child td {
    /* border-bottom: none; */
}

#top .formBox td span,
.area #main .formBox td span {
    display: inline-block;
    margin: 0;
}

#top .formBox td span.wpcf7-list-item-label {
    width: auto;
}

#top #main .formBox .submit,
.area #main .formBox .submit {
    padding: 0;
    box-sizing: border-box;
    border: none;
    margin-top: 20px;
}

#top .formBox .submit input,
.area .formBox .submit input {
    margin: 0;
    padding: 10px 5px;
}

#contact #main .msgPhoto,
#estimate #main .msgPhoto {
    margin-left: 10px;
}

#contact #main .msgTxt .catchTxt a,
#estimate #main .msgTxt .catchTxt a {
    color: #fff;
    text-decoration: none;
}

#contact #main .msgTxt .catchTtl,
#diagnosis #main .msgTxt .catchTtl,
#rainleaking #main .msgTxt .catchTtl,
#apartment #main .msgTxt .catchTtl {
    font-size: 28px;
    font-size: 7vmin;
}

#contact #main .msgTxt .catchTxt,
#diagnosis #main .msgTxt .catchTxt,
#rainleaking #main .msgTxt .catchTxt,
#apartment #main .msgTxt .catchTxt,
#estimate #main .msgTxt .catchTxt {
    width: auto;
    line-height: 1.4;
}

#contact #main .msgTxt .tel,
#diagnosis #main .msgTxt .tel,
#rainleaking #main .msgTxt .tel,
#apartment #main .msgTxt .tel {}

#contact #main .msgTxt .tel,
#estimate #main .msgTxt .tel {
    font-size: 14px;
}

#contact #main .msgTxt .tel span,
#diagnosis #main .msgTxt .tel span,
#rainleaking #main .msgTxt .tel span,
#apartment #main .msgTxt .tel span,
#estimate #main .msgTxt .tel span {
    background: url(../img/common/ico_tel.png) no-repeat left bottom;
    font-size: 40px !important;
    font-size: 12vmin !important;
    padding-left: 30px;
    text-align: center;
    display: inline-block !important;
    ;
    float: none !important;
}

#contact #main .msgTxt .tel span a,
#diagnosis #main .msgTxt .tel span a,
#rainleaking #main .msgTxt .tel span a,
#apartment #main .msgTxt .tel span a,
#estimate #main .msgTxt .tel span a {
    color: #e26a0f;
    text-decoration: none;
}

#contact #main .msgTxt .catchTtl span,
#diagnosis #main .msgTxt .catchTtl span,
#rainleaking #main .msgTxt .catchTtl span,
#apartment #main .msgTxt .catchTtl span {
    margin-bottom: 5px;
}

#contact #main .campaignBox {
    margin: 0 10px;
}

#contact #main .floatL {
    float: none;
    width: auto;
    margin: 0 0 20px;
}

#main .estimateFlow {
    margin: 0 10px 10px;
}

#main .estimateFlow ol {}

#main .estimateFlow ol li {
    width: auto;
    float: none;
    margin: 0 0 40px;
    padding-bottom: 0;
}

#main .estimateFlow ol li img {
    display: none;
}

#main .estimateFlow ol li:before,
#main .estimateFlow ol li:after {
    top: 100%;
    bottom: inherit;
    left: 0;
    right: 0;
    margin: auto !important;
}

#main .estimateFlow ol li:before {
    box-sizing: border-box;
    top: -20px;
    width: 6px;
    height: 6px;
    border: 17px solid transparent;
    border-top: 20px solid #e26a0f;
}

#main .estimateFlow ol li:after {
    height: 16px;
    width: 16px;
    border-left: none;
    border-top: 20px solid #e26a0f;
}

#main .estimateFlow ol li:first-child:before,
#main .estimateFlow ol li:last-child:after {
    content: none;
}

#main .estimateFlow ol li:last-child {
    margin-bottom: 0;
}

#main .estimateFlow ol li h4 {
    position: relative;
    padding: 10px;
    font-size: 18x;
    font-size: 5vmin;
}

#main .estimateFlow ol li h4:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 5px;
    position: absolute;
}

#main .estimateFlow ol li h4:after {
    content: none !important;
}

#main .estimateFlow ol li p {
    margin-bottom: 0;
}

#main .formBox td .wpcf7c-elm-step1 a {
    background: none;
    padding: 0;
}

/*-------------------#staff-----------------*/

#staff #main h2:first-of-type {}

#staff #main .staffList {}

#staff #main .staffList li {
    float: none;
    /*    width: 48%;
    width: calc( 50% - 5px);
    margin: 35px 0 0;*/
    width: 100%;
    margin: 0 0 10px;
    position: relative;
    overflow: hidden;
    border-bottom: #ccc solid 1px;
    padding-bottom: 10px;
    text-align: inherit;
}

/*#staff #main .staffList li:nth-child(-n+4) {
    margin-top: 35px;
}
#staff #main .staffList li:nth-child(-n+2) {
    margin-top: 0;
}*/

#staff #main .staffList li a {
    display: block;
    position: relative;
    overflow: hidden;
}

#staff #main .staffList li .btnDetail {
    display: inline-block;
    padding: 0 10px;
    font-size: 16px !important;
    font-size: 4vmin !important;
    float: right;
    margin: 0 !important;
}

#staff #main .staffList li .staffPhoto {
    width: 100px;
    height: 100px;
    float: left;
    margin-right: 10px;
}

#staff #main .staffList li .staffPhoto img {
    display: block;
    max-width: inherit;
}

#staff #main .staffList li .staffSummary {
    position: relative;
    overflow: hidden;
}

#staff #main .staffList li .positionTxt {
    margin-top: 0;
    line-height: 1.2;
}

#staff #main .staffProf {
    height: auto;
}

#staff #main .staffProf .profileDetail {
    padding: 5px;
}

#staff #main .staffList li .staffName,
#staff #main .staffProf .profileDetail .staffName {
    font-size: 18px;
    font-size: 6vmin;
    margin: 5px 0 0;
}

#staff.nocolumn #main {
    margin: 0 !important;
}

#staff #main .staffProf {
    padding: 0 !important;
}

#staff #main .staffProf .floatL {
    float: none;
    margin: 0 auto;
}

#staff #main .staffProf .staffPhoto {
    float: none;
    margin: 0 auto 10px;
    height: auto;
    width: 70%;
}

#staff #main .staffProf .staffPhoto img {
    display: block;
    position: inherit;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    margin: auto;
    top: inherit;
    left: inherit;
}

#staff #main .staffProf .profileDetail .positionTxt {
    margin-bottom: 5px;
}

#main .staffBtn .btn a {
    padding: 5px 10px 5px 30px;
}


#main .staffWb .mainThumb {
    width: auto;
    height: 23vmin;
    margin: 0 0 10px 0;
}

#staff #main .staffListOc li .staffProf .profName {
    display: block;
}

/*-------------------#reason-----------------*/

#reason #main .catchTtl {
    font-size: 25px;
    font-size: 7vmin;
    display: block;
}

#reason #main .catchTtl br {
    display: none;
}

#reason #main .catchTtl img {
    width: 70px;
    float: left;
    margin-top: 0;
}

#reason #main h3 {
    position: relative;
    /*    padding: 30px 7px 5px;*/
}

#reason #main h3 span {
    display: block;
}

#main .reasonDetail h3 span {
    font-size: 16px;
    font-size: 5vmin;
    float: none;
    position: absolute;
    top: 0;
}

#reason #main h3 strong {
    color: #ee0000;
}

#reason #main h4 {
    font-size: 16px;
    font-size: 4.5vmin;
    margin: 0 0 10px;
}

#reason #main h4 strong {}

#reason #main .reasonBox {
    margin-bottom: 20px;

}

#main .reasonDetail {}

#main .reasonDetail h3 {
    font-size: 24px;
    font-size: 7vmin;
    padding: 33px 0 0 !important;
    min-height: inherit;
    margin-bottom: 15px;
}

#main .reasonDetail h3 br {
    display: none;
}

#main .reasonDetail h3 img {
    width: 60px;
    margin: 0 10px 0 0 !important;
    float: left;
    position: relative;

}

#main .reasonDetail .imgL30,
#main .reasonDetail .imgR20,
#main .reasonDetail .alignleft {
    float: none;
    margin: 0 auto 10px;
}

#reason #main .reasonDetail .alignleft {
    width: 100%;
}

#main .reasonDetail .imgL30 br,
#main .reasonDetail .imgR20 br,
#main .reasonDetail .alignleft br {
    display: none;
}

#main .reasonDetail img {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#main .reasonDetail .overflowH {
    margin: 0;
    padding: 0;
}

#main .reasonDetail .overflowH p {
    margin: 0 0 15px;
}

#main .reasonDetail .overflowH p:last-child {
    margin-bottom: 0;
}

/*-------------------#faq-----------------*/

#faq .faqList {
    margin: 0 0 30px;
}

#faq .faqList li a {
    color: #333;
}

#main .archiveFaq {
    margin: 0 0px;
}

#main .archiveFaq h3 {
    padding: 0 0 10px 45px;
    margin-bottom: 0px;
    border-top: none;
    background: none;
    font-size: 22px;
    font-size: 6vmin;
}

#main .archiveFaq h3:before {
    width: 40px;
    height: 40px;
    font-size: 24px;
    font-size: 7vmin;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .archiveFaq p {
    padding: 15px;
}

#main .archiveFaq p:before {
    font-size: 24px;
    font-size: 7vmin;
    position: relative;
    left: inherit;
    top: inherit;
    float: left;
    display: inline-block;
    margin: 0 10px 10px 0;
}

/*-------------------#menu-----------------*/

#main h2.menuCatch {
    font-size: 28px;
    font-size: 9vmin;
}

#main h2.menuCatch:after {
    width: 100%;
    left: inherit;
    margin: 0 auto;
}

#main .itemBox .imgR20 {
    float: none;
    margin: 0 auto;
    display: block;
}

#main .itemBox h3 {
    float: none;
    width: auto;
}

#main .itemBox h4 {
    width: auto;
}

#main .itemImg {
    float: none;
    margin: 0 auto 10px;
}

#main .itemSummery {
    width: auto;
    float: none;
}

#main .itemSummery .leadTxt .imgIco {
    right: inherit;
    left: 0;
    bottom: 100%;
    top: inherit;
}

#main .itemSummery .leadTxt p {
    font-size: 18px;
}

#main .itemSummery ul {
    display: block;
}

#main .itemSummery ul li {
    width: auto;
    margin: 0 0 10px;
    float: none;
}

#main .itemSummery ul li h5,
#main .itemSummery ul li p {
    font-size: 18px;
}


#main .itemSummery ul li.itemFeature p {
    padding: 10px;
}

#main .itemData {
    padding: 10px;
}

#main .itemData h4 {
    font-size: 20px;
    font-size: 6vmin;
    margin-bottom: 10px;
}

#main .itemData ul {
    text-align: center;
    display: block;
}

#main .itemData ul li {
    width: 48%;
    width: calc(50% - 5px);
    float: none;
    margin: 0 0 10px;
    padding: 10px 10px 40px;
    text-align: center;
    display: inline-block;
}

#main .itemData ul li img {
    margin-left: -5px;
    width: 20%;
    height: auto;
}

#main .itemData ul li:nth-child(3n) {
    margin-right: 0;
}

#main .itemData ul li h5 {
    text-align: center;
    display: inline-block;
    width: auto;
    margin: 0 15px;
    font-size: 14px;
    line-height: 1.2;
}

#main .smallWorks .workList {
    padding: 0;
    margin: 10px;
    text-align: center;
}

#main .smallWorks .workList li {
    margin: 0 10px 10px 0;
    width: 48%;
    float: none;
    display: inline-block;
    width: calc(50% - 10px);
}

#main .smallWorks .workList li:nth-child(2n+1) {
    margin-right: 0;
}

#main .smallWorks .workList li .textImg {
    position: absolute;
}

#main .smallWorks .workList li .ttl {
    padding: 5px;
    font-size: 13px;
    font-size: 3.6vmin;
    display: block;
    text-align: left;
    margin-bottom: 0;
}

#main .smallWorks .workList li .ttl span {
    font-size: 12px;
    font-size: 3.5vmin;
}

#main .smallWorks .workList .liSpec {
    margin-bottom: 10px !important;
}

#main .smallWorks .workList .liSpec .ttl {
    padding: 10px;
    font-size: 14px;
    font-size: 4vmin;
    display: inline-block;
    float: left;
}

#main .smallWorks .workList li .price {
    font-size: 20px;
    font-size: 8vmin;
}

#main .smallWorks .workList li .price span {
    font-size: 15px;
    font-size: 5vmin;
}

#main .smallWorks .workList .liSpec .price {
    margin: 0;
    font-size: 32px;
    font-size: 10vmin;
    padding: 10px 0 0 0;
    display: inline-block;
    float: right;
}

#main .smallWorks table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

#main .smallWorks table th,
#main .smallWorks table td {
    display: block;

}

#main .smallWorks table th {
    float: left;
    width: 60%;
    border: none !important;
    font-size: 18px;
    font-size: 5vmin;
}

#main .smallWorks table tr:first-child {
    border-top: #ccc solid 1px !important;
}

#main .smallWorks table tr th:first-of-type {}



#main .smallWorks table td {

    overflow: visible;
    border-bottom: #ccc solid 1px !important;
}

#main .smallWorks table tr:last-child td:last-of-type {
    border-bottom: none !important
}

#main .smallWorks table td span {
    font-size: 14px;
}


/*-------------------#diagnosis-----------------*/

#main .troubleBox,
#main .diagnosisPoint {}

#main .troubleBox .inner,
#main .diagnosisPoint .inner {}

#main .diagnosisPoint {}

#main .troubleBox h2,
#main .diagnosisPoint h2 {
    padding: 15px 0 0;
    width: auto;
    font-size: 20px;
    font-size: 8vmin;
}

#main .troubleBox h2 span,
#main .diagnosisPoint h2 span {
    font-size: 18px;
    font-size: 6vmin;
    display: block;
}

#main .troubleBox h2 span.txtL,
#main .diagnosisPoint h2 span.txtL {
    font-size: 30px;
    font-size: 9vmin;
    clear: both;
}

#main .troubleBox h2 img,
#main .diagnosisPoint h2 img {
    width: 70px;
    margin: -5px 10px 0 0;
}

#main .troubleBox h2 br,
#main .diagnosisPoint h2 br,
#main .troubleBox .floatL br {
    display: none;
}

#main .troubleBox h3 {
    font-size: 22px;
    font-size: 6vmin;
}

#rainleaking #main .diagnosisPoint h3 {
    font-size: 22px;
    font-size: 6vmin;
    display: block;
}

#main .diagnosisPoint h3 img {
    width: 67px;
    margin-top: 0;
}

#diagnosis #main .troubleBox .floatL {
    margin: 0 0 10px;
    float: none;
    position: relative;
    overflow: hidden;
}

#diagnosis #main .troubleBox .floatL img {
    margin: 0;
    width: 48%;
    width: calc(50% - 5px);
    display: inline;
    float: left;
}

#diagnosis #main .troubleBox .floatL img:nth-last-of-type(2n) {
    float: right;
}

#diagnosis #main .troubleBox .catchTxt {
    font-size: 18px;
    font-size: 6vmin;
    clear: both;
    line-height: 1.4;
}

#diagnosis #main .troubleBox .catchTxt br {
    display: none;
}

#diagnosis #main .troubleBox .catchTxt img {
    width: 70px;
}

#diagnosis #main .troubleBox h5 {
    margin: 0 0 10px;
}

#diagnosis #main .troubleBox ul li h6 {
    margin: 0 0 0;
}

#main .diagnosisPoint ol {}

#main .diagnosisPoint li {
    list-style: none;
    margin-right: 0 !important;
}

#main .diagnosisPoint li h3 {
    font-size: 22px;
    font-size: 6vmin;
    padding: 30px 7px 5px;
    line-height: 1.4;
}

#main .diagnosisPoint h3 img {
    width: 67px;
    margin-top: 0;
}

#main .diagnosisPoint h3 br {
    /* display: none; */
}

#diagnosis #main .diagnosisPoint h3 span {
    font-size: 18px;
    /* font-size: 4vmin; */
    float: none;
    position: absolute;
    top: 0;
    margin-top: 5px;
}

#main .diagnosisPoint li h4 {}

#main .diagnosisPoint li img {
    float: none;
    margin: 0 auto 10px;
    display: block;
}

#diagnosis #main .diagnosisPoint li img {
    float: none;
    margin-left: auto;
    width: 100%;
}

#main .diagnosisPoint .alignleft {
    float: none;
    margin: 0 0 10px;
    position: relative;
    overflow: hidden;
}

#main .diagnosisPoint .alignleft br {
    display: none;
}

#main .diagnosisPoint .alignleft img {
    float: left;
    width: 48%;
    width: calc(50% - 5px);
    margin-bottom: 0;
}

#main .diagnosisPoint .alignleft img:nth-of-type(2n) {
    float: right;
}

#rainleaking #main .diagnosisPoint .imgL30 {
    float: none;
    margin: 0 auto 20px;
}

#rainleaking #main .photoUL {
    text-align: center;
}

#rainleaking #main .photoUL li {
    display: inline-block;
    margin: 0 auto 20px;
}

#rainleaking #main .troubleBox img.alignright {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#rainleaking #main .troubleBox .overflowH {
    clear: both;
    margin-top: 20px;
}

#main .rainrepairChoose h2 {
    overflow: inherit;
    font-size: 20px;
    font-size: 6vmin;
    margin-bottom: 15px;
    display: block;
}

#main .rainrepairChoose h2 span {
    display: block;
    margin: 0 0 5px;
    font-size: 17px;
    font-size: 5.4vmin;
}

#main .rainrepairService h2 {
    font-size: 30px;
    font-size: 8vmin;
}

#main .rainrepairService>ul>li {
    padding: 10px;
    width: auto;
}

#main .rainrepairService>ul>li.shortList {
    width: auto;
    float: none;
}

#main .rainrepairService>ul>li.shortList:nth-child(2n+1) {
    float: none;
}

#main .rainrepairService li h3 {
    border: solid 3px #3db053;
    font-size: 18px;
    font-size: 5.5vmin;
}

#main .rainrepairService li .serviceType {
    margin-top: 10px;
}


#main .rainrepairService li .serviceType:first-child {
    margin-top: 0;
}

#main .rainrepairService li .serviceType.floatL,
#main .rainrepairService li .serviceType.floatR {
    width: auto;
    float: none !important;
}

#main .rainrepairService li .serviceType img {
    float: none;
    border-right: none;
    border-bottom: 1px solid #FFF;
    width: 100%;
}


#main .rainrepairService li .serviceType h4,
#main .rainrepairService li.shortList .serviceType h4 {
    font-size: 24px;
    font-size: 7vmin;
    margin-bottom: 0 !important;
}

#main .rainrepairService li .serviceType h4 span {
    font-size: 11px;
}

#main .rainrepairService li .serviceType .price {
    font-size: 45px !important;
    font-size: 14vmin !important;
    text-align: center;
}

#main .rainrepairService li .serviceType .price span {
    font-size: 25px !important;
    font-size: 7.5vmin !important;
}

#main .rainrepairService li .serviceType .price .tax {
    font-size: 20px !important;
}


#main .warningChk {
    padding: 10px;
}

#main h2.ttlCaution {
    font-size: 22px;
    font-size: 5.6vmin;
    padding: 10px;
}

#main .warningChk ul li {
    line-height: 1.3;
    margin-bottom: 10px;
}

#main .warningChk ul li:last-child {
    margin-bottom: 0;
}

#main .warningChk img {
    float: none;
    margin: 0 auto 10px;
    display: block;
}

#main .rainAnswer h3 {
    padding: 10px;
    font-size: 22px;
    font-size: 6vmin;
}

#main .rainAnswer h3 span {
    display: table;
    margin: 0 0 10px;
}

#main .rainAnswer img {
    display: none;
}

#main .ansList li {
    float: none;
    margin: 0 0 10px 0;
    width: 100%;
}

#apartment #main .imgL20 {
    display: block;
    margin: 0 auto 10px;
    float: none;
}

/*--comIdeal--*/

#main .iDeal {}

#main .iDeal .catchTtl {
    font-size: 10vmin;
    line-height: 1.3;
    margin-top: 0;
}

#main .iDeal .worksList article,
#main .iDeal .voiceList article,
#main .iDeal .worksList article:nth-child(3n) {
    width: 48%;
    width: calc(50% - 5px);
    margin: 0 10px 20px 0 !important;
}

#main .iDeal .worksList article:nth-child(2n),
#main .iDeal .voiceList article:nth-child(2n) {
    margin-right: 0 !important;
}

#main .iDeal .worksList article:nth-child(3n),
#main .iDeal .voiceList article:nth-child(3n) {
    clear: left;
}

#main .iDeal .worksList .worksImg {
    width: 100%;
    height: auto;
    float: none;
    margin-bottom: 5px;
}

#main .iDeal .worksList .worksImg img {
    position: relative;
    width: 100%;
    height: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#main .warningChk ul li:after {
    top: 10px;
    bottom: auto;
}

#main .warningChk ul li:before {
    top: 5px;
    bottom: auto;
}

/*---comIdea---*/

#main .comIdea {
    margin-bottom: 0;
}



#main .comIdea ul {
    display: block;
}

.nocolumn #main .comIdea ul {
    padding: 0 !important;
}

#main .comIdea li {
    width: 100%;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
}

#main .comIdea li img {
    width: 32%;
    display: inline-block;
}

#main .comIdea li span {
    font-size: 16px;
    font-size: 5vmin;
    display: block;
    margin: 0 15px 0 0;
    float: left;
    width: 55%;
}

#main .comIdea li span:after {
    border: 10px solid transparent;
    border-left-color: #1277c4;
    top: 0;
    bottom: 0;
    left: 100%;
    right: inherit;
    margin: auto;
}

#main .comIdea li:nth-child(2n) span {
    float: right;
    margin: 0 0 0 15px;
}

#main .comIdea li:nth-child(2n) span:after {
    right: 100%;
    left: inherit;
    margin: auto;
    border: 10px solid transparent;
    border-right-color: #1277c4;
}


/*------------#colorsimulation ------------*/

#colorsimulation .imgR20 {
    float: none;
    display: block;
    margin: 0 auto 10px;
}

#main .colorSample li {
    text-align: center;
}

#main .colorSample li span {
    position: relative;
    display: inline-block;
    margin: 0 auto 30px;
    float: none;
}

#main .colorSample li span:after {
    border: 20px solid transparent;
    border-top: #1277c4 solid 25px;
    top: 102%;
    left: 0;
    right: 0;
    bottom: inherit;
    margin: auto;
}

#main .colorSample img {
    display: block;
    margin: 0 auto 10px;
}


#main ol.colorStep li {
    width: auto;
    float: none;
    margin: 0 0 10px 0;
    position: relative;
    overflow: hidden;
    text-align: left;
}

#main ol.colorStep li img {
    width: 55%;
    float: left;
    margin-right: 10px;
}

#main ol.colorStep li span {
    text-align: center;
}

#main ol.colorStep li br {
    display: none;
}

#main ol.colorStep li h4 {
    display: inline-block;
    margin: 0;
    padding: 0;
    text-align: left;
}

#colorsimulation #main .campaignArw {
    padding: 0 10px;
    margin: 10px 0;
    line-height: 1.4;
}

#colorsimulation #main .campaignArw:after {
    display: none;
}

/*-------------------#siding-----------------*/

#siding #main .sidingProblem h2 {
    font-size: 28px;
    font-size: 8vmin;
    padding: 0 10px;
}

#siding #main .sidingProblem ul {
    width: auto;
    margin: 0 10px;
    text-align: center;
}

#siding #main .sidingProblem ul li {
    width: auto;
    margin: 0 auto 10px;
    text-align: center;
}

#siding #main .sidingProblem ul li h4 {
    width: 60%;
    width: calc(100% - 100px);
    margin: 0 50px;
}

#siding #main .catchTtl {
    font-size: 23px;
    font-size: 7.5vmin;
    margin-bottom: 15px;
}

#siding #main .catchTtl br {
    display: none;
}

#siding #main .sidingFeature .alignright {
    float: none;
    width: 100%;
    height: auto;
    margin: 0;
}

#siding #main .sidingFeature img {
    display: block;
    margin: 0 auto 10px;
}

#siding #main .sidingFeature h3 {
    font-size: 20px;
    font-size: 6vmin;
    display: block;
    padding: 10px;
}

#siding #main .sidingFeature h3 span {
    float: none;
    display: block;
    font-size: 18px;
    margin: 0;
}

/*-------------comSealing-------------*/
#main .sealingBox {}

#main #sealingAuton .sealingBox .imgL30 {
    float: none;
    margin: 0 0 20px;
}

#main #sealingAuton .sealingBox .imgL30 img {
    width: auto;
    display: block;
    margin: 0 auto;
}


#main #sealingAuton .sealingBox .itemSummery {
    width: auto;
}

#main #sealingAuton .sealingBox .leadTxt {
    position: relative;
}

#main .itemSummery .leadTxt .imgIco {}

#main #sealingAuton .sealingBox .exMenu li {}

#main #sealingAuton .sealingBox .exMenu li h5 {
    width: 100%;
    float: none;
    text-align: center;
}

/*---------------------#factoryCase------------*/
#main .factorySuggest h2 span.txtL {
    display: inline;
}

#main .factoryCase {}

#main .factoryCase ul {}

#main .factoryCase ul li {
    padding: 0;
}

#main .factoryCase ul li h3 {
    font-size: 30px;
    font-size: 8vmin;
    line-height: 1.2;
    padding: 0 0 0 70px;
    margin-bottom: 15px;
}

#main .factoryCase ul li h3:before {
    font-size: 20px;
    font-weight: normal;
    width: 65px;
    height: 65px;
    border: #8ec459 solid 3px;
    top: 0;
    bottom: inherit;
}

#main .factoryCase ul li:before,
#main .factoryCase ul li:after {
    content: none;
}

#main .factoryCase ul li img {
    border: #fff solid 10px;
}

#main .factoryCase ul li .beforeBox {
    position: relative;
    margin-bottom: 50px;
}

#main .factoryCase ul li .beforeBox:after {}

#factory #main .warryBox {
    margin-bottom: 0;
}

#factory #main .worksList article {
    margin: 0 !important;
}

#factory #main article img.alignleft,
#factory #main article img.alignright {
    float: none;
    margin: 0 0 10px;
}

.astecBox {
    float: none;
    margin: 0 0 10px;
    width: auto;
}

#top #main .basicKnow .btn,
#top #main .worksBox>.btn,
#top #main .voiceBox>.btn,
.area #main .basicKnow .btn,
.area #main .worksBox>.btn,
.area #main .voiceBox>.btn {
    width: 100%;
}

/*　===== 20200331 追記 ===== */
header .hdrLogo::before {
    display: none;
}

footer .footerBnr {
    margin-top: 20px;
}

footer .footerBnr.floatR {
    float: none;
}

footer .footerBnr ul {
    flex-flow: column wrap;
    justify-content: center;
    align-items: inherit;
}

footer .footerBnr ul li:nth-of-type(n + 2) {
    margin-top: 10px;
    margin-left: 0;
}

footer .footerBnr ul li a {
    display: inline-block;
}

.estimatesBox .inBox .btn {
    display: block;
    text-align: center;
}

.estimatesBox .inBox .btn a {
    padding: 8px 45px 8px 30px;
    font-size: 18px;
    background-size: 17px auto;
    box-sizing: border-box;
    width: 100%;
    color: #fff !important;
}

.cc-window.cc-floating {
    padding: 1em 0.5em !important;
}

.cc-window.cc-floating .cc-message {
    font-size: 13px;
    line-height: 1.4;
}

/*----- .topCraftsman -----*/
.area #main .topCraftsman,
#top #main .topCraftsman {
    padding-bottom: 100%;
    background-position: center bottom;
    background-size: contain;
}

.area #main .topCraftsman .topCraftsman_logo,
#top #main .topCraftsman .topCraftsman_logo {
    width: 82%;
}

.area #main .topCraftsman .topCraftsman_medal,
#top #main .topCraftsman .topCraftsman_medal {
    position: relative;
    right: auto;
    bottom: auto;
    width: 90%;
    margin-left: 5%;
}

/*----- .topBanner-----*/
.topBanner {
    margin: 20px 10px 20px;
}