@charset "UTF-8";
/* CSS Document */



/*////////////////////////////////
reset
////////////////////////////////*/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, .searchBox, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

.grecaptcha-badge { visibility: hidden; }

/*////////////////////////////////
 common
////////////////////////////////*/

html {

}
body {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: #fff!important;
}

a:hover {
    opacity: 0.6;
}
p {
    font-size: 16px;
}

.text-s {
    font-size: 12px;
}

header div.header-top{
    background: #f3f1f1;
    color: #4c4c4c;
    font-size: 12px;
    padding:9px 20px;
    overflow:hidden;
}
header div.header-top h1{
    float: left;
}
header div.header-top p{
    float: right;
    font-size: 12px;
}
header div.header-second{
    overflow:hidden;
    padding:13px 20px 5px;
}
header div.header-second img.header-logo{
    float:left;
}
header div.header-second div.header-contact{
    float:right;
    overflow:hidden;
}
header div.header-second div.header-contact div.phone{
    float:left;
/*    overflow:hidden;*/
}
header div.header-second div.header-contact div.phone img{
    float:left;
}
header div.header-second div.header-contact div.phone p{
    float:left;
    font-size:30px;
    text-align:left;
    line-height: 0.6;
    padding-top: 10px;
    padding-left:15px;
}
header div.header-second div.header-contact div.top-contact{
    float:right;
    padding-left: 30px;
}


#keyvisual{
    background:url(../img/kv_bg.png)no-repeat;
    padding-top:55px;
    padding-bottom:60px;
    background-size: cover;
    border-bottom: 2px solid #cdcbcb;
}
#keyvisual .kvtxt {
    text-align: center;
}
#keyvisual img{
    margin: 0 auto;
}





/*////////////////////////////////
main
////////////////////////////////*/

.pc {
    display: block!important;
}
.sp {
    display: none !important;
}

/* news */
.news{
    background: #edf1f7;
    text-align: center;
    height: 160px;
    overflow: hidden;
}
.news-detail {
    width: 1000px;
    margin: 0px auto;
    overflow: hidden;
    height: auto;
    padding: 30px 0;
}
.news-left {
    float: left;
    padding: 0 38px 0 0;
    margin: 0 45px 0 0;
    height: auto;
}
.news-left p {
    padding: 21px 0 0;
}
.news-head {
    font-size: 40px;
    font-family: 'DIN Alternate';
    color: #000;
}
.news-sub {
    font-size: 16px;
    color: #000;
}
.news-right {
    float: left;
    overflow: hidden;
    height: 100px;
}
.news-right li {
    text-align: left;
    margin-top: 20px;
    line-height: 1.5em;
}
.news-right a{
  color: -webkit-link;
  text-decoration: underline;
}
@media screen and (max-width: 1499px) {
.news{
     height: auto;
}
  .news-detail {
       width: 70vw;
       padding: 1vw 0;
  }
  .news-left {
       padding: 0;
       margin: 0 3vw 0 0;
       height: auto;
  }
  .news-left p {
       padding: 1.4vw 0 0;
  }
  .news-head {
       font-size: 2.67vw;
  }
  .news-sub {
      font-size: 1.03vw;
  }
  .news-right {
      height: auto;
      border-left: solid .07vw #556c8d;
      padding: 0 0 0 4vw;
      margin: 10px 0;
  }
  .news-right ul li {
      text-align: left;
      line-height: 1.5;
      margin: 0px 0 10px;
  }
  .news-right .news-date {
      color: #828282;
      font-size: 14px;
  }
}

.subcontact {
    background:url(../img/bg_subcon.jpg)no-repeat;
    text-align: center;
    padding: 4% 0;
    background-size: cover;
}
.subcontact .txt {
    color: #fff;
    font-size: 24px;
    margin-bottom: 1em;
}
.subcontact a {
    display: inline-block;
}
.about,
.promise,
.price,
.flow,
.case,
.faq,
#contact {
    width: 1000px;
    margin: 8em auto 8em;
}
.about .h2_tit {
    font-size: 40px;
    font-weight: bold;
    text-align: center
}
.about .list {
    margin: 4em 0 0;
}
.about .list li {
    font-size: 20px;
    color: #fff;
    background: #3d5367;
    position: relative;
    width: 31.9%;
    display: inline-block;
    vertical-align: top;
    padding: 2em 0;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 3%;
    margin-right: 1.5%;
    height: 56px;
}
.about .list li span {
    font-weight: bold;
}
.about .list li:before {
    content: "";
    position: absolute;
    width: 42px;
    height: 42px;
    background: url(../img/icon_check.png)no-repeat;
    left: 1em;
    top: -1em;
}
.about .list li:nth-child(3n) {
    margin-right: 0;
}
.abouttxt {
    margin: 3% 1% 0;
}
.abouttxt img {
    vertical-align: top;
}
.abouttxt p {
    display: inline-block;
    vertical-align: top;
    margin-left: 2%;
    font-size: 34px;
    line-height: 1.4;
    width: 70%;
    font-weight: bold;
}
.abouttxt p span {
    font-size: 36px;
    background: #fcfc8a;
}
.about {
    position: relative;
}
.about:after {
    content: "";
    width: 320px;
    height: 175px;
    position: absolute;
    background: url(../img/yajirushi.png)no-repeat;
    bottom: -12em;
    left: 50%;
    margin-left: -160px;
    }
.h3_tit {
    font-size: 46px;
    font-weight: bold;
    text-align: center;
    position: relative;
    margin-bottom: 2em;
}
.price>.h3_tit{
    margin-bottom: 2.8em;
}
.h3_tit span {
    display: block;
}
.h3_tit:after {
    content: "";
    position: absolute;
    width: 40px;
    height: 4px;
    background: #cad2d9;
    bottom: -0.7em;
    right: 50%;
    margin-right: -20px;
}
#contact>.h3_tit:after{
    background:#415A73;
}
.subcontact2 {
    background: url(../img/bg_subc.jpg)no-repeat;
    text-align: center;
    padding: 6% 0;
    background-size: cover;
}
.subcontact2 .tit {
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    line-height: 1.6;
}
.subcontact2 .tit img {
    vertical-align: -17px;
    padding-right: 0.3%;
}
.subcontact2 .txt {
    color: #fff;
    font-size: 18px;
    line-height: 1.6;
    margin: 2em 0;
}
/*
.promise .promiseList {
    display: flex;
}
*/
.promise .promiseList li {
    width: 30%;
    margin-right: 4%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    position: relative;
}
.promise .promiseList li:first-child:before {
    content: "";
    width: 85px;
    height: 66px;
    position: absolute;
    top: 0em;
    background: url(../img/icon_promise1.png)no-repeat;
}
.promise .promiseList li:nth-child(2):before{
    content: "";
    width: 85px;
    height: 66px;
    position: absolute;
    top: 0em;
    background: url(../img/icon_promise2.png)no-repeat;
}
.promise .promiseList li:last-child {
    margin-right: 0;
}
.promise .promiseList li:last-child:before {
    content: "";
    width: 85px;
    height: 66px;
    position: absolute;
    top: 0em;
    background: url(../img/icon_promise3.png)no-repeat;
}
.promise .promiseList li dl dt {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 6%;
}
.promise .promiseList li dl dt>span{
    font-size: 22px;
}
.promise .promiseList li dl dd {
    text-align: left;
    line-height: 1.4;
}

.color {
    background: #f4f4f0;
    padding: 1em 0;
}

.price .priceList {
    display: flex;
    margin: 0 2em;
}
.price .priceList li {
    width: 46%;
    margin-right: 4%;
    display: block;
    text-align: center;
    border: 4px solid #cfd7de;
    background: #fff;
    position: relative;
    padding: 2.5em 0 1em;
}
.price .priceList li:last-child {
    margin-right: 0;
}
.price .priceList li .tit {
    font-size: 24px;
    color: #fff;
    background: #1c3073;
    width: 60%;
    margin: 0 auto;
    padding: 2% 0;
    border-radius: 20px;
    position: absolute;
    top: -1em;
    left: 50%;
    margin-left: -129px;
}

.flow .flowList {
    margin: 8em 0 0;
    position: relative;
    padding-top: 45em;
    background: url(../img/bg_flow.png)no-repeat center center;
    background-size: contain;
}
/*
.flow .flowList:before {
    content: "";
    width: 20px;
    height: 500px;
    background: url(../img/bg_flow.png)no-repeat;
    position: absolute;
}
*/
.flow .flowList .box {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    background: #1476c1;
    width: 35%;
    border-radius: 8px;
    color: #fff;
    padding: 3%;
    position: absolute;
}
.flow .flowList dl {
    position: relative;
}
.flow .flowList .box:nth-child(odd) dl:after {
    content: "";
    right: -5em;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 24px solid transparent;
    border-left: 36px solid #1476c1;
    position: absolute;
    top: 50%;
    margin-top: -18px;
}
.flow .flowList .box:nth-child(even) dl:before {
    content: "";
    left: -5em;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 24px solid transparent;
    border-right: 36px solid #1476c1;
    position: absolute;
    top: 50%;
    margin-top: -18px;
}

.flow .flowList dl dt {
    font-size: 26px;
    margin-bottom: 1em;
    position: relative;
}
.flow .flowList dl dt:before {
    content: "";
    position: absolute;
    width: 54px;
    height: 54px;
    left: -2em;
    top: -2.3em;
}
.flow .flowList .box:first-child dl dt:before{
    background: url(../img/icon_1.png)no-repeat center center;
    background-size: 100%;
}
.flow .flowList .box:nth-child(2) dl dt:before{
    background: url(../img/icon_2.png)no-repeat center center;
    background-size: 100%;
}
.flow .flowList .box:nth-child(3) dl dt:before{
    background: url(../img/icon_3.png)no-repeat center center;
    background-size: 100%;
}
.flow .flowList .box:last-child dl dt:before{
    background: url(../img/icon_4.png)no-repeat center center;
    background-size: 100%;
}
.flow .flowList dl dt span {
    font-size: 18px;
}
.flow .flowList dl dd {
    line-height: 1.6;
}
.flow .flowList .box:first-child {
    left: 0;
    top: -5em;
}
.flow .flowList .box:nth-child(2) {
    right: 0;
    top: 2em;
}
.flow .flowList .box:nth-child(3) {
    left: 0;
    top: 14em;
}
.flow .flowList .box:last-child {
    right: 0;
    bottom: 5em;
}

.flow .txt,
.case .txt {
    text-align: center;
    line-height: 1.6;
    margin-bottom: 2em;
}

.color2 {
    background: #f4f4f0;
    padding: 1em 0;
}

.case .box {
    background: #153766;
    padding: 2%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    margin-bottom: 2em;
}
.case .box .left {
    width: 41%;
    display: inline-block;
    padding: 3%;
    padding: 1.5%;
    vertical-align: top;
}
.case .box .left .h4tit {
    color: #f2fb4d;
    font-size: 26px;
    border-bottom: 1px solid #fff;
    padding: 3% 0;
    margin-bottom: 4%;
}
.case .box .left .txt {
    color: #fff;
    text-align: left;
    line-height: 1.6;
}
.case .box .right {
    width: 50%;
    display: inline-block;
    background: #33537b;
    vertical-align: top;
    margin-left: 3em;
    position: relative;

}
.case .box .right:before {
    content: "";
    width: 50px;
    height: 50px;
    position: absolute;
    background: url(../img/icon_casey.png)no-repeat;
    left: -2em;
    top: 50%;
    margin-top: -25px;
}
.case .box .right .tit {
    background: #287cbf;
    text-align: center;
    color: #fff;
    padding: 2% 0;
    font-size: 20px;
}
.case .box .right .txt {
    text-align: left;
    color: #fff;
    margin: 5% 8%;
}
.case .box .right dl {
    background: #287cbf;
    color: #fff;
    margin: 2% 8%;
    padding: 3% 4%;
}
.case .box .right dl dt {
    display: inline-block;
    width: 40%;
    font-size: 20px;
}
.case .box .right dl dd {
    display: inline-block;
    width: 40%;
    font-size: 20px;
}
.case .box .right dl dd span {
    font-size: 24px;
}
.case .box .right dl:last-child {
    margin: 0 8% 5%;
}

.faq .faqbox {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
}
.faq .faqbox dl {
    margin-bottom: 2em;
}
.faq .faqbox dt{
    font-size: 22px;
    color: #fff;
    background: #174c7f;
    padding: 2% 2% 2% 8%;
    background-image: url(../img/icon_faQ.png);
    background-repeat: no-repeat;
    background-position: 10px;
}
.faq .faqbox dd {
    background-image: url(../img/icon_fAq2.png);
    background-repeat: no-repeat;
    padding: 2% 6% 2% 8%;
    border: 1px solid #174c7f;
    background-position: 10px 10px;
}
.faq .faqbox span {
    font-size: 22px;
    font-weight: bold;
}
.center {
    text-align: center;
    margin-top: 4em;
}
.center a {
    display: inline-block;
}
.color3 {
    background: #0f3152;
    color: #fff;
    padding: 1em 0;
}
#contact .txt {
    text-align: center;
    line-height: 1.6;
    margin-bottom: 1.8em;
}
#contact .iconlist {
    text-align: center;
    margin: 6% 0;
}

#contact table tr th{
    width: 28%;
    font-weight: bold;
    vertical-align: top;
    text-align: left;
    position: relative;
    line-height: 1.6;
    color: #fff;
    padding: 4% 0
    /*margin-top: 1em;*/
}
#contact table {
    width: 90%;
    margin-bottom: 5%;
    margin: 0 auto;
}
#contact table tr:first-child {
    border-top: 1px solid #365572;
}
#contact table tr {
    /*padding: 2%;*/
    padding: 0 1%;
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #365572;
    display: flex;
    align-items: flex-start;
}
#contact table tr.cancel {
    padding-bottom: 4%;
    line-height: 1.2em;
}
#contact table tr td {
/*  padding: 0 0 0 4%;
    vertical-align: middle;*/
    padding: 4.5% 0 0 4%;
    width: 66%;
    font-size: 14px;
}
#contact table tr td .error {
    color: #f00;
    display: block;
    font-weight: bold;
    font-size: 16px;
    margin-top: 30px;
}
#contact table tr.cancel td .error {
    margin-top: -20px;
}

#contact table tr .mustIcon{
    display: inline-block;
    background: #e4274b;
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    padding: 4px 12px;
    float: right;
    border-radius: 10px;
    position: absolute;
    right: 0;
}
#contact table tr td .textarea {
    width: 94%;
    height: 127px;
    background: #385c7f;
    color: #fff;
    border: none;
    padding: 2%;
    margin: -2% 0 4% 0;
}
#contact table tr td input {
    width: 94%;
    border-radius: 5px;
    border: none;
    padding: 2%;
    font-size: 14px;
    color: #fff;
    background: #385c7f;
}
#contact input::placeholder {
    color: #9eb5cc;
}
#contact textarea::placeholder {
    color: #9eb5cc;
}
#contact .complete {
    text-align: center;
    line-height: 1.5em;
}
p.formBtn{
    text-align: center;
    position: relative;
}
/*フォームPC*/
@media all and (min-width: 0) and (min-width: 768px){
    #contact table tr td {
        position: relative;
    }
    #contact table tr td input {
        top: 27px;
        position: absolute;
    }
}

input.go2{
    width:500px;
    background: -webkit-linear-gradient(#EF4022,#F0624A);
    background: -o-linear-gradient(#EF4022,#F0624A);
    background: linear-gradient(#F0624A,#EF4022);
    border: none;
    color: #fff;
    font-size: 24px;
    border-radius: 50px;
    margin-top: 50px;
    padding: 13px 0px 13px 0;
}
p.formBtn:after{
    content: "";
    width: 35px;
    height: 35px;
    position: absolute;
    background: url(../img/btn_contact-i.png)no-repeat;
    bottom: 14px;
    right: 270px;
}


p.last-btn input.go2{
    width: 80%;
    font-size: 20px;
    padding: 10px 0px 10px 30px;
    border-radius: 5px;
    background-position: 20% 50%;
}

#contact .button {
    text-align: center;
    margin-top: 3em;
}
#contact .button .btn {
    background: none;
    border: none;
    cursor: pointer;
}
#contact .button .btn.btnback {
    background: #b2b1b0;
    width: 20%;
    margin-right: 3%;
    padding: 2%;
    border-radius: 33px;
    font-size: 16px;
}
#contact .button.confirm {
    display: flex;
    justify-content: center;
}



.bottom {
    position: relative;
}

#page_top {
    text-align: right;
    position: absolute;
    bottom: 2em;
    right: 1em;
}

div.footer-before{
    padding-top:35px;
    padding-bottom:30px;
    text-align: center;
}
footer {
    color: #bebcbc;
    font-size: 12px;
    text-align: center;
}
#foot{
    background: #2d2c2d;
}
div.foot{
    width: 960px;
    margin: 0 auto;
    text-align: left;
    background: #2d2c2d;
    color: #a5a3a3;
    overflow: hidden;
    padding:45px 10px;
}
div.foot div.textbox{
    float:left;
    line-height:1.8;
}
div.foot div.textbox p.text-nano{
    font-size:10px;
    padding-top:25px;
}
div.foot .linkBox {
    margin-top: 30px;
    flex-direction: row;
}
div.foot .linkBox ul.mgr10 {
    margin-right: 10px;
}
div.foot .linkBox ul li:first-child {
    margin-bottom: 15px;
}
div.foot .linkBox>ul>li {
    padding: 0;
    color: #b9b7b7;
}
div.foot .linkBox ul li a {
    font-size: 10px;
    letter-spacing: 1px;
    color: #b9b7b7;
}
div.foot .linkBox>ul>li.lifoot1,div.foot .linkBox>ul>li.lifoot2 {
    padding-top: 15px;
}
div.foot div.textbox p.text-nano a {
    font-weight: bold;
    color: #b9b7b7;
}
div.foot{
    padding: 20px 20px 20px;
    color:#bebcbc;
    font-size:12px;
}
div.foot .map {
    width: 510px;
    height: 270px;
    float: right;
}
div.foot .linkBox {
    display: flex;
}
.pagetop {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  bottom: 0;
  right: 0;
  color: #fff;
}
.pagetop.show {
  visibility: visible;
  opacity: 1;
}





@media all and (min-width: 0) and (max-width: 767px){

    .pc {
        display: none !important;
    }
    .sp {
        display: block!important;
    }

    img{
        width:100%;
    }
    .text-m{
        font-size: 13px;
    }
    div.wrap{
        margin:0 auto;
        padding:3%;
    }
    header div.header-top{
        text-align: left;
        padding: 2%;
    }
    header div.header-top h1{
        float: left;
    }
    header div.header-top p{
        float: right;
    }
    header div.header-second{
        padding:0;
        width:100%;
        border-bottom:none;
    }
    header div.header-second img.header-logo{
        float:left;
        width: 38%;
        padding: 1.5% 3% 2% 3%;
    }
    header div.header-second div.header-contact{
        width:55%;
        display: flex;
        align-items: center;
        border-left: 1px solid #d3d2d1;
    }
    header div.header-second div.header-contact div.phone{
        width:37%;
        float: none;
    }
    header div.header-second div.header-contact div.phone a {
        display: inline-block;
        padding: 25%;
    }
    header div.header-second div.header-contact div.phone img{
        float:none;
        width:100%;
    }
    header div.header-second div.header-contact div.top-contact{
        padding-left: 0px;
        width:100%;
        float: none;
    }
    header div.header-second div.header-contact div.top-contact a{
        background: #f97e00;
    }
    header div.header-second div.header-contact div.top-contact img{
        width:100%;
    }
    #keyvisual {
        background: url(../img/kvsp_bg.png)no-repeat;
        padding-top: 1.1em;
        padding-bottom: 2em;
        background-size: cover;
        border-bottom: none;
    }
    #keyvisual .kvtxt {
        margin: 0 4%;
    }

    /* news */
    .news {
      height: auto;
    }
    .news-detail {
      width: 90%;
      height: auto;
      padding: 2vw 0;
    }
    .news-left{
      height: auto;
    }
    .news-left p {
      line-height: 1;
    }
    .news-head{
      font-size: 3.67vw;
    }
    .news-right {
      width: 70vw;
      height: auto;
      margin: 0;
    }
    .news-right ul li {
      margin-top: 1vw;
      padding: 0;
      font-size: 2.2vw;
      height: auto!important;
    }
    .news-right .news-date{
      font-size: 2.2vw;
    }

    .subcontact .txt {
        font-size: 3.4vw;
    }
    .subcontact {
        padding: 8% 4% 6%;
    }
    .about, .promise, .price, .flow, .case, .faq ,#contact {
        width: auto;
        margin: 3em 4% 4em;
    }
    .about .h2_tit {
        font-size: 5.5vw;
    }
    .about .list {
        margin: 1.2em 0 0;
        overflow: hidden;
    }
    .about .list li {
        width: 90%;
        height: auto;
        font-size: 3.4vw;
        text-align: left;
        margin-right: 0;
        padding: 5% 0 5% 12%;
        margin: 0 0 1% 0;
    }
    .about .list li span {
        font-weight: normal;
    }
    .about .list li:before {
        content: "";
        position: absolute;
        width: 22px;
        height: 22px;
        background: url(../img/icon_check.png)no-repeat;
        left: 1em;
        top: 1.1em;
        background-size: 100%;
    }
    .abouttxt {
        margin: 3% 0;
    }
    .abouttxt img {
        width: 35%;
    }
    .abouttxt p {
        width: 60%;
        font-size: 4.2vw;
    }
    .abouttxt p span {
        font-size: 4.4vw;
    }
    .about:after {
        content: "";
        width: 150px;
        height: 87px;
        position: absolute;
        background: url(../img/yajirushi.png)no-repeat;
        bottom: -5.8em;
        left: 50%;
        margin-left: -75px;
        background-size: 100%;
    }
    .subcontact2 .tit img {
        width: 56%;
        vertical-align: -10px;
        padding-right: 1%;
    }
    .subcontact2 .tit {
        font-size: 5.2vw;
    }
    .subcontact2 .txt {
        text-align: left;
        font-size: 3.6vw;
    }
    .h3_tit {
        font-size: 6vw;
        margin-bottom: 1.8em;
    }
    .price>.h3_tit{
        margin-bottom: 2.8em;
    }
    .h3_tit:after {
        top: 1.5em;
        width: 30px;
        height: 3px;
    }
    .promise>.h3_tit:after{
        top: 2.8em;
    }
    .h3_tit span {
        width: 34%;
        margin: 0 auto 2%;
    }
    .promise .promiseList li {
        width: 100%;
        display: flex;
        margin-top: 5em;
    }
    .promise .promiseList li > img {
        width: 40%;
        height: 100%;
    }
    .promise .promiseList li dl {
        text-align: left;
    }
    .promise .promiseList li dl dt {
        font-size: 5vw;
        margin-bottom: 0;
        padding-bottom: 4%;
    }
    .promise .promiseList li dl dt>span{
        font-size: 5vw;
    }
    .promise .promiseList li dl dd {
        font-size: 3.5vw;
    }
    .promise .promiseList li:first-child:before {
        content: "";
        width: 100%;
        height: 66px;
        position: absolute;
        top: -3.5em;
        background: url(../img/iconsp_promise1.png)no-repeat;
        background-size: 100%;
    }
    .promise .promiseList li:nth-child(2):before {
        content: "";
        width: 100%;
        height: 66px;
        position: absolute;
        top: -3.5em;
        background: url(../img/iconsp_promise2.png)no-repeat;
        background-size: 100%;
    }
    .promise .promiseList li:last-child:before {
        content: "";
        width: 100%;
        height: 66px;
        position: absolute;
        top: -3.5em;
        background: url(../img/iconsp_promise3.png)no-repeat;
        background-size: 100%;
    }
    .price .priceList {
        margin: 0;
        display: block;
    }
    .price .priceList li {
        width: 100%;
        margin-right: 0;
    }
    .price .priceList li .tit {
        font-size: 4vw;
        margin-left: -30%;
    }
    .price .priceList li:first-child {
        margin-bottom: 8%;
    }
    .price .priceList li:first-child img {
        width: 60%;
    }
    .price .priceList li:last-child img {
        width: 70%;
    }
    .flow .txt, .case .txt {
        font-size: 3.7vw;
        text-align: left;
        margin-bottom: 1em;
    }
    .flow .flowList {
        width: 100%;
        padding-top: 0;
        margin: 2.5em 0 0;
        background: url(../img/bgsp_flow.png)no-repeat center center;
        padding-bottom: 8%;
        background-size: contain;
    }
    .flow .flowList .box {
        width: 88%;
        margin-bottom: 8%;
        position: static;
        padding: 6%;
    }
    .flow .flowList .box:nth-child(odd) dl:after,
    .flow .flowList .box:nth-child(even) dl:before{
        display: none;
    }
    .flow .flowList dl dt {
        font-size: 5vw;
    }
    .flow .flowList dl dt:before {
        content: "";
        position: absolute;
        width: 40px;
        height: 40px;
        left: -1.8em;
        top: -2.1em;
    }
    .flow .flowList dl dd {
        font-size: 3.8vw;
    }
    .flow .center {
        margin-top: 0;
    }
    .case .box {
        padding: 4%;
        margin-bottom: 1em;
    }
    .case .box .left {
        width: 100%;
    }
    .case .box .left span img {
        width: auto;
    }
    .case .box .right {
        width: 100%;
        margin-left: 0;
    }
    .case .box .left .h4tit {
        font-size: 5vw;
    }
    .case .box .right .tit {
        font-size: 4vw;
    }
    .case .box .right dl dt {
        font-size: 4vw;
    }
    .case .box .right dl dd {
        font-size: 4vw;
    }
    .case .box .right dl dd span {
        font-size: 5vw;
    }
    .case .box .right:before {
        display: none;
    }
    .case .box .right .txt {
        margin: 5%;
    }
    .case .box .right dl {
        margin: 2% 5%;
    }
    .case .box .right dl:last-child {
        margin: 0 5% 5%;
    }
    .case .center {
        margin-top: 2em;
    }
    .faq {
        margin: 3em 0 2em;
    }
    .faq .faqbox dl {
        margin-bottom: 0;
        border-top: 1px solid #174c7f;
    }
    .faq .faqbox dl:last-child {
        border-bottom: 1px solid #174c7f;
    }
    .faq .faqbox dd {
        display: none;
        background: #fcecf2;
        background-image: url(../img/icon_fAq2.png);
        background-repeat: no-repeat;
        background-size: 8%;
        padding: 4% 4% 4% 12%;
        background-position: 8px 8px;
        border: none;
        font-size: 3.8vw;
        line-height: 1.2;
    }
    .faq .faqbox span {
        font-size: 4vw;
    }
    .faq .faqbox dl dt {
        position: relative;
        font-size: 4.2vw;
        padding: 5% 6% 5% 11%;
        background: none;
        background-image: url(../img/icon_faQ.png);
        background-repeat: no-repeat;
        color: #000;
        font-weight: bold;
        background-size: 8%;
        background-position: 8px;
        line-height: 1.2;
    }
    .faq .faqbox dl dt:after {
        content: "";
        width: 20px;
        height: 14px;
        position: absolute;
        background: url(../img/iconsp_btn.png)no-repeat;
        background-size: 100%;
        right: 0.4em;
    }
    #contact .txt {
        font-size: 3.8vw;
    }
    #contact .iconlist {
        width: 70%;
        margin: 0 auto 6%;
    }
    #contact table {
        width: 100%;
    }
    #contact table tr {
        display: inline-block;
    }
    #contact table tr th {
        width: 100%;
        margin-top: 0.4em;
        padding-bottom: 0.2em;
        display: inline-block;
    }
    #contact table tr td {
        width: 100%;
        padding: 1% 0 0;
        display: inline-block;
        margin-bottom: 1em;
    }
    #contact table tr.cancel td{
        margin-top: 2%;
    }
    #contact table tr td .error{
        margin-top: 10px;
    }
    #contact table tr.cancel td .error{
        margin-top: -10px;
    }
    #contact table tr .mustIcon {
        position: inherit;
        float: none;
        margin-left: 3%;
    }
    #contact .button.confirm {
        display: inline-block;
    }
    #contact .button .btn.btnback {
        width: 96%;
        padding: 5% 0;
        margin: 0 auto 5%;
    }
    input.go2 {
        width: 100%;
        font-size: 15px;
        padding: 10px 0px 10px 0;
    }
    p.formBtn:after{
        background: url(../img/btn_contact-i2.png)no-repeat;
        bottom: 0px;
        right: 4vw;
    }


    #page_top {
        text-align: center;
        padding: 5% 0 0;
    }
    #page_top img {
        width: auto;
    }
    div.footer-before {
        border-top: 1px solid #cccccc;
        padding: 1em 0;
        /*margin-top: 1.2em;*/
    }
    div.footer-before a img {
        width: auto;
    }


    footer{
        padding:0px;
        color:#bebcbc;
        font-size:12px;
    }
    div.foot .linkBox {
        margin-bottom: 30px;
    }
    div.foot .map {
        width: 100%;
        float: none;
        height: auto;
    }
    #foot{
        background: #2d2c2d;
    }
    div.foot{
        width: 94%;
        padding:3%;
    }
    div.foot img{
        margin-top: 10px;
        width: 65%;
    }
    div.foot div.textbox{
        float:none;
        line-height:1.8;
    }
    div.foot div.textbox p.text-nano{
        font-size:12px;
        padding-top:25px;
        padding-bottom:3%;
    }
    div.foot div.textbox p.text-nano a{
        color: #a5a3a3;
    }
    div.foot div.textbox div.plateinc{
        overflow:hidden;
        padding-top:3%;
        padding-bottom:3%;
    }
    div.foot div.textbox div.plateinc div.left-box{
        float:left;
        padding-right: 5%;
        width: 45%;
    }
    div.foot div.textbox div.plateinc p{
        font-size:16px;
    }
    div.foot div.textbox div.plateinc p.text-mini{
        font-size:14px;
        padding-top:10px;
    }
    div.foot .linkBox ul:nth-child(2) {
        margin-top: 15px;
    }
    .copy {
        font-size: 3vw;
        text-align: center;
        padding: 2% 0;
    }
    .pagetop{
        right: 15px;
        bottom: 20px;
      }
    .pagetop * {
        width: 45px;
    height: 45px;
    }


    @media all and (min-width: 0) and (max-width: 414px) {


    }
    @media all and (min-width: 0) and (max-width: 375px) {

    }
@media all and (min-width: 0) and (max-width: 320px) {


    }
}


section#company_all {
    background: #fff;
}

section#company_all h2 {
    padding-top: 20px;
    padding-bottom: 30px;
    font-size: 2.4vw;
    text-align:center;
    font-weight: bold;
}

section#company_all .h2_big {
    font-size: 2.6vw;
    position: relative;
    line-height: 1.4;
}

section#company_all .h2_big::before{
    content:'';
    background: url(../img/img_backslash.png) no-repeat;
    background-size: contain;
    display: block;
    width: 4vw;
    height: 4vw;
    position: absolute;
    left: -4.5vw;
    bottom: 0;
}

section#company_all .h2_big::after{
    content:'';
    background: url(../img/img_slash.png) no-repeat;
    background-size: contain;
    display: block;
    width: 4vw;
    height: 4vw;
    position: absolute;
    right: -4.5vw;
    bottom: 0;
}

section#company_all .h2-blue {
    color: #029ff1;
    font-size: 3.8vw;
}

section#company_all div.company_box {
    width: 980px;
    margin: 0 auto;
    padding-top: 10px
}

section#company_all div.company_box ul.company_list {
    font-size: 0;
}

section#company_all div.company_box ul.company_list li {
    display: inline-block;
    width: 100px;
    margin-right: 40px;
    margin-bottom:40px;
}

section#company_all div.company_box ul.company_list li:nth-child(7n) {
    margin-right: 0;
}

section#company_all div.company_box ul.company_list li img {
    width: 100%;
}



@media all and ( max-width:768px ) {
    /* 実績企業 */

    section#company_all h2 {
        padding-top: 5%;
        padding-bottom: 3%;
        font-size: 5vw;
    }

    section#company_all .h2_big{
        font-size: 6vw;
    }

    section#company_all .h2_big::before{
        width: 7vw;
        height: 7vw;
        left: -7.5vw;
    }

    section#company_all .h2_big::after{
        width: 7vw;
        height: 7vw;
        right: -7.5vw;
    }

    section#company_all .h2-blue{
        font-size: 7.5vw;
    }

    section#company_all div.company_box {
        width: 85%;
        margin: 0 auto;
        padding: 2% 0 7%;
    }

    section#company_all div.company_box ul.company_list {
        font-size: 0;
    }

    section#company_all div.company_box ul.company_list li {
        display: inline-block;
        width: 45%;
        margin-right: 10%;
        margin-bottom: 5%;
    }

    section#company_all div.company_box ul.company_list li:nth-child(7n) {
        margin-right: 10%;
    }

    section#company_all div.company_box ul.company_list li:nth-child(2n) {
        margin-right: 0;
    }

    section#company_all div.company_box ul.company_list li img {
        width: 100%;
    }
  }
