/*
Theme Name: power-up-elderly.com
Theme URI: https://power-up-elderly.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;
}

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

.bg04 {
    background:
        url(./img/common/checkbox_bg.png) center center,
        url(./img/common/pack_bg.jpg) no-repeat bottom center / cover;
    margin-bottom: 1px;
}

.bg05 {
    background: url(./img/common/checkbox_bg.png) center center, url(./img/common/bg05.jpg) no-repeat bottom center / cover;
    margin-bottom: 1px;
}

.btn a {
    display: inline-block !important;

    font-size: 20px;
    background: #ff9000;
    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 #ff7a00 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: #ff7a00;
    box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.4) inset;
    text-decoration: none !important;
}

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

.btn 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: #ff0000 !important;
}

.notice-o {
    color: #ff7a00;
}

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

.notice-g {
    color: #209354;
}

.notice-y {
    color: #fcff00;
}

.notice-l {
    color: #ff0000 !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: #ff0000;
    font-size: 48px;
    line-height: 1;
    padding: 0 0 0 48px;
    margin: 0;
    display: block;

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

.tel span a {
    color: #ff0000 !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-size: contain;
}

header h1,
header p.htxt {
    font-size: 12px;
    font-weight: normal;
    display: block;
    padding: 0;
    margin: 0 auto 5px;
}

header h1.font16 {
    font-size: 16px;
}

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

header .inner {
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: auto;
    padding: 1vh 2vw;
    background: rgba(255, 255, 255, 0.6);
}

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: #209354;
}

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: #209354;
    color: #fff;
}

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


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: 45px;
    display: block;
    margin: 2px 0 0 0;
    color: #333;
}


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

header .hdrBnr a {
    display: block;
    background: #ff0000;
    font-size: 21px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.2;
    padding: 5px 40px;
    box-shadow:
        0 0 0 1px #fff inset,
        0 0 0 2px #ff0000 inset,
        0 5px 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 0 0;
    font-size: 14px;
    border-top: #ff7a00 solid 7px;
    background: #fff;
    position: relative;
    z-index: 1;
}

footer .ftrInfo {
    background: #ff7a00;
}

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

footer .inner {
    padding: 30px 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: 30px;
    display: block;
}

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

footer p {
    margin-bottom: 15px;
    line-height: 1.8;
}

.footerCom .ftr-shoplist h6 {
    color: #333;
    margin-bottom: 5px;
    /* padding: 5px 10px; */
    font-size: 16px;
}

footer .copyRight {
    text-align: right;
    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: #209354;
    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 #209354 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: #42780c;
}

footer .ftrScroll .ftrCont ul li.ftrShowroom {}

footer .ftrScroll .ftrCont ul li.ftrContact {}

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

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

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

footer .ftrScroll .pageTop a {
    background: #ff7a00;
    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: #0d85cf;
    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 #0d85cf;
    -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;
}

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

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

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

header 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;
    background-color: #ff7a00;
    color: #fff !important;
    box-shadow: 0 5px 0 rgb(255 255 255 / 20%) inset;
}

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


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

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

nav #gNav li ul {
    position: absolute;
    top: 60px;
    left: 5px;
    z-index: 1;
    height: 0;
    width: 133px;
    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;
}


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

.main p {
    font-size: 16px;
    margin-bottom: 15px;
    line-height: 1.8;
}

.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: 50px;
    text-align: center;
    width: 100%;
    padding: 50px 0 15px;
    margin: 0 0 30px;
    line-height: 1.3;
    border-top: 10px solid #ff7a00;
    position: relative;
    font-weight: 700;
}

.main h2:before {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: solid transparent;
    border-top-color: #ff7a00;
    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: #ff7a00;
}

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

.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 .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: #ff7a00;
    padding: 5px 10px;
    flex: 1;
}

.main h3 {
    font-size: 22px;
    padding: 0;
    margin-bottom: 15px;
    position: relative;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.main h3:before {
    border-top: #ff9000 3px solid;
    content: "";
    width: 4.5em;
    /* 線の長さ */
    margin-right: 10px;
}

.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: #ff7a00;
    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 #333 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: #ff0000;
}

.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;
}

.fullWidth {
    font-weight: normal;
}

.txtB {
    display: inline;
    position: relative;
    background-image: linear-gradient(90deg, #ff7a00, #ff0);
    /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 30%;
    /* '30%'の部分にマーカーの太さを記入 */
    transition: all 1s ease-in-out;
    /* マーカーを引く速度を調整 */
    font-weight: bold;
    /* ついでに太字にしたい場合 */
}

/* アニメーション発火時 */
.txtB.inview {
    background-size: 100% 30%;
    /* '30%'の部分は上で設定した太さに合わせる */
}

.main h2.headline_border {
    font-size: 60px;
    padding: 0;
    margin-bottom: 15px;
    position: relative;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.main h2.headline_border:before,
.main h2.headline_border:after {
    border: none;
    border-top: #333 5px solid;
    content: "";
    width: 4em;
    margin: auto 30px;
    border-width: 3px;
    position: relative;
    top: inherit;
    left: inherit;
    right: inherit;
}

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

.main blockquote p:last-of-type {
    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: #ff7a00;
}

.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: #333;
    background: none;
}

.main table td a {
    position: absolute;
    right: 20px;
    top: 15px;
    background: #ff7a00;
    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: #ff0000;
}

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

.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 .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 .merit h2 {
    background: #ff7a00;
    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: #ff7a00;
    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 .contactBox {
    margin: 40px auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    width: 1100px;

    a:hover {
        opacity: 0.7;
        transition: 0.7s;
    }

    .contactList {
        margin-bottom: 0;

        li {
            padding: 0;
            margin: 0 0 10px;
            text-align: center;

            &:last-of-type {
                margin-bottom: 0;
            }

            &::before,
            &::after {
                content: none;
            }

            a {
                display: inline-block;
            }
        }
    }


}

.worriesS {
    border: none;
}

/*---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: #e50012;
}

.main .comContactLBox .inBox p span {
    border-radius: 4px;
    background: #e50012;
    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: #e50012;
    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 ul.works-lists {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}


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

.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: #e50012;
    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;
}

/*---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: #209354;
}

.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: #209354;
    border-right-color: #209354;
}


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


/*---外壁塗装工事パック商品--*/
.main .serviceContents {
    padding: 10px 20px;
    margin: 50px auto;
}

.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: #ff7a00;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #ff7a00 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: #fff;
    border: #fff solid 5px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.3);
    padding: 0;
    margin-bottom: 40px;

}

.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: 35px;
    padding: 0;
    margin: 0 0 10px 0;
    line-height: 1;
}

.main .serviceContents .serviceList li h3::before {
    content: none;
}

.main .serviceContents .serviceList li .constructionArea {
    background: #0d85cf;
    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: 125px;
    font-weight: 900;
    color: #D00000;
    line-height: 0.9;
    margin-bottom: 15px;
    position: relative;
    text-align: right;
}

.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 .priceTxt small {
    font-size: 18px;
    color: #333;
    position: absolute;
    right: 5px;
    top: 3vh;
}

.main .serviceContents .serviceList li .pricetax {
    text-align: right;
    font-weight: 900;
    font-size: 20px;
    color: #D00000;
    margin-bottom: 0;
}

.main .serviceContents .serviceList li .pricetax span {
    font-family: Oswald, Gadget, 'Anton', sans-serif, "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}

.main .serviceContents .serviceList li .annotationTxt {
    margin-bottom: 0;
    font-weight: normal;
    font-size: 14px;
}

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

.main .serviceContents .serviceList li .basicC p {
    margin-bottom: 5px;
}

.main .serviceContents .serviceList li .basicC span {
    font-size: 20px;
    background: #fff;
    color: #333;
    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: #ff7a00;
    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 #ff7a00;
}

.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: #209354;
    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: #ff0000;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #ff0000 inset, 0 4px 0 rgb(255 255 255 / 30%) inset;
    padding: 15px;
}

.main .serviceContents .btn a,
.main .smallWorks .btn a {
    padding: 20px 30px;
}

.main .smallWorks ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 20px;
    margin-bottom: 50px;
}


.main .smallWorks ul li {
    width: calc(50% - 15px);
    padding: 5px;
    box-sizing: border-box;
    margin: 30px 20px 0 0;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    background: #fff;
    box-shadow: 10px 10px 0px 0px rgb(0 0 0 / 30%);
}

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

.main .smallWorks ul li:nth-child(2n) {
    margin-right: 0;
}

.main .smallWorks ul li .thumbImg {
    width: 45%;
    position: relative;
    overflow: hidden;
    display: block;
}

.main .smallWorks ul li .thumbImg:before {
    content: '' !important;
    display: block;
    padding-top: 75%;
}

.main .smallWorks ul li .thumbImg 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 .smallWorks ul li .overflowH {
    width: 54%;
}

.main .smallWorks ul li h3 {
    background: #0d85cf;
    color: #fff;
    padding: 10px 20px;
    font-size: 22px;
    margin-bottom: 10px;
}

.main .smallWorks ul li h3:before {
    content: none;
}

.main .smallWorks .priceTxt {
    font-size: 60px;
    text-align: right;
    letter-spacing: 0;
    display: block;
    margin-bottom: 0;
    font-family: Oswald, Gadget, 'Anton', sans-serif, "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    font-weight: 900;
    color: #D00000;
    line-height: 0.9;
    position: relative;
    position: absolute;
    bottom: 20px;
    right: 5px;
}

.main .smallWorks .unitTxt {
    font-size: 22px;
    letter-spacing: 0;
}

.main .smallWorks .priceTxt small {
    position: absolute;
    right: 0;
    top: 0;
    color: #D00000;
    font-size: 18px;
}

.main .smallWorks small {
    text-align: right;
    display: block;
}

.main .smallWorks .pricetax {
    display: block;
    margin-top: 5px;
    font-size: 16px;
}

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


.main .checkPointT {
    border: #ccc solid 1px;
    padding: 5px;
    margin: 50px auto 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.main .checkPointT h2 {
    margin: -60px 0 0 !important;
    border: none !important;
    color: #333 !important;
    font-size: 38px !important;
    padding: 5px 40px !important;
    line-height: 78px;
    line-height: 1.4;
    width: auto;
    background: url(./img/common/brown_bg.png) center center;
    display: inline-block;
}

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

.main .checkPointT h2::before {
    content: none;
}

.main .checkPointT ul {
    position: relative;
    overflow: hidden;
    padding: 15px 25px;
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.main .checkPointT ul li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 30px 0 0;
    background: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(33% - 20px);
    border: 1px solid #ccc;
    box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.3);
    padding: 3vh 1.8vw;
    color: #fff;
    font-weight: bold;
}

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

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

.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: #209354 5px solid;
}

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

.main .checkPointT ul li p {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 0;
    text-align: center;
}

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

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

.main .checkPointT ul li p strong {
    color: #ff0;
    font-size: 34px;
    display: block;
    line-height: 1.4;
}

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

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


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

.main .deteriorationChk .checkLegend span {
    border-radius: 50%;
    background: #209354;
    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-----*/

.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: 2;
}

.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: #ff7a00;
    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: #209354;
    display: inline-block;
    padding: 0 0 0 5px;
    font-size: 12px;
}


/*----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;
}


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

.main .balloonBox {
    background: #209354;
    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 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;
}


/*---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: #ff7a00 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: #ff7a00;
    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;
    padding: 20vh 0;
    background-size: cover !important;
}

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

#pageTitle h1 {
    color: #ff7a00;


    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: 0 0 30px;
    p {
        margin-bottom: 0;
    }
}

.main #form h3 {
    background: none;
    font-size: 40px;
    color: #209354;
    border: none;
    padding: 0;
    margin: 0 0 20px 0;
    text-align: center;
    box-shadow: none;
}

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

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

.main #form ul {
    margin-bottom: 0;
    li {
       background: none !important;
       padding: 0;
       margin-bottom: 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: #fff;
    padding: 50px 100px;
    margin: 5px 5px 30px;
    outline: 5px solid rgba(0, 0, 0, 0.2);
}

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

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

.main .formBox tr:last-of-type th,
.main .formBox tr:last-of-type td {
    border-bottom: #333 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: #ff0000;
    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: block;
}

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

.main .formBox td a {
    background: url(./img/common/arrow01.png) no-repeat 0 center;
    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: 10px;
    /*line-height: 30px;*/
    width: 100%;
    border-width: 0;
    border-top: 1px solid #cccccc;
    box-sizing: border-box;
    background: #fffbe5;
    border-radius: 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: #ff7a00;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    padding: 20px 40px;
    border: 1px solid #cccccc;
    box-shadow: 0 0 0 1px #fff inset, 0 0 0 2px #ff7a00 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: 0 auto 0;
    background: #fff;
}

#contents section {
    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: #209354;
    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: #ff0000;
    border: solid 1px #ff0000;
}

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

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

.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: #ff0000 !important;
    border: solid 1px #ff0000;
}

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

.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 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 .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: #ff0000;
    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 table {
    margin-bottom: 30px;

}

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

.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-----------------*/

#mainv {
    position: relative;
    text-align: center;
    overflow: hidden;

    width: 100%;
    height: 750px;
    left: 0px;
    top: 0px;
    z-index: 0;
    opacity: 1;
}

#mainv .imgLayer {
    top: 30vh;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
}

#mainv .mainPic {
    position: fixed;
    height: 100%;
    width: 100%;
    object-fit: cover;
    top: 0;
    right: 0;
    left: 0;
}

#mainv .mainPicOver {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
}

#top .main>.checkPointT {
    border: none;
    padding: 25px 0 0;
    margin: 0 auto 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

#top .main>.checkPointT>.warriesCtc {
    margin-bottom: 0;
}


.main .attBox {
    border: solid 5px #ff0000;
    padding: 10px !important;
    background: #FFF;
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.main .attBox p {
    color: #ff0000;
    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: #ff0000;
    font-weight: bold;
}

.main .attBox img {
    float: right;
}


.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 {
    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 .worksBox h2:after,
.main .voiceBox h2:after,
.main .profileBox h2:after {
    display: none;
}

.main .worksBox h2 span.txtL,
.main .voiceBox h2 span.txtL,
.main .profileBox h2 span.txtL {
    font-size: 48px;
    display: block;
    margin: 0 auto;
}

.main .worksBox h2 img,
.main .voiceBox h2 img {
    float: left;
    margin: -20px 20px 0 0;
}


.main .voiceList {
    overflow: hidden;
    clear: both;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.main .voiceList li {
    position: relative;
    padding: 0;
    width: calc(33% - 10px);
    margin: 0 20px 0 0;
    background-color: #fff;
    border: #fff solid 5px;
    box-sizing: border-box;
}

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

.main .voiceList li:nth-child(3n) {
    margin-right: 0;
}

.main .voiceList .contTxt {
    color: #333;
}

.main .voiceList .mainThumb {
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 20px 0 0;
    width: 100%;
}

.main .voiceList .mainThumb:before {
    content: '' !important;
    display: block;
    padding-top: 80%;
}

.main .voiceList .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: 100%;
    object-fit: contain;
}

.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: 20px;
    padding: 0;
    background: none;
    margin: 0 0 10px 0;
    font-weight: bold;
    display: block;
}

.main .voiceList h3::before {
    content: none;
}

.main .mainThumb {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.main .mainThumb:before {
    content: '' !important;
    display: block;
    padding-top: 80%;
}

.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: 100%;
    object-fit: cover;
}

.main .archiveSummary {
    padding: 10px 20px;
}

.main .worksListLtl {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.main .worksListLtl article,
.main .worksListLtl .works-position_img {
    width: calc(50% - 20px);
    margin: 30px 30px 0 0;
    position: relative;
    padding: 0;
}

.main .worksListLtl article {
    background: #fff;
    border: #fff solid 10px;
    box-sizing: border-box;
}

.main .worksListLtl .works-position_img {
    background: #fff;
    border: #f5f5f5 solid 1px;
    padding: 10px;
    box-sizing: border-box;
    margin-top: 20px;
    text-align: center;
}

.main .worksListLtl .works-position_img h3 {
    background: #333;
    color: #fff;
    font-size: 26px;
    text-align: center;
    -webkit-transform: skewX(160deg);
    -moz-transform: skewX(160deg);
    transform: skewX(160deg);
    display: inline-block;
    margin: -40px 0 20px 0;
    padding: 5px 50px;
    line-height: 1.4;
}

.main .worksListLtl .works-position_img h3>span {
    -webkit-transform: skewX(-160deg);
    -moz-transform: skewX(-160deg);
    transform: skewX(-160deg);
    display: block;
}

.main .worksListLtl .works-position_img h3:before {
    content: none;
}

.main .worksListLtl .works-position_img img {
    height: auto;
}

.main .worksListLtl article:nth-child(2n) {
    margin-right: 0;
}

.worksListLtl article .column,
.worksListLtl article .columns {
    padding: 0;
}

.worksListLtl article .twentytwenty-container {
    height: 400px !important;
    overflow: hidden;
}

.worksListLtl article .mainThumb {
    width: 100%;
    position: absolute;
    overflow: hidden;
    display: block;
    background: #f5f5f5;
    height: auto;

}

.worksListLtl article .mainThumb:before {
    content: '' !important;
    display: block;
    padding-top: 90%;
}

.worksListLtl article .mainThumb img {
    height: 100%;
    object-fit: cover;
}

.worksListLtl article .works_summary {
    padding: 10px 20px;
}

.main .worksListLtl .contTxt,
.main .worksListLtl .price,
.main .worksListLtl .time {
    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;
}

.worksListLtl article .works_summary h3 {
    margin: 10px 0 0 0;
    color: #333;
    font-size: 20px;
    display: block;
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    line-height: 1.4;
    display: block;
}

.worksListLtl article .works_summary h3:before {
    content: none;
}

.worksListLtl article .works_summary p {
    margin-bottom: 0;
}

.main .worksListLtl .time {
    color: #ff7a00;
}

.main .worksListLtl .price {
    color: #ff0000;
}

.main .worksListLtl .price span {
    display: inline-block;
    background: #ff7a00;
    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: #ff0000;
}

.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: #ff7a00;
    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 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: #ff0000;
    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: #ff0000;
    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: #ff0000;
}

.main .basicKnow .catchTtl strong.txtL {
    font-size: 70px;
}

.main .basicKnow .catchTtl span {
    color: #209354;
}




.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,
.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 .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;
}


.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: #209354;
    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: #ff0000;
    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;
}


/*-------------------#reason-----------------*/
.main .reasonList {
    position: relative;
    overflow: hidden;
    counter-reset: reasonlist;
}

.main .reasonList li {
    font-size: 18px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0 0 40px 0;
    position: relative;
    counter-increment: reasonlist;
    overflow: hidden;
}

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

.main .reasonList li h3 {
    padding: 0 0 5px 3.6em !important;
    font-size: 50px !important;
    line-height: 1.2;
    letter-spacing: -0.05rem;
    margin: 0 0 20px 5px !important;
    display: block;
    background: none;
    border: none;
    border-bottom: #ff7a00 solid 3px;
    position: relative;
    color: #ff7a00;
}

.main .reasonList li h3:before {
    content: 'REASON ' counter(reasonlist);
    font-family: 'Oswald', Gadget, sans-serif;
    font-size: 30px;
    color: #fff;
    position: absolute;
    bottom: 6px;
    left: 25px;
    border: none;
    z-index: 1;
    margin: 0;
}

.main .reasonList li h3:after {
    background: #ff7a00;
    content: "";
    margin-right: 10px;
    display: block;
    height: 1em;
    position: absolute;
    left: 8px;
    bottom: -3px;
    -webkit-transform: skew(-25deg);
    transform: skew(-25deg);
    width: 150px;
    z-index: 0;
}

.reasonList-img {
    width: 45%;
    position: relative;
    overflow: hidden;
    display: block;
    float: left;
    margin: 0 40px 0 0;
}

.main .reasonList li:nth-child(2n) .reasonList-img {
    float: right;
    margin: 0 0 0 40px;
}

.reasonList-img:before {
    content: '' !important;
    display: block;
    padding-top: 60%;
}

.reasonList-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.main .reasonList li p {
    font-size: 18px;
}

.main .reasonList li p strong {
    color: #d00;
    font-weight: normal;
}

.main .reasonList li p img {
    display: block;
    margin: auto;

}



/*-------------------#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 .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: #0d85cf 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;
}

.main .troubleBox h6:before {}

.main .troubleBox .attonP {
    font-size: 18px;
    font-weight: bold;
}




/*------------- faq -------------*/
.main .faqList>li {
    margin-bottom: 30px;
    padding: 0;
    border: #d5d5d5 solid 1px;
}

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

.main .faqList h3 {
    display: block;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    box-sizing: border-box;
    font-size: 28px;
    line-height: 1.5;
    box-shadow: 0 0 0 1px #fff inset;
    padding: 10px 90px 10px 50px;
    position: relative;
    margin-bottom: 0;
    cursor: pointer;
    z-index: 1;
    color: #fff;
}

.main .faqList.single h3 {
    cursor: auto;
}

.main .faqList h3::before {
    content: "Q";
    color: #FFF;
    position: absolute;
    top: 15px;
    left: 10px;
    width: auto;
    font-size: 50px;
    font-family: 'Bahnschrift', sans-serif;
    font-variation-settings: "wght" 500, "wdth" 75;
    line-height: 1.0;
    border: none;
}


.main .faqList h3:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    bottom: 0;
    display: block;
    margin: auto;
    height: 32px;
    content: "\f055";
    font-weight: 900;
    font-size: 32px;
    font-family: "Font Awesome 5 Free";
    line-height: 1;
    color: #ff9000;
}

.main .faqList h3.selected:after {
    content: '\f056';
}

.main .faqList .toggle_btn:before {
    width: 2px;
    height: 10px;
}

.main .faqList h3.selected .toggle_btn:before {
    content: normal;
}

.main .faqList .ansBox {
    background: #fdf9ef;
    box-shadow: 0 0 0 1px #fff inset;
    padding: 40px 20px 20px 60px;
    position: relative;
    display: none;
    margin-top: -20px;
    z-index: 0;
    font-size: 20px;
}

.main .faqList .ansBox::after {
    content: "A";
    color: #ff0000;
    position: absolute;
    top: 40px;
    left: 15px;
    font-size: 50px;
    font-family: 'Bahnschrift', sans-serif;
    font-variation-settings: "wght" 500, "wdth" 75;
    line-height: 1.0;
}

.main .faqList .ansBox *:last-child {
    margin-bottom: 0 !important;
}

#main .main .faqList .ansBox h6 {
    margin-bottom: 5px;
}

.main .faqList .ansBox .faqLink li::after,
.main .faqList .ansBox .faqLink li::before {
    content: none !important;
}

.main .faqList .ansBox .faqLink {
    overflow: hidden;
}

.main .faqList .ansBox .faqLink li {
    float: left;
    padding: 0 !important;
    margin: 0 !important;
}

.main .faqList .ansBox .faqLink li a {
    display: inline-block !important;
    background: #ec6d01;
    color: #fff !important;
    font-weight: bold;
    margin: 0 4px 4px 0;
    text-decoration: none !important;
    padding: 3px 5px;
    line-height: 1;
    font-size: 13px;
}

.main .faqList li ul {
    margin-bottom: 0;
}

.main .faqList li li {
    margin: 15px 0 0;
    padding: 0;
}

.main .corpType {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.main .corpType li {
    padding: 0;
    padding: 10px 20px !important;
    margin: 5px 5px 20px;
    width: 48%;
    width: calc(50% - 10px);
    box-sizing: border-box;
    background: #fff;
    outline: 5px solid rgba(0, 0, 0, 0.2);
}

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

.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;
}

#youtube-area {
    position: relative;
    height: 100vh;
    width: 100%;
}

/*-------------------#flow-----------------*/
.main .flowList {
    position: relative;
    overflow: hidden;
    counter-reset: flowlist;
}

.main .flowList li {
    font-size: 18px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 0 40px;
    margin: 0 0 20px 0;
    position: relative;
    counter-increment: flowlist;
    overflow: hidden;
}

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

.main .flowList li:after {
    content: '';
    background: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 50px 0 50px;
    border-color: #209354 transparent transparent transparent;
    transform: none;
    bottom: 0;
    top: inherit;
    left: 10%;
}

.main .flowList li:last-child {
    padding: 0;
    margin-bottom: 50px;
}

.main .flowList li:last-child::after {
    content: none;
}

.main .flowList li h3 {
    padding: 0 0 5px 5em !important;
    font-size: 35px !important;
    line-height: 1.2;
    margin: 0 0 20px 5px !important;
    display: block;
    background: none;
    border: none;
    border-bottom: #ff7a00 solid 3px;
    position: relative;
}

.main .flowList li h3:before {
    content: 'STEP ' counter(flowlist);
    font-family: 'Oswald', Gadget, sans-serif;
    font-size: 32px;
    color: #fff;
    position: absolute;
    bottom: 5px;
    left: 35px;
    border: none;
    z-index: 1;
}

.main .flowList li h3:after {
    background: #ff7a00;
    content: "";
    margin-right: 10px;
    display: block;
    height: 1.5em;
    position: absolute;
    left: 8px;
    bottom: -3px;
    -webkit-transform: skew(-25deg);
    transform: skew(-25deg);
    width: 150px;
    z-index: 0;
}

.main .flowList li p {
    font-size: 18px;
}

.flowList-img {
    width: 30%;
    position: relative;
    overflow: hidden;
    display: block;
    float: left;
    margin: 0 40px 0 0;
}


.flowList-img:before {
    content: '' !important;
    display: block;
    padding-top: 60%;
}

.flowList-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main .flowList li p strong {
    color: #d00;
    font-weight: normal;
}

.main .flowList li p img {
    display: block;
    margin: auto;

}

.problem {
    padding: 0 0 60px;
}

.problem .sec-inner {
    max-width: 980px;
    width: auto;
    margin: 0 auto;
    padding: 0 10px;
}

.problem h2 {
    position: relative;
    margin: 60px 0;
    font-size: 44px;
    line-height: 1.4;
    font-weight: 900;
}

.problem h2 span {
    font-size: 44px;
    color: #eb6120;
    font-weight: 900;
}

.problem h2::after {
    position: absolute;
    bottom: -30px;
    left: calc(50% - 51px);
    content: '';
    width: 100px;
    height: 5px;
    background: #eb6120;
}

.picBox99 {
    overflow: hidden;
    position: relative;
    margin: 0 0;
    padding: 10px 10px;
    background: #FFFFFF;
}

.picBox99 .photo {
    float: right;
    width: 300px;
    height: 230px;
    position: relative;
    overflow: hidden;
}

.picBox99 .photo a {
    text-decoration: none;
}

.picBox99 .photo 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;
}

.picBox99 .photo span.after {
    position: absolute;
    top: 5px;
    left: 5px;
    background: #f17c2d;
    display: inline-block;
    z-index: 10;
    font-size: 15px;
    font-weight: bold;
    color: #FFF;
    padding: 2px 5px;
    line-height: 1.4;
}

.picBox99 .btmPhoto {
    position: relative;
    height: 150px;
    width: 190px;
    padding-bottom: 0;
}

.picBox99 .btmPhoto a {
    text-decoration: none;
}

.picBox99 .btmPhoto 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; */
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.picBox99 .btmPhoto span.before {
    position: absolute;
    top: 5px;
    left: 5px;
    background: #f17c2d;
    display: inline-block;
    z-index: 10;
    font-size: 15px;
    font-weight: bold;
    color: #FFF;
    padding: 2px 5px;
    line-height: 1.4;
}

.picBox99 .btmPhoto:before {
    position: absolute;
    bottom: -65px;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 10;

    right: -50px;
    bottom: -80px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 32px solid transparent;
    border-left: 45px solid #ff0000;
}

.picBox99 .btmPhoto:after {
    position: absolute;
    bottom: -65px;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 10;

    right: 15px;
    width: 80px;
    height: 80px;
    border: 0px solid transparent;
    border-bottom: 30px solid #ff0000;
    border-radius: 0 0 0px 75px;
    z-index: 0;
}

.main .worksListLtl article.type02 {
    background: none;
    border: none;
}

.worksListLtl article.type02 .works_summary h3 {
    padding-top: 10px;
}

.mainMV {
    width: 1000px;
    margin: 30px auto 0;
}

.mainMV img {
    width: 1000px;
    height: auto;
}

/* 2024.05.01 */

/* .main h2.fullWidth {
    border-top: none;
    background: #f17c2d;
    color: #fff;
    font-size: 36px !important;
    font-weight: normal;
    text-align: center !important;
    box-shadow: none !important;
    position: relative !important;
    width: 100% !important;
    padding: 15px 0 !important;
    line-height: 1.2;
    margin-bottom: 35px;
}

.main h2.fullWidth strong {
    color: #fff;
}

.main h2.fullWidth::before {
    display: none;
} */

/*----comLowpriceWhy-----*/

.main .lowpriceWhy {
    margin-bottom: 0;
}

.main .lowpriceWhy .catchTtl {
    font-size: 29px !important;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
}

.main .lowpriceWhy .catchTtl strong {
    color: #ff0000;
}

.main .lowpriceWhy .highCost {
    background: #209354;
    padding: 25px;
    margin-top: 25px;
}

.main .lowpriceWhy .highCost h3 {
    color: #fff;
    font-size: 50px;
    font-weight: normal;
    padding: 0;
    margin: -5px 0 0;
    background: none;
    border-top: none;
    text-align: center !important;
    line-height: 1.3;
    display: block;
}

.main .lowpriceWhy .highCost h3::before {
    display: none;
}

.main .lowpriceWhy .highCost h3 strong {
    font-weight: normal;
}

.main .lowpriceWhy .highCost ul {
    position: relative;
    display: flex;
    justify-content: center;
}

.main .lowpriceWhy .highCost ul li {
    background: #1A7643;
    padding: 10px;
    width: 300px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin: 0 25px 0 0;
    position: relative;
}

.main .lowpriceWhy .highCost ul li:before,
.main .lowpriceWhy .highCost ul li:after {
    content: none;
}

.main .lowpriceWhy .highCost ul li:last-child {
    margin-right: 0;
}

.main .lowpriceWhy .highCost ul li img {
    margin-bottom: 10px;
}


.main .lowpriceWhy .highCost ul li h4 {
    border-radius: 50%;
    background: #ff0000;
    width: 57px;
    height: 57px;
    color: #fff;
    font-size: 13px;
    position: absolute;
    top: -10px;
    left: 3px;
    padding: 0;
    margin: 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1.2;
}

.main .lowpriceWhy .highCost ul li h4:before,
.main .lowpriceWhy .highCost ul li h4:after {
    display: none;
}

.main .lowpriceWhy .highCost ul li p {
    display: block;
    background: #fff;
    font-weight: bold;
    font-size: 23px;
    padding: 10px;
    line-height: 1.2;
    margin-bottom: 0;
}

/*----comLowpriceReason-----*/

.main .lowpriceReason {
    margin-bottom: 30px;
    padding-top: 0;
}

.main .lowpriceReason h3 {
    font-size: 20px;
    border-top: #209354 solid 5px;
    padding: 5px 7px;
    margin-bottom: 30px;
    color: #333;
    background: #eee;
    display: block;
}

.main .lowpriceReason h3::before {
    display: none;
}

.main .lowpriceReason .lowcost ul {
    position: relative;
    overflow: hidden;
}

.main .lowpriceReason .lowcost ul li {
    background: #209354;
    padding: 25px;
    width: 540px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin: 20px 20px 0 0;
    position: relative;
}

.main .lowpriceReason .lowcost ul li:nth-child(2n) {
    margin-right: 0;
}

.main .lowpriceReason .lowcost ul li:nth-child(-n + 2) {
    margin-top: 0;
}

.main .lowpriceReason .lowcost ul li:before,
.main .lowpriceReason .lowcost ul li:after {
    content: none;
}

.main .lowpriceReason .lowcost ul li.fullW {
    margin-right: 0;
    width: 100%;
}

.main .lowpriceReason .lowcost ul li h4 {
    background: #1A7643;
    color: #fff;
    padding: 10px;
    font-size: 30px;
    margin: 0 0 30px;
}

.main .lowpriceReason .lowcost ul li.fullW h4 {
    padding: 0 25px;
}

.main .lowpriceReason .lowcost ul li h4 img {
    width: 100%;
    height: auto;
}

.main .lowpriceReason .lowcost ul li h4::before {
    display: none;
}

.main .lowpriceReason .lowcost ul li h4::after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: 25px solid transparent;
    border-top: #1A7643 solid 25px;
    top: 100%;
    left: 50%;
    margin-left: -25px;
    border-radius: 0;
    background: none;
}

.main .lowpriceReason .lowcost ul li h4 span {
    display: inline-block;
    line-height: 1.3;
    padding-top: 5px;
}

.main .lowpriceReason .lowcost ul li.fullW span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    padding: 0;
}

.main .lowpriceReason .lowcost ul li h4 span.reasonIco {
    background: url(./img/common/comLowprice_ico.png) no-repeat center center;
    color: #fff;
    width: 110px;
    height: 110px;
    font-size: 23px;
    padding: 0;
    margin: -10px 10px 0 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-direction: column;
    /*IE10*/
    -webkit-flex-direction: column;
    flex-direction: column;
    float: left;
}

.main .lowpriceReason .lowcost ul li.fullW span.reasonIco {
    margin-top: 0;
}

.main .lowpriceReason .lowcost ul li h4 span strong {
    font-size: 13px;
    line-height: 1.2;
    margin-top: 5px;
}

.main .lowpriceReason .lowcost ul li p {
    font-size: 30px;
    color: #fff;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 0;
}

.main .lowpriceReason .lowcost ul li .compareBox {
    background: #fff;
    padding: 30px 25px;
}

.main .lowpriceReason .lowcost ul li .compareBox h6::before,
.main .lowpriceReason .lowcost ul li .compareBox h6::after {
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: content-box;
}

.main .lowpriceReason .lowcost ul li .compareBox h6::before {
    width: 16px;
    height: 16px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #209354;
}

.main .lowpriceReason .lowcost ul li .compareBox h6::after {
    left: 4px;
    top: 10px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.main .lowpriceReason .lowcost ul li .compareBox h6:first-child {
    margin-top: 0;
}

.main .lowpriceReason .lowcost ul li .compareBox img {
    margin: 0 auto;
    display: block;
}

.main .lowpriceReason .lowcost ul li .compareBox hr {
    border-top: #333 dotted 1px;
    display: block;
    margin-top: 25px;
}

/*----comQuality-----*/

.main .qualityBox .catchTtl {
    position: relative;
    font-size: 45px !important;
    font-weight: bold;
    margin-top: 10px;
    text-align: left !important;
    line-height: 1.2;
}

.main .qualityBox .catchTtl .txtL {
    font-size: 78px;
    line-height: 1.2;
}

.main .qualityBox .catchTtl .catchIco {
    float: left;
    margin-top: -10px;
}

.main .qualityBox h3 {
    font-size: 20px;
    border-top: #209354 solid 5px;
    padding: 5px 7px;
    margin-bottom: 30px;
    color: #333;
    background: #eee;
    display: block;
}

.main .qualityBox h3::before {
    display: none;
}

.main .qualityBox h3 span {
    border-radius: 4px;
    background: #ff0000;
    color: #fff;
    display: inline-block;
    padding: 0px 10px;
    margin: 10px;
    font-size: 20px;
}

.main .qualityBox h3 strong {
    color: #ff0000;
}

.main .qualityBox .catchTxt {
    font-size: 23px;
}

.main .qualityBox ul {
    margin-bottom: 20px;
}

.main .qualityBox .photoUL li {
    width: 316px;
    margin: 0 26px 0 0;
}

.main .qualityBox .photoUL li:nth-child(3n) {
    margin-right: 0;
}

.main .qualityBox .photoUL li img {
    position: relative;
    top: inherit;
    left: inherit;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.main .qualityBox .flowWall-notice {
    display: none;
}

.main .qualityBox p {
    font-size: 16px;
}

/* /2024.05.01 */