@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-family: bebas-neue-pro, sans-serif;
font-family: fot-udkakugo-large-pr6n, sans-serif;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
  color: #333333;
  line-height: 1.8; 
  background: #fff;
}
a {
  color: #42b52f; 
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clickable a, .clickable a:hover {
  color: #333;
}
img {width: 100%; height: auto;}
.flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.inrContent {width: 90%; max-width: 1200px; margin-right: auto; margin-left: auto;}

/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header .hdBtnContact a {display: block; font-weight: 600; color: #fff; background: #eeb300; border-radius: 5px; border-bottom: 3px solid #dca600; text-align: center; padding: 15px 25px;}
#header .hdBtnContact a span {padding-left: 2.5rem; position: relative;}
#header .hdBtnContact a span::before { font-family: 'Material Icons'; content: "\e158"; position: absolute; left: 0; top: 50%; font-weight: normal; font-size: 1.9rem; line-height: 1; transform: translateY(-50%);}

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {background: #333333; color: #fff; }
#ftWrapContact { padding: 65px 0 70px; text-align: center; background: url("../img/common/bg-ftContact-01.jpg") center center no-repeat; background-size: cover;}
.ftInrContact {width: 90%; max-width: 990px; margin: 0 auto;}
.ftInrContact h2 {font-size: 2.8rem; line-height: 1.4; margin-bottom: 30px; font-weight: 600;}
.ftInrContact h2 span {font-size: 2.2rem; display: block;font-family: bebas-neue-pro, sans-serif; letter-spacing: 0.15rem; font-weight: normal;}
.ftContact {width: 47.5%; background: rgba(255,255,255,0.7); padding: 35px 50px; color: #333; font-size: 1.4rem;}
.ftContact h3 {font-size: 2rem; margin-bottom: 10px; font-weight: 600;}
.ftNumTel {font-family: bebas-neue-pro, sans-serif; font-size: 4rem; line-height: 1; margin-bottom: 5px;}
.ftNumTel span {position: relative; letter-spacing: 0.15rem;}
.ftNumTel span::before { font-family: 'Material Icons'; content: "\e0b0"; position: absolute; left: -4rem; top:4px; font-size: 3.7rem; font-weight: normal; color: #549534;}
.ftBtnContact a {display: block; font-weight: 600; color: #fff; background: #eeb300; border-radius: 5px; border-bottom: 3px solid #dca600; text-align: center; padding: 20px 25px; font-size: 2rem;}
.ftBtnContact a span {padding-left:3rem; position: relative;}
.ftBtnContact a span::before { font-family: 'Material Icons'; content: "\e158"; position: absolute; left: 0; top: 50%; font-weight: normal; font-size: 2.2rem; line-height: 1; transform: translateY(-50%);}
#ftWrapInfo {padding: 60px; font-size: 1.4rem;}
#ftWrapInfo .ftAddress {width: 22%;}
#ftWrapInfo .ftArea {width: 75%;}
#ftWrapInfo .ftAddress h2 {font-size: 1.8rem;}
#ftWrapInfo .ftAddress p {margin-top: 10px;}
#ftWrapInfo .ftArea h2 {background: #4d4d4d; padding: 7px 20px; font-size: 1.6rem; font-weight: 600;}
#ftWrapInfo .ftArea dl dt {font-weight: 600; margin-top: 15px;}
#ftWrapInfo .ftArea dl dd {font-size: 1.2rem;}
#ftNavi {background: #242424; text-align: center; padding: 30px 5%;}
#ftNavi a {color: #fff;}
#navFooter {margin-bottom: 20px; font-size: 0;text-align: center;}
#navFooter li {font-size: 1.4rem; display: inline-block; padding: 0 15px; border-left: 1px solid #fff; line-height: 1.2;}
#navFooter li:first-child {border-left: 0;}
.copy{font-size: 1.2rem;}

#pagetop {
  position: fixed;
  bottom: 4%;
  right: 3%;
	z-index: 5;
}
#pagetop a {
  display:block;
  width: 50px;	height: 50px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #42b52f;
  text-align:center;
  color: #fff;
  text-decoration:none;
  line-height: 50px;
  font-size: 128.6%	;
}

/* ----------------------------------------------------
home (common)
---------------------------------------------------- */
#homVisual {display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: 650px; position: relative; margin-bottom: 120px;}
#homVisual .homTxtVisual {width: 90%; max-width: 1300px; position: relative; z-index: 2; font-family: fot-udkakugo-large-pr6n, sans-serif;}
#homVisual .homTxtVisual p {margin-bottom: 0;}
#homVisual .homTxtVisual h2 {font-size: 4.8rem; font-weight: 600; line-height: 1.4; margin-bottom: 40px;}
#homVisual::after {content: "";  position: absolute; right: 0; top: 0; width: 76%; height: 100%; background: url("../img/home/img-homVisual-01.jpg")right center no-repeat; background-size: cover; z-index: 1; }
#homVisual::before {content: ""; width: calc(100% - 60px); height: 58%; position: absolute; left: 0; bottom: -60px; background: #f2f6e4; z-index: 0;}

#homProblem {position: relative; padding-top: 95px; z-index: 1;}
#homProblem::before {content: ""; width: 68%; height: calc(100% - 60px); position: absolute; left: 0; top: 0; background: #b9d6ef url("../img/home/bg-homReason-01.jpg") left center no-repeat; background-size: auto 100%;}
#homProblem::after {content: ""; width: 100%; height: 150px; position: absolute; left: 0; bottom: 0; background: #f6f5f1; z-index: -1;}
#homProblem .inrContent {text-align: right; position: relative; z-index: 2;}
#homProblem .inrContent .homContProblem {background: #fff; display: inline-block; text-align: left; padding: 65px 65px 50px; width: 46.25%; position: relative;}
#homProblem .inrContent .homContProblem::before {content: ""; width:70px; height: 111px; position: absolute; right: 35px; top: -35px; background: url("../img/home/ic-homReason-01.png") center center no-repeat; background-size: contain;}
#homProblem .inrContent .homContProblem h2 {text-align: center; font-weight: 600; font-size: 2rem; margin-bottom: 30px;} 
#homProblem .inrContent .homContProblem ul {margin: 0; font-size: 1.5rem;}
#homProblem .inrContent .homContProblem ul li {margin: 8px 0;}

#homService {background: #f6f5f1; padding: 120px 0 130px;  position: relative; overflow: hidden;}
#homService::after {content: "";  position: absolute; left: 50%; bottom: 0; background: #fff; width: 180%; height: 400px; transform: translate(-60%, 60%)rotate(-10deg); transform-origin: center top; z-index: 0;}
#homService .inrContent {position: relative; z-index: 1;}
#homService h2 {text-align: center; font-weight: 600; font-size: 2.8rem; margin-bottom: 70px; position: relative;}
#homService h2::before {content: ""; position: absolute; left: 50%; top: -70px; background: url("../img/home/ic-homService-01.png") center center no-repeat; background-size: contain; width: 34px; height: 47px; transform: translateX(-50%);}
.homContService {background: #fff; border-bottom: 3px solid #e7e4d8;}
.homService-2 {width: 48.7%; margin-bottom: 30px;}
.homService-3 {width: 31.6%;}
.homImgService {display: flex; display: -webkit-flex; justify-content: center; align-items: center; color: #fff; height: 210px; background-size: cover; background-repeat: no-repeat; background-position: center center;}
.homImgService h3 {font-size: 2.6rem; font-weight: 600; text-align: center; line-height: 1.5;}
.homImgService h3 span {font-size: 2rem; display: block;font-family: bebas-neue-pro, sans-serif; font-weight: normal; letter-spacing: 0.1rem;}
.homTxtService {padding: 35px 40px 40px; font-size: 1.5rem;}
.homTxtService .homBtnService {margin: 30px 0 0;}
.homTxtService .homBtnService a {width: 100%; max-width: 330px; margin: 0 auto; display: block; text-align: center; border: 1px solid #656565; padding: 15px; color: #333; position: relative;}
.homTxtService .homBtnService a:hover {background: #f6f5f1;}
.homTxtService .homBtnService a::before {content: ""; width: 55px; height: 1px; background: #656565; position: absolute; right: -25px; top: 50%; }
.homTxtService .homBtnService a::after {content: ""; width: 12px; height: 1px;  background: #656565; position: absolute; right: -25px; top: 50%; transform-origin: right center; transform: rotate(45deg);}

.homService-01 .homImgService {background-image: url("../img/home/bg-homService-01.jpg");}
.homService-02 .homImgService	{background-image: url("../img/home/bg-homService-02.jpg");}
.homService-03 .homImgService {background-image: url("../img/home/bg-homService-03.jpg");}
.homService-04 .homImgService {background-image: url("../img/home/bg-homService-04.jpg");}
.homService-05 .homImgService {background-image: url("../img/home/bg-homService-05.jpg");}

#homReason { margin: 45px auto 50px; font-size: 1.5rem; position: relative; z-index: 5;}
#homReason .flex {margin-bottom: 80px; position: relative; }
#homReason .homTxtReason {width: 54%; padding: 35px 0;}
#homReason .homImgReason {width: 40.8%;}
.homTxtReason h2 {font-size: 2.8rem; font-weight: 600; margin-bottom: 70px;}
.homTxtReason h2 span {position: relative;}
.homTxtReason h2 span::after {content: ""; width: 27px; height: 47px; position: absolute; right: -50px; bottom: 5px; background: url("../img/home/ic-homAbout-01.png") center center no-repeat; background-size: contain;}
.homTxtReason h3 {font-size: 1.8rem; font-weight: 600; margin: 40px 0 15px;}

.homBtnCommon {margin: 0 auto; width: 100%; max-width: 330px; }
.homBtnCommon a {display: block; text-align: center; border: 1px solid #656565; padding: 20px; color: #333; position: relative;}
.homBtnCommon a:hover {background: #f6f5f1;}
.homBtnCommon a::before{content: ""; width: 55px; height: 1px; background: #656565; position: absolute; right: -25px; top: 50%; }
.homBtnCommon a::after  {content: ""; width: 12px; height: 1px;  background: #656565; position: absolute; right: -25px; top: 50%; transform-origin: right center; transform: rotate(45deg); }

#homWorks {background: #e7f6ef; padding: 230px 0 90px; position: relative; overflow: hidden;}
#homWorks::before {content: ""; width: 150%; height: 400px; background: #dfede7; position: absolute; left: 0; top: 0; transform-origin: left bottom;transform: translate(0, -120%) rotate(12deg); z-index: 1;}
#homWorks::after  {content: ""; width: 150%; height: 400px; background: #fff; position: absolute; right: 0; top: 0; transform-origin: right top; transform: translate(0, -100%)  rotate(-8deg); z-index: 2;}
#homWorks h2 {font-size: 2.8rem; font-weight: 600; margin-bottom: 50px; text-align: center; position: relative; z-index: 3;}
#homWorks h2::before {content: ""; width: 59px; height: 88px; background: url("../img/home/ic-homWorks-01.png") center center no-repeat; background-size: contain; position: absolute; left: 50%; top: -110px; transform: translateX(-50%);}
#homWorks .flex {margin-bottom: 80px;}
.homContWorks {width: 31.6%; background: #fff;}
.homContWorks .homTxtWorks {padding: 30px 40px;}
.homContWorks .homTxtWorks  p {margin: 0; font-size: 1.4rem;}
.homImgWorks {margin-bottom: 0;}
#homWorks .homBtnCommon a {background: #fff;}

#homInfo {padding: 120px 0;  }
#homInfo ul {margin: 0;}
#homInfo ul  li {width: 48%; }
#homInfo ul  li  a {height: 260px; display: flex; display: -webkit-flex; justify-content: center; align-items: center; text-align: center;  color: #fff; background-repeat: no-repeat; background-size: cover; background-position: center center;}
#homInfo ul  li  a p {margin: 0; font-size: 2.8rem; font-weight: 600; line-height: 1.5;}
#homInfo ul  li  a span {display: block; font-family: bebas-neue-pro, sans-serif; font-size: 2.2rem;}

.homFlow a {background-image: url("../img/home/bg-homFlow-01.jpg");}
.homFAQ a {background-image: url("../img/home/bg-homFAQ-01.jpg");}


/* ----------------------------------------------------
common parts (common)
---------------------------------------------------- */
#visual {display: flex; justify-content: center; align-items: center; height: 230px; background: url("../img/page/common/bg-visual-01.jpg") center center no-repeat; background-size: cover;}
#visual h2 {text-align: center; font-size: 2.8rem; font-weight: 600; line-height: 1.5; text-shadow: 2px 2px 5px white, -2px -2px 5px white, -2px 2px 5px white, 2px -2px 5px white;}
#visual h2 span {display: block; text-transform: uppercase; font-family: bebas-neue-pro, sans-serif; letter-spacing: 0.15rem; font-size: 1.8rem;}

.topicPath {width: 90%; margin: 10px auto; font-size: 0;}
.topicPath li {display: inline-block;font-size: 1.2rem; }
.topicPath li:not(:first-child) {margin-left: 20px; position: relative;}
.topicPath li:not(:first-child)::before {content: ""; width: 6px; height: 6px; border-top: 1px solid #333; border-right: 1px solid #333; position: absolute; left: -13px; top: 50%; transform: translate(0,-50%) rotate(45deg);}

.pageTitle {text-align: center; font-size: 2.8rem; font-weight: 600; margin: 40px 0 60px; padding-bottom: 20px; background: url("../img/page/common/bg-pagetitle-01.png") center bottom no-repeat; background-size: 38px 6px;}

.listDot li { padding-left: 1.6rem; position: relative;}
.listDot li::before {content: ""; width: 6px; height: 6px; border-radius: 50%; background: #42b52f; position: absolute; left: 0; top: 12px;}

/* ----------------------------------------------------
about (common)
---------------------------------------------------- */
.abtIntro {overflow: hidden; margin: 30px auto;}
.abtImgIntro {width: 28.75%; float: right; margin: 0 0 30px 70px;}
.abtWrapFeature {position: relative; width: 90%; margin: 120px auto; min-height: 450px;}
.abtWrapFeature::before {content: ""; width: 42%; height: 450px; position: absolute; top: 0; background-size: cover; background-position: center center; background-repeat: no-repeat;}
.abtWrapFeature.abtFeature-R::before {left: 0;}
.abtWrapFeature.abtFeature-L::before {right: 0;}
.abtWrapFeature .inrContent {position: relative; z-index:1; width: 100%;}
.abtFeature-R .inrContent {text-align: right;}
.abtTxtFeature {width: 54%; text-align: left; display: inline-block; position: relative; padding-top:20px; }
.abtTxtFeature h2 {font-size: 3.8rem; line-height: 1.5; margin-bottom: 50px; position: relative; z-index: 2;}
.abtNumFeature { font-family: bebas-neue-pro, sans-serif;  font-size: 16rem; color: #e1e1e1; margin: 0; line-height: 1; position: absolute; right: 0; top: -30px; z-index: 1;}
.abtListCar {width: 100%; max-width: 1200px; margin:  40px auto 0;}
.abtListCar  h3 {font-weight: 600; font-size: 1.8rem; margin-bottom: 20px;}
.abtListCar ul {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.abtListCar ul li {width: 23%; }
.abtListCar ul li p {margin: 10px 0 0; font-size: 1.4rem;}

.abtFeature-01.abtWrapFeature::before {background-image: url("../img/page/about/bg-abtContent-01.jpg");}
.abtFeature-02.abtWrapFeature::before {background-image: url("../img/page/about/bg-abtContent-02.jpg");}
.abtFeature-03.abtWrapFeature::before {background-image: url("../img/page/about/bg-abtContent-03.jpg");}

/* ----------------------------------------------------
service (common)
---------------------------------------------------- */
.srvIntro {position: relative; margin-bottom: 160px;}
.srvIntro h3 {font-size: 3rem; margin-bottom: 20px;}
.srvIntro .srvWrapList {background: #f3f3f3; padding: 35px 40px; position: relative;}
.srvWrapList ul, .srvWrapList p {margin: 0;}
.srvWrapList ul li {margin: 10px 0; padding-left: 28px; position: relative;}
.srvWrapList ul li::before { font-family: 'Material Icons'; content: "\e834"; position: absolute; left: 0; top: -4px; color: #39b333; font-size: 2rem;}
.srvWrapList .srvImgIntro {position: absolute; right: 30px; bottom: 20px; width: 270px; }

.srvCont {width: 100%;margin: 0 auto 60px; position: relative;}
.srvCont::before {content: ""; width: 49%; height: calc(100% - 90px ); position: absolute; top: 0; background-repeat: no-repeat; background-size: cover; }
.srvCont-odd.srvCont::before {left: 0;}
.srvCont-even.srvCont::before {right: 0;}
.srvInrCont {width: 90%; max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; padding-top: 60px;}
.srvCont-odd .srvInrCont {text-align: right;}
.srvTxtCont { text-align: left; width: 65%; background: rgba(255,255,255,0.9); display: inline-block; min-height: 450px;}
.srvTxtCont  p {line-height: 1.9;}
.srvTxtCont p:last-child {margin-bottom: 0;}
.srvCont-odd .srvTxtCont {padding: 45px 0 60px 60px;}
.srvCont-even .srvTxtCont {padding: 0  60px 60px 0;}

#service01.srvCont::before {background-image: url("../img/page/service/bg-srvCont-01.jpg"); background-position: left center;}
#service02.srvCont::before {background-image: url("../img/page/service/bg-srvCont-02.jpg"); background-position: right center;}
#service03.srvCont::before {background-image: url("../img/page/service/bg-srvCont-03.jpg"); background-position: left center;}
#service04.srvCont::before {background-image: url("../img/page/service/bg-srvCont-04.jpg"); background-position: right center;}
#service05.srvCont::before {background-image: url("../img/page/service/bg-srvCont-05.jpg"); background-position: left center;}

.hA {font-size: 3.8rem; color: #39b333; line-height: 1.5; margin-bottom: 60px; position: relative;}
.hA::before {content: ""; width: 55px; height: 2px; background: #39b333; position: absolute; left: 0; bottom: -20px;}

/* ----------------------------------------------------
works (common)
---------------------------------------------------- */
.wrkRead {width: 90%; margin: 0 auto; text-align: center;}
.wrkWrapper {margin-bottom: 160px;}
.wrkContent {margin: 100px 0 0 ;}
.wrkContent .wrkRequest {background:#f6f5f1; padding: 30px; }
.wrkContent .wrkRequest h4 {font-weight: 600; font-size: 2rem; margin-bottom: 10px; position: relative; color: #39b333; }
.wrkContent .wrkRequest p:last-child {margin-bottom: 0;}
.wrkContent .wrkImg {margin: 30px 0; position: relative;}
.wrkContent .wrkImg li {width: 48%; position: relative;}
.wrkContent .wrkImg::before {content: ""; width: 20px; height: 20px; border-top: 2px solid #aaa; border-right: 2px solid #aaa; position: absolute; left: 50%; top: 50%; transform: translate(-75%, -50%) rotate(45deg);}
.wrkContent .wrkImg li span {display:block; position: absolute; left: 0; top: 0; width: 100px; padding: 10px; color: #fff; line-height: 1; background: #78cb5c; text-align: center; font-size: 1.4rem;}
.wrkContent .wrkImg li:first-child span {background: #818181;}

/* ----------------------------------------------------
flow (common)
---------------------------------------------------- */
.flwWrap {width:90%; max-width: 960px; margin: 0 auto 160px;}
.flwCont {border-bottom: 1px solid #bebebe; position: relative; margin: 60px 0; padding: 0 0 60px;}
.flwCont:not(:last-child)::before {content: ""; width: 54px; height: 28px; background: url("../img/page/flow/bg-homFlowArrow-01.png") center bottom no-repeat; background-size: contain; position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 100%);}
.flwNum {text-align: center; margin-bottom: 10px;}
.flwNum span {background: #39b333; color: #fff; padding: 5px 30px;}
.flwCont h2 {text-align: center; font-size: 2.4rem; font-weight: 600; color: #39b333; margin-bottom: 35px;}
.flwFlex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.flwFlex .flwTxt {width: 60%;}
.flwFlex .flwImg {width: 35%;}
.flwFlex .flwTxt  p:last-child{ margin-bottom: 0;}

.flwFirst {text-align: center;}
.flwContact {width: 72%; margin:30px auto 0; background: #f0f0f0; padding: 30px;}
.flwTel {width: 42%; padding-top: 5px; text-align: right;}
.flwWeb {width: 45%;}
.flwNumTel {font-family: bebas-neue-pro, sans-serif; font-weight: 600; font-size: 3.6rem; line-height: 1; margin: 0; letter-spacing: 0.15rem;}
.flwNumTel span {position: relative; }
.flwNumTel  span::before { font-family: 'Material Icons'; content: "\e0b0"; position: absolute; left: -3.6rem; top: 2px; font-size: 3.4rem; font-weight: normal;}
.flwTimeTel {margin: 0; font-size: 1.4rem;}
.flwWeb a {display: block; font-weight: 600; color: #fff; background: #eeb300; border-radius: 5px; border-bottom: 3px solid #dca600; text-align: center; padding: 18px 25px;}
.flwWeb a span {padding-left: 2.5rem; position: relative;}
.flwWeb a span::before { font-family: 'Material Icons'; content: "\e158"; position: absolute; left: 0; top: 50%; font-weight: normal; font-size: 1.9rem; line-height: 1; transform: translateY(-50%);}

/* ----------------------------------------------------
faq (common)
---------------------------------------------------- */
.faqWrapper {margin-bottom: 160px;}
.faqQ {font-weight: 600; font-size: 1.8rem; position: relative; color: #39b333; background: #f6f5f1; padding:  10px 15px 10px 65px; border-radius: 5px;}
.faqQ span {position: absolute; left: 0; top: 0; width: 50px; height: 100%; border-radius: 5px; background: #39b333; color: #fff; display: flex; display: -webkit-flex; justify-content: center; align-items: center;}
.faqA {position: relative; padding-left: 65px; margin: 20px 0 50px;}
.faqA p {margin: 0; padding-top: 10px;}
.faqA span {position: absolute; left: 0; top: 0; width: 50px; height: 50px; border-radius: 5px; background: #ee748b; color: #fff; display: flex; display: -webkit-flex; justify-content: center; align-items: center;  font-size: 1.8rem; }

/* ----------------------------------------------------
company (common)
---------------------------------------------------- */
.comWrapper {margin-bottom: 160px;}
.tblA {width: 100%; margin: 0; table-layout: fixed;}
.tblA  th {width: 20%; background: #eee; font-weight: normal; padding: 15px; border: 1px solid #ddd;}
.tblA  td {padding: 15px; border: 1px solid #ddd;}
.comMap {width: 100%; height: 450px; margin-top: 60px; }

/* ----------------------------------------------------
contact (common)
---------------------------------------------------- */
.conWrapper {margin-bottom: 160px;}
.conTelBlock  {background:#f6f5f1; padding: 30px; text-align: center; margin-bottom: 40px; font-size: 1.4rem;}
.conTelBlock p {margin: 0;}
.conTelBlock h3 {font-weight: 600; font-size: 2rem; margin-bottom: 15px;}
.conTelBlock .conTelNum {font-family: bebas-neue-pro, sans-serif; font-weight: 600; font-size: 3.8rem; line-height: 1; margin: 0 0 5px; letter-spacing: 0.15rem; color: #42b52f;}
.conTelBlock .conTelNum span {position: relative; }
.conTelBlock .conTelNum span::before { font-family: 'Material Icons'; content: "\e0b0"; position: absolute; left: -3.6rem; top: 4px; font-size: 3.4rem; font-weight: normal; color: #42b52f;}

.tblContact {margin: 40px 0 0;}
.tblContact td p.error {margin: 0; color: red; font-size: 1.4rem;}
.tblContact td input.inputA {width: 60%;}
.tblContact td input.inputB {width:20%;}
.tblContact td input.inputC {width: 80%;}
.tblContact td textarea {width: 100%; height: 120px;}
.tblContact .require {background: #C10000; color: #fff; font-size: 1.2rem; margin-left: 10px; padding:1px 5px; font-weight: 600;}

.conError {margin: 30px 0; border: 1px solid red; padding: 30px;}
.conError p {font-weight: 600; color: red; margin-bottom: 10px;}
.conError ul {margin-bottom: 0;}

.btnSubmit {text-align: center; margin: 40px 0 0 ;}
.btnSubmit li {margin: 0 15px; display: inline-block;}
.btnPrimary {border: 0; font-weight: 600; color: #fff;	background: #eeb300;	border-radius: 5px;	border-bottom: 3px solid #dca600;	text-align: center;	padding: 15px 25px; width: 300px;}
.btnNegative{border: 0; font-weight: 600; color: #fff;	background: #aaa;	border-radius: 5px;	border-bottom: 3px solid #999;	text-align: center;	padding: 15px 25px; width: 150px;}
.btnPrimary:hover {  opacity: .8 !important; filter: alpha(opacity=80);  text-decoration: none; transition: all 0.2s ease-in-out;}

.conThanks {text-align: center;}
.conThanks h3 {font-weight: 600; font-size: 2.4rem; color: #42b52f; margin-bottom: 30px;}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=80) !important;	opacity: .8 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}

/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
#header {padding: 20px 60px 10px; display: flex; display: -webkit-flex; justify-content: space-between; }
#header #hd-logo img {width: 318px; height: auto;}
#header .hdInfo {display: flex; display: -webkit-flex; justify-content: flex-end; margin-bottom: 5px;}
#header .hdInfo .hdWrapTel { font-size: 1.2rem; margin:10px 20px 0 0;}
#header .hdInfo .hdNumTel {font-family: bebas-neue-pro, sans-serif; font-weight: 600; font-size: 3.2rem; line-height: 1;}
#header .hdInfo .hdNumTel span {position: relative; letter-spacing: 0.15rem;}
#header .hdInfo .hdNumTel span::before { font-family: 'Material Icons'; content: "\e0b0"; position: absolute; left: -3.2rem; top: 3px; font-size: 3rem; font-weight: normal;}
#header #navGlobal {display: flex; display: -webkit-flex;}
#header #navGlobal li:not(:last-child) {margin-right: 35px;}
#header #navGlobal li a {display: block; color: #333; font-weight: 600; padding: 15px 0;}
#header #navGlobal li a:hover, #header #navGlobal li a.parentsLink, #header #navGlobal li a.current {color:#42b52f; }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {
/* ----------------------------------------------------
header(<1200)
---------------------------------------------------- */
#header {padding: 1.66vw 5vw 0.83vw;}
#header #hd-logo img {width: 26.5vw;}
#header .hdInfo {margin-bottom: 0.4vw;}
#header .hdInfo .hdWrapTel { font-size: 1vw; margin:0.83vw 1.66vw 0 0;}
#header .hdInfo .hdNumTel {font-size: 2.66vw;}
#header .hdInfo .hdNumTel span::before { left: -2.66vw; top: 0.25vw; font-size: 2.5vw; }
#header .hdBtnContact a {border-radius: 0.4vw; padding: 1.25vw 2.08vw;}
#header .hdBtnContact a span {padding-left: 2.08vw; }
#header .hdBtnContact a span::before {top: -0.3vw; font-size: 1.58vw;}
#header #navGlobal li:not(:last-child) {margin-right: 2.9vw;}
#header #navGlobal li a {padding: 1.25vw 0;}

/* ----------------------------------------------------
footer (<1200)
---------------------------------------------------- */
#ftWrapContact { padding: 5.4vw 0 5.8vw;}
.ftInrContact h2 {font-size: 2.3vw; margin-bottom: 2.5vw; }
.ftInrContact h2 span {font-size: 1.83vw; }
.ftContact {padding: 2.9vw 4.16vw;  font-size: 1.16vw;}
.ftContact h3 {font-size: 1.66vw; margin-bottom: 0.83vw; }
.ftNumTel {font-size: 3.3vw;  margin-bottom: 0.4vw;}
.ftNumTel span::before {left: -3.3vw; top:0.3vw; font-size:3.08vw;}
.ftBtnContact a {border-radius: 0.4vw; padding: 1.66vw 2.08vw; font-size: 1.66vw;}
.ftBtnContact a span {padding-left: 2.5vw; }
.ftBtnContact a span::before { top: -0.3vw; font-size:1.83vw;}
#ftWrapInfo {padding: 5vw; font-size: 1.16vw;}
#ftWrapInfo .ftAddress h2 {font-size: 1.5vw;}
#ftWrapInfo .ftAddress p {margin-top: 0.83vw;}
#ftWrapInfo .ftArea h2 { padding: 0.58vw 1.66vw; font-size: 1.33vw; }
#ftWrapInfo .ftArea dl dt {margin-top: 1.25vw;}
#ftWrapInfo .ftArea dl dd {font-size: 1vw;}
#ftNavi {padding: 2.5vw 5%;}
#navFooter {margin-bottom: 2.5vw; }
#navFooter li {font-size: 1.16vw;  padding: 0 1.25vw; }
.copy{font-size: 1vw;}

/* ----------------------------------------------------
home (<1200)
---------------------------------------------------- */
#homVisual {height: 54vw; margin-bottom: 10vw;}
#homVisual .homTxtVisual h2 {font-size: 4vw; margin-bottom: 3.3vw;}
#homVisual::before {width: calc(100% - 5vw); bottom: -5vw; }

#homProblem {padding-top: 7.9vw; }
#homProblem::before {height: calc(100% - 5vw); }
#homProblem::after {height: 12.5vw}
#homProblem .inrContent .homContProblem {padding: 5.4vw 5vw 4.16vw; width: 48%; }
#homProblem .inrContent .homContProblem::before { width: 5.8vw; height: 9.25vw; right: 2.9vw; top: -2.9vw;}
#homProblem .inrContent .homContProblem h2 {font-size: 1.66vw; margin-bottom: 2.5vw;} 
#homProblem .inrContent .homContProblem ul {font-size: 1.25vw;}
#homProblem .inrContent .homContProblem ul li {margin: 0.66vw 0;}

#homService {padding: 8.3vw 0 10.8vw;}
#homService::after {height: 33vw;}
#homService h2 {font-size: 2.3vw; margin-bottom: 5.8vw;}
#homService h2::before {top: -5.8vw; width: 2.8vw; height: 3.9vw;}
.homService-2 {margin-bottom: 2.5vw;}
.homImgService {height: 17.5vw;}
.homImgService h3 {font-size: 2.16vw; }
.homImgService h3 span {font-size: 1.66vw;}
.homTxtService {padding: 2.9vw 3.3vw 3.3vw; font-size: 1.25vw;}
.homTxtService .homBtnService {margin: 2.5vw 0 0;}
.homTxtService .homBtnService a {padding: 1.25vw; }
.homTxtService .homBtnService a::before {width: 4.58vw; right: -2.08vw;}
.homTxtService .homBtnService a::after {width: 1vw; right: -2.08vw;}

#homReason { margin: 3vw auto 6vw; font-size: 1.25vw;}
#homReason .flex {margin-bottom: 4vw;}
#homReason .homTxtReason { padding: 2.9vw 0;}
.homTxtReason h2 {font-size: 2.33vw; margin-bottom: 5.83vw;}
.homTxtReason h2 span::after {width: 2.25vw; height: 3.91vw; right: -4.16vw; bottom: 0.4vw; }
.homTxtReason h3 {font-size: 1.5vw; margin: 3.3vw 0 1.25vw;}

.homBtnCommon {max-width: 27.5vw;}
.homBtnCommon a {padding: 1.66vw; }
.homBtnCommon a::before {width: 4.58vw; right: -2.08vw;}
.homBtnCommon a::after{width: 1vw; right: -2.08vw;}

#homWorks {padding: 19.1vw 0 7.5vw; }
#homWorks::before {height: 33.3vw;}
#homWorks::after  {height: 33.3vw;}
#homWorks h2 {font-size: 2.33vw; margin-bottom: 4.16vw; }
#homWorks h2::before {width: 4.9vw; height: 7.33vw; top: -9.16vw; }
#homWorks .flex {margin-bottom: 6.6vw;}
.homContWorks .homTxtWorks {padding: 2.5vw 3.3vw;}
.homContWorks .homTxtWorks  p {font-size: 1.16vw;}

#homInfo {padding: 10vw 0;  }
#homInfo ul  li  a {height: 21.6vw;}
#homInfo ul  li  a p { font-size:2.3vw; }
#homInfo ul  li  a span {font-size: 1.83vw;}


/* ----------------------------------------------------
common parts (<1200)
---------------------------------------------------- */
#visual {height: 19vw; }
#visual h2 {font-size: 2.3vw;}
#visual h2 span { font-size: 1.5vw;}

.topicPath {margin: 0.83vw auto; }
.topicPath li {font-size: 1vw; }
.topicPath li:not(:first-child) {margin-left: 1.66vw; }
.topicPath li:not(:first-child)::before {width: 0.5vw; height: 0.5vw; left: -1.08vw; }

.pageTitle {font-size: 2.3vw; margin: 3.3vw 0 5vw; padding-bottom: 1.66vw; background-size: 3.16vw 0.5vw;}

.listDot li { padding-left: 1.3vw; }
.listDot li::before {width: 0.5vw; height: 0.5vw; top: 1vw;}

/* ----------------------------------------------------
about (<1200)
---------------------------------------------------- */
.abtIntro {margin: 2.5vw auto;}
.abtImgIntro {margin: 0 0 2.5vw 5.8vw;}
.abtWrapFeature { margin: 10vw auto; min-height: 37.5vw;}
.abtWrapFeature::before {height: 37.5vw; }
.abtTxtFeature {padding-top: 1.66vw; }
.abtTxtFeature h2 {font-size: 3.16vw; margin-bottom: 4.16vw; }
.abtNumFeature { font-size: 13.3vw; top: -1.5vw; }
.abtListCar {margin: 3.3vw auto 0;}
.abtListCar  h3 {font-size: 1.5vw; margin-bottom: 1.66vw;}
.abtListCar ul li p {margin: 0.83vw 0 0; font-size: 1.16vw;}

/* ----------------------------------------------------
service(<1200)
---------------------------------------------------- */
.srvIntro {margin-bottom: 13.3vw;}
.srvIntro h3 {font-size: 2.5vw; margin-bottom: 1.66vw;}
.srvIntro .srvWrapList { padding: 2.9vw 3.3vw; }
.srvWrapList ul li {margin: 0.83vw 0; padding-left: 2.33vw; }
.srvWrapList ul li::before { top: -0.33vw;  font-size: 1.66vw;}
.srvWrapList .srvImgIntro {right: 2.5vw; bottom: 1.66vw; width: 22.5vw; }

.srvCont {margin: 0 auto 5vw; }
.srvCont::before {height: calc(100% - 7.5vw ); }
.srvInrCont { padding-top: 5vw;}
.srvTxtCont { min-height: 37.5vw;}
.srvCont-odd .srvTxtCont {padding: 3.75vw 0 5vw 5vw;}
.srvCont-even .srvTxtCont {padding: 0  5vw 5vw 0;}

.hA {font-size:3.16vw; margin-bottom: 5vw; }
.hA::before {width: 4.58vw; bottom: -1.66vw;}

/* ----------------------------------------------------
works(<1200)
---------------------------------------------------- */
.wrkWrapper {margin-bottom: 13.3vw;}
.wrkContent {margin: 8.3vw 0 0 ;}
.wrkContent .wrkRequest {padding: 2.5vw; }
.wrkContent .wrkRequest h4 {font-size: 1.66vw; margin-bottom: 0.83vw; }
.wrkContent .wrkImg {margin: 2.5vw 0;}
.wrkContent .wrkImg::before {width: 1.66vw; height: 1.66vw;}
.wrkContent .wrkImg li span {width: 8.3vw; padding: 0.83vw;  font-size: 1.16vw;}

/* ----------------------------------------------------
flow (<1200)
---------------------------------------------------- */
.flwWrap {margin: 0 auto 13vw;}
.flwCont {margin: 5vw 0; padding: 0 0 5vw;}
.flwCont:not(:last-child)::before {width: 4.5vw; height: 2.3vw; }
.flwNum {margin-bottom: 0.83vw;}
.flwNum span {padding: 0.4vw 2.5vw;}
.flwCont h2 {font-size: 2vw; margin-bottom: 2.9vw;}
.flwContact {padding: 2.5vw; margin-top: 2.5vw;}
.flwTel {padding-top: 0.4vw; }
.flwNumTel {font-size: 3vw;}
.flwNumTel  span::before {left: -3vw; top: 0.16vw; font-size: 2.8vw; }
.flwTimeTel {font-size: 1.16vw;}
.flwWeb a {padding: 1.5vw 2.08vw;}
.flwWeb a span {padding-left: 2.08vw; }
.flwWeb a span::before {top: -0.33vw; font-size: 1.58vw;}

/* ----------------------------------------------------
faq (<1200)
---------------------------------------------------- */
.faqWrapper {margin-bottom: 13vw;}
.faqQ {font-size: 1.5vw;  padding: 0.83vw 1.25vw 0.83vw 5.4vw; }
.faqQ span {width: 4vw;}
.faqA {padding-left: 5.4vw; margin: 1.66vw 0 4.16vw;}
.faqA p { padding-top: 0.83vw;}
.faqA span {width: 4vw; height: 4vw; font-size: 1.5vw; }

/* ----------------------------------------------------
company(<1200)
---------------------------------------------------- */
.comWrapper {margin-bottom: 13vw;}
.tblA  th,.tblA  td {padding: 1.25vw; }
.comMap {height: 37.5vw; margin-top: 5vw; }

/* ----------------------------------------------------
contact (<1200)
---------------------------------------------------- */
.conWrapper {margin-bottom: 13vw;}
.conTelBlock  {padding: 2.5vw; margin-bottom: 3.3vw; font-size: 1.16vw;}
.conTelBlock h3 {font-size: 1.5vw; margin-bottom: 1.25vw;}
.conTelBlock .conTelNum { font-size: 3.16vw; margin: 0 0 0.4vw; }
.conTelBlock .conTelNum span::before {left: -3vw; top: 0.33vw; font-size:2.8vw; }
.tblContact {margin: 3.3vw 0 0;}
.tblContact td p.error {font-size: 1.16vw;}
.tblContact td textarea { height: 10vw;}
.tblContact .require {font-size: 1vw; margin-left: 0.83vw; }
.conError {margin: 2.5vw 0; padding: 2.5vw;}
.conError p {margin-bottom: 0.83vw;}
.btnSubmit {margin: 3.3vw 0 0 ;}
.btnSubmit li {margin: 0 1.25vw;}
.btnPrimary {padding: 1.25vw 2.08vw; width: 25vw;}
.btnNegative{padding: 1.25vw 2.08vw; width: 12.5vw;}
.conThanks h3 {font-size: 2vw; margin-bottom: 2.5vw;}

}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {
	#mainContainer{ width: 100%; position: relative; padding-top: 16vw;}
  
/* ----------------------------------------------------
header(sp)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 99; width: 100%; height: 16vw; background: #fff; padding: 3vw; }
#header #hd-logo img {height: 10vw; width: auto;}
.spWrapBtn {position: absolute;  right:0; top: 0;  z-index: 9999; height: 16vw; width: 16vw; background: #42b52f; display: flex; display: -webkit-flex; justify-content: center; align-items: center;}
#btnGlobal {width: 8vw; height: 6vw; position: relative;z-index: 9999;  }
#btnGlobal .btnLine { height: 3px; background: #fff; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {  top: 0;}
#btnGlobal .btnLine.btnLineM { top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB { bottom: 0; }
#btnGlobal.active .btnLine {background: #fff;}
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}
.spBtnTel {position: absolute; right: 16vw; top: 0; background: #f6f5f1; z-index: 2; height: 16vw; width: 16vw; display: flex; display: -webkit-flex; justify-content: center; align-items: center; font-size: 7vw;}
.spBtnTel .material-icons {font-size: 8vw !important; }
.spBtnTel  span {line-height: 1;}
#spGrandMenu {background: rgba(0,0,0,0.8); width: 100%; height: 100%; position: fixed; z-index: 100;  left: 0; top: 0; display: none; overflow: auto; padding: 20vw 8%;}
#spGrandMenu a {color: #fff;}
#spGrandMenu #navGlobal li { font-size: 4.8vw; border-bottom: 1px dotted #888; line-height: 1;}
#spGrandMenu #navGlobal li a {display:  block; padding: 4vw 0; position: relative;}
#spGrandMenu #navGlobal li a::after {content:""; position: absolute; right: 2vw; top: 50%; width: 2vw; height: 2vw; border-top:1px solid #fff; border-right: 1px solid #fff; transform:  rotate(45deg) translateX(-50%);}
#header .hdBtnContact {margin-top: 7vw;}
#header .hdBtnContact a {padding: 4vw; font-size: 4.8vw;}
#header .hdBtnContact a span {padding-left: 7vw; }
#header .hdBtnContact a span::before { font-size:5vw;}

/* ----------------------------------------------------
footer (sp)
---------------------------------------------------- */
#ftWrapContact { padding: 13vw 0 10vw; }
.ftInrContact h2 {font-size: 6vw; margin-bottom: 6vw; }
.ftInrContact h2 span {font-size: 5vw; }
.ftContact {width: 100%; padding: 6vw 4vw; font-size: 4vw; margin-bottom: 4vw;}
.ftContact h3 {font-size: 5vw; margin-bottom: 2vw; }
.ftNumTel {font-size: 10vw; margin-bottom: 1vw;}
.ftNumTel a {color: #333;}
.ftNumTel span::before {  left: -10vw; top: 0.8vw; font-size: 9vw; }
.ftBtnContact a {border-radius: 1vw; padding: 5vw; font-size: 4.8vw;}
.ftBtnContact a span {padding-left: 7vw; }
.ftBtnContact a span::before { font-size:5.6vw; }
#ftWrapInfo {padding: 5vw; font-size: 3.6vw;}
#ftWrapInfo .ftAddress {width: 100%;}
#ftWrapInfo .ftArea {display: none;}
#ftWrapInfo .ftAddress h2 {font-size: 4.2vw;}
#ftWrapInfo .ftAddress p {margin-top: 2vw; line-height: 1.5;}
#ftNavi {padding: 3vw}
#ftNavi a {color: #fff;}
#navFooter {display: none;}
.copy{font-size: 3vw;}

/* ----------------------------------------------------
home (sp)
---------------------------------------------------- */
#homVisual {height: 40vh; margin-bottom: 15vw;}
#homVisual .homTxtVisual {width: 90%; text-align: right; color: #fff;}
#homVisual .homTxtVisual h2 {font-size: 8vw; margin-bottom: 5vw; text-shadow: 2px 2px 5px rgba(0,0,0,0.6), -2px -2px 5px rgba(0,0,0,0.6);}
#homVisual .homTxtVisual p {text-shadow: 2px 2px 5px rgba(0,0,0,0.6), -2px -2px 5px rgba(0,0,0,0.6);}
#homVisual::after {width: 95%;}
#homVisual::before {width: 95%; bottom: -5vw; }

#homProblem {padding-top: 18vw; }
#homProblem::before {width: 90%; height:80%; }
#homProblem::after { height: 30vw; }
#homProblem .inrContent {width: 100%;}
#homProblem .inrContent .homContProblem { padding: 8vw; width: 90%; }
#homProblem .inrContent .homContProblem::before {width: 14vw; height: 22.2vw;  right: 3vw; top: -18vw; }
#homProblem .inrContent .homContProblem h2 {font-size: 5vw; margin-bottom: 4vw;} 
#homProblem .inrContent .homContProblem ul {font-size: 3.8vw;}
#homProblem .inrContent .homContProblem ul li {margin: 1.6vw 0;}

#homService {padding: 20vw 0 15vw;}
#homService::after { height: 50vw; transform:translate(-60%, 60%)rotate(-20deg);}
#homService h2 {font-size: 4.8vw; margin-bottom: 10vw;}
#homService h2::before {top: -14vw;  width: 6.8vw; height: 9.4vw; }
.homService-2 {width: 100%; margin-bottom: 6vw;}
.homService-3 {width:100%;margin-bottom: 6vw;}
.homImgService {height: 40vw; }
.homImgService h3 {font-size: 6vw;}
.homImgService h3 span {font-size: 5vw;}
.homTxtService {padding: 5vw; font-size:3.8vw;}
.homTxtService .homBtnService {margin: 6vw 0 0;}
.homTxtService .homBtnService a {padding: 3vw; }
.homTxtService .homBtnService a::before {width: 11vw; right: -4vw; }
.homTxtService .homBtnService a::after { width: 2.4vw; right: -4vw;}

#homReason { margin: 4vw auto 15vw; font-size: 3.8vw;}
#homReason .flex {margin-bottom: 10vw;}
#homReason .homTxtReason {width: 100%; padding: 0;}
#homReason .homImgReason {display: none;}
.homTxtReason h2 {font-size: 6vw; margin-bottom: 5vw;}
.homTxtReason h2 span::after {width: 5.4vw; height: 9.4vw; right: -10vw; bottom: 1vw; }
.homTxtReason h3 {font-size: 4.5vw;  margin: 8vw 0 3vw;}

.homBtnCommon a { padding: 4vw; }
.homBtnCommon a:hover {background: #f6f5f1;}
.homBtnCommon a::before{width: 11vw; right: -4vw; }
.homBtnCommon a::after{ width: 2.4vw; right: -4vw;}

#homWorks {padding: 20vw 0 18vw; }
#homWorks::before {height:60vw; }
#homWorks::after  {height: 60vw; }
#homWorks h2 {font-size: 7vw; margin-bottom: 3vw; }
#homWorks h2::before {width: 11.8vw; height: 17.6vw; top: -18vw; }
#homWorks .flex {margin-bottom: 12vw;}
.homContWorks {width: 100%; margin-top: 5vw;}
.homContWorks .homTxtWorks {padding: 5vw;}
.homContWorks .homTxtWorks  p {font-size: 3.5vw;}

#homInfo {padding: 20vw 0 15vw;  }
#homInfo ul  li {width: 100%; margin-bottom: 5vw; }
#homInfo ul  li  a {height: 50vw; }
#homInfo ul  li  a p {font-size: 7vw; }
#homInfo ul  li  a span {font-size: 5.6vw;}

/* ----------------------------------------------------
common parts (sp)
---------------------------------------------------- */
#visual {height: 40vw;}
#visual h2 {font-size: 7vw; }
#visual h2 span {font-size: 4.6vw;}

.topicPath {margin: 2vw auto;}
.topicPath li {font-size:3vw; }
.topicPath li:not(:first-child) {margin-left: 4vw; }
.topicPath li:not(:first-child)::before {width: 1.2vw; height: 1.2vw; left: -2.6vw;}

.pageTitle {font-size: 7vw; margin: 7vw 0 10vw; padding-bottom: 4vw; background-size: 7.6vw 1.2vw;}

.listDot li { padding-left: 3vw;}
.listDot li::before {width: 1.2vw; height: 1.2vw; top: 3vw;}

/* ----------------------------------------------------
about (sp)
---------------------------------------------------- */
.abtIntro {margin: 6vw auto;}
.abtImgIntro {width: 33%; margin: 0 0 3vw 3vw;}

.abtWrapFeature {width: 100%; margin: 15vw auto; min-height: inherit; padding-top: 55vw;}
.abtWrapFeature::before {width: 100%; height: 45vw;}
.abtWrapFeature .inrContent {width: 90%;}
.abtTxtFeature {width: 100%; padding-top:0; }
.abtTxtFeature h2 {font-size: 7vw;  margin-bottom: 8vw;}
.abtNumFeature { font-size: 30vw;  top: -7vw;}
.abtListCar {width: 90%; margin: 6vw auto 0;}
.abtListCar  h3 {font-size: 5vw; margin-bottom: 3vw;}
.abtListCar ul li {width: 48%; margin-bottom: 3vw;}
.abtListCar ul li p {margin: 2vw 0 0; font-size: 3.6vw;}

/* ----------------------------------------------------
service (sp)
---------------------------------------------------- */
.srvIntro {margin-bottom: 15vw;}
.srvIntro h3 {font-size: 6vw; margin-bottom: 4vw; text-align: center;}
.srvIntro .srvWrapList { padding: 5vw; }
.srvWrapList ul li {margin: 4vw 0; padding-left: 6vw; line-height: 1.6; }
.srvWrapList ul li::before {top: 0; font-size: 5vw;}
.srvWrapList .srvImgIntro {display: none;}

.srvCont {width: 100%;margin: 0 auto 10vw; padding-top: 45vw;}
.srvCont::before {width: 100%; height: 45vw; }

.srvInrCont {padding-top: 8vw;}
.srvCont-odd .srvInrCont {text-align: left;}
.srvTxtCont {width: 100%; min-height: inherit;}
.srvTxtCont  p {line-height: 1.8;}
.srvCont-odd .srvTxtCont {padding: 0;}
.srvCont-even .srvTxtCont {padding: 0;}

.hA {font-size: 6.3vw; margin-bottom: 12vw; }
.hA::before {width: 11vw;  bottom: -5vw;}

/* ----------------------------------------------------
works (sp)
---------------------------------------------------- */
.wrkWrapper {margin-bottom: 15vw;}
.wrkRead {text-align: left;}
.wrkContent {margin: 15vw 0 0 ;}
.wrkContent .wrkRequest { padding: 4vw; }
.wrkContent .wrkRequest h4 {font-size: 4.5vw; margin-bottom: 2vw;  }
.wrkContent .wrkImg {margin: 6vw 0; }
.wrkContent .wrkImg li {width: 100%; }
.wrkContent .wrkImg li:first-child {margin-bottom: 8vw;}
.wrkContent .wrkImg::before {width: 4vw; height: 4vw; left: 50%; top:50%; transform: translate(-50%, -75%) rotate(135deg);}
.wrkContent .wrkImg li span {width: 20vw; padding: 2vw; font-size: 3.8vw;}

/* ----------------------------------------------------
flow (sp)
---------------------------------------------------- */
.flwWrap {margin: 0 auto 20vw;}
.flwCont {margin: 12vw 0; padding: 0 0 12vw;}
.flwCont:not(:last-child)::before {width: 10.8vw; height: 5.6vw; }
.flwNum { margin-bottom: 4vw;}
.flwNum span {padding: 1vw 6vw;}
.flwCont h2 {font-size: 7vw; margin-bottom: 6vw; line-height: 1.4;}
.flwFlex .flwTxt {width:100%; margin-bottom: 5vw;}
.flwFlex .flwImg {width: 100%;}

.flwFirst {text-align: left;}
.flwContact {width: 100%; margin: 6vw auto 0;  padding: 6vw;}
.flwTel {width: 100%; padding-top: 0; text-align: center; margin-bottom: 4vw;}
.flwWeb {width: 100%;}
.flwNumTel {font-size: 10vw}
.flwNumTel  span::before {left: -11vw; top: 0.4vw; font-size: 9.8vw; color: #42b52f;}
.flwTimeTel {font-size: 3.6vw;}

.flwWeb a {padding: 4vw; font-size: 4.8vw;}
.flwWeb a span {padding-left: 7vw; }
.flwWeb a span::before {  font-size:5vw; }

/* ----------------------------------------------------
faq (sp)
---------------------------------------------------- */
.faqWrapper {margin-bottom: 20vw;}
.faqQ { font-size: 4.3vw; padding:  3vw 3vw 3vw 13vw; line-height: 1.5;}
.faqQ span {width: 10vw; height: 10vw; border-radius: 5px 0 50% 0;}
.faqA {padding-left: 13vw; margin: 4vw 0 8vw;}
.faqA p { padding-top: 0;}
.faqA span {width: 10vw; height: 10vw; font-size: 4.3vw; }

/* ----------------------------------------------------
company (sp)
---------------------------------------------------- */
.comWrapper {margin-bottom: 20vw; }
.tblA {border-bottom: 1px solid #ccc;}
.tblA  th {width: 100%; display: block;  padding: 3vw; border-bottom: 0;}
.tblA  td {width: 100%; display: block;  padding: 3vw; border-bottom: 0;}
.comMap { height: 80vw; margin-top: 10vw; }

/* ----------------------------------------------------
contact (sp)
---------------------------------------------------- */
.conWrapper {margin-bottom: 20vw;}
.conTelBlock  {padding: 5vw; margin-bottom: 5vw; font-size: 3.6vw}
.conTelBlock h3 {font-size: 5vw; margin-bottom: 3vw;}
.conTelBlock .conTelNum { font-size: 9vw;}
.conTelBlock .conTelNum span::before { left: -9vw; top: 0.8vw; font-size: 8.7vw; }

.tblContact {margin: 5vw 0 0;}
.tblContact td p.error {font-size: 3.6vw;}
.tblContact td input.inputA, .tblContact td input.inputB, .tblContact td input.inputC {width: 100%;}
.tblContact td textarea {height: 35vw;}
.tblContact .require {background: #C10000; color: #fff; font-size: 1.2rem; margin-left: 10px; padding:1px 5px; font-weight: 600;}

.conError {margin: 5vw 0; padding: 5vw;}
.conError p {margin-bottom: 2vw;}

.btnSubmit {margin: 8vw 0 0 ; display: flex; display: -webkit-flex; flex-wrap: wrap-reverse; }
.btnSubmit li {margin: 0 0 5vw; display: block; width: 100%;}
.btnPrimary { padding: 4vw 5vw; width: 100%;}
.btnNegative{ padding: 4vw 5vw; width: 100%;}
.conThanks {text-align: left;}
.conThanks h3 {font-size: 6vw; margin-bottom: 6vw; text-align: center;}

}