* {
  box-sizing: border-box
}
html {
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  line-height: 1.5;
  background-color: #fff;
  width: 100%;
  font-size: 16px
}
body, dd, dl, dt, h1, h2, h3, h4, h5, h6, p, ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 600;
}
a:link {
  color: #383d3b
}
a:visited {
  color: #383d3b
}
a:active {
  color: #383d3b
}
a {
  opacity: 1;
  transition: opacity .2s
}
a:hover {
  opacity: .6;
  transition: opacity .2s
}
body {
  max-width: 1920px;
  margin: 0 auto;
  box-shadow: 0 0 100px rgba(0, 0, 0, .1);
  background: #fff
}
img {
  vertical-align: middle
}
.sp {
  display: none
}
.pc {
  display: block
}
.sp-inline {
  display: none
}
.pc-inline {
  display: inline
}
.red {
  color: #C1272D;
}
/*　マージン　*/
.mgB10 {
  margin-bottom: 10px !important;
}
.mgB20 {
  margin-bottom: 20px !important;
}
.mgB30 {
  margin-bottom: 30px !important;
}
.mgB40 {
  margin-bottom: 40px !important;
}
.mgB50 {
  margin-bottom: 50px !important;
}
.mgT10 {
  margin-top: 10px !important;
}
.mgT20 {
  margin-top: 20px !important;
}
.mgT30 {
  margin-top: 30px !important;
}
.mgT40 {
  margin-top: 40px !important;
}
.mgT50 {
  margin-top: 50px !important;
}
.wrap {
  width: 100%;
  max-width: 1004px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
section {
  clear: both
}
header {
  position: fixed;
  top: 0;
  z-index: 999;
  width: 100%;
  max-width: 1920px;
  height: 80px;
  margin: auto;
  padding: 0 10px;
  background-color: #FFFFFF;
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.10);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=7, Color='#000000');
  background-position: 0 0, 5px 5px;
  background-size: 10px 10px;
  color: #fff;
  display: flex
}
header .wrap {
  display: flex;
  align-items: center;
  max-width: 1900px
}
header .wrap a {
  font-weight: 600;
  color: #000000 !important
}
header .wrap #logo a img {
  width: 100%;
  max-width: 390px;
  height: auto;
  padding: 0 10px;
}
header .wrap #menu {
  flex-grow: 1;
  display: flex;
  align-items: center
}
header .wrap #menu #buttons, header .wrap #menu input#menu-sw {
  display: none
}
header .wrap #menu nav#menu-box {
  flex-grow: 1;
  display: flex;
  align-items: center
}
header .wrap #menu nav#menu-box > ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  max-width: 1024px;
  margin: 0 auto
}
@media screen and (max-width: 1370px) {
  header .wrap #menu nav#menu-box > ul {
    justify-content: flex-start;
  }
}
header .wrap #menu nav#menu-box > ul li {
  text-align: center;
  line-height: 1.2em;
  white-space: wrap;
  /*margin: 0.1em 1em;*/
}
header .wrap #menu nav#menu-box > ul li a {
  font-size: 16px;
  text-decoration: none;
  display: block;
  padding: 10px 15px;
}
@media screen and (max-width: 1370px) {
  header .wrap #menu nav#menu-box > ul li a {
    font-size: 12px;
    text-decoration: none;
    display: block;
    padding: 0 1em;
    /*padding: 0 10px 0 20px;*/
  }
}
header .wrap #menu nav#menu-box #info {
  margin-left: 20px
}
header .wrap #menu nav#menu-box #info a .tel {
  display: block;
}
header .wrap #menu nav#menu-box #info a .tel img {
  vertical-align: inherit;
  width: 100%;
  max-width: 213px;
}
header .wrap #menu nav#menu-box #info2 {
  margin-left: 20px
}
header .wrap #menu nav#menu-box #info2 a .contact-btn {
  display: block;
}
header .wrap #menu nav#menu-box #info2 a .contact-btn img {
  vertical-align: inherit;
  width: 100%;
  max-width: 210px;
}
main {
  display: block;
  padding-top: 50px;
  min-height: calc(100vh - 160px);
}
footer {
  position: relative;
}
footer nav {
  background: #53830D
}
footer nav ul {
  height: 75px;
  display: flex;
  align-items: center;
}
footer nav ul li a {
  padding: 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  color: #fff !important
}
@media screen and (max-width: 960px) {
  footer nav ul {
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
footer > small {
  display: block;
  text-align: center;
  font-size: 12px;
  padding: 10px 50px;
}
footer #to-top {
  position: fixed;
  width: 100%;
  max-width: 1920px;
  text-align: right;
  padding-right: 20px;
  padding-bottom: 10px;
  opacity: 0;
  bottom: 100px;
  visibility: hidden;
  transition: opacity .2s, visibility .2s, bottom .2s
}
footer #to-top.stay {
  position: absolute;
  top: -60px;
  bottom: auto !important
}
footer #to-top.active {
  opacity: 1;
  visibility: visible;
  right: 0;
  bottom: 100;
  width: auto;
  transition: opacity .2s, visibility .2s, bottom .2s
}

@media screen and (max-width:960px) {
  html {
    min-width: 320px
  }
  .sp {
    display: block
  }
  .pc {
    display: none
  }
  .sp-inline {
    display: inline
  }
  .pc-inline {
    display: none
  }
  header {
    padding: 0 10px;
    height: 60px
  }
  header .wrap #menu {
    justify-content: flex-end;
    margin-left: 10px
  }
  header .wrap #menu #buttons {
    display: flex;
    position: relative
  }
  header .wrap #menu #buttons #menu-open {
    visibility: visible;
    opacity: 1;
    transition: visibility .3s, opacity .3s
  }
  header .wrap #menu #buttons #menu-close {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 0;
    transition: visibility .3s, opacity .3s
  }
  header .wrap #menu #buttons #menu-tel {
    margin-left: 10px
  }
  header .wrap #menu #menu-sw:checked ~ #buttons #menu-open {
    visibility: hidden;
    opacity: 0;
    transition: visibility .3s, opacity .3s
  }
  header .wrap #menu #menu-sw:checked ~ #buttons #menu-close {
    visibility: visible;
    opacity: 1;
    transition: visibility .3s, opacity .3s
  }
  header .wrap #menu nav#menu-box {
    width: 100%;
    position: absolute;
    z-index: 998;
    top: 69px;
    left: 100vw;
    background: rgba(255, 255, 255, .9);
    overflow-y: auto;
    max-height: calc(100vh - 60px - 10px);
    height: 100vh;
    transition: left .3s ease;
    flex-direction: column;
    padding-bottom: 80px
  }
  header .wrap #menu nav#menu-box > ul {
    display: block;
    width: 100%
  }
  header .wrap #menu nav#menu-box > ul > li {
    padding: 0 10px
  }
  header .wrap #menu nav#menu-box > ul > li a {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    padding: 20px 0
  }
  header .wrap #menu nav#menu-box > ul li + li a {
    border-top: dashed 1px #111;
  }
  header .wrap #menu nav#menu-box #info {
    width: calc(100% - 20px);
    margin: 0 auto;
    text-align: center
  }
  header .wrap #menu nav#menu-box #contact {
    display: block;
    width: 100%;
    padding: 15px 10px;
    position: relative;
    top: auto;
    left: auto
  }
  header .wrap #menu nav#menu-box #contact > a {
    text-decoration: none;
    width: auto;
    font-weight: 700;
    flex-direction: row;
    box-shadow: none;
    font-size: 16px;
    border-radius: 5px;
    padding: 10px
  }
  header .wrap #menu nav#menu-box #contact > a img {
    width: 20px;
    margin-right: 10px;
    margin-bottom: 0
  }
  header .wrap #menu nav#menu-box #contact > a span {
    width: auto
  }
  header .wrap #menu #menu-sw:checked ~ nav#menu-box {
    left: 0;
    transition: left .3s ease
  }
  header .wrap #menu nav#menu-box #info {
    margin-left: 10px
  }
  header .wrap #menu nav#menu-box #info2 {
    margin-left: 0px
  }
  header .wrap:after {
    top: 59px
  }
  main {
    display: block;
    padding-top: 30px;
  }
  footer #to-top {
    padding-right: 10px;
    padding-bottom: 10px
  }
  footer #to-top.stay {
    top: -70px
  }
  span.block {
    display: inline-block;
    white-space: nowrap;
  }
}


#footer ul.ContactFooter{
display: flex;
justify-content: center;
margin-left: 10px;
}
#footer ul.ContactFooter li{
padding: 10px 20px 0; 
}
#footer ul.ContactFooter li:nth-child(1) img{
width: 100%;
max-width:240px;
}
#footer ul.ContactFooter li:nth-child(2) img,
#footer ul.ContactFooter li:nth-child(3) img
{
width: 100%;
max-width:220px;
}
@media screen and (max-width:960px) {
}


/*/////////////////////////
フッター、ヘッダー固定
/////////////////////////*/
div#body-bk {
  padding: 0 0 100px ;
}
div#footer-fixed {
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
}
div#footer-bk {
background-image: url("../images/yellow_back.png");
  /*background-color: #FFFFFF;*/
  padding: 0;
  width: 100%;
  box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.3), 0px 0px 0px 1px rgba(10,10,10,0.04);
}

div#footer {
  height: 100%;
  width: 100%;
  max-width: 1004px;
  margin: auto;
  padding: 0;
}
@media screen and (max-width:960px) {
#footer ul.ContactFooter li{
padding: 10px 5px; 
}
}

#line{
background: #7BBD16;
padding: 15px;
}
#line .LineBox {
display: flex;
overflow: hidden;
justify-content: space-between;
align-items: center;
}
#line .LineBox .LineTitle{
width: 100%;
max-width: 510px;
padding-right: 10px;
}
#line .LineBox .LineButton{
background-color: rgba(255, 255, 255, 0.9);
width: 100%;
max-width: 400px;
align-items: center;
vertical-align: bottom;
text-align: center;
display: flex;
justify-content: center;
padding: 20px;
}
#line .LineBox .LineButton img{
width: 100%;
max-width: 320px;
}

@media screen and (max-width:560px) {

#line .LineBox {
display: block;
}
#line .LineBox .LineButton{
background-color: rgba(255, 255, 255, 0.9);
width: 100%;
max-width: 100%;
}
}


/*//////////////////////////////
メインビジュアル
////////////////////////////////*/
main #main{
padding-top: 30px;
}
main #main img{
width: 100%;
max-width: 1920px;
}



/*/////////////////////////
落とし穴
/////////////////////////*/

main #failure .FailureTitleBox{
background-image: url("../images/failure-titlebox_back_pc.png");
background-repeat: no-repeat;
background-size:100%;
background-position: left bottom;
padding-top: 30px;
padding-bottom: 130px;
margin: 0 auto;
}
main #failure h1{
display: block;
text-align: center;
margin: 0 auto;
padding: 30px;
}
main #failure h1 img{
width: 100%;
max-width: 764px;
}
@media screen and (max-width:560px) {
main #failure .FailureTitleBox{
background-image: url("../images/failure-titlebox_back_sp.png");
background-repeat: no-repeat;
background-size:100%;
background-position: left bottom;
padding-bottom: 150px;
}
main #failure h1{
display: block;
text-align: center;
margin: 0 auto;
padding: 0px 10px;
}
main #failure h1 img{
width: 100%;
max-width: 341px;
}
}

main #failure .FailureContentsBox{
background-size: auto auto;
background-color: rgba(255, 255, 255, 1);
background-image: repeating-linear-gradient(-30deg, transparent, transparent 8px, rgba(236, 232, 230, 1) 8px, rgba(236, 232, 230, 1) 9px );
padding: 50px 0;
margin-top: 0;
}
main #failure .FailureContentsBox .introduction{
text-align: center;
line-height: 1.8;
font-size: 1.125em;
margin: 0 10px;
}
@media screen and (max-width:560px) {
main #failure .FailureContentsBox .introduction{
text-align: center;
line-height: 1.8;
font-size: 1.0em;
margin: 0 10px;
}
}

main #failure .FailureContentsBox .CardBox{
width:calc(100% - 12px);
padding: 30px;
background-color: #ffffff;
box-shadow:1px 1px 6px 3px rgba(0,0,0,0.1);
margin: 50px 6px;
}
@media screen and (max-width:560px) {
main #failure .FailureContentsBox .CardBox{
padding: 15px;
}
}

main #failure .FailureContentsBox .CardBox.no1{
background-image: url("../images/failure_no1.png") ;
background-repeat: no-repeat;
background-position: 30px 30px;
}
main #failure .FailureContentsBox .CardBox.no2{
background-image: url("../images/failure_no2.png") ;
background-repeat: no-repeat;
background-position: 30px 30px;
}

main #failure .FailureContentsBox .CardBox .layout{
padding-left: 190px;
margin-bottom: 30px;
}
main #failure .FailureContentsBox .CardBox h2 {
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; 
background:#000000 url("../images/point_sankaku.png") no-repeat 0 16px;
vertical-align: middle;
color: #FFFFFF;
padding: 5px 40px;
margin-bottom: 30px;
}
main #failure .FailureContentsBox .CardBox h2 span {
color: #FCEE21;
}
main #failure .FailureContentsBox .CardBox h3.point{
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; 
background-image: url("../images/point_check.svg");
background-repeat: no-repeat;
background-position: left top;
background-size: 32px;
font-size: 1.875em;
padding-left: 40px;
margin-bottom: 30px;
letter-spacing: -1px;
}
main #failure .FailureContentsBox .CardBox h3.point span{
background:linear-gradient(transparent 60%, #FCEE21 60%);
}

main #failure .FailureContentsBox .CardBox h3.answer{
background: #53830D;
text-align: center;
padding: 5px 20px;
color: #FFFFFF;
font-size: 2.0em;
margin-bottom: 10px;
}
main #failure .FailureContentsBox .CardBox h3.answer span{
color: #FCEE21;
}
main #failure .FailureContentsBox .CardBox p{
line-height: 1.8;
}
main #failure .FailureContentsBox .CardBox img{
width: 100%;
}
@media screen and (max-width:560px) {
main #failure .FailureContentsBox .CardBox.no1{
background: #FFFFFF;
}
main #failure .FailureContentsBox .CardBox.no2{
background: #FFFFFF;
}
main #failure .FailureContentsBox .CardBox .layout{
padding-left: 0px;
margin-bottom: 30px;
}
main #failure .FailureContentsBox .CardBox h3.point{
background-size: 32px;
font-size: 21px;
padding-left: 40px;
margin-bottom: 30px;
letter-spacing: -1px;
}
main #failure .FailureContentsBox .CardBox h3.answer{
font-size: 21px;
}
}

/*//////////////////////////////
特徴
////////////////////////////////*/
main #tokucho {
  background: #C7B299;
  background: rgba(199, 178, 153, 0.2);
  padding: 50px 0;
  overflow: hidden;
}
main #tokucho ul.slider {
  padding: 50px 0px;
  margin: 0 30px;
}
main #tokucho ul.slider li {
  padding: 0 10px;
  margin: 0 auto;
  text-align: center;
}
main #tokucho ul.slider li img {
  width: 100%;
  max-width: 297px;
}
.slick-prev:before, .slick-next:before {
  color: #000 !important;
}
.slick-next {
  right: 20px;
  z-index: 99;
}
.slick-prev {
  left: 15px;
  z-index: 100;
}
.slick-dots li.slick-active button:before, .slick-dots li button:before {
  color: #111111;
}

main #tokucho h2.TokuchoMain{
display: block;
margin: 0 auto;
text-align: center;
}

main #tokucho h2.TokuchoMain img.photo01{
width: 100%;
max-width:1260px;
}
main #tokucho .loan{
margin: -120px auto 60px;
text-align: center;
}

main #tokucho .loan img{
width: 100%;
max-width:952px;
}
@media screen and (max-width:960px) {
main #tokucho .loan{
margin: -80px auto 60px;
text-align: center;
}
}

@media screen and (max-width:560px) {
main #tokucho .loan{
margin: 20px auto 60px;
text-align: center;
}

main #tokucho .loan img{
width: 100%;
}
}

main #tokucho p.txt01{
text-align: center;
margin-bottom: 50px;
}
main #tokucho p.txt01 img{
width: 100%;
max-width: 650px;
}

main #tokucho .TitleMenu{
text-align: center;
}

main #tokucho .TitleMenu img{
width: 100%;
max-width: 560px;
}

@media screen and (max-width:560px) {
main #tokucho .TitleMenu img{
width: 100%;
max-width: 300px;
}
}

/*//////////////////////////////
アフターサービス・保証
////////////////////////////////*/

main #service {
background: url("../images/service_back.png") repeat;
padding: 50px 20px;
}
main #service .title{
width: 100%;
max-width: 768px;
text-align: center;
display: block;
margin: 0 auto 50px;;
}

main #service .TxtBox{
background: url("../images/service_img01.png")no-repeat right top;
background-size: 250px;
text-align: center;
padding: 0;
}
main #service .TxtBox > p{
line-height: 1.8;
font-size: 1.125em;
margin-bottom: 30px;
}
main #service .TxtBox > p span{
display: block;
}
main #service ul.ServiceDtail{
display: flex;
justify-content: space-between;
}
main #service ul.ServiceDtail li{
flex-basis: 480px;
text-align: left;
}
main #service ul.ServiceDtail li:first-child{
margin-right: 20px;
}
main #service ul.ServiceDtail li h3{
font-size: 36px;
font-weight: 800;
margin-bottom: -8px;
}
main #service ul.ServiceDtail li .TextBox{
  background : #FFFFFF;
  background : rgba(255, 255, 255, 1);
  background-image:url("../images/point_check02.png") ;
  background-repeat: no-repeat;
  background-position: 20px 50px;
  border-style : Solid;
  border-color : #000000;
  border-color : rgba(0, 0, 0, 1);
  border-width : 5px;
  border-radius : 10px;
  -moz-border-radius : 10px;
  -webkit-border-radius : 10px;
  padding: 50px 50px 30px 80px;
  text-align: left;
  height: calc(100% - 50px);
}
main #service ul.ServiceDtail li .TextBox p{
line-height: 1.8;
font-size: 1.0em;
margin-bottom: 30px;
}


@media screen and (max-width:870px) {
main #service .TxtBox{
background: url("../images/service_img01.png")no-repeat right top;
background-size: 250px;
text-align: center;
padding: 0;
}
main #service .TxtBox > p{
line-height: 1.8;
font-size: 1.125em;
margin-bottom: 30px;
margin-right: 25%;
margin-left: 20px;
}
}

@media screen and (max-width:768px) {
main #service ul.ServiceDtail{
display:block;
}
main #service ul.ServiceDtail li:first-child{
margin-right: 0px;
margin-bottom: 30px;
}
}
@media screen and (max-width:650px) {
main #service .TxtBox{
background: url("../images/service_img01.png")no-repeat right top;
background-size: 250px;
text-align: left;
padding: 0;
}
}

@media screen and (max-width:600px) {
main #service .TxtBox{
background-size: 30%;
}
}

@media screen and (max-width:500px) {
main #service .TxtBox > p{
line-height: 1.8;
font-size: 1.0em;
margin-bottom: 30px;
margin-right: 25%;
margin-left: 0;
}
main #service ul.ServiceDtail li h3{
font-size: 28px;
font-weight: 800;
margin-bottom: -3px;
}
}
@media screen and (max-width:500px) {
main #service .TxtBox{
background: url("../images/service_img01.png")no-repeat right top;
background-size: 120px;
text-align: left;
padding: 0;
}
main #service .TxtBox > p{
margin-right: 34%;
margin-left: 0;
}
main #service .TxtBox > p span{
display: inline;
}
main #service ul.ServiceDtail li .TextBox{
  background : #FFFFFF;
  background : rgba(255, 255, 255, 1);
  background-image:url("../images/point_check02.png") ;
  background-repeat: no-repeat;
  background-position: 20px 50px;
  border-style : Solid;
  border-color : #000000;
  border-color : rgba(0, 0, 0, 1);
  border-width : 5px;
  border-radius : 10px;
  -moz-border-radius : 10px;
  -webkit-border-radius : 10px;
  padding: 30px 30px 0px 80px;
  text-align: left;
  height: calc(100% - 50px);
}
}
@media screen and (max-width:320px) {
main #service .TxtBox{
background:none;
}
main #service .TxtBox > p{
margin-right: 0%;
margin-left: 0;
}
}

/*/////////////////////////
施工事例
/////////////////////////*/

main #jirei{
background-size: auto auto;
background-color: rgba(255, 255, 255, 1);
background-image: repeating-linear-gradient(-30deg, transparent, transparent 8px, rgba(236, 232, 230, 1) 8px, rgba(236, 232, 230, 1) 9px );
padding: 50px 0;
}
main #jirei .title{
width: 100%;
margin: 0 auto 50px;
text-align: center;
max-width: 280px;
}
@media screen and (max-width:560px) {
main #jirei .title{
max-width: 163px;
}
}

main #jirei > ul.center-item {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
margin: 0 auto;
}
main #jirei > ul.center-item li {
margin: 0 auto;
}
main #jirei .slick-prev{
left: 5px;
border: 3px solid #FFFFF;
}
main #jirei .slick-next{
right: 5px;
border: 3px solid #FFFFF;
}

main #jirei > ul.center-item li .CaseBox{
background : #FFFFFF;
background : rgba(255, 255, 255, 1);
border-style : Solid;
border-color : #000000;
border-color : rgba(0, 0, 0, 1);
border-width : 4px;
border-radius : 10px;
-moz-border-radius : 10px;
-webkit-border-radius : 10px;
overflow: hidden;
margin: 0 3% 10px;
padding: 30px;
}
main #jirei ul li .CaseBox .CaseBoxWrap {
overflow: hidden;
margin-bottom: 20px;
}

main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxLeft{
float: left;
width: calc((100% - 15px)/2);
text-align: center;
}

main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxRight{
float: right;
width: calc((100% - 15px)/2);
text-align: center;
}
main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxLeft img, main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxRight img{
width: 100%;
}

main #jirei ul li .CaseBox h3{
background: #111111;
color: #FFFFFF;
font-weight: 800;
display:inline-block;
width: auto;
padding: 10px 30px;
margin-bottom: 20px;
}

@media screen and (max-width:960px) {
main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxLeft{
float: none;
width: 100%;
margin-bottom: 20px;
text-align: center;
}

main #jirei ul li .CaseBox .CaseBoxWrap .CaseBoxRight{
float: none;
width: 100%;
margin-bottom: 20px;
text-align: center;
}
}
@media screen and (max-width:560px) {
main #jirei > ul.center-item li .CaseBox{
margin: 0 25px 10px;
padding: 15px;
}
main #jirei ul li .CaseBox .CaseBoxWrap {
margin-bottom: 0px;
}
main #jirei ul li .CaseBox h3{
font-size: 0.875em;
}
}

/*/////////////////////////
ご相談の流れ
/////////////////////////*/
main #flow {
background: #FFFFFF;
padding: 50px 10px;
}

main #flow .title{
width: 100%;
max-width: 356px;
text-align: center;
display: block;
margin: 0 auto 50px;
}
@media screen and (max-width:560px) {
main #flow .title{
width: 100%;
max-width: 189px;
text-align: center;
display: block;
margin: 0 auto 50px;
}
}

main #flow ul.FlowLayout{
display: block;
margin: 0 auto;
overflow: hidden;
}
main #flow ul.FlowLayout li:nth-child(odd){
float: left;
width: 48%;
}
main #flow ul.FlowLayout li:nth-child(even){
float: right;
width: 48%;
}
main #flow ul.FlowLayout li img{
width: 100%;
}
main #flow ul.FlowLayout li figure{
padding: 0;
margin: 0 auto 10px;;
}
main #flow ul.FlowLayout li h3{
margin-bottom: 20px;
}
main #flow ul.FlowLayout li:nth-child(1){
}
main #flow ul.FlowLayout li:nth-child(2),
main #flow ul.FlowLayout li:nth-child(3),
main #flow ul.FlowLayout li:nth-child(4),
main #flow ul.FlowLayout li:nth-child(5),
main #flow ul.FlowLayout li:nth-child(6),
main #flow ul.FlowLayout li:nth-child(7){
margin-top: 140px;
}

main #flow ul.FlowLayout li:nth-child(1) h3{
width: 100%;
max-width:389px ;
}

main #flow ul.FlowLayout li:nth-child(2) h3{
width: 100%;
max-width:289px ;
}
main #flow ul.FlowLayout li:nth-child(3) h3{
width: 100%;
max-width:403px ;
}
main #flow ul.FlowLayout li:nth-child(4) h3{
width: 100%;
max-width:194px ;
}
main #flow ul.FlowLayout li:nth-child(5) h3{
width: 100%;
max-width:225px ;
}
main #flow ul.FlowLayout li:nth-child(6) h3{
width: 100%;
max-width:303px ;
}
main #flow ul.FlowLayout li:nth-child(7) h3{
width: 100%;
max-width:321px ;
}

main #flow ul.FlowLayout li .ContactBox{
overflow: hidden;
}

main #flow ul.FlowLayout li .ContactBox .ContactBoxC{
max-width: 244px;
overflow: hidden;
margin-bottom: 10px;
}

main #flow ul.FlowLayout li .ContactBox .ContactBoxL{
max-width: 201px;
overflow: hidden;
float: left;
margin-bottom: 10px;
}
main #flow ul.FlowLayout li .ContactBox .ContactBoxR{
max-width: 201px;
overflow: hidden;
float: right;
margin-bottom: 10px;
}

@media screen and (max-width:960px) {
main #flow ul.FlowLayout li .ContactBox .ContactBoxL,
main #flow ul.FlowLayout li .ContactBox .ContactBoxR{
float: none;
text-align: center;
margin: 10px auto;
}
}
@media screen and (max-width:768px) {
main #flow ul.FlowLayout li:nth-child(odd),
main #flow ul.FlowLayout li:nth-child(even){
float: none;
width: 100%;
margin: 0 auto 40px;
}
}

/*/////////////////////////
会社案内
/////////////////////////*/

main #company {
background: url("../images/service_back.png") repeat;
padding: 50px 20px;
}
main #company .title{
width: 100%;
max-width: 360px;
text-align: center;
display: block;
margin: 0 auto 50px;
}
@media screen and (max-width:768px) {
main #company .title{
max-width: 210px;
}
}
main #company figure{
margin: 0;
}

main #company h3{
padding: 0 1.0em;
color: #000000;
background: transparent;
border-left: solid 5px #000000;
font-size: 2.0em;
margin-bottom: 30px;
}
main #company p.name{
text-align: right;
margin-top: 20px;
}
main #company .ContentsWrap{
overflow: hidden;
margin-bottom: 50px;
}
main #company .ContentsWrap .BoxL{
float: left;
width: 48%;
}
main #company .ContentsWrap .BoxR{
float:right;
width: 48%;
}
main #company .ContentsWrap figure{
margin-bottom: 20px;
}
main #company .ContentsWrap figure img{
width: 100%;
}

main #company .ContentsWrap table{
}

main #company table {
border-collapse: separate;
border-spacing:0 10px ;
  width: 100%;
}
main #company table th {
  text-align: center;
  background: #000000;
  color: #FFFFFF;
  padding:10px 15px 10px 15px;
  width: 8em;
}
main #company table td {
  text-align: left;
  background : rgba(0, 0, 0, 0.0)!important;
  padding-left: 2.0em;
  white-space: normal;
}
@media screen and (max-width:768px) {
main #company .ContentsWrap .BoxL,
main #company .ContentsWrap .BoxR{
float: none;
width: 100%;
margin-bottom: 50px;
}
main #company .ContentsWrap{
overflow: hidden;
margin-bottom: 0px;
}
main #company .ContentsWrap .BoxL.none{
margin-bottom: 0;
}
}


/*//////////////////////////////
お問い合わせフォーム
////////////////////////////////*/

main #contact {
  padding: 50px 0px;
  background: #E4CC37;
  background: rgba(228, 204, 55, 0.04);
  min-height: calc(100vh - 150px);
}
main #contact h1 {
  position: relative;
  display: block;
  margin-bottom: 1em;
  margin: 0 auto 50px;
  text-align: center;
  font-size: 2.0em;
}
main #contact h1:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 100%;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}
main #contact picture {
  text-align: center;
  margin: 0 auto;
  display: block;
}
main #contact picture img.CamForm {
  width: 100%;
  max-width: 979px;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width:768px) {
  main #contact picture img.CamForm {
    width: 100%;
    max-width: auto;
    text-align: center;
    margin: 0 auto;
  }
}
main form {
  margin-top: 30px;
  padding: 0 10px 30px;
}
main ul.kome {
  margin: 20px 0 20px 16px;
}
main ul.kome li {
  text-indent: -8px;
}
main ul.kome li:before {
  content: '※';
  color: red;
  display: inline-block;
}
main .onamae br {
  display: none;
}
main #contact h2.title {
  margin: 0 auto;
  text-align: center;
  margin-bottom: 30px;
}
main #contact h2.title img {
  width: 100%;
  max-width: 700px;
}
@media screen and (max-width:599px) {
  main #contact h2.title {
    width: 210px;
  }
}
@media screen and (max-width:960px) {
  main #contact h1 {
    font-size: 24px;
  }
  main .onamae br {
    display: block;
  }
}
span.note {
  padding-left: 1.0em;
  padding-top: 0.5em;
  font-size: 0.875em;
  display: block;
}
span.note:before {
  content: "※";
  color: indianred;
  font-weight: 800;
  margin-left: -1em;
}
