/*
Theme Name: nakayama-factory
Theme URI: https://nakayama-factory.com/
Description: pcbrain
Version: 1.0
Author: pcbrain.co.jp
*/

/* YUI fonts.css - font size設定
----------------------------------------------------------- */

@import url("css/cssfonts-min.css");
/* default style - リセット及びbody基本設定
----------------------------------------------------------- */

@import url("css/default.css");
/* all style
----------------------------------------------------------- */

@import url("css/style.css");

body {
    min-width: 1100px;
    /*コンテンツ横幅を指定する（スマホ閲覧時の背景欠けを防ぐ）*/
    font-size: 16px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.inner {
    width: 1100px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 20px 0 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

article {
    padding: 0 0 20px;
}

@font-face {
    font-family: 'Arial Black';
    font-style: normal;
    font-weight: 400;
    src: local('Arial Black'), url('ariblk_0.ttf') format('ttf');
}

/*------------- tmp -------------*/

.tmp img {
    display: block;
    margin: 0 auto;
}

.bg01 {
    background: url(./img/common/bg01.png) center center;
}

.bg01Line {
    background-image:
        url(./img/common/bg_header.png),
        url(./img/common/bg01.png);

    background-repeat:
        repeat-x,
        repeat;

    background-position:
        bottom,
        center;
}

.bg02 {
    background: url(./img/common/bg_servicecontents.png) center center;
}

.bg03 {
    background: url(./img/common/brown_bg.png) center center;
    border-bottom: #ccc solid 1px;
    border-top: #ccc solid 1px;
}

.bg04 {
    background: url(./img/common/beige_bg.png) center center !important
}

.bggly {
    background: #d9e3e7;
    overflow: hidden;
}

.btnC {
    text-align: center;
}

.btnC a,
.btn a {
    display: inline-block !important;
    font-size: 20px;
    background: #21a937;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    padding: 8px 15px;
    border: 1px solid #cccccc;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #21a937 inset, 0 4px 0 rgb(255 255 255 / 30%) inset;

    text-decoration: none !important;
    color: #fff !important;
    margin-left: 15px;
}

.btnDetail {
    position: relative;
    font-weight: bold;
    transition: 0.7s;
    text-align: center;
    color: #fff !important;
    font-size: 12px !important;
    margin: 0 auto !important;
    width: 8em !important;
    border-radius: 5px;
    padding: 3px 6px;
    background: #5daa11;
    box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.4) inset;
    text-decoration: none !important;
}

.btnC a:hover,
.btn a:hover,
.btnDetail:hover {
    opacity: 0.7;
    transition: 0.7s;
}

.btn a:first-child,
.btnC a:first-child {
    margin-left: 0;
}

.btnDetail a {
    display: block;
    padding: 3px 7px !important;
    color: #fff;
    text-decoration: none;
    text-align: center;
    transition: 0.7s;
}

.notice-r {
    color: #d00000 !important;
}

.notice-o {
    color: #ff7a22;
}

.notice-b {
    color: #0d85cf !important;
}

.notice-g {
    color: #23ac38;
}

.notice-l {
    color: #d00000 !important;
    font-size: 24px;
}

.tel {
    font-size: 13px;
}

#main strong.borderS {
    background: #fcff00;
    display: inline-block;
    line-height: 0.5;
    font-weight: normal;
}

.tel span {
    background: url(./img/common/ico_freedial03.png) no-repeat left bottom;
    color: #d00000;
    font-size: 48px;
    line-height: 1;
    padding: 0 0 0 50px;
    margin: 0;
    display: block;

    font-family: 'Oswald', Gadget, sans-serif;
}

.tel span a {
    color: #d00000 !important;
    text-decoration: none !important;
}

.spblock,
.spinline,
.sptr {
    display: none;
}

/*--2カラム--*/
#main ul.columnOT li {
    float: left;
    margin-bottom: 30px;
    padding: 0;
}

#main ul.columnOT li:last-child {
    float: right;
}

#main ul.columnOT li:before,
#main ul.columnOT li:after {
    display: none;
}

/*--トップページメインカラム調整--*/

#top #contents {
    margin: 0 auto 0;
    position: relative;
}

/*--スクロールでアニメーション--*/
.waypoint {
    transition: .2s;
}

.waypoint.active {
    animation-name: bounce_large;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

/* -----------------------------------------------------------
    clearfixする要素を列挙
----------------------------------------------------------- */


#top #main .tmp .inner:after {
    content: ".";
    /* 新しい要素を作る */
    display: block;
    /* ブロックレベル要素に */
    clear: both;
    height: 0;
    visibility: hidden;
}

#top #main .tmp .inner {
    min-height: 1px;
}

* html #top #main .tmp .inner {
    height: 1px;
    /*¥*/
    /*/
  height: auto;
  overflow: hidden;
  /**/
}



/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
    position: relative;
    background: url(./img/common/bg_sub.png) repeat-x top;
    background-size: contain;
}

header h1,
header p.htxt {
    color: #fff;
    font-size: 12px;
    font-weight: normal;
    display: block;
    width: 1100px;
    padding: 0;
    margin: 0 auto 10px;
}

header p.htxt strong {
    font-weight: normal;
}

header .inner {
    padding: 2px 0 6px;
    overflow: hidden;
    width: 1100px;
}

#top header .inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

header .corpNumber {
    font-size: 12px;
    position: absolute;
    bottom: 0;
    left: 0;
}

header .logoTxt {
    font-size: 10px;
    position: absolute;
    top: 0;
    left: 0;
}

header .floatL {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    float: left;
}


header .hdrLogo a {
    margin: 0 2px 0 0;
    display: block;
    float: left;
}

header img.logo01 {
    height: auto;
}

header img.logo02 {
    float: left;
    margin-right: 3px;
}

header .hdrMenu li {
    position: relative;
    padding-left: 20px;
    font-weight: bold;
}

header .hdrMenu li a {
    color: #333;
    text-decoration: none;
}

header .hdrMenu li:before,
header .hdrMenu li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

header .hdrMenu li:before {
    width: 16px;
    height: 16px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #5daa11;
}

header .hdrMenu li:after {
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fffeee;
    border-right: 2px solid #fffeee;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

header .hdrContact {
    float: right;
    position: relative;
}

header .hdrContact .contactCatch {
    position: relative;
    overflow: hidden;
    font-size: 14px;
    text-align: center;
    padding: 3px 0;
    background: #673a1c;
    color: #fff;
}

header .hdrContact .telTxt {
    font-size: 11px;
    color: #fff;
}


header .hdrContact img {
    /*    float: left;
    position: absolute;
    top: -27px;
    left: -3px;*/
}

header .hdrContact .telBox {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    margin: 0 10px 0 0;
    float: left;
    line-height: 1.2;
}

header .hdrContact .tel {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}


header .hdrContact .tel span {
    font-size: 36px;
    font-weight: 900;
    line-height: 1;
    padding-left: 40px;
    display: block;
    margin: 2px 0 0 0;
    color: #fff;
}


header .hdrBnr {
    position: relative;
    overflow: hidden;
    float: right;
}

header .hdrBnr a {
    display: block;
    background: #21a937;
    font-size: 21px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.2;
    padding: 8px 15px;
    border: 1px solid #cccccc;
    box-shadow:
        0 0 0 1px #fff inset,
        0 0 0 2px #21a937 inset,
        0 7px 0 rgba(255, 255, 255, 0.3) inset;
}

header .hdrBnr a span {
    display: block;
    font-size: 13px;
}

header .hdrBnr a span.hdrBnrTxtS {
    font-size: 11px;
    font-weight: normal;
    border-top: 1px solid #fff;
    width: 100%;
    margin-top: 3px;
    padding-top: 3px;
}

header .hdrBnr a:hover {
    opacity: 0.8;
    transition: 0.7s;
}


header .telBtn {
    display: none;
}

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

footer {
    padding: 0 0 100px 0;
    font-size: 14px;
    border-top: #e26a0f solid 7px;
    margin-top: 1px;
}

#main .footerArea {
    /*footer上部施工エリア表示箇所*/
    border: #aeb6b9 solid 5px;
    background: #fff;
    padding: 20px;
}

#main .footerArea p {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
}

footer .ftrInfo {
    background: #ff7a22;
}

footer .ftrBnr {
    position: relative;
    overflow: hidden;
}

footer .ftrBnr .estimatesBox {
    float: left;
    margin-right: 40px;
}

footer .ftrBnr .estimatesBox {
    margin-right: 0;
}

footer .shopInfo {}

footer .inner {
    padding: 30px 0 80px 0;
    position: relative;
}

footer .corpNumber {
    font-size: 11px;
}

footer a,
footer a:link,
footer a:visited {
    color: #333;
    text-decoration: none;
}

footer .ftrLogo {
    margin-bottom: 20px;
    display: block;
}

footer h5 {
    font-size: 15px;
    margin-bottom: 5px;
    line-height: 1.4;
}

footer nav {
    float: right;

    background: none;
    margin-top: 0;

}

footer nav .ftrNav {
    position: relative;
    overflow: hidden;
}

footer nav .ftrNav>li {
    float: left;
    margin-left: 50px;
}

footer nav .ftrNav li ul>li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 5px;
}

footer nav .ftrNav li ul>li:before,
footer nav .ftrNav li ul>li:after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

footer nav .ftrNav li ul>li:before {
    z-index: 2;
    left: 1px;
    width: 3px;
    height: 3px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

footer nav .ftrNav li ul>li:after {
    left: 0px;
    width: 7px;
    height: 8px;
    background-color: #673a1c;
}

footer nav .ftrNav li ul>li a {
    text-decoration: none;
}

footer .copyRight {
    clear: both;
    text-align: right;
    padding-top: 70px;
    position: absolute;
    bottom: 5px;
    right: 0;
    font-size: 12px;
}

footer .ftrScroll {
    padding: 3px 0;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    bottom: 0;
    width: 100%;
    display: none;
    z-index: 100;
    font-size: 12px;
    line-height: 1.2;
}

footer .ftrScroll .inner {
    margin: 10px auto;
    padding: 0;

}

footer .ftrScroll .ftrCont {
    background: #fff;
    padding: 6px 5px;
    float: left;
    min-width: 1000px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    align-items: flex-end;
    margin-right: 15px;
    overflow: hidden;
}

footer .ftrScroll .tel {
    display: inline-block;
    float: left;
    margin-right: 0;
    color: #333;
    font-size: 11px;
}

footer .ftrScroll .tel span {
    padding: 0 0 0 62px;
    background: url(./img/common/ico_freedial02.png) no-repeat 0 15px;
    font-size: 55px;
    font-weight: bold;
    line-height: 57px;
    display: block;
    letter-spacing: -0.05em;
}

footer .ftrScroll .telTime {
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 5px;
}

footer .ftrScroll .ftrCont ul {
    position: relative;
    overflow: hidden;
}

footer .ftrScroll .ftrCont ul li a {
    display: block;
    background: #21a937;
    font-size: 23px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.1;
    position: relative;
    padding: 10px 100px 3px 25px;
    border: 1px solid #cccccc;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #21a937 inset, 0 7px 0 rgb(255 255 255 / 30%) inset;
}

footer .ftrScroll .ftrCont ul li a:before {
    content: "";
    background: url(./img/common/ico_arw_w.png) no-repeat;
    width: 11px;
    height: 11px;
    margin: auto;
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
}

footer .ftrScroll .ftrCont ul li a span {
    font-size: 13px;
    display: block;
    color: #fff;
}

footer .ftrScroll .ftrCont ul li a span.hdrBnrTxtS {
    font-size: 12px;
    display: block;
    position: absolute;
    right: 10px;
    top: 12px;
    padding: 3px 5px 5px;
    text-align: center;
    background: #177527;
}

footer .ftrScroll .ftrCont ul li.ftrShowroom {}

footer .ftrScroll .ftrCont ul li.ftrContact {}

footer .ftrScroll .ftrCont ul li.ftrTel {
    display: none;
}

#topcontrol {
    background: #e26a0f;
    text-align: center;

    width: 46px;
    height: 50px;
    display: block;
    padding: 10px;
    z-index: 100;
}

footer .ftrScroll .pageTop a {
    background: #e26a0f;
    width: 76px;
    height: 71px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

footer .ftrScroll .pageTop a:hover img {
    filter: alpha(opacity=80);
    opacity: 0.8;
}

#top footer .ftrBnr {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
}

footer .ftrScroll .ftrCont h3 {
    background: #673a1c;
    color: #fff;
    font-size: 16px;
    margin: -6px 40px -6px -10px;
    padding: 15px 0 15px 30px;
    border-radius: 0 5px 5px 0;
    position: relative;
    z-index: 1;
    line-height: 1.3;
    -webkit-border-radius: 0 5px 5px 0;
    -moz-border-radius: 0 5px 5px 0;
    -ms-border-radius: 0 5px 5px 0;
    -o-border-radius: 0 5px 5px 0;
}

footer .ftrScroll .ftrCont h3:after {
    content: '';
    position: absolute;
    left: 78%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border: solid 30px #673a1c;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-radius: 0 0 5px 0;
    z-index: -1;
}

footer .ftrScroll .ftrCont ul li span {
    font-size: 13px;
    display: block;
    color: #fff;
}


/* -----------------------------------------------------------
    nav
----------------------------------------------------------- */

nav {
    position: relative;
    padding: 15px 0 20px;
    margin-bottom: 1px;
    background: #fff;
}

#gNav {
    position: relative;
    width: 1100px;
    margin: 3px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

nav #gNav li {
    border-right: #333333 dotted 1px;
    /* border-top: #b9b9b9 solid 1px; */
    float: left;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    position: relative;
    z-index: 15;
    line-height: 1.4;
    display: block;
    width: 138px;
    height: 45px;
    padding-right: 5px;
}

nav #gNav li.gnav02 {
    width: 265px;
}

nav #gNav li:first-child {
    border-left: #333 dotted 1px;
}

nav li a:link,
nav li a:visited {
    color: #333;
    text-decoration: none;
    transition: 0.7s;
}

nav li a:hover {
    transition: 0.7s;
    opacity: 0.8;
    border-radius: 5px;
    background-color: #eee;
}

nav #gNav li a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% - 5px);
    position: relative;
    text-decoration: none;
    padding: 35px 0 5px 0;
    margin: -11px 5px 0 5px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center 5px;
    border-radius: 5px;
    color: #333;
}

nav #gNav li a:hover {
    transition: 0.7s;
    opacity: 0.8;
    color: #333;
}


header nav li li a:before,
header nav li li a:after {
    content: none;
}

nav #gNav li span {
    display: block;
    font-size: 10px;
    color: #ffb033;
    font-weight: normal;
}

nav #gNav li ul {
    position: absolute;
    top: 60px;
    left: 5px;
    z-index: 1;
    height: 0;
    width: 128px;
    display: block;
    margin: 0;
    padding: 0;
}

nav #gNav>li>ul>li {
    visibility: hidden;
    overflow: hidden;
    width: auto;
    height: 0;
    background: rgba(45, 41, 32, 0.8);
    border-bottom: solid 1px;
    border-bottom-color: rgba(255, 255, 255, 0.8);
    border-right: none;
    border-left: none;
    font-size: 13px;
    transition: 0.7s;
    float: none;
    font-weight: normal;
    text-shadow: none;
    margin: 0;
}

nav #gNav li ul li a {
    height: auto;
    border-bottom: none;
    height: 39px;
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 0;
    font-weight: normal;
    background-image: none !important;
    margin: 0;

    width: auto;

    border-radius: 0;
    background-color: transparent;
    color: #333 !important;
    box-shadow: none;

}

nav #gNav li ul li a:before,
nav #gNav li ul li a:after {
    display: none;
}

nav #gNav li ul li a:link,
nav #gNav li ul li a:visited {
    color: #ffffff !important;
    text-decoration: none;
}

nav #gNav li ul li a:hover {
    border-radius: 0;
    background-color: #eee;
    color: #000000 !important;
    transition: 0.7s;
}

nav #gNav li:hover ul li,
nav #gNav li a:hover ul li {
    visibility: visible;
    overflow: visible;
    height: 39px;
}

nav #gNav li.gnav01 a {
    background-image: url(./img/common/gnav_ico_home_c.png);
}

nav #gNav li.gnav02 a {
    background-image: url(./img/common/gnav_ico_first_c.png);
}

nav #gNav li.gnav03 a {
    background-image: url(./img/common/gnav_ico_corporate_c.png);
}

nav #gNav li.gnav04 a {
    background-image: url(./img/common/gnav_ico_voice_c.png);
}

nav #gNav li.gnav05 a {
    background-image: url(./img/common/gnav_ico_menu_c.png);
}

nav #gNav li.gnav06 a {
    background-image: url(./img/common/gnav_ico_contact_c.png);
}

nav #gNav li.gnav07 a {
    background-image: url(./img/common/gnav_ico_works_c.png);
}







/*--基本の記事スタイル設定--*/

#main p {
    font-size: 16px;
    margin-bottom: 15px;
}

#main a {
    color: #00569e;
    text-decoration: underline;
}

#main p+h2,
#main p+h3,
#main p+h4,
#main p+h5,
#main p+h6,
#main ul+h2,
#main ul+h3,
#main ul+h4,
#main ul+h5,
#main ul+h6,
#main ol+h2,
#main ol+h3,
#main ol+h4,
#main ol+h5,
#main ol+h6 {
    margin-top: 30px;
}

#main .inner+p+h2,
#main .inner+p+h3,
#main .inner+p+h4,
#main .inner+p+h5,
#main .inner+p+h6 {
    margin-top: 0;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6 {
    line-height: 1.5;
    clear: both;
}

#main h2 {
    font-size: 60px;
    text-align: center;
    width: 100%;
    padding: 50px 0 15px;
    margin: 0 0 30px;
    line-height: 1.3;
    border-top: 10px solid #e26a0f;
    position: relative;
}

#main h2:before {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: solid transparent;
    border-top-color: #e26a0f;
    border-width: 32px 100px 0 100px;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 99;
}

#main h2.headLine {
    font-size: 34px;
    color: #333;
    position: relative;
    padding: 0 0 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: none;
    border: none;
}

#main h2.headLine:after {
    content: '';
    display: block;
    width: 100px;
    height: 7px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #e26a0f;
}

#main h2.hOfMainV,
#main h2.normalH2 {
    font-size: 25px;
    margin: 0 auto 30px;
    box-shadow: none;
    border: none;
    background: #e26a0f;
    color: #fff;
    padding: 8px 5px;
    width: 1100px;
}

#main h2.hOfMainV {
    margin: 0 auto;
}

#main h2.headLine:before,
#main h2.normalH2:before,
#main h2.hOfMainV:before {
    content: none;
}

#main h2 .squareBrackets {
    position: relative;
    padding: 15px 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin-bottom: 10px;
}

#main h2 .squareBrackets::before,
#main h2 .squareBrackets::after {
    position: absolute;
    top: 0;
    content: '';
    width: 12px;
    height: 100%;
    border-top: 1px solid #555;
    border-bottom: 1px solid #555;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#main h2 .squareBrackets::before {
    left: 0;
    border-left: 1px solid #555;
}

#main h2 .squareBrackets::after {
    right: 0;
    border-right: 1px solid #555;
}

#main h2 strong {
    color: #fcd537;
}

#main h2 small.smlD {
    display: block;
    font-size: 70%;
}

#main h2 .subTtl {
    display: table;
    background: #d00000;
    padding: 5px 20px;
    font-size: 25px;
    color: #fff;
}

#main h2.dwnF {
    display: block;
    border-radius: 20px;
    background: url(./img/common/bg_staff.png);
    font-size: 32px;
    font-weight: bold;
    color: #fff;
    line-height: 1.1;
    padding: 10px 25px 12px;
    margin: 0 0 25px 0;
    position: relative;
    text-align: center;
}

#main h2.dwnF strong {
    font-weight: bold;
}

#main h2.dwnF:before {
    content: none;
}

#main h2.dwnF:after {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #a1cd45 transparent;
    border-width: 20px 20px 0 20px;
    bottom: -20px;
    left: 50%;
    margin-left: -10px;


    width: auto;
    height: auto;
    background: nnone;
    margin-left: 0;
}

#main .leadTxt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: stretch;
    align-items: stretch;
    justify-content: space-between;
    position: relative;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    border: none;
    text-align: left;
    padding: 0;
    line-height: 1.6;
}

#main .leadTxt::before {
    content: none;
}

#main .leadTxt .leadTtl {
    background: #573b26;
    padding: 5px 10px;
}

#main .leadTxt .leadCnt {
    background: #e26a0f;
    padding: 5px 10px;
    flex: 1;
}

#main h2.topH {
    color: #333;
    position: relative;
    font-size: 34px;
    line-height: 1;
    padding: 20px 0 0 0;
    margin: 30px auto;
    border: none;
    text-align: left;
}

#main h2.topH span {
    font-size: 18px;
    position: absolute;
    top: -13px;
    left: 0;
    padding: 0 10px 3px;
    border-bottom: 4px solid #0d85cf;
}

#main h2.topH:before {
    content: none;
}

#main h3 {
    background: #fdf8e8;
    border-top: 7px solid #21a937;
    font-size: 23px;
    width: auto;
    padding: 5px 15px;
    margin: 0 0 20px 0;
    position: relative;
}

#main h3 a {
    color: #333;
    text-decoration: underline;
}

#main h4,
#main h4.normal {
    font-size: 20px;
    padding: 0 0 0 50px;
    margin: 0 0 20px;
    position: relative;
}

#main h4:before,
#main h4:after,
#main h4.normal:before,
#main h4.normal:after {
    border-radius: 50%;
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    font-size: 30px;
    line-height: 1.0;
    background: #21a937;
    width: 20px;
    height: 20px;
}

#main h4:before,
#main h4.normal:before {
    left: 0;
    opacity: 0.5;
}

#main h4:after,
#main h4.normal:after {
    left: 23px;
}

#main h4 a {
    color: #333;
    text-decoration: underline;
}

#main h5 {
    font-size: 18px;
    padding: 0 0 10px 0;
    margin: 0 0 20px;
    position: relative;

    display: table;
    border-bottom: 3px #21a937 solid;

}

#main h5 a {
    color: #FFF;
    text-decoration: underline;
}

#main h6 {
    font-size: 20px;
    padding: 0 0 0 20px;
    margin: 0 0 20px;
    position: relative;
}

#main h6:before,
#main h6:after {
    position: absolute;
    top: 6px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main h6:before {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #d00000;
}

#main h6:after {
    top: 11px;
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#main h6 a {
    color: #333;
    text-decoration: underline;
}

#main blockquote {
    border: solid 1px #ccc;
    background: #fffeee;
    padding: 15px;
    margin-bottom: 15px;
}

#main blockquote p {
    margin: 0;
}

#main ul {
    margin-bottom: 15px;
}

#main ul li {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 10px 0;
    position: relative;
    padding-left: 20px;
}

#main ul li:before,
#main ul li:after {
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main ul li:before {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #e26a0f;
}

#main ul li:after {
    left: 3px;
    top: 9px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#main ol {
    margin-bottom: 15px;
    padding-left: 40px
}

#main ol li {
    list-style-type: decimal;
    font-size: 16px;
    line-height: 1.5;
    margin: 7px 0 0 0;
}

#main table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 1px;
    margin-bottom: 20px;

    background: #f0f0f0;
    padding: 50px 100px;
}

#main table th,
#main table td {
    padding: 15px 20px;
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
    vertical-align: top;
    position: relative;
    border-top: #333 solid 1px;
}

#main table tr:last-of-type th,
#main table tr:last-of-type td {
    border-bottom: #333 solid 1px;
}

#main table th {
    width: 20%;

    font-weight: bold;
    vertical-align: top;
    font-size: 16px;
    color: #e26a0f;
    background: none;
}

#main table td a {
    position: absolute;
    right: 20px;
    top: 15px;
    background: #e26a0f;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    padding: 0 15px;
}

#main table td a:hover {
    opacity: 0.7;
    transition: 0.6s;
}

/*--共通パーツ--*/

#main h2.sbT {
    text-align: center;
    background: none;
    box-shadow: none;
    border: none;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.3;
    color: #23ac38;
    margin-bottom: 20px;
    padding: 0;
    display: block;
}

#main h2.sbT:before,
#main h2.sbT:after {
    content: none;
}

#main h2.sbT span {
    display: inline-block;
    border-radius: 20px;
    background: url(./img/common/bg_staff.png);
    font-size: 30px;
    color: #fff;
    line-height: 1.1;
    padding: 5px 25px 8px;
    margin: 0 0 10px 0;

    position: relative;
    text-align: center;

}

#main h2.sbT span:before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #a2cf45 transparent;
    border-width: 10px 10px 0 10px;
    bottom: -10px;
    left: 50%;
    margin-left: -10px;
}

#main h2.sbT strong {
    display: block;
}

#main .catchB {
    border-radius: 6px;
    background: #0d85cf;
    color: #fff;
    font-weight: bold;
    margin-bottom: 0;
    padding: 10px 20px;
    font-size: 18px;
}

#main .catchTxtP {
    font-weight: bold;
    font-size: 36px;
    line-height: 1.3;
}

#main .catchTxtP strong {
    color: #d00000;
}

#main .catchTxtP p {
    font-size: 36px;
    line-height: 1.3;
}

#main .effectB {
    background: #5daa11;
    padding: 15px 30px 30px;
}

#main .effectB h4 {
    color: #fff;
    font-size: 30px;
    text-align: center;
    margin: 0 0 20px;
    padding: 0;
    line-height: 1;
}

#main .effectB h4:before,
#main .effectB h4:after {
    content: none;
}

#main .effectB p {
    font-size: 34px;
    font-weight: bold;
    border-radius: 5px;
    background: #fff;
    padding: 25px;
    margin: 0;
    text-align: center;
}

#main .effectB p span.txts {
    font-size: 16px;
    display: block;
    font-weight: normal;
}

#main .photoUL,
#main .photoULLtl {
    margin: 0 0 0 0;
    padding: 0;
    overflow: hidden;
}

#main .photoUL li,
#main .photoULLtl li {
    width: 316px;
    margin: 0 25px 20px 0;
    padding: 0;
    float: left;
    background: none;
    font-size: 15px;
}

#main .photoULLtl li {
    width: 235px;
    margin: 0 20px 20px 0;
}

#main .photoULLtl li img {
    width: 100%;
}

#main .photoULLtlb img {
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .photoUlpa {
    position: relative;
    overflow: hidden;
}

#main .photoUlpa li {
    float: left;
    margin-bottom: 15px;
    width: calc(50% - 7px);
    padding: 0;
}

#main .photoUlpa li:nth-child(2n) {
    float: right;
}

#main .photoUlpa li:before,
#main .photoUlpa li:after {
    content: none;
}

#main .awdSec .photoUlpa {
    width: 480px;
    float: left;
    margin-right: 15px;
}

#main .awdSec .photoUlpa li img {
    width: 100%;
    height: auto;
}

#main .shopAccess .photoUL li {
    width: 322px;
    margin: 0 17px 20px 0;
}

#main .photoUL li:nth-child(3n) {
    margin: 0 0 20px 0;
}

#main .photoULLtl li:nth-child(4n) {
    margin: 0 0 20px 0;
}

#main .photoUL li:nth-child(3n + 1) {
    clear: left;
}

#main .photoULLtl li:nth-child(4n + 1) {
    clear: left;
}

#main .photoUL .otherPhoto {
    width: 316px;
    height: 206px;
    position: relative;
    overflow: hidden;
    display: block;
}

#main .photoUL .otherPhoto 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;
}

#main .photoUL li img {
    margin-bottom: 5px;
}

#main .photoUL li h5 {
    font-size: 15px;
    display: block;
    margin: 0;
    padding: 0;
    background: none;
    color: #23ac38;
}

#main .photoUL li:before,
#main .photoUL li:after,
#main .photoULLtl li:before,
#main .photoULLtl li:after,
#main .photoUL li h5:after {
    content: none;
}

#main .photoUL.photoColumn3 li {
    width: 316px;
}

#main .warryBox,
#main .meritBox {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

#main .meritBox {}

#main .merit h2 {
    background: #ff6600;
    font-size: 25px;
    color: #fff;
    line-height: 1.3;
    padding: 10px;
    margin: 0;
}

#main .warryBox p,
#main .meritBox p {
    line-height: 1.4;
    font-size: 15px;
    margin-bottom: 0;
}

#main .warryBox img {
    float: left;
    margin-right: 20px;
}

#main .meritBox img {
    margin-bottom: 0;
}

#main .meritBox img {
    float: left;
    margin-right: 30px;
}

#main .meritBox .meritTxt {
    margin-left: 340px;
}

#main .warryList,
#main .meritList {
    /*margin-top: 25px;*/
    border-top: #d5d5d5 solid 1px;
    padding-top: 10px;
    overflow: hidden;
}

#main .warryList {
    border-top: #333 dotted 1px;
}

#menu #main .warryList,
#siding #main .warryList {
    margin-top: 30px;
}

#main .warryList li,
#main .meritList li {
    background: none;
    border-bottom: #d5d5d5 solid 1px;
    position: relative;
    font-size: 20px;
    font-weight: bold;
    padding: 0 0 7px 25px;
    margin: 0 0 8px;
}

#main .warryList li {
    font-size: 22px;
    padding: 0 0 7px 40px;
    border-bottom: #333 dotted 1px;
}

#main .meritList li span {
    background: #d73d33;
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    padding: 0 10px;
    margin-right: 15px;
}

#main .meritList li:before,
#main .meritList li:after {
    position: absolute;
    top: 4px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .meritList li:before {
    width: 18px;
    height: 18px;
    border-radius: 50%;
}

#main .meritList li:after {
    left: 4px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


#main .warryList li:last-child,
#main .meritList li:last-child {
    margin-bottom: 0;
}

#main .warryList>li:before,
#main .warryList>li:after {
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .warryList>li:before {
    background: #e26a0f;
    border-radius: 4px;
    width: 25px;
    height: 25px;
}

#main .warryList>li:after {
    left: 6px;
    top: 12px;
    width: 10px;
    height: 5px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    border-right: none;
    border-top: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


#main .warryList li strong {
    background: #fcff00;
    display: inline-block;
    line-height: 0.5;
}

#main .meritList li strong {
    color: #d00000;
}

#main .meritBox .diagnosisList {
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    margin-bottom: 0;
}

#main .meritBox .diagnosisList li {
    border-radius: 4px;
    background: #5daa11;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    width: 24%;
    width: calc(25% - 10px);
    padding: 3px 0;
    margin-top: 0;
}

#main .meritBox .diagnosisList li:before,
#main .meritBox .diagnosisList li:after {
    content: none;
}

#main .meritBox .diagnosisP {
    color: #fff;
    border-radius: 4px;
    background: #4dbe53;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    padding: 10px 0;
}

#main .diagnosisCtcP {
    color: #fff;
    border-radius: 4px;
    background: #3e984f;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    padding: 10px 0;
    margin: 10px 0;
}

/*---メダル付キャッチコピー---*/
#main .medalCatch {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    font-weight: bold;
    font-size: 27px;
    display: block;
    line-height: 1.2;
}

#main .medalCatch img {
    float: left;
    margin: -10px 15px 0 0;
}

#main .medalCatch strong {
    color: #d73d33;
}

#main .medalCatch span {
    display: block;
}

#main .medalCatch span.txtL {
    font-size: 42px;
    font-weight: normal;
}

#main .medalCatch span.txtL strong {
    color: #0b3e9b;
}

#main .medalCatch span.txtEn {
    color: #0eaa8e;
    font-size: 15px;
}

/*---外壁塗装のプロに相談しよう！見積りを取られている方へ！--*/


#main .estimatesBox h3 {
    font-size: 24px;
    margin: 0 !important;
    background: url(./img/common/bg_bdr.png) #88b928 !important;
    border: none !important;
    color: #fff !important;
    padding: 18px 15px !important;
    position: relative;
}

#main .estimatesBox h3 .imgLayer {
    bottom: 0;
    right: 0;
    z-index: 0;
}

#main .estimatesBox h3:after {
    content: none;
}

.estimatesBox h3 span {
    background: #21a937;
    display: table;
    font-size: 18px !important;
    padding: 2px 5px;
    border-radius: 5px;
}

.estimatesBox .inBox {
    background: #f0f0f0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    position: relative;
}

.estimatesBox .inBox {
    padding: 13px 15px 15px;
}

.estimatesBox {
    width: 400px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    border: 1px #cccccc solid;
    padding: 4px;
    background: #fff;
    margin-bottom: 15px;
}

.estimatesBox .inBox p {
    font-size: 23px !important;
    line-height: 1;
    font-weight: bold;
    z-index: 12;
    position: relative;
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}

.estimatesBox .inBox p strong {
    color: #d00000;
}

.estimatesBox .inBox p.spLady span {
    border-radius: 4px;
    background: #d00000;
    color: #fff;
    padding: 5px 5px 7px;
    margin-right: 4px;
    display: inline-block;
}

.estimatesBox .inBox number {
    background: #fff;
    margin-top: 5px;
    padding: 1px;
}

.estimatesBox .inBox .tel {
    font-size: 15px !important;
    font-weight: normal;
    display: inline-block;
    line-height: 1.2;
    padding-left: 5px;
    margin-bottom: 10px !important;
}

.estimatesBox .inBox .tel span {
    font-size: 50px;
    font-weight: 900;
    line-height: 1;
    padding: 0 0 0 42px;
    background-position: 0 28px;
    margin: 0;
}

.estimatesBox .inBox .btn a {
    font-size: 15px !important;
    background: #21a937;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #21a937 inset, 0 4px 0 rgb(255 255 255 / 30%) inset;
}

.estimatesBox .inBox .btn {
    margin: 0 !important;
}

.contactsList {
    width: 400px;
}

.contactsList li {
    position: relative;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
}

.contactsList li:before,
.contactsList li:after {
    content: none !important;
}

.contactsList li a {
    position: relative;
    display: block;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 20px;
    font-weight: 600;
    padding: 15px 10px 17px 70px;
    border: 5px solid;
    box-shadow: 0 0 0 1px #fff inset;
}

.contactsList li.contactBtn a {
    background: url(./img/common/ico_contact.png) no-repeat right 20px center #673a1c;
    border-color: #673a1c;
}

/* .contactsList li.simulationBtn a{
    background:url(./img/common/ico_simulation.png) no-repeat right 20px center #0d85cf;
    border-color: #0d85cf;
} */
.contactsList li.rainleakingBtn a {
    background: url(./img/common/ico_rainleaking.png) no-repeat right 20px center #145fbb;
    border-color: #145fbb;
}

.contactsList li.diagnosisBtn a {
    background: url(./img/common/ico_diagnosis.png) no-repeat right 20px center #0d85cf;
    border-color: #0d85cf;
}

.contactsList li.tosoBtn a {
    background: url(./img/common/ico_toso.png) no-repeat right 20px center #5daa11;
    border-color: #5daa11;
}

.contactsList li a:before {
    content: url(./img/common/ico_forfree.png);
    position: absolute;
    top: -10px;
    left: -4px;
    width: 67px;
    height: 73px;
    border-radius: 0;
    background: none;
}

.contactsList li.tosoBtn a:before {
    display: none;
}

.contactsList li a:after {
    content: url(./img/common/ico_arw_w.png);
    width: 11px;
    height: 11px;
    position: absolute;
    right: 10px;
}

#main .bnrArea {
    padding: 10px 0 30px 0;
}

#main .bnrArea .estimatesBox h3 {
    font-size: 30px;
}

#main .bnrArea .estimatesBox .inBox {
    padding-bottom: 5px !important;
}

#main .bnrArea .estimatesBox .inBox .tel {
    margin-bottom: 0 !important;
}

#main .bnrArea .estimatesBox .inBox .tel span {
    font-size: 67px;
}

#main .bnrArea .estimatesBox {
    width: 520px;
    margin-bottom: 22px;
}

#main .bnrArea .estimatesBox .inBox .btn {
    display: none;
}

#main .bnrArea .contactsList {
    float: right;
    width: 520px;
    margin-bottom: 0;
}

#main .bnrArea .contactsList li {
    margin-bottom: 25px !important;
}

#main .bnrArea .contactsList li:last-child {
    margin-bottom: 0 !important;
}

#main .bnrArea .contactsList li a {
    padding: 30px 10px 30px 95px;
    font-size: 25px;
}

#main .bnrArea .contactsList li a:before {
    top: 0;
    bottom: 0;
    margin: auto;
    left: 3px;
    content: url(./img/common/ico_forfree02.png);
    height: 89px;
}

#main .bnrArea .estimatesBox .inBox p {
    margin-top: 0 !important;
}

#main .bnrArea .estimatesBox .inBox p.spLady {
    font-size: 27px !important;
}

#main .bnrArea .downloadBtn {
    width: 520px;
    margin-bottom: 0 !important;
}

#main .bnrArea .downloadBtn a {
    color: #fff;
    font-weight: bold;
    font-size: 27px;
    text-decoration: none;
    display: block;
    padding: 12px 10px 8px 90px;
    background: url(./img/common/ico_download.png) no-repeat 20px center #d00000;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 3px #d00000 inset, 0 8px 0 rgb(255 255 255 / 20%) inset;
    line-height: 1.3;
}

#main .bnrArea .downloadBtn a span {
    font-size: 17px;
    display: block;
}

.contactsList li a:hover,
#main .bnrArea .downloadBtn a:hover {
    opacity: 0.7;
    transition: 0.7s;
}

#main .bgCB {
    background: #f5f1ea;
    padding: 1px 0;
    padding: 30px 0;
}


#main .contactBox {
    clear: both;
    display: block;
    margin: 25px auto 25px;
    border: #cdcdcd solid 1px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: #f0f0f0;
    position: relative;
    overflow: hidden;
    width: 1100px;
    box-shadow: 0px 0px 0px 4px #fff inset;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px;
}

/* #main .contactBox a{
    color: #333 !important;
    text-decoration: none;
    display: block;
    position: relative;
    overflow: hidden;
    border: #fff solid 5px;
    position: relative;
    overflow: hidden;
} */
#main .bgCB .contactBox {
    margin: 0 auto;
}

#main .contactBox:hover {
    opacity: 0.7;
    transition: 0.7s;
}

/* 
#main .contactBox .inBox {
    background: #fff;
    padding: 10px;
    border-color: #cccccc;
    border-width: 10px;
    border-style: solid;
    position:relative;
}

#main .contactBox .inBox .imgLayer {
    right: -5px;
    bottom: 0;
} */


#main .contactBox h4 {
    margin-bottom: 5px;
}

#main .contactBox p {
    font-size: 28px;
    line-height: 1.3;
    color: #333;
    font-weight: bold;
    margin-bottom: 0;
}

#main .contactBox p.catchTxt img {
    vertical-align: middle;
    margin-right: 4px;
}

#main .contactBox p.btmCatch {
    font-size: 24px;
    line-height: 1.3;
    color: #fff;
    font-weight: bold;
    margin: 1px 0 0 0;
    padding: 5px 15px;
    background: #d00000;
    clear: both;
}

#main .contactBox p.catchTxt {
    font-size: 27px !important;
    line-height: 1 !important;
    font-weight: 500;
    z-index: 10;
    position: relative;
    margin-bottom: 0 !important;
}

#main .contactBox p.catchTxt strong {
    color: #d00000;
}

#main .contactBox p.catchTxt span {
    border-radius: 4px;
    background: #d00000;
    color: #fff;
    padding: 5px 7px 7px;
    margin-right: 4px;
    display: inline-block;
}


#main .contactBox .toContactBox {
    margin-right: 15px;
    float: left;
}

#main .contactBox .telBox {
    padding: 0 0;
    overflow: hidden;
    z-index: 10;
    position: relative;
    display: inline-block;
}

#main .contactBox .telBox .tel {
    font-size: 13px !important;
    text-align: center;
    margin-bottom: 0 !important;
    color: #333;
    padding: 0;
    display: inline-block;
    font-weight: normal;
}

#main .contactBox .telBox .tel span {
    background-position: left 20px;
    font-size: 58px;
    line-height: 1;
    margin: 0;
    display: block;
    clear: none;
    padding-left: 65px;
    font-weight: 900;
    background-size: 60px;
}

#main .contactBox .telBox .tel span.tel-time {
    font-size: 12px;
    font-weight: normal;
    display: block;
    line-height: 1.4;
    text-align: left;
    padding: 0 0 0 0;
    color: #333;
    background: none;
    font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#main .contactBox .telBox .btnAr {
    margin: 0;
    margin-left: 15px;
    float: left;
    clear: none;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .contactBox .telBox .btn:after {
    border-top-color: #ff6600;
    border-right-color: #ff6600;
}


#wpack #main .contactBox .telBox .btn:after,
#apartment #main .contactBox .telBox .btn:after,
#menu #main .contactBox .telBox .btn:after,
#rainleaking #main .contactBox .telBox .btn:after,
#diagnosis #main .contactBox .telBox .btn:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    left: 16px;
}


#main .contactBox ul {
    position: relative;
    overflow: hidden;
    margin: 0 0 10px;
}

#main .contactBox ul li {
    border-radius: 4px;
    background: #0eaa8e !important;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    margin: 0 10px 0 0;
    padding: 5px 15px;
    text-align: center;
    float: left;
}

#main .contactBox ul li:before,
#main .contactBox ul li:after {
    display: none;
}

#main .contactBox ul li:last-child {
    margin-right: 0;
}

#main .contactBox .overflowH {
    width: 380px;

}

#main .contactBox .floatL {
    width: 55%;
}

#main .contactBox h3 {
    margin: 0 !important;
    background: #88b928 url(./img/common/bg_bdr.png) center center !important;
    border: none !important;
    color: #fff !important;
    font-size: 35px !important;
    padding: 20px 30px !important;
    line-height: 1.4 !important;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

#main .contactBox h3 span {
    background: #21a937;
    display: table;
    font-size: 18px !important;
    padding: 2px 5px;
    border-radius: 5px;
}

#main .contactBox h3 .imgLayer {
    bottom: 0;
    right: 0;
}

#main .contactBox .inBox {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 30px;
    position: relative;
    overflow: hidden;
    text-align: center;
    width: 45%;
}

#main .contactBox .btn {
    display: inline-block;
    margin-top: 0;
}

#main .contactBox .btn a {
    font-size: 23px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.1;
    position: relative;
    padding: 10px 25px 10px 30px;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #21a937 inset, 0 7px 0 rgb(255 255 255 / 30%) inset;
    display: flex !important;
    justify-content: space-around;
    align-items: center;
}

#main .contactBox .btn a:before {
    content: "";
    background: url(./img/common/ico_arw_w.png) no-repeat;
    width: 11px;
    height: 11px;
    margin: auto;
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
}

#main .contactBox .btn a span.hdrBnrTxtS {
    font-size: 12px;
    display: block;
    padding: 3px 5px 5px;
    text-align: center;
    background: #177527;
    margin-left: 10px;
}


/*---comContactL---*/

#main .comContactLBox {
    position: relative;
    overflow: hidden;
    border-bottom: #ccc solid 1px;
}

#main .comContactLBox a {
    text-decoration: none !important;
    color: #333 !important;
}

#main .comContactLBox .imgLayer {
    top: 0;
    left: 375px;
    z-index: 1;
}

#main .comContactLBox h3 {
    background: #12a73b;
    color: #fff;
    font-size: 20px;
    padding: 0 15px;
    border-top: none;
    margin-bottom: 0;
    line-height: 1.8;
}

#main .comContactLBox .inBox {
    border: #ccc solid;
    border-width: 1px 1px 0 1px;
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    position: relative;
    overflow: hidden;
}


#main .comContactLBox h4 {
    padding-bottom: 10px;
    margin: 0 0 15px;
    border-bottom: #ccc solid 1px;
    display: inline-block;
}



#main .comContactLBox .inBox p {
    font-size: 27px;
    font-weight: bold;
    z-index: 10;
    position: relative;
    margin-bottom: 0;
}

#main .comContactLBox .inBox p strong {
    color: #d00000;
}

#main .comContactLBox .inBox p span {
    border-radius: 4px;
    background: #d00000;
    color: #fff;
    font-size: 20px;
    padding: 7px;
    margin-right: 5px;
}

#main .comContactLBox .inBox .telBox {
    background: #fff;
    padding: 10px 25px;
    float: right;
    width: 420px;
    position: relative;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px;
    z-index: 1;
}

#main .comContactLBox .inBox .telBox .imgLayer {
    bottom: 100%;
    right: 0;
    top: inherit;
    z-index: 0;
}

#main .comContactLBox .inBox .telBox h5 {
    color: #333;
    background: none;
    font-size: 15px;
    padding: 0;
    display: block;
    margin-bottom: 0;
}

#main .comContactLBox .inBox .telBox .number {
    text-align: center;
}

#main .comContactLBox .inBox .telBox .tel {
    font-size: 13px !important;
    font-weight: normal;
    display: inline-block;
    text-align: left;
    margin-bottom: 0 !important;
    line-height: 1.2;

}

#main .comContactLBox .inBox .telBox .tel span {
    background: url(./img/common/ico_freedial02.png) no-repeat left 90%;
    color: #d00000;
    font-size: 59px;
    line-height: 1;
    padding: 0 0 0 65px;
    margin: 0 0;
    display: block;
    white-space: nowrap;
}

#main .comContactLBox .inBox .catchTxt {
    background: #002590;
    clear: both;
    color: #fff;
    text-align: center;
    display: block;
    font-size: 20px;
    font-weight: bold;
}


/*---contactScroll---*/

#main .ContactScrollBox {
    border: #d73d33 solid 3px;
    position: relative;
    padding: 10px 275px 10px 170px;
    margin: 30px auto 40px;
    width: 1100px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .ContactScrollBox .freeDiagnosis {
    width: 92px;
    color: #fff;
    font-weight: bold;
    line-height: 1.1;
    font-size: 45px;
    background: #d73d33;
    padding: 10px 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: 0;
}

#main .ContactScrollBox .tel {
    display: table;
    margin-bottom: 10px;
}

#main .ContactScrollBox .tel span {
    font-size: 54px;
    display: table-cell;
    vertical-align: bottom;
    background: url(./img/common/ico_freedial04.png) no-repeat left center;
    background-position: bottom left;
    background-position: bottom 3px left;
    padding-left: 60px;
    line-height: 1;
}

#main .ContactScrollBox .tel span.timeS {
    font-size: 14px;
    display: table-cell;
    vertical-align: bottom;
    width: 11em;
    background: none;
    color: #333;
    font-weight: normal;
    padding-left: 10px;
    line-height: 1.3;
    font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#main .ContactScrollBox .telPlease {
    clear: both;
    margin-bottom: 0;
    background: #0b3e9b;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    padding: 4px 0;
}

#main .ContactScrollBox .toForm {
    background: #46ae00;
    display: block;
    border-radius: 5px;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    text-decoration: none;
    background: linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -webkit-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -moz-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -o-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -ms-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    position: absolute;
    top: 10px;
    bottom: 10px;
    right: 10px;
    width: 140px;
    padding: 10px 30px 10px 80px;
    line-height: 1;
}

#main .ContactScrollBox .toForm::before {
    content: "";
    width: 43px;
    height: 47px;
    background-image: url(./img/common/ico_mail.png);
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
}

#main .ContactScrollBox .toForm span {
    display: block;
    font-size: 25px;
}

#main .ContactScrollBox .toForm:hover {
    opacity: 0.8;
    transition: 0.7s;
}


#main .bnrArea #main .comContactLBox {
    float: left;
    margin-right: 40px;
}

#main .bnrArea #main .comContactLBox {
    margin: 0 !important;
}

/*---施工事例紹介--*/

#main .worksS {
    padding: 0 0 70px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: start;
    align-items: start;
    justify-content: space-between;
    position: relative;
    overflow: hidden;

}

#main ul.works-lists {}

#main ul.worksTxtList {
    border-top: 1px solid #cccccc;
}

#main ul.worksTxtList li {
    border-bottom: 1px solid #cccccc;
    padding: 0;
    margin: 0;
}

#main ul.worksTxtList li:before,
#main ul.worksTxtList li:after {
    content: none;
}

#main ul.worksTxtList li a {
    color: #333;
    font-size: 15px;
    text-decoration: none;
    display: block;
    padding: 10px 10px 10px 0;
    position: relative;
    max-width: 486px;
    overflow: hidden;
    white-space: nowrap !important;
    text-overflow: ellipsis;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}


#main ul.worksTxtList li a:after {
    content: "";
    position: absolute;
    margin: auto;
    vertical-align: middle;

    right: 5px;
    top: 0;
    bottom: 0;
    width: 5px;
    height: 5px;
    border-top: 2px solid #ffb033;
    border-right: 2px solid #ffb033;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#main ul.works-menu01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    flex-wrap: wrap;
    width: 550px;
    flex-shrink: 0;
}

#main ul.works-menu01 li {
    width: 260px;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 30px;
}

#main ul.works-menu01 li:before,
#main ul.works-menu01 li:after {
    content: none;
}

#main ul.works-menu01 li a {
    height: 200px;
    width: 260px;
    position: relative;
    text-decoration: none;
    display: block;
    overflow: hidden;
}

#main ul.works-menu01 li a 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;
}

#main ul.works-menu01 li a span {
    font-size: 15px;
    font-weight: bold;
    position: absolute;
    bottom: 0;
    z-index: 10;
    display: block;
    padding: 5px 10px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

#main ul.works-menu01 li a span:before,
#main ul.works-menu01 li a span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main ul.works-menu01 li a span:before {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
}

#main ul.works-menu01 li a span:after {
    right: 15px;
    top: 0;
    bottom: 0;
    width: 4px;
    height: 4px;
    border-top: 2px solid #555;
    border-right: 2px solid #555;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}



/*---店舗案内--*/

.shopInfo,
#main .shopInfo {
    position: relative;
    overflow: hidden;
}

#main .shopInfo {}

.shopInfo ul {
    position: relative;
    overflow: hidden;
}

#main .shopInfo ul {
    margin-top: 0;
}

.shopInfo ul li,
#main .shopInfo ul li {
    float: left;
    margin: 0 20px 0 0 !important;
    background: #f60;
    padding: 0;
    margin: 0 17px 0 0;
    width: 320px;
    position: relative;
}

.shopInfo ul li:nth-child(3),
#main .shopInfo ul li:nth-child(3) {
    margin-right: 0;
}

.shopInfo ul li:last-child,
#main .shopInfo ul li:last-child {
    margin-right: 0 !important;
}

.shopInfo ul li a,
#main .shopInfo ul li a {
    text-decoration: none;
}

.shopInfo ul li h4,
#main .shopInfo ul li h4 {
    position: relative;
    overflow: hidden;
    margin: 0 !important;
    color: #fff;
    font-size: 23px;
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    box-sizing: border-box;
    line-height: 1.3;
    height: 170px;
    text-align: left;
    padding: 10px 10px;
    float: left;
}

#main .shopInfo ul li h4:before,
#main .shopInfo ul li h4:after {
    content: none !important;
    display: none !important;
}

.shopInfo ul li .shopPict {
    height: 170px;
    width: 268px;
    overflow: hidden;
    display: block;
    float: right;
    position: relative;
}

.shopInfo ul li .shopPict img {
    position: absolute;
    width: 100%;
    height: auto;
}

.shopInfo ul li .tel,
#main .shopInfo ul li .tel {
    font-size: 11px;
    color: #fff;
    padding: 10px;
    line-height: 1.5;
    background-color: #4fa800;
    margin-top: 0;
    clear: both;
}

.shopInfo ul li .tel span,
#main .shopInfo ul li .tel span {
    background: url(./img/common/ico_freedial03a.png) no-repeat left center;
    font-family: "Arial Black", Gadget, sans-serif;
    font-size: 35px;
    padding-left: 40px;
    line-height: 1;
    display: block;
}

/*---店舗案内マップ付--*/

.shopAccess {}

.shopAccess>ul>li {
    background: none !important;
    /*border-top: #333 dotted 1px;
    padding: 30px 0 !important;*/
    margin: 0 0 !important;
    padding: 0 !important;
}

.shopAccess ul li:before,
.shopAccess ul li:after {
    display: none !important;
}

.shopAccess ul li .shopMain {
    background: #d00000;
    float: left;
    width: 282px;
    margin-right: 30px;
}

.shopAccess ul li .shopMain .tel {
    font-size: 11px !important;
    color: #fff;
    padding: 10px;
    line-height: 1.5;
    margin: 0 !important;
}

.shopAccess ul li .shopMain .tel span {
    background: url(./img/common/ico_freedial03.png) no-repeat left center;
    font-size: 29px;
    font-family: "Arial Black", Gadget, sans-serif;
    padding-left: 40px;
    line-height: 1;
}

.shopAccess ul li .shopSummery h5 {
    margin: 0 !important;
    border-radius: 0 !important;
    padding: 5px 40px !important;
    text-align: center;
    font-size: 20px !important;
}

.shopAccess ul li .shopSummery {
    overflow: hidden;
}

/*---外壁診断 雨漏り診断--*/

#main .combnrList {
    position: relative;
    overflow: hidden;
    margin: 20px 0 0 0;
}

#main .combnrList li {
    /*    border-radius: 8px;
    background: #4582e8;
    color: #fff;
    font-size: 18px;
    font-weight: bold;*/
    padding: 0;
    width: 530px;
    float: left;
    text-align: center;
    margin-bottom: 30px;
}

#main .combnrList li:nth-child(2n) {
    float: right;
    /*    background: #7d5102;*/
}

#main .combnrList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .combnrList li a {
    color: #fff;
    text-decoration: none;
    display: block;
}

#main .combnrList li a span {
    position: relative;
    display: block;
    padding: 4px 0;
}

#main .combnrList li:before,
#main .combnrList li:after {
    content: none;
}

/*---Flexバナー--*/
#main .combnrListFlx {
    position: relative;
    width: 1100px;
    margin: 15px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#main .combnrListFlx li {
    border-right: #333333 dotted 1px;
    background: #fff;
    float: left;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    position: relative;
    z-index: 15;
    line-height: 1.4;
    display: block;
    width: 100%;
    height: 100px;
    padding: 0;
    margin: 0;
}

#main .combnrListFlx li:before,
#main .combnrListFlx li:after {
    content: none;
}

#main .combnrListFlx li:first-child {
    border-left: #333 dotted 1px;
}

#main .combnrListFlx li span {
    display: block;
    font-size: 10px;
    color: #ffb400;
    font-weight: normal;
}

#main .combnrListFlx li a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    position: relative;
    color: #333;
    text-decoration: none;
    padding: 45px 0 5px 0;
    margin: 5px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center 10px;
}

#main .combnrListFlx li a:hover {
    transition: 0.7s;
    opacity: 0.8;
    border-radius: 5px;
    background-color: #eee;
}

#main .combnrListFlx li.bnrF01 a {
    background-image: url(./img/common/gnav_ico_corporate_c.png);
}

#main .combnrListFlx li.bnrF02 a {
    background-image: url(./img/common/gnav_ico_works_c.png);
}

#main .combnrListFlx li.bnrF03 a {
    background-image: url(./img/common/gnav_ico_voice_c.png);
}

#main .combnrListFlx li.bnrF04 a {
    background-image: url(./img/common/gnav_ico_download_c.png);
}

/*---3カラムバナー--*/

#main .combnrList3col {
    position: relative;
    overflow: hidden;
    margin: 20px 0 0 0;
}

#main .combnrList3col li {
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 300px;
    float: left;
    text-align: center;
    margin-right: 50px;

}

#main .combnrList3col li:nth-child(3n) {
    float: right;
    margin-right: 0;

}

#main .combnrList3col li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .combnrList3col li a {
    color: #fff;
    text-decoration: none;
    display: block;
}

#main .combnrList3col li a span {
    position: relative;
    display: block;
    padding: 3px 0 3px 10px;
}

#main .combnrList3col li a span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}


#main .combnrList3col li a span:after {
    left: 21px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


#main .combnrList3col li:before,
#main .combnrList3col li:after {
    content: none;
}



#main .bnrBoxT {
    border-bottom: 1px solid #fff;
}



#main .combnrListOtr {
    position: relative;
    overflow: hidden;
}

#main .combnrListOtr li {
    border-radius: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    width: 480px;
    float: left;
    text-align: center;
    margin: 0;
    margin-top: 40px;
}

#main .combnrListOtr li:nth-child(-n+2) {
    margin-top: 0;
}

#main .combnrListOtr li:nth-child(2n) {
    float: right;
}

#main .combnrListOtr li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .combnrListOtr li a {
    color: #fff;
    text-decoration: none;
}

#main .combnrListOtr li:before,
#main .combnrListOtr li:after {
    content: none;
}


/*---理由 メニューバナー--*/
#main .reaBnrList {
    position: relative;
    overflow: hidden;
    margin: 10px 0;
}

#main .reaBnrList li {
    background: #fbc834;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    padding: 0;
    width: 480px;
    float: left;
    text-align: left;
    margin: 0;
}

#main .reaBnrList li:nth-child(2n) {
    float: right;
    background: #5daa11;
}

#main .reaBnrList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .reaBnrList li a {
    color: #fff;
    text-decoration: none;
    padding: 10px;
    display: block;
}

#main .reaBnrList li a img {
    margin-bottom: 15px;
}

#main .reaBnrList li a span {
    position: relative;
    display: block;
    line-height: 1.3;
    height: 60px;
}

#main .reaBnrList li a span small {
    display: block;
    font-size: 16px;
    color: #fcff00;
    margin-bottom: 5px;
}

#main .reaBnrList li a span:before,
#main .reaBnrList li a span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .reaBnrList li a span:before {
    width: 26px;
    height: 26px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}

#main .reaBnrList li a span:after {
    right: 16px;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fbc834;
    border-right: 4px solid #fbc834;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#main .reaBnrList li:nth-child(2n) a span:after {
    border-top-color: #5daa11;
    border-right-color: #5daa11;
}


#main .reaBnrList li:before,
#main .reaBnrList li:after {
    content: none;
}


/*---外壁塗装工事パック商品--*/
#packmenu #main .formBox {
    padding: 30px 50px;
}

#packmenu #main .formBox th {
    font-weight: bold;
    width: auto;
    font-size: 18px !important;
}

#packmenu #main .formBox td label {
    margin-right: 10px;
}

#packmenu #main .formBox td label:last-child {
    margin-right: 0;
}

#main .serviceContents {
    padding: 20px;
    background: url(./img/common/bg_bdr.png) #21a937 !important;
    margin-bottom: 50px;
}

#main .serviceContents .inner {
    padding: 0;
}

#main .serviceContents .btnC {
    margin-bottom: 0;
}

#main .serviceContents .btnC a {
    display: block !important;

    font-size: 20px !important;
    padding: 12px 15px;
    background-color: #673a1c;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #673a1c inset, 0 4px 0 rgb(255 255 255 / 30%) inset;
}


#main .serviceContents h2 {
    color: #fff;
    font-size: 45px;
    text-align: left;
    width: auto;
    padding: 0;
    margin: 0 0 20px;
    border-top: none;
}

#main .serviceContents h2:before {
    content: none;
}

#main .serviceContents .serviceList li {
    background: #ffffad;
    border: #fff solid 1px;
    box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.3);
    padding: 0;

}

#main .serviceContents .serviceList li:before,
#main .serviceContents .serviceList li:after {
    content: none;
}

#main .serviceContents .serviceList li .menuOverview {
    float: right;
    margin: 20px 20px 20px 0;
    width: 680px;
}

#main .serviceContents .serviceList li .menuPhoto {
    float: left;
    display: block;
    width: 300px;
    height: 229px;
    margin: 20px 0 20px 20px;
    position: relative;
    overflow: hidden;
}

#main .serviceContents .serviceList li .menuPhoto 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;
}

#main .serviceContents .serviceList li h3 {
    background: none;
    border-top: none;
    font-size: 33px;
    padding: 0;
    margin: 0 0 10px 0;
    line-height: 1;
}

#main .serviceContents .serviceList li .constructionArea {
    background: #ffb033;
    border-radius: 5px;
    color: #fff;
    display: table;
    font-size: 16px;
    padding: 5px 10px;
    margin-bottom: 0;
}

#main .serviceContents .serviceList li .priceTxt {
    font-family: Oswald, Gadget, 'Anton', sans-serif, "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    font-size: 110px;
    font-weight: 900;
    color: #d00000;
    line-height: 0.9;
    margin-bottom: 15px;
}

#main .serviceContents .serviceList li .priceTxt span.unitTxt {
    font-size: 70px;
    font-weight: bold;
    line-height: 0.9;
    font-weight: bold;
    padding-bottom: 25px;
    display: inline;
}

#main .serviceContents .serviceList li .annotationTxt {
    margin-bottom: 0;
}

#main .serviceContents .serviceList li .basicC {
    font-size: 20px;
    background: #e26a0f;
    color: #fff;
    font-weight: bold;
    padding: 10px 15px;
    text-align: left;
    clear: both;
    line-height: 1;
    margin: 0;
}

#main .serviceContents .serviceList li .basicC span {
    font-size: 20px;
    background: #fff;
    color: #e26a0f;
    font-weight: bold;
    margin-right: 24px;
    border-radius: 5px;
    display: inline-block;
    line-height: 1;
    position: relative;

    padding: 6px 10px 4px;
    display: inline-block;
    line-height: 1;
}


#main .serviceContents .serviceList li .basicC span::after {
    content: "+";
    color: #fff;
    background-color: #ffb033;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    top: auto;
    bottom: auto;
    left: 101%;
    text-align: center;
    margin: auto;
    position: absolute;
    font-weight: bold;
    line-height: 1;
    display: inline-table;
    vertical-align: middle;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;


}

#main .serviceContents .serviceList li .basicC span:first-of-type {
    margin-left: 15px;
}

#main .serviceContents .serviceList li .basicC span:last-of-type {
    margin-right: 5px;
}

#main .serviceContents .serviceList li .basicC span:last-of-type:after {
    content: none;
}


#main .serviceContents .packSsy li {
    padding: 20px;
}

#main .serviceContents .packSsy li .menuPhoto {
    margin: 0 20px 20px 0;
}

#main .serviceContents .packSsy li .menuOverview {
    margin: 0 0 20px 0;
}

#main .serviceContents .packSsy li .basicC {
    background: none;
    color: #805200;
    padding: 5px 0;
    text-align: center;
}

#main .serviceContents .packSsy li .basicC span {
    background: #805200;
    color: #fff;
}

#main .serviceContents .packSsy li .basicC span:first-of-type {
    margin-left: 0;
}

#main .serviceContents .packSsy li h3.packTtl {
    font-size: 24px;
    line-height: 1.4;
    border-bottom: 7px solid #e26a0f;
}

#main .serviceContents .packSsy li .itemData {
    float: right;
    width: 800px;
}

#main .serviceContents .packSsy li .itemPhoto {
    float: left;
    display: block;
    width: 200px;
    margin: 0;
    position: relative;
}

#main .serviceContents .packSsy li .itemPhoto img {
    width: 100%;
    height: auto;
}

#main .serviceContents .itemSummery {
    overflow: hidden;
    margin-bottom: 20px;
}

#main .serviceContents .itemData .itemDataUl {
    background: #5daa11;
    padding: 15px;
    position: relative;
    overflow: hidden;
    margin: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#main .serviceContents .itemData .itemDataUl li {
    border-radius: 5px;
    background: #fff;
    padding: 10px 5px;
    margin-bottom: 0;
    box-shadow: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% - 7px);
    text-align: center;
    margin-right: 7px;
}

#main .serviceContents .itemData .itemDataUl li:last-child {
    margin-right: 0;
}

#main .serviceContents .itemData .itemDataUl li h5 {
    font-size: 15px;
    font-weight: normal;
    padding: 3px 10px 5px;
    line-height: 1;
    color: #fff;
    margin: 0 auto 8px;
    display: table;
    border-bottom: 0;
    background: #eb901b;
    border-radius: 3px;
}

#main .serviceContents .itemData .itemWarranty {
    display: block;
    position: relative;
    overflow: hidden;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;

}

#main .serviceContents .itemData .itemWarranty li {
    background: none;
    padding: 0 0 5px 0;
    text-align: center;
    font-weight: bold;
    margin: 0 10px 0 0;
    width: 100%;
    background: #fff;
    border: #ccc solid 1px;
    font-size: 20px;
    box-shadow: none;
}

#main .serviceContents .itemData .itemWarranty li:last-child {
    margin-right: 0;
}

#main .serviceContents .itemData .itemWarranty li h5 {
    border-radius: 0;
    font-size: 18px;
    color: #fff;
    display: block;
    line-height: 2;
    margin: 0 0 5px 0;
    background: #0d85cf;
    padding: 0;
    border: none;
}


#main .packSummary {
    overflow: hidden;
}

#main .packSummary .btn a {
    background: #d00000;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #d00000 inset, 0 4px 0 rgb(255 255 255 / 30%) inset;
    padding: 15px;
}

#main .serviceContents .dlBox {
    float: right;
    position: relative;
    margin-left: 30px;
}

#main .serviceContents .dlBox a.dlPhoto {
    display: block;
    width: 200px;
    height: 240px;
    margin: 0;
    position: relative;
    overflow: hidden;
}

#main .serviceContents .dlBox a 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;
}

#main .serviceContents .dlBox h6 {
    background: rgba(0, 0, 0, 0.4);
    padding: 10px;
    position: absolute;
    top: 0;
    z-index: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    font-size: 14px;
    color: #fff;
}

#main .serviceContents .dlBox h6:before,
#main .serviceContents .dlBox h6:after {
    content: none;
}


/*----attention-----*/
#main .bgAt {
    background: #513400;
}

#main .bgAt h3 {
    font-size: 36px;
    text-align: center;
    box-shadow: none;
    background: none;

    border-top: none;
    padding: 0;
    margin: 0 0 20px 0;
    font-weight: normal;
    color: #fff;
    border-image: none;
}

#main .bgAt h3 strong {
    font-weight: bold;
}

#main .bgAt h3 strong.remarkY {
    color: #fffc00;
}

#main .bgAt p.imgBAt {
    margin-bottom: 20px;
}

#main .bgAt p.imgBAt img {
    float: left;
    margin-right: 26px;
}

#main .bgAt p.imgBAt img:last-child {
    float: none;
    margin-right: 0;
}

#main .bgAt p {
    font-size: 24px;
    color: #fff;
}

#main .bgAt p.catchPAt {
    font-size: 46px;
    line-height: 1.3;
    color: #fff;
}

#main .bgAt p.ltl {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.7;
    padding-top: 20px;
}

#main .bgAt p.ltl img {
    margin-top: -20px;
}

#main .bgAt p.catchPAt strong {
    color: #fffc00;
}

#main .bgAt p.ltl strong {
    color: #fff;
    text-decoration: underline;
}

#main .bgAt p.catchPAt span.txtCas {
    font-size: 34px;
    display: block;
}

#rainleaking #main .bgAt p.catchPAt span.txtCas {
    padding-top: 15px;
}

#main .bgAt p.catchPAt img {
    float: left;
    margin-right: 20px;
}


/*----こんなお悩み-----*/


#main .checkPointT {
    background: #fff;
    width: 1090px;
    outline: 5px solid rgba(0, 0, 0, 0.2);
    border: 5px solid #fff;
    margin: 0 auto;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

#main .checkPointT h3 {
    margin: 0 !important;
    background: #e26a0f;
    border: none !important;
    color: #fff !important;
    font-size: 38px !important;
    padding: 5px 7px !important;
    line-height: 78px;
}

#main .checkPointT h3 img {
    margin-right: 10px;
}

#main .checkPointT h3::after {
    content: none;
}

#main .checkPointT ul {
    position: relative;
    overflow: hidden;
    padding: 15px;
    margin: 0;
}

#main .checkPointT ul li {
    width: 240px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 20px 30px 0 0;
    float: left;
    background: none;
    padding: 0 !important;
}

#main .checkPointT ul li:nth-child(-n + 4) {
    margin-top: 0;
}

#main .checkPointT ul li:before,
#main .checkPointT ul li:after {
    display: none;
}

#main .checkPointT ul li:nth-child(4n) {
    margin-right: 0;
}

#main .checkPointT ul li h4 {
    background: url(./img/common/ico_warries.png) no-repeat 0 8px;
    display: block !important;
    padding: 0 0 0 40px !important;
    font-size: 30px !important;
    font-weight: bold;
    margin: 0 0 1px 0 !important;
    border-bottom: #673a1c 5px solid;
}

#main .checkPointT ul li h4:before,
#main .checkPointT ul li h4:after {
    display: none;
}

#main .checkPointT ul li p {
    border: 1px solid #ccc;
    font-size: 16px;
    padding: 14px;
    font-weight: bold;
    line-height: 1.8;
}

#main .checkPointT p.warriesCtc {
    font-size: 35px;
    font-weight: bold;
    text-align: center;
}

#main .checkPointT p.warriesCtc strong {
    color: #d00000;
}

/*----劣化度チェック-----*/

#main .deteriorationChk {
    margin-top: 20px;
}


#main .deteriorationChk .checkLegend {
    width: 232px;
    float: left;
}

#main .deteriorationChk .checkLegend span {
    border-radius: 50%;
    background: #5daa11;
    color: #fff;
    font-size: 29px;
    width: 226px;
    height: 226px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    line-height: 1.5;
    position: relative;
}

#main .deteriorationChk .checkLegend span img {
    position: absolute;
    right: -17px;
    bottom: -3px;
}

#main .deteriorationChk .checkLegend span strong {
    font-size: 50px;
    line-height: 1.2;
}

#main .deteriorationChk .checkLegend p {
    margin-top: -20px;
}

#main .deteriorationChk .checkLegend img.imgOvr {
    margin-top: 20px;
}

#main .deteriorationChk .checkLegend img {
    margin-top: 20px;
}

#main .deteriorationChk .checkPoint {
    width: 830px;
    float: right;
    background: #fff;
}

#main .deteriorationChk .checkPoint h3 {
    margin: 0 !important;
    background: #0d85cf !important;
    border: none !important;
    color: #fff !important;
    font-size: 20px !important;
    padding: 5px 10px !important;
    line-height: 1.8;
}

#main .deteriorationChk .checkPoint h3::after {
    content: none;
}

#main .deteriorationChk .checkPoint ul {
    overflow: hidden;
    padding: 18px;
    margin: 0;
    border: solid 1px #ccc;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;


}

#main .deteriorationChk .checkPoint ul li {
    width: 250px;
    background: none;
    padding: 0 !important;
}

#main .deteriorationChk .checkPoint ul li:before,
#main .deteriorationChk .checkPoint ul li:after {
    display: none;
}


#main .deteriorationChk .checkPoint ul li .checkpointThumb {
    position: relative;
    font-size: 13px;
    margin-bottom: 10px;
    width: 250px;
    height: 156px;
    overflow: hidden;
}

#main .deteriorationChk .checkPoint ul li .checkpointThumb 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;
}

#main .deteriorationChk .checkPoint ul li .checkTtl {
    position: absolute;
    bottom: 10px;
    padding: 0 30px;
    text-align: center;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .deteriorationChk .checkPoint ul li .checkTtl h4 {
    background: #d90a0a !important;
    color: #fff !important;
    display: block !important;
    padding: 0 !important;
    font-size: 13px !important;
    margin: 0 !important;
}

#main .deteriorationChk .checkPoint ul li .checkTtl .ttl {
    background: #d90a0a !important;
    color: #fff !important;
    display: block !important;
    padding: 0 !important;
    font-size: 13px !important;
    margin: 0 !important;
}

#main .deteriorationChk .checkPoint ul li .checkTtl h4:before,
#main .deteriorationChk .checkPoint ul li .checkTtl h4:after {
    display: none;
}

#main .deteriorationChk .checkPoint ul li .checkTtl p {
    background: #fff;
    border-radius: 5px;
    color: #d90a0a;
    display: block;
    font-size: 16px;
    margin-top: 5px;
    line-height: 1.2;
}

#main .deteriorationChk .checkPoint ul li p {
    display: inline-block;
    font-size: 13px;
    margin-bottom: 0;
}

/*----comMessage-----*/
#contents #main .msgSct h2 {
    font-size: 50px;
    text-align: left;
    border: none;
    margin: 0 0 20px 0;
    padding: 0;
}

#contents #main .msgSct h2:before {
    content: none;
}

#main .msgTxt,
#main .msgTxtOvr .catchTxt {
    width: 790px;
    float: left;
    position: relative;
    overflow: hidden;
}

#main .msgTxt h3 {
    margin-top: 0;
}

#main .msgTxt p {
    font-size: 15px;
    line-height: 1.5;
}

#main .msgTxtOvr .catchTxt {
    width: auto;
}

#reason #main .reasonMsg h3 {
    background: none;
    font-size: 34px;
    color: #333;
    border: none;

    padding: 5px 10px;
    margin: 0 0 20px 0;
    overflow: hidden;
}

#reason #main .reasonMsg h3 span {
    display: block;
    float: left;
    background: #ff8800;
    border-radius: 5px;
    font-size: 27px;
    color: #fff;
    position: relative;
    padding: 5px 15px 0 15px;
    margin-left: 15px;
}

#main .reasonMsg h3 span:after {
    content: '\A';
    white-space: pre;
}

#main .reasonMsg h3 span:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: calc(50% - 8px);
    border-right: 15px solid #ff8800;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

#main .reasonMsg h3 img {
    float: left;
    margin-right: 10px;
}

#main .msgTxt p {}

#main .msgPhoto {
    float: right;
    margin-left: 20px;
}



#main .msgTxt h5,
#main .msgPhoto h5 {
    border: none;
    font-size: 28px;
    font-weight: bold;
    margin: 10px 0 0 0;
    line-height: 1.4;
    background: none;
    display: block;
    padding: 0;
    clear: none;
}

#main .msgTxt h5 span,
#main .msgPhoto h5 span {
    padding: 3px 10px;
    display: table;
    background-color: #673a1c;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    margin: 0;
}

#main .msgTxt h5 span.en,
#main .msgPhoto h5 span.en {
    background: none;
    font-weight: bold;
    color: #ffb033;
    display: inline-block;
    padding: 0 0 0 5px;
    font-size: 12px;
}

/*----comWait-----*/

#main .comWaitBox {
    padding: 0;
    margin-bottom: 30px;
}

#main .comWaitBox a {
    text-decoration: none;
}

#main .comWaitBox h3 {
    background: #e26a0f;
    text-align: center;
    font-size: 28px;
    border: none;
    color: #fff;
    padding: 10px 0;
    margin: 0;
}

#main .comWaitBox p {
    position: relative;
    overflow: hidden;
}

#main .comWaitBox img {
    float: left;
    display: block;
}

/*----comArea-----*/

#main .comAreaBox {
    padding: 10px;
    box-sizing: border-box;
    background: #fff;
    margin-bottom: 30px;
}

#main .comAreaBox img {
    float: left;
    margin-right: 30px;
}

#main .comAreaBox h3 {
    font-size: 23px;
    margin: 0 0 20px;
}

#main .comAreaBox h4 {
    margin: 0 0 5px;
}

#main .comAreaBox p {
    font-size: 18px;
    margin-bottom: 10px;
}

#main .comAreaBox p.catchAra {
    font-size: 20px;
    font-weight: bold;
}

#main .comAreaBox .catchTtl {
    background: none;
    border-top: none;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 0;
}

#main .comAreaBox .catchAra strong {
    color: #d73d33;
}

#main .comAreaBox .catchAra span {
    text-decoration: underline;
}

/*----comFamily-----*/

#main .comFamilyBox {
    background: #4582e8;
    border-style: solid;
    border-width: 10px;
    -moz-border-image: url(./img/common/brown_bg.png) 10 repeat;
    -webkit-border-image: url(./img/common/brown_bg.png) 10 repeat;
    -o-border-image: url(./img/common/brown_bg.png) 10 repeat;
    border-image: url(./img/common/brown_bg.png) 10 repeat;
    position: relative;
    margin-top: 20px;
}

#main .comFamilyBox .imgLayer {
    right: 0;
    top: -20px;
}

#main .comFamilyBox p {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    margin: 20px 20px 10px;
    line-height: 1.4;
}

#main .comFamilyBox p span.txtM {
    font-size: 30px;
}

#main .comFamilyBox p strong {
    color: #ffc501 !important;
}

#main .comFamilyBox p span strong {
    border-radius: 4px;
    background: #d00000;
    padding: 5px;
    display: inline-block;
    color: #fff !important;
    line-height: 1;
    margin-right: 5px;
}

#main .comFamilyBox p.catchTtl {
    background: #1342d3;
    display: block;
    position: relative;
    margin: 0 -10px 20px;
    font-size: 35px !important;
    text-align: center !important;
}

#main .comFamilyBox p.catchTtl:before,
#main .comFamilyBox p.catchTtl:after {
    content: '';
    position: absolute;
    top: 100%;
    border-style: solid;
    border-color: transparent;
}

#main .comFamilyBox p.catchTtl:before {
    left: 0;
    border-width: 0 10px 10px 0;
    border-right-color: #001453;
}

#main .comFamilyBox p.catchTtl:after {
    right: 0;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-top-color: #001453;
}

/*--吹き出し大テキスト--*/

#main .balloonBox {
    background: #5daa11;
    display: block;
    border-radius: 5px;
    color: #fff;
    position: relative;
    padding: 20px;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*#main .balloonBox:after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: 25px solid transparent;
    border-top: #002590 solid 26px;
    top: 100%;
    left: 50%;
    margin-left: -25px;
    border-radius: 0;
}*/

#main .balloonBox p,
#main .balloonBox {
    margin: 0;
    font-size: 22px;
    font-weight: bold;
}

#main .balloonBox p strong,
#main .balloonBox strong {
    color: #f0d100;
}

#main .catchCBox {
    background: #0b3e9b;
    border-radius: 10px;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 45px;
    font-weight: bold;
    line-height: 1.5;
}


/*--comMember--*/

#main .comMember {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #8eafd9), color-stop(0.20, #6696cf));
    background: -webkit-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -moz-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -o-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -ms-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: linear-gradient(to bottom, #6696cf 20%, #8eafd9 100%);
}

#main .comMember .inner {
    width: 100%;
    background: url(./img/common/comMember_bg.png) no-repeat center center;
    height: 573px;
    padding: 0;
}

#main .comMember p {
    color: #fff;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.4;
    margin: 60px auto 0 !important;
    width: 1100px;
    display: block;
}

/*---comIdea---*/

#main .comIdea {
    margin-bottom: 29px;
}

#main .comIdea .ttl {
    margin-bottom: 3px;
}

#main .comIdea ul {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
}

#harikae #main .comIdea ul,
#menu #main .comIdea ul,
#apartment #main .comIdea ul {
    -webkit-justify-content: space-around;
    /*--- safari（PC）用 ---*/
    justify-content: space-around;
    padding: 0 90px;
}

#main .comIdea ul:after {
    content: none;
}

#main .comIdea li {
    padding-left: 0;
    float: none;
    width: 182px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .comIdea li:before,
#main .comIdea li:after {
    content: none;
}

#main .comIdea li img {
    display: block;
    margin: 0 auto;
}

#main .comIdea li span {
    font-size: 18px;
    padding: 10px 10px;
    position: relative;
    color: #FFF;
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
    border-radius: 6px;
    background: #ff8800;
    display: block;
    margin-bottom: 30px;
}

#main .comIdea li span:after {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: 10px solid transparent;
    border-top-color: #ff8800;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
}

#main .comIdea li:first-child {
    padding-left: 0;
}

/*--ショールーム特徴--*/

#main .showroomFeature {}

#main h2.showroomTtl {
    border-top: none;
    border-bottom: #e26a0f solid 7px;
    padding: 0 0 10px 0;
    font-size: 40px;
}

#main h2.showroomTtl:before {
    content: none;
}

#main h3.showroomCttl {
    background: none;
    font-size: 34px;
    color: #e26a0f;
    text-align: center;
    margin: 0;
    border: none
}

#main h3.showroomCttl:after {
    content: none;
}

#main .showroomFeature p {
    margin-bottom: 0;
}

#main .featureBox {
    position: relative;
    overflow: hidden;
    background: url(./img/common/bg_archivelist.png);
    margin: 30px 0;
}

#main .featureBox p {
    margin-top: 0;
}

#main .featureBox ul {
    padding: 10px;
    float: right;
    width: 300px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 0;
}

#main .featureBox ul li {
    border-radius: 5px;
    background: #fff;
    font-size: 14px;
    padding: 10px;
    position: relative;
    overflow: hidden;
    margin-top: 10px;
    line-height: 1.8;
}

#main .featureBox ul li:before,
#main .featureBox ul li:after {
    content: none;
}

#main .featureBox ul li:first-child {
    margin-top: 0;
}

#main .featureBox ul li p {
    font-size: 14px;
    line-height: 1.8;
}

#main .featureBox ul li h4 {
    background: url(./img/common/bg_packttlo.png) !important;
    color: #fff;
    font-size: 28px;
    display: table-cell;
    padding: 25px 5px !important;
    height: 100%;
    width: 3em;
    text-align: center;
    vertical-align: middle;
    float: left;
    margin: 0 10px 0 0 !important;
    line-height: 1;
}

#main .featureBox ul li h4:before,
#main .featureBox ul li h4:after {
    display: none;
}

#main ul.featureImg li {
    float: left;
    margin-bottom: 30px;
    padding: 0;
    width: 535px;
    height: 330px;
    position: relative;
    overflow: hidden;
}

#main ul.featureImg li:nth-child(2n) {
    float: right;
}

#main ul.featureImg li:before,
#main ul.featureImg li:after {
    display: none;
}

#main ul.featureImg li 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;

}


/*--トップスライド--*/

a.leftNav,
a.rightNav {
    background: url(./img/common/bg2.png);
    outline: none;
    transition: none;
}

.leftNav:before,
.rightNav:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    transition: none;
}

.leftNav:hover {
    background: url(./img/common/leftNav.png) right center no-repeat;
    /*rgba(204,204,204,0.4);*/
    transition: none;
    opacity: 1;
}

.rightNav:hover {
    background: url(./img/common/rightNav.png) left center no-repeat;
    /*rgba(204,204,204,0.4);*/
    transition: none;
    opacity: 1;
}

.leftNav:hover:before,
.rightNav:hover:before {
    background: url(./img/common/bg2.png);
    transition: none;
}


/*--下層ページメインビジュアル--*/

#pageTitle {
    position: relative;
    overflow: hidden;
    height: 165px;
}

#pageTitle .inner {
    width: 100%;
    height: 100%;
    padding: 120px 0 0 0;
}

#pageTitle h1 {
    color: #e26a0f;


    line-height: 1.5;
    text-align: center;
    box-shadow: none;
    border: none;
    margin: 0;
    padding: 20px 0 0 0;
    font-size: 42px;
    text-shadow:
        -1px -4px #fff, 1px -4px #fff,
        -2px -3px #fff, 2px -3px #fff,
        -3px -2px #fff, 3px -2px #fff,
        -4px -1px #fff, 4px -1px #fff,
        -4px 1px #fff, 4px 1px #fff,
        -3px 2px #fff, 3px 2px #fff,
        -2px 3px #fff, 2px 3px #fff,
        -1px 4px #fff, 1px 4px #fff;
    width: 100%;
    height: 110px;
    position: relative;
}

#pageTitle h1 span,
#pageTitle h1 small {
    display: block;
    width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

#pageTitle h1 small {
    font-size: 30px;
}

#pageTitle h1 span {
    color: #333;
}

/*#pageTitle h1 span small {
	display:inline;
	font-size:24px;
	color:#fcff00;
	padding-left:15px;
	text-transform: uppercase;
}*/
#pageTitle h1 img {
    position: absolute;
    bottom: 0;
    right: calc(50% - 570px);
}

/*#pageTitle h1 span.subttl {
    display: block;
    font-size: 18px;
    border-left: none;
    padding-left: 0;
}*/

/*--ぱんくず--*/

#pagePath {
    background: #0b3e9b;
    padding: 5px 0;
}

#pagePath p {
    width: 1100px;
    margin: 0 auto;
    color: #FFF;
    font-size: 11px;
}

#pagePath p a {
    color: #FFF;
}

/*--フォーム--*/

#main .formD h3 {
    background: #0eaa8e;
    border-top: none;
    color: #fff;
    margin: 0;
}

#main .formD ul li:before,
#main .formD ul li:after {
    content: none;
}

#main #form {
    padding: 15px 0 30px;
}

#main h3.gHb,
#main h3.formH,
#main #form h3 {
    background: none;
    font-size: 40px;
    color: #5daa11;
    border: none;
    padding: 0;
    margin: 0 0 20px 0;
    text-align: center;
    box-shadow: none;

}

#main h3.gHb::after,
#main h3.formH::after,
#main #form h3::after {
    content: none;
}

#main h3.gHb {
    font-size: 52px;
    line-height: 1.3;
}

#main #form ul li {
    background: none !important;
    padding: 0;
}

#main #form ul li:before,
#main #form ul li:after {
    content: none;
}

#main #form ul.formStep {
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}

#main #form ul.formStep li {
    background: #cccccc !important;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    margin: 5px 0 !important;
    position: relative;
    width: 243px;
    float: left;
    height: 50px;
    padding: 0 10px 0 80px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
}

#main #form ul.formStep li:before,
#main #form ul.formStep li:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 0 25px 10px;
    border-color: transparent transparent transparent #cccccc;
    content: '';
    display: block;
    position: absolute;
}

#main #form ul.formStep li:before {
    left: 100%;
    top: 0;
    z-index: 10;
    background: none;
    border-radius: 0;
}

#main #form ul.formStep li:after {
    border-width: 26px 0 26px 12px;
    border-color: transparent transparent transparent #fff;
    left: 100.5%;
    top: 0;
    z-index: 9;
    -webkit-transform: none;
    transform: none;
}

#main #form ul.formStep li:last-child:before,
#main #form ul.formStep li:last-child:after {
    display: none;
}

#main #form ul.formStep li.on {
    background: url(./img/common/bg_nav.png) !important;
    color: #fff;
}

#main #form ul.formStep li.on:before {
    border-color: transparent transparent transparent #21a134;
}

#main #form ul.formStep li span {
    border-radius: 50%;
    background-image: url(./img/common/bg_staff.png) !important;
    width: 57px;
    height: 57px;
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
    position: absolute;
    top: -3px;
    left: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
    -webkit-box-pack: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;
    /*--- IE10 ---*/
    -webkit-justify-content: center;
    /*--- safari（PC）用 ---*/
    justify-content: center;
    text-align: center;
}

#main #form ul.formStep li:first-child span {
    left: 2px;
}

#main .formBox {
    background: #f0f0f0;
    padding: 50px 100px;
}

#main .formBox table {
    margin-bottom: 20px;
    padding: 0;
}

#main .formBox th,
#main .formBox td {
    border-top: #a8997f solid 1px;
}

#main .formBox tr:last-of-type th,
#main .formBox tr:last-of-type td {
    border-bottom: #a8997f solid 1px;
}

#main .formBox th {
    padding: 20px 15px;
    font-weight: bold;
    vertical-align: top;
    width: 30%;
    font-size: 16px;
    background: none;
}

#main .formBox th span {
    background: #d00000;
    color: #fff;
    font-size: 12px;
    float: left;
    padding: 0 5px;
    margin: 5px 15px 0 0;
}

#main .formBox th span.any {
    background: #cccccc;
}

#main .formBox td {
    padding: 15px 0;
    vertical-align: middle;
    font-size: 15px;
    background: none;
}

#main .formBox td .wpcf7c-elm-step1 {
    font-size: 13px;
}

#main .formBox td span {
    display: inline-block;
}

#main .formBox td span label {
    padding-right: 25px;
}

#main .formBox td a {
    background: url(./img/common/arrow01.png) no-repeat 0 5px;
    color: #333;
    font-size: 16px;
    padding-left: 25px;
    float: none;
    position: inherit;
    top: inherit;
    right: inherit;
}

#main .formBox td input[type="text"],
#main .formBox td input[type="tel"],
#main .formBox td input[type="email"] {
    padding: 5px;
    height: 30px;
    /*line-height: 30px;*/
    width: 510px;
    border-width: 0;
    border-top: 1px solid #cccccc;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    padding: 5px;
}

#main .formBox td textarea {
    padding: 5px;
    width: 510px;
    height: 100px;
    border-width: 0;
    border-top: 1px solid #cccccc;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    overflow: auto;
}

#main .formBox td select,
#main .formBox td input[type="date"],
#main .formBox td input#yourDate {
    width: 200px;
    font-size: 14px;
    padding: 2px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #CCC;
    box-sizing: border-box;
    margin-right: 10px;
    background: #fff;
}

#main .formBox td input[type="date"],
#main .formBox td input#yourDate {
    width: 360px;
}

#main .formBox td input[type="file"] {}

#main .formBox td input[type="checkbox"] {}

#main .formBox .submit {
    text-align: center;
}

#main .formBox .submit li {
    margin: 0 5px;
    display: inline;
}

#main .formBox .submit input {


    cursor: pointer;

    display: inline-block !important;
    font-size: 20px;
    background: #5daa11;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    padding: 8px 15px;
    border: 1px solid #cccccc;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #5daa11 inset, 0 4px 0 rgb(255 255 255 / 30%) inset;
    text-decoration: none !important;
    color: #fff !important;
}

#main .formBox .submit input:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

#main .formBox .submit input[type="button"] {
    margin-right: 10px;
}

#main .formBox td input.wpcf7c-conf,
#main .formBox td select.wpcf7c-conf,
#main .formBox td textarea.wpcf7c-conf {
    border: none !important;
    background: #efefef !important;
}

#main .formBox td select.wpcf7c-conf {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: .01px;
    text-overflow: "";
}

#main .formBox td select.wpcf7c-conf::-ms-expand {
    display: none;
}

#main .formBox td input.wpcf7c-conf:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #efefef inset !important;
}

#main .formBox td span.wpcf7-list-item {
    display: block;
    margin: 0 0 5px 0;
}

/*--メインカラム--*/

#contents {
    margin: 30px auto 0;
}

#contents section {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

/*--ブログ形式ページ--*/
#main .taxonomyList {
    position: relative;
    margin: 0 0 10px 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#main .taxonomyList h4 {
    width: 150px;
    padding: 0;
    margin-bottom: 5px;
}

#main .taxonomyList h4:before,
#main .taxonomyList h4:after {
    content: none;
}

#main .taxonomyList ul {
    width: 100%;
    margin: 0;
}

#blog #main .taxList {
    margin-bottom: 50px;
}

#main .taxList li,
#main .areaList li,
#main .colorList li {
    display: inline-block !important;
    padding: 0;
    background: none;
    margin: 0;
}

#main .taxList li:before,
#main .areaList li:before,
#main .colorList li:before,
#main .taxList li:after,
#main .areaList li:after,
#main .colorList li:after {
    content: none;
}

#main .cat a,
#main .taxList li a,
#main .areaList li a,
#main .colorList li a {
    display: inline-block !important;
    background: #5daa11;
    color: #fff !important;
    font-weight: bold;
    margin: 0 4px 4px 0;
    text-decoration: none;
    padding: 0 5px;
    position: inherit;
    font-size: 10px;
}

#main .cat a:last-of-type {
    margin-right: 0;
}

#works #main .taxList li a,
#works #main .cat a {
    background: #d00000;
    border: solid 1px #d00000;
}

#main .area a {
    background: #5daa11;
    border: solid 1px #5daa11;
}

#main .areaList li a {
    background-color: #e26a0f;
    border: solid 1px #e26a0f;
}

#main .cat.colorList a,
#main .colorList li a {
    background-color: #0d85cf;
    border: solid 1px #0d85cf;
}


#blog #main .taxList li .children li a {
    background: none;
    color: #333 !important;
    padding-left: 25px;
}

#blog #main .taxList li .children li a:before {
    font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-weight: 900;
    left: 10px;
    position: absolute;
    font-size: 16px;
    height: 16px;
    line-height: 1;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    color: #f60;
}

#blog #main .taxList li .children li a:hover {
    text-decoration: underline;
}

#works #main .taxList li.current-cat a {
    background-color: #FFF;
    color: #d00000 !important;
    border: solid 1px #d00000;
}

#main .areaList li.current-cat a {
    background-color: #FFF;
    color: #e26a0f !important;
    border: solid 1px #e26a0f;
}

#main .cat.colorList.current-cat a,
#main .colorList li.current-cat a {
    background-color: #FFF;
    color: #0d85cf !important;
    border: solid 1px #0d85cf;
}

#main .infoBox {
    padding: 8px 0;
    border-bottom: dotted 1px #513400;
    overflow: hidden;
    margin-bottom: 30px;
}

#main .infoBox .time {
    float: right;
    font-weight: bold;
}


#main .blogSingle img {
    max-width: 100%;
    height: auto;
}

/*--施工事例・お客様の声--*/

#main .cstColorphoto li {
    position: relative;
}

#main .cstColorphoto .medal {
    position: absolute;
    right: 0;
    top: 95px;
}

#main .cstColorphoto .medal {
    position: absolute;
    right: 0;
    top: 95px;
}

#main .picBox {
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
}

#main .picBox .photo {
    float: right;
    width: 686px;
    height: 456px;
    position: relative;
    overflow: hidden;
}

#main .picBox .btmPhoto {
    float: left;
    width: 360px;
    height: 240px;
    position: relative;
    overflow: hidden;
}

/*#main .picBox .photo a,
#main .picBox .btmPhoto a{
    position: relative;
    overflow: hidden;
}*/

/*#main .picBox .btmPhoto span.bImg{
    width: 287px;
    height: 207px;
    position: relative;
    overflow: hidden;
    display: block;
}*/

#main .picBox .photo img,
#main .picBox .btmPhoto 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;
}

/*#main .picBox .btmPhoto:before,
#main .picBox .btmPhoto:after {
    position: absolute;
    top: 100%;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 10;
     box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}
#main .picBox .btmPhoto:before {
    right: -50px;
    top: 284px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 32px solid transparent;
    border-left: 45px solid #d00000;
}
#main .picBox .btmPhoto:after {
    right: 15px;
    width: 75px;
    height: 74px;
    border: 24px solid transparent;
    border-bottom: 25px solid #d00000;
    border-radius: 0 0 0px 123px;
}*/

#main .picBox .arrowImg {
    margin: 10px 0 0;
    float: right;
}

#main .picBox02 {
    margin-top: 40px;
}

#main .picBox02 .photo {
    float: right;
    width: 686px;
    position: relative;
}

#main .picBox02 .btmPhoto {
    float: left;
    width: 287px;
    position: relative;
}

#main .picBox02 .arrowImg {
    margin: 15px 0 0 100px;
}

#main .picBox03 .btmPhoto {
    display: none;
}

#main .picBox03 {
    background: #efefef;
    padding: 15px;
}

#main .picBox03 .photo {
    margin: 0 auto;
    float: none;
}

#main .picBox span.after,
#main .picBox span.before {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #d00000;
    display: inline-block;
    z-index: 10;
    font-size: 15px;
    font-weight: bold;
    color: #FFF;
    border-radius: 4px;
    padding: 3px 10px 2px 10px;
}

#main .picBox span.after {
    background: #0d85cf;
}

#main .picBox span span {
    opacity: 0.5;
    margin-left: 5px;
}

#main .voiceSummary {
    position: relative;
    overflow: hidden;
    margin-bottom: 40px;
}

#main .voicephotList {
    float: left;
    width: 316px;
    margin-right: 30px;
}

#main .voicephotList li {
    background: none;
    padding: 0;
    position: relative;
    margin: 0 0 20px;
    border: #ccc solid 1px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 316px;
    height: 206px;
    overflow: hidden;
}

#main .voicephotList li:before,
#main .voicephotList li:after {
    content: none;
}

#main .voicephotList li 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;
}

#main .voicephotList li .imgLayer,
#main .voiceSummary .enqImg .imgLayer {
    position: absolute;
    bottom: 5px;
    right: 5px;
    transform: none;
    top: inherit;
    left: inherit;
    width: auto;
    height: auto;
}

#main .voiceSummary .enqImg .imgLayer {
    right: inherit;
}

#main .voiceSummary .enqImg {
    width: auto;
    height: 500px;
    text-align: center;
}

#main .voiceSummary .enqImg a>img {
    height: 100%;
    width: auto;
}

#main .voiceData {}

#main .voiceData table {
    margin-bottom: 30px;

}

/*------------- tmp -------------*/

#readmore {
    clear: both;
    padding-top: 50px;
    text-align: center;
}

#readmore a {
    font-size: 21px;
    font-weight: bold;
    border-radius: 4px;
    color: #FFFFFF;
    background: #002590;
    padding: 10px 10px 25px 10px;
    display: block;
    width: 400px;
    margin: 10px auto 0;
    box-shadow: 0 5px 0 0 rgba(0, 20, 142, 0.6);
    line-height: 1.2;
    position: relative;
}

#readmore a:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 10px;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: 0 0 0 -7px;
    border-top: solid 2px #FFF;
    border-right: solid 2px #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#readmore img {
    display: block;
    margin: 0 auto;
    width: auto !important;
    height: auto !important;
    border: none !important;
}

.wp-pagenavi {
    clear: both;
    text-align: center;
    padding-top: 35px;
    margin-bottom: 35px;
}

.wp-pagenavi span,
.wp-pagenavi a {
    background: #FFF;
    display: inline-block !important;
    border-radius: 3px;
    line-height: 1.2;
}

.wp-pagenavi a {
    background: #0d85cf;
    color: #fff !important;
    border: none !important;
}

/*投稿画像の回り込み処理*/

img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

img.alignright {
    padding: 0;
    margin: 0 0 2px 7px;
    display: inline;
}

img.alignleft {
    padding: 0;
    margin: 0 30px 10px 0;
    display: inline;
}

img.aligncenter {
    display: block;
    margin: 0 auto;
}

.alignright {
    float: right;
    margin-left: 10px;
    margin-bottom: 2px;
}

.alignleft {
    float: left;
    margin-right: 10px;
    margin-bottom: 2px;
}

img {
    border-style: none;
}

#main .nobr br {
    display: none;
}

#main p.wp-caption {
    font-size: 0.8em;
    line-height: 1.2em;
}

#main p.wp-caption img {
    margin-bottom: 5px;
}

#main p.wp-caption .caption-text {
    text-align: left;
}

/*pagenavi*/

#main .naviUl {
    margin: 0 0 20px !important;
    height: 34px;
    position: relative;
}

#main .pagenavi {
    padding: 20px 0 0 0 !important;
    margin: 0 auto !important;
    text-align: center;
    position: relative;
}

#main .pagenavi a {
    display: inline-block;
    border-radius: 5px;
    background: #0d85cf;
    /*border:solid 3px #338593;*/
    padding: 5px 5px;
    width: 130px;
    text-align: center;
    transition: 0.7s;
    font-size: 18px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .pagenavi a:link,
#main .pagenavi a:hover,
#main .pagenavi a:visited {
    color: #fff !important;
    text-decoration: none !important;
}

#main .pagenavi a:hover {
    opacity: 0.75;
    transition: 0.7s;
}

#main .pagenavi li {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    display: block;
    width: 140px;
}

#main .pagenavi li:before,
#main .pagenavi li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    left: inherit;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .pagenavi li:before {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
}

#main .pagenavi li:after {
    right: 26px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #0d85cf;
    border-right: 2px solid #0d85cf;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#main .pagenavi .prev {
    position: absolute;
    right: 0;
}

#main .pagenavi .prev a {
    padding: 5px 20px 5px 5px;
}

#main .pagenavi li.list {
    position: absolute !important;
    left: 50%;
    margin-left: -70px !important;
}

#main .pagenavi li.list:before,
#main .pagenavi li.list:after {
    content: none;
}

#main .pagenavi .next {
    position: absolute !important;
    left: 0;
}

#main .pagenavi li.next:before,
#main .pagenavi li.next:after {
    left: 20px;
    right: inherit;
}

#main .pagenavi li.next:after {
    left: 26px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

#main .pagenavi .next a {
    padding: 5px 5px 5px 20px;
}

/*-------------------#top-----------------*/

#top #mainv {
    position: relative;
    text-align: center;
    overflow: hidden;

    width: 100%;
    height: 750px;
    left: 0px;
    top: 0px;
    z-index: 999;
    opacity: 1;
}

#top #mainv .imgLayer {
    top: 150px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
}

#top #mainv .mainPic {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

#top #mainv .mainPicOver {
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(./img/common/bg_bdr.png) repeat;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
}

#top #mainv .mainBtnList {
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    z-index: 1000;
    width: 1100px;
    margin: auto;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;

}

#top #mainv .mainBtnList li {}

#main .attBox {
    border: solid 5px #d00000;
    padding: 10px !important;
    background: #FFF;
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

#main .attBox p {
    color: #d00000;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
}

#main .attBox ul li {
    margin-bottom: 20px;
}

#main .attBox ul li:last-child {
    margin-bottom: 0;
}

#main .attBox ul li a {
    color: #d00000;
    font-weight: bold;
}

#main .attBox img {
    float: right;
}

#main .showroomAtl {
    background: url(./img/common/bg_header.png) repeat-x center bottom;
    padding-top: 18px;
}

#main .showroomAtl h2 {
    font-size: 40px;
    padding: 20px 0 0 0;
    background: url(./img/common/bg_showroomAtl_hedding.png) no-repeat center center;
}

#main .showroomAtl h2 span.ribbonShk {
    font-size: 18px;
    background: #a2cf45;
    color: #fff;
    position: relative;
    display: block;
    width: 14em;
    margin: 5px auto 0;
    padding: 8px 0;
}

#main .showroomAtl h2 span.ribbonShk:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: 0;
    right: 0;
    border-top: 18px solid transparent;
    border-right: 18px solid #fff;
    border-left: 18px solid transparent;
    border-bottom: 18px solid transparent;
}

#main .showroomAtl h2 span.ribbonShk:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: 0;
    left: 0;
    border-top: 18px solid transparent;
    border-right: 18px solid transparent;
    border-left: 18px solid #fff;
    border-bottom: 18px solid transparent;
}

#main .showroomAtl ul.showroomTopUl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}

#main .showroomAtl ul.showroomTopUl li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 24%;
    width: calc(25% - 5px);
    padding: 10px;
    margin: 0;
    background: url(./img/common/bg01.png) repeat;
    border-radius: 10px;
    position: relative;
}

#main .showroomAtl ul.showroomTopUl li p,
#main .showroomAtl ul.showroomTopUl li dd {
    font-size: 12px;
    margin-bottom: 5px;
}

#main .showroomAtl ul.showroomTopUl li:before,
#main .showroomAtl ul.showroomTopUl li:after {
    content: none;
}

#main .showroomAtl ul.showroomTopUl li h3 {
    background: none;
    font-size: 14px;
    color: #555;
    border-top: none;
    width: auto;
    padding: 0;
    margin: 0 0 10px 0;

}

#main .showroomAtl ul.showroomTopUl li h3:before,
#main .showroomAtl ul.showroomTopUl li h3:after {
    content: none;
}

#main .showroomAtl ul.showroomTopUl span.shopNameS {
    background: url(./img/common/bg_nav.png);
    position: absolute;
    color: #fff;
    font-weight: bold;
    font-size: 25px;
    z-index: 3;
    padding: 5px;
    border-radius: 10px;
    top: 205px;
    right: 0px;
    left: 0px;
    margin: 0 30px;
    text-align: center;
}

#main .showroomAtl ul.showroomTopUl .showroomImgP {
    width: 100%;
    height: 220px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #d3d3d3;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .showroomAtl ul.showroomTopUl .showroomImgP img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#main .showroomAtl ul.showroomTopUl iframe {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 280px;
    margin-bottom: 5px;
}

#main .showroomAtl ul.showroomTopUl .tel span {
    font-size: 32px;
    padding: 0 0 0 30px;
    background-position: left 6px;
    font-weight: bold;
    background-size: 30px;
    letter-spacing: -0.02em;
}

#main .showroomAtl ul.showroomTopUl dl.shopOpenDl {
    border-top: dotted 1px #555;
    margin-bottom: 15px;
}

#main .showroomAtl ul.showroomTopUl dl.shopOpenDl dt {
    font-size: 12px;
    font-weight: bold;
    padding-top: 10px;
}

#main .showroomAtl ul.showroomTopUl dl.shopOpenDl dd {
    border-bottom: dotted 1px #555;
    padding-bottom: 10px;
}

#main .showroomAtl ul.showroomTopUl h4 {
    font-size: 12px;
    padding: 0;
    font-weight: bold;

    color: #555;
    background: none;
    margin: 0 0 5px 0 !important;
    padding: 0;
    font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}


#main .showroomAtl ul.showroomTopUl h4:before,
#main .showroomAtl ul.showroomTopUl h4:after {
    content: none;
}

#main .showroomAtl ul.showroomTopUl .btnC {
    margin-bottom: 5px;
}

#main .showroomAtl ul.showroomTopUl .btnC a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
}


#main .bnrSsec ul {
    padding: 0;
    margin: 0;
}

#main .bnrSsec li {
    float: left;
    padding: 0;
    margin: 0;
}

#top #main .tit_Wks {
    font-size: 42px;
    font-weight: bold;
    background: none;
    box-shadow: none;
    border: none;
    color: #333;
    line-height: 1.3;
    padding: 0px;
    margin: 20px auto 30px;
}


#main .bnrSsec li:first-child {
    margin-right: 20px;
}

#main .bnrSsec li:before,
#main .bnrSsec li:after {
    content: none;
}

#top #main iframe {
    box-sizing: border-box;
}

#top .mainCatch {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    border-bottom: #fff 1px solid;
}

#top .mainCatch h2 {
    color: #00569e;
    background: none;
    width: 1100px;
    font-size: 28px;
    box-shadow: none;
    padding: 0;
    line-height: 1.4;
    border: none;
    position: relative;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 22px;
}

#top .mainCatch h2 img {
    float: left;
    margin: -15px 2px 5px 0;
}

#top .mainCatch h2 span {
    font-size: 46px;
    display: block;
    color: #333;
}

#main .prsCnt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    position: relative;
    font-size: 49px;
    color: #999;
    width: 1000px;
    margin: 0 auto;
}

#main .prsCnt .squareB {
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 200px;
    background: #21a937;
    box-shadow: 0 0 0 1px #fff inset;
    border: 5px solid #21a937;
    color: #fff;
    font-size: 30px;
    flex-shrink: 0;
    text-align: center;
    line-height: 1.3;
    padding: 30px 0;
}

#main .prsCnt .resultB {
    width: 270px;
    color: #333;
    font-size: 18px;
    flex-shrink: 0;
}

#main .prsCnt .resultB img {
    display: block;
    width: 100%;
    height: auto;
}

#main h2.topH+.inner {
    padding-top: 0;
}

#top #main .checkS {
    background: #f1ebe2;
}

#top #main .worriesS {
    background:
        url(./img/common/checkbox_bg.png) center center,
        url(./img/common/pack_bg.jpg) no-repeat bottom center / 100% auto;
    margin-bottom: 1px;
}

#top #main .worriesS .inner {
    padding: 50px 0 70px;
}




#top #main .tmp {
    position: relative;
    background: #f2eee7;
    margin-bottom: 1px;
}

#top #main .tmp .inner {
    padding: 50px 0;
    overflow: visible;
}

#top #main .tmp .inner .newsBox h3 {
    background: #e26a0f;
    color: #fff;
    font-size: 20px;
    padding: 8px 15px;
    margin: 0;
    border: none;
}

#main .newsBox {
    z-index: 2;
    width: 670px;
    position: relative;
    float: left;
}

#main .newsBox .ttl {
    font-size: 12px !important;
    padding: 0 !important;
    position: relative !important;
    margin: 0 0 5px !important;
    font-weight: normal !important;
    color: #fff;
}

#main .newsBox .btn {
    text-align: right;
}

#main .newsBox .btn a {
    font-size: 14px !important;
}

#main .newsBox .inBox {
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: #f0f0f0 solid 20px;
    padding: 20px;
    position: relative;
    margin-bottom: 10px;
    overflow: hidden;
}

#main .newsBox .newsList {
    margin-bottom: 0;
}

#main .newsBox .inBox li {
    width: 183px;
    margin: 0 20px 20px 0;
    float: left;
    background: none;
    padding: 0 !important;
}

#main .newsBox .inBox li:nth-child(3n) {
    margin-right: 0;
}

#main .newsBox .inBox li:first-of-type {}

#main .newsBox .inBox li:last-of-type {}

#main .newsBox .inBox li:before,
#main .newsBox .inBox li:after {
    content: none;
}

#main .newsBox .inBox li a {
    color: #333;
    text-decoration: none !important;
    display: block;
    position: relative;
    overflow: hidden;
}

#main .newsBox .inBox li h5 {
    background: none !important;
    color: #d00000 !important;
    font-size: 12px !important;
    padding: 0 !important;
    margin: 0 0 3px 0 !important;
    text-align: left;
    overflow: hidden;
    border: none;

    max-height: 3em;
    display: block;
}

#main .newsBox .inBox li h5:after {
    content: none;
}

#main .newsBox .inBox p {
    font-size: 12px !important;
    margin-bottom: 0 !important;
}

#main .newsBox .inBox p {
    font-size: 12px !important;
    margin-bottom: 0 !important;
}

#main .newsBox .inBox p span.time {}

#main .newsBox .inBox p.time {
    font-size: 11px !important;
}

#main .newsBox .inBox .contTxt {

    overflow: hidden;
    white-space: nowrap !important;
    text-overflow: ellipsis;
}

#main .newsBox .inBox p strong {
    color: #d00000;
}

#main .newsBox .inBox .cat {
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    line-height: 1;
}

#main .newsBox .inBox li .cat a {
    background: #673a1c;
    color: #fff;
    position: relative !important;
    overflow: visible;
    line-height: 1.5;
}


#main .newsBox .inBox li .newsTumb {
    width: 100%;
    height: 120px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ccc;
}

#main .newsBox .inBox li 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;
}


#main .newsBox .inBox li .overflowH {}


#main .flyerBox {
    width: 480px;
    position: relative;
    z-index: 2;
}

#main .flyerBox .inBox {
    padding: 10px 25px;
    overflow: hidden;

}

#main .flyerBox .inBox ul {

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
}

#main .flyerBox .inBox ul:last-of-type {
    margin-bottom: 0;
}

#main .flyerBox .inBox li {
    padding: 0;
    margin: 0;
}

#main .flyerBox .inBox li:before,
#main .flyerBox .inBox li:after {
    content: none;
}

#main .flyerBox .inBox li a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #cccccc;
    width: 205px;
    height: 132px;
    position: relative;
    overflow: hidden;
    display: block;
    float: left;
    margin-right: 20px;
}

#main .flyerBox .inBox li a 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;
}


#main .worksBox {
    background-image:
        url(./img/common/bg_servicecontents.png),
        url(./img/common/bg_servicecontents_over.jpg);

    background-repeat:
        repeat,
        no-repeat;

    background-position:
        center,
        bottom;



    padding: 20px 0;
}


#main .worksBox .inner {
    padding: 0 0 30px 0;
}

#main .worksBox h2,
#main .voiceBox h2,
#main .profileBox h2,
#main .reasonBox h2 {
    /*    position: relative;
    z-index: 10;
    padding: 35px 0 0;
    width: 1100px;
    margin: 0 auto;
    color: #333;
    font-size: 35px;
    background: none;
    box-shadow: none;
    line-height: 1.2;
    position: relative;
    overflow: hidden;*/
}

#main .worksBox h2 {
    background: none;
    color: #333;
    font-size: 30px;
    text-align: center;


    padding: 5px 10px;
    margin: 0 auto 30px;

    text-shadow:
        0 0 25px #fff,
        0 0 20px #fff,
        0 0 0.40px #fff;

}

#main .reasonBox h2 {}


#main .worksBox h2:after,
#main .voiceBox h2:after,
#main .profileBox h2:after,
#main .reasonBox h2:after {
    display: none;
}

#main .worksBox h2 span,
#main .voiceBox h2 span,
#main .profileBox h2 span,
#main .reasonBox h2 span {}

#main .worksBox h2 span.txtL,
#main .voiceBox h2 span.txtL,
#main .profileBox h2 span.txtL,
#main .reasonBox h2 span.txtL {
    font-size: 48px;
    display: block;
    margin: 0 auto;
}

#main .worksBox h2 span.txtEn,
#main .voiceBox h2 span.txtEn,
#main .profileBox h2 span.txtEn,
#main .reasonBox h2 span.txtEn {
    color: #0eaa8e;
    font-size: 20px;
    display: block;
}

/*#main .worksBox h2 span.attentionTxt,
#main .voiceBox h2 span.attentionTxt {
    background: #f8771a;
    color: #fff;
    border-radius: 50%;
    width: 155px;
    height: 155px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    text-align: center;
    float: left;
}*/

#main .worksBox h2 img,
#main .voiceBox h2 img {
    float: left;
    margin: -20px 20px 0 0;
}

#main .reasonBox h2 img {
    float: left;
    margin: -15px 10px 0 0;
}


#main .voiceList {
    overflow: hidden;
    padding-bottom: 20px;
    clear: both;
}

#main .voiceList article {
    position: relative;
    padding: 0;
    border-bottom: #333333 dotted 1px;
}

#main .voiceList a {
    display: block;
    text-decoration: none !important;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    padding: 30px 10px;
}

#main .voiceList a:hover {
    background: rgba(255, 234, 0, 0.2);
}

#main .voiceList .contTxt {
    color: #333;
}

#main .voiceList .worksExp {
    width: 100%;
    position: relative;
}

#main .voiceList .mainThumb {
    width: 300px;
    height: 200px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: 0 20px 0 0;
}

#main .voiceList .more {
    font-size: 12px;
    font-weight: bold;
    text-align: right;
    border: solid 1px #cccccc;
    position: absolute;
    bottom: 10px;
    right: 10px;
    color: #333;
    margin-bottom: 0;
    background: #fff;
    padding: 0 25px 0 15px;
    border-radius: 5px;
}

#main .voiceList .time {
    line-height: 1.4;
    font-size: 12px;
    display: block;
    font-weight: bold;
    background: url(./img/common/ico_date.png) no-repeat left center;
    padding-left: 12px;
    color: #333;
    margin-bottom: 5px;
}

#main .voiceList h3 {
    font-size: 16px;
    border: none;
    padding: 0;
    width: 750px;
    color: #0d85cf;
    background: none;
    margin: 0 0 10px 0;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#main .worksList {
    overflow: hidden;
    padding-bottom: 20px;
    clear: both;
}

#main .worksList article {
    width: 260px;
    float: left;
    margin: 0 20px 20px 0;
    position: relative;
    padding: 0;
}

#main .worksList article:nth-child(4n) {
    margin-right: 0;
}

#main .worksList a {
    display: block;
    text-decoration: none !important;
}

#main .worksList a {}

#main .worksList a:hover,
#main .voiceList a:hover {
    opacity: 0.7;
    transition: 0.7s;
}

#main .worksList h3,
#main .worksList .contTxt,
#main .worksList .price {
    display: block;
    border: none;
    background: none;
    line-height: 1.4;
    font-size: 14px;
    font-weight: bold;
    padding: 0;
    margin: 0;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


#main .worksList .ttl {
    display: block;
    border: none;
    background: none;
    line-height: 1.4;
    font-size: 14px;
    font-weight: bold;
    padding: 0;
    margin: 0;
    overflow: hidden;
    height: 2.8em;
    color: #fff;
}

#main .mainThumb {
    width: 260px;
    height: 200px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .mainThumb 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;
}

#main .worksList h3 {
    margin: 0;
    margin-bottom: 3px;
    border: none;
    box-shadow: none;
}

#main .worksList .ttl {
    margin: 0;
    border: none;
    box-shadow: none;
}

#main .worksList .ttl {
    margin-bottom: 5px;
}


#main .worksList .worksExp,
#main #archiveList .overflowH {
    background: rgba(0, 0, 0, 0.4);
    padding: 10px;
    position: absolute;
    top: 0;
    z-index: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}

#main .worksList .worksExp .price,
#main #archiveList .overflowH .price {
    display: table-cell;
    border-radius: 3px;
    padding: 1px 0 0;
}

#main .worksList .time {
    line-height: 1.4;
    font-size: 12px;
    display: block;
    font-weight: bold;
    background: url(./img/common/ico_date_w.png) no-repeat left center;
    color: #fff;
    padding-left: 12px;
}

#main .worksList .more {
    font-size: 12px;
    font-weight: bold;
    text-align: right;
    border: solid 1px #cccccc;
    position: absolute;
    bottom: 10px;
    right: 10px;
    color: #333;
    margin-bottom: 0;
    background: #fff;
    padding: 0 25px 0 15px;
    border-radius: 5px;
}

#main .worksList .more:before,
#main .worksList .more:after,
#main .voiceList .more:before,
#main .voiceList .more:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .worksList .more:before,
#main .voiceList .more:before {
    right: 10px;
    width: 10px;
    height: 10px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #e26a0f;
}

#main .worksList .more:after,
#main .voiceList .more:after {
    right: 13px;
    width: 3px;
    height: 3px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}




#main .worksListLtl {
    overflow: hidden;
    padding-bottom: 20px;
}

#main .worksListLtl article {
    width: 236px;
    float: left;
    margin: 10px 18px 0 0;
    position: relative;
}

#main .worksListLtl article:nth-child(-n+4) {
    margin-top: 0;
}

#main .worksListLtl article:nth-child(4n) {
    margin-right: 0;
}

#main .worksListLtl a {
    display: block;
    text-decoration: none !important;
}

#main .worksListLtl h3,
#main .worksListLtl .contTxt,
#main .worksListLtl .price {
    display: block;
    border: none;
    background: none;
    line-height: 1.4;
    font-size: 12px;
    padding: 0;
    margin: 0;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#main .worksListLtl h3 {
    margin: 10px 0 0 0;
    color: #fe9814;
}

#main .worksListLtl .trim {
    width: 236px;
    height: 166px;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
}

#main .worksListLtl .trim 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;
}

#main .worksListLtl .price {
    color: #d00000;
}

#main .worksListLtl .price span {
    display: inline-block;
    background: #e8340c;
    color: #FFF;
    border-radius: 3px;
    padding: 1px 5px 0 5px;
    margin-right: 8px;
}


#main .worksList .cat {
    position: absolute;
    top: 50px;
    left: 10px;
    font-size: 13px;
    line-height: 1.4;
    height: 20px;
    overflow: hidden;
}

#main .worksList .area {
    position: absolute;
    top: 70px;
    left: 10px;
    font-size: 13px;
    line-height: 1.4;
    height: 20px;
    overflow: hidden;
}


#main .worksList .cat a {
    position: relative;
    border: none;
    background: #d00000;
}

#main .worksList .area a {
    background: #ff8800 !important;
}


#main .resonList {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

#main .resonList li {
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    float: left;
    margin: 0 11px 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: none;
    padding: 0;
}

#main .resonList li:last-child {
    margin-right: 0;
}

#main .resonList li a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 15px 5px 5px;
    border-radius: 5px;
    background: #e8340c;
    width: 181px;
}

#main .resonList li:before,
#main .resonList li:after {
    content: none;
}

#main .resonList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .resonList li h4 {
    background: none !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1.2;
    margin: 10px 0 0 !important;
    color: #fff;
}

#main .resonList li h4:before,
#main .resonList li h4:after {
    display: none;
}

#main .resonList li h4 {}

#main .resonList li h4 strong.transF {
    transform: scale(0.65, 1);
    transform-origin: top left;
    width: 153%;
}

#main .resonList li h4 small {
    font-size: 18px !important;
    display: block;
}

#main .resonList li p {
    border-radius: 5px;
    background: #d00000;
    display: block;
    margin: 10px 0 0;
    font-size: 15px;
    text-align: left;
    padding: 5px;
    color: #fff;
}

#main .contentBnrList {
    position: relative;
    overflow: hidden;
}

#main .contentBnrList li {
    float: left;
    margin: 40px 40px 0 0;
    background: none;
    padding: 0;
}

#main .contentBnrList li:nth-child(-n + 2) {
    margin-top: 0;
}

#main .contentBnrList li:nth-child(2n) {
    float: right;
    margin-right: 0;
}

#main .contentBnrList li:before,
#main .contentBnrList li:after {
    display: none;
}

#main .basicKnow {
    margin-top: 30px;
}

#main .basicKnow h2 {
    color: #fff;
    font-size: 52px !important;
    float: left;
    margin-right: 15px;
    width: 239px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    background: none;
    padding: 0;
    box-shadow: none;
    margin: 0 15px 30px 0;
    border: none;
}

#main .basicKnow h2:after {
    display: none;
}

#main .basicKnow h2 span {
    font-size: 52px !important;
    background: #d00000;
    display: inline-block;
    border-radius: 5px;
    line-height: 1;
    padding: 5px 3px 0;
    margin-top: 5px;
}

#main .basicKnow h2 span:nth-child(-n + 4) {
    margin-top: 0;
}

#main .basicKnow h2 span img {
    vertical-align: top;
    border-image: none;
}


#main .basicKnow h3 {
    background: #00569e;
    border: none;
    color: #fff;
    font-size: 20px;
    margin-top: 20px;
}

#main .basicKnow .catchTtl {
    font-size: 40px;
    line-height: 1.2;
    font-weight: bold;
    letter-spacing: -0.02em;
    margin-top: 0;
}

#main .basicKnow .catchTtl strong {
    background: none;
    color: #d00000;
}

#main .basicKnow .catchTtl strong.txtL {
    font-size: 70px;
}

#main .basicKnow .catchTtl span {
    color: #5daa11;
}




#main .basicKnow .pointList {
    /*
    padding-bottom: 25px;
    border-bottom: #333 dotted 1px;*/
    counter-reset: point;
}

#main .basicKnow .pointList li {
    position: relative;
    overflow: hidden;
    counter-increment: point;
}

#main .basicKnow .pointList li h4 {
    font-size: 18px !important;
    font-weight: bold;
    padding: 0;
    margin: 0 0 5px 0;
}

#main .basicKnow .pointList li .ttl {
    font-size: 18px !important;
    font-weight: bold;
    padding: 0;
    margin: 0 0 5px 0;
}

#main .basicKnow .pointList li h4:before,
#main .basicKnow .pointList li h4:after {
    content: none;
}

#main .basicKnow .pointList li p {
    font-size: 15px !important;
}

/*#main .basicKnow .pointList li:before {
    content: "POINT "counter(point, decimal-leading-zero) !important;
    width: auto;
    height: auto;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    transform: rotate(-45deg);
    z-index: 10;
    background: #f8b500;
    top: 20px;
    left: -50px;
    padding: 4px 50px;
}*/
#main .basicKnow .pointList li:before,
#main .basicKnow .pointList li:after {
    content: none;
}

#main .basicKnow .pointList li .pointImg {
    position: relative;
}

#main .basicKnow .pointList li img {
    display: block;
}

#main .basicKnow .pointList li .imgLayer {
    left: 0;
    bottom: 0;
}

#main .basicKnow .pointList li h6 {
    background: none;
    font-size: 18px;
    padding: 0;
    margin-top: 10px;
}

#main .basicKnow .pointList li h6 strong {
    color: #d73d33;
    display: block;
}

#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;
}

#main .profileBox h2 {
    padding: 20px 0 0;
}

#main .profileBox .groupPhoto {
    background: url(./img/common/group_photo01.png) no-repeat center bottom;
    width: 550px;
    float: left;
    margin-right: 10px;
    text-align: center;
}

#main .profileBox .groupPhoto p {
    font-size: 35px;
    color: #ff7a22;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 65px;
}

#main .profileBox .overflowH p {
    font-size: 15px;
}

#main .profileBox ul {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}

#main .profileBox ul li {
    display: inline-block;
    border-radius: 3px;
    background: #0eaa8e;
    position: relative;
    width: 48%;
    width: calc(50% - 5px);
    padding: 0;
    margin: 10px 0 0 0;
}

#main .profileBox ul li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .profileBox ul li a {
    display: block;
    color: #fff !important;
    font-size: 17px;
    font-weight: bold;
    position: relative;
    padding: 20px 40px 20px 50px;
    text-decoration: none !important;
}

#main .profileBox ul li:before,
#main .profileBox ul li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .profileBox ul li:before {
    width: 18px;
    height: 18px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}

#main .profileBox ul li:after {
    left: 35px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #0eaa8e;
    border-right: 2px solid #0eaa8e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*-------------------#first-----------------*/

#main .firstCtc p {
    font-size: 18px;
}

#main .firstPoint h3 {
    padding: 0 7px;
    margin: 0 0 20px;
}

#main .firstPoint h3 span {
    background: #e12519;
    color: #fff;
    display: inline-block;
    font-size: 20px;
    padding: 3px 10px;
    margin: 8px 10px 10px 0;
    line-height: 1.3;
}

#main .firstPoint h3 strong {
    color: #d00000;
}

#main .firstPoint table {
    width: 100%;
    height: auto;
}

#main .firstPoint table th,
#main .firstPoint table td {
    padding: 10px 10px;
    background: #eeeeee;
    position: relative;
    text-align: center;
}

#main .firstPoint table thead th:first-of-type {
    width: 20%;
}

#main .firstPoint table th {
    width: auto;
    background-color: #00569e;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}

#main .firstPoint p {
    font-size: 16px;
}

#main .firstPoint p.pointCom {
    border-top: dotted 1px #333;
    margin-top: 30px;
    padding-top: 30px;
}





#main .firstPoint h5 {
    font-size: 36px;
    background: none;
    padding: 0;
    color: #333;
    margin-top: 0;
}



#main .firstPoint table th {
    width: auto;
}

#main .firstPoint table strong {
    font-weight: bold;
    color: #d00000;
}

#main .firstPoint table caption {
    caption-side: bottom;
    text-align: right;
}

#main .firstPoint .btn {
    margin-bottom: 40px;
}


#first #main table strong {
    color: #d00000;
}

#first #main .catchTtl {
    font-size: 50px;
    line-height: 1.3;
}

#main .firstAnswer {
    margin: 30px 0 0;
}

#main .firstAnswer li {
    position: relative;
    overflow: hidden;
    padding: 0 0 30px;
    margin-bottom: 30px;
    border-bottom: #333 dotted 1px;
    background: none;
}

#main .firstAnswer li:last-child {
    border-bottom: none;
}

#main .firstAnswer li:before,
#main .firstAnswer li:after {
    content: none;
}

/*-------------------#first-----------------*/
#main .firstAtcl {
    overflow: hidden;
    margin-bottom: 30px;
}

#main .menuImg {
    width: 480px;
    height: 320px;
    float: left;
    margin-right: 20px;
    overflow: hidden;
    position: relative;
    margin-right: 30px;
}

#main .menuImg img {
    width: 480px;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    float: none;
}

/*-------------------#corporate-----------------*/


#corporate #main table iframe {
    border: #ccc solid 1px;
}

#corporate #main table.historyT th {
    width: 26%;
}

/*-------------------#showroom-----------------*/

/*#main h1.showroomTtl {
    background: #fe9814;
    color: #FFF;
    border-bottom: rgba(255, 255, 255, 0.5) solid 5px;
    font-size: 30px;
    padding: 5px 10px 5px 20px;
    margin: 30px auto 0;
    position: relative;
    width: 1100px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}*/
#showroom #main iframe {
    margin-bottom: 20px;
}

#showroom #main .mainPhoto li {
    margin-bottom: 5px;
}

#showroom #main h2.photoBt {
    background: #ff6600;
    text-align: center;
    margin-top: 0 !important;
}

#showroom #main ul.photoUL p {
    font-size: 18px;
    font-weight: bold;
}

#showroom #main h2.point3 {
    background: #ff6600;
    text-align: center;
    margin-top: 30px;
}

#main ul.showroomMenu {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    width: 473px;
    padding: 0 263px;
    position: relative;
}

#main ul.showroomMenu:before,
#main ul.showroomMenu:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    width: 106px;
    height: 26px;
    background: url(./img/common/bg_showroommenu.png) no-repeat center top;
}

#main ul.showroomMenu:before {
    left: 70px;
}

#main ul.showroomMenu:after {
    right: 70px;
}



#main ul.showroomMenu li {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

#main ul.showroomMenu li a {
    color: #333;
    text-decoration: none;
}

#main ul.showroomMenu li img {
    display: block;
    margin-bottom: 5px;
}

#main ul.showroomMenu li:before,
#main ul.showroomMenu li:after {
    display: none;
}


#main #form .showroomMerit h3 {
    background: #5daa11;
    font-size: 18px;
    color: #fff;
    font-weight: bold;

    border: none;
    border-radius: 3px;

    display: inline-block;

    padding: 5px 10px;
    margin: 0 0 20px 0;
}

#main #form .showroomMerit ul li {
    width: 310px;
    float: left;
    margin-right: 35px;
    margin-bottom: 30px;
    font-size: 18px;
}

#main #form .showroomMerit ul li:last-child {
    float: right;
    margin-right: 0;
}

#main #form .showroomMerit ul li img {
    float: right;
    margin-left: 5px;
}

#main #form .showroomMerit ul li h4 {
    color: #d00000;
    font-size: 18px;
    font-family: "Impact", Gadget, 'Anton', sans-serif;

    padding: 0 0 0 0;
    margin: 0 0 0 0;
    clear: none;
    font-weight: normal;
}

#main #form .showroomMerit ul li:before,
#main #form .showroomMerit ul li:after,
#main #form .showroomMerit ul li h4:before,
#main #form .showroomMerit ul li h4:after {
    content: none;
}

#main .mainPhoto,
#main .mainPhoto li {
    margin: 0;
    padding: 0;
}

#main .mainPhoto {
    margin: 0;
}

#main .mainPhoto li {
    width: 707px;
    height: 564px;
    overflow: hidden;
    float: left;
    margin-bottom: 30px;
}

#main .mainPhoto li.item2,
#main .mainPhoto li.item3 {
    display: none;
}

#main .mainPhoto li:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

#main .thumb {
    margin: 0;
    width: 278px;
    float: right;

}

#main .thumb li {
    display: inline-block;
    width: 278px;
    height: 178px;
    overflow: hidden;
    cursor: pointer;
    vertical-align: top;
    padding: 0;
    margin: 0 0 15px 0;
}

#main .thumb li:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

#main .mainPhoto li:before,
#main .mainPhoto li:after,
#main .thumb li:before,
#main .thumb li:after {
    content: none;
}

#main .photoShowroom {
    margin: 0 0 0 0;
    padding: 0;
    overflow: hidden;
}

#main .photoShowroom li {
    margin-bottom: 15px;
}

#main .photoShowroom li:first-child {
    float: left;
    margin-left: 15px;
}

#main table.accessT {
    padding-top: 15px;
}

#main table.accessT th,
#main table.accessT td {
    background: #eeeeee;
}

#main table.accessT th {
    width: 20%;
    background-color: #0eaa8e;
    font-weight: normal;
}

#main .showroomPict {
    position: relative;
    overflow: hidden;
}

#main .showroomPict .mainimglist {
    width: 750px;
    height: 480px;
    position: relative;
    overflow: hidden;
    float: left;
}

#main .showroomPict .mainimglist img {
    width: 750px;
    height: auto;
}

#main .showroomPict .thumbnaillist {
    width: 230px;
    float: right;
    margin-top: 0;
}

#main .showroomPict .thumbnaillist li {
    background: none;
    padding: 0;
    margin: 0 0 15px;
}

#main .showroomPict .thumbnaillist li:last-child {
    margin-bottom: 0;
}

#main .showroomPict .thumbnaillist li a {
    width: 230px;
    height: 150px;
    overflow: hidden;
    display: block;
}

#main .showroomDetail {
    padding-top: 0;
}

#main ul.showroomDetail {
    position: relative;
    overflow: hidden;
}

#main ul.showroomDetail li {
    width: 480px;
    float: left;
    padding: 0;
    margin: 0;
    font-size: 15px;
}

#main ul.showroomDetail li:last-child {
    float: right;
    margin-right: 0;
}

#main ul.showroomDetail li:before,
#main ul.showroomDetail li:after {
    content: none;
}

#main ul.showroomDetail li img {
    margin-bottom: 10px;
    border-radius: 15px;
}

#main .showroomDetail p {
    font-size: 18px;
    font-weight: bold;
}

#main .showroomDetail table {
    margin-bottom: 30px;
}

#main .showroomDetail .tel {
    margin-top: 0;
}

#main .showroomDetail .tel span {
    background: url(./img/common/ico_freedial.png) no-repeat left center;
    font-family: "Arial Black", Gadget, sans-serif;
    color: #d00000;
    font-size: 35px;
    font-weight: bold;
    line-height: 1;
    padding-left: 40px;
    display: block;
}

/*
#main .showroomBtn{
    position: relative;
    overflow: hidden;
    text-align: center;
}
#main .showroomBtn li {
    display: inline-block;
    width: 280px;
    border-radius: 4px;
background: -webkit-linear-gradient(90deg, #4fa800 0%, #4fa800 48%, #62d100 50%, #4fa800 100%);
background: -moz-linear-gradient(90deg, #4fa800 0%, #4fa800 48%, #62d100 50%, #4fa800 100%);
background: -o-linear-gradient(90deg, #4fa800 0%, #4fa800 48%, #62d100 50%, #4fa800 100%);
background: -ms-linear-gradient(90deg, #4fa800 0%, #4fa800 48%, #62d100 50%, #4fa800 100%);
background: linear-gradient(0deg, #4fa800 0%, #4fa800 48%, #62d100 50%, #4fa800 100%);
    font-size: 28px;
    font-weight: bold;
    padding: 0;
    margin: 0 10px;
}
#main .showroomBtn li.btn-r{
background: -webkit-linear-gradient(90deg, #d00000 0%, #d00000 48%, #fd2571 50%, #d00000 100%);
background: -moz-linear-gradient(90deg, #d00000 0%, #d00000 48%, #fd2571 50%, #d00000 100%);
background: -o-linear-gradient(90deg, #d00000 0%, #d00000 48%, #fd2571 50%, #d00000 100%);
background: -ms-linear-gradient(90deg, #d00000 0%, #d00000 48%, #fd2571 50%, #d00000 100%);
background: linear-gradient(0deg, #d00000 0%, #d00000 48%, #fd2571 50%, #d00000 100%);
}
#main .showroomBtn li a {
    color: #fff;
    text-decoration: none;
    position: relative;
    display: block;
    padding: 15px;
}
#main .showroomBtn li a:before,
#main .showroomBtn li a:after{
position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#main .showroomBtn li a:before{
    width: 18px;
    height: 18px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
#main .showroomBtn li a:after {
    left: 34px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #12a73b;
    border-right: 2px solid #12a73b;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#main .showroomBtn li.btn-r a:after{
    border-top: 2px solid #d00000;
    border-right: 2px solid #d00000;
}
*/

#main .showroomMerit h3 {
    background: #5daa11;
    font-size: 18px;
    color: #fff;
    font-weight: bold;

    border: none;
    border-radius: 3px;

    display: inline-block;

    padding: 5px 10px;
    margin: 0 0 20px 0;
}

#main .showroomMerit h3::after {
    content: none;
}

#main .showroomMerit ul li {
    width: 310px;
    float: left;
    margin-right: 35px;
    margin-bottom: 30px;
    font-size: 18px;
    padding: 0;
}

#main .showroomMerit ul li:last-child {
    float: right;
    margin-right: 0;
}

#main .showroomMerit ul li img {
    float: right;
    margin-left: 5px;
}

#main .showroomMerit ul li p {
    margin-bottom: 0;
}

#main .showroomMerit ul li h4 {
    color: #513400;
    font-size: 18px;
    font-weight: bold;

    padding: 0 0 0 0;
    margin: 0 0 0 0;
    clear: none;
    background: none;
}

#main .showroomMerit ul li:before,
#main .showroomMerit ul li:after,
#main .showroomMerit ul li h4:before,
#main .showroomMerit ul li h4:after {
    content: none;
}

#main ol.showroomStep {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0 0 30px;
}

#main ol.showroomStep li {
    list-style-type: none;
    float: left;
    width: 250px;
    margin: 15px 0 0 -50px;
    font-weight: bold;
}

#main ol.showroomStep li span {
    background: #0b3e9b;
    border-radius: 50%;
    width: 67px;
    height: 67px;
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
    -webkit-box-pack: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;
    /*--- IE10 ---*/
    -webkit-justify-content: center;
    /*--- safari（PC）用 ---*/
    justify-content: center;
    margin-right: 10px;
}

#main ol.showroomStep li:first-child {
    width: 200px;
    margin-left: 0;
}

#main ol.showroomStep li h4 {
    background: -webkit-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -moz-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -o-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -ms-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: linear-gradient(90deg, #12a73b 0%, #ffcc00 100%);
    margin: 0 50px 10px 0 !important;
    color: #fff !important;
    padding: 0 10px 0 50px;
}

#main ol.showroomStep li:first-child h4 {
    padding-left: 10px;
}

#main ol.showroomStep li:last-child h4 {
    background: #d00000;
}

#main ol.showroomStep li h4:before {
    display: none;
}

#main ol.showroomStep li h4:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 0 0 40px;
    border-color: transparent transparent transparent #ffcc00;
    content: '';
    z-index: 10;
    position: absolute;
    left: 100%;
    bottom: 0;
    top: inherit;
    border-radius: 0;
    background: none;
}

#main ol.showroomStep li:last-child h4:after {
    border-color: transparent transparent transparent #d00000;
}

#main ol.showroomStep li p {
    padding-left: 40px;
    height: 68px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
}

#main ol.showroomStep li:first-child p {
    padding-left: 0;
}


/*-------------------#reason-----------------*/


#main .reasonList h2 {
    width: auto;
    margin: 0 -20px 50px !important;
    font-size: 29px;
    line-height: 1.2;
    position: relative;
    border-bottom: #f29700 solid 12px;
    background: none;
    padding: 10px 0 30px;
    text-align: center;
    border-top: none;
    box-shadow: none;
}

#main .reasonList h2 img {
    width: 215px;
    height: auto;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
}

#main .reasonList h2:after {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: 240px solid transparent;
    border-top: 45px solid #f29700;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
}

#main .reasonList h2 strong {
    color: #248784;
    font-weight: normal;
}

#main .reasonList {
    position: relative;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    align-items: stretch;
    text-align: center;
}

#main .reasonList li {
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: none;
    padding: 0;
    /*background-color: #FF7E00;*/
    border-radius: 10px;
    width: 17%;
    width: calc(20% - 10px);
    display: flex;
    margin: 0 20px 0 0;
    position: relative;
}

#main .reasonList li:last-child {
    margin-right: 0;
}

#main .reasonList li a {
    text-decoration: none;
    display: block;
    padding: 15px 5px;
    border-radius: 5px;
    overflow: hidden;
    background: #0d85cf;
    box-shadow: 0 0 0 1px #fff inset;
    border: 5px solid #0d85cf;
}

#main .reasonList li a:hover {
    opacity: 0.8;
}

#main .reasonList li:before,
#main .reasonList li:after {
    content: none;
}

#main .reasonList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .reasonList li h4 {
    padding: 0 0 20px 0 !important;
    font-size: 26px !important;
    line-height: 1.2;
    margin: 0 0 5px !important;
    color: #fff;
    display: block;

}

#main .reasonList li h4:before,
#main .reasonList li h4:after {
    display: none;
}

#main .reasonList li .reasonIco {
    display: block;
    background: #fff;
    border-radius: 50%;
    height: 80px;
    width: 80px;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
}

#main .reasonList li p {
    border-radius: 5px;
    background: #fff;
    display: block;
    margin: 10px 5px 5px;
    font-size: 12px;
    text-align: left;
    padding: 5px;
    color: #333;
}

#main .reasonList li p strong {
    color: #d00;
    font-weight: normal;
}


#reason #main .msgTxtOvr h3 {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    color: #5daa11;
    font-size: 24px;
    text-align: center;
}

#reason #main .msgTxtOvr h3 strong {
    font-size: 40px;
}

#reason #main .balloonBox {
    margin: 30px auto;
}

#reason #main .balloonBox p {
    font-size: 30px;
}


#reason .catchTtl,
#reason .catchTtls {
    font-size: 60px;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 20px;
    color: #513400;
}

#reason .catchTtls {
    color: #5daa11;
}

#reason .catchTtl strong {
    color: #00569e;
}

#reason .catchTtl>span {
    width: 160px;
    height: 160px;
    background-size: 100% 100%;
}

#reason .reasonCtc {
    float: left;
    background: url(./img/common/bg_tt.png) no-repeat bottom right;
    width: 206px;
    height: 206px;
    color: #fff;
    font-size: 25px;
    line-height: 1.3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: -10px 10px 0 0;
    font-weight: bold;
}



#reason .catchTtl span.txtFree {
    background: #513400;
    color: #fff;
    border-radius: 4px;
    font-size: 40px;
    display: table-cell;
    width: auto;
    height: auto;
    padding: 0 15px;
    margin: 0;
    line-height: 1.3;
    float: none;
}

#reason #main .reasonBox h3,
#first #main .firstPoint h3 {
    background: none;
    border-top: none;
    font-size: 18px;
    padding: 0;
    margin: 0 0 20px;
    font-weight: bold;
    width: auto;
    clear: none;
    color: #d00000;
}

#reason #main .reasonBox h3:after,
#first #main .firstPoint h3:after {
    content: none;
}

#reason #main .reasonBox {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin-bottom: 1px;
}

#reason #main .reasonBox::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
}

#reason #main #reason01 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/reason1_bg.jpg) no-repeat bottom center / 100% auto;
}

#reason #main #reason02 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/reason2_bg.jpg) no-repeat bottom center / 100% auto;
}

#reason #main #reason03 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/reason3_bg.jpg) no-repeat bottom center / 100% auto;
}

#reason #main #reason04 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/reason4_bg.jpg) no-repeat bottom center / 100% auto;
}

#reason #main #reason05 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/reason5_bg.jpg) no-repeat bottom center / 100% auto;
}

#reason #main .reasonBox .inner {
    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: space-between;
    justify-content: space-between;

    padding: 100px 0;
    color: #fff;
}

#reason #main .reasonBox .reasonNo {
    width: 200px;
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
    flex-grow: 0;
    flex-shrink: 0;
    font-family: Oswald, Gadget, 'Anton', sans-serif;
}

#reason #main .reasonBox .reasonNo span {
    display: block;
    font-size: 100px;
    color: #ffea00;
}

#reason #main .reasonBox .reasonCxt {
    border-left: 1px #fff solid;
    padding: 0 0 0 50px;
}

#reason #main .reasonBox h2 {
    border: none;
    font-size: 46px;
    padding: 0;
    margin: 0 0 30px;
    line-height: 1.3;
}

#reason #main .reasonBox h2:before {
    content: none;
}

#reason #main .reasonBox p {
    font-size: 16px;
}

#reason #main .reasonBox .starsP {
    position: relative;
}

#reason #main .reasonBox .starsP img.stars01 {
    position: absolute;
    top: -10px;
    left: 0;
    z-index: 2;
}

#reason #main .reasonBox .starsP img.stars02 {
    position: absolute;
    bottom: -10px;
    right: 0;
    z-index: 2;
}

#main .showroomRecommended {
    margin-top: 20px;
    border-top: #333 dotted 1px;
    padding-top: 10px;
    overflow: hidden;
}

#main .showroomRecommended li {
    background: none;
    border-bottom: #333 dotted 1px;
    position: relative;
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 7px 35px;
    margin: 0 0 7px;
}

#main .showroomRecommended li:last-child {
    margin-bottom: 0;
}

#main .showroomRecommended>li:before,
#main .showroomRecommended>li:after {
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .showroomRecommended>li:before {
    background: #00569e;
    border-radius: 50%;
    width: 25px;
    height: 25px;
}

#main .showroomRecommended>li:after {
    left: 6px;
    top: 12px;
    width: 10px;
    height: 5px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    border-right: none;
    border-top: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#main .showroomRecommended li strong {
    background: #fff600;
    display: inline-block;
    line-height: 0.5;
}

/*-------------------#staff-----------------*/

#staff #main h2 {
    font-size: 30px;
}

#staff #main h2:first-of-type {
    margin-top: 0;
}

#staff #main #tabMenu {
    position: relative;
    overflow: hidden;
    margin-bottom: 25px;
}

#staff #main #tabMenu li {

    background: #ccc;
    color: #333;
    border-top: 1px solid #ccc;
    text-decoration: none;
    line-height: 1.2;
    display: inline-block !important;
    font-size: 25px !important;
    font-weight: bold;
    text-align: center;
    display: block;
    border-radius: 30px;
    box-shadow: 0 2px 0 rgba(255, 255, 255, 0.5) inset;
    padding: 0;
}

#staff #main #tabMenu li a {
    color: #fff;
    text-decoration: none;
    padding: 12px 40px;
    display: block;
}

#staff #main #tabMenu li:hover {
    cursor: pointer;
    opacity: 0.8;
    transition: 0.7s;
}

#staff #main #tabMenu li:before,
#staff #main #tabMenu li:after {
    content: none;
}


#staff #main #tabMenu li.select {
    background: #0d85cf;
    color: #fff;
    border-top: 1px solid #0d85cf;
}

#staff #main #tabMenu li.select:hover {
    opacity: inherit;
}

#staff #main .staffShop {
    position: relative;
    overflow: hidden;
    margin-bottom: 45px;
}

#staff #main .staffShop li {
    position: relative;
    font-size: 25px;
    background: none;
    display: inline-block;
    padding: 0 0 0 20px;
    margin: 0 35px 0 0;
}

#staff #main .staffShop li:before,
#staff #main .staffShop li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#staff #main .staffShop li:before {
    background: #5daa11;
    border-radius: 50%;
    width: 16px;
    height: 16px;
}

#staff #main .staffShop li:after {
    left: 4px;
    width: 5px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-right: none;
    border-top: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#staff #main .staffShop li a {
    color: #333;
    text-decoration: none;
}

#staff #main .staffList {
    position: relative;
    overflow: hidden;
    margin-bottom: 50px;
    width: 1000px;
    margin: 0 auto 15px;
}

#staff #main .staffList li {
    background: none;
    float: left;
    margin: 35px 20px 0 0;
    width: 235px;
    padding: 0;
    font-weight: bold;
}

#staff #main .staffList li:nth-child(-n + 4) {
    margin-top: 0;
}

#staff #main .staffList li:nth-child(4n) {
    margin-right: 0;
}

#staff #main .staffList li a {
    text-decoration: none;
}

#staff #main .staffList li:before,
#staff #main .staffList li:after {
    content: none;
}

#staff #main .staffList li .staffPict {
    width: 235px;
    height: 280px;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
}

#staff #main .staffList li .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #main .staffList li .positionTxt {
    display: block;
    margin: 0;
    text-align: center;
}

#staff #main .staffList li .positionTxt span,
#staff #main .staffProf .profileDetail .positionTxt span {
    font-size: 12px;
    font-weight: bold;
    text-align: left;
    padding: 2px 5px;
    line-height: 1.2;
    margin-right: 5px;
    color: #fff;
    border-radius: 3px;
    background: #5daa11;
    display: inline-block;
}

#staff #main .staffList li .staffName {
    color: #333;
    font-size: 23px;
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}

#staff #main .staffProf .profileDetail .staffName {
    color: #333;
    font-size: 20px;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 15px;
}

#staff #main .staffList li .staffName span,
#staff #main .staffProf .profileDetail .staffName span {
    color: #5daa11;
    font-size: 14px;
    display: block;
    padding-left: 10px;
}

#staff #main #staffSection .inner {
    padding-top: 0 !important;
}

#staff #main #staffSection .inner .combnrListOtr li {
    margin-bottom: 0 !important;
    margin-top: 30px;
}

#staff #main .staffList li .btnDetail,
.staffProf a#btnClose {
    font-size: 12px !important;
    margin: 0 auto !important;
    width: 11em !important;
    border-radius: 5px;
    padding: 3px 6px;
    background: #0d85cf;
    box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.4) inset;
    clear: both;
}

#btnClose {
    font-size: 14px !important;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    display: block;
    width: 6em;
    margin: 50px auto 0 auto !important;
    padding: 2px 20px;
    background: #0d85cf;
}

body#staff.nocolumn {
    min-width: 0;
}

#staff #main .staffProf {
    padding: 20px;
    position: relative;
    overflow: hidden;
}

#staff #main .staffProf .staffPictBox {
    width: 235px;
    margin-right: 25px;
    float: left;
}

#staff #main .staffProf .staffPictBox>img {
    width: 235px;
    height: auto;
}

#staff #main .staffProf .staffPict {
    width: 235px;
    height: 314px;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    border-radius: 5px;
}

#staff #main .staffProf .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #main .staffProf .profileDetail {
    overflow: hidden;
}

#staff #main .staffProf .profileDetail .positionTxt {
    margin-top: 0;
    font-size: 12px;
    margin-bottom: 5px !important;
}

#staff #main .staffProf .profileDetail .staffName span {
    display: inline-block;
    margin-left: 10px;
}

#staff #main .staffProf .profileDetail dl dt {
    background: #0d85cf;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    display: block;
    padding: 3px 10px;
    margin: 15px 0 10px;
    border-radius: 5px;
}

#staff #main .staffProf .profileDetail dl dd {
    font-size: 15px;
}


/*-------------------warningChk-----------------*/
#main .warningChk {
    padding: 0 20px 20px;
    background: #fffddd;
    margin-bottom: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#main .warningChk h3 {
    background: #0eaa8e;
    color: #fff;
    text-align: center;
    font-size: 30px;
    margin: 0 -20px 30px;
    padding: 0;
    border: none;
}

#main .warningChk h5 {
    margin: 0 0 10px;
    background: #d73d33 !important;
    font-size: 18px !important;
}


#main .warningChk img {
    margin-right: 30px;
}

#main .warningChk ul {
    margin-bottom: 0;
}

#main .warningChk ul li {
    font-size: 22px;
    font-weight: bold;
    padding: 0 0 0 20px;
    margin: 0 0 0;
    position: relative;
}

#main .warningChk ul li:before,
#main .warningChk ul li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .warningChk ul li:before {
    width: 16px;
    height: 16px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #0eaa8e;
}

#main .warningChk ul li:after {
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fffeee;
    border-right: 2px solid #fffeee;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*-------------------#rainleaking#diagnosis-----------------*/
/*-------------------#rainleaking-----------------*/

#main .priceList {
    clear: both;
}

#main .priceList li {
    margin-bottom: 15px;
    padding: 7px 5px 0 15px;
    position: relative;
    color: #FFF;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.2;
    overflow: hidden;
    border-radius: 5px;
    background-color: #d73d33;
}

#main .priceList li span {
    padding: 3px 25px 0;
    float: right;
    display: block;
    position: relative;
    color: #d73d33;
    line-height: 1;
    text-align: center;
    border-radius: 3px;
    background-color: #FFF;
}

#main .priceList li:before,
#main .priceList li:after {
    content: none;
}

#main .reasonUlAm li {
    clear: both;
    margin: 0 0 50px 0;
    padding: 0;
}

#main .reasonUlAm li br {
    /*wpでなぜか改行が入るので仮対応*/

    display: none;
}

#main .reasonUlAm li img {
    float: right;
    margin: 0 0 50px 30px;

}

#main .reasonUlAm li h3 {
    overflow: hidden;
    clear: none;
    margin-top: 0;
}

#main .reasonUlAm li:before,
#main .reasonUlAm li:after {
    content: none;
}


#main .rainAnswer {}

#main .rainAnswer h3 {
    background: #ff6600;
    color: #fff;
    border-radius: 4px;
    font-size: 25px;
    border-top: none;
    padding: 10px;
    margin: 0 0 25px;
    border-image: none;
}

#main .rainAnswer h3 span {
    background: #fff;
    color: #ff6600;
    display: inline-block;
    margin-right: 10px;
    padding: 0 10px;
}

#main .rainAnswer .answerUl {
    width: 740px;
    padding-right: 260px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    background: url(./img/common/img_answer.png) no-repeat bottom right;
    margin-bottom: 0;
}

#main .rainAnswer .answerUl li {
    width: 238px;
    padding: 0;
    border: 1px #cccccc solid;
    background: #fff;
}

#main .rainAnswer .answerUl li:nth-child(-n+3) {
    margin-top: 0;
}


#main .rainAnswer .answerUl li h4 {
    background: #3e984f;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
    padding: 3px 5px;
}

#main .rainAnswer .answerUl li h4:before,
#main .rainAnswer .answerUl li h4:after {
    content: none;
}

#main .rainAnswer .answerUl li p {
    font-size: 15px;
    padding: 10px;
    margin-bottom: 0;
    line-height: 1.8;
}

#main .rainAnswer .answerUl li:before,
#main .rainAnswer .answerUl li:after {
    content: none;
}

#main .rainCts {
    background: #541d0e;
    border-radius: 4px;
    overflow: hidden;
    font-weight: bold;
    padding: 10px;
    margin: 30px auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    -webkit-box-align: center;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-align: center;
    /*--- IE10 ---*/
    -webkit-align-items: center;
    /*--- safari（PC）用 ---*/
    align-items: center;
}

#main .rainCts h3 {
    color: #fff;
    font-size: 32px;
    line-height: 1.6;
    margin: 0 10px;
    background: none;
    padding: 0;
    border-top: none;
}

#main .rainCts ul {
    margin-bottom: 0;
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    width: 730px;
}

#main .rainCts ul li {
    padding: 15px 0;
    line-height: 1;
    background: #fff;
    color: #541d0e;
    border-radius: 5px;
    font-size: 23px;
    margin: 0;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 236px;
}

#main .rainCts ul li:after,
#main .rainCts ul li:before {
    content: none;
}

#rainleaking #main .emergencyC {
    background: #eeeeee;
    padding: 0;
}

#rainleaking #main .emergencyC img {
    float: left;
    margin: 0 30px 0 0;
}

#rainleaking #main .emergencyC .tel {
    font-size: 13px;
    margin-top: 100px;
}

#rainleaking #main .emergencyC .tel span {
    overflow: hidden;
    font-size: 80px;
    line-height: 1;
    display: block;
    background: url(./img/common/ico_freedial02.png) no-repeat left 30px;
    padding: 0 0 0 58px;
    font-weight: 800;
}

#rainleaking #main .emergencyC .tel span a {
    text-decoration: none;
}

#rainleaking #main .ranking {
    padding: 0;
    margin: 0 0 20px;
}

#rainleaking #main .ranking li {
    list-style: none;
    font-size: 25px;
    font-weight: bold;
    color: #d00000;
    margin: 0;
}

#rainleaking #main .catchTtl {
    font-size: 52px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 30px;
}

#main .troubleBox h2 {
    position: relative;
    z-index: 10;
    padding: 15px 0 0;
    margin: 0 auto 15px;
    color: #333;
    font-size: 32px;
    background: none;
    box-shadow: none;
    line-height: 1.2;
    position: relative;
    overflow: hidden;
    border: #21a937 solid 7px;
    border-width: 7px 0 0 0;
    text-align: left;
}

#main .troubleBox h2:before {
    content: none;
}

#main .troubleBox h2:after {
    display: none;
}

#main .troubleBox h2 img {
    float: left;
    margin: 0 10px 0 0;
}

#main .troubleBox h2 span,
#main .diagnosisPoint h2 span {
    display: block;
}


#main .troubleBox h2 span.txtEn {
    color: #12a73b;
    font-size: 15px;
}

#diagnosis #main .troubleBox h2 {
    padding: 15px 0 0;
    margin: 0 auto 30px;
    color: #333;
    font-size: 40px;
    line-height: 1.2;
    border-top: none;
    display: block;
    text-align: left;

}

#diagnosis #main .troubleBox h2:before,
#diagnosis #main .troubleBox h2:after {
    content: none;
}

#diagnosis #main .troubleBox h2 span.txtL,
#main .troubleBox h2 span.txtL,
#main .diagnosisPoint h2 span.txtL {
    font-size: 48px;
}

#diagnosis #main .troubleBox h5 {
    margin: 0 0 10px;
}

#main .troubleBox h6:before {}

#main .troubleBox .attonP {
    font-size: 18px;
    font-weight: bold;
}

#diagnosis #main .troubleBox ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
}

#diagnosis #main .troubleBox ol li {
    background: none;
    padding: 0;
    position: relative;
    overflow: hidden;
    padding-left: 35px;
    line-height: 1.8;
    font-size: 14px;

}


#diagnosis #main .troubleBox ol li:before {

    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #5daa11;
    color: #fff;
    display: block;
    float: left;
    line-height: 22px;
    margin-left: -30px;
    text-align: center;
    height: 22px;
    width: 22px;
    font-weight: bold;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}

#diagnosis #main .troubleBox ol li h3 {
    font-size: 20px;
    clear: none;

    background: none;
    border-top: none;
    box-shadow: none;
    padding: 0;
    margin: 0 0 5px 0;
}

#diagnosis #main .troubleBox ul li strong {
    font-size: 18px;
}

#diagnosis #main .troubleBox p.trblP {
    line-height: 1.5;
    font-size: 30px;
    font-weight: bold;
    padding-left: 35px;
}

#diagnosis #main .troubleBox ul li h6 {
    margin: 10px 0 0 0;
}

#diagnosis #main .balloonBox {
    margin: 30px auto;
}

#diagnosis #main .balloonBox p {
    font-size: 30px;
    line-height: 1.8;
}



#rainleaking #main .troubleBox h5 {
    font-size: 30px;
    margin-bottom: 12px;
    line-height: 1.3;
}

#diagnosis #main .cautionBox {
    background: #5e86a9;
    border-radius: 4px;
    color: #fff;
    padding: 10px;
    position: relative;
    overflow: hidden;
}

#diagnosis #main .cautionBox h4 {
    color: #fff;
    font-size: 31px;
    margin: 15px 0;
    padding-left: 0;
    display: inline-block;
}

#diagnosis #main .cautionBox p {
    color: #fff;
    font-size: 18px;
}

#diagnosis #main .cautionBox ul {
    position: relative;
    overflow: hidden;
    float: right;
    margin: 0 0 0 25px;
}

#diagnosis #main .cautionBox ul li {
    float: left;
    margin: 0 0 0 10px;
    padding-left: 0;
}

#diagnosis #main .cautionBox h4:before,
#diagnosis #main .cautionBox h4:after,
#diagnosis #main .cautionBox ul li:before,
#diagnosis #main .cautionBox ul li:after {
    content: none;
}

#main .worksExpBox {
    margin: 30px 0;
}

#main .worksExpBox p.expP {
    background: #fcff00;
    padding: 50px 50px 50px 660px;
    position: relative;
    margin-bottom: 65px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: bold;
}

#main .worksExpBox p.expP span {
    background: #ff6600;
    border-radius: 50%;
    display: block;
    position: absolute;
    z-index: 99;
    height: 240px;
    width: 240px;
    font-size: 24px;
    color: #fff;
    top: -20px;
    left: 180px;
    text-align: center;
    padding-top: 50px;
    box-sizing: border-box;
}

#main .worksExpBox p.expP span strong {
    display: block;
    font-size: 60px;
    color: #fcff00;
    font-weight: normal;
    font-family: "Impact", Gadget, 'Anton', sans-serif;
}

#main .worksExpBox p.expP span::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -10px;
    bottom: 10px;
    border-left: 60px solid #ff6600;
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;
    transform: rotate(35deg);
    z-index: -1;
}

#main .worksExpBox p.expP img {
    position: absolute;
    bottom: -65px;
    left: 350px;
}

#main .diagnosisAttention {
    margin: 50px 0;
}

#main .diagnosisAttention .formH {
    text-align: left;
    overflow: hidden;
    clear: none;
    margin-bottom: 2px;
    line-height: 1.3;
}

#main .diagnosisAttention p {
    color: #333;
    font-size: 20px;
}

#main .diagnosisAttention span {
    background: #ff8800;
    border-radius: 50%;
    display: block;
    height: 200px;
    width: 200px;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding-top: 50px;
    box-sizing: border-box;
    float: left;
    margin: -10px 30px 0 0;
}

#main .diagnosisAttention span strong {
    display: block;
    font-size: 100px;
    line-height: 0.6;
}

#main .diagnosisPoint {
    margin-bottom: 20px;
    padding: 10px 0 0 0;
}

#main .diagnosisPoint li h3 span {
    background: #21a937;
    box-shadow: rgba(255, 255, 255, 0.33) 0px 0px 0px 6px inset;
    border-radius: 50%;

    color: #fff;

    font-size: 16px;
    width: 100px;
    height: 100px;
    padding: 30px 5px;
    margin-top: 0;


    box-sizing: border-box;
    text-align: center;
    line-height: 1.3;
    position: relative;
    float: left;
    margin-right: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    flex-grow: 0;
    flex-shrink: 0;
}

#main .diagnosisPoint li h4 {
    overflow: hidden;
    font-size: 25px;
}

#main .diagnosisPoint li .captionD {
    font-size: 0.8em;
    line-height: 1.2em;
}

#main .diagnosisPoint li .captionD span {
    display: block;
    text-align: center;
}

#main .diagnosisPoint li .captionD img {
    margin-bottom: 5px;
}

#main .diagnosisPoint ul.dottedL li {
    border-top: dotted #333 1px;
    padding: 30px 0 0 0;
    position: relative;
    overflow: hidden;
    line-height: 1.8;
}

#main .diagnosisPoint ul.dottedL li:first-child {
    border-top: none;
}

#main .diagnosisPoint ul.dottedL li:before,
#main .diagnosisPoint ul.dottedL li:after {
    content: none;
}

#main .diagnosisPoint h3.pointH,
#main .diagnosisPoint h3.pointH span {
    font-size: 18px;
}

#main .diagnosisPoint li {
    margin-bottom: 30px;
    list-style-type: none;
    clear: both;
}

#main .diagnosisPoint h3 {
    position: relative;
    font-size: 32px;
    overflow: hidden;
    margin-bottom: 10px;
    background: none;
    border-top: none;
    padding: 0;
    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;
}

#main .diagnosisPoint h3:after {
    content: none;
}

#main .diagnosisPoint h3 img {
    float: left;
    margin-right: 20px;
}

#main .diagnosisPoint h2 {
    padding: 15px 0 0;
    margin: 0 auto 15px;
    color: #333;
    font-size: 35px;
    background: none;
    box-shadow: none;
    line-height: 1.2;
}

#main .diagnosisPoint h4 {
    clear: none;
    margin-top: 0;
}

#main .diagnosisPoint .imgL30 {
    margin-bottom: 40px;
}




/*-------------------#contact-----------------*/
#contact #main h2.catchTtl {
    background: url(./img/common/bgquo.png) no-repeat center right;
    font-size: 50px;
    border-bottom: none;
    color: #333;
    margin-top: 0;
    padding-right: 150px;
    box-shadow: none;
}

#contact #main .msgPhoto {}

#contact #main .msgTxt {
    font-size: 15px;
}


#main p.catchTxt+h4 {
    margin: 0;
}


#contact #main .msgTxt strong,
#contact #main .contactMsg strong,
#contact #main .msgTxtOvr strong {
    display: inline-block;
    font-weight: bold;
}

#main .msgTxt .catchTxt,
#main .contactMsg .catchTxt,
#main .msgTxtOvr .catchTxt {
    font-size: 32px;
    font-weight: bold;
}

#main .contactMsg p.catchTxt img {
    vertical-align: middle;
    margin-right: 4px;
}

#main .msgTxt .catchTxt strong,
#main .contactMsg .catchTxt strong,
#main .msgTxt .catchTxt strong,
#main .msgTxtOvr .catchTxt strong {
    color: #d00000;
    background: none;
    font-weight: bold;
}

#main .msgTxt .catchTxt span,
#main .msgTxtOvr .catchTxt span,
#main .contactMsg .catchTxt span {
    background: #e26a0f;
    border-radius: 5px;
    color: #fff;
    font-size: 24px;
    margin-right: 4px;
    display: inline-block;
    padding: 0 8px;
}

#main .msgTxt .tel,
#main .contactMsg .tel,
#main .msgTxtOvr .tel {
    font-size: 13px;
}

#main .msgTxt .tel span,
#main .contactMsg .tel span,
#main .msgTxtOvr .tel span {
    font-weight: 800;
    font-size: 80px;
    line-height: 1;
    display: block;
    background: url(./img/common/ico_freedial02.png) no-repeat left 30px;
    padding: 0 0 0 58px;
}

/*---------- calendar -----------*/

.business-calendar-box {
    position: relative;
    overflow: hidden;
}

.business-calendar-box>div {
    width: 48% !important;
    width: calc(50% - 10px) !important;
    float: left;
}

.business-calendar-box>div:nth-child(2n) {
    float: right;
}


#main .business-calendar-box table th,
#main .business-calendar-box table td {
    width: 14%;
    padding: 5px 20px;
    text-align: center;
}



.business-calendar caption {
    background: #5daa11;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
}

.business-calendar .attr0 {
    background: #FFCCCC !important;
}

#main .corpAbout {
    box-sizing: border-box;
    /*    border-bottom: #5daa11 8px solid;*/
    padding: 30px 0;
}

#main .corpAbout .inner {
    padding: 0;
}

#main .corpAbout h2 {
    font-size: 28px;
    line-height: 1.4;
    margin-bottom: 15px;
    background: none;
    color: #333;
    padding: 0;
}

#main .corpAbout h2 span {
    display: block;
    font-size: 18px;
}

#main .corpAbout h2 span.en {
    color: #f60;
    font-size: 20px;
    display: inline-block;
}

#main .corpAbout p {
    font-size: 16px;
    margin-bottom: 15px;
    line-height: 1.4;
}


#main .corpAbout ul li {
    width: 48%;
    width: calc(50% - 5px);
    float: left;
    margin: 0 10px 10px 0;
    padding: 0;
}

#main .corpAbout ul li:nth-child(2n) {
    margin-right: 0;
}

#main .corpAbout ul li:before,
#main .corpAbout ul li:after {
    content: none;
}

#main .corpAbout ul li a {
    display: block;
    color: #fff !important;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding: 5px 35px 5px 20px;
    text-decoration: none !important;
    border-radius: 5px;
    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: #d0004e;
    border: #d0004e solid 3px;
}


#main .corpAbout ul li a:before,
#main .corpAbout ul li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .corpAbout ul li a:before {
    width: 13px;
    height: 13px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}

#main .corpAbout ul li a:after {
    right: 14px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #d0004e;
    border-right: 2px solid #d0004e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*------- 屋根カバー追加 20190610--------*/

#main ul.itemList3 {
    overflow: hidden;
}

#main ul.itemList3 li::after,
#main ul.itemList3 li::before {
    content: none;
}

#main ul.itemList3 li {
    float: left;
    padding: 0;
    width: 280px;
    padding: 15px 15px 0;
    border: 5px solid #5daa11;
    border-radius: 10px;
    margin-right: 20px;
}

#main ul.itemList3 li:nth-of-type(3n) {
    margin-right: 0;
}

#main ul.itemList3 li h5 {
    margin: 0 0 10px 0;
    text-align: center;
    display: block;
}

#main .bnrMainte {
    background: #d0004e;
    overflow: hidden;
}

#main .bnrMainte p {
    font-size: 35px;
    color: #fff;
    font-weight: bold;
    padding: 0 0 0 20px;
}

#main .bnrMainte img {
    float: right;
}

footer .ftrTosoBnr,
footer .ftrMakerBnr {
    clear: both;
    position: relative;
    overflow: hidden;
    padding-top: 30px;
    margin-bottom: 20px;
    text-align: right;
}

footer .ftrTosoBnr li,
footer .ftrMakerBnr li {
    display: inline-block;
    margin-left: 20px;
}

/*------------- faq -------------*/
#faq #main h2 a {
    color: #fff !important;
    text-decoration: none;
}

#main .faqDl {
    margin-bottom: 50px;
}

#main .faqDl dt {
    font-size: 18px;
    font-weight: bold;
    background: #5daa11;
    margin-bottom: 0;
    padding: 3px 5px;
}

#main .faqDl dt a {
    color: #fff;
    text-decoration: none;
}

#main .faqDl dd {
    border: 1px solid #5daa11;
    margin-bottom: 20px;
    padding: 15px;
}

#main .faqTtl {
    margin-bottom: 0;
}

#main .faqTtl li {
    margin: 0 0 5px 0;
}

#main .faqTtl li:after {
    left: 4px;
    top: 8px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#main .faqTtl li:before {
    top: 5px;
}

#main .faqList li {
    margin-bottom: 50px;
    padding: 0;
    overflow: hidden;
}

#main .faqList li:before,
#main .faqList li:after {
    content: none;
}

#main .faqList li h3:after {
    content: none;
}

#main .faqList li .ansBox {
    margin-bottom: 20px;
}

#main .packMerit {
    border: solid 10px #CCC;
    padding: 20px;
}

#main .packMerit .catchTtl {
    font-size: 42px;
    line-height: 1.2;
    margin: 0 0 10px;
    font-weight: bold;
    text-align: center;
}

#main .packMerit p+h4 {
    margin: 10px 0;
}

/*------------- download -------------*/
#download #main .worksList article {
    margin-bottom: 30px;
}

#download #main .worksList a {
    padding-bottom: 30px;
}

#download #main .mainThumb {
    height: 310px;
}

#download #main .worksList .more {
    position: absolute;
    bottom: 0;
    right: 10px;
}

#download #main .worksList .contTxt {
    font-weight: normal;
    font-size: 13px;
}

#main .downloadT {
    float: left;
    display: block;
    padding: 5px;
    background: #f0f0f0;
    border: 1px #ccc solid;
    margin: 0 30px 30px 0;
    max-width: 300px;
    height: auto;
}


#main .smallWorkBox {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#main .smallWorkBox article {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 47%;
    width: calc(50% - 20px);
    margin: 0 20px 20px 0;
    padding: 0;
}

#main .smallWorkS article:nth-child(2n+1) {
    clear: both;
}

#main article.smallWorkL {
    width: 100%;
    float: none;
    margin: 0 0 20px;
}

#main .smallWorkBox .swThumb {
    margin-bottom: 10px;
    padding: 0;
    width: 100%;
    height: 330px;
    position: relative;
    overflow: hidden;
}

#main .smallWorkBox .swThumb 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;
}

#main .smallWorkBox .swPricetext {
    font-family: Oswald, Gadget, 'Anton', sans-serif, "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    font-size: 30px;
    font-weight: 900;
    color: #d00000;
    line-height: 0.9;
    margin-bottom: 15px;
    text-align: right;
}

#main .smallWorkBox .smallWorkL .swThumb {
    float: left;
    margin-right: 30px;
    width: 480px;
}

#main .smallWorkBox .smallWorkL .swPricetext {
    font-size: 90px;
    text-align: center;
}

#main .smallWorkBox .swPricetext .txtL {
    font-size: 120%;
}

#main .smallWorkBox .swPricetext small {
    font-size: 70%;
}

/*------------- subsidy_works -------------*/
#main .subsidyWorksCl {
    width: auto;

    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#main .subsidyWorksCl li {
    width: calc(50% - 10px);
}

#main .subsidyWorksCl li.subsidyBtn a {
    background: url(./img/common/ico_subsidy.png) no-repeat right 20px center #c34444;
    border-color: #c34444;
    padding-left: 20px;
}

#main .subsidyWorksCl li.subsidyBtn a:before {
    content: none;
}

#youtube-area {
    position: relative;
    height: 100vh;
    width: 100%;
}

#top #main .menuPriceArea{
	padding: 50px 0;
}
#packmenu #main .menuPriceArea{
	padding: 50px 0 0;
}
#top #main .menuPriceArea h2,
#packmenu #main .menuPriceArea h2{
	margin-bottom: 30px;
}
#top #main .menuPriceArea h3,
#packmenu #main .menuPriceArea h3{
	display: inline-block;
    background: #DB1918;
    color: #FFF;
    padding: 5px 80px 5px 50px;
    font-size: 30px;
	position: relative;
}
#top #main .menuPriceArea h3::after,
#packmenu #main .menuPriceArea h3::after {
    content: '';
    width: 0;
    height: 0;
    border-bottom: 80px solid transparent;
    border-right: 40px solid #FFF;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
}
#top #main .menuPriceArea li::after,
#top #main .menuPriceArea li::before,
#packmenu #main .menuPriceArea li::after,
#packmenu #main .menuPriceArea li::before{
	content: none;
}
#top #main .menuPriceArea ul,
#packmenu #main .menuPriceArea ul{
	border-bottom: dotted 1px #000;
	margin-bottom: 50px;
}
#top #main .menuPriceArea li,
#packmenu #main .menuPriceArea li{
	display: flex;
	box-sizing: border-box;
	padding: 10px;
	margin: 0 auto;
	border: dotted 1px #000;
	border-bottom: none;
	gap: 30px;
	align-items: center;
	margin: 0;
}
#top #main .menuPriceArea li .photoBox,
#packmenu #main .menuPriceArea li .photoBox{
	width: 320px;
}
#top #main .menuPriceArea li .photoBox img,
#packmenu #main .menuPriceArea li .photoBox img{
	width: 100%;
	height: 200px;
	object-fit: cover;
}
#top #main .menuPriceArea li .outline p,
#packmenu #main .menuPriceArea li .outline p{
	width: 100%;
    margin-bottom: 5px;
	line-height: 1.2;
}
#top #main .menuPriceArea li .maker,
#packmenu #main .menuPriceArea li .maker{
    font-weight: 700;
    font-size: 20px;
}
#top #main .menuPriceArea li .maker img,
#packmenu #main .menuPriceArea li .maker img{
	height: 40px;
	object-fit: contain;
	object-position: left;
}
#top #main .menuPriceArea li .item,
#packmenu #main .menuPriceArea li .item{
    font-weight: 700;
    font-size: 35px;
}
#top #main .menuPriceArea li p.price,
#packmenu #main .menuPriceArea li p.price{
    font-family: 'Poppins','Noto Sans JP', sans-serif;
	font-weight: 600;
	color: #e73f3f;
    font-size: 70px;
    margin-bottom: 0;
}
#top #main .menuPriceArea li .price .unit,
#packmenu #main .menuPriceArea li .price .unit{
    font-size: 30px;
}
#top #main .menuSmall .menuPriceArea ul,
#packmenu #main .menuSmall .menuPriceArea ul{
	display: flex;
	flex-wrap: wrap;
}
#top #main .menuSmall .menuPriceArea li,
#packmenu #main .menuSmall .menuPriceArea li{
	width: 50%;
	box-sizing: border-box;
}
#top #main .menuSmall .menuPriceArea li:nth-child(2n),
#packmenu #main .menuSmall .menuPriceArea li:nth-child(2n){
	border-left: none;
}
#top #main .menuSmall .menuPriceArea li .photoBox,
#packmenu #main .menuSmall .menuPriceArea li .photoBox{
		width: 200px;
}
#top #main .menuSmall .menuPriceArea li .item,
#packmenu #main .menuSmall .menuPriceArea li .item{
	font-size: 28px;
}
#top #main .menuSmall .menuPriceArea li p.price,
#packmenu #main .menuSmall .menuPriceArea li p.price{
    font-size: 60px;
}
